1. Organisasi Berkas Langsung
- Organisasi berkas langsung digunakan untuk menemukan suatu rekaman tidak melalui proses pencarian, namun bisa langsung menuju alamat yang ditempati oleh rekaman.
- Hal ini digunakan dengan cara menyimpan rekaman pada alamat yang sama dengan nilai kunci rekaman tersebut
- Contoh : Rekaman dengan kunci 50 akan di simpan pada alamat 50
- Sehingga untuk menemukan sebuah rekaman cukup melihat nilai kunci dan menuju kealamat yang ditunjuk oleh kunci rekaman tersebut, contoh jika ingin melihat rekaman dengan kunci 28 langsung saja menuju alamat 28 tersebut.
- Harus tersedia 1 ruang untuk setiap kemungkinan penyimpanan kunci rekaman, meskipun dalam rekaman tersebut data nya sudah tidak ada.
- Contoh dalam suatu universitas yang memiliki ribuan mahasiswa pasti ada bebera nomor yang kosong untuk beberapa alasan, misalnya sudah lulus, mengundurkan diri, DO, Cuti, dsb
- Sehingga tidak semua ruang di manfaatkan untul mahasiswa aktif
2. 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 nilai key. Ada 2 teknik dasar untuk pemberiaan 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, dll. Semuanya memerlukan akses data yang sama dengan format record:
Adanya pemakai yang berbeda memerlukan akses record-record ini dalam cara yang berbeda.
Satu pendekatan yang dapat mendukung semua jenis akses adalah dimilikinya banyak berkas yang berbeda. Setiap berkas di organisasi untuk melayani satu jenis keperluan.Maka untuk contoh sistem perbankan di atas harus ada:
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 inimemerlukan ruang (space) 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.
Indeks inversi tersebut telah di sortir menurut SOCNO. Penambahan record file menyebabkan indeks inversi juga harus diubah. Sebuah indeks inversi dapat dibuat bersama sebuah relatif file atau sebuah indeks sekuensial. 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 lainya 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. Sebuah variasi dari struktur indeks inversi adalah pemakaian secondary key dan primary key dari indirect addressing. Pendekatan ini membiarkan file yang direorganisasi dan restructure secara fisik tanpa menyebabkan indeks file. Pada contoh di atas, nilai SOCNO adalah unik. Setiap SOCNO dalam indeks inversi mempunyai record. Indeks inversi dapat juga dipakai dengan key yang bukan unik.
Satu hal yang baik dari inversi file adalah beberapa pertanyaan di bawah ini dapat dijawab tanpa akses data file, cukup dengan indeks inversinya.
- Apakah ada indeks untuk SOCNO = ‘414556233’ ?
- Berapa banyak account dengan GROUP-CODE = ‘EA001’ ?
- Berapa banyak account dengan 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 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 datang record pertama dengan nilai key. Data record mempunyai sebuah penunjuk untuk data record selanjutnya
dengan nilai key dan seterusnya. Maka terdapat sebuah linked-list dari data record untuk setiap nilai dari secondary key.
Gambar 6 dan 7, menunjukkan indeks multi-list untuk secondary key GROUP-CODE dan OVERDRAW LIMIT, sedangkan gambar 8 menunjukkan data file. Setiap data record mempunyai penunjuk untuk mengakses record selanjutnya.
Nilai key harus di urut, struktur indeks adalah tabel dengan indirect addressing dan mempunyai hubungan data record yang disusun menurut ID secara ascending.
Informasi tentang banyak record dalam link-list juga berguna untuk mendapatkan cara yang terbaik dalam pengaksesan.
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 sekuensial, indeks GROUP-CODE atau dengan memakai OVERDRAW-LIMIT.
Pencarian secara sekuensial 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 mengunakan indeks GROUP-CODE.
#DEKLARASI BERKAS DALAM COBOL
SELECT ACCOUNT-FILE ASSIGN TO DISK
ORGANIZATION IS INDEXED
ACCESS MODE IS SEQUENTIAL OR RANDOM OR DYNAMIC
RECORD KEY IS ID
ALTERNATE RECORD KEY IS SOCNO
ALTERNATE RECORD KEY IS GROUP-CODE
WITH DUPLICATES.














