Algortima Binary Search Aplikasi kamus Indonesia-Korea menggunakan algoritma binary search berbasis android

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