1. Pernahkah kalian merasa
kebingungan saat mencari sebuah buku di lemari buku kalian? Atau bahkan di
perpustakaan? Saat kalian meminta bantuan kepada petugas perpustakaan, mengapa
dia dapat menemukan buku yang kalian cari dengan waktu yang lebih singkat?
2. Suatu hari, kalian kehilangan baju seragam yang
harus dipakai pada hari itu dan kalian mencarinya. Apa strategi kalian supaya
baju tersebut cepat ditemukan?
3. Kalian mengingat sebuah potongan
lirik lagu, tetapi tidak ingat judul lagu tersebut. Bagaimana kalian bisa
menemukan lagu tersebut dengan cepat? Apa itu mencari? Mencari adalah menemukan
“sesuatu” yang bisa berupa benda, angka,
konsep, informasi yang memenuhi kriteria tertentu dalam suatu ruang pencarian.
Masalah pencarian sangat umum ditemukan di dalam kehidupan, termasuk dalam
dunia komputasi. Ketika melakukan suatu pencarian, kalian harus menemukan suatu
benda atau objek yang memenuhi kriteria tertentu dari sekumpulan benda atau
objek lain. Beberapa contoh dari masalah pencarian yang sering kalian temui
ialah sebagai berikut.
1. Mencari buku dengan judul
tertentu di rak buku perpustakaan.
2. Mencari pakaian batik seragam
kalian di lemari yang berisi semua pakaian yang kalian miliki.
3. Mencari dokumen atau web tertentu
dengan mesin pencari seperti Google.
Mencari benda nyata gampang, tinggal
kita lihat dan kita cocokkan dengan
mata. Namun, mencari informasi atau konsep yang tidak kelihatan?
Hmmmmm… Tidak mudah!
Masalah pencarian dapat dibuat dalam bentuk yang lebih formal agar dapat diterapkan pada banyak kasus. Elemen pada masalah pencarian meliputi hal-hal berikut.
1. Sekumpulan benda atau objek.
2. Kriteria dari benda atau objek
yang dicari.
3. Pengecekan benda atau objek,
untuk memeriksa apakah ia memenuhi kriteria pencarian.
Pertanyaan selanjutnya ialah
bagaimana strategi untuk mencari. Banyak cara yang dapat kita lakukan,
misalnya: kita dapat mengambil pakaian secara acak dan mengecek apakah pakaian
tersebut ialah seragam batik. Cara lain, misalnya dengan memeriksa pakaian dari
yang berada paling atas ke paling bawah. Tentunya, ada banyak strategi lain
yang dapat kalian gunakan. Ada strategi yang lebih baik daripada strategi yang
lain, bergantung pada keadaan benda atau objek tersebut saat pencarian
dilakukan. Tentunya, kita akan lebih mudah mencari suatu buku dengan judul
tertentu di lemari perpustakaan yang tersusun rapi dengan aturan tertentu
dibandingkan dengan mencarinya di sebuah lemari yang berantakan.
Pengertian Algoritma Pencarian (Search)
Algoritma pencarian adalah suatu algoritma dimana sebuah data akan dicari dalam sekumpulan data yang sudah terurut ataupun yang belum terurut. Jika data yang dicari tersebut dapat ditemukan, maka akan diubah menjadi data lainnya.
Sudah disinggung sebelumnya bahwa algoritma searching ini berfungsi untuk menemukan suatu data atau indeks tertentu dalam sekumpulan data yang tipenya sama, data yang terurut maupun yang tidak terurut.
Macam-Macam Algoritma Pencarian
(Search)
Adapun beberapa macam algortima pencarian (searching) yang sering dipelajari diantaranya:
Algortima Linear Search
Linear search adalah algoritma pencarian nilai tertentu pada sebuah array/list. Algoritma linear search ini memeriksa nilai elemen pada list satu demi satu dari ujung list. Karena acara kerjanya inilah, algoritma ini sering disebut sequential search. Array/list yang digunakan pada algortima ini sangat cocok jika tidak terurut. Jika array/list sudah terurut maka menggunakan algoritma binar search lebih efisien.
Linear search merupakan algoritma pencarian yang paling sederhana. Prinsip kerjanya mudah dipahami. Linear search akan menentukan array/list atau tidaknya dengan yang dicari. Jika data yang ingin ditemukan sudah ditemukan sebelum data awal (array/list) dicek habis maka pencarian selesai. Namun jika sampai akhir data yang ingin ditemukan tidak ada maka data yang akan dicari tidak ada di dalam array/list.
Algoritma Binary Search
Algoritma binary search adalah algoritma pencarian nilai pada array/list dengan elemen yang terurut. Cara kerja algoritma ini adalah dengan memotong array menjadi dua bagian secara terus menerus hingga nilai yang dicari dapat ditemukan. Nama lain dari algoritma ini adalah half-interval search, logarithmic search, atau binary chop.
Sederhananya binary search adalah
metode untuk mencari data dengan cara eleminasi biner secara berulang untuk
mencari nilai yang sesuai dengan adata yang diinginkan. Perlu diingat bahwa
pada algoritma binary search ini data harus sudah dalam keadaan terurut.

Tidak ada komentar:
Posting Komentar