Insertion Sort
1. Pengertian Insertion Sort
Insertion Sort adalah salah satu algoritma pengurutan (sorting) yang sederhana
dan mudah dipahami. Algoritma ini bekerja dengan cara membagi array
menjadi dua bagian:
• Bagian yang sudah terurut
• Bagian yang belum terurut
Setiap elemen dari bagian yang belum terurut akan diambil satu per satu dan
disisipkan (insert) ke posisi yang sesuai dalam bagian yang sudah terurut.
2. Cara Kerja Insertion Sort
• Mulai dari elemen kedua (indeks 1), bandingkan dengan elemen-elemen
sebelumnya.
• Jika elemen sebelumnya lebih besar, geser elemen tersebut ke kanan.
• Ulangi langkah ini sampai menemukan posisi yang tepat.
• Sisipkan elemen pada posisi tersebut.
• Ulangi langkah 1–4 untuk seluruh elemen dalam array.
3. Ilustrasi Contoh (Step by Step)
Misal: Array = [5, 3, 4, 1, 2]
Langkah 1:
Elemen ke-2 = 3, dibandingkan dengan 5
3 < 5 → geser 5 ke kanan → sisipkan 3 di posisi 0
Array: [3, 5, 4, 1, 2]
Langkah 2:
Elemen ke-3 = 4, dibandingkan dengan 5 dan 3
4 < 5, geser 5 → 4 > 3 → sisipkan 4 di posisi 1
Array: [3, 4, 5, 1, 2]
Langkah 3:
Elemen ke-4 = 1, dibandingkan dengan 5, 4, 3
1 < 5, 4, 3 → geser semua ke kanan → sisipkan 1 di posisi 0
Array: [1, 3, 4, 5, 2]
Langkah 4:
Elemen ke-5 = 2
2 < 5, 4, 3 → geser ke kanan → sisipkan 2 di posisi 1
Array akhir: [1, 2, 3, 4, 5]
4. Contoh Code dalam CPP
Output :
Penjelasan:
• "Array sebelum sorting": Menampilkan angka-angka yang kamu
masukkan sesuai urutan input (belum diurutkan).
• "Array setelah sorting": Menampilkan angka yang telah diurutkan dari
terkecil ke terbesar menggunakan algoritma Insertion Sort.