Proses pengurutan data banyak
ditemukan dalam komputer. Hal ini karena data yang sudah di susun atau di urut
lebih mudah di cari dengan cepat. Untuk membentuk data yg tidak terurut menjadi
data yang urut, terdapat berbagai algoritma yang bisa di gunakan. Pada
pengurutan data terdapat beberapa istilah, yaitu pengurutan ascending dan
descending
·
Ascending
Pengurutan dengan dasar dari nilai
yang kecil menuju ke nilai yang besar (urutan naik)
·
Descending
Pengurutan data yang disusu atas
dasar nilai besar ke kecil (urutan turun ).
Macam-macam Sorting:
- Buble Sort :
Merupakan algoritma pengurutan paling tua dengan metode pengurutan paling sederhana. Pengurutan yang dilakukan dengan membandingkan masing-masing item dalam suatu list secara berpasangan, menukar item jika diperlukan, dan mengulaginya sampai akhir list secara berurutan, sehingga tidak ada lagi item yang dapat ditukar.
- Selection Sort :
- Insertion Sort :
Algoritma insertion sort pada
dasarnya memilah data yang akan diurutkan menjadi dua bagian, yang belum
diurutkan dan yang sudah diurutkan. Elemen pertama diambil dari bagian array
yang belum diurutkan dan kemudian diletakkan sesuai posisinya pada bagian lain
dari array yang telah diurutkan. Langkah ini dilakukan secara berulang hingga
tidak ada lagi elemen yang tersisa pada bagian array yang belum diurutkan.
- Shell Sort :
Merupakan algoritma yang stau jenis
dengan insertion sort, dimana pada setiap nilai i dalam n/i item diurutkan.
Pada setiap pergantian nilai, i dikurangi sampai 1 sebagai nilai terakhir

- Merge Sort :
Algoritma dirumuskan dalam 3 langkah
berpola divide-and-conquer. Berikut menjelaskan langkah kerja dari Merge
sort.
1. Divide
Memilah elemen – elemen dari
rangkaian data menjadi dua bagian.
2. Conquer
Conquer setiap bagian dengan
memanggil prosedur merge sort secara rekursif
3. Kombinasi
Mengkombinasikan dua bagian tersebut
secara rekursif untuk mendapatkan rangkaian data berurutan
Proses rekursi berhenti jika
mencapai elemen dasar. Hal ini terjadi bilamana bagian yang akan diurutkan
menyisakan tepat satu elemen. Sisa pengurutan satu elemen tersebut menandakan
bahwa bagian tersebut telah terurut sesuai rangkaian.
![]() |
- Quick Sort :
Algoritma ini berdasar pada pola
divide-and-conquer. Berbeda dengan merge sort, algoritma ini hanya mengikuti
langkah – langkah sebagai berikut :
1. Divide
Memilah rangkaian data menjadi dua
sub-rangkaian A[p…q-1] dan A[q+1…r] dimana setiap elemen A[p…q-1] adalah kurang
dari atau sama dengan A[q] dan setiap elemen pada A[q+1…r] adalah lebih besar
atau sama dengan elemen pada A[q]. A[q] disebut sebagai elemen pivot.
Perhitungan pada elemen q merupakan salah satu bagian dari prosedur pemisahan.
2. Conquer
Mengurutkan elemen pada
sub-rangkaian secara rekursif. Pada algoritma quicksort, langkah ”kombinasi”
tidak di lakukan karena telah terjadi pengurutan elemen – elemen pada sub-array

- Heap Sort:
Heap sort adalah sorting yang
menggunakan struktur data heap, dengan nilai parent selalu lebih besar dari
pada nilai childnya.
Algoritma:
- Buat suatu heap.
- Ambil isi dari root masukkan kedalam sebuah array.
- Hapus element root dengan mempertahankan properti heap.
- Ulangi sampai tree menjadi kosong
0 comments:
Post a Comment