Organisasi Berkas
Oleh :
Adi Fajaryanto C., S.Kom., M.Kom.
Maju Mundur
Organisasi Berkas
• Organisasi Berkas Sekuensial
Rekaman disimpan di dalam file secara beruntun
berdasarkan waktu pemasukannya (rekaman yang
masuk lebih dulu memiliki indeks / alamat yang lebih
kecil dari yang dimasukkan kemudian)
• Organisasi Berkas Langsung
Rekaman disimpan tidak secara beruntun, namun pada
alamat yang didasarkan pada kunci rekaman
• Organisasi Berkas Sekuensial Berindeks
Rekaman disimpan secara beruntun namun
ditambahkan dengan adanya indeks yang akan
mempermudah penemuan rekaman kembali
Maju Mundur
Akses
Sesuai dengan namanya ,berkas sekuensial sangat cocok untuk akses
yang sekuensial, misal dalam aplikasi dimana sebagian besar atau semua
rekaman akan diproses.
Sebagai contoh adalah membuat daftar semua mahasiswa dalam sebuah
Jurusan.
Berkas sekuensial juga dapat diproses secara tunggal dan langsung, jika
diketahui subskripnya.
• Pencarian secara sekuensial memproses rekaman-rekaman dalam berkas sesuai urutan
keberadaan rekaman-rekaman tersebut sampai ditemukan rekaman yang diinginkan atau semua
rekaman terbaca.
Sebagai contoh, rekaman-rekaman berkas mahasiswa diurutkan untuk mendapatkan pengurutan yang
linier berdasar pada nilai kunci rekaman, baik secara alphabetis (huruf) ataupun numeris (angka)
Medan Data
Medan berisi nilai dasar yang membentuk sebuah rekaman. Isi sebuah medan bergantung pada
atribut yang dimiliki oleh individu pemilik rekaman.
Rekaman yang disimpan dalam berkas pada umumnya memiliki medan yang berfungsi khusus
yaitu sebagai identitas rekaman yang memiliki sifat pembeda baik internal maupun eksternal.
Rekaman Data
Rekaman Mahasiswa
Berkas Data
Sebuah berkas merupakan koleksi dari rekaman-rekaman yang sama, yang diletakkan dalam peralatan
penyimpan data komputer. Sebuah berkas akan memiliki nama yang dikenal dengan sistem
operasi.
Dibawah ini contoh berkas rekaman mahasiswa urut “Nomor Mahasiswa” :
Nama Nomor Fakultas Jurusan Dosen SPP Data
Mahasiswa Mahasiswa Pembimbing lain
Komarudin 0101 Teknik Kimia Tri,Ir 400.000
Mulai
AWAL = 1
AKHIR = N
> Rekaman
AWAL : AKHIR Tidak
ditemukan
≤
TENGAH := [(AWAL+AKHIR)/2]
>
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
• Kolom “Nomor mahasiswa” menunjukkan nilai yang urut dari kecil ke besar, atau
Kunci1 < kunci2 < kunci3 < ……. Kunci I < …… Kunci n
• 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 Kuncitengah 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 25 28 33 38 39 48 49 69]
21 25 28 33 38 [39 48 49 69]
21 25 28 33 38 39 48 [49 69]
• TENGAH1 = [(1 + 9) / 2 ] = 5 Kcari : K tengah1 49 > 38
AWAL = TENGAH1 + 1 = 6
Proc pencarian_interpolasi
/* n buah rekaman dalam berkas diurutkan menaik menurut kunci rekaman */
AWAL := 1
Akhir := n
while AWAL ≤ AKHIR do
1 2 3 4 5 6 7 8 9
[21 25 28 33 38 39 48 49 69]
21 25 28 33 38 39 [48 49 69]
Perhitungan :
(49 - 48)
BERIKUT2 = 7 (69 - 48) (9 - 7) 7,0952 dibulatkan 8