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.ProgramSekian Dulu ya teman-teman,semoga dapat bermanfaat. Wassalamualaikum..