Dalam pemrograman, sorting adalah algoritma untuk mengurutkan data, misalnya dari kecil ke besar atau dari besar ke kecil.

Beberapa algoritma sorting yang umum dipelajari:

NoAlgoritma SortingCara Kerja SingkatTingkat Kesulitan
1Bubble SortMembandingkan data yang bersebelahan lalu menukarnya⭐ Mudah
2Selection SortMencari nilai terkecil/terbesar lalu menempatkannya di posisi yang tepat⭐ Mudah
3Insertion SortMenyisipkan setiap data ke posisi yang sesuai⭐ Mudah
4Merge SortMembagi data menjadi bagian kecil lalu menggabungkannya kembali secara terurut⭐⭐ Sedang
5Quick SortMemilih pivot lalu membagi data berdasarkan pivot⭐⭐ Sedang
6Heap SortMenggunakan struktur data Heap untuk mengurutkan data⭐⭐⭐ Sedang
7Shell SortPengembangan dari Insertion Sort dengan jarak tertentu⭐⭐ Sedang
8Counting SortMenghitung jumlah kemunculan setiap nilai⭐⭐ Sedang
9Radix SortMengurutkan berdasarkan digit/karakter dari posisi tertentu⭐⭐ Sedang
10Bucket SortMembagi 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.

Leave a Reply

Your email address will not be published. Required fields are marked *