Anda di halaman 1dari 12

m 

 
 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

2. a. Data ke-2 dibandingkan dengan data ke-3. Apakah


9>5? Karena 9>5 maka catat data ke-3.
b. Kemudian data ke-3 dibandingkan dengan data ke-
4. Apakah 5>3? Karna 5>3 maka dicatat di data ke-
4.
c. Kemudian data ke-4 dibandingkan dengan data ke-
5. Apakah 3>8? Karena 3|>8 maka tidak dicatat.
d. Kemudian data ke-4 dibandingkan dengan data ke-
6. apakah 3>6? Karena 3|>6 maka tidak dicatat.
e. Kemudian tukar data ke-2 dengan data yang
terakhir dicatat yaitu data ke-4. Sehingga di iterasi
kedua urutannya [2,3,5,9,8,6]
6  6

3. a. Data ke-3 dibandingkan dengan data ke-4. Apakah 5>9?


Karena 5|>9 maka tidak dicatat.
b. Data ke-3 dibandingkan dengan data ke-5. Apakah 5>8?
Karena 5|>8 maka tidak dicatat.
c. Data ke-3 dibandingkan dengan data ke-6. Apakah 5>6?
Karena 5|>6 maka tidak dicatat.
d. Karena tidak ada yang dicatat maka tidak ada data yang
ditukar. Sehingga di iterasi keempat urutannya masih
tetap dengan iterasi sebelumnya yaitu [2,3,5,9,8,6]
6  6

4. a. Data ke-4 dibandingkan dengan data ke-5. Apakah


9>8? Karena 9>8 maka dicatat di data ke-5.
b. Kemudian data ke-5 dibandingkan dengan data ke-6.
apakah 8>6? Karena 8>6 maka dicatat di data ke-6.
c. Kemudian tukar data ke-4 dengan data yang terakhir
dicatat yakni data ke-6. Sehingga di iterasi keempat
urutannya [2,3,5,6,8,9]
6  6

5. a. Data ke-5 dibandingkan dengan data ke-6.


Apakah 8>9? Karena 8|>9 maka tidak dicatat.
b. Karena tidak ada yang dicatat maka di iterasi
kelima urutannya sama dengan urutan
sebelumnya [2,3,5,6,8,9]. Dan ini menandakan
pengurutan berakhir.
Data sebelum diurutkan [6,9,5,3,8,2]
Data setelah diurutkan [2,3,5,6,8,9]
  

‰ Mirip dengan cara orang ›      kartu,


selembar demi selembar kartu diambil dan


  (insert) ke tempat yang
seharusnya.
‰  engurutan dimulai dari data ke-2 sampai
dengan data terakhir, jika ditemukan data
yang  m , maka akan ditempatkan
(
) diposisi yang seharusnya.
‰  ada penyisipan elemen, maka elemen-
elemen lain akan bergeser ke belakang
Ú Ú 

Misalkan kita akan mengurutkan data [6,9,5,3,8,2]. Dengan


metoda insertion sort ini maka langkah-langkah pengurutannya
sbb:
a. - Kita ambil data ke-1 dan ambil data ke-2 lalu kita
bandingkan data ke-2 dengan data ke-1. Apakah 9<6?
Karena 10|<5 maka tidak ditukar.
b. - Lalu ambil data ke-3 dan bandingkan dengan data ke-2.
Apakah 5<9? Karena 5<9 maka tukar data ke-3 dengan data
ke-2. Sehingga urutannya menjadi [6,5,9].
- Kemudian bandingkan data ke-2 dengan data ke-1. apakah
5<6? Karena 5<6 maka tukar data ke-2 dengan data ke-1.
Sehingga urutannya menjadi [5,6,9]
  

c.- Ambil data ke-4 dan bandingkan dengan data ke-3.


Apakah 3<9? Karena 3<9 maka tukar data ke-4 dengan
data ke-3. Sehingga urutannya menjadi [5,6,3,9].
- Kemudian bandingkan lagi data ke-3 dengan data ke-2.
Apakah 3<6? Karena 3<6 maka tukar data ke-3 dengan
data ke-2. Sehingga urutannya menjadi [5,3,6,9].
- Kemudian bandingkan lagi data ke-2 dengan data ke-1.
Apakah 3<5? Karena 3<5 maka tukar data ke-2 dengan
data ke-1. sehingga urutannya menjadi [3,5,6,9].
  

d. - Ambil data ke-5 dan bandingkan dengan data ke-4


Apakah 8<9? Karena 8<9 maka tukar data ke-5 dengan
data ke-4. Sehingga urutannya menjadi [3,5,6,8,9].
- Kemudian bandingkan data ke-4 dengan data ke-3.
Apakah 8<6? Karena 8|<6 maka tidak ditukar data ke-4
dengan data ke-3 dan urutannya tetap [3,5,6,8,9].
  

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.

Anda mungkin juga menyukai