Searching merupakan kegiatan untuk menemukan atau mencari suatu data yang ditentukan disuatu tempat, apakah sudah sesuai atau belum.Sedangakan
Searching sendiri ada beberapa metode yaitu :
1. Sequential Search: metode pencarian yang dimulai dari data elemen pertama.teknik pencarian data dimana data dicari secara urut dari depan ke belakang atau dari awal sampai akhir.
Kelebihan dari proses pencarian secara sequential ini jika data yang dicari terletak didepan, maka data akan ditemukan dengan cepat. Tetapi dibalik kelebihannya ini, teknik ini juga memiliki kekurangan
Kelebihan dari proses pencarian secara sequential ini jika data yang dicari terletak didepan, maka data akan ditemukan dengan cepat. Tetapi dibalik kelebihannya ini, teknik ini juga memiliki kekurangan
1. Jika data yang
dicari terletak dibelakang atau paling akhir, maka akan membutuhkan waktu yang
lama dalam proses pencariannya.
2. Beban komputer
akan semakin bertambah jika jumlah data dalam array sangat banyak.
Berikut contoh pengimplementasi ke dalam program java :
package javasearching;
import java.io.*;
import java.io.*;
public class JavaSearching {
public static void main(String[] args) throws IOException {
System.out.println("======================================");
System.out.println("-------Program Searching Angka--------");
System.out.println("======================================");
System.out.println("Berikutt Index Angkanya{24,25,26,27,28,29,30}");
System.out.println("Silahkan,Masukan angka yang akan di search : ");
int himpunan[] = {24, 25, 26, 27, 28, 29, 20};
int N = 7;
int r;
BufferedReader rey = new BufferedReader(new InputStreamReader(System.in));
int input = Integer.parseInt(rey.readLine());
for (r = 0; r <= N; r++) {
if (input == himpunan[r]) {
break;
}
}
System.out.println("Data yang anda cari terdapat pada index ke" + r);
System.out.println("\n");
System.out.println("======================================");
System.out.println("-Terima Kasih,Silahkan Datang kembali-");
System.out.println("======================================");
}
}
public static void main(String[] args) throws IOException {
System.out.println("======================================");
System.out.println("-------Program Searching Angka--------");
System.out.println("======================================");
System.out.println("Berikutt Index Angkanya{24,25,26,27,28,29,30}");
System.out.println("Silahkan,Masukan angka yang akan di search : ");
int himpunan[] = {24, 25, 26, 27, 28, 29, 20};
int N = 7;
int r;
BufferedReader rey = new BufferedReader(new InputStreamReader(System.in));
int input = Integer.parseInt(rey.readLine());
for (r = 0; r <= N; r++) {
if (input == himpunan[r]) {
break;
}
}
System.out.println("Data yang anda cari terdapat pada index ke" + r);
System.out.println("\n");
System.out.println("======================================");
System.out.println("-Terima Kasih,Silahkan Datang kembali-");
System.out.println("======================================");
}
}
Ket :
1. Ane disini menggunakan import io yang didalamnya terdapat importtan bufferingreder dan inputstremreder dimana 2 importn tersebut berfungsi untuk mendapatkan inputan dari keyboard.
2.Disini menggunakan fungsi for untuk proses searching,dimana data yang akan di inputkan akan dicari dalam index angka yang tersimpan pada variable "himpunan",apabila angka inputan terdapat pada index maka akan dicetak yaitu variable r,dimana jika variable r kurang dari sama dengan N maka proses akan di lanjutkan.
2. Binary search adalah algoritma pencarian untuk data yang terurut. Pencarian dilakukan dengan cara menebak apakah data yang dicari berada ditengah-tengah data, kemudian membandingkan data yang dicari dengan data yang ada ditengah.
Bila data yang ditengah sama dengan data yang dicari, berarti data ditemukan. Namun, bila data yang ditengah lebih besar dari data yang dicari, maka dapat dipastikan bahwa data yang dicari kemungkinan berada disebelah kiri dari data tengah dan data disebelah kanan data tengah dapat diabai.
Berikut contoh progran search binary dalam java :
package javasearching;
import javax.swing.JOptionPane;
public class binarySearcing {
public static void main(String[]args){
int himpunan[]={3,4,5,6,7,8,9,10};
String key=JOptionPane.showInputDialog("Data yang dicari : ");
int keyint=Integer.parseInt(key);
boolean ketemu=false;
int indexatas=0;
int indexbawah=himpunan.length-1;
int indextengah=-1;
while(!ketemu && indexatas<indexbawah){
indextengah=(indexatas+indexbawah)/2;
if(himpunan[indextengah]==keyint){
ketemu=true;
}else if(keyint<himpunan[indextengah]){
indexbawah=indextengah-1;
}else{
indexatas=indextengah+1;
}
}String pesan=ketemu? "data ditemukkan pada index ke-"+indextengah :"data tdk ditemukkan";
JOptionPane.showMessageDialog(null,pesan);
}
import javax.swing.JOptionPane;
public class binarySearcing {
public static void main(String[]args){
int himpunan[]={3,4,5,6,7,8,9,10};
String key=JOptionPane.showInputDialog("Data yang dicari : ");
int keyint=Integer.parseInt(key);
boolean ketemu=false;
int indexatas=0;
int indexbawah=himpunan.length-1;
int indextengah=-1;
while(!ketemu && indexatas<indexbawah){
indextengah=(indexatas+indexbawah)/2;
if(himpunan[indextengah]==keyint){
ketemu=true;
}else if(keyint<himpunan[indextengah]){
indexbawah=indextengah-1;
}else{
indexatas=indextengah+1;
}
}String pesan=ketemu? "data ditemukkan pada index ke-"+indextengah :"data tdk ditemukkan";
JOptionPane.showMessageDialog(null,pesan);
}
Ket :
1. Dalam program ini ane menggunakan fungsi JoptionPane untuk inputannya maupun outputnya dimana data indek tersimpan pada variable "himpunan" yang dimana dari variable tersebut akan ditentukan batasAtas dan batasBawah.
2. Untuk logika programnya menggunakan fungsi while yang awalnya menentukan batas tengah denganmenjumlah batas bawah dan batas atas daserta dilanjutkan keadaan if diman apabila inputan dicari ada dalam variable himpunan serta sama dengan nilai tengah maka bernilai benar akan di cetak dan apabila tidak akan berniali false dan muncul pesan data tidak di temukan.
Berikut Outputnya Bernilai True:
Output bernilai salah(false) :
Berikut Outputnya Bernilai True:














+ komentar + 2 komentar
Maaf, kalau untuk yang Binary Search apa bisa seumpama pakai import io?
bisa aja kok,tp harus ada perubahan dikit source kodenya,.
Posting Komentar