Label:

Metode Seleksi (Selection Sort)

Metode seleksi melakukan pengurutan dengan cara mencari data yang terkecil
kemudian menukarkannya dengan data yang digunakan sebagai acuan atau sering
dinamakan pivot.


Proses pengurutan dengan metode seleksi dapat dijelaskan sebagai berikut :
langkah pertama : dicari data terkecil dari data pertama sampai data terakhir. Kemudian
data terkecil ditukar dengan data pertama. Dengan demikian, data pertama sekarang
mempunyai nilai paling kecil dibanding data yang lain. 
Langkah kedua : data terkecil kita cari mulai dari data kedua sampai terakhir. Data terkecil yang kita peroleh ditukar dengan data kedua dan demikian seterusnya sampai semua elemen dalam keadaan terurutkan.


Algoritma seleksi dapat dituliskan sebagai berikut :

1 i ← 0
2 selama (i < N-1) kerjakan baris 3 sampai dengan 9
3 k ← i
4 j ← i + 1
5 Selama (j < N) kerjakan baris 6 dan 7
6 Jika (Data[k] > Data[j]) maka k ← j
7 j ← j + 1
8 Tukar Data[i] dengan Data[k]
9 i ← i + 1


Untuk lebih memperjelas langkah-langkah algoritma seleksi dapat dilihat pada
tabel 6.2. Proses pengurutan pada tabel 6.2 dapat dijelaskan sebagai berikut:
• Pada saat i=0, data terkecil antara data ke-1 s/d ke-9 adalah data ke-4, yaitu 3, maka
data ke-0 yaitu 12 ditukar dengan data ke-4 yaitu 3.
• Pada saat i=1, data terkecil antara data ke-2 s/d ke-9 adalah data ke-2, yaitu 9, maka
data ke-1 yaitu 35 ditukar dengan data ke-2 yaitu 9.
• Pada saat i=2, data terkecil antara data ke-3 s/d ke-9 adalah data ke-3, yaitu 11, maka
data ke-2 yaitu 35 ditukar dengan data ke-3 yaitu 11.
• Pada saat i=3, data terkecil antara data ke-4 s/d ke-9 adalah data ke-4, yaitu 12, maka
data ke-3 yaitu 35 ditukar dengan data ke-4 yaitu 12.
• Dan seterusnya.
Di bawah ini merupakan prosedur yang menggunakan metode seleksi.

void SelectionSort()
{
int i, j, k;
for(i=0; i<Max-1;i++){
k = i;
for (j=i+1; j<Max; j++)
if(Data[k] > Data[j])
k = j;
Tukar(&Data[i], &Data[k]);
}
}

0 komentar:

Posting Komentar