• Tidak ada hasil yang ditemukan

BAB 6 Organisasi Berkas Banyak Key

N/A
N/A
Protected

Academic year: 2018

Membagikan "BAB 6 Organisasi Berkas Banyak Key"

Copied!
10
0
0

Teks penuh

(1)

ORGANISASI BERKAS DENGAN BANYAK KEY

ORGANISASI BERKAS DENGAN BANYAK KEY

PENGERTIAN ORGANISASI BERKAS DENGAN BANYAK KEY PENGERTIAN ORGANISASI BERKAS DENGAN BANYAK KEY

Organisasi berkas yang memperbolehkan record diakses oleh lebih Organisasi berkas yang memperbolehkan record diakses oleh lebih dari satu key field disebut organisasi berkas dengan banyak key.

dari satu key field disebut organisasi berkas dengan banyak key.

yesyes

nono

yes no yes no

yes noyes no

Gambar 1. Dasar Organisasi Berkas Gambar 1. Dasar Organisasi Berkas

Ada banyak teknik yang dipakai untuk organisasi berkas dengan Ada banyak teknik yang dipakai untuk organisasi berkas dengan banyak key ini. Hampir semua pendekatan bergantung pada banyak key ini. Hampir semua pendekatan bergantung pada pembentukan indeks yang dapat memberi akses langsung dengan pembentukan indeks yang dapat memberi akses langsung dengan nilai key.

nilai key.

Ada 2 teknik dasar untuk pemberiaan hubungan antara sebuah indeks Ada 2 teknik dasar untuk pemberiaan hubungan antara sebuah indeks dan data record dari berkas, yaitu:

dan data record dari berkas, yaitu:

 InversionInversion 

 Multi-listMulti-list

ONE ACCESS ONE ACCESS KEY ?

KEY ?

SEQUENTIAL SEQUENTIAL ACCESS ONLY ? ACCESS ONLY ?

SEQUENTIAL SEQUENTIAL ORGANIZATION

ORGANIZATION DIRECT ACCESS DIRECT ACCESS

ONLY ? ONLY ?

RELATIVE RELATIVE ORGANIZATION

ORGANIZATION INDEXEDINDEXED SEQUENTIAL SEQUENTIAL ORGANIZATION ORGANIZATION

(2)

DEFINISI DAN APLIKASI BERKAS DENGAN BANYAK KEY DEFINISI DAN APLIKASI BERKAS DENGAN BANYAK KEY

Banyak sistem informasi interaktif memerlukan dukungan dari berkas Banyak sistem informasi interaktif memerlukan dukungan dari berkas banyak key.

banyak key.

Contoh: Contoh:

Sebuah sistem perbankan yang mempunyai beberapa pemakai Sebuah sistem perbankan yang mempunyai beberapa pemakai (user), seperti kasir, pegawai kredit, manajer cabang, pegawai bank, (user), seperti kasir, pegawai kredit, manajer cabang, pegawai bank, nasabah, dll.

nasabah, dll.

Semuanya memerlukan akses data yang sama dengan format record: Semuanya memerlukan akses data yang sama dengan format record:

ACCOUNT ACCOUNT

ID

ID NAMENAME GROUP-CODEGROUP-CODE SOCNOSOCNO BALANCEBALANCE OVERDRAWOVERDRAW LAST

LAST FIRSTFIRST BRANCHBRANCH TYPETYPE LIMITLIMIT

Gambar 2. Contoh Format Record Gambar 2. Contoh Format Record

Adanya pemakai yang berbeda memerlukan akses record-record ini Adanya pemakai yang berbeda memerlukan akses record-record ini dalam cara yang berbeda.

dalam cara yang berbeda.

Kasir

Kasir Mengindentifikasikan record account menurut nilaiMengindentifikasikan record account menurut nilai ID.

ID.

Kredit

Kredit Akses semua record menurut nilai OVERDRAWAkses semua record menurut nilai OVERDRAW LIMIT atau semua record account dengan nilai LIMIT atau semua record account dengan nilai SOCNO.

SOCNO.

Manajer Manajer Cabang Cabang

Akses semua record menurut Branch dan Type. Akses semua record menurut Branch dan Type.

Pegawai Pegawai Bank

Bank Membuat laporan berkala untuk semua record

Membuat laporan berkala untuk semua record account yang disortir berdasarkan ID.

account yang disortir berdasarkan ID.

Nasabah

Nasabah Memerlukan akses recordnya dengan memberikanMemerlukan akses recordnya dengan memberikan ID yang dimilikinya atau kombinasi dari NAME, ID yang dimilikinya atau kombinasi dari NAME, SOCNO dan Type.

(3)

Satu pendekatan yang dapat mendukung semua jenis akses adalah Satu pendekatan yang dapat mendukung semua jenis akses adalah dimilikinya banyak berkas yang berbeda. Setiap berkas di dimilikinya banyak berkas yang berbeda. Setiap berkas di organisasi untuk melayani satu jenis keperluan.

organisasi untuk melayani satu jenis keperluan.

Maka untuk contoh sistem perbankan di atas harus ada: Maka untuk contoh sistem perbankan di atas harus ada:

 File account yang organisasinya indeks sekuensial dengan nilaiFile account yang organisasinya indeks sekuensial dengan nilai

key: key:

ID ID untuk melayani kasir, pegawai bank & nasabah.untuk melayani kasir, pegawai bank & nasabah.

 File account yang organisasinya sekuensial dengan record di urutFile account yang organisasinya sekuensial dengan record di urut

menurut: menurut:

OVERDRAW LIMIT

OVERDRAW LIMIT untuk melayani pegawai kredit.untuk melayani pegawai kredit.

 File account yang organisasinya relatif dengan nilai key: File account yang organisasinya relatif dengan nilai key:

SOCNO untuk melayani pegawai kredit. SOCNO untuk melayani pegawai kredit.

 File account yang organisasinya sekuensial dengan record di urutFile account yang organisasinya sekuensial dengan record di urut

menurut: menurut:

GROUP-CODE

GROUP-CODE untuk melayani manajer cabang. untuk melayani manajer cabang.

 File account yang organisasinya relatif dengan nilai key: File account yang organisasinya relatif dengan nilai key:

NAME, SOCNO dan TYPE

NAME, SOCNO dan TYPE untuk melayani nasabah. untuk melayani nasabah.

Jadi kita mempunyai 5 file, semuanya mempunyai record yang Jadi kita mempunyai 5 file, semuanya mempunyai record yang sama. Kelima file itu hanya berbeda dalam organisasi dan cara sama. Kelima file itu hanya berbeda dalam organisasi dan cara aksesnya.

aksesnya.

Pengulangan data dari beberapa file bukan merupakan cara yang baik Pengulangan data dari beberapa file bukan merupakan cara yang baik untuk mengakses record dengan berbagai cara. Dan cara ini untuk mengakses record dengan berbagai cara. Dan cara ini memerlukan ruang (space) yang besar di storage dan kesulitan pada memerlukan ruang (space) yang besar di storage dan kesulitan pada waktu

peng-waktu peng-updateupdate-an record secara serentak.-an record secara serentak.

Untuk mengatasi masalah di atas, maka digunakan organisasi berkas Untuk mengatasi masalah di atas, maka digunakan organisasi berkas banyak key yang umumnya diimplementasikan dengan banyak key yang umumnya diimplementasikan dengan pembentukan banyak indeks untuk memberikan akses yang berbeda pembentukan banyak indeks untuk memberikan akses yang berbeda terhadap record data.

terhadap record data.

(4)

ORGANISASI INVERTER FILE ORGANISASI INVERTER FILE

Satu pendekatan dasar untuk memberikan hubungan antara sebuah Satu pendekatan dasar untuk memberikan hubungan antara sebuah indeks dan data record dari file adalah inversi.

indeks dan data record dari file adalah inversi.

Sebuah key pada indeks inversi mempunyai semua nilai key dimana Sebuah key pada indeks inversi mempunyai semua nilai key dimana masing-masing nilai key mempunyai penunjuk ke record yang masing-masing nilai key mempunyai penunjuk ke record yang bersangkutan. File yang demikian disebut inverted file.

bersangkutan. File yang demikian disebut inverted file.

Indeks inversi yang sederhana dibentuk sebagai sebuah tabel. Indeks inversi yang sederhana dibentuk sebagai sebuah tabel.

Contoh: Contoh:

Inversi file ACCOUNT terhadap SOCNO menghasilkan indeks Inversi file ACCOUNT terhadap SOCNO menghasilkan indeks inversi.

inversi.

SOCNO

SOCNO ADDRESSADDRESS

001234123

001234123 66

123456789

123456789 55

213823456

213823456 1414

299167305

299167305 1616

399042131

399042131 44

411625331

411625331 1313

412631467

412631467 77

426135447

426135447 2020

445062681

445062681 1717

459463001

459463001 11

513014265

513014265 88

612305116

612305116 99

626311660

626311660 1818

692122222

692122222 1212

713214622

713214622 33

798392289

798392289 1515

821346211

821346211 22

912346789

912346789 1919

923146154

923146154 1111

987654321

987654321 1010

(5)

Indeks inversi tersebut telah di sortir menurut SOCNO. Penambahan Indeks inversi tersebut telah di sortir menurut SOCNO. Penambahan record file menyebabkan indeks inversi juga harus diubah.

record file menyebabkan indeks inversi juga harus diubah.

Sebuah indeks inversi dapat dibuat bersama sebuah relatif file atau Sebuah indeks inversi dapat dibuat bersama sebuah relatif file atau sebuah indeks sekuensial. Sebuah indeks inversi dengan key SOCNO sebuah indeks sekuensial. Sebuah indeks inversi dengan key SOCNO untuk sebuah relatif file dengan nilai key ID akan memberikan sebuah untuk sebuah relatif file dengan nilai key ID akan memberikan sebuah file yang dapat diakses langsung oleh sebuah ID atau SOCNO.

file yang dapat diakses langsung oleh sebuah ID atau SOCNO.

SOCNO

Gambar 4. Indeks Inversi Record dengan key SOCNO Gambar 4. Indeks Inversi Record dengan key SOCNO

Mengunakan Indirect AddressingMengunakan Indirect Addressing

Jika sebuah key dipakai untuk menentukan struktur storage dari file Jika sebuah key dipakai untuk menentukan struktur storage dari file disebut primary key, sedangkan key yang lainya disebut disebut primary key, sedangkan key yang lainya disebut secondary key.

secondary key.

(6)

Sebuah variasi dari struktur indeks inversi adalah pemakaian Sebuah variasi dari struktur indeks inversi adalah pemakaian secondary key dan primary key dari indirect addressing.

secondary key dan primary key dari indirect addressing.

Pendekatan ini membiarkan file yang direorganisasi dan Pendekatan ini membiarkan file yang direorganisasi dan restructure secara fisik tanpa menyebabkan indeks file.

restructure secara fisik tanpa menyebabkan indeks file.

Pada contoh di atas, nilai SOCNO adalah unik. Setiap SOCNO dalam Pada contoh di atas, nilai SOCNO adalah unik. Setiap SOCNO dalam indeks inversi mempunyai record. Indeks inversi dapat juga dipakai indeks inversi mempunyai record. Indeks inversi dapat juga dipakai dengan key yang bukan unik.

dengan key yang bukan unik.

GROUP-CODE GROUP-CODE BRANCH TYPE

BRANCH TYPE IDID

DT

DT 001001 111111, 201431, 310103, 686116111111, 201431, 310103, 686116 DT

DT 002002 198121, 335812, 486212, 641230198121, 335812, 486212, 641230 EA

EA 001001 324196, 534216, 535218324196, 534216, 535218 NE

NE 001001 415631415631

NE

NE 002002 300123, 696123300123, 696123

NW

NW 001001 112131, 208432, 511211112131, 208432, 511211 NW

NW 002002 291821291821

WE

WE 002002 386132, 387122386132, 387122

Gambar 5. Indeks Inversi Record dengan key GROUP-CODE Gambar 5. Indeks Inversi Record dengan key GROUP-CODE

Satu hal yang baik dari inversi file adalah beberapa pertanyaan di Satu hal yang baik dari inversi file adalah beberapa pertanyaan di bawah ini dapat dijawab tanpa akses data file, cukup dengan indeks bawah ini dapat dijawab tanpa akses data file, cukup dengan indeks inversinya.

inversinya.

 Apakah ada indeks untuk SOCNO = ‘414556233’ ?Apakah ada indeks untuk SOCNO = ‘414556233’ ? 

 Berapa banyak account dengan GROUP-CODE = ‘EA001’ ?Berapa banyak account dengan GROUP-CODE = ‘EA001’ ? 

 Berapa banyak account dengan BRANCH = ‘NE’ ?Berapa banyak account dengan BRANCH = ‘NE’ ? 

 Apakah BRANCH = ‘NE’ mempunyai TYPE = ‘001’ ?Apakah BRANCH = ‘NE’ mempunyai TYPE = ‘001’ ?

(7)

Suatu pendekatan lain yang memberikan hubungan antara sebuah Suatu pendekatan lain yang memberikan hubungan antara sebuah indeks dan data record dari sebuah file disebut organisasi multi-list indeks dan data record dari sebuah file disebut organisasi multi-list file.

file.

Seperti sebuah inverted file, sebuah multi-list file mempunyai sebuah Seperti sebuah inverted file, sebuah multi-list file mempunyai sebuah indeks untuk setiap secondary key.

indeks untuk setiap secondary key.

Organisasi multi-list file berbeda dengan inverted file, dimana dalam Organisasi multi-list file berbeda dengan inverted file, dimana dalam indeks inversi untuk sebuah nilai key mempunyai sebuah penunjuk indeks inversi untuk sebuah nilai key mempunyai sebuah penunjuk untuk sebuah data record dengan nilai key, sedangkan dalam untuk sebuah data record dengan nilai key, sedangkan dalam indeks multi-list untuk sebuah nilai key mempunyai hanya sebuah indeks multi-list untuk sebuah nilai key mempunyai hanya sebuah penunjuk untuk data record pertama dengan nilai key. Data record penunjuk untuk data record pertama dengan nilai key. Data record mempunyai sebuah penunjuk untuk data record selanjutnya dengan mempunyai sebuah penunjuk untuk data record selanjutnya dengan nilai key dan seterusnya. Maka terdapat sebuah linked-list dari data nilai key dan seterusnya. Maka terdapat sebuah linked-list dari data record untuk setiap nilai dari secondary key.

record untuk setiap nilai dari secondary key.

GROUP-CODE GROUP-CODE BRANCH TYPE

BRANCH TYPE IDID

DT

DT 001001 111111111111

DT

DT 002002 198121198121

EA

EA 001001 324196324196

NE

NE 001001 415631415631

NE

NE 002002 300123300123

NW

NW 001001 112131112131

NW

NW 002002 291821291821

WE

WE 002002 386132386132

Gambar 6. Multi-list Index for GROUP-CODE secondary keyGambar 6. Multi-list Index for GROUP-CODE secondary key

OVERDRAW OVERDRAW

LIMIT

LIMIT IDID

0.

0. 111111111111

100.

100. 112131112131

200.

200. 198121198121

250.

250. 511211511211

(8)

menunjukkan data file. Setiap data record mempunyai penunjuk untuk menunjukkan data file. Setiap data record mempunyai penunjuk untuk mengakses record selanjutnya.

mengakses record selanjutnya.

Record

Record NAMENAME GROUP-CODEGROUP-CODE OVERD.OVERD. Address

Address IDID LASTLAST FIRSTFIRST BRANCHBRANCH TYPETYPE NEXTNEXT SOCNOSOCNO BALANCEBALANCE LIMITLIMIT 1

1 111111111111 DEANDEAN JOHNJOHN DTDT 001001 201431201431 459463001459463001 100.50100.50 0.0. 2

2 112131112131 AMOREAMORE CAROLCAROL NWNW 001001 208432208432 821346211821346211 2311.202311.20 100.100. 3

3 198121198121 RICERICE BESSBESS DTDT 002002 335812335812 713214622713214622 -191.87-191.87 200.200. 4

4 201431201431 PARKERPARKER OLAOLA DTDT 001001 310103310103 399042131399042131 3142.933142.93 100.100. 5

5 208432208432 ANDERSONANDERSON BARBABARBA NWNW 001001 511211511211 123456789123456789 95.2695.26 0.0. 6

6 291821291821 ANDERSONANDERSON BRENTBRENT NWNW 002002 00 001234123001234123 146.92146.92 0.0. 7

7 300123300123 HARTHART ALLISALLIS NENE 002002 696123696123 412631467412631467 3000.003000.00 100.100. 8

8 310103310103 TAHOETAHOE SERENSEREN DTDT 001001 686116686116 513014265513014265 243.63243.63 0.0. 9

9 324196324196 BONESBONES IGORIGOR EAEA 001001 534216534216 612305116612305116 0.020.02 0.0. 10

10 335812335812 BEEBEE VERAVERA DTDT 002002 486212486212 987654321987654321 88.7288.72 0.0. 11

11 386132386132 ARCARC JEANJEAN WEWE 002002 387122387122 923146154923146154 -89.98-89.98 100.100. 12

12 387122387122 ELLSELLS JOSHUJOSHU WEWE 002002 00 692122222692122222 10.9510.95 0.0. 13

13 415631415631 BELLEBELLE ELLIEELLIE NENE 001001 00 411625331411625331 426.86426.86 100.100. 14

14 486212486212 MATTHERSMATTHERS ANNANN DTDT 002002 641230641230 213823456213823456 893.92893.92 100.100. 15

15 511211511211 SNUGGSSNUGGS JOHNJOHN NWNW 001001 00 798392289798392289 2814.122814.12 250.250. 16

16 534216534216 LOOMINLOOMIN TIMTIM EAEA 001001 535218535218 299167305299167305 296.12296.12 250.250. 17

17 535218535218 ELLSWORTELLSWORT NANCYNANCY EAEA 001001 00 445062681445062681 2814.122814.12 250.250. 18

18 641230641230 WELLSWELLS CHUCKCHUCK DTDT 002002 00 626311660626311660 -98.14-98.14 100.100. 19

19 686116686116 SWORTHSWORTH LAURLAUR DTDT 001001 00 912346789912346789 3216.163216.16 100.100. 20

20 696132696132 GUNNESSGUNNESS MARIOMARIO NENE 002002 00 426135447426135447 95.9395.93 25.25.

Gambar 8. Contoh Data File Gambar 8. Contoh Data File

Nilai key harus di urut, struktur indeks adalah tabel dengan indirect Nilai key harus di urut, struktur indeks adalah tabel dengan indirect addressing dan mempunyai hubungan data record yang disusun addressing dan mempunyai hubungan data record yang disusun menurut ID secara ascending.

menurut ID secara ascending.

GROUP-CODE GROUP-CODE BRANCH TYPE

(9)

DT

DT 001001 111111111111 44

DT

DT 002002 198121198121 44

EA

EA 001001 324196324196 33

NE

NE 001001 415631415631 11

NE

NE 002002 300123300123 22

NW

NW 001001 112131112131 33

NW

NW 002002 291821291821 11

WE

WE 002002 386132386132 22

Gambar 9. Variasi Index pada gambar 6, Gambar 9. Variasi Index pada gambar 6,

menunjukkan length of linked-listmenunjukkan length of linked-list

OVERDRAW OVERDRAW

LIMIT

LIMIT IDID LENGTHLENGTH

0.

0. 111111111111 77

100.

100. 112131112131 88

200.

200. 198121198121 11

250.

250. 511211511211 44

Gambar 10. Variasi Index pada gambar 7, Gambar 10. Variasi Index pada gambar 7,

menunjukkan length of linked-listmenunjukkan length of linked-list

Informasi tentang banyak record dalam link-list juga berguna untuk Informasi tentang banyak record dalam link-list juga berguna untuk mendapatkan cara yang terbaik dalam pengaksesan.

mendapatkan cara yang terbaik dalam pengaksesan.

Contoh: Contoh:

Ada 3 cara akses yang potensial dalam menjawab pertanyaan: Ada 3 cara akses yang potensial dalam menjawab pertanyaan:

Daftar nilai ID untuk account dengan GROUP-CODE ='EA001' dan Daftar nilai ID untuk account dengan GROUP-CODE ='EA001' dan

OVERDRAW-LIMIT = 100 ?OVERDRAW-LIMIT = 100 ?

Data file dapat dicari secara sekuensial, indeks GROUP-CODE atau Data file dapat dicari secara sekuensial, indeks GROUP-CODE atau dengan memakai OVERDRAW-LIMIT.

dengan memakai OVERDRAW-LIMIT.

Mana cara yang terbaik ? Mana cara yang terbaik ?

(10)

data record dan memakai indeks OVERDRAW-LIMIT berarti akses data record dan memakai indeks OVERDRAW-LIMIT berarti akses sampai 8 data record.

sampai 8 data record.

Dari ketiga cara di atas, yang terbaik adalah mengunakan indeks Dari ketiga cara di atas, yang terbaik adalah mengunakan indeks GROUP-CODE.

GROUP-CODE.

DEKLARASI BERKAS DALAM COBOL DEKLARASI BERKAS DALAM COBOL

SELECT ACCOUNT-FILE ASSIGN TO DISK SELECT ACCOUNT-FILE ASSIGN TO DISK

ORGANIZATION IS INDEXEDORGANIZATION IS INDEXED

ACCESS MODE IS SEQUENTIAL OR RANDOM OR DYNAMICACCESS MODE IS SEQUENTIAL OR RANDOM OR DYNAMIC

RECORD KEY IS IDRECORD KEY IS ID

ALTERNATE RECORD KEY IS SOCNOALTERNATE RECORD KEY IS SOCNO

ALTERNATE RECORD KEY IS GROUP-CODEALTERNATE RECORD KEY IS GROUP-CODE

Gambar

Gambar 1.  Dasar Organisasi BerkasGambar 1.  Dasar Organisasi Berkas
Gambar 3.  Indeks Inversi Record dengan key SOCNOGambar 3.  Indeks Inversi Record dengan key SOCNO
Gambar 4. Indeks Inversi Record dengan key SOCNOGambar 4. Indeks Inversi Record dengan key SOCNO      Mengunakan Indirect AddressingMengunakan Indirect Addressing
Gambar 5. Indeks Inversi Record dengan key GROUP-CODEGambar 5. Indeks Inversi Record dengan key GROUP-CODE
+5

Referensi

Dokumen terkait

Ada 4 teknik dasar dari organisasi berkas untuk menyimpan record dalam sebuah file , yaitu :.

Jika sebuah permintaan untuk mengakses record tertentu, misal kita ingin mengakses dengan nilai key BAT, indeks dengan tingkat tertinggi (dalam hal ini blok

Jika sebuah permintaan untuk mengakses record tertentu, misal kita ingin mengakses dengan nilai key BAT, indeks dengan tingkat tertinggi (dalam hal ini blok indeks 3-1) yang

Pada gambar, dalam sistem penggajian terpadu (Intergrated personnel-payroll system) mempunyai sebuah berkas pegawai (Employee file) yang terdiri dari dua jenis record,

Pendekatan lain dalam menemukan lokasi sebuah record pada waktu record tersebut tidak dapat disimpan dalam home addressnya adalah dengan menggunakan Double Hashing, yang akan

Jika sebuah permintaan untuk mengakses record tertentu, misal kita ingin mengakses dengan nilai key BAT, indeks dengan tingkat tertinggi (dalam hal ini blok

Jika sebuah permintaan untuk mengakses record tertentu, misal kita ingin mengakses dengan nilai key BAT, indeks dengan tingkat tertinggi (dalam hal ini blok indeks 3-1) yang

Pendekatan lain dalam menemukan lokasi sebuah record pada waktu record tersebut tidak dapat disimpan dalam home addressnya adalah dengan menggunakan Double Hashing, yang akan