Blogger Widgets

Minggu, 02 Juni 2013

Metode pengurutan data

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