Langsung ke konten utama

Implementasi Algoritma Sequential Searching dengan Java

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.

Komentar

Postingan populer dari blog ini

Contoh Perhitungan Algoritma Perceptron

      Melanjutkan tulisan saya sebelumnya tentang algoritma perceptron,kali ini saya akan menulis tentang conto perhitungan manual algoritma perceptron. Untuk contoh kasusnya saya menggunakan data logika AND. Cekidot.... Algoritma      Data yang kita gunakan sebagai contoh adalah data logika AND sebagai berikut: x1 x2 target 0 0 0 0 1 0 1 0 0 1 1 1       tentukan bobot awal secara acak, saya pakai contoh w1 = 0,w2 =0, learning rate = 1, bias = 0,maksimal epoh = 10. Disini saya memakai fungsi aktivasi undak biner. Epoh ke 1 Data ke satu x = {0,0}, bobot w = {0,0},b=0,target = 0 y_in = (x1*w1)+(x2*w2)+b = (0*0)+(0*0)+0 = 0 y = sign(0) = 1 karena y != target maka hitung error dan update bobot  error = target - y = 0 - 1 = -1 w1_baru = w1_lama +(learning_rate*error*x1)                = 0 ...

Contoh Perhitungan Algoritma Learning Vector Quantization

Melanjutkan tulisan saya tentang algoritma Learning Vector Quantization yang lalu, kali ini saya akan melanjutkan dengan contoh perhitungan manual. Berikut ini contoh data yang akan kita hitung. No X1 X2 X3 X4 target 1 0 1 1 0 0 2 0 0 1 1 1 3 1 1 1 1 0 4 1 0 0 1 1 pada contoh di atas, saya menggunakan 4 data sebagai data training beserta target yang bertujuan untuk mendapatkan bobot yang akan digunakan pada proses klasifikasi. Bobot awal adalah { 1, 1, 1, 0} dan { 1, 0, 1, 1} dengan learning rate 0,05 dengan fungsi pembelajaran = 0,1. Pelatihan Iterasi ke 1 1. Data ke 1 { 0, 1, 1, 0} dengan target 0, bobot = {{ 1, 1, 1, 0},{ 1, 0, 1, 1}}      - menghitung bobot untuk masing masing output :          kelas 0 = sqrt(((0-1)^2)+((1-1)^2)+((1-1)^2)+((0-...

Part 7 : Normalisasi Histogram

Menyambung tulisan saya yang sebelumnya tentang pengolahan citra khususnya histogram,kali ini saya lanjutkan tentang Normalisasi histogram.Sebelumnya saya harap agan sudah mengerti tentang histogram.Jika belum bisa di baca dulu di tulisan saya sebelumnya di sini . Normalisasi Histogram adalah menskalakan nilai piksel secara linear untuk menggunakan secara penuh jangkauan yang tersedia. Rumus :  Keterangan : n k= nilai grayscale dari piksel ke k(k = 0,1,2,3....) min = nilai grayscale terkecil yang diperoleh dari histogram max = nilai grayscale terbesar L = range nilai grayscale citra Contoh perhitungan : dari tabel di atas,nilai min adalah 2 yaitu nilai grayscale terkecil dari citra dan max adalah 5 s = 0 - 2 /5 - 2 =0 (untuk n = 0)  hasil = 0 x 7(nilai maksimal grayscale) = 0 sk = 3 - 2 /5 - 2 = 0.333  (untuk n = 3) hasil = 0.333 x 7 = 2 keterangan : 7 adalah range grayscale dari citra,dan untuk banyak kasus biasanya memakai 255. Tujuan Normalisasi...