Implementasi Algoritma Searching pada Pemrograman Java
Apa itu Algoritma Searching?
Dalam melakukan pencarian atau searching biasanya kita menggunakan search engine sebagai alat bantu dalam pencarian suatu situs yang belum kita ketahui alamatnya. Search engine adalah sebuah alat (web) yang bisa mencari alamat atau links dari situs lain.
Ada berbagai macam search engine yang bisa digunakan dalam melakukan pencarian atau searcing, seperti : yahoo, google, altavista, lycos, astaga, msn, dan lain sebagainya.
Pencarian atau searching merupakan proses yang sangat penting dalam pengolahan data. Proses pencarian adalah menemukan nilai(data) tertentu pada sekumpulan data yang bertipe sama.
Algoritma pencarian atau searching algorithm merupakan algoritma yang menerima sebuah kata kunci atau keyword dan dengan langkah-langkah tertentu akan mencari rekaman dengan kata kunci tersebut. Setelah proses pencarian dilakukan, akan diperoleh salah satu dari dua kemungkinan, yaitu data yang dicari ditemukan atau tidak ditemukan.
BACA JUGA
Macam-Macam Algoritma Pencarian(Searching)
Algoritma Sequential Search
Sequential searching atau pencarian berurutan atau sering disebut juga sebagai pencarian linear merupakan metode pencarian yang paling sederhana. Pencarian linier adalah proses yang membandingkan setiap elemen larik satu per satu secara beruntun, mulai dari elemen pertama sampai elemen yang dicari ditemukan atau seluruh elemen sudah diperiksa.
Contoh Program Algoritma Sequential Search
Source Code
package com.community.java; /** * @author Akira */ public class ContohSequentialSearch { private String [] allData = new String[]{"A", "B", "C", "D", "E", "F"}; private void tampilkanData(){ for (String data : allData) { System.out.print(data + " "); } System.out.println(); } private void searching(String karakter){ int x = 0; boolean ketemu = false; for (int i = x; i < allData.length; i++) { if(karakter.equals(allData[i])){ ketemu = true; x = i; } } if(ketemu){ System.out.println("Data berada pada urutan ke - "+(x+1)); } else { System.out.println("Data Tidak Ditemukan"); } } public static void main(String[] args) { ContohSequentialSearch obj = new ContohSequentialSearch(); // Untuk menampilkan data pada Array obj.tampilkanData(); // Melakukan pencarian data obj.searching("C"); } }
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).
Kekurangan Algoritma Binary Search
Harus melakukan pengurutan data terlebih dahulu sebelum melakukan pencarian. Seperti menggunakan Algoritma Bubble Sort, Selection Sort, Insertion Sort.
Contoh Program Algoritma Binary Search
Source Code
package com.community.java; /** * * @author Akira */ public class ContohBinarySearch { private final int [] data = {5, 9, 12, 15, 17, 23, 27, 38, 42, 54, 64, 78, 90}; private void tampilData(){ for (int i : data) { System.out.print(i+" "); } System.out.println(); } public String pencarianBinary(int key) { int bawah = 0; int atas = data.length - 1; while (atas >= bawah) { int tengah = (bawah + atas) / 2; if (key < data[tengah]){ atas = tengah - 1; } else if (key == data[tengah]){ return "Nomor "+key+" Berada Pada Urutan Ke - "+(tengah+1); }else{ bawah = tengah + 1; } } return "Data Tidak Ditemukan"; } public static void main(String args []){ ContohBinarySearch obj = new ContohBinarySearch(); obj.tampilData(); System.out.println(obj.pencarianBinary(8)); } }
Sekian Pembahasan Tentang Implemantasi Algoritma Searching (Sequential Search dan Binary Search) pada pemrograman java. Semoga bermanfaat.
mantap ini
BalasHapusmakasih..
HapusKeren bgt unch
BalasHapusmakasih gan..
HapusAlhamdulillah dapat ilmu
BalasHapusAben dan ipen mantap sekali
BalasHapusmakasih gan..
Hapus