12.02

Mencari Bilangan Binary Rekursif

Source code disini saya menggunakan bahasa pemrograman JAVA

import javax.swing.JOptionPane;

public class BinarySearchRekursif {
private static int search(int key, int[] dt, int idxLeft, int idxRight) {
int idxMid = idxLeft + (idxRight - idxLeft) / 2;
if(idxLeft > idxRight) {
return -1;
} else if(key == dt[idxMid]) {
return idxMid;
} else if(key < dt[idxMid]){
return search(key, dt , idxLeft, idxMid - 1);
} else {
return search(key, dt, idxMid + 1, idxRight);
}
}

public static void main(String args[]) {
int [] data = {2, 5, 8, 10, 14, 32, 35, 41, 67, 88, 90, 101, 109};
String keyStr = JOptionPane.showInputDialog("Data yang dicari:");

int keyInt = Integer.parseInt(keyStr);
int hasil = search(keyInt, data, 0, data.length - 1);

String pesan = hasil >= 0 ? "Data ditemukan pada index: " + hasil :
"Data tidak ditemukan";
JOptionPane.showMessageDialog(null, pesan);
}
}

3 komentar:

IT Blog mengatakan...

cara compilenya giaman y??

Anonim mengatakan...

coba

Anonim mengatakan...

kok gk jadi??

knp y??