TEKHNIK SEARCHING

TEKHNIK SEARCHING– teknik pencarian

Tehnik Pencarian :
1. Tehnik Pencarian Tunggal :
a. Tehnik Sequential Search / Linier Search
b. Tehnik Binary Search
2. Tehnik Pencarian Nilai MAXMIN :
a. Tehnik StraitMAXMIN
b. Tehnik D and C

 

1.Tehnik Pencarian Tunggal :

a. Linear/Sequential Search ( Untuk data yg belum terurut / yg sudah terurut )

Pencarian yg dimulai dari record-1 diteruskan ke
record selanjutnya yaitu record-2, ke-3,…, sampai
diperoleh isi record sama dengan informasi yg
dicari
Algoritma :
1. Tentukan I = 1
2. Ketika Nilai (I) <> X Maka Tambahkan I = I +1
3. Ulangi langkah No. 2 sampai Nilai(I) = X
4.Jika Nilai (I) = N+1 Maka Cetak “Pencarian Gagal” selain itu Cetak “ Pencarian Sukses “

b. Binary Search ( Untuk data yg sudah terurut )
Digunakan mencari sebuah data pd himp.data-data yg tersusun secara urut, yaitu data yg telah diurutkan dr besar ke kecil/sebaliknya. Proses dilaksanakan pertama kali pd bgn tengah dr elemen himpunan, jk data yg dicari ternyata < elemen bagian atasnya, maka pencarian dilakukan dr bagian tengah ke bawah.

Algoritma :
1. Low = 1 , High = N
2. Ketika Low <= High Maka kerjakan langkah No .3, Jika tidak Maka kerjakan langkah No.7
3. Tentukan Nilai Tengah dengan rumus
mid = ( Low + High ) Div 2
4. Jika X < Nil. Tengah Maka High = Mid –1
5. Jika X > Nil. Tengah Maka Low = Mid +1
6. Jika X = Nil. Tengah Maka Nil. Tengah = Nil. Yg dicari
7. Jika X > High Maka Pencarian GAGAL

2. Tehnik Pencarian MAXMIN
Searcing dengan Tehnik STRAITMAXMIN
Menentukan / mencari elemen max & min. Pada Himpunan yg berbentuk array linear. Waktu tempuh/time complexity yg digunakan untuk menyelesaikan pencarian hingga mendapatkan solusi yg optimal.

SEARCHING ARRAY

SEARCHING ARRAY – sequential search

Contoh :

Array :

int a[5] = {0,3,6,10,1} (index array pada bahasa c dimulai dari index ke 0 !!!)

jika kita ingin mencari bilangan 6 dalam array tersebut, maka proses yang terjadi kita mencari

  1. dari array index ke-0, yaitu 0, dicocokan dengan bilangan yang akan dicari, jika tidak sama, maka mencari ke index berikutnya
  2. pada array index ke-1, juga bukan bilangan yang dicari, maka kita mencari lagi pada index berikutnya
  3. pada array index ke-2, ternyata bilangan yang kita cari ada ditemukan, maka kita keluar dari looping pencarian

contoh source

:so 

output

Untitled

 

BINNARY SEARCH

pada metode pencarian ini, data harus diurutkan terlebih dahulu. Pada metode pencarian ini, data dibagi menjadi dua bagian (secara logika), untuk setiap tahap pencarian

Algoritma binary search :

  1. Data diambil dari posisi 1 sampai posisi akhir N
  2. Kemudian cari posisi data tengah dengan rumus: (posisi awal + posisi akhir) / 2
  3. Kemudian data yang dicari dibandingkan dengan data yang di tengah, apakah sama atau lebih kecil, atau lebih besar?
  4. Jika lebih besar, maka proses pencarian dicari dengan posisi awal adalah posisi tengah + 1
  5. Jika lebih kecil, maka proses pencarian dicari dengan posisi akhir adalah posisi tengah – 1
  6. Jika data sama, berarti ketemu.Contoh source binary search :

SO1

OUTPUT

SO2

Interpolation search

yaitu merupakan salah satu metode pencarian yang dapat digunakan. Seperti pada binary search, data yang harus diurutkan terlebih dahulu, sebelum dapat dilakukan pencarian dengan metode ini. Pada metode pencarian ini, kita mencoba menebak letak data yang kita cari, dengan perhitungan

  • Jika data[posisi] > data yg dicari, high = pos – 1
  • Jika data[posisi] < data yg dicari, low = pos + 1

Contoh source code interpolation search :

so3

output

s04