I. Pengertian sorting
yaitu suatu proses untuk menyusun kembali humpunan objek 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 menaik
(ascending)
Mengurutkan dari data yang mempunyai nilai paling kecil sampai
paling besar
2. Urut menurun (descending)
Mengurutkan dari data yang mempunyai nilai paling besar sampai paling kecil.
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.
Ada berbagai jenis metode-metode untuk menyelesaikan permasalahan sorting yaitu:
1. Insertion Sort (Metode Penyisipan)
2. Selection Sort (Metode Seleksi)
3. Bubble sort(Metode Gelembung)
4. Shell Sort (Metode Shell)
5. Quick Sort (Metode Quick)
6. Merge Sort (Metode Penggabungan)
II. Solusi metode Insertion Sort
Metode Insertion Sort adalah pengurutan yang dilakukan dengan cara menyisipkan elemen pada posisi yang sudah ditentukan atau tepat.
Contoh gambaran dari implementasi Insertion Sort:
1st Cycle:
(70, 60, 30, 50, 40, 20) -> (60,
70, 30, 50, 40, 20)
(60, 70, 30, 50, 40,
20)
2nd Cycle:
(60, 70, 30, 50, 40, 20) -> (60, 30, 70, 50, 40, 20)
(60, 30, 70, 50, 40, 20)
-> (30, 60, 70, 50, 40, 20)
(30, 60, 70, 50, 40, 20)
3rd Cycle:
(30, 60, 70, 50, 40, 20) -> (30, 60, 50, 70, 40, 20)
(30, 60, 50, 70, 40,
20) -> (30, 50, 60, 70, 40,
20)
(30, 50, 60, 70, 40,
20) -> (30, 50, 60, 70, 40,
20)
(30, 50, 60, 70, 40,
20)
4th Cycle:
(30, 50, 60, 70, 40, 20) -> (30, 50, 60, 40, 70, 20)
(30, 50, 60, 40, 70, 20)
-> (30, 50, 40, 60, 70, 20)
(30, 50, 40, 60, 70, 20)
-> (30, 40, 50, 60, 70, 20)
(30, 40, 50, 60, 70, 20)
-> (30, 40, 50, 60, 70, 20)
(30, 40, 50, 60, 70, 20)
5th Cycle:
(30, 40, 50, 60, 70, 20) -> (30, 40, 50, 60, 20, 70)
(30, 40, 50, 60, 20, 70) -> (30, 40, 50, 20, 60, 70)
(30, 40, 50, 20, 60, 70) -> (30, 40,20, 50, 60, 70)
(30, 40, 20, 50, 60, 70) -> (30, 20, 40, 50, 60, 70)
(30, 20, 40, 50, 60, 70) -> (20, 30, 40, 50, 60, 70)
(20, 30, 40, 50, 60, 70)
III. Kelebihan dan kekurangan metode Insertion Sort
Kelebihannya
- Stabil
- Penerapannya yang sederhana
- Pengurutan data yang tercepat dalam jumlah elemen yang sedikit
Kelemahannya
- Banyak operasi yang dilakukan dalam mencari posisi elemen yang tepat
- Untuk data dalam jumlah besar tidak praktis
Tidak ada komentar:
Posting Komentar