PERCOBAAN 3: SEARCHING
SOAL :
Tugas Pendahuluan Percobaan 3
1. Apa yang kalian ketahui tentang searching (min 100 kata)?
2. Berikan penjelasan Best Case dan Worst Case dari Sequential Searching dan
Binary Searching?
JAWABAN:
1. Searching adalah pencarian data dengan cara menelusuri data-data tersebut. Tempat
pencarian data dapat berupa array dalam memori, bisa juga pada file pada external
storage.
Pada kode program di atas dapat dilihat, Method sequential Search memiliki dua
parameter yaitu array dan key di mana array adalah kumpulan data dengan tipe
integer dan key merupakan kata kunci atau data yang akan di cari pada kumpulan
data tersebut. Berikut proses kerja algoritma Sequential Searching di atas:
1. Menentukan jumlah data yang tersimpan pada array.
intsize = array.length;
2. Melakukan perulangan FOR sebanyak jumlah data dan melakukan pencarian
secara beruntun atau sekuensial terhadap data-data yang tersimpan data array.
for (int i = 0; i <size; i++)
3. Menentukan kecocokan data yang tersimpan di array dengan kata kunci yang di
cari (key) menggunakan perintah IF if (array[i] == key)
4. Jika data yang di cari di temukan atau cocok maka nilai akan di kembalikan
dengan nilai pencarian dan pencarian di hentikan. return array[i];
5. Jika data tidak di temukan, maka nilai akan di kembalikan dengan ke -1 sebagai
indikasi data tidak ada. return -1;
2. Binary Search adalah teknik pencarian data dalam dengan cara membagi data
menjadi dua bagian setiap kali terjadi proses pencarian. Data yang ada harus diurutkan
terlebih dahulu berdasarkan suatu urutan tertentu yang dijadikan kunci pencarian.
Dengan kata lain apabila data belum dalam keadaan terurut, pencarian Binary tidak
dapat dilakukan. Binary Search ini dilakukan untuk:
1. Memperkecil jumlah operasi perbandingan yang harus dilakukan antara data yang
dicari dengan data yang ada di dalam tabel, khususnya untuk jumlah data yang
sangat besar ukurannya.
2. Beban komputasi lebih kecil karena pencarian dilakukan dari depan, belakang dan
tengah. Prinsip dasarnya adalah melakukan proses pembagian ruang pencarian
secara berulang-ulang sampai data ditemukan atau sampai pencarian tidak dapat
dibagi lagi (berarti terdapat kemungkinan data tidak ditemukan).
3. Binary search merupakan salah satu algoritma pencarian pada array yang sudah
terurut. Hal yang terpenting dalam penggunaan binary search adalah data harus
sudah diurutkan. Untuk mengefisienkan penggunaan binary search maka informasi
bagaimana integer dalam array harus diketahui. Adapun ide dasar binary search
yaitu memulai pencarian dengan cara membagi dua ruang pencarian (T).
Flowchart Binary Search merupakan alur proses dalam pembuatan sistem dalam
mengolah aplikasi yang akan dibuat. Flowchart berguna untuk mengatur langkah awal
sampai hasil akhir .
Gambar 4 Flowchart Binary Search
Worst Case : Kasus terburuk terjadi ketika elemen yang dicari berada di posisi terakhir
dalam kumpulan data atau bahkan tidak ada dalam kumpulan data sama sekali. Dalam
hal ini, pencarian akan melibatkan perbandingan antara elemen yang dicari dan semua
elemen dalam kumpulan data hingga elemen terakhir.
Contoh : DATA = 5 6 9 2 8 1 7 4
bestcase ketika x = 5 worst case ketika x = 4
*x = key/data yang dicari
2. Binary Sequential
Best Case : Kasus terbaik terjadi ketika elemen yang dicari berada tepat di tengah
kumpulan data yang sudah diurutkan. Dalam hal ini, pencarian selesai setelah satu
perbandingan, dan best case memiliki kompleksitas T(n) = 1atau konstan.
Worst Case : Kasus terburuk terjadi ketika elemen yang dicari tidak ada dalam
kumpulan data atau berada di salah satu ujung kumpulan data yang besar. Jadi, worst
case dari binary search memiliki kompleksitas waktu T(n) = n/2 (n dibagi 2, karena
setidaknya setengah data harus diperiksa sebelum data yang dicari dinyatakan tidak
ditemukan).
Contoh : DATA = 5 6 9 2 8 1 7 4 3
bestcase ketika x = 8 (T(n)=1) worst case ketika x = 25 (T(n) = 5 atau n/2)
*x = key/data yang dicari
DAFTAR PUSTAKA
Yuniar. Lita, Wenni., Fathkul, Amin. 2021. Sistem Pencarian Naskah Dinas Pada
Polres Kendal Dengan Algoritma Sequential Search. Jurnal Manajemen
Informatika & Sistem Informasi. 4(2): 92-100.
Sulistio, Bayu., Salkin, Lutfi., Ridwan. 2019. Aplikasi Kamus Bahasa Taliabu Berbasis
Android Dengan Menggunakan Metode Binary Searc. Jurnal Informatika dan
Komputer. 2(2): 67-72.