Dalam dunia pemrograman, sorting adalah bagian yang tidak bisa dihilangkan. Tujuan utama dari proses sorting adalah untuk mengurutkan data, baik itu dari terendah ataupun tertinggi. Yang secara tidak langsung akan menjadikan data lebih terstruktur, rapi dan teratur. Show Ada banyak algoritma populer untuk mengurutkan data, seperti : insertion sort, selection sort, merge sort, heap sort, quick sort, bubble sort, shell sort, comb sort, counting sort, bucket sort, radix sort. Tapi pada artikel ini saya hanya menulis tiga algoritma saja dengan menggunakan bahasa pemrograman Python. Bubble Sort Bubble sort mungkin metode sorting paling populer yang digunakan dan sederhana. Proses pengurutan dilakukan dengan membandingkan masing-masing nilai dalam suatu list secara berpasangan, kemudian tukar nilai jika diperlukan, dan mengulanginya sampai akhir list secara berurutan, sehingga tidak ada lagi nilai yang dapat ditukar. Langkahnya seperti di bawah ini :
Contoh script dengan Python : #!/usr/bin/python def BubbleSort(val): for passnum in range(len(val)-1,0,-1): for i in range(passnum): if val[i]>val[i+1]: temp = val[i] val[i] = val[i+1] val[i+1] = temp DaftarAngka = [23,7,32,99,4,15,11,20] BubbleSort(DaftarAngka) print(DaftarAngka)
Selection Sort Prinsip dari algoritma selection sort adalah memilih elemen dengan nilai paling rendah dan menukar elemen tersebut dengan elemen ke-i. Nilai dari i dimulai dari 1 ke n, dimana n adalah jumlah total elemen dikurangi 1. Langkahnya seperti di bawah ini :
Contoh script dengan Python : #!/usr/bin/python def SelectionSort(val): for isi in range(len(val)-1,0,-1): Max=0 for lokasi in range(1,isi+1): if val[lokasi]>val[Max]: Max = lokasi temp = val[isi] val[isi] = val[Max] val[Max] = temp DaftarAngka = [23,7,32,99,4,15,11,20] SelectionSort(DaftarAngka) print(DaftarAngka)
Insertion Sort Prinsip algoritma insertion sort pada dasarnya membagi data yang akan diurutkan menjadi dua bagian, satu bagian yang belum diurutkan dan yang satunya lagi sudah diurutkan. Elemen pertama diambil dari bagian list yang belum diurutkan dan kemudian diletakkan sesuai posisinya pada bagian lain dari list yang telah diurutkan. Langkah ini dilakukan secara berulang hingga tidak ada lagi elemen yang tersisa pada bagian list yang belum diurutkan. Langkahnya seperti di bawah ini :
|