Anda di halaman 1dari 7

Jhona Simanjuntak

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”

Jhona Simanjuntak
Jhona Simanjuntak

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

Jhona Simanjuntak
Jhona Simanjuntak

Program :

Output :

Jhona Simanjuntak
Jhona Simanjuntak

2. Buatlah program dengan binarysearch


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”

Jhona Simanjuntak
Jhona Simanjuntak

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]

Flowchart 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

Jhona Simanjuntak
Jhona Simanjuntak

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

Jhona Simanjuntak
Jhona Simanjuntak

Program :

Output :

Jhona Simanjuntak

Anda mungkin juga menyukai