Teknik Searching

Teknik Searching

Berikut adalah pembahasan mengenai teknik searching logika dan alghoritma, adapun dibawah ini merupakan slide dari power point yang UttyID sudah unggah ke Web, dan menampilkannya pada postingan blog UttyID.


A. Pendahuluan

Sebagian besar aplikasi tingkat pengguna, memerlukan setidaknya beberapa bentuk dasar dari teknik searching. Bahkan jika hanya sebagian kecil dari solusi secara keseluruhan, hal ini sering bisa sangat memakan waktu dan juga membuat frustrasi.

Teknik Searching adalah praktek umum untuk mengembangkan solusi pada setiap aplikasi penggunaan, guna untuk menghemat waktu, tapi menciptakan solusi generik akan selalu membantu lebih di masa depan. C ++ standar perpustakaan memiliki beberapa kelas yang sering dapat membantu dengan fungsi sederhana. Namun, tidak semua fungsi ini intuitif dan dapat menyebabkan ambiguitas untuk masalah sederhana.

B. Pengertian Teknik Searching

Merupakan suatu proses pencarian data pada sejumlah data yang ada. Setelah proses pencarian dilaksanakan, akan diperoleh salah satu dari dua kemungkinan, yaitu data yang dicari ditemukan (successful) dan tidak ditemukan (unsuccessful).

Terdapat 2 bagian dalam Teknik Searching, Yaitu :
  • Pencarian Sekuensial (Sequential Search
  • Pencarian Biner (Binary Search). 
  • Pencarian Interpolasi (Interpolasi Search)
Perbedaan dari ketiga teknik ini terletak pada keadaan data :
  • Pencarian sekuensial digunakan apabila data dalam keadaan acak atau tidak terurut. 
  • Pencarian biner digunakan pada data yang sudah dalam keadaan urut. 
  • Pencarian biner digunakan dengan perkiraan letak data.
1. Pencarian Berurutan (Sequential Searching)

Merupakan metode pencarian yang paling sederhana. 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.
  • Kemungkinan terbaik (best case) adalah jika data yang dicari terletak di indeks array terdepan (elemen array pertama) sehingga waktu yang dibutuhkan untuk pencarian data sangat sebentar (minimal). 
  • Kemungkinan terburuk (worst case) adalah jika data yang dicari terletak di indeks array terakhir (elemen array terakhir) sehingga waktu yang dibutuhkan untuk pencarian data sangat lama (maksimal).
Contoh Sequential Searching sebagai berikut :

Mencari posisi data dengan nilai 3, key =3

Sequential Searching

Data[4]=3 sama dengan key=3 maka data ditemukan dan diberikan nilai pengembalian i (posisi) dan proses dihentikan.
Contoh Kasus Ilustrasi Sequential Searching dalam bahasa pemograman Pascal :

Sequential Searching Pascal

2. Pencarian Biner (Binary Search)

Salah satu syarat agar pencarian biner dapat dilakukan adalah data sudah dalam keadaan urut. Dengan kata lain, apabila data belum dalam keadaan urut, pencarian biner tidak dapat dilakukan. 
Contoh : saat ingin mencari suatu kata dalam kamus 
Prinsip dari pencarian biner dapat dijelaskan sebagai berikut : 
  • Data diambil dari posisi 1 sampai posisi akhir N 
  • Kemudian cari posisi data tengah dengan rumus: (posisi awal + posisi akhir) / 2 
  • Kemudian data yang dicari dibandingkan dengan data yang di tengah, apakah sama atau lebih kecil, atau lebih besar? 
  • Jika lebih besar, maka proses pencarian dicari dengan posisi awal adalah posisi tengah + 1 
  • Jika lebih kecil, maka proses pencarian dicari dengan posisi akhir adalah posisi tengah – 1 Jika data sama, berarti ketemu. 
  • Demikian seterusnya sampai data tengah sama dengan yang dicari. 
Contoh Kasus Ilustrasi Binary Searching :

Misalnya data yang dicari 17

Karena 17 > 15 (data tengah), maka: awal = tengah + 1

Binary Searching

Karena 17 < 23 (data tengah), maka: akhir = tengah – 1

Binary Searching

Karena 17 = 17 (data tengah), maka KETEMU! 

Binary Searching

Contoh Kasus Ilustrasi Binary Searching dalam bahasa pemograman Pascal :

Binary Searching Pascal

3. Pencarian Interpolasi (Interpolasi Search)

Teknik ini dilakukan pada data yang sudah terurut berdasarkan kunci tertentu Teknik ini dilakukan pada data yang sudah terurut berdasarkan kunci tertentu Teknik searching ini dilakukan dengan perkiraan letak data.

Contoh Interplasi Search :
jika kita hendak mencari suatu nama di dalam buku telepon, misal yang berawalan dengan huruf T, maka kita tidak akan mencarinya dari awal buku, tapi kita langsung membukanya pada 2/3 atau 3/4 dari tebal buku.

Jadi kita mencari data secara relatif terhadap jumlah data. Rumus posisi relatif kunci pencarian dihitung dengan rumus:

Rumus Interplasi Search

Contoh Kasus :

Misalkan terdapat data sebagai berikut :

Contoh Kasus Interplasi Search

Penjelasan :

Kasus #1 :
  • Kunci Pencarian? 088 
  • Low? 0 
  • High? 8 
  • Posisi = int(( ) / ( ) * (8 - 0) + 0) = [7]  
  • Kode[7] = kunci pencarian, data ditemukan: Visual Basic 2005 Express 
Kasus #2: 
  • Kunci Pencarian? 060 
  • Low?
  • High?
  • Posisi = int((060 – 025) / (096 – 025) * (8 – 0) + 0) = [3] 
  • Kunci[3] < kunci pencarian, maka teruskan 
  • Low = 3 + 1 = 4 
  • High =
  • Posisi = int((060 – 025) / (096 – 025) * (8 – 4) + 4) = [5] 
  • Ternyata Kunci[5] adalah 063 yang lebih besar daripada 060

Share this

Related Posts

Latest
Previous
Next Post »

1 komentar:

komentar
4 Maret 2022 pukul 10.31 delete

A new casino is opening at Horseshoe in Las Vegas
The 경산 출장샵 newly built Horseshoe Casino in Las Vegas is the perfect place 충주 출장마사지 for any enthusiast who loves to 나주 출장마사지 gamble 강원도 출장안마 and play 구리 출장마사지 table games while enjoying

Reply
avatar