Kata Kunci
Algoritma, Strategi algoritmik,Searching
Pencarian (Searching)
1. Pengertian Pencarian secara umum
Pencarian adalah sebuah aktivitas yang sering kita lakukan dalam kehidupan sehari-hari,
Misalnya:
• Mencari buku dengan judul tertentu di rak perpustakaan
• Mencari seragam batik sekolah di dalam lemari pakaian
• Mencari file tugas mata pelajaran tertentu di dalam penyimpanan di komputer
• Mencari judul lagu di youtube
• Mencari resep masakan di google
• Dll
Dalam pencarian tersebut tentu kita melakukan suatu langkah yang terurut
bukan? Ya.
Misalnya langkah mencari buku dengan judul tertentu di rak buku perpustakaan
dari cntoh di atas :
1. Tentukan judul buku yang akan dicari
2. Periksa buku di rak perpustakaan satu persatu Algoritma
3. Ketemu bukunya (kemungkinan)
4. Tidak ketemu bukunya (kemugkinan)
5. Selesai
Lanjutan....
Dalam pencarian tersebut tentu kita mempunyai cara berfikir untuk
menemukannya dengan cara yang paling efisien dan efektif bukan?
Ya
Misalnya dari contoh diatas untuk mencari buku judul tertentu di rak
perpustakaan, kita bisa saja mencari satu persatu dari semua buku yang ada di rak
perpustakaan, tetapi kita akan berfikir untuk mencari buku yang kita inginkan
tersebut sesuai dengan katalognya bukan? Sesuai dengan kategri buku apa yang
rak nya terletak dimana dan barisan keberapa sehingga kita lebih cepat
menemukan buku tsb
Strategi
Algoritmik
Pencarian (Searching)
1. Pengertian Pencarian dalam Informatika
Searching adalah metode pencarian informasi dalam suatu aplikasi, dengan suatu
kunci (key).
• Pencarian diperlukan untuk mencari informasi khusus dari table pada saat lokasi
yang pasti dari informasi tersebut sebelumnya tidak diketahui.
• Pencarian selalu dinyatakan dengan referensi pada adanya sekelompok data yang
tersimpan secara terorganisasi, kelompok data tersebut kita sebut table.
Jika data sudah ditemukan maka tidak akan di proses dan program akan berhenti.
B. Algoritma Pencarian biner (Binary search).
1-100
30
35=angka saya lebih kecil dari 35
15= angka saya lebih besar dari 15
Lanjutan...
1 2 3 4 5 6 7 8
Kasus 1 : cari = 12
Loop pertama : Tengah=(BatasAtas + BatasBawah) div 2=( 1 + 8 ) div 2= 4
A [Tengah] = A [4] = 12, berarti loop pertama data langsung ditemukan
Kasus 2 : cari = 15
Loop pertama : Tengah=(BatasAtas + BatasBawah) div 2=( 1 + 8 ) div 2= 4
A [Tengah] = A [4] = 12 < cari = 15, berarti BatasAtas = Tengah + 1 = 4 + 1 = 5
A 2 5 8 12 15 25 37 57
1 2 3 4 5 6 7 8
Kasus 3 : cari = 10
Loop pertama : Tengah=(BatasAtas + BatasBawah) div 2=( 1 + 8 ) div 2=4
A [Tengah] = A [4] = 12 > cari = 10, berarti BatasBawah = Tengah – 1 = 4 – 1 = 3
Untuk jumlah data sebanyak n, maka proses pembandingan maksimal sebanyak ( log n )
kali. Untuk contoh di atas, jumlah data 8, maka proses pembandingan maksimal sebanyak
3 kali.
Kesimpulan
Dari pembahasan contoh soal di atas dapat disimpulkan bahwa
jika mencari data yang sudah terurut maka metode yang
paling efisien digunakan adalah metode Binary Search dan
sebaliknya jika kita ingin mencari data yang teracak metode
yang sebaiknya digunakan adalah metode Sequantial Search
Sumber referensi