Saturday, June 5, 2010

Searching

Searching





Mencari data dengan cara menelusuri tempat penyimpanan data tersebut.



Penyimpanan data : dalam array atau linked list.



Metode searching :


  • Sequential Search

  • Binary Search

  • Fibonacci Search

  • Interpolation Search








Array dan Linked List adalah 2 struktur data dasar yang digunakan untuk menyimpan informasi. Kita dapat melakukan pencarian, memasukkan/ menyisipkan dan menghapus record di dalam database, yang didasarkan

pada suatu key value.



Pencarian Sekuensial (Sequential Search)

Data yang dicari dibandingkan dengan seluruh elemen array.

Dapat digunakan baik pada data terurut maupun tidak.

Kelemahan :

Waktu proses lama bila data yang dicari tidak ada atau terletak pada elemen terakhir array.



Pencarian Biner (Binary Search)

Algoritma pencarian biner adalah algoritma untuk mencari sebuah nilai pada tabel teurut dengan cara menghilangkan setengah data pada setiap langkah. Algoritma ini mencari nilai yang dicari dengan tiga langkah yaitu :

• Mencari nilai tengah dari tabel (median)

• Melakukan perbandingan nilai tengah dengan nilai yang dicari untuk menentukan apakah nilai yang dicari ada pada sebelum atau setelah nilai tengah

• Mencari setengah sisanya dengan cara yang sama.



Pencarian dilakukan dengan cara membandingkan data yang dicari dengan nilai yang berada di “tengah” array tsb.



Diterapkan pada data yang sudah terurut baik ascending  atau  descending.



Misal pencarian dilakukan pada array A dg n elemen Algoritma :

1. Input X (data yg dicari). Lo = 0; Hi = n-1; Flag = 0

2. A. Selama Lo <= Hi dan Flag = 0 :

    Hitung Mid = (Lo + Hi) / 2

    Bila X = A[Mid], Isi Flag = 1

    Bila X < A[Mid], Isi Hi = Mid-1, kembali ke no.2

    Bila X > A[Mid], Isi Lo = Mid+1, kembali ke no.2

    B. Bila Lo > Hi, atau Flag = 1 ke no. 3

3. Proses pencarian selesai.

    Cetak “ADA” bila Flag = 1

    Cetak “TIDAK ADA” bila Flag = 0


No comments:

Post a Comment