Binary Search merupakan metode pencarian data dalam suatu kumpulan data yang prosesnya harus melalui proses sorting terlebih dahulu. jika tidak, data yang dicari tidak bisa di proses.
Contoh program :
import jeliot.io.*;
public class binarySearch {
public static void main() {
System.out.println ("Banyaknya data !!!");
// MENGINPUTKAN BANYAKNYA DATA YANG AKAN DI MASUKKAN....
int n = Input.readInt();
// MENYIMPAN DATA-DATA YANG DIMASUKKAN KEDALAM ARRAY....
int array[] = new int[n];
for (int a = 0; a < n; a++) {
array[a] = Input.readInt();
}
// PROSES PENGURUTAN DATA....
for(int b = 0; b < n-1; b++) {
for(int c = 0; c < n-1; c++) {
if(array[c] > array[c+1]) {
int temp = array[c];
array[c] = array[c+1];
array[c+1] = temp;
}
}
}
// MENAMPILKAN DATA YANG TELAH DI URUTKAN...
System.out.println ("Datat Yang Telah Di Urutkan :");
for(int b=0; b < n; b++){
System.out.print(array[b] + " ");
}
System.out.println();
// MENGKONDISIKAN AKHIR = N-1 DAN AWAL = 0
int akhir = n-1;
int awal = 0;
// MENGINPUTKAN DATA YANG AKAN DI CARI...
System.out.println ("Data Yang Dicari = ");
int search = Input.readInt();
int ditemukan = 0;
// MENCARI DATA...
while(ditemukan < 1) {
int posisi = (akhir + awal)/2;
if (array[posisi] == search) {
ditemukan = 1;
System.out.println("Ditemukan : " + search + " Pada Data Ke-" + posisi);
} else if(awal > akhir) {
System.out.println("Tidak Ditemukan " + search);
break;
}
else {
if (array[posisi] < search) {
awal = posisi + 1;
}
else {
akhir = posisi - 1;
}
}
}
}
}
Link download program
Contoh program :
import jeliot.io.*;
public class binarySearch {
public static void main() {
System.out.println ("Banyaknya data !!!");
// MENGINPUTKAN BANYAKNYA DATA YANG AKAN DI MASUKKAN....
int n = Input.readInt();
// MENYIMPAN DATA-DATA YANG DIMASUKKAN KEDALAM ARRAY....
int array[] = new int[n];
for (int a = 0; a < n; a++) {
array[a] = Input.readInt();
}
// PROSES PENGURUTAN DATA....
for(int b = 0; b < n-1; b++) {
for(int c = 0; c < n-1; c++) {
if(array[c] > array[c+1]) {
int temp = array[c];
array[c] = array[c+1];
array[c+1] = temp;
}
}
}
// MENAMPILKAN DATA YANG TELAH DI URUTKAN...
System.out.println ("Datat Yang Telah Di Urutkan :");
for(int b=0; b < n; b++){
System.out.print(array[b] + " ");
}
System.out.println();
// MENGKONDISIKAN AKHIR = N-1 DAN AWAL = 0
int akhir = n-1;
int awal = 0;
// MENGINPUTKAN DATA YANG AKAN DI CARI...
System.out.println ("Data Yang Dicari = ");
int search = Input.readInt();
int ditemukan = 0;
// MENCARI DATA...
while(ditemukan < 1) {
int posisi = (akhir + awal)/2;
if (array[posisi] == search) {
ditemukan = 1;
System.out.println("Ditemukan : " + search + " Pada Data Ke-" + posisi);
} else if(awal > akhir) {
System.out.println("Tidak Ditemukan " + search);
break;
}
else {
if (array[posisi] < search) {
awal = posisi + 1;
}
else {
akhir = posisi - 1;
}
}
}
}
}
Link download program
Tidak ada komentar:
Posting Komentar