id
Jln. Jendral Ahmad Yani No. 82 Telp (0333) 7700669 Fax. (0333) 417902 Banyuwangi - 68416
3.2 Indikator
Mahasiswa mampu menganalisa persoalan dan membuat program
pencarian dengan benar.
Mahasiswa mampu mengaplikasikan metode pencarian dalam
pembuatan program praktis
1
STIKOM PGRI BANYUWANGI | www.stikombanyuwangi.ac.id
Jln. Jendral Ahmad Yani No. 82 Telp (0333) 7700669 Fax. (0333) 417902 Banyuwangi - 68416
jika elemen yang dicari sudah ditemukan, fungsi yang ditulis diatas
akan segera mengembalikan nilai True kemudian berakhir. Jika akhir larik
dicapai dan fungsi tidak menghasilkan nilai True, hal ini berarti elemen yang
dicari memang tidak ada sehingga fungsi menghasilkan nilai False.
2
STIKOM PGRI BANYUWANGI | www.stikombanyuwangi.ac.id
Jln. Jendral Ahmad Yani No. 82 Telp (0333) 7700669 Fax. (0333) 417902 Banyuwangi - 68416
Pada metode Binary Search, cara kerja dari metode ini dapat
dibayangkan dengan mencoba menebak bilangan diantara angka 1 hingga 100.
Dalam setiap menebak sebuah angka, akan diketahui apakah tebakan itu benar,
terlalu besar, atau terlalu kecil. Tebakan terbaik saat pertama kali adalah angka
50. Jika tebakan tersebut terlalu tinggi, maka akan ditebak angka 25. Sementara
jika tebakan tersebut terlalu rendah, maka akan ditebak angka 75. Setiap kali
3
STIKOM PGRI BANYUWANGI | www.stikombanyuwangi.ac.id
Jln. Jendral Ahmad Yani No. 82 Telp (0333) 7700669 Fax. (0333) 417902 Banyuwangi - 68416
tebakan, akan selalu dipilih titik tengah dengan menyesuaikan batas bawah dan
batas atas bilangan (bergantung pada tebakan yang terlalu tinggi atau rendah).
Sebagai contoh, ditunjukkan pada gambar 2.
Untuk dapat mengimplementasikan Binary Searching, nilai pada Array
sudah harus terurut. Langkah pertama dalam algoritma ini adalah menentukan
batas bawah (min) dan batas atas (max). selanjutnya ditentukan batas tengah
(mid) dengan cara menjumlahkan batas atas dan batas bawah dan dibagi 2.
Dalam rumus matematika, dapat dituliskan dengan: mid = (max + min) / 2.
Pseudocode Inti Binary Searching
max = arr.length – 1
min = 0
while min <= max do
mid = (max + min) / 2
if arr[mid] = sValue then
return True
else if value < arr[mid]
max = mid – 1
else
min = mid + 1
end if
end while
return False
3.7 Praktikum
Bentuk dalam pengimplementasian algoritma Linear Search adalah
sebagai berikut:
4
STIKOM PGRI BANYUWANGI | www.stikombanyuwangi.ac.id
Jln. Jendral Ahmad Yani No. 82 Telp (0333) 7700669 Fax. (0333) 417902 Banyuwangi - 68416
function LinearSearch(DataCari)
{
var Start = performance.now();
5
STIKOM PGRI BANYUWANGI | www.stikombanyuwangi.ac.id
Jln. Jendral Ahmad Yani No. 82 Telp (0333) 7700669 Fax. (0333) 417902 Banyuwangi - 68416
function BinarySearch(DataCari)
{
var Start = performance.now();
var IndexAwal = 0;
var IndexAkhir = dataArray.length - 1;
var IndexTengah;
var hasil = false;
while(IndexAwal <= IndexAkhir)
{
IndexTengah = Math.floor((IndexAkhir + IndexAwal)/2);
if (dataArray[IndexTengah] == DataCari)
{
hasil = true;
break;
}
else if (DataCari < dataArray[IndexTengah])
IndexAkhir = IndexTengah - 1;
else
IndexAwal = IndexTengah + 1
}
if(hasil == true)
document.getElementById("lblHasil").innerHTML = "Data ditemukan pada indeks
ke-" + IndexTengah;
else
document.getElementById("lblHasil").innerHTML = "Data tidak ditemukan";
6
STIKOM PGRI BANYUWANGI | www.stikombanyuwangi.ac.id
Jln. Jendral Ahmad Yani No. 82 Telp (0333) 7700669 Fax. (0333) 417902 Banyuwangi - 68416
7
STIKOM PGRI BANYUWANGI | www.stikombanyuwangi.ac.id
Jln. Jendral Ahmad Yani No. 82 Telp (0333) 7700669 Fax. (0333) 417902 Banyuwangi - 68416