SEQUENTIAL SEARCHING DAN IMPLEMENTASINYA PADA JAVA



     Pencarian (searhing) merupakan proses yang fundamental dalam pengolahan data. Proses pencarian adalah menemukan nilai (data) tertentu didalam sekumpulan data yang bertipe sama (baik bertipe dasar maupun bertipe bentukan).

     Sebuah algoritma pencarian dijelaskan secara luas adalah sebuah algoritma yang menerima masukan berupa sebuah masalah dan menghasilkan sebuah solusi untuk masalah tersebut yang biasanya didapat dari evaluasi beberapa kemungkinan solusi. Algoritma pencarian (searching algorithm) adalah algoritma yang menerima sebuah argumen kunci dan dengan  langkah-langkah tertentu akan mencari rekaman dengan kunci tersebut.  Setelah proses pencarian dilaksanakan, akan diperoleh salah satu dari dua kemungkinan yaitu data yang dicari ditemukan (successful) atau tidak ditemukan (unsuccessful).

Pencarian Sekuensial (Sequential searching)

     Pencarian Sekuensial (sequential searching) atau pencarian berurutan sering disebut pencarian linear merupakan metode pencarian yang paling sederhana.  Pencarian beruntun adalah proses membandingkan setiap elemen larik satu per satu secara beruntun mulai dari elemen pertama sampai elemen yang dicari ditemukan atau seluruh elemen sudah diperiksa. Pencarian beruntun terbadi dua :

1. Pencarian beruntun pada larik tidak terurut;
2. Pencarian beruntun pada larik terurut.

Pencarian berurutan menggunakan prinsip sebagai berikut :

1. Data yang ada dibandingkan satu per satu secara berurutan dengan yang dicari sampai data tersebut ditemukan atau tidak ditemukan.

2. Pada dasarnya, pencarian ini hanya melakukan pengulangan dari 1 sampai dengan jumlah data.

3. Pada setiap pengulangan, dibandingkan data ke-i dengan yang dicari.

4. Apabila sama, berarti data telah ditemukan.   Sebaliknya apabila sampai akhir pengulangan tidak ada data yang sama, berarti data tidak ada.

     Kelemahan pada kasus yang paling buruk, untuk N elemen data harus dilakukan pencarian sebanyak N kali pula. Algoritma pencarian berurutan dapat dituliskan sebagai berikut :
a. i ← 0
b. ketemu ← false
c. Selama (tidak ketemu) dan (i <= N) kerjakan baris 4
d. Jika (Data[i] = x) maka ketemu ← true, jika tidak i ← i + 1
e. Jika (ketemu) maka i adalah indeks dari data yang dicari, jika data tidak ditemukan

     Implementasi yang saya  gunakan untuk melakukan pencarian karakter yang terdapat pada ArrayList di java.

package search;
import java.util.ArrayList;
import java.io.*;

public class Search
{
            ArrayList al=new ArrayList();
            public void tambah(){  //method Untuk mengisi ArrayList
                        al.add("A");
                        al.add("B");
                        al.add("C");
                        al.add("D");
                        al.add("F");
                        al.add("G");
                        al.add("H");
                        al.add("I");
                        al.add("J");
                        al.add("K");
}

public void cetak()
{  // method untuk mengeluarkan isi dari ArrayList
            System.out.println("Isi Array :"+ al);
}

public void cari(String golek)
{  //method implementasi Algoritma Sequential
            int n=0;
            boolean ketemu=false;

for(int i=n;i<al.size();i++)
{
            if (al.get(i) ==golek){
                        ketemu=true;
                        n=i;
                                                }
}

if (ketemu==true)
            {
            System.out.println("Data Ada Di Index Ke "+n);
            }
else
            {
            System.out.println("Data Tidak Ditemukan");
            }
}

public static void main(String[] args)
{
            Search s=new Search();
            s.tambah(); //untuk mengisi ArrayList dengan Data
            s.cari("A");// untuk melakukan pencarian karakter A
}
}

Semoga informasi yang saya berikan bisa membantu anda dalam belajar dan memahami Sequantial Searching pada Java.
Terima Kasih Telah mengunjungi blog saya.

Komentar