Anda di halaman 1dari 7

Rahmat Isma Hidayat

LATIHAN BINARY SEARCH

1. Buatlah program dengan binary search


Algoritma :
 Inisialisasikan array seperti a[]={44,42,35,33,31,27,26,19,14,10}, dan
tentukan besar array lalu masukan nilai n, dan tentukan nilai yang di
cari lalu masukan ke variable “x”
 Inisialisasikan rumus yang di perlukan yaitu nilai tengah masukan ke
variable “k”,masukan indeks awal ke variable “i”, dan variable akhir
masukan kevariable “j”
 Masukan nilai ke variable yang sudah di tentukan
seperti “n=10,x=44,i=0,dan j=9”
 Tampilkan array yang ada menggunakan fungsi for dengan nilai “p=0”
perulangan dilakukan sampai “p<n” dan setiap perulangan p di tambah
1, lalu di dalam perulangan tampilkan array “a[p]”
 Lakukan perulangan kedua untuk mencari nilai yang di cari dengan
nilai “p=0” perulangan dilakukan sampai “p<n” dan setiap perulangan
p di tambah 1, dan di dalam perulangan lakukan proses “k=(i+j)/2”
 Masih di dalam perulangan gunakan fungsi if untuk membandingkan
nilai array k dengan x “a[k]==x” jika benar maka tampilkan data
ditemukan lalu gunakan fungsi break agar keluar dari perulangan.
 Jika tidak, lakukan fungsi if yang berisi perintah “a[k]>x” jika benar
maka jalankan proses “i=k+1” jika salah lakukan proses “j=k-
1”,lakukan perulangan sampai nilai ketemu.
 Setelah keluar dari perulangan gunakan fungsi if dengan perintah
“p==10” jika benar tampilkan “data tidak ditemukan”

Rahmat Isma
Rahmat Isma Hidayat

Flowchart :
Start

a[]={44,42,35,33,31,27,26,19,14,10}
n=10,x=44,i=0,j=9

P=0

No
p<n
P++
x yes

a[p]
p=0

No
P<n

yes
yes
K=(i+j)/2 P==10
p++
No

a[k]==x No end indeks

yes
Indeks=k No
a[k]>x

yes
indeks
i=k+1 i=k+1

break

Rahmat Isma
Rahmat Isma Hidayat

Program :

Output :

Rahmat Isma
Rahmat Isma Hidayat

2. Buatlah program dengan binary search


Algoritma :
 Pertama tentukan nilai yang di cari lalu masukan ke variable “x” dan
masukan besaran array ke variable “n”
 Buatlah fungsi menampilkan yang berguna untuk menampilkan array
yang di awali dengan inisialisasikan array a
 Lalu gunakan fungsi perulangan dengan nilai “p=0” perulangan
dilakukan sampai “p<n” dan setiap perulangan p di tambah 1, dan di
dalam perulangan tampilkan array a, lalu panggil ke fungsi main.
 Setelah terpanggil buat fungsi untuk mencari nilai yang ingin di cari
dengan di awali inisialisasikan array “a” dan masukan rumus yang di
perlukan ke variable seperti nilai tengah masukan ke variable
“k”,masukan indeks awal ke variable “i”, dan variable akhir masukan
ke variable “j”
 Lalu gunakan fungsi perulangan dengan nilai “p=0” perulangan
dilakukan sampai “p<n” dan setiap perulangan p di tambah 1, dan di
dalam perulangan lakukan proses “k=(i+j)/2”,
 Masih di dalam perulangan gunakan fungsi if untuk membandingkan
nilai array k dengan x “a[k]==x” jika benar maka tampilkan data
ditemukan lalu gunakan fungsi break agar keluar dari perulangan.
 Jika tidak, lakukan fungsi if yang berisi perintah “a[k]>x” jika benar
maka jalankan proses “i=k+1” jika salah lakukan proses “j=k-
1”,lakukan perulangan sampai nilai ketemu.
 Setelah keluar dari perulangan gunakan fungsi if dengan perintah
“p==10” jika benar tampilkan “data tidak ditemukan”

Rahmat Isma
Rahmat Isma Hidayat

Flowchart fungsi menampilkan :

start

a[]={44,42,35,33,31,27,26,19,14,10}

P=0

No
p<n
P++
yes
end
a[p]

Flow chart Fungsi main :

Start

a[]={44,42,35,33,31,27,26,19,14,10}
n=10,x=44,i=0,j=9

menampilkan (n)

menampilkan (n)

end

Rahmat Isma
Rahmat Isma Hidayat

Flowchart fungsi mencari :

start

a[]={44,42,35,33,31,27,26,19,14,10}
n=10,x=44,i=0,j=9

p=0

No
P<n

yes
yes
K=(i+j)/2 P==10
p++
No

a[k]==x No end indeks

yes
Indeks=k No
a[k]>x

yes
indeks i=k+1 i=k+1

break

Rahmat Isma
Rahmat Isma Hidayat

Program :

Output :

Rahmat Isma

Anda mungkin juga menyukai