Analisis Algoritma Binary Search
Analisis Algoritma Binary Search
Alif Azhar1,Fadhil Mulia Abdilah2,Reza Agung Pambudi3
Jurusan Teknik Informatika Universitas Telkom, Jalan Telekomunikasi No. 1, Sukapura, Bojongsoang,
Bandung, Jawa Barat 40257
2
1
email : alifazharf@gmail.com, fadhilabdillah88@gmail.com,3rezaagungpambudi@gmail.com
makalah ini akan dibandingkan tentang
serarch dengan linear
search.
performa binary
Abstrak - Dalam ilmu komputer, algoritma
pencarian secara luas diartikan sebagai
sebuah algoritma yang menerima masukan
berupa sebuah masalah dan menghasilkan
kemudian mencari setengah sisanya dengan
sebuah solusi untuk masalah tersebut, yang
cara yang sama.
biasanya didapat dari evaluasi beberapa
2.METODE
kemungkinan solusi. Salah satu contoh
Algoritma divide and conquer adalah strategi
algoritma
pencarian
yang memiliki
pemecahan masalah yang besar dengan cara
kompleksitas cukup baik adalah binary
melakukan pembagian masalah yang besar
search.Binary search merupakan algoritma
pencarian
data
terurut
yang
tersebut menjadi beberapa bagian yang lebih
mengimplementasikan metode divide and
kecil secara rekursif hingga masalah tersebut
conquer, dimana data yang terurut tersebut
dapat dipecahkan secara langsung. Penerapan
algoritma tersebut dapat memudahkan dalam
akan dibagi menjadi dua bagian. Dalam
permasalahan yang memiliki jumlah data yang
melakukan pencariannya teknik binary
besar.
search
mempertimbangkan
empat
kemungkinan yaitu
2.1. Kompleksitas algoritma Binary
1. jika elemen yang dicari langsung
Search dengan Sequential Search
ditemukan maka binary search akan
A. Analisis pencarian Binary Search
dihentikan
berikut ini adalah algoritma dari binary
2. jika elemen yang dicari kurang dari
search dengan menggunakan interasi
nilai
element
tengahnya
maka
Kamus
pencarian hanya akan dilakukan pada
Conts N : Type t=array[0 … N] of integer
sisi kiri saja
val, left, right, mid : Integer
3. jika element yang dicari lebih dari nilai
Algoritma
element tengahnya maka pencarian
int binarySearch(LIST t[], int n, int val) {
hanya akan dilakukan pada sisi
int left, right, mid; left = 0;
kanannya saja.
right = n-1;
4. jika element yang dicari tidak
while(left
Alif Azhar1,Fadhil Mulia Abdilah2,Reza Agung Pambudi3
Jurusan Teknik Informatika Universitas Telkom, Jalan Telekomunikasi No. 1, Sukapura, Bojongsoang,
Bandung, Jawa Barat 40257
2
1
email : alifazharf@gmail.com, fadhilabdillah88@gmail.com,3rezaagungpambudi@gmail.com
makalah ini akan dibandingkan tentang
serarch dengan linear
search.
performa binary
Abstrak - Dalam ilmu komputer, algoritma
pencarian secara luas diartikan sebagai
sebuah algoritma yang menerima masukan
berupa sebuah masalah dan menghasilkan
kemudian mencari setengah sisanya dengan
sebuah solusi untuk masalah tersebut, yang
cara yang sama.
biasanya didapat dari evaluasi beberapa
2.METODE
kemungkinan solusi. Salah satu contoh
Algoritma divide and conquer adalah strategi
algoritma
pencarian
yang memiliki
pemecahan masalah yang besar dengan cara
kompleksitas cukup baik adalah binary
melakukan pembagian masalah yang besar
search.Binary search merupakan algoritma
pencarian
data
terurut
yang
tersebut menjadi beberapa bagian yang lebih
mengimplementasikan metode divide and
kecil secara rekursif hingga masalah tersebut
conquer, dimana data yang terurut tersebut
dapat dipecahkan secara langsung. Penerapan
algoritma tersebut dapat memudahkan dalam
akan dibagi menjadi dua bagian. Dalam
permasalahan yang memiliki jumlah data yang
melakukan pencariannya teknik binary
besar.
search
mempertimbangkan
empat
kemungkinan yaitu
2.1. Kompleksitas algoritma Binary
1. jika elemen yang dicari langsung
Search dengan Sequential Search
ditemukan maka binary search akan
A. Analisis pencarian Binary Search
dihentikan
berikut ini adalah algoritma dari binary
2. jika elemen yang dicari kurang dari
search dengan menggunakan interasi
nilai
element
tengahnya
maka
Kamus
pencarian hanya akan dilakukan pada
Conts N : Type t=array[0 … N] of integer
sisi kiri saja
val, left, right, mid : Integer
3. jika element yang dicari lebih dari nilai
Algoritma
element tengahnya maka pencarian
int binarySearch(LIST t[], int n, int val) {
hanya akan dilakukan pada sisi
int left, right, mid; left = 0;
kanannya saja.
right = n-1;
4. jika element yang dicari tidak
while(left