ALGORITMA SEARCHING
3
KARAKTERISTIK
⬡ Completeness: Algoritma pencarian dikatakan lengkap jika menjamin
untuk mengembalikan solusi jika setidaknya ada solusi untuk setiap
input random.
⬡ Optimality: Jika solusi yang ditemukan untuk suatu algoritma dijamin
sebagai solusi terbaik (biaya jalur terendah) di antara semua solusi
lainnya, maka solusi untuk tersebut dikatakan sebagai solusi optimal.
⬡ Time Complexity: Ukuran waktu bagi suatu algoritma untuk
menyelesaikan tugasnya.
⬡ Space Complexity: Ruang penyimpanan maksimum yang diperlukan
pada setiap titik selama pencarian, sebagai kompleksitas masalah.
4
Contoh implementasi pencarian dalam kehidupan sehari-
hari :
a. Menemukan nomor telepon seseorang pada buku telepon
b. Mencari istilah dalam kamus
5
Untuk keperluan mencari data terdapat beragam
Algoritma Pencarian (Search Algorithma)
6
Contoh
a. Siapa nama mahasiswa dengan NIM
13102056 ? single match
b. Siapa saja yang mendapat nilai algoritma ≥ 85 ?
multiple matches
7
Pencarian yang dilakukan terhadap data,
dapat dikelompokan sebagai berikut :
a. Pencarian Internal
Pencarian yang dilakukan terhadap data yang
berada dalam memori komputer
b. Pencarian Eksternal
Pencarian yang dilakukan terhadap data
10
Linear / Sequential Search
11
Pencarian Sekuensial (Linear)
Pencarian Sekuensial (Linier) merupakan
model pencarian yang paling sederhana yang
dilakukan terhadap kumpulan data
12
c. i adalah bilangan indeks terkecil , yang memenuhi kondisi 0 ≤ k ≤
n-1
d. k adalah data yang dicari L[i]=k
Contoh :
L [10, 9, 4, 6, 4, 3, 2, 5]
13
Catatan Kompleksitas:
Algoritma ini akan mencari data sesuai kata kunci yang diberikan mulai dari elemen
awal pada array hingga elemen akhir array. Kemungkinan terbaik (best case) ketika
menggunakan algoritma ini adalah jika data yang dicari terletak di indeks awal
array sehingga hanya membutuhkan sedikit waktu pencarian. Sedangkan
kemungkinan terburuknya (worst case) adalah jika data yang dicari ternyata terletak
dibagian akhir dari array sehingga pencarian data akan memakan waktu yang lama.
14
Konsep Pencarian Sekuensial:
Membandingkan setiap elemen pada array satu per
satu secara berurut
Proses pencarian dimulai dari indeks pertama
hingga indeks terakhir
Proses pencarian akan berhenti apabila data
ditemukan. Jika hingga akhir array data masih juga
tidak ditemukan, maka proses pencarian tetap akan
dihentikan
Proses perulangan pada pencarian akan terjadi
sebanyak jumlah N elemen pada array
15
Ilustrasi 1:
16
Ilustrasi 2 :
Ilustrasi kedua mirip dengan sebelumnya, perbedaannya yaitu ilustrasi di atas menghitung
berapa banyak angka yang dicari muncul pada data, sedangkan ilustrasi sebelumnya akan
menghentikan pencarian ketika data yang dicari berhasil ditemukan
17
Ilustrasi 2 :
Ilustrasi kedua mirip dengan sebelumnya, perbedaannya yaitu ilustrasi di atas menghitung
berapa banyak angka yang dicari muncul pada data, sedangkan ilustrasi sebelumnya akan
menghentikan pencarian ketika data yang dicari berhasil ditemukan
18
IMPLEMENTASI SEARCHING DENGAN JAVA (latihan 43)
19
KOMPLEKSITAS SEARCHING
20
KOMPLEKSITAS SEARCHING
21
TUGAS INDIVIDU
22
Thanks!
23