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
Posting Komentar