Searching adalah proses menemukan elemen tertentu dalam kumpulan data, seperti array, list, atau database. Ini merupakan operasi dasar dalam ilmu komputer yang digunakan untuk berbagai aplikasi, termasuk pencarian data, pencocokan pola, dan pemrosesan informasi. Algoritma searching tidak hanya digunakan di bahasa pemrograman C++ namun juga di bahasa pemograman yang lain.
Dalam kehidupan sehari-hari, seringkali kita berurusan dengan pencarian misalnya untuk mencari istilah dalam kamus. Pada aplikasi komputer, pencarian sering dilakukan misalnya untuk proses penghapusan data/record atau mengubah data/record tertentu di dalam suatu tabel atau file, langkah pertama yang harus dilakukan adalah mencari apakah data tersebut terdapat di dalam tabel/file atau tidak. Jika ada maka dapat dihapus atau diubah. Contoh struktur data yang dipakai untuk proses penyimpanan pada proses pencarian yaitu: array, list, dan pohon biner.
KEGUNAAN DATA
✦Media penyimpanan data (memori, disk, tape).
✦Karakteristik jenis data yang disimpan (data numerik/character/string).
✦Jumlah data yang akan disimpan dan keperluan untuk akses data secepat-cepatnya.
LINGKUP PENCARIAN
JENIS-JENIS ALGORITMA SEARCH YANG PALING SERING DIGUNAKAN
Pada umumnya dikenal tiga metode searching, antara lain: Sequensial Search, Binary Search, dan Interpolation Search. Pemilihan algoritma pencarian tergantung pada karakteristik data dan kebutuhan aplikasi. Sequential Search sangat sederhana dan fleksibel, cocok untuk data kecil atau tidak terurut. Binary Search sangat efisien untuk data terurut dan besar, namun memerlukan data terurut. Interpolation Search memberikan kinerja luar biasa pada data yang terdistribusi merata, tetapi kinerjanya bisa menurun jika distribusi data tidak merata. Memahami secara menyeluruh masing-masing algoritma memungkinkan kita memilih metode pencarian yang paling cocok untuk situasi tertentu. Mari kita bahas satu per satu.
1. Sequential Search
Cari Data dalam Array? Sequential Search!
Hai teman-teman! Salah satu pencarian data yang sangat sederhana adalah Sequential Search, atau yang lebih sering dikenal sebagai pencarian linier. Metode ini paling mudah dipahami, seperti mencari teman di sebuah kerumunan.
Jadi beginilah algoritmanya: kita membandingkan satu per satu elemen dalam array, dari posisi pertama secara berurutan, hingga kita menemukan elemen yang kita cari atau mencapai elemen terakhir. Misalnya, seolah-olah kita sedang mencari teman kita di suatu pertunjukan yang ramai, kita melihat mukanya satu persatu sampai ketemu.
Sequential search ini bisa dipakai untuk array yang belum terurut maupun yang udah terurut. Yang membedakan hanyalah seberapa efisiennya saja. Jika array terurut, kemungkinannya akan lebih cepat karena kita bisa stop lebih awal.
Kelebihan dari metode ini adalah kesederhanaannya. Tidak perlu pusing memikirkan algoritma yang rumit. Kekurangannya, metode ini tidak efisien untuk data yang banyak. Jadi untuk teman-teman yang memiliki data dengan ukuran kecil dan ingin mencari data di array, gunakanlah sequential search ini. Cepat dan Efisien!
2. Binary Search
Menemukan Elemen di Array? Metode Binary Search!
Binary search adalah metode pencarian suatu data atau elemen di dalam suatu array dengan kondisi data dalam keadaan terurut. Proses pencarian binary search hanya dapat dilakukan pada kumpulan data yang sudah diurutkan terlebih dahulu (menaik atau menurun).
Bagaimana Cara Kerjanya?
Algoritma ini membagi data menjadi dua bagian setiap langkahnya dengan membandingkan elemen tengah dengan nilai yang dicari. Jika nilai tengah sama dengan nilai yang dicari, pencarian selesai. Jika tidak, binary search melanjutkan pencarian hanya di salah satu dari dua bagian tergantung pada hasil perbandingan, sehingga mengurangi jumlah elemen yang harus diperiksa. Pada binary search kita membagi data dengan (akhir+awal)/2 tiap prosesnya,
3. Interpolation Search
Mengenal Interpolation Search: Algoritma Pencarian yang Efisien!
Interpolation search adalah algoritma pencarian yang digunakan untuk menemukan posisi nilai tertentu dalam array yang sudah diurutkan. Algoritma ini merupakan pengembangan dari binary search, namun memanfaatkan informasi tentang distribusi nilai-nilai dalam array untuk meningkatkan efisiensi pencarian, terutama jika elemen-elemen array terdistribusi secara merata. Dalam interpolation search, kita menggunakan asumsi bahwa nilai-nilai dalam array terdistribusi secara merata dan menggunakan persamaan interpolasi linier untuk memperkirakan posisi indeks elemen yang dicari.
Proses pencarian data ini hampir sama dengan proses pencarian binary search. Pencarian ini juga dilakukan pada kumpulan data yang sudah urut (menaik atau menurun). Akan tetapi jika pada binary search kita membagi data dengan (akhir+awal)/2 tiap prosesnya, maka pada interpolation search kita akan membagi data menurut rumus sebagai berikut:
(kunci – data[low]/data[high] – data[low]) * (high – low) + low
SEARCH DENGAN TIPE DATA LAIN
Untuk melakukan pencarian dengan Tipe Data lain, maka tinggal di ubah variabel
array E[23] yang sebelumnya tipe integer ke tipe string, terus variabel cari juga di
ganti tipe datanya menggunanakan string.
Contoh:
string cari;
string E[23];
0 Komentar