Pengertian
Organisasi Berkas Dengan Banyak Key
• Organisasi berkas yang
memperbolehkan record diakses oleh lebih dari satu key field disebut organisasi
berkas dengan banyak key.
Ada banyak teknik yang dipakai untuk
organisasi berkas dengan banyak key ini. Hampir semua pendekatan bergantung
pada pembentukan indeks yang dapat memberi akses langsung dengan banyak nilai
key.
Ada 2 teknik dasar untuk pemberian
hubungan antara sebuah indeks dan data record dari berkas, yaitu :
Inversion
Multi-list
Definisi
dan Aplikasi Berkas dengan Banyak Key
Banyak sistem informasi interaktif
memerlukan dukungan dari berkas banyak key.
Contoh :
Sebuah sistem perbankan yang
mempunyai beberapa pemakai (user), seperti kasir, pegawai kredit, manajer
cabang, pegawai bank, nasabah dan lain-lain. Semuanya memerlukan akses data
yang sama dengan format record :
Adanya pemakai yang berbeda
memerlukan akses record-record ini dalam cara yang berbeda.
Kasir Mengidentifikasikan
record account menurut nilai ID.
Kredit Akses semua
record menurut nilai OVERDRAW LIMIT atau semua record account dengan nilai
SOCNO.
Manajer Cabang Akses semua record menurut Branch dan Type.
Pegawai Bank Membuat
laporan berkala untuk semua record ccount yang disortir berdasarkan ID.
Nasabah Memerlukan
akses recordnya dengan memberikan ID yang dimilikinya atau kombinasi dari NAME,
SOCNO dan Type.
Satu pendekatan yang dapat mendukung
semua jenis akses adalah dipunyainya banyak berkas yang berbeda. Setiap berkas
diorganisasi untuk melayani satu jenis keperluan.
Maka untuk contoh sistem perbankan di atas
harus ada :
File account yang organisasinya
indeks sequential dengan nilai key ID untuk melayani kasir, pegawai
bank dan nasabah.
File account yang organisasinya
sequential dengan record diurut menurut OVERDRAW LIMIT untuk melayani pegawai kredit.
File account yang organisasinya
relarif dengan nilai key SOCNO untuk melayani pegawai kredit.
File account yang organisasinya
sequential dengan record diurut menurut GROUP-CODE untuk melayani manajer cabang.
File account yang organisasinya
relatif dengan nilai key NAME,
SOCNO dan TYPE untuk melayani
nasabah.
Jadi kita mempunyai 5 file, semuanya
mempunyai record yang sama. Kelima file itu hanya berbeda dalam organisasi dan
cara aksesnya.
Pengulangan data dari beberapa file
bukan merupakan cara yang baik untuk mengakses record dengan berbagai cara. Dan
cara ini memerlukan space (ruang) yang besar di storage dan kesulitan pada
waktu peng-update-an record secara serentak.
Untuk mengatasi masalah di atas,
maka digunakan organisasi berkas banyak key yang umumnya diimplementasikan
dengan pembentukan banyak indeks untuk memberikan akses yang berbeda terhadap
record data.
Mungkin juga cara ini memakai banyak
link-list terhadap record. Dan sebuah indeks dapat dibentuk dengan beberapa
cara, misal sebagai tabel binary search tree atau B-tree
Organisasi Inverter File
Satu pendekatan dasar untuk
memberikan hubungan antara sebuah indeks dan data record dari file adalah inversi.
Sebuah key pada indeks inversi mempunyai semua nilai key dimana masing-masing
nilai key mempunyai penunjuk ke record yang bersangkutan. File yang demikian
disebut inverted file.
Indeks inversi yang sederhana
dibentuk sebagai sebuah tabel.
Contoh
:
Inversi file ACCOUNT terhadap
SOCNO menghasilkan indeks inversi.
Sebuah indeks inversi dapat dibuat
bersama sebuah relatif file atau sebuah indeks sequential. Sebuah indeks
inversi dengan key SOCNO untuk sebuah relatif file dengan nilai key ID akan memberikan sebuah file yang dapat
diakses langsung oleh sebuah ID atau SOCNO.
Jika sebuah key dipakai untuk
menentukan struktur storage dari file disebut primary key, sedangkan key yang
lainnya disebut secondary key.
File yang mempunyai indeks inversi
untuk setiap data field disebut completely inverted. File yang bukan completely
inverted tapi paling sedikit mempunyai satu indeks inversi disebut partialy
inverted file.
Satu hal
yang baik dari inversi file adalah beberapa pertanyaan di bawah ini dapat
dijawab tanpa akses data file, cukup dengan indeks inversinya.
•
Berapa
banyak account dengan GROUP-CODE = ‘EA001’ ?
•
Berapa
banyak account dengann BRANCH = ‘NE’ ?
•
Apakah
BRANCH = ‘NE’ mempunyai TYPE = ‘001’ ?
Organisasi Multi-List
File
Suatu pendekatan lain yang memberikan
hubungan antara sebuah indeks dan data record dari sebuah file disebut
organisasi multi-list file.
Seperti sebuah inverted file, sebuah
multi-list file mempunyai sebuah indeks untuk setiap secondary key.
Organisasi
Multi-List File
Suatu pendekatan lain yang memberikan
hubungan antara sebuah indeks dan data record dari sebuah file disebut
organisasi multi-list file.
Seperti sebuah inverted file, sebuah
multi-list file mempunyai sebuah indeks untuk setiap secondary key.
Organisasi multi-list file berbeda
dengan inverted file, dimana dalam indeks inversi untuk sebuah nilai key
mempunyai sebuah penunjuk untuk sebuah data record dengan nilai key,
sedangkan dalam indeks multi-list
untuk sebuah nilai key mempunyai hanya sebuah penunjuk untuk data record
pertama dengan nilai key . Data record mempunyai penunjuk untuk data record
selanjutnya dengan nilai key dan seterusnya. Maka terdapat sebuah linked-list
dari data record untuk setiap nilai dari secondary key.
Nilai key harus diurut, struktur
indeks adalah tabel dengan indirect addressing dan mempunyai hubungan data
record yang disusun menurut ID secara ascending.
MULTI-LIST ORGANIZATION
Multi-List
indeks untuk GROUP-CODE secondary key
Multi-List
indeks untuk OVERDRAW-LIMIT secondary key
Contoh :
Ada 3 cara akses yang potensial
dalam menjawab pertanyaan :
Daftar nilai ID untuk account
dengan GROUP-CODE = ‘EA001’ dan OVERDRAW-LIMIT = 100 ?
Data file dapat dicari secara
sequential, indeks GROUP-CODE atau dengan memakai OVERDRAW-LIMIT.
Mana
cara yang terbaik ?
Pencarian secara sequential
memerlukan akses sampai 20 data record,
menggunakan indeks GROUP-CODE
berarti akses sampai 3 data record dan
memakai indeks OVERDRAW-LIMIT
berarti akses sampai 8 data record.
Dari ketiga cara di atas, yang
terbaik adalah menggunakan indeks GROUP-CODE.