Translate

Monday, November 12, 2018

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 : Implementasi Algoritma Sorting pada Pemrograman Java

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

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

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.

Copyrighted.com Registered & Protected