INSERTION SORT
- Pengertian
Insertion sort adalah sebuah metode pengurutan data dengan menempatkan setiap
elemen data pada pososinya dengan cara melakukan perbandingan dengan data –
data yang ada.
a. Cara kerja insertion sort mirip dengan cara orang
mengurutkan kartu, selembar demi selembar kartu diambil dan disisipkan (insert) ke tempat yang seharusnya.
b. Pengurutan dimulai dari data ke-2 sampai dengan
data terakhir, jika ditemukan data yang lebih kecil, maka akan ditempatkan (di-insert) diposisi yang seharusnya.
c. Pada penyisipan elemen, maka elemen- elemen lain
akan bergeser ke belakang.
d. Algoritma ini akan mudah anda kuasi jika sering
bermain Game Remi, Domino, Main Minum, dll
e. Ide algoritma dari metode insertion sort ini
dapat dianalogikan sama seperti mengurutkan kartu.
f. Jika suatu kartu dipindah tempatkan menurut
posisinya, maka kartu yang lain akan bergeser mundur atau maju sesuai kondisi
pemindahanan kartu tersebut.
- CONTOH :
- Contoh Algoritma
Data awal sebelum di urutkan, asumsi pertama
anggaplah data indek ke- sudah benar .
Data awal sebelum
di urutkan, asumsi pertama anggaplah data indek ke-0 sudah benar.
Bandingkan data
index ke 0 dan ke 1, Jika data index ke
1 lebih kecil, datanya ditukar
Bandingkan
data index ke 2 dengan ke 1 dan 0, Jika lebih
kecil, selipkan pada posisi yang tepat.
Bandingkan
data index ke 3 dengan data didepannya, Jika lebih
kecil, selipkan pada posisi yang tepat. Jika tidak biarkan data tersebut.
Bandingkan
data index ke 4 dengan data didepannya, Jika lebih
kecil, selipkan pada posisi yang tepat. Data yang
lain akan mundur posisinya, karena ada data yang maju.
Bandingkan
data index ke 5 dengan data didepannya, Jika lebih
kecil, selipkan pada posisi yang tepat. Data yang
lain akan mundur posisinya, karena ada data yang maju.
- Contoh Program dalam bahasa C++ :
#include <iostream>
#include <conio>
int arr[]={8,6,9,3,5};
void insertion_sort (int arr[], int length){
int j, temp;
for (int i = i; i < length; i++){
j = i;
while (j > 0 && arr[j] < arr[j-1]){
temp = arr[j];
arr[j] = arr[j-1];
arr[j-1] = temp;
j--;
}
}
}
void main(){
insertion_sort(arr,5);
for(int i=0;i<5;i++){
cout<<arr[i]<<", ";
}
getch();
}
- Ini hasil dari contoh coding diatas :
Semoga bermanfaat untuk kita semua :) Sekian dan Terimakasih sampai jumpa dipost selanjutnya :)
Salam STIKOMERS www.stikom-bali.ac.id
Tidak ada komentar:
Posting Komentar