Assalamualaikum wr.wb
Hy teman2 kali ini saya akan membahas tentang Binary Search dan Squential Search .
Binary
Search hanya bisa melakukan pencarian data yang sudah
terurut.Prinsip kerjanya membagi dua daftar jika elemen ditemukan. Sedangkan Sequential Search adlah teknik
pencarian data dimana data dicari secara urut dari depan ke belakang atau dari
awal sampai akhir.
Contoh Binary search
Jika dicari angka 74 maka prosesnya sebagai berikut :
Langkah awal : diurutkan
34
|
67
|
23
|
28
|
98
|
15
|
74
|
67
|
28
|
18
|
Langkah kedua : dijadikan 2
15
|
18
|
23
|
28
|
28
|
34
|
67
|
67
|
74
|
98
|
15
|
18
|
23
|
28
|
28
|
Langkah ketiga : dibagi
menjadi 2 bagian lagi
34
|
67
|
67
|
74
|
98
|
Langkah terakhir :
dipilih tengahnya
67
|
74
|
98
|
v Sedangkan
mencari sequential begini caranya
-
Missal sequential kriteria = 17
1.
17 ! = x [0] (16) = YA index++
2.
17 ! = x [1] (17) = TIDAK
16
|
17
|
23
|
Binary
= 17 < 45
Indeks tengah 17
17 = 17 ketemu = 17
(x[1])
v Cara
ke dua mencari Sequential kriteria = 23
23 = x [0] = FALSE = index++
23 = x [1] = FALSE = index++
23 = x [2] = TRUE = tampilkan
Binary
Langkah 1 = 0+7/2 = 35 | x [3] = 45
If (23 < = 45)
Ambil sisi kiri
16
|
17
|
23
|
Langkah 2 = 0+2 = 2/2 = 1 x [1] = 17
If (23 > = 17) ambil
sisi kanan
23
|
Langkah 3 = If (23 = 23)
Tampilkan 23
v Cara
ke tiga mencari Squential kriteria =
78
78! = x[0] = y = indeks++
78! = x[1] = y = indeks++
78! = x[2] = y = indeks++
78! = x[3] = y = indeks++
78! = x[4] = y = indeks++
78! = x[5] = y = ketemu x [5]
Binary
0 + 7/2 = 3,5 = 3 x [3] = 45
16
|
17
|
23
|
45
|
50
|
78
|
99
|
100
|
0 + 5/2 = 2,5 = 2 x [2]
50
|
78
|
99
|
100
|
contoh Programnya :
<html>
<head>
<title>Struktur Data Linear Searching</title>
<script>
var dataArray = [2,4,16,22,28,3,27,89,77,43,12,36,44,50,54,58,66,82,86,90,];
document.write("Data Array:");
document.writeln(dataArray.toString());
function LinearSearch(DataCari)
{
var Start = performance.now();
for(var i=0;i<dataArray.length;i++)
{
if(dataArray[i] == DataCari)
{
document.getElementById("lblHasil").innerHTML = "Data ditemukan pada indeks ke-"+i;
break;
}
else
{
document.getElementById("lblHasil").innerHTML = "Data tidak ditemukan";
}
}
var Stop = performance.now();
var TotWaktu = parseFloat((Stop-Start)/1000).toFixed(5);
document.getElementById("lblWaktu").innerHTML = "waktu Komputasi:"+TotWaktu+"detik";
}
</script>
</head>
<body>
<form>
<p>
<label>Data Yang Dicari</label><input type="text" id="txtCari" size=10>
<input type="button" value="Tampil Data"
onclick="LinearSearch(txtCari.value)"><br>
<label id="lblHasil"></label><br>
<label id="lblWaktu"></label><br>
</p>
</form>
</body>
</html>
maka akan tampil seperti ini
Sekian penjelasan dari saya Terimakasih
No comments:
Post a Comment