10. SEARCHING
Searching
Adalah proses mendapatkan
(retrieve) information berdasarkan kunci (key) tertentu dari sejumlah informasi
yang telah disimpan
Kunci (key) digunakan untuk
melakukan pencarian record yang diinginkan didalam suatu list
Single match:
Siapa mahasiswa
dengan nim 3678416777
Multiple match:
siapa saja yang mendapat nilai Algoritma >=90
Sequential Search
Merupakan teknik yang sederhana dan langsung dapat digunakan pada struktur data baik array maupun linked-list.Pencarian data secara urut mulai dari data pertama sampai kunci yang dicari ditemukan atau sampai seluruh data telah dicari dan tidak ditemukan dan dilakukan pada data yang tidak terurut, Sequential Search disebut juga linear search atau Metode pencarian beruntun,Tidak efisien untuk data dengan list yang besar, suatu teknik pencarian data yang akan menelusuri tiap elemen satu per-satu dari awal sampai akhir.
Data awal = tidak harus dalam kondisi terurut.
Algoritma Sequential Search
Input x (data yang dicari)
Bandingkan x dengan data ke-i sampai n
Jika ada data yang sama dengan x maka cetak pesan “Ada”
Jika tidak ada data yang sama dengan x cetak pesan “tidak ada”
Best & Worst Case
Best case : jika data yang dicari terletak di depan sehingga waktu yang dibutuhkan
minimal.
Worst case : jika data yang dicari terletak di akhir sehingga waktu yang dibutuhkan maksimal.
Contoh :
DATA = 5 6 9 2 8 1 7 4
bestcase ketika x = 5
worstcase ketika x = 4
*x = key/data yang dicari
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
Teknik Binary Search hanya dapat digunakan pada sorted array, yaitu array yang elemen-elemennya telah terurut.
Lebih cepat dari sequential search
Teknik pencarian = data
dibagi menjadi dua bagian untuk setiap kali proses pencarian.
Data awal harus dalam kondisi terurut. Sehingga harus dilakukan proses
sorting terlebih dahulu untuk data awal.
Mencari posisi tengah :
Posisi tengah= (posisi awal + posisi akhir)/2
Algoritma Binary Search
Data diambil dari posisi awal 1 dan posisi akhir
Kemudian cari posisi data tengah dengan rumus: (posisi awal + posisi akhir) / Kemudian data yang dicari dibandingkan dengan data yang di tengah, apakah sama atau lebih kecil, atau lebih besar
Jika data sama, berarti ketemu.
Jika lebih besar, maka ulangi langkah 2 dengan posisi awal adalah posisi tengah + 1
Jika lebih kecil, maka ulangi langkah 2 dengan posisi akhir adalah posisi tengah – 1
Interpolation Search
Pencarian dilakukan pada posisi relatif kunci terhadap data yang terurut
metode ini didasari pada proses pencarian nomor telepon pada buku telepon
Interpolation Search
Rumus:
kunci – data[low]
posisi = -------------------------- x (high –
low) + low
data[high] – data[low]
Terimakasih sudah membaca, Semoga bermanfaat ~

.png)
Komentar
Posting Komentar