You are on page 1of 7

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 /Selection Sort 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.
Selection Sort #2
ITEERATION FOUND? GESER KE POSISI INDEX
1 Lowest Element 0
2 Next Lowest 1
3 Next Lowest 2
n n n
Selection Sort Logic
//Selection Sort Logic
for(i=0;i<size;i++){
min=i;
for(j=i+1;j<size;j++){
if (a[j]<a[min])
min=j;
temp =a[i];
a[i] =a[min];
a[min]=temp;
}
}
Tracking Program Selection Sort #1
Elemen Array = 20,30,10,50,40
1-Iterasi j=3 , 3<5 temp = a[0]=20
i=0; 0<5; min = 0; a[3]<a[0] a[0] = a[2]=10
j=1; 1<5; 50<20 (False) a[2] = 20
a[1] <a[0] j=4, 4<5
30<20 (False) a[4]<a[0] Sebelumnya: 20, 30,10, 50,40
j=2; 2<5; 40<20 (False) Sort 1-iterasi : 10,30,20,50,40
a[2]<a[0] j=5,5<5 (False)
10<20 (true)
min=2;
Tracking Program Selection Sort #2
II-Iterasi j=4 , 3<5 temp = a[1]=30
i=1; 0<5; min = 1; a[4]<a[1] a[1] = a[2]=20
j=2; 2<5; 40<30 (False) a[2] = temp = 30
a[2] <a[1] j=5, 5<5 (False)
20<30 (True) Sebelumnya : 10,30,20,50,40
min=2; Sort 2-iterasi : 10,20,30,50,40
j=3; 3<5;
a[3]<a[1] Tracking sampai selesai!
50<30 (false)
Selection Sort #3
Program Selection Sort

Output :

You might also like