STRUKTUR DATA SEARCHING (PENCARIAN)
SEARCHING (PENCARIAN).
Dalam kehidupan sehari-hari sebenarnya kita sering melakukan pencarian data. Pencarian
data sering juga disebut table look-up atau storage and retrieval information adalah suatu proses
untuk mengumpulkan sejumlah informasi di dalam pengingat komputer dan kemudian mencari
kembali informasi yang diperlukan secepat mungkin.
Algoritma pencarian (searching algorithm) adalah algoritma yang menerima sebuah
argumen kunci dan dengan langkah-langkah tertentu akan mencari rekaman dengan kunci
tersebut. Setelah proses pencarian dilaksanakan, akan diperoleh salah satu dari dua kemungkinan,
yaitu data yang dicari ditemukan (successful) atau tidak ditemukan (unsuccessful).
Ada beberapa pencarian yang akan kita uraikan disini:
- Pencarian Beruntun (Sekuensial Search).
- Pencarian Bagi dua (Binary Search).
I. PENCARIAN BERURUTAN (SEKUENSIAL SEARCH).
Pencarian berurutan sering disebut pencarian linear 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.
Pada dasarnya, pencarian ini hanya melakukan pengulangan dari 1 sampai dengan
jumlah data. Pada setiap pengulangan, dibandingkan data ke-i dengan yang dicari.
Apabila sama, berarti data telah ditemukan. Sebaliknya apabila sampai akhir
pengulangan tidak ada data yang sama, berarti data tidak ada. Pada kasus yang paling
buruk, untuk N elemen data harus dilakukan pencarian sebanyak N kali pula.
Berikut ini adalah contoh pencarian sekuensial:
Dari data diatas, larik L mempunyai 6 elemen. Pencarian akan dimulai dari
indeks ke-0 yaitu posisi pertama. Misalkan elemen yang dicari: X = 21. Urutan elemen
yang dibandingkan:
Misalkan elemen yang dicari: X = 13. Urutan elemen yang dibandingkan:
Indeks array yang dikembalikan adalah 0.
Kode.5.1. contoh sequential search
Kode 5.2
Output kode 5.2.
Penugasan!! Sequential Search.
Berdasarkan contoh program diatas, modifikasi sehingga output program seperti
berikut ini.
II. PENCARIAN BINER (BINARY SEARCH).
Pencarian biner adalah proses mencari data dengan membagi data atas dua bagian
secara terus menerus sampai elemen yang dicari sudah ditemukan, atau indeks kiri lebih
besar dari indeks kanan. Algoritma ini lebih efisien daripada algoritma pencarian sekuensial, tetapi
pencarian ini mempunyai syarat yaitu bahwa kumpulan data yang harus dilakukan
pencarian harus sudah terurut terlebih dahulu. Karena data sudah terurut, algoritma
dapat menentukan apakah nilai data yang dicari berada sebelum atau sesudah elemen
larik yang sedang dibandingkan pada suatu saat. Dengan cara ini, algoritma dapat lebih
menghemat waktu pencarian.
Prinsip dari pencarian biner dapat dijelaskan sebagai berikut:
- mula-mula diambil posisi awal 0 dan posisi akhir = N - 1.
- kemudian dicari posisi data tengah dengan rumus (posisi awal + posisi akhir) / 2.
- Kemudian data yang dicari dibandingkan dengan data tengah.
- Jika lebih kecil, proses dilakukan kembali tetapi posisi akhir dianggap sama dengan posisi tengah –1.
- Jika lebih besar, porses dilakukan kembali tetapi posisi awal dianggap sama dengan posisi tengah + 1. Demikian seterusnya sampai data tengah sama dengan yang dicari.
Kode 5.3. ketikkan program pengurutan secara Ascending seperti di bawah ini:
Penugasan!
- Dari program Kode 5.3. Modifikasi sehingga inputan menjadi dinamis, gunakan
penggurutan secara descending.
Kode5.4
SEMOGA BERMANFAAT ILMUNYAA.......................
Comments
Post a Comment