Binery search tanpa menggunakan subrutin
package binarysearch;
public class BinarySearch {
public static void main(String[] args) {
System.out.println(" SELAMAT DATANG dalam PROGRAM BINARY SEARCH");
System.out.println(" ----------------============--------------");
int[] data = {5, 3, 7, 0, 9, 11, 2};
for (int i = 0; i < data.length; i++) {
System.out.print(data[i] + " ");
}
System.out.println("");
for (int i = 0; i < data.length - 1; i++) { // SORTING
for (int j = 0; j < data.length - 1; j++) { // SORTING
if (true) { // SORTING
int temp = data[j]; // SORTING
data[j] = data[j + 1]; // SORTING
data[j + 1] = temp; // SORTING
}
}
}
for (int i = 0; i < data.length; i++) {
System.out.print(data[i] + " ");
}
System.out.println("");
int awal = 0, akhir = data.length, t = 0, cari = 9, indeks = 0;
for (int i = 0; i < data.length; i++) {
t = (awal + akhir) / 2;
System.out.println("Nilai tengahnya sekarang adalah " + data[t]);
if (cari == data[t]) {
indeks = t;
break;}
else if (cari > data[t]) {
awal = t;}
else {
akhir = t;}
}
System.out.println("Angka " + cari + " ada di indeks ke-" + indeks);
}
}
BINERY SEARCH JIKA MENGGUNAKAN SUBRUTIN
package binarysearch;
public class subrutinbinerysearch_1 {
public static void main(String[] args) {
int[] x = {1, 2, 5, 6, 8,9,10,17,20};
System.out.println(" ");
int hasil = cari(9, x);
if (hasil == -1) {
System.out.println(" Data yang anda cari tidak di TEMUKAN");
} else {
System.out.println(" Data yang anda cari ada di indeks ke - " + hasil);
}
// 1. BEST CASE --> terjadi ketika yang di cari ada di tengan . kalau di linear yang di cari ada d awal
// 2. WORST CASE --> binery terjadi ketika yang di cari ada di awal atau di akhir , linear terjadi ketika yang di cari ada di akhir
}
public static int cari(int BilDiCari, int[] p_x) {
int awal = 0, akhir = p_x.length, t = 0, indeks = -1;
for (int i = 0; i < p_x.length; i++) {
t = (awal + akhir) / 2;
if (BilDiCari == p_x[t]) {
indeks = t;
break;
} else if (BilDiCari > p_x[t]) {
awal = t;
} else if (BilDiCari < p_x[t]) {
akhir = t;
}
}
return indeks;
}
}
package binarysearch;
public class BinarySearch {
public static void main(String[] args) {
System.out.println(" SELAMAT DATANG dalam PROGRAM BINARY SEARCH");
System.out.println(" ----------------============--------------");
int[] data = {5, 3, 7, 0, 9, 11, 2};
for (int i = 0; i < data.length; i++) {
System.out.print(data[i] + " ");
}
System.out.println("");
for (int i = 0; i < data.length - 1; i++) { // SORTING
for (int j = 0; j < data.length - 1; j++) { // SORTING
if (true) { // SORTING
int temp = data[j]; // SORTING
data[j] = data[j + 1]; // SORTING
data[j + 1] = temp; // SORTING
}
}
}
for (int i = 0; i < data.length; i++) {
System.out.print(data[i] + " ");
}
System.out.println("");
int awal = 0, akhir = data.length, t = 0, cari = 9, indeks = 0;
for (int i = 0; i < data.length; i++) {
t = (awal + akhir) / 2;
System.out.println("Nilai tengahnya sekarang adalah " + data[t]);
if (cari == data[t]) {
indeks = t;
break;}
else if (cari > data[t]) {
awal = t;}
else {
akhir = t;}
}
System.out.println("Angka " + cari + " ada di indeks ke-" + indeks);
}
}
BINERY SEARCH JIKA MENGGUNAKAN SUBRUTIN
package binarysearch;
public class subrutinbinerysearch_1 {
public static void main(String[] args) {
int[] x = {1, 2, 5, 6, 8,9,10,17,20};
System.out.println(" ");
int hasil = cari(9, x);
if (hasil == -1) {
System.out.println(" Data yang anda cari tidak di TEMUKAN");
} else {
System.out.println(" Data yang anda cari ada di indeks ke - " + hasil);
}
// 1. BEST CASE --> terjadi ketika yang di cari ada di tengan . kalau di linear yang di cari ada d awal
// 2. WORST CASE --> binery terjadi ketika yang di cari ada di awal atau di akhir , linear terjadi ketika yang di cari ada di akhir
}
public static int cari(int BilDiCari, int[] p_x) {
int awal = 0, akhir = p_x.length, t = 0, indeks = -1;
for (int i = 0; i < p_x.length; i++) {
t = (awal + akhir) / 2;
if (BilDiCari == p_x[t]) {
indeks = t;
break;
} else if (BilDiCari > p_x[t]) {
awal = t;
} else if (BilDiCari < p_x[t]) {
akhir = t;
}
}
return indeks;
}
}
Tidak ada komentar:
Posting Komentar