Nama : Athiana Nurul Fitri Ahmad
NPM : 51414776
Kelas : 1IA17
Mata Kuliah : Algoritma & Pemrograman 1A
Dosen : Kunto Bayu A, ST.
- Pengertian
Sorting merupakan suatu proses untuk menyusun kembali
himpunan obyek menggunakan aturan tertentu. Sorting disebut juga sebagai suatu
algoritma untuk meletakkan kumpulan elemen data kedalam urutan tertentu
berdasarkan satu atau beberapa kunci dalam tiap-tiap elemen. Pada dasarnya ada
dua macam urutan yang biasa digunakan dalam suatu proses sorting:
1. Urut naik (ascending)
Mengurutkan dari data yang mempunyai nilai paling kecil sampai
paling besar
2. Urut turun (descending)
Mengurutkan dari data yang mempunyai nilai
paling besar sampai paling kecil.
- Alasan Melakukan Sorting Data
Mengapa harus melakukan sorting data? Ada banyak alasan dan
keuntungan dengan mengurutkan data. Data yang terurut mudah untuk dicari, mudah
untuk diperiksa, dan mudah untuk dibetulkan jika terdapat kesalahan. Data yang
terurut dengan baik juga mudah untuk dihapus jika sewaktu-waktu data tersebut
tidak diperlukan lagi. Selain itu, dengan mengurutkan data maka kita semakin
mudah untuk menyisipkan data atapun melakukan penggabungan data.
- Macam - macam sorting
Macam-macam Sorting :
1. Bubble 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.
2. Selection Sort
Ide utama dari algoritma selection sort adalah
memilih elemen dengan nilai paling rendah dan menukar elemen yang terpilih
dengan elemen ke-i. Nilai dari i dimulai dari 1 ke n, dimana n adalah
jumlah total elemen dikurangi 1.
3. 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.
4. 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
5. 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.
6. Quick Sort
Algoritma ini berdasar pada pola divide-and-conquer. Berbeda
dengan merge sort, algoritma ini hanya mengikuti langkah – langkah sebagai
berikut :
- 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.
- 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
7. 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
8. Bucket Sort
Algoritma:
- Cari nilai maksimum dan minimum di 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
9. Radix Sort
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.
Radix sortmerupakan sebuah algoritma pengurutan yang
mengatur pengurutan nilai tanpa melakukan beberapa perbandingan pada data yang
dimasukkan.
Sumber :
http://sisinform-aaf1231072.blogspot.com/2013/02/pengertian-sorting.html
http://lunarphue.wordpress.com/asd/macam-macam-sorting/
Sumber :
http://sisinform-aaf1231072.blogspot.com/2013/02/pengertian-sorting.html
http://lunarphue.wordpress.com/asd/macam-macam-sorting/
No comments:
Post a Comment