Selamat siang Pemirsa.....
Kali ini saya lanjutkan tentang Algoritma searching

Tulisan ini sebenarnya artikel lama dari blog saya yang lama dan saya pindah di lapak saya yang baru ini.
Berikut Sekilas tentang Algoritma Searching


Pencarian(searhing) merupakan proses yang fundamental dalam pengolahan data. Proses pensarian 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).
Macam Macam Algoritma Searching
     1. Pencarian sekuensial (Sequential searching)
     2. Pencarian Beruntun
     3. Pencarian Biner
     4. Interpolation Search
Namun kali ini saya akan posting tentang pencarian sequential saja,dan untuk yang lain akan saya sambung di kesempatan yang lain.
Pencarian sekuensial (Sequential searching)

·         Pengertian

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.





·         Algoritma

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 :

(1)           i ← 0

(2)           ketemu ← false

(3)           Selama (tidak ketemu) dan (i <= N) kerjakan baris 4

(4)           Jika (Data[i] = x) maka ketemu ← true, jika tidak i ← i + 1

(5)           Jika (ketemu) maka i adalah indeks dari data yang dicari, jika data tidak ditemukan 
 Untuk implementasinya saya gunakan untuk melakukan pencarian karakter yang terdapat pada ArrayList di java.

Cekidot.....

import java.util.ArrayList;
import java.io.*;
/*
*
*
* @author Nur Hidayat
*/

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){
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");
}
}

/*
*
* @param args the command line arguments
*/
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
}
}
Demikian Pemirsa postingan saya kali ini...semoga bermanfaat khususnya untuk saya pribadi dan teman teman pada umumnya.Terima kasih sampai jumpa di lain kesempatan.