Basic Sorting
Basic Sorting
i j if(arrNilai[j]>arrNilai[j+1]) Hasil
0 If(arrNilai[0] > arrNilai[1]) 45321
5 > 4 true swap
1 if(ArrNilai[1] > arrNilai [2]) 43521
1 5 > 3 trueswap
2 If(arrNilai[2] > arrNilai[3]) 43251
5 > 2 true swap
3 If(arrNilai[3] > arrNilai[4]) 43215
5 > 1 true swap
2 0
1
2
3
Insertion Sort
• Insertion sort atau metode seleksi merupakan suatu metode yang
melakukan pengurutan dengan menyisipkan data yang belum terurut
ke dalam bagian data yang sudah terurut
Algoritma Insertion Sort
• Analogi Insertion Sort dengan menggunakan Kartu
• Anggaplah kita ingin mengurutkan satu set kartu dari kartu yang bernilai
paling kecil hingga yang paling besar.
• Dimulai dengan posisi tangan kosong, dan semua kartu berada diatas meja. Dan
anggaplah kita akan menyusun kartu ke tangan kiri kita.
• mengambil kartu pertama dari meja dan meletakannya ke tangan kiri.
• Mengambil kartu kedua dan membandingkannya dengan kartu yang sudah ada di tangan
kiri.
• Jika kartu yang diambil dari meja memenuhi syarat perbandingan, maka kartu tersebut
akan diletakan didepan kartu yang dibandingkan, serta kartu yang lain yang telah
dibandingkan akan bergeser mundur (ke belakang).
Contoh Insertion Sort
• 7,6,5,4,3,2,1
Langkah-langkah Algoritma Insertion Sort
1. Lakukan pengaksesan index untuk mendapatkan nilai di dalam array
di mana dimulai dari 1 sampai dengan panjang elemen array
2. Lakukan pengaksesan nilai di dalam array mulai dari panjang sama
dengan nilai i sampai dengan n >0 dengan i--
3. Lakukan proses perbandingan antara index sesudahnya dengan
sebelumnya, jika nilai sesudahnya ternyata lebih besar daripada
nilai sebelumnya maka akan dilakukan swap (pertukaran)
Algoritma Insertion Sort
public int[] InsertionSort(int[] input)
for i1 to N
for j=i to >0
if (arr[j] < arr[j-1])
Lakukan Swap
return input;