13 Des 2012

Makalah Searching Linier Sequential (Pencarian Berurutan)

. 13 Des 2012


Bab 1
Pendahuluan

1.1  Latar Belakang

Dalam ilmu logika dan algoritma sering kali menemui masalah tentang bagaimana mendapatkan suatu data dalam kumpulan data. Dalam keperluannya untuk mencari data, terdapat beragam algoritma pencarian(search algoritm). Algoritma sendiri merupakan “algoritma yang menerima sebuah argumen ‘a’ dan mencoba untuk menemukan sebuah rekaman yang memiliki kunci ‘a’. Pencarian dapat dilakukan terhadap data yang secara keseluruhan berada dalam memory komputer ataupun yang berada dalam penyimpanan ekternal (hardisk). Pencarian yang dilakukan terhadap data yang berada dalam komputer di kenal dengan pencarian internal sedangkan pencarian yang dilakukan pada media penyimpanan eksternal disebut pencarian ekternal. Pencarian internal meliputi Pencarian sekuensial (sequential search) dan pencarian biner (binary search).

1.2 Rumusan Masalah

1.      Pengertian Searching Linier sequential
2.      Bagaimana algoritma pencarian berurutan itu dan mengaplikaskannya  pada sebuah program.

1.3 Tujuan dan manfaat

1.      Mengkaji metode Searching Linier sequential sebagai program dalam menyelesaikan pencarian   berurutan.
2.      Penggunaan Metode Searching Linier Sequential dalam  menyelesaikan masalah-masalah yang ada.








Bab 2
Isi

2.1     Pembahasan

Sequential Search 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. Algoritma pencarian secara linear digunakan untuk mencari sebuah nilai pada tabel sembarang. Ada dua macam cara pencarian pada tabel. Algoritma ini mempunyai dua jenis metode yaitu dengan boolean dan tanpa boolean. Algoritma pencairan secara linear melakukan pengulangan sebanyak 1 kali untuk kasus terbaik (value sama dengan elemen pertama dalam tabel) dan Nmax kali untuk kasus terburuk. Sehingga algoritma ini mempunyai kompleksitas algoritma O(n).

Proses pencarian data dengan metode ini cukup sederhana dan mudah dipahami. Dalam pencarian ini proses dilakukan dengan cara mencocokan data yang akan dicari dengan semua data yang ada dalam kelompok data. Proses pencarian data dilakukan dengan cara mencocokan data yang akan dicari dengan semua data yang ada dalam kelompok data. Proses pencocokan data dilakukan secara berurut satu demi satu dimulai dari data ke-1 hingga data pada ururtan terakhir. Jika data yang dicari mempunyai harga yang sama dengan data yang ada dalam kelompok data, berarti data telah ditemukan. Tetapi jika data yang dicari tidak ada yang cocok dengan data-data dalam sekelompok data, berarti data tersebut tidak ada dalam sekelompok data. Selanjutnya kita tinggal menampilkan hasil yang diperoleh tersebut.

Ilustrasi Metode Linier Search :

Misalnya terdapat array satu dimensi sebagai berikut:
     0                1              2               3              4                5                6                   7            index
8
10
12
6
7
1
50
100
 Value
 
              Kemudian program akan meminta data yang akan dicari, misalnya 6 (x = 6).
Iterasi :
            6 = 8 (tidak!)
            6 = 10 (tidak!)
            6 = 6 (Ya!) => output : “Ada” pada index ke-2
Jika sampai data terakhir tidak ditemukan data yang sama maka output : “ data yang dicari tidak ada”.

Best case : jika data yang dicari terletak di depan sehingga waktu yang dibutuhkan minimal.
Worst case : jika data yang dicari terletak di akhir sehingga waktu yang dibutuhkan maksimal.
Contoh :
            DATA = 5 6 9 2 8 1 7 4
            bestcase ketika x = 5
            worstcase ketika x = 4
            *x = key/data yang dicari

Contoh Program dalam Bahasa Pemograman Pascal

program search_aditya;
uses crt;
const
  nmin = 1;
  nmax = 100;
type
  arrint = array [nmin..nmax] of integer;
var
  x      : integer;
  tabint : arrint;
  n,i    : integer;
  indeks : integer;
  function seqsearch1(xx : integer): integer;
  var i : integer;
  begin
    i := 1;
    while ((i xx)) do
      i:=i+1;
      if tabint[i] = xx then
        seqsearch1:=i
        else
        seqsearch1:=0;
  end;

begin
  clrscr;
  write('input banyaknya index array = '); readln(n);
  for i:=1 to n do
    begin
      write('Tabint[',i,'] = '); readln(tabint[i]);
    end;
  write('Nilai yang dicari = '); readln(x);
  indeks:=seqsearch1(x);
  if indeks <> 0 then
    write(x,' ditemukan pada indeks ke-',indeks)
    else
    write(x,' tidak ditemukan');
  writeln;
    readln;
end.

Tanpilan ketika di jalankan sbb :






Bab 3
Penutup

Kami ucapkan puji syukur kehadirat Tuhan Yang Maha Esa, karena berkat limpahan rahmat, petunjuk dan karunia-NYA kami dapat menyelesaikan makalah ini dengan baik.
Kami berharap makalah yang kami susun dapat bermanfaat bagi  kita semua dan tidak lupa kami mengucapkan terima kasih kepada Ibu Ulfa sebagai Dosen Struktur Data dan teman-teman S3Q. Kami mohon maaf apabila ada yang tidak berkenan dalam makalah ini.

3.1 Kesimpulan

Pencarian berurutan menggunakan prinsip sebagai berikut : data yang ada dibandingkan satu per satu secara berurutan dengan yang dicari sampai data tersebut ditemukan atau tidak ditemukan.

Pada dasarnya, pencarian ini hanya melakukan pengulangan 1 kali yaitu dari  index awal (i) sampai dengan jumlah data terakhir (N).  Pada setiap pengulangan, dibandingkan data ke-i dengan yang dicari (x).  Apabila sama, berarti data telah ditemukan.   Sebaliknya apabila sampai akhir pengulangan tidak ada data yang sama, berarti data tidak ditemukan.  Pada kasus yang paling buruk, untuk N elemen data harus dilakukan pencarian sebanyak N kali pula.


3.2 Saran

Dari hasil Laporan makalah logika dan algoritma mengenai Searching Linier Sequential maka dapat kami berikan masukan atau saran – saran sebagai berikut:
Untuk menggunakan program Searching Linier Sequential sebaiknya mencari indeks array yang terletak didepan atau pertengahan karena apabila kita mencari data yang terletak dibelakang akan ,membutuhkan waktu yang lama.
Contohnya, untuk mencari data sebanyak 4.294.967.296 (4 milyar) memiliki rata-rata perbandingan sebanyak 2 milyar, berbeda dengan Algoritma Binary Search yang hanya membutuhkan perbandingan 32 kali saja

:)) ;)) ;;) :D ;) :p :(( :) :( :X =(( :-o :-/ :-* :| 8-} :)] ~x( :-t b-( :-L x( =))

Posting Komentar

Silakan Tinggalkan pesan mengenai Blog ini, Tapi jangan Nyepam ya...Makasi atas Kunjunganya :)

Baca Juga Yang Ini :) :

 
Copyright 2008 New World Funday is proudly powered by Blogger.com | Template by o-om.com