Posted by : Unknown
Selasa, 10 November 2015
Sorting merupakan Pengurutan data yang dilakukan
secara berurut sehingga data tersebut tersusun sesuai kehendak kita.
Berikut Macam jenis Sorting Algoritma Pemrograman struktur data :
Berikut Macam jenis Sorting Algoritma Pemrograman struktur data :
BUBBLE SORT
Bubble sort
merupakan algoritma pengurutan / metode sorting paling sering digunakan dengan
metode pengurutan paling sederhana. pada metode bubble sort, Pengurutan yang
dilakukan dengan cara membandingkan masing-masing item / data dalam suatu list
secara berpasangan, lalu menukar item tersebut jika diperlukan, dan
mengulanginya sampai akhir list secara berurutan dengan sempurna, sehingga
tidak ada lagi item yang dapat ditukar.
berikut contoh
bubble sort :
SELECTION SORT
Selection Sort
merupakan metode pengurutan dengan cara memlilih elemen dengan nilai paling
rendah dan menukar elemen yang terpilih tersebut dengan elemen ke-i. Nilai dari
i dimulai dari 1 ke n, dimana n adalah jumlah total elemen dikurangi 1.
INSERTION SORT
Insertion sort
merupakan salah satu metode sorting dengan cara menyisipkan / insert. Pada
dasarnya insertion sort 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 tersebut.
berikut contoh
insertion Sort :
SHELL SORT
Shell sort
merupakan metode pengurutan yang hampir sama dengan
insertion sort, dimana pada setiap nilai i dalam n/i item diurutkan. Pada
setiap pergantian nilai, i dikurangi sampai 1 sebagai nilai terakhir
berikut contoh shell
sort :
MERGE SORT
Merge Sort merupakan jenis pengurutan yang dirumuskan
dalam 3 tahap berpola divide-and-conquer.
berikut tahapan Merge Sort :
berikut tahapan Merge Sort :
- Divide = Memilah elemen – elemen dari rangkaian
data menjadi dua bagian.
- Conquer = setiap bagian dengan memanggil prosedur
merge sort secara rekursif
Kombinasi = Mengkombinasikan dua bagian tersebut
secara rekursif untuk mendapatkan rangkaian data yang berurutan.
Proses rekursi berhenti jika mencapai elemen dasar. Hal ini terjadi jika bagian yang akan diurutkan menyisakan tepat satu elemen. Sisa pengurutan satu elemen tersebut menandakan bahwa bagian tersebut telah terurut sesuai rangkaian yagn dikehendaki.
berikut contoh Merge Sort
Proses rekursi berhenti jika mencapai elemen dasar. Hal ini terjadi jika bagian yang akan diurutkan menyisakan tepat satu elemen. Sisa pengurutan satu elemen tersebut menandakan bahwa bagian tersebut telah terurut sesuai rangkaian yagn dikehendaki.
berikut contoh Merge Sort
QUICK SORT
Quick sort
merupakan metode pengurutan dengan algoritma berdasarkan pola divide-and-conquer.
Algoritma ini hanya
memiliki 2 langkah sebagai berikur :
- Divide = bisa dikatakan 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.
- Conquer = dengan cara Mengurutkan
elemen pada sub-rangkaian secara rekursif. Pada algoritma quicksort,
langkah ”kombinasi” tidak di lakukan karena telah terjadi pengurutan
elemen – elemen pada sub-array
berikut contoh quick
sort :
HEAP SORT
Heap sort merupakan
metode sorting yang menggunakan struktur data heap, dengan nilai parent selalu
lebih besar dari pada nilai childnya.
adapun langkah
algoritma nya sebagai berikut :
- Buat suatu heap
- Ambil isi dari root, lalu masukkan
kedalam sebuah array.
- Hapus element root dengan
mempertahankan properti heap.
- Ulangi sampai tree menjadi kosong
Berikut contoh Heap
Sort :
BUCKET SORT
Bucket Sort merupakan algoritma sorting yang mempartisi deret angka menjadi beberapa deret yang kemudian dianalogikan menjadi ember.
Algoritma nya sebagai berikut :
Cari nilai maksimum dan minimum di dalam array.
Inisialisasi array bucket Daftar <> unsur (ukuran maxValue – minValue + 1)
Pindahkan elemen dalam array untuk bucket
Write bucket keluar (dalam rangka) ke array yang asli
berikut contoh bucket sort :
Radix Sort
Radix Sort
adalah metode sorting yang ajaib yang mana mengatur pengurutan nilainya tanpa
melakukan beberapa perbandingan pada data yang dimasukkan. Secara umum yang
proses yang dilakukan dalam metode ini adalah mengklasifikasikan data sesuai
dengan kategori terurut yang tertentu dan dalam tiap kategorinya dilakukan
pengklasifikasian lagi dan seterusnya sesuai dengan kebutuhan.
Secara kompleksitas waktu, radix sort termasuk ke dalam Divide and Conquer.Namun dari segi algoritma untuk melakukan proses pengurutan, radix sort tidak termasuk dalam Divide and Conquer.
Secara kompleksitas waktu, radix sort termasuk ke dalam Divide and Conquer.Namun dari segi algoritma untuk melakukan proses pengurutan, radix sort tidak termasuk dalam Divide and Conquer.