Minggu 10 Binary Search

Assalamualaikum..
Kali ini saya akan memposting program tentang binary search. aplikasi yang saya gunakan adalah bahasa c++. dan berikut adalah langkah-langkahnya.

1.Mengerti Masalah

Mencari angka dari sejumlah data yang terurut dengan binary search
2.Input, Output

Inputnya adalah angka yang akan dicari dari sejumlah data yang terurut dengan menentukan nilai tengahnya. Outputnya adalah angka yang dicari ditemukan pada indeks ke berapa
3.Algoritma

function pencarianBiner(input aray : larik; kunci, low, high : integer) : integer
Deklarasi
ketemu : boolean
i, middle : integer
Deskripsi
ketemu 􀃅 false
while (low <= high) and (not ketemu) do
middle 􀃅 (low+high) div 2
if (kunci = aray[middle]) then ketemu 􀃅 true { data pencarian = data ditengah }
else if (kunci < aray[middle]) then high 􀃅 middle – 1 {data akan dicari lagi di sebelah kiri}
else low 􀃅 middle + 1 {data akan dicari lagi di sebelah kanan}
endif
endwhile
if ketemu then pencarianBiner := middle
else pencarianBiner := -1;
endif
4.Kode c++

#include <iostream>


/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
int binari(int array[6],int awal, int akhir, int tengah, int kunci){
while(awal<=akhir){
tengah=(awal+akhir)/2;
if(kunci>array[tengah]){
awal=tengah+1;
}
else if(kunci<array[tengah]){
akhir=tengah-1;
}
else{
awal=akhir+1;
}
}
if(kunci==array[tengah]){
cout<<"data ditemukan pada elemen "<<tengah+1;
}
else{
cout<<"data tidak ditemukan";
}
}
int main(int argc, char** argv) {
int a[6]={1,2,3,4,5,7,};
int b=1,c=6,d,e,i;
cout<<"data = ";
for(i=0;i<6;i++){
cout<<a[i]<<",";
}
cout<<"\nmasukkan data yang dicari ";cin>>e;cout<<endl;
binari(a,b,c,d,e);
return 0;
}
5.Program
















Sekian Dulu ya teman-teman,semoga dapat bermanfaat. Wassalamualaikum..

Share this

Related Posts

Previous
Next Post »