Definisi dan Jenis - jenis Searching
1. Definisi
Searching
Pencarian (Searching) merupakan suatu proses
yang penting dalam pengelolaan data atau nilai. Proses pencarian adalah
menemukan suatu data atau nilai tertentu dalam kumpulan data yang
memiliki tipe yang sama baik tipe dasar atau tipe bentuk. Data atau nilai yang
dimaksud disini adalah data yang disimpan secara temporer dalam memori utama
atau disimpan secara permanen didalam memori sekunder contohnya tape atau disk.
Didalam memori utama, struktur penyimpanan data yang umum adalah berupa larik
atau tabel (array), sedangkan didalam memori sekunder berupa file atau arsip.
2. Jenis –
jenis Searching
- Algoritma Sequential Search
Suatu teknik pencarian data dalam array (1
dimensi) yang akan menelusuri semua elemen array dari awal hingga yang paling
akhir, dimana data-data tidak perlu diurutkan terlebih dahulu.
·
Kelebihan Sequential Search
ü Proses pencarian
menggunakan Sequential Search cenderung lebih cepat dan efisien untuk jumlah
data yang terbatas atau tidak terlalu banyak.
ü Algoritma yang digunakan
juga lebih sederhana atau tidak terlalu rumit.
·
Kekurangan sequential search
ü Kekurangan yang paling mendasar Sequential Search adalah kurang efisien dan kurang cepat untuk mencari suatu data dalam jumlah yang besar.
Contoh kodingan sequential search
package semester2;
public class SequentialSearch {
private int [] angkaKu = new int[]{3, 6, 9, 7, 10, 4};
private void show(){
for (int index : angkaKu) {
System.out.print(index + " ");
}
System.out.println();
}
private void search(int angka){
int x = 0;
boolean hayoloh = false;
for (int i = x; i < angkaKu.length; i++) {
if(angka == angkaKu[i]){
hayoloh = true;
x = i;
}
}
if(hayoloh){
System.out.println("Data berada pada urutan ke -
"+(x+1));
} else {
System.out.println("Data Tidak Ditemukan");
}
}
public static void main(String[] args) {
SequentialSearch data = new SequentialSearch();
//
Untuk menampilkan data pada Array
data.show();
//
Melakukan pencarian data
data.search(7);
}
}
- Algoritma Binary Search
Algoritma binary
search atau pencarian biner merupakan metode pencarian pada data terurut yang
paling efesien. Metode pencarian biner digunakan untuk kebutuhan pencarian
dengan waktu yang cepat.
Prinsip kerja pencarian dengan membagi data atas dua bagian mendasari dalam
metode ini. Data yang tersimpan di dalam larik harus sudah terurut (dari yang
kecil ke yang besar).
·
Kelebihan Binary Search
ü Efisien dan lebih cepat jika mencari suatu nilai dalam
jumlah data yang besar. Karena data-data tersebut sudah diurutkan terlebih
dahulu.
·
Kekurangan Binary Search
ü Kekurangan Binary Search yang pertama adalah data
harus diurutkan terlebih dahulu agar proses pencarian bisa berjalan dengan baik.
ü Kekurangan kedua adalah algoritma Binary Search lebih rumit daripada Sequential Search.
Contoh kodingan Binary
Search
package semester2;
public class BinarySearch {
private final int [] dataAngka = {5, 9, 12, 15, 17, 23, 27, 8, 73, 55, 13, 44, 69};
private void showOff(){
for (int i : dataAngka) {
System.out.print(i+" ");
}
System.out.println();
}
public String pencarianBinary(int key) {
int akhir = 0;
int awal = dataAngka.length - 1;
while (awal >= akhir) {
int tengah = (akhir + awal) / 2;
if (key < dataAngka[tengah]){
awal = tengah - 1;
} else if (key == dataAngka[tengah]){
return "Nomor "+key+" Berada Pada Urutan Ke - "+(tengah+1);
}else{
akhir = tengah + 1;
}
}
return "Data Tidak Ditemukan";
}
public static void main(String args []){
BinarySearch obj = new BinarySearch();
obj.showOff();
System.out.println(obj.pencarianBinary(27));
}
}
Komentar
Posting Komentar