Anda di halaman 1dari 2

RIZKY ILLAHI 16502241022

HENDI SAKTIA 16502244008


IRVAN WIDYA PANGESTU 16502244010

Algoritma dan Struktur Data


Pencarian

Pencarian Sekuensial
Algoritma:
Fungsi PencarianSekuensial(int x)
i 0
ketemufalse
while (!ketemu) and (i < Max)
if Data[i] == x then
ketemutrue
else
i++
end if
end while
if (ketemu)
return i
else
return -1
end if
end fungsi

Penjelasan cara kerjanya:


1. Atur variabel i bernilai 0 dan ‘ketemu’ bernilai false.
2. Selama tidak ketemu dan nilai i < Max (atau bisa diinisialkan sebagai N), kerjakan
baris 4
3. Jika Data[i] == x, maka variabel ‘ketemu’ bernilai true. Jika tidak, maka lakukan
increament i++
4. Jika sesuai dengan variabel ‘ketemu’, maka i merupakan indeks data yang dicari. Jika
tidak, maka data tidak dapat ditemukan.
Pencarian Biner
Algoritma:
fungsi BinarySearch(int x)
L 0
RMax-1
Ketemu false
while (L <= R) and (!ketemu) then
m = (L + R) / 2
if Data[m] == x then
ketemutrue
else
if x < data[m]
R  m - 1
else
L  m + 1
end if
end if
end while

if ketemu then
return m
else
return -1
end if
end fungsi

Penjelasan cara kerjanya:


1. Atur nilai L=0, R=Max-1, dan variabel ‘ketemu’ = false.
2. Selama L<=R dan tidak ‘ketemu’ kerja baris 5 sampai dengan 8
3. Hitung m = (L+R)/2
4. Jika Data[m] == x, maka nilai variabel ‘ketemu’ menjadi true.
5. Jika x < data[m], maka hitung R = m – 1
6. Jika x > data[m], maka hitung L = m + 1
7. Jika sesuai dengan nilai variabel ‘ketemu’, maka nilai m merupakan indeks data yang
dicari. Jika tidak, maka data tidak dapat ditemukan.

Anda mungkin juga menyukai