15
2.6 Algortima Binary Search
Pencarian dapat dilakukan dengan berbagai alogritma, antara lain dengan algoritma pencarian yang paling sederhana Sequential Search dan
algoritma pencarian bagi dua Binary Search, Munir, 2011. 1. Pencarian Secara Linear Sequential Search
Sequential Search
pencarin beruntun
adalah proses
membandingkan setiap elemen larik satu per satu secara beruntun, mulai dari elemen pertama sampai elemen yang dicari ditemukan atau seluruh
elemen sudah diperiksa. Algoritma pencarian secara linear digunakan untuk mencari sebuah nilai pada tabel sembarang. Ada dua macam cara pencarian
pada tabel. Algoritma ini mempunyai dua jenis metode yaitu dengan boolean dan tanpa boolean. Algoritma pencairan secara linear melakukan
pengulangan sebanyak 1 kali untuk kasus terbaik value sama dengan elemen pertama dalam tabel dan Nmax kali untuk kasus terburuk. Sehingga
algoritma ini mempunyai kompleksitas algoritma On. 2. Binary Search adalah algoritma pencarian yang menggunakan prinsip
divide and conquer, sebuah masalah atau tujuan diselesaikan dengan cara mempartisi masalah menjadi bagian yang lebih kecil. Algoritma ini
membagi sebuah tabel menjadi dua dan memproses satu bagian dari tabel itu saja. Algoritma ini bekerja dengan cara memilih record dengan indeks
tengah dari tabel dan membandingkannya dengan record yang hendak dicari. Jika record tersebut lebih rendah atau lebih tinggi, maka tabel
16
tersebut dibagi dua dan bagian tabel yang bersesuaian akan diproses kembali secara rekursif.
Kompleksitas waktu terbaik algoritma ini adalah 1, sedangkan kompleksitas waktu terburuknya
2
log n. Kompleksitas waktu terburuk ini dicapai pada kasus dimana record tidak ditemukan dalam tabel. Pada kasus
ini, algoritma melakukan pembagian tabel hingga ukuran tabel sebesar 1 elemen. Jumlah langkah tersebut adalah
2
log n. Karena pada setiap langkah dilakukan perbandingan yang merupakan basis dari penghitungan
kompleksitas waktu algoritma pencarian, maka kompleksitas waktu terburuk algoritma ini adalah
2
log n. Dari pembahasan diatas dapat disimpulkan Algoritma Binary
Search memiliki kompleksitas yang lebih kecil daripada kompleksitas Agoritma Sequential Search. Hal ini menyebabkan waktu yang dibutuhkan
Algoritma Binary Search dalam mencari sebuah record dalam sebuah tabel lebih kecil daripada waktu yang dibutuhkan Algoritma Sequential Search.
Sedangkan Sequential Search adalah proses membandingkan setiap elemen larik satu per satu secara beruntun, mulai dari elemen pertama sampai
elemen yang dicari ditemukan atau seluruh elemen sudah diperiksa, sehingga cocok untuk pencarian pada data yang tidak terurut.
17
Berikut kelebihan dan kekurangan Algoritma Sequntial Search dengan Algortima Binary Search ;
Tabel 2.5 Perbandingan Algoritma Munir, 2011 Algoritma
Kelebihan Kekurangan
Algoritma Sequential Search
Jika elemen yang dicari berada di depan indeks awal
array maka elemen tersebut akan cepat ditemukan
Data yang dicari tidak harus dalam keadaan terurut
Algoritma cukup sederhana Jika elemen yang dicari
berada di akhir indeks awal array, maka pencarian akan
sangat lama, sehingga beban komputasi akan meningkat
Tidak cocok untuk mencari sebuah
elemen pada
kumpulan data yang sangat banyak
Algoritma Binary Search
Cocok untuk mencari data yang
jumlahnya sangat
banyak Elemen dalam data dapat
ditemukan dalam waktu yang singkat
Data yang dicari harus dalam keadaan terurut, oleh
karena itu harus dilakukan sorting
pengurutan sebelum
melakukan searching dalam metode ini
Algoritmanya lebih
kompleks dari sequential search
18
2.7 Android 2.7.1 Sejarah Android