m m
§
§
§§
6 6
Merupakan kombinasi antara sorting dan searching
Untuk setiap proses, akan dicari elemen-elemen yang belum
diurutkan yang memiliki nilai terkecil atau terbesar akan
dipertukarkan ke posisi yang tepat di dalam array.
Misalnya untuk putaran pertama, akan dicari data dengan
nilai terkecil dan data ini akan ditempatkan di indeks terkecil
(data[0]), pada putaran kedua akan dicari data kedua
terkecil, dan akan ditempatkan di indeks kedua (data[1]).
Selama proses, pembandingan dan pengubahan m
pada
pembanding saja, pertukaran data
secara fisik terjadi pada m proses.
@
6 6
Misalkan kita akan mengurutkan data secara ascending. Datanya
[6,9,5,3,8,2]. Alur pengurutkan dengan metode slection sort sbb:
1. a. Data ke-1 dibandingkan dengan data berikutnya yakni data ke-2. Data
ke-1 bernilai 6 dan data ke-2 bernilai 9. Apakah 6>9? Karena 6|>9
maka tidak dicatat.
b. Kemudian data ke-1 dibandingkan lagi dengan data ke-3. Apakah 6>5?
Karena 6>5 maka dicatat di data ke-3.
c. Kemudian data yang dicatat yakni data ke-3 dibandingkan lagi dengan
data ke-4. Apakah 5>3? Karena 5>3 maka dicatat di data ke-4.
d. Kemudian data ke-4 dibandingkan lagi dengan data ke-5. Apakah 5>8?
Karena 5>8 maka tidak dicatat.
e. Kemudian data ke-4 dibandingkan lagi dengan data ke-6. Apakah 3>2?
Karena 2>1 maka dicatat di data ke-6.
f. Kemudian tukar data ke-1 dengan data yang terakhir dicatat yaitu data
ke-6. Sehingga di iterasi pertama urutannya [2,9,5,3,8,6]
6 6
e. - Ambil data ke-6 dan bandingkan dengan data ke-5. Apakah 2<9?
Karena 2<9 maka tukar data ke-6 dengan data ke-5. sehingga
urutannya menjadi [3,5,6,8,2,9].
- Kemudian bandingkan lagi data ke-5 dengan data ke-4. Apakah
2<8? Karena 2<8 maka tukar data ke-5 dengan data ke-4. Sehingga
urutannya menjadi [3,5,6,2,8,9].
- Kemudian bandingkan lagi data ke-4 dengan data ke-3. Apakah
2<6? Karena 2<6 maka ukar data ke-4 dengan data ke-3. Sehingga
urutannya menjadi [3,5,2,6,8,9].
- Kemudian bandingkan lagi data ke-3 dengan data ke-2. Apakah
2<5? Karena 2<5 maka tukar data ke-3 dengan data ke-2. Sehingga
urutannya [3,2,5,6,8,9].
- Kemudian bandingkan lagi data ke-2 dengan data ke-1. Apakah
1<2? Karena 1<2 maka tukar data ke-2 dengan data ke-1. Sehingga
urutannya [2,3,5,6,8,9] dan pengulanganpun berakhir.