Pengertian
selection sort
Selection sort merupakan metode pengurutan
yang membandingkan elemen yang sekarang dengan elemen berikutnya sampai ke
elemen yang terakhir. Misalkan data yang ditemukan lebih kecil dibandingkan
data sekarang maka dicatat posisinya dan langsung di tukar.
Contoh : 5 , 8 , 12, 10, 15
Kita ingin mengurutkan bilangan diatas dari
kecil sampai ke besar dengan cara :
Langkah 1 :
Posisi : 1 2 3 4 5
Data : 5 8 12 10 7
Sekarang bandingkan
data tersebut kita ambil dulu dari posisi 1
5 < 8
5 < 12
5 < 10
5 < 15
Jadi pada posisi 1
tidak ada data yang lebih kecil dari 5 maka posisinya tetap
Langkah 2
Posisi : 1 2 3 4 5
Data : 5 8 12 10 7
Sekarang bandingkan
lagi dengan data yang berada di posisi
ke 2
8 < 12
8 < 10
8 > 7
Jadi data 8 yang berada
di posisi ke 2 di pindahkan ke posisi ke 5 karena data 8 lebih besar dari data
7 hasil sementara 5, 7, 12, 10, 8
Langkah ke 3
Posisi : 1 2 3 4 5
Data : 5 7 12 10 8
Sekarang bandingkan
lagi dengan data yang berada di posisi
ke 3
12 > 10
12 > 8
Jadi data 8 yang berada
di posisi ke 5 di pindahkan ke posisi ke 3 dan data 10 di posisi 4 tetap di
posisi ke 4 karena data 12 lebih besar
dari data 8 dan 10 hasil sementara 5, 7, 8, 10, 12
Proses data di atas
memerlukan 3 kali perulangan.
Definisi Insertion Sort
Insertion sort adalah
sebuah algoritma pengurutan yang membandingkan dua elemen data pertama kemudian
mengecek daga berikutnya satu persatu dan membandingkan dengan elemen data yang
telah diurutkan, algoritma ini termasuk pula dalam comparison-based sort.
Proses ini kemudian menyisipkan sebuah elemen array yang diproses ke tempat yang
seharusnya.Proses pengurutan dengan menggunakan algoritma Insertion Sort dilakukan
dengan cara membandingkan data ke-i (dimana i dimulai dari data ke-2 sampai
dengan data terakhir) dengan data berikutnya. Jika ditemukan data yang lebih
kecil maka data tersebut disisipkan ke depan sesuai dengan posisi yang
seharusnya.
Contoh : 10 , 8, 3, 7, 5
Pada langkah pertama,
elemen kedua dibandingkan dengan elemen pertama, 8 bandingkan dengan 10 ,
karena 8 < 10, maka kedua elemen tersebut saling ditukar tempatnya. Jadi urutannya
8, 10, 3, 7, 5 (dua elemen pertama sudah
diurut).
Pada langkah kedua ,
elemen ketiga dibandingkan dengan 10, maka 10 di pindahkan ke elemen 3
hasilnya 8,3,10,7,5. Selanjutnya 7
dibandingkan dengan elemen pertama, yaitu 8, maka 7 di pindahkah ke elemen 1
dan 7 di bandingkan dengan elemen ke 2 karena elemen ke2 lebih kecil di
bandingkan 7 maka di pindahkan ke elemen 1 jadi hasilnya adalah 3, 7 , 10, 8 ,
5
Pada langkah ketiga ,
elemen keempat yaitu 8 dibandingkan dengan elemen ketiga. Angka 8 < 10, maka
hasilnya adalah 3, 7, 8, 10, 5. Angka dibandingkan
dengan elemen kedua,5 lebih kecil dari 7, terjadi penukaran tempat, hasilnya
adalah 3,5,8,10,7. Selanjutnya angka 7 dibandingkan dengan elemen 3, yaitu 8
maka terjadi penukaran tempat dan selanjutnya angka 8 di bandingkan dengan
elemen ke 5 karena 8< dari 10 maka tempatnya di tukar. Jadi hasil akhirnya
adalah 3, 5, 7, 8, 10
Contoh
program :
Tampilan
jika program dijalankan
Sumber :
Asiknya belajar struktur data di planet C++ Dwi Sanjaya
0 komentar:
Post a Comment
semoga blog ini bermanfaat bagi anda