Beberapa algoritma sorting yang umum dipelajari:
| No | Algoritma Sorting | Cara Kerja Singkat | Tingkat Kesulitan |
|---|---|---|---|
| 1 | Bubble Sort | Membandingkan data yang bersebelahan lalu menukarnya | ⭐ Mudah |
| 2 | Selection Sort | Mencari nilai terkecil/terbesar lalu menempatkannya di posisi yang tepat | ⭐ Mudah |
| 3 | Insertion Sort | Menyisipkan setiap data ke posisi yang sesuai | ⭐ Mudah |
| 4 | Merge Sort | Membagi data menjadi bagian kecil lalu menggabungkannya kembali secara terurut | ⭐⭐ Sedang |
| 5 | Quick Sort | Memilih pivot lalu membagi data berdasarkan pivot | ⭐⭐ Sedang |
| 6 | Heap Sort | Menggunakan struktur data Heap untuk mengurutkan data | ⭐⭐⭐ Sedang |
| 7 | Shell Sort | Pengembangan dari Insertion Sort dengan jarak tertentu | ⭐⭐ Sedang |
| 8 | Counting Sort | Menghitung jumlah kemunculan setiap nilai | ⭐⭐ Sedang |
| 9 | Radix Sort | Mengurutkan berdasarkan digit/karakter dari posisi tertentu | ⭐⭐ Sedang |
| 10 | Bucket Sort | Membagi data ke dalam beberapa kelompok/bucket kemudian mengurutkannya | ⭐⭐ Sedang |
1. Bubble Sort
Contoh:
Data awal:
5 3 8 1 2
Setelah sorting:
1 2 3 5 8
Prinsipnya membandingkan dua data yang bersebelahan:
5 > 3 → tukar
3 5 8 1 2
Kemudian:
5 < 8 → tidak ditukar
3 5 8 1 2
Dan seterusnya sampai seluruh data terurut.
2. Selection Sort
Misalnya:
5 3 8 1 2
Cari nilai terkecil:
1
Tukar dengan posisi pertama:
1 3 8 5 2
Kemudian cari terkecil dari data berikutnya:
2
Hasil:
1 2 8 5 3
Dilanjutkan sampai:
1 2 3 5 8
3. Insertion Sort
Konsepnya seperti mengurutkan kartu di tangan.
Misalnya:
5 3 8 1 2
Ambil 3 dan masukkan ke posisi yang benar:
3 5 8 1 2
Kemudian 8:
3 5 8 1 2
Kemudian 1:
1 3 5 8 2
Terakhir 2:
1 2 3 5 8
4. Merge Sort
Konsepnya:
5 3 8 1 2 7 4 6
Dibagi:
5 3 8 1
2 7 4 6
Dibagi lagi:
5 3 8 1
2 7 4 6
Kemudian diurutkan dan digabung kembali:
3 5 1 8
2 7 4 6
Sampai akhirnya:
1 2 3 4 5 6 7 8
5. Quick Sort
Quick Sort menggunakan pivot.
Contoh:
5 3 8 1 2 7
Misalnya pivot:
5
Data dibagi menjadi:
lebih kecil dari 5 | pivot | lebih besar dari 5
3 1 2 | 5 | 8 7
Kemudian masing-masing bagian diproses lagi sampai terurut.
Urutan materi yang saya sarankan untuk belajar
Kalau Bapak sedang belajar algoritma pemrograman, saya sarankan jangan langsung semuanya. Urutannya:
1. Bubble Sort
↓
2. Selection Sort
↓
3. Insertion Sort
↓
4. Merge Sort
↓
5. Quick Sort
↓
6. Heap Sort
↓
7. Counting / Radix / Bucket Sort
Untuk latihan HTML + JavaScript, Bubble Sort, Selection Sort, dan Insertion Sort sangat bagus untuk memahami konsep array, loop, if, dan pertukaran nilai.