Untuk mencari rekaman dengan kunci 51 diperlukan 1 probe, kunci 1060 diperlukan 3 probe, dan kunci 895 tidak ditemukan karena tidak ada di antara rekaman.
2. Berkas Biner
Menyimpan data sembarang dan tidak dipisah-pisahkan
dalam baris
Bisa berisi data dan kode program dalam bahasa mesin
Jika dibuka menggunakan text editor semacam
Notepad, akan muncul huruf-huruf yang tak terbaca
Macamnya :
Object File : berisi byte-byte yang diatur dalam blok-
blok yang dapat dipahami system linker
Executable File : berisi kode mesin yang langsung dapat
dimuat ke dalam memory dan dijalankan oleh loader
Data File : berisi data semacam
gambar, suara, video, dll
3. Pencarian Biner
Membandingkan kunci yang dicari dengan rekaman pada
posisi tengah dari berkas.
Bila sama (kasus 1) berarti rekaman yang diinginkan
sudah ditemukan, atau kalau tidak sama (kasus2) berarti
separuh dari rekaman-rekaman dalam berkas akan
dieliminasi dari perbandingan yang selanjutnya.
Bila yang terjadi adalah kasus 2 maka proses
pembandingan terhadap rekaman pada posisi tengah
dilanjutkan menggunakan rekaman-rekaman yang tersisa
4. Proc pencarian_biner
/* n buah rekaman diurutkan menaik menurut kunci rekaman */
AWAL :=1
Akhir := n
While AWAL ≤ AKHIR do
tengah := [ (awal+akhir)/2]
if kunci (cari) = kunci (tengah)
then pencarian berakhir.
else if kunci(cari) > kunci (tengah)
then AWAL := TENGAH + 1
else AKHIR := TENGAH – 1
end
rekaman tidak ditemukan
end pencarian_biner
5. Flowchart utk pencarian biner
Mulai
AWAL = 1
AKHIR = N
> Rekaman
AWAL : AKHIR Tidak
ditemukan
≤
TENGAH := [(AWAL+AKHIR)/2]
AKHIR = < Kunci(cari): = Rekaman
TENGAH -1 Kunci (tengah) ditemukan
>
AWAL = TENGAH +1 Selesai
7. Jika kunci cari < kunci tengah, maka bagian berkas mulai
dari kunci tengah sampai akhir berkas dieliminasi.
Jika kunci cari > kunci tengah , maka bagian berkas mulai
dari depan sampai dengan kunci tengah dieliminasi.
Jika Awal >Akhir maka rekaman tidak ditemukan
Pembulatan angka untuk hasil nilai tengah adalah
pembulatan ke bawah
8. 1. Berikut akan dicari rekaman dengan kunci
49, berapa probe yang dilakukan untuk
mendapatkannya?
Keterangan :
Bilangan yang dicetak tebal menunjukkan
rekaman yang sedang dibandingkan dan
tanda kurung membatasi bagian berkas yang
tersisa yang masih harus diperbandingkan.
Tanda [ untuk AWAL dan tanda ] untuk
AKHIR.
14. 1 Berapa banyak Probe yang dibutuhkan untuk
mendapatkan “Juli” pada urutan nyata dan
alphabetikal bulan-bulan dalam system
penanggalan?
2 Berapa Probe yang dibutuhkan untuk
mendapatkan ”Rabu” pada urutan nyata hari-
hari dalam sistem waktu?
15. Jawaban :
(a). ”Juli” dalam kalender berada di urutan 7 jadi
untuk mendapatkan ”Juli” dibutuhkan 7 probe.
(b). Bulan dalam kalender jika diurutkan secara
alphabet menghasilkan
Agustus, April, Desember, Februari, Januari, J
uli, Juni, Maret, Mei, November, Oktober, Sep
tember dibutuhkan 6 probe untuk mendapatkan
”Juli”.
16. 1. Diketahui rekaman-rekaman dengan kunci
34, 44, 51, 56, 690, 890, 1060, 2876, 3570, d
an 3999, berapa Probe diperlukan untuk
menemukan reakaman dengan kunci
51, 1060 dan 895 menggunakan pencarian
biner?