SEARCHING

 pertemuan 12

SEARCHING 



proses mendapatkan (retrieve) information berdasarkan kunci (key) tertentu dari sejumlah informasi yang telah disimpan.

Terdapat dua tipe searching yaitu single match dan multiple match.


SEQUENTIAL SEARCH

Merupakan teknik yang sederhana dan langsung dapat digunakan pada struktur data baik array maupun linked-list.

Contoh Sequential Search

Nim                     Nama                      IPK

[0] 2207023006 Mulyadi                  2.94

[1] 2207023004 Willy Johan            3.15

[2] 2207023003 Anthony Liberty   2.78

[3] 2207023007 Ferry Santoso        3.37 

[4] 2207023005 Jaya Mulya             2.93 

[5] 2207023001 Budi Santoso         3.01

[6] 2207023008 Indra Gunawan    3.56 

[7] 2207023002 M. Rudito W          3.44

Kunci pencarian? 2207023010 NIM

[0] == kunci?  tidak NIM

[1] == kunci?  tidak NIM

[2] == kunci?  tidak NIM

[3] == kunci?  tidak NIM

[4] == kunci?  tidak NIM

[5] == kunci?  tidak NIM

[6] == kunci?  tidak NIM

[7] == kunci?  tidak Semua data telah di cari, kunci tidak ditemukan


BINARY SEARCH

Pencarian data dimulai dari pertengahan data yang telah terurut Jika kunci pencarian lebih kecil daripada kunci posisi tengah, maka kurangi lingkup pencarian pada separuh data pertama Begitu juga sebaliknya jika kunci pencarian lebih besar daripada kunci tengah, maka pencarian ke separuh data kedua.

Contoh Binary Search

Nim                     Nama                     IPK

[0] 2207023010 Mulyadi                 2.94

[1] 2207023020 Willy Johan           3.15

[2] 2207023030 Anthony Liberty  2.78

[3] 2207023040 Ferry Santoso       3.37

[4] 2207023050 Jaya Mulya            2.93

[5] 2207023060 Budi Santoso         3.01

[6] 2207023070 Indra Gunawan    3.56

[7] 2207023080 M. Rudito W          3.44

Kunci pencarian? 

2207023060 [0] 2207023010 [1] 2207023020 [2] 2207023030 [3] 2207023040 [4] 2207023050 [5] 2207023060 [6] 2207023070 [7] 2207023080  


INTERPOLATION SEARCH

Pencarian dilakukan pada posisi relatif kunci terhadap data yang terurut.

Rumus: kunci – data[low] posisi = -------------------------- x (high – low) + low data[high] – data[low]

Contoh Interpolation Search

Kd Judul Penulis

[0] 025 The C++ programing Bjarne Strous

[1] 034 Mastering Delphi 6 Marco Cantu

[2] 041 Professionl C# Simon Robin

[3] 056 Pure Corba Fintan Balron

[4] 063 Advanced JSP David Geary

[5] 072 Duration Calculus Zhou Cao Zen

[6] 088 Algebra Mastering Zohar Manna

[7] 096 Visual Basic Prof 6 F. P. Brooz

Kunci pencarian? 088 Low = 0, high = 7 Posisi = (088-025)/(096-025)x(7-0)+0 = 6 Buku[6]==kunci?  ya  Algebra Mastering  Zohar Manna.


Komentar