Anda di halaman 1dari 8

Metode Pengurutan Data Dengan Insertion Sort

Metode Pengurutan data dengan insertion Sort adalah : pengurutan data dilakukan denga mengurutkan data ke-1 dimana data ke-1 dimulai dari data ke-2 sampai terakhir. jika ditemukan data yang lebih kecil maka data tersebut akan disisipkan kedepan sesuai dengan posisi yang seharusnya.

Algoritmanya kayak dibawah ini:

procedure asc_insert; var temp,k:integer; begin For i := 2 to jmldata do Begin Temp :=data[i]; j := i-1; while (data[j] > temp) and (j>0) do begin data[j+1] := data[j]; dec(j); end; data[j+1]:=temp; end; end; Programnyapun kayak di bawah ini: #include <iostream.h> #include <conio.h> int data[10],data2[10]; int n; void tukar(int a, int b) {

int t; t = data[b]; data[b] = data[a]; data[a] = t; } void insertion_sort() { int temp,i,j; for(i=1;i<=n;i++) { temp = data[i]; j = i -1; while(data[j]>temp && j>=0) { data[j+1] = data[j]; j--; } data[j+1] = temp; } } void main() { cout<<"===PROGRAM INSERTION SORT==="<<endl; //Input Data cout<<"Masukkan Jumlah Data : "; cin>>n; for(int i=1;i<=n;i++) { cout<<"Masukkan data ke "<<i<<" : "; cin>>data[i]; data2[i]=data[i]; } insertion_sort(); cout<<"\n\n"; //tampilkan data cout<<"Data Setelah di Sort : "; for(int i=1; i<=n; i++) { cout<<" "<<data[i]; } cout<<"\n\nSorting Selesai"; getch(); }

Insertion Sort
Metode pengurutan selection sort sering dipakai oleh orang saat bermain kartu bridge dalam mengurutkan kartunya, yaitu dengan cara menyisip kartu yang lebih kecil ke urutan sebelum posisi kartu yang dibandingkannya. Perhatikan tabel berikut. :

Metode Insertion Sort


Mirip dengan cara orang mengurutkan kartu, selembar demi selembar kartu diambil dan disisipkan (insert) ke tempat yang seharusnya. Pengurutan dimulai dari data ke-2 sampai dengan data terakhir, jika ditemukan data yang lebih kecil, maka akan ditempatkan (diinsert) diposisi yang seharusnya. Pada penyisipan elemen, maka elemen-elemen lain akan bergeser ke belakang

Source Code Insertion Sort :


void insertion_sort(int data[]) { int temp; for(int i=1;i<n;i++) { temp=data[i]; j=i-1; while(data[j]>temp&&j>=0) { data[j+1]=data[j]; j; } data[j+1]=temp; } }

Implementasi program Insertion Sort dalam bahasa C++ :

01 #include <iostream.h> 02 #include <conio.h> 03 04 int data[10],data2[10]; 05 int n; 06 07 void tukar(int a, int b) 08 { 09 int t; 10 t = data[b]; 11 data[b] = data[a]; 12 data[a] = t; 13 } 14 15 void insertion_sort() 16 { 17 int temp,i,j; 18 for(i=1;i<=n;i++) 19 { 20 21 22 23 temp = data[i]; j = i -1; while(data[j]>temp && j>=0) {

24 25 26 }

data[j+1] = data[j]; j--;

27 data[j+1] = temp; 28 } 29 } 30 int main() 31 { 32 cout<<"===PROGRAM INSERTION SORT==="<<endl; 33 34 //Input Data 35 cout<<"Masukkan Jumlah Data : "; 36 cin>>n; 37 for(int i=1;i<=n;i++) 38 { 39 40 41 42 } 43 44 insertion_sort(); 45 46 cout<<"\n\n"; cout<<"Masukkan data ke "<<i<<" : "; cin>>data[i]; data2[i]=data[i];

47 //tampilkan data 48 cout<<"Data Setelah di Sort : "; 49 for(int i=1; i<=n; i++) 50 { 51 52 } 53 cout<<"\n\nSorting Selesai"; 54 getch(); 55 return 0; 56 } cout<<" "<<data[i];

Anda mungkin juga menyukai