Sabtu, 06 Juni 2015

INSERTION SORT

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 1Jika 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 didepannyaJika 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 didepannyaJika 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