Dosen Pembimbing :
Oleh Kelompok :
Muhammad Arya Dewangga 201810370311209
Wien Nurul Dewani 201810370311210
Adellia Andrimida 201810370311211
Inov Afani Eka Putra 201810370311213
Adhigana Priyatama 201810370311212
Fakultas Teknik
2019
BAB I
PENDAHULUAN
Exponential Search atau biasa disebut juga Doubling Search, Galloping Search, atau
Struzik Search adalah sebuah algoritma, dibuat oleh Jon Bentley dan Andrew Chi-Chih Yao
pada tahun 1976 untuk Searching Sorted yang tidak terikat atau daftar yang tidak terbatas.
Exponential Search juga dapat digunakan untuk mencari didalam bounded list atau
daftar terbatas. Exponential Search dapat melakukan pencarian yang lebih tradisional untuk
bounded list, seperti pencarian biner, saat elemen berada dekat dengan awal array. Ini karena
Exponential Search akan berjalan dalam waktu O(log i), dimana i adalah index element yang
akan dicari dalam list, sedangkan binary search akan berjalan dalam waktu O(log n), dimana
n adalah jumlah element dalam list.
BAB II
Algoritma Exponential Searching
● Narasi
Ia mencoba menemukan elemen yang lebih besar dari elemen yang kami cari. Kami
melakukan ini untuk meminimalkan rentang elemen yang dicari. Ia meningkatkan
rentang dengan mengkalikannya dengan 2 dan memeriksa lagi jika ia mencapai
elemen yang lebih besar dari elemen yang ia cari atau akhir dari array. Setelah salah
satu dari ini tercapai, ia akan keluar dari loop. Kemudian ia melakukan pencarian
biner dengan startIndex sebagai range / 2 dan lastIndex sebagai range.
● Langkah
1. Mencari elemen yang lebih besar dari elemen yang dicari untuk meminimalkan
rentang elemen yang dicari.
2. Meningkatkan rentang dengan mengkalikannya dengan 2 dan memeriksa lagi jika
sudah mencapai elemen yang lebih besar dari elemen yang dicari atau akhir dari array
3. Melakukan pencarian biner dengan startIndex sebagai range / 2 dan lastIndex sebagai
range
● FLOWCHART
BAB III
Implementasi
Gambar di atas adalah source code untuk implementasi Exponential Search. Dimana
menggunakan library Arrays untuk memanggil method binarySearch. Mendapatkan hasil
akhir di exponential search yaitu menggunakan method binarySearch untuk menemukan
rentang nilai yang kita dapat dari looping sebelumnya. Dimana rentang nilai sebelumnya di
ambil dari eksponensial 2❑n atau di dalam program yaitu i = i x 2.
Pada gambar di atas adalah kelas main untuk menjalankan eksponential search. Contoh
implementasi yaitu menggunakan data berjumlah 7 (n = 7). Nilai yang di cari x yaitu 10. Lalu
memanggil method exponentialSearch agar di proses seperti yang dijelaskan sebelumnya.
Maka akan diberikan hasil di mana letak indeks nilai ke 10.
Hasil dari proses exponential search yaitu di temukan nilai 10 di indeks ke 2.
BAB IV
PENGUJIAN ALGORTIMA
Pada bagian pengujian dalam algoritma search kali ini, kami menggunakan algoritma
exponential search, Big-O nya merupakan O(i).
Program kami tidak dapat menguji data 10000 karena telah melebihi batas pada
array sehingga terjadi error.