Menu Close

Algoritma Pemilihan (Selection Sort)

Algoritma pemilihan adalah salah satu algoritma pengurutan sederhana yang bekerja dengan cara mencari elemen terkecil dari array dan menukarnya dengan elemen pertama. Kemudian, mencari elemen terkecil kedua dari sisa array dan menukarnya dengan elemen kedua, begitu seterusnya. Proses ini berlanjut hingga seluruh array terurut.

Sumber: Freepik.com

Langkah-langkah Algoritma:

  1. Mulai dari elemen pertama, cari elemen terkecil dalam array.
  2. Tukar elemen terkecil tersebut dengan elemen pertama.
  3. Lanjutkan ke elemen berikutnya (elemen kedua) dan cari elemen terkecil di sisa array.
  4. Tukar elemen terkecil tersebut dengan elemen kedua.
  5. Ulangi proses di atas hingga seluruh array terurut.

Contoh Kasus:

Misalkan kita memiliki array sebagai berikut: {64, 25, 12, 22, 11}. Dengan menerapkan algoritma pemilihan, array tersebut akan diurutkan menjadi {11, 12, 22, 25, 64}.

#include <stdio.h>

void selectionSort(int arr[], int n) {
    int i, j, minIndex, temp;
    
    for (i = 0; i < n - 1; i++) {
        minIndex = i;
        for (j = i + 1; j < n; j++) {
            if (arr[j] < arr[minIndex]) {
                minIndex = j;
            }
        }
        // Tukar elemen terkecil dengan elemen pertama
        temp = arr[minIndex];
        arr[minIndex] = arr[i];
        arr[i] = temp;
    }
}

int main() {
    int arr[] = {64, 25, 12, 22, 11};
    int n = sizeof(arr) / sizeof(arr[0]);
    
    printf("Array sebelum pengurutan: ");
    for (int i = 0; i < n; i++)
        printf("%d ", arr[i]);
    printf("\n");
    
    selectionSort(arr, n);
    
    printf("Array setelah pengurutan: ");
    for (int i = 0; i < n; i++)
        printf("%d ", arr[i]);
    printf("\n");
    
    return 0;
}

Leave a Reply

Your email address will not be published. Required fields are marked *