0% found this document useful (0 votes)
285 views7 pages

Contoh Program Insertion Sort

The document provides examples of sorting algorithms in C++ including insertion sort, bubble sort, quick sort, and search algorithms like sequential search, binary search. Each example includes the code to implement the algorithm and demonstrates sorting or searching an array of sample data.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
285 views7 pages

Contoh Program Insertion Sort

The document provides examples of sorting algorithms in C++ including insertion sort, bubble sort, quick sort, and search algorithms like sequential search, binary search. Each example includes the code to implement the algorithm and demonstrates sorting or searching an array of sample data.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 7

Contoh program Insertion sort

#include <iostream> #include <stdio.h> #include <conio.h> int main (){ int a[9]={12,45,67,78,23,5,0,84,19},i,lk,lb; printf("sebelum sorting \n"); for(i=0;i<9;i++){ printf(" %i ",a[i]); } for(i=0;i<9;i++){ lb=a[i]; lk=i-1; while(a[lk]>lb && lk>=0){ a[lk+1] = a[lk]; lk--; } a[lk+1]= lb;

} printf("\n\nSetelah sorting \n"); for(i=0;i<9;i++) { printf(" %i ",a[i]);} getch (); }

Contoh program bubble sort


#include <iostream> #include <conio.h> #include <stdio.h> int a[8]={3,5,6,9,8,7,10,4}; void bubble(){ int b[8],lb=0,lk=0,i; for (i=0;i< 10; i++) { b[i]= a[i]; } for(i=0;i< 10; i++) { for(int k=0;k< 10; k++){ lb=lb+1; if(b[k]>b[k+1]){ lk=lk+1; int temp = b[k]; b[k]=b[k+1]; b[k+1]= temp;

} } } for(i=0;i< 10;i++){ cout<<" %d ", b [i]; } cout<<"\n\n Langkah Perbandingan = %d \n Langkah Pertukaran = %d ",lb,lk; } int main(){ bubble(); getch(); }

Contoh program quick sort


#include <iostream> #include <conio.h> #define max 20 using namespace std; void quick_sort(int darr[max], int lb, int ub) { int a; int up,down; int temp; if (lb>=ub) return; a=darr[lb]; up=ub; down=lb; while (down < up) { while (darr[down] <= a) down++; while (darr[up]>a) up--; if(down<up) { temp=darr[down]; darr[down]=darr[up]; darr[up]=temp; } } darr[lb]=darr[up]; darr[up]=a; quick_sort(darr,lb,up-1); quick_sort(darr,up+1,ub);

void main() { int arr[max];

int i,n,lb,ub; lb=0; cout<<"Masukkan banyak data yang ingin diurut: "; cin>>n; ub=n; cout<<"Masukkan data-datanya: \n\n"; for(i=1;i<=n;i++) { cout<<"\tdata ke- "<<i<<" : "; cin>>arr[i]; } quick_sort(arr,lb,ub); cout<<"\nHasil pengurutan data: "; for(i=0; i<n;i++) cout<<" "<<arr[i]; cout<<"\n\nTekan sembarang tombol untuk keluar "; getch(); }

Contoh 2 quick sort


#include <iostream> #include <conio.h> using namespace std; void tampilkan_larik(int data[], int n) { int i; for (i=1;i<=n;i++) cout<<data[i]<<" "; cout<<"\n"; } int partisi (int data[], int awal, int akhir) { int x,i,j,simpan; //x=data[awal]; i=awal; j=akhir; while(1) {

while(data[i]<data[awal]) i=i+1;

while(data[j]>data[awal]) j=j-1; if (i<j) {

//tukarkan data simpan=data[i]; data[i]=data[j]; data[j]=simpan;

else return j; } }

void quick_sort(int data[], int awal, int akhir) { int q; if(awal<akhir) { q=partisi(data,awal,akhir); quick_sort(data,awal,q); quick_sort(data, q+1,akhir); } } int main() { int i,j,n,data[100]; cout<<"Masukkan Banyak Data = ";cin>>n; for(i=1;i<=n;i++) { cout<<"data ke-"<<i<<" = ";cin>>data[i]; } cout<<"Data sebelum diurut : "<<endl; for(j=1;j<=n;j++) { cout<<data[j]<<" "; } quick_sort(data,1,n); //hasil pengurutan cout<<endl; cout<<endl; cout<<"Hasil Pengurutan :\n"; tampilkan_larik(data,n); getch();

Contoh program sequential search


#include <iostream> #include <conio.h> using namespace std; int cari_linear(int array[],int ukuran, int cari); int main() { const int ukuran=10; int array[ukuran]={56,77,12,33,20,69,26,46,7,19}; cout<<"Isi dari array: "<<endl; for(int i=0;i<ukuran;i++) cout<<" "<<array[i]; int cari; int tanda=-1;

cout<<"\n\nMasukkan data yang dicari: "; cin>>cari; tanda= cari_linear(array,ukuran,cari); if (tanda!=-1) cout<<"\n\nData tersebut ditemukan pada posisi: array["<<tanda<<"],"<<" atau deret ke-"<<(tanda+1); else cout<<"\nData tersebut tidak ditemukan "; getch(); } int cari_linear(int array[],int ukuran,int cari) { int tanda=-1; for(int i=0;i<ukuran;i++) { if(cari==array[i]) { tanda=i; break; } } return tanda; }

Contoh program binary search


#include <iostream> #include <conio.h> using namespace std; int binary_search(int array[],int size, int elemen); int main() { const int size = 10; int array = {0,6,9,12,20,23,29,32,47,79}; cout<<" Isi dari array : "; for(int i=0;i<size;i++) cout<<" "<<array; int elemen; int tanda; cout<<"\n\n"; cout<<"Masukkan data yang dicari: "; cin>>elemen; cout<<"\n\n";tanda = binary_search (array,size,elemen); if (tanda!=-1) cout<<"Data "<<elemen<<"ditemukan pada posisi : array["<<tanda<<"],"<<" atau deret ke-"<<(tanda+1); else cout<<"\n data tersebut tidak ditemukan "; getch(); } int binary_search(int array[],int size,int elemen) { int start=0; int end=size - 1; int middle; int posisi=-1;

middle=(start + end ) / 2; do { if(elemen<array[middle]) end=middle-1; else if (elemen>array[middle]) start=middle+1; middle=(start+end)/2; } while(start<=end && array [middle]!=elemen); if(array[middle]==elemen) posisi=middle; return posisi; } Contoh 2 Binary search #include <iostream> #include <conio.h> using namespace std; int main() { //deklarasi variabel int a[10], i,j,k,tkr,top,bottom,middle,tm; //proses penginputan data for(i=0;i<10;i++) { cout<<"Data ke ["<<i<<"] = "; cin>>a[i]; } cout<<endl; cout<<"Masukkan data yang akan anda cari : "; cin>>k; //proses pengurutan data for(i=0;i<10;i++) { for(j=i+1;j<10;j++) { if (a[i]>a[j]) { tkr=a[i]; a[i]=a[j]; a[j]=tkr; } } } //proses pencarian data tm=0; top=9; bottom=0; while(top>=bottom) { middle=(top+bottom)/2; if(a[middle]==k) { tm++; } if(a[middle]<k) { bottom=middle+1; } else {

top=middle-1; } } if (tm>0) { cout<<"Data "<<k<<" yang dicari ada dalam array "; } //jika tidak ditemukan else { cout<<"Data tidak ditemukan dalam array"; } getch(); }

You might also like