Berkas Dan Akses
Berkas Dan Akses
Master file (berkas induk) adalah file yang berisi objek-objek yang
harus ada di sebuah unit kerja (enterprise). Misalkan, di sebuah
perguruan tinggi, objek-objek yang harus ada seperti (1) mahasiswa,
(2) dosen, (3) mata kuliah, (4) biaya kuliah, (5) ruang kelas, dan
sebagainya. Objek-objek tersebut harus disimpan datanya di dalam file
komputer, dan akan masuk ke dalam katagori master file.
Dynamic master file adalah master file yang salah satu atau lebih
atributnya (field) akan berubah nilai datanya bila terjadi suatu
transaksi. Sebaliknya, reference master file adalah master file yang
seluruh atributnya tidak mengalami perubahan jika terjadi suatu
transaksi (hanya digunakan sebagai referensi saja).
TRANSACTION FILE
Transaction file adalah berkas transaksi yang harus disimpan di
dalam media penyimpanan eksternal komputer. Transaction file terjadi
akibat adanya hubungan (relasi) antarmaster file. Misalkan, di
perpustakaan ada master file PEMINJAM, dan BUKU. Ketika PEMINJAM
melakukan peminjaman BUKU, maka terjadilah transaksi, dan transaksi
tersebut harus dicatat, misalkan di file transaksi dengan nama PINJAM.
Mengacu pada prinsip basis data, tidak boleh ada atribut yang
ganda (berisi sama) di semua file data yang ada kecuali untuk atribut
kuncinya (key field), maka pada file data PINJAM, tidak boleh ada
atribut nama peminjam dan buku yang dipinjam (lihat gambar 1).
Ketika transaksi PINJAM terjadi, tidak satupun atribut PEMINJAM
mengalami perubahan, maka file PEMINJAM adalah file berjenis
reference master file. Sedangkan pada file BUKU, ada atribut yang
berubah nilai datanya, yaitu atribut jumlah buku. Ketika transaksi
PINJAM terjadi, jumlah buku yang ada akan berkurang karenanya.
Dengan demikian, file BUKU termasuk file berjenis dynamic master file.
NAMA
DENDA
*NO_ANG
*KD_BUKU
ALAMAT
*KD_PINJ
JUDUL
TGL_KEM
PEMINJAM
PINJAM
BUKU
JUMLAH
PENGARANG
TGL_PINJ
**NO_ANG
TH_TERBIT
**KD_BUKU
PENGORGANISASIAN BERKAS
Data yang disimpan ke media penyimpanan eksternal di komputer
harus diorganisasikan agar data tersebut dapat diambil kembali
(retrieve) untuk selanjutnya dilakukan pengolahan.
Ada 4 macam pengorganisasian file, yaitu (1) sequential, (2)
relative, (3) index sequential, dan (4) multi key. Yang mana yang akan
dipilih, tentunya dengan mempertimbangkan bagaimana data tersebut
kelak akan diproses.
SEQUENTIAL ORGANIZATION FILE
Sequential (=berurutan), record pertama yang dmasukkan akan
menempati posisi pertama di media penyimpanannya, dan seterusnya.
Jika akan dilakukan pemanggilan record yang telah disimpan
(retrieval), maka komputer akan selalu membaca dari record pertama
hingga ditemukanya record yang dicarinya.
Keefisienan pembuatan organisasi seperti ini adalah jika semakin
besar nilai dari jumah record yang akan diolah dibagi dengan jumlah
record keseluruhannya (diistlahkan dengan perhitungan hit ratio) maka
akan semakin efisien. Sebagai gambaran, jika semakin banyak lagu
yang akan kita dengar dari sebuah kaset, maka akan semakin
menguntungkan menggunakan kaset itu dibanding jika kita hanya
ingin mendengar satu lagu (apalagi letaknya di paling akhir) dari kaset
itu.
RELATIVE ORGANIZATION FILE
Jika pada organisasi file sequential digambarkan sebagai sebuah
kaset, maka organisasi file relatif digambarkan sebagai sebuah
compac disk (CD). Kita bisa langsung memilih lagu mana yang akan
kita dengarkan tanpa harus didahului (mendengarkan) lagu
sebelumnya. Relatif dapat diartikan langsung.
Pengorganisasian relatif memungkinkan kita memproses record
yang mana saja secara langsung tanpa harus melalui (membaca)
record-record yang lainnya.
INDEXED SEQUENTIAL ORGANIZATION FILE
Penyusunan data dengan organisasi indexed sequential dapat
digambarkan sebagai meyusun kata dalam sebuah kamus. Kita dapat
mencari kata dalam kamus secara sequential maupun dengan
memanfaatkan indeksnya.
Gambar 2 di bawah
pengalamatan data :
ini
menggambarkan
R(Nilai_Key)
Pemetaan Langsung
(Direct Mapping)
Pengalamatan Mutlak
berbagai
teknik
Alamat
Pemetaan Tabel
(Directory Look-up)
Kalkulasi
(Calculating)
Pengalamatan Relatif
PEMETAAN TABEL
Untuk mengatasi pemborosan yang terjadi di pengalamatan relatif,
maka cara pemetaan tabel (directory look up) ini bisa digunakan
sebagai solusinya.
Teknik ini memisahkan record data lainnya dengan key fieldnya.
Semua key field disatukan dalam sebuah tabel yang di dalam tabel
tersebut dipetakan alamat record datanya, semacam mencari katalog
di perpustakaan yang jika katalog itu ditemukan maka buku yang akan
dipinjam diketahui lokasi tempat penyimpanannya.
Masalahnya, jika mencari katalognya secara berurut (sequential),
maka akan memakan waktu yang relatif lama, karenanya ada yang
mencarinya dengan cara binary search tree, misalkan ia mencari dari
tengah tumpukan katalog, bila kurang, ia cari tengahnya lagi dengan
kartu katalog yang paling belakang, tetapi bila lebih ia akan mencari
tengahnya lagi dari kartu katalog terdepan, dan seterusnya.
KALKULASI
Jika pemetaan tabel diharuskan membuat tabel (file) baru yang
berisi seluruh key field dan alamat recordnya, maka pada teknik
kalkulasi ini dicoba untuk tidak perlu membuatnya. Akan dihitung
sedemikian rupa dari key fieldnya untuk mendapatkan alamat yang
akan ditempati record (data)nya.
Teknik kalkulasi yang dibahas adalah teknik hashing yang umumnya
terdiri atas (1) division remainder, (2) mid square, dan (3) folding.
DIVISION REMAINDER (SISA PEMBAGIAN)
Alamat diperoleh dengan menentukan sisa hasil pembagian atas
key fieldnya. Faktor pembaginya bisa berbagai macam, ada yang
membagi dengan bilangan prima, dan bisa juga sembarang bilangan.
Contoh sisa pembagian : 100/3 sisa pembagiannya = 1. Cara
seperti ini bisa mengakibatkan adanya hasil perhitungan yang sama,
akibatnya, akan terjadi beturan (pemakaian alamat yang sama untuk
lebih dari record yang berbeda). Benturan diistilahkan dengan collision.
Tentunya, salah satunya harus ditempatkan di alamat yang berbeda.
disediakan pula tempat lain di luar primary area (batasan alamat yang
seharusnya), yaitu di overflow area.
Di overflow area pun perlu dicek, apakah sudah ada record lain
yang telah menempatinya, hal ini menjadikan kita perlu melakukan
hashing kembali (double hashing).
SYNONIM CHAINING
Synomim chaining memberi tahu rangkaian alamat berikutnya dari
record yang terjadi collision. Jadi, ada next pointer untuk menunjuk ke
alamat lainnya yang pada perhitungan sebelumnya terjadi nilai yang
sama. Dalam materi struktur data, hal ini dikenal dengan istllah linked
list.
Jadi, komputer tidak perlu mencari alamat record yang terjadi
collision karena sudah ada di penunjuknya (pointer).
BUCKET ADDRESSING
Data yang terjadi collision diletakkan dalam satu blok (bucket), baik
di primary area maupun di overflow areanya. Bila satu blok sudah
penuh, maka akan ada penunjuk (pointer) untuk menunjuk blok
berikutnya.
Penempatan data di blok bisa diurut sesuai key fieldnya atau sesuai
urutan datangnya data.
MEDIA PENYIMPANAN DATA
RECORD
IRG
RECORD
RECORD
IRG
IRG
IRG
RECORD
IBG
RECORD
RECORD
IBG
IRG
RECORD
IRG
RECORD
IBG
RECORD
IRG
IBG
BL
RL
RECORD
BL
RL
RECORD
IRG
BL
RL
RECORD
IRG
RL
RECORD
RL
IRG
Syarat Undefined :
RECORD
RL
IRG
RECORD
RECORD
IRG
RECORD
RECORD
IRG
RECORD
IRG
IRG
RECORD
IRG
IRG
Syarat Spanned
. Panjang tiap physical record (block) adalah sama
. Panjang tiap global record tidak sama
. Satu logical record mungkin berada di dalam lebih dari satu
physical record
RECORD
RECORD
IBG
RE
IBG
CORD
IBG
REC
ORD
IBG
RECOR
IBG
1
2
3
4
berisi
berisi
berisi
berisi
data
data
data
data
:
:
:
:
1
0
1
1
1
0
0
1
1
1
1
0