CODING BINARY SEARCH DENGAN BAHASA JAVA
Binary Search merupakan sebuah teknik pencarian data dengan cara berulang kali membagi separuh dari jumlah data yang dicari sampai sehingga memperkecil lokasi pencarian menjadi satu data. Dengan teknik ini kita akan membuang setengah dari jumlah data. Apabila ditemukan kecocokan data maka program akan mengembalikan output, jika tidak pencarian akan terus berlanjut hingga akhir dari pembagian jumlah data tersebut. Algotihma ini biasanya banyak digunakan untuk mencari di program dengan jumlah data yang banyak, dimana kompleksitas dari algorithma ini adalah Ο(log n) di mana n adalah jumlah item. Pada saat menggunakan binary search, data yang berada di dalam array harus diurutkan terlebih dahulu. Sehingga binary search ini menggunakan teknik sorting terlebih dahulu, kemudian teknik searching.
Berikut adalah coding program binary search dengan bahasa java :
package binary.search;
/**
*
*
@author UI PC
*/
public class BinarySearch {
public static void main(String[] args) {
int angka[] = {1, 2, 5, 7, 8, 9, 12};//deret angka yang sudah terurut
int kunci = 7;//key atau kunci yang akan di cari
int index = angka.length / 2;
boolean ketemu = false;
int tengah = index;
while (index >= 0 && index < angka.length &&
ketemu == false) {
if (kunci == angka[index]) {
System.out.println("Data
ditemukan pada index ke-" + index);
ketemu = true;
} else {
if (kunci < angka[tengah]) {
index--;
} else {
index++;
}
}
}
if (ketemu == false) {
System.out.println("Data tidak ditemukan");
}
}
}
Output program di atas jika di run adalah sebagai berikut :