Berikut adalah contoh programnya :
public class BinarySearch {
static int[]sort(int[]data){
int temp=0;
for(int i=0;i<data.length;i++){
for(int j=i+1;j<data.length;j++){
if(data[j] < data[i]){
temp=data[j];
data[j]=data[i];
data[i]=temp;
}
}
System.out.println("data index ke ["+i+"] = "+data[i]);
}
return data;
}
static int binarySearch(int[]arrNilai, int cari){
int data[]=sort(arrNilai);
int BBawah=0;
int BAtas=data.length-1;
int BTengah=0;
boolean ketemu=false;
while(!ketemu){
BTengah=(BBawah+BAtas)/2;
if(BBawah>BAtas){
System.out.println(cari+" tidak ditemukan");
break;
}else{
if(cari==data[BTengah]){
System.out.println(cari+" ditemukan pada index ke ["+BTengah+"]");
ketemu=true;
}else if(cari < data[BTengah]){
BAtas=BTengah-1;
}else if(cari > data[BTengah]){
BBawah=BTengah+1;
}
}
}
return BTengah;
}
public static void main(String[]args){
int data[]={11,2,13,43,50,16,7,18,19,10};
binarySearch(data,13);
}
}
Output :
data index ke [1] = 7
data index ke [2] = 10
data index ke [3] = 11
data index ke [4] = 13
data index ke [5] = 16
data index ke [6] = 18
data index ke [7] = 19
data index ke [8] = 43
data index ke [9] = 50
13 ditemukan pada index ke [4]
0 Komentar
Penulisan markup di komentar