d1ff7 sistem berkas materi 4

ORGANISASI BERKAS
SEKUENSIAL
SISTEM BERKAS – Materi 4

Record-record direkam secara berurutan pada

waktu berkas ini dibuat dan harus diakses secara
berurutan pada waktu berkas ini digunakan sebagai
input.
Berkas sekuensial sangat cocok untuk akses yang
sekuensial, misalnya dalam aplikasi dimana
sebagian besar atau semua rekaman akan diproses.
Pencarian secara sekuensial adalah memproses
rekaman – rekaman dalam berkas sesuai urutan
keberadaan rekaman – rekaman tersebut sampai
ditemukan rekaman yang diinginkan atau semua
rekaman terbaca.

Berkas sekuensial juga dapat diproses
secara tunggal dan langsung, jika diketahui
subskripnya. Tetapi bagaimana kalau

subskrip yang dimiliki bukan identitas utama
rekaman, misal “Nama Mahasiswa” pada file
berikut ini :

pembacaan rekaman lebih baik, maka
rekaman-rekaman dalam berkas mahasiswa
tersebut diurutkan untuk mendapatkan
pengurutan yang linier berdasarkan nilai
kunci rekaman. Baik secara alphabetis
maupun numeris. Hasil pengurutannya
adalah sbb :

contoh berkas rekaman mahasiswa urut

PENCARIAN BINER (BINARY
SEARCH)
Pencarian Biner dalah membandingkan kunci yang

dicari dengan rekaman pada posisi tengah dari berkas.
Bila sama (Kasus 1) rekaman yang diinginkan sudah

ditemukan. Jika tidak sama (kasus 2), berarti separuh
rekaman-rekaman dalam berkas akan dieliminasi dari
perbandingan yang selanjutnya. Bila yang terjadi pada
kasus 2, maka proses perbandingan terhadap rekaman
pada posisi di tengah dilanjutkan menggunakan
rekaman-rekaman yang tersisa.
Jumlah probe (yang diperlukan untuk membaca
sebuah rekaman) pada sebuah berkas dengan
rekaman yang sudah diurutkan, dapat diperkecil
dengan menggunakan teknik pencarian biner.

Jika kunci cari < kunci tengah maka
 bagian berkas Mulai dari kunci tengah sampai akhir

berkas dieliminasi

Sebaliknya jika kunci cari > kunci tengah

maka
 Bagian berkas mulai dari depan sampai dengan


kunci tengah dieliminasi

Dengan mengulang proses perbandingan

terhadap rekaman tengah, maka lokasi
rekaman yang diinginkan akan ditemukan
atau diketahui bahwa rekaman yang

Algoritma pencarian biner:

Kolom “Nomor mahasiswa” menunjukkan nilai yang urut dari kecil ke besar,

atau
Pencarian Biner

untuk sebuah berkas dengan rekaman yang telah diurutkan jumlah probe
yang diperlukan untuk membaca sebuah rekaman dapat diusahakan untuk
diperkecil dengan menggunakan teknik pencarian biner.
Jika kuncicari < Kuncitengah, maka bagian berkas mulai dari Kuncitengah sampai

akhir berkas dieliminasi. Sebaliknya jika kuncicari > Kuncitengah maka bagian
berkas mulai dari depan sampai dengan Kunci tengah dieleminasi.
Pada contoh pertama berikut ini akan dicari rekaman dengan kunci 49.
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.
1 2 3 4 5 6 7 8 9

[21 25283338 39484969]
21 25283338[39 48 4969]
21 252833383948[49 69]

1 2 3 4 5 6 7 8 9
[21 25 28 33 38 39 48 49 69]
2125 28 33 38 [39 48 49 69]
2125 28 33 38 39 48 [49 69]

 Iterasi 1 : TENGAH 1 = [(1 + 9) / 2 ] = 5

Kcari : K


tengah1

49 > 38

Kcari : K

tengah2

49 > 48

AWAL = TENGAH1 + 1 = 6
 Iterasi 2 : TENGAH 2 = [(6 + 9) / 2 ] = 7

AWAL = TENGAH21 + 1 = 8
 Iterasi 3 : TENGAH 3 = [ (8 + 9 ) / 2 ] = 8

Ketemu, Probe = 3

Kcari : K


tengah2

49 = 49

Pada contoh kedua berikut ini akan dicari rekaman dengan kunci 27.
1 2 3 4 5 6
[21 25 28 33 38 39
[21 25 28 33]
38
21 25 [28 33]
21 25]
[28 33

7
48
39
38
38


8
49
48
39
39

9
69]
49 69
48 49 69
48 49 69

 Iterasi 1 : TENGAH1 = [(1 + 9) / 2 ] = 5

Kcari : K

tengah1

27> 38


Kcari : K

tengah2

27 > 25

AKHIR = TENGAH1 - 1 = 4
 Iterasi 2 : TENGAH2 = [(1 + 4) / 2 ] = 2

AWAL = TENGAH2 + 1 = 3
 Iterasi 3 : TENGAH3 = [ (3 + 4 ) / 2 ] = 3

Kcari : K

tengah2

AKHIR = TENGAH3 -1 = 2
 Iterasi 4 : AWAL > AKHIR -> Rekaman tidak ditemukan

27< 28


PENCARIAN INTERPOLASI
Pencarian interpolasi (asumsinya kunci

rekaman numeris) menentukan posisi yang
akan dibandingkan berikutnya berdasar
posisi yang di estimasi dari sisa rekaman
yang belum diperiksa.
Pencarian interpolasi tidak mencari posisi
tengah, seperti algoritma pencarian biner,
melainkan menentukan posisi berikutnya.

ALGORITMA PENCARIAN
INTERPOLASI

Untuk rekaman dengan susunan sebagai berikut, berapa probe untuk

menemukan rekaman dengan kunci 49 bila digunakan pencarian interpolasi.
12 3 4 56 7 8 9
[21 2528333839 484969]

212528333839[48 49 69]
Perhitungan :
Iterasi 1 : BERIKUT1 :=

=- 21)
5,6666

(49
1  (69 - 21 (9 - 1)



, dibulatkan 6

Kcari : Kberikut = 49 > 39
AWAL = BERIKUT1 + 1 = 6 + 1 = 7
Iterasi 2 : BERIKUT2 =
Kcari : Kberikut2 = 49 = 49

 (49 - 48)


7  (69 - 48 (9 - 7  7,0952



dibulatkan 8

ketemu, probe 2