Metode pengurutan data atau lebih dikenal dengan Sorting, yaitu suatu proses yang dilakukan terhadap sekumpulan data data yang sebelumnya masih acak/tidak terurut, menjadi data yang terurut.
Sorting terdiri dari dua jenis Sorting Descending (Pengurutan Atas Bawah) dan Sorting Ascending (Pengurutan Bawah Atas).
Sebagai contoh :
1,2,3,4,5,6,7,8,9,10 --> Ascending
10,9,8,7,6,5,4,3,2,1 --> Descending
Beberapa metode pengurutan data/Sorting terdiri atas beberapa jenis :
1. Bubble Sort
Pengurutan
ini melakukan penukaran data dengan tepat disebelahnya secara terus
menerus sampai bisa dipastikan dalam suatu perulangan tertentu tidak ada
lagi perubahan. Nama lain dari pengurutan ini yaitu Pengurutan
Gelembung (metode gelembung)
2. Selection Sort
Metode pengurutan data selanjutnya yaitu Selection Sort.
Pada algoritma selection sort mencari elemen yang tepat untuk
diletakkan di posisi yang telah diketahui dan meletakkannya di posisi
tersebut setelah data tersebut ditemukan. Selection sort ini
membandingkan elemen yang saat ini dengan suatu elemen yang berikutnya
hingga elemen yang terakhir. Apabila ditemukan elemen lain yang lebih
kecil dari elemen yang saat ini maka dicatat posisinya dan kemudian
ditukar.
3. Insertion Sort
Algoritma
pengurutan ini memilah data yang diurutkan menjadi dua bagian. Yang
belum terurut (meja pertama) dan yang telah diurut (meja kedua). Elemen
yang pertama diambil dari bagian array yang belum diurutkan, kemudian
diletakkan pada posisi sesuai dengan bagian lain dari array yang telah
diurutkan. Langkah tersebutdiulang hingga tidak ada lagi elemen yang
tersisa pada meja pertama yang belum terurut.
4. Heap Sort
Merupakan
satu bentuk dari selection sort yang memiliki kompleksitas algoritma
O(n log(n) ) yang menggunakan struktur data heap. Heap sort bekerja
dengan menentukan elemen terbesar (atau terkecil) dari sebuah susunan
elemen, dan diletakkan pada akhir (atau awal) dari daftar tersebut.
5. Radix Sort
Radix
sort merupakan suatu algoritma pengurutan yang dilakukan tanpa
melakukan perbandingan antardata yang dijadikan sebagai input. Radix
dapat diartikan sebagai posisi dalam angka. Pada sistem decimal, radix
adalah digit dalam angka decimal.
6. Shell Sort
Algoritma ini sama cara kerjanya dengan Insertion Sort, yaitu dengan membandingkan elemen elemen dengan jarak tertentu.
7. Quick Sort
Pengurutan
ini berprinsip pada devide dan conquer. Devide adalah suatu langkah
memilah masalah menjadi sub-masalah dalam proses rekursi, sedangkan
conquer proses menyelesaikan sub masalah tersebut, kemudian dilakukan
pendekatan terhadap masalah utama. Prinsip kerja pada dasarnya membagi
atau memartisi sekumpulan data menjadi dua bagian data sehingga elemen
yang ke -1 berada tepat pada posisinya, dimana semua elemen yang
nilainya kecil dari pada elemen ke-1 akan terletak disebelah kiri,
sedangkan yang nilai lebih besar terletak disebelah kanan.
8. Merge Sort
Merge
sort merupakan salah satu teknik sorting yang mengurutkan suatu data
dengan cara penggabungan. Merge sort juga menggunakan proses divide dan
conquer pada rekursi.
Program berikut menggunakan bahasa C++ untuk menampilkan hasil pengurutan dengan metode Buble Sort.
Tidak ada komentar:
Posting Komentar