algoritma dalam selection sort adalah sebagai berikut:
- melakukan pengecekan dari data pertama hingga data ke -n
- menentukan data dari indeks minimum jika(asecnding) atau maksimum jika(descending) dalam sebuah data tersebut.
- menukarkan data dengan indeks minimum jika ascending atau maksimum jika descending dengan bilangan pertama(i-1) dari data tersebut.
- ulangi langkah tersebut untuk sisa bilangan berikutnya (i=i+1) sampai didapatkan urutan yang sesuai
pada intinya selection sort adalah memilih elemen dengan nilai paling rendah dan menukar elemen yang terpilih dengan elemen ke-i. Nilai dari i dimulai dari 1 ke n, dimana n adalah jumlah total elemen dikurangi 1.
Selection Sort diakui karena kesederhanaan algoritmanya dan performanya lebih bagus daripada algoritma lain yang lebih rumit dalam situasi tertentu. Algoritma ini bekerja sebagai berikut:
- Mencari nilai minimum (jika ascending) atau maksimum (jika descending) dalam sebuah list
- Menukarkan nilai ini dengan elemen pertama list
- Mengulangi langkah di atas untuk sisa list dengan dimulai pada posisi kedua
Secara efisien kita membagi list menjadi dua bagian yaitu bagian yang sudah diurutkan, yang didapat dengan membangun dari kiri ke kanan dan dilakukan pada saat awal, dan bagian list yang elemennya akan diurutkan.
contoh simulasi algoritma selection sort sbb :
jika kita memiliki elemen array sbb : {5, 1, 12, -5, 16, 2, 12, 14}
- langkah awal adalam meletakan array yang akan kita urutkan menggunakan selection sort
- kemudian cari angka terkecil dari array tersebut. dalam hal ini adalah angka terkecil berada di angka -5 . kemudian tukarkan dengan angka pertama yaitu angka 5. untuk lebih jelasnya perhatikan dibawah ini
- setelah dilakukan pertukaran angka akan menjadi seperti dibawah ini.
- setelah terjadi pertukaran maka lanjut ke kotak yang ke 2. cari angka terkecil dari semua angka. karena di kotak 2 adalah angka terkecil dari angka yang lainnya maka letaknya adalah tetap. perhatikan gambar diatas. karena tidak ada pertukaran lagi maka lanjut ke kotak yang nomor 3. kemudian cari kotak angka yang angkanya paling kecil dari kotak ke 3 sampai 8 abaikan kotak 1 dan 2 karena sudah tidak digunakan lagi. dari kotak 3 sampai 8 ternyata yang terkecil adalah angka 2 maka angka 2 tuker posisinya ke kotak 3 kaena kotak 3 nilainya lebih besar dari angka 2. perhatikan gambar di bawah ini.
- lanjut ke kotak no 4. cek apakah ada angka lebih kecil dari angka yang ada di kotak no 4 diantara kotak 4 sampai 8. jika tidak ada maka tidak terjadi pertukaran posisi.
- lanjutkan ke kotak no 5 . cek apakah kotak no 5 angkanya terkecil dari kotak 5 -8 jika ada yang lebih kecil maka tukarkan angka yang lebih kecil tersebut ke kotak no 5. dalam hal ini kotak no 5 angkanya adalah 16 sedangkan kotak selanjutnya ada yang isinya 12 maka tukarkan posisinya.
- lanjut ke kotak no 6. cek apakah kotak no 6 angkanya lebih kecil dari angka selanjutnya. karena tadi ada pertukaran angka 16 dan angka selanjutnya ada yang lebih kecil lagi maka terjadi pertukaran posisi seperti berikut ini:
- lanjut ke kotak no 7. cek apakah ada angka lebih kecil dari angka yang ada di kotak no 7. jika ada maka terjadi pertukaran lagi.
berikut ini adalah contoh program dalam bahasa pemrograman untuk membuat selection sort.
dengan Pemrograman PHP
hasilnya adalah sebagai berikut:
hasilnya adalah
dengan bahasa pemrograman C++
hasilnya adalah :
BACA JUGA teknik sorting yang lainnya.
REFERENSI DAFTAR PUSTAKA
|
Post A Comment:
0 comments: