Sistem Basis Data 1 Recent site activity Chaky_182 Sistem Basis Data 1

1

Sistem Basis Data 1 (K82)
KONSEP DASAR
Pendahuluan

Sistem berkas atau pengarsipan adalah :
Suatu system untuk mengetahui bagaimana cara menyimpan data dari file tertentu
dan organisasi file yang digunakan.
System akses :
Cara untuk mengambil informasi dari suatu file
Organisasi file :
Teknik yang digunakan untuk menggambarkan dan menyimpan pada file
Istilah – istilah dasar










Entitas
Sekumpulan obyek yang mempunyai karakteristik sama dan bisa dibedakan
dari lainnya. Obyek dapat berupa barang, orang, tempat atau suatu kejadian
Missal : pegawai, mobil, nilai dsb
Atribut
Deskripsi data yang bisa mengidentifikasikan entitas
Missal : entitas mobil adalah no. mobil merk mobil, wrna mobil dsb
Field
Lokasi penyimpanan untuk salah satu elemen data atribut
Record
Kumpulan dari field yang berhubungan satu sama lain
File
Kumpulan dari record yang menggambarkan himpunan entitas
Basis data
Kumpulan file yang digunakan oleh program aplikasi serta membentuk
hubungan tertentu di antara record-record di file-file tersebut
Key
o Elemen record yang dipakai untuk menemukan record tersebut pada

waktu akses
o Jenis-jenis key:

Sistem Basis Data 1 (K82)
ƒ Primary key
ƒ Secondary key
ƒ Candidate key
ƒ Alternate key
ƒ Composite key
ƒ Foreign key

2

3

Sistem Basis Data 1 (K82)





Primary key
o Field yang mengidentifikasikan
o Bersifat unik
NIM
0222500250
0222300023
PRIMARY
KEY
0144500024

NAMA
TUTI
WATI
ALE

UMUR
21
20
24


Secondary key
o Field yang mengidentifikasikan sebuah record dalam file
o Tidak bersifat unik

SECONDARY
KEY


sebuah record dalam file

NIM
0222500250
0222300023
0144500024

NAMA
TUTI
WATI
ALE


UMUR
21
20
24

Candidate key
o Field-field yang bisa dipilih (dipakai) menjadi primary key
CANDIDATE KEY
NIM
0222500250
0222300023
0144500024



NAMA
TUTI
WATI
ALE


NO_KWITANSI
789
254
365

JUMLAH
50000
60000
80000

Composite key
o Primary key yang dibentuk dari beberapa field
COMPOSITE
KEY



HARI
SELASA
SELASA

SELASA

Foreign key
o Field yang bukan
KD_MK MATAKULIAH
N18
MANAJEMEN
P25
PASCAL
K1A
INTERNET

RUANG
322
321
333

MATA KULIAH
LOGIKA MATEMATIKA
PANCASILA

KEWARGANEGARAAN

key, tetapi adalah key pada file yang lain
SKS KD_DOSEN
KD_DOSEN NAMA
2
D231
D232
Warsono, Drs
4
D453
D453
R. Faisal
2
D812
Tri Darmadi

PRIMARY KEY

PRIMARY KEY

FOREIGN KEY

Sistem Basis Data 1 (K82)
FILE
o File diletakkan di penyimpan sekunder.
o File mempunyai nama
Karakteristik umum file
1. Persitence
Bertahan lama yaitu kemampuan untuk dapat diakses di masa datang.
2. Sharability
Dapat digunakan bersama oleh beragam pemakai dan program
3. Size
File mempuyai ukuran yang relative besar
Operasi pada file / berkas
Berdasarkan model proses
1. batch
suatu proses yang dilakuakn secara kelompok atau grup
2. iterative
suatu proses yang dilakukan secara satu per satu yaitu record per record
Berdasarkan Model operasi :

1. Create
Pembuatan berkas dengan cara membuat struktur berkas lebih dahulu,
kemudian record-record dimuat ke dalam berkas tersebut
2. Up-date
Pengubahan isi dari berkas diperlukan untuk menjaga berkas tetap up to date
(diperbaharui)
Ada 3 bagian dalam proses up date :
o Insert / Penyisipan atau penambahan record
o Modify / Perbaikan field
o Delete / Penghapusan record
3. Retrieval
Pengaksesan sebuah berkas untuk tujuan mendapatkan informasi
Menurut ada tidaknya persyaratan, retrieval dibagi menjadi
o Comphrehensive retrieval
Proses untuk mendapatkan informasi dari semua record dalam berkas
Missal : display all, list nama alamat
o Selective retrieval
Mendapatkan informasi dari record-record tertentu berdasarkan
persyaratan tertentu
Missal : list for program studi == ‘TI’


4. Maintenance
Perubahan yang dibuat terhadap berkas dengan tujuan memperbaiki program
dalam mengakses berkas tersebut. Ada dua cara yaitu :
o Restructuring
Perubahan struktur berkas
Misalnya : panjang field diubah
Penambahan field baru
o Reorganizing
Perubahan organisasi berkas dari organisasi yang satu menjadi
organisasi berkas yang lain
Misalnya :
ƒ dari organisasi berkas sequential menjadi berkas sequential
diindeks
ƒ dari langsung (direct) menjadi sequential (berurutan)

4

5

Sistem Basis Data 1 (K82)
RECORD
Ukuran record biasa dinyatakan dalam byte
Jenis record menurut panjangnya :
1. Fixed length record
Semua field di record mempunyai panjang yang tetap
Kelebihan
: tidak rumit dalam pemrograman
Kekurangan
: harus disediakan ukuran terbesar yang diperlukan
2. variable length record
Field-field di record mempunyai panjang berbeda-beda
Kelebihan
: hemat tempat
Kekurangan
: rumit dalam permrogaman




Record View
o External View
ƒ Bentuk record yang terlihat oleh user
ƒ Disebut juga logical record
o Internal View
ƒ Bentuk record secara fisik di dalam media penyimpanan
ƒ Disebut juga physical record
Data transfer
o Perpindahan data antara primar storage dengan secondary storage
PRIMARY
STORAGE

DATA

SECONDARY
STORAGE

o Tidak hanya memindahkan 1 (satu) logical record, tetapi 1 (satu) block
o 1 block bisa > 1 record
o block disebut juga physical record
STORAGE
MEDIA

PRIMARY
STORAGE






DATA AREA

SECONDARY
STORAGE

Input Buffer
o Tempat 1 block disimpan didalam memory
Output Buffer
o Tempat 1 block yang akan direkam ke storage media
Data Area
o Tempat 1 logical record yang akan diproses

LOGICAL FILE STRUCTURE
• Adalah:
o Organisasi file
o External View
o Kumpulan logical record
o Pandangan user tentang bagaimana kumpulan logical record
terorganisir
PHYSICAL FILE STRUCTURE
• Adalah:
o Internal View
o Kumpulan physical record
o Letak / susunan physical record pada secondary storage

Sistem Basis Data 1 (K82)
JENIS FILE (Berdasarkan fungsinya):
o MASTER FILE
o TRANSACTION FILE
o REPORT FILE
o WORK FILE
o PROGRAM FILE
o TEXT FILE












6

MASTER FILE
o Adalah:
• Berisi data statis
• Data tentang satu sisi dari organisasi
PELANGGAN
PERSEDIAAN BARANG
PEGAWAI
NILAI
MAHASISWA
MATAKULIAH
• Berisi data historis
• Isinya relatif permanen
TRANSACTION FILE
o Adalah:
• Berisi data yang akan mengupdate master file
• Berisi kejadian atau perubahan terhadap sesuatu, yang
statusnya tersimpan dalam master file
REPORT FILE
o Adalah:
• Berisi data yang bentuknya telah disesuaikan untuk
kepentingan user
• Data yang akan ditampilkan pada monitor
• Data yang akan dicetak
• Dihasilkan oleh:
• Report writer
• Application program
WORK FILE
o Adalah:
• Temporary file
• File sementara
• File kerja
• Berisi sesuatu yang tidak permanen
• Isinya hanya dipakai sesaat saja
• Untuk memindahkan data dari satu program ke program yang
lain
PROGRAM FILE
o Adalah:
• Berisi perintah untuk memproses data
• Bisa berisi perintah dalam:
• High Level Language
• Low Level Language
• Machine Language
• Job Control Language
• Perintah bisa berbentuk:
• Source Code
• Hasil Kompilasi
• Hasil proses lainnya
TEXT FILE
o Berisi:
• ALPHANUMERIC & GRAPHIC DATA
o Berasal dari program text editor
o Hanya dapat diproses oleh program text editor

Sistem Basis Data 1 (K82)

PERANGKAT PENYIMPAN SEKUNDER
(SECONDARY STORAGE DEVICE)

Operasi dan mekanisme kerja perangkkat sekunder sangat berpengaruh terhadap
kinerja struktur file
Media penyimpanan informasi di system computer dibagi menjadi 2 tipe utama :
ƒ Penyimpan primer
Ciri-ciri :
o Kecepatan akses tinggi
o Harganya relative mahal
o Kapasitas relative kecil
o Volatile
ƒ

Penyimpan sekunder
Cirri-ciri :
o Kecepatan akses rendah
o Harganya relative murah
o Kapasitas relative besar
o Non-volatile

Macam penyimpan sekuder :
Contoh media penyimpan mekanis
o Kartu IBM/Hollerith
o Pita kertas berlubang
Sifat umum perangkat ini adalah sangat lambat, dan sudah tidak digunakan
lagi untuk penyimpanan data

o Magnetic tape
Panjangnya beratus meter dan digulung. Informasi dikodekan karakter per
karakter.

CIRI – CIRI MAGNETIC TAPE
o tape masuk ke dalamkeluarga SASD (sequential access storage device)
sehingga Hanya dapat diproses secara sequential, yaitu Sebuah record
hanya dapat diakses setelah semua record didepannya diakses
o Hanya bisa mempunyai struktur file sequential
o Sebuah record tidak dapat diupdate ditempatnya


Karakteristik
o Media
ƒ Terbuat dari mylar
ƒ Berlapis oksida logam
o Lebar 0.5 inchi

7

Sistem Basis Data 1 (K82)
o Panjang
ƒ 200 feet s/d 6400 feet pada sebuah reel
o Density
ƒ 800 BPI
ƒ 1600 BPI
ƒ 6250 BPI

8

o Daerah perekaman dibatasi oleh
LOAD POINT MARK

END OF REEL MARK
o Terbagi menjadi 9 track
ƒ 8 track untuk data bit
ƒ 1 track untuk parity bit
0
1
2
3
TRACK

4

DATA
BIT

5
6
7
8
o Parity bit Î satu bit yang dipakai untuk error checking
o Data direkam secara EBCDIC

PARITY
BIT

9

Sistem Basis Data 1 (K82)

TRACK

0
0
0
0
0
1
0
1
1

DATA
BIT

PARITY BIT
FRAME

Keuntungan magnetic tape:
o Harganya murah, simpannya besar
ƒ Kerugian magnetic tape:
o Aksesnya terbatas hanya 1 jenis akses
PARITY BIT
ƒ Satu bit yang ditambahkan oleh sistem
ƒ Konsep parity ada dua:
1. Odd Parity
2. Even Parity
ƒ Odd Parity:
o Jumlah bit yang on (berisi 1) dalam 1 frame harus ganjil
ƒ Even Parity:
o Jumlah bit yang on (berisi 1) dalam 1 frame harus genap
ƒ Contoh:
ODD PARITY
EVEN PARITY
1
1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
1
0

10

Sistem Basis Data 1 (K82)
ƒ

Jenis Parity
o Vertical Parity Bit
ƒ 1 bit parity pada tiap frame
o Longitudinal parity bit
ƒ 1 frame pada akhir tiap block

1 BLOCK

LONGITUDINAL PARITY BIT

INTERRECORD GAP
ƒ Data hanya ditulis (dibaca) kalau tape bergerak dengan kecepatan tertentu
/ normal
kecepatan
write & read
start
stop

ƒ
ƒ
ƒ

panjang pita
Hanya berlaku 1 bock
Panjang 1 IRG dengan IRG yang lain selalu sama
Adalah:
o Daerah pita yang tidak ditulis (dibaca) disebut IRG (Inter Record
Gap)

PHYSICAL
RECORD-1

IRG PHYSICAL
RECORD-2

IRG

PHYSICAL
RECORD-3

IRG

Block
o Panjang IRG selalu sama
CARA PEREKAMAN
ƒ Panjang magnetic tape yang dipakai untuk merekam 1 block tergantung pada:
o PANJANG LOGICAL RECORD
o BLOCKING FACTOR
o DENSITY
ƒ Panjang logical record dinyatakan dalam satuan: BYTE / CHARACTER
ƒ Blocking factor adalah nilai yang menyatakan 1 block terdiri atas beberapa
logical record
ƒ Density, tergantung jenis magnetic tapenya: 800/1600/6250 BPI

Contoh 1:
ƒ Panjang magnetic tape untuk merekam 1 block bila:
o Record length
: 80 character
o Blocking factor
: 10 logical record
o Density
: 1600 BPI
o IRG
: 0.6 inch
Adalah:
= 0.6 +

10 x 80 inch
1600

= 1.1 inch

PHYSICAL

IRG PHYSICAL

IRG

PHYSICAL

IRG

11

Sistem Basis Data 1 (K82)
RECORD-1

RECORD-2

RECORD-3

start

stop

KEBUTUHAN PITA MAGNETIC UNTUK MEREKAM 1 BLOCK

Rumus:
IRG +

BF X
D

IRG
BF
RL
D

RL

= INTER RECORD GAP
= BLOCKING FACTOR
= RECORD LENGTH
= DENSITY

Contoh 2:
o Panjang tape untuk merekam 1000 logical record bila:
o RL : 200 byte
o BF : 8
o D
: 800 BPI (bit per inch)
o IRG : 0.6 inch
Adalah:
=

1000 ( 0.6 + 8 x 200 ) inch
8
800
= 125 ( 0.6 + 2 )
= 325 inch Î 27.08 feet ( 1 feet = 12 inch ) Î panjangnya pita

RUMUS
o Menghitung panjang pita yang dipakai:
N ( IRG + BF X RL )
BF
D
N
BF
IRG
RL
D

=
=
=
=
=

Banyak record
Blocking Factor
Inter Record Gap
Record Length
Density

Contoh 3:
Density
Panjang Tape
Kapasitas simpan

=
=
=
=

1600 Byte Per inchi
3600 feet
1600 * 12 * 3600
69 120 000 byte

= 67500 KB

Nb : 1 feet = 12 inchi

Waktu akses pada magnetic tape
Waktu untuk memindahkan
1 record (dalam detik)
Waktu untuk memindahkan
1 record (dalam detik)
contoh:

= panjang gap + panjang record
kecepatan transfer data
= panjang gap + BFR * panjang record
kecepatan transfer data

Sistem Basis Data 1 (K82)
Catatan sebuah file yang mempunyai 100.000 record, dimana sebuah record
berukuran 160 byte, kecepatan transfer data 200.000 karakter/detik
Kerapatan media 1600 byte per inchi. Inter record Gap 0.6
blocking factor = 10
Maka waktu yang digunakan untuk membaca: 1 record,1 file,1 blok
Jawab:
1 inchi = 1600 byte,
maka 0.6 inchi = ……. byte/karakter
1600 byte * 0.6 inchi = 960 byte,
maka 0.6 inchi = 960 byte/karakter

12

Waktu untuk melewati IRG = 960/ 200.000 = 0.0048 detik
Waktu akses per 1 record
= 960 + 160 / 200.000 = 0.0056 detik
Waktu akses seluruh record/file = 0.0056 * 100.000
= 560 detik = 9.3 menit
Waktu akses per 1 block

= 960 + ( 10 * 160 ) / 200.000 = 0.0128 detik

o MAGNETIC DISK
o Masuk ke dalam keluarga DASD(Direct Access Storage Device) sehingga
akses terhadap record dapat secara direct, yaitu Sebuah record dapat
diakses secara langsung (direct), melalui address sehingga waktu
pengaksesan relative rendah dan transfer data berkeceptan tinggi
o Magnetic disk terbuat dari sejumlah plat/cakram. Permukaan tiap cakram
(atas/bawah) terbuat dari bahan besi yang mudah dimagnetisasi.

HEAD R /W

PLAT /
CAKRAM

Perekaman data
9 Pada disk magnetic kode on dan off direpresentasikan oleh kedudukan
elemen magnetiknya.
9 Dengan mengimbas permukaan disk dengan magnet (yang ada pada
head), kedudukan elemen magnet berubah. Artinya kode on bisa diganti
off dan sebaliknya.
9 Lubang-lubang di permukaan disk merepresentasikan data yang
tersusun dalam suatu jalur yang disebut track. Data disimpan dalam
track yang berbentuk konsentris (lingkaran penuh)
Tiap track dibagi menjadi sector-sektor (blok).
Magnetic disk diorganisasikan menjadi siliner-silinder.
Silinder adalah track-track yang sama pada permukaan-permukaan pada
cakram-cakram yang berbeda.

Sistem Basis Data 1 (K82)
Tiap permukaan terdapat head yang ditumpuk secara vertical.
SEKTOR
TRACK

CYLINDER

Kapasitas Disk
9 Kapasitas track
9 Kapasitas cylinder
9 Kapasitas drive

= sector per track X byte per sector
= track per cylinder X kapasitas track
= jumlah cylinder X kapasitas cylinder

Contoh 1:
Tentukan kapasitas simpanan magnetic disk dengan ketentuan sbb:
Permukaan = 10
Track/permukaan = 400
Sector/track = 16
Setiap sector/track mampu menyimpan = 512 byte
Jawab:
Kapasitas
= 10 * 400 * 16 * 512
= 32 768 000 byte

Contoh 2:
Jika banyak record sebanyak 20.000, panjang tiap record adalah 256 byte
Jika sebuah drive mempunyai ketentuan :
9 Byte per sector
= 512
9 Sector per track
= 40
9 Track per cylinder
= 11
9 Jumlah cylinder
= 1331
Berapa banyak cylinder yang diperlukan untuk meyimpan data di atas :
Jawab :
1 record
1 sector

= 256 byte
= 512 byte

13

Sistem Basis Data 1 (K82)
1 sector
=
2 record
10.000 sector = 20.000 record

14

1 cylinder dapat menyimpan : 40 X 11 = 440 sector
sehingga untuk 10.000 sector diperlukan : 10.000 / 440 =22.7 cylinder

ACCESS TIME:
o Adalah:
o Waktu yang dibutuhkan untuk mengakses (mendapatkan) data dari
dalam disk
o Terdiri dari:
o SEEK TIME
o Waktu yang dibutuhkan untuk menempatkan R/W head pada
cylinder yang diinginkan
o Dinyatakan dengan notasi S dalam satuan milisecond
o HEAD-SWITCHING TIME
o Waktu yang dibutuhkan untuk mengaktifkan R/W head yang
diperlukan
o LATENCY TIME (Rotational Latency)
o Waktu yang dibutuhkan untuk menunggu sampai data berada di
bawah R/W head
o Disebut juga Î ROTATIONAL DELAY
o TRANSFER TIME
o Waktu yang dibutuhkan untuk memindahkan data dari memory
ke disk atau sebaliknya

o Optical Disk
o Dibuat dari serangkaian bintik-bintik spiral dalam satu permukaan
flat.
o Dibaca dan ditulis dengan sinar laser
o Menyimpan informasi mirip dengan piringan hitam, informasi yang
terdiri dari kode-kode on dan off direpresentasikan dengan lubanglubang pada permukaan disk
o Contoh :
CD ROM
(CD read only memory)
CD R
(CD Recordable)
CD RW
(CD Rewriteable)

15

Sistem Basis Data 1 (K82)
ORGANISASI DATA
File diorganisasikan secara logic sebagai barisan record.
FILE PERFORMANCE PARAMETER
o Adalah:
o Parameter untuk menilai performance (unjuk kerja) sebuah file
o Gunanya:
o Untuk membandingkan
ƒ Kelebihan
ƒ Kekurangan
Organisasi file yang satu terhadap lainnya
1. RECORD
o
o
o
o

SIZE
Besar (panjang) sebuah record
Tiap record berisi data yang diperlukan
Data diperinci dalam sejumlah field
Tiap file akan berbeda dari file lainnya pada:
i. Jumlah field pada tiap record
ii. Besar (panjang) record
o Kemampuan menyiapkan / menyediakan panjang record seperti yang
dibutuhkan ikut menentukan peformance sebuah file
o Contoh :
NIM
: 10 Byte
Nama
: 25 Byte
Alamat
: 45 Byte
==============
Total
: 80 Byte

2. FETCH A RECORD
o Mengambil (mendapatkan) sebuah record
o Untuk bisa dimanfaatkan, data dari dalam file harus dipindahkan ke
memor
o Fetch terdiri dari 2 langkah:
o Mencari lokasi data
o Membaca record tersebut
3. GET THE NEXT RECORD
o Mendapatkan record berikutnya
o Kalau fetch Î retrieve berdasarkan key
o Get the next record Î retrieve berdasarkan struktur file
o Successor record Î record berikutnya
o Predecessor record Î record sebelumnya
4. INSERT A RECORD
o Menambah sebuah record
o Menulis kedalam file lebih rumit dari membaca isi file
o Insert berarti menambahkan sebuah data baru ke dalam file
o Insert pada ujung akhir sebuah file, hanyalah menambah banyaknya
data
Waktu yang dibutuhkan kecil
1
A

2
B

3
C

4
D

5
E

6
F

7


8


9





6
F

7
X

8


9





INSERT X PADA AKHIR RECORD
1
A

2
B

3
C

4
D

5
E

o Insert ditengah file mengakibatkan pergeseran ataupun perubahan
struktur data yang tidak sederhana

16

Sistem Basis Data 1 (K82)
1
A

2
B

3
C

4
D

5
E

6
F

7


8


9





4
5
6
7
8
C
D
E
F

Æ RECORD KE-3 DST BERGESER

9





INSERT X PADA RECORD KE 3
1
A

2
B

3
X

5. DELETE A RECORD
o Menghapus sebuah record
o Kebalikan dari insert
o Mencari lokasi data & menghapus isinya, agar bisa dipakai oleh data
yang lain
o Setelah itu dilakukan pergeseran ataupun pengaturan struktur data
kembali
1
A

2
B

3
C

4
5
D
E
Æ HAPUS

6
F

7


8


9





BILA RECORD D DIHAPUS, MAKA AKAN TERJADI PEMBACAAN DAN
PENULISAN ULANG RECORD E, F, DST
1
A

2
B

3
C

4
E

5
F

6


7


8


9





o Kadangkala delete dilakukan dengan hanya memberi tanda saja
(tombstone / flag), tanpa dilakukan penghapusan ataupun pengaturan
struktur datanya
1
A

2
B

3
C

1
A

2
B

3
C

4
5
D
E
Æ HAPUS

6
F

7


8


9





4
5
6
7
8
9
*
E
F



Æ record yang sudah dihapus “Delete”




6. MODIFY A RECORD
o Mengubah sebuah record
o Data lama & data baru digabung dalam record yang sudah ada
o Kalau modify sampai mengubah ukuran record, maka:
o Record lama harus dihapus
o Record baru dituliskan pada tempat yang mencukupi
7. READ THE ENTIRE FILE
o Membaca isi seluruh file
o Kadangkala sebuah aplikasi perlu membaca isi seluruh file
8. REORGANIZE THE FILE
o Menata ulang (mengatur kembali) file
o Sebaiknya dilakukan secara periodik
o Adalah:

17
Sistem Basis Data 1 (K82)
o Menghapus data yang didelete
o Membuang data yang tidak terpakai
o Memakai daerah kosong untuk data yang baru
o Sangat diperlukan bila konsep deletenya memakai tombstone (flag)
o Sangat dianjurkan terhadap file yang banyak di insert & atau di delete
ORGANISASI FILE
Agar dapat mengacu pada record-record yang diinginkan pada suatu file maka filefilenya dibentuk dalam aturan-aturan atau organisasi yang teratur dan konsisten.
Ada bermacam organisasi dari file yang secara umum dikelompokkan ke dalam
system pengorganisasian file dasar sebagi berikut :
1. Pile file
2. sequential file
3. index sequential file
4. multiple index file
5. direct file
6. multiring file

Pile File
Adalah:
• Bukan file komputer, tetapi file manual
• Bentuk kumpulan data sebelum diproses
• Dimana data sulit untuk diorganisir
• Data dikumpulkan urut berdasarkan kedatangan
• Tidak dianalisa, dikategorikan ataupun diatur agar sesuai dengan sesuatu field
atau record size
• Bentuk record mungkin saja variable length dan elemen data bisa tidak sama
No.record
1
2

NIP
0017081
0017201

Nama
Ali Ahmad
Umar

Tgl-lahir
09-09-1950
20-12-1960

Pekerjaan
----------Marketing

Maka dalam Pile record-record akan disimpan sebagai berikut :
Nim=0017081;Nama=Ali Ahmad;tgl-lahir=09-09-1950
Record –1
Nim=0017021;Nama=Umar;tgl-lahir=20-12-1960;Pekerjaan=Marketing
Record –2
Gambaran secara Umum :

Manfaat:
• Data tersusun secara kronologis
• Mudah dimanfaatkan, data yang datang langsung disimpan ke dalam file tanpa
proses apapun
• Mudah dibuat (dicreate), tapi report untuk mencari sesuatu dari dalamnya
• Kumpulan data manual biasanya adalah sebuah pile file

Sistem Basis Data 1 (K82)
• Sebagai perbandingan dengan bentuk-bentuk file komputer lainnya

18

Performance
1. Record Size
• Isi file ditentukan oleh 2 hal:
• Menyimpan data yang dibutuhkan
• Data yang belum disimpan tidak perlu mendapat perhatian sama sekali

2. Fetch a record
• Waktu pencarian bisa sangat lama
• Data mungkin berada dimana saja di dalam file
• Sangat dianjurkan untuk membagi file dalam block-block
• Pencarian dilakukan per block
• Tetapi tidak tertutup kemungkinan data baru ditemukan pada block yang
terakhir
3. Get the next record
• Karena data tidak diurutkan, maka successor record mungkin berada
dimana saja
• Sehingga pencarian harus dilakukan pada seluruh file
• Sangat dianjurkan untuk memanfaatkan pembagian dalam block seperti
pada fetch
4. Insert a record
• Bisa dilakukan dengan sangat cepat, karena file tidak terstruktur
• Data bisa diinsert di bagian file yang manapun
5. Delete a record
• Record yang akan didelete bisa berada dimana saja di dalam file
• Pencarian akan bisa memakan waktu yang lama karena bentuk file yang
tidak terstruktur
6. Modify a record
• Record yang akan dimodify dalam kondisi yang sama seperti yang akan di
delete
• Yaitu bisa berada dimana saja di dalam file
• Sehingga pencarian data bisa berlangsung sangat lama
7. Read the entire file
• Kegiatan ini dapat dilaksanakan dengan sangat mudah
• Karena tinggal membaca satu-persatu sesuai dengan kronologis susunan
datanya
8. Reorganize the file
• Bila delete pada file dilakukan dengan menggunakan tombstone, maka
reorganize perlu dilakukan secara periodik
• Agar file menjadi lebih ramping, sehingga proses pencarian data bisa
berlangsung lebih cepat
• Kadang reorganisasi pile file diperlukan untuk menata ulang susunan data
secara kronologis

19

Sistem Basis Data 1 (K82)
SEQUENTIAL FILE
Adalah:
• File dengan data yang tersusun dalam suatu urutan tertentu
• Tiap record mempunyai field yang sama & dengan susunan yang sama
• Bentuk file terlihat menyerupai tabel
Struktur file
• Untuk memungkinkan record tersusun secara urut perlu ditentukan key dari
tiap record
• Satu atau beberapa atribut akan menjadi key atribut
• Pengurutan record dapat dilakukan berdasarkan primary keynya
• Pembacaan secara serial (satu persatu) sesuai dengan urutan keynya disebut
pembacaan secara sequential
Nip
000021
000032
000042

Nama
Abu Bakar
Fatimah
Asma

Pekerjaan
Manajer
Sekretaris
Presiden direktur

Keterbatasan:
• Bentuk record harus fixed length
• Sehingga efisien dalam tempat (storage) tetapi kurang fleksibel
• Update tidak mudah dilakukan, memakai pola transaksi – old master file – new
master file
• Kalau kedalam record ingin ditambahkan atribut maka seluruh file harus
direorganisasi
• Seringkali pada sebuah file sequential disediakan tempat untuk penambahan
atribut
Kegunaan:
• Banyak dipakai pada metoda batch processing
• Kalau beberapa file ingin digabungkan, maka tiap file harus diurutkan dalam
pola pengurutan yang sama
Performance
1. Record Size
• Bentuk record fixed length
• Besar alokasi storage yang dibutuhkan ditentukan oleh:
• Jumlah atribut dalam sebuah record
• Banyak record yang disimpan
2. Fetch a record
• Biasanya dengan memakai cara serial search (sequential reading) dari awal
file




Sequential file bisa disimpan pada:
• Sequential Access Storage Device (Magnetic Tape)
• Direct Access Storage Device (Magnetic Disk)
Pada Direct Access Device, sequential file dapat diakses secara direct
Direct access hanya dapat dilakukan pada atribut yang dipakai untuk
mengurutkan file
¾ Sequential search
• Pembacaan record per record dari awal
¾ Binary search
• Fetch ditengah-tengah file
• Kalau key dari file lebih kecil dari yang dicari fetch ke tengah sisa file
dibawahnya

20
Sistem Basis Data 1 (K82)
• Kalau key dari file lebih besar dari yang dicari fetch ketengah sisa file
diatasnya
¾ Probbing
• Fetch pada sebuah posisi yang diperkirakan
• Dilanjutkan dengan sequential search
3. Get the next record
• Record berikutnya dapat langsung diakses
• Karena seringkali berada pada block yang sama
4. Insert a record
• Insert berarti menyisipkan sebuah record sesuai dengan posisi dari primary
key
• Insert sangat mudah kalau hanya menambahkan sebuah record pada akhir
file
• Kalau insert ke tengah file, harus dipakai metoda batch update
5. Delete a record
• Menggunakan metoda batch update
• Key dari record-record yang akan di delete dikumpulkan dahulu pada
transaction file
6. Modify a record
• Menggunakan metoda batch update
• Bila nilai key tetap, maka field yang berubah akan dituliskan langsung pada
tempatnya
• Bila nilai key berubah pada primary key, maka kegiatannya adalah delete
yang lama lalu insert yang baru Read the entire file
7. Read the entire file
• Dilakukan dengan sequential search
• Pembacaan file dilakukan sesuai dengan urutan fisik file (key bisa urut /
bisa tidak urut)
8. Reorganize the file
• Membentuk file baru (batch update)
• Kedua file (master file & transaction file) harus diurutkan pada urutan yang
sama

Sistem Basis Data 1 (K82)
INDEX FILE
¾ File index digunakan untuk menemukan lokasi record yang dicari dengan
cepat
¾ Terdiri dari :
o Index block Number
o Key Attribut
o Record Number (TID = Tuple Indentifier)
Master File
Record Nim
Number
1
0211500032
2
0211500054
Dst
………
101
0211500143
102
0211500150
Dst
………..
201
0222300032
202
0222300054
dst
……..
301
0222500234
302
0222500240
Dst
………..
401
0222500434
402
0222500450
Dst
………..
501
0233500002
502
0233500004
Dst
………..
601
0244500032
602
0244500034
Dst
………..

Nama
Fathimah
Ali
Nida
Asih
………
Ahmad
Ummi
Dani
Tika
………
Dito
Titi
………
Budi
Ina
………
Dina
Ani
………

INDEX FILE–NYA SEBAGAI BERIKUT :
Index Block #
A

KEY
0211500032
0211500054

REC #
1
2

B

0211500143
0211500150

101
102

C

0222300032
0222300054

201
202

D

0222500234
0222500240

301
302

E

0222500434
0222500450

401
402

F

0233500002
0233500004

501
502

G

0244500032
0244500034

601
602

21

22
Sistem Basis Data 1 (K82)
Untuk mencari index block dengan cepat dibuat index level kedua sebagai berikut :
Index Block #

M

KEY
0211500032
0211500143
0222300032
0222500234
0222500434
0233500002
0244500032

INDEX BLOCK #
A
B
C
D
E
F
G

Terdapat 2 tipe pengacuan indeks
o Block Anchor
Indeks tidak menunjuk langsung ke record tetapi ke block yang memuat
record
Indeks memuat record pertama dari tiap block
Contoh
Index Block #

M

KEY
0211500032
0211500143
0222300032
0222500234
0222500434
0233500002
0244500032

INDEX BLOCK #
A
B
C
D
E
F
G

o Record Anchor
Indeks menunjuk ke record
Data Utama
No. Record
NIM
Nama
Alamat
1
0011500043|Muhammad Hanafi|Petukangan Utara
2
0222500056|Ali|Ciledug
3
0033500021|Fitriana Sari| Petukangan Selatan
4
0022500026|Budi Firmansyah|Cipulir
5
0244500023|Titi|Cipondoh
6
0122500035|Abdullah Nashih Ulwan|Tanah Abang
7
0022500254|Ade|Kebayoran Lama
8
0322500221|Muhammad Reza Pahlevi|Kebayoran Baru
Record Nim
Nama
Number
1
0211500032
Fathimah
2
0211500054
Ali
Dst
………
101
0211500143
Nida
102
0211500150
Asih
Dst
………..
………
201
0222300032
Ahmad
202
0222300054
Ummi
dst
……..
301
0222500234
Dani
302
0222500240
Tika
Dst
………..
………
401
0222500434
Dito
402
0222500450
Titi
Dst
………..
………
501
0233500002
Budi

Sistem Basis Data 1 (K82)
502
0233500004
Dst
………..
601
0244500032
602
0244500034
Dst
………..

23
Ina
………
Dina
Ani
………

Index file
Misal Berdasarkan nama
Key
Ali
Ani
Asih
Budi
Dani
Dina
Dito
Dst…

Record #
2
602
102
501
301
601
401
Dst..

24
Sistem Basis Data 1 (K82)
INDEXED SEQUENTIAL FILE
Adalah:
• Organisasi file yang mempunyai semua keunggulan dari sequential file
• Tetapi kemampuan aksesnya jauh lebih baik
• Ada 2 hal yang ditambahkan yaitu
• Index: untuk mendapatkan cara akses yang lebih baik
• Overflow area: untuk mengatasi masalah dalam penambahan data (insert)
• Komponen:
• Sequential file (main file)
• Index
• Overflow Area


Main file:
• Berisi data / record – record yang membentuk file
• Data tersusun seperti pada sequential file



Index:
• Berisi alamat dari tiap record yang ada didalam main file (seperti daftar isi)
• Index dipakai untuk memungkinkan dilakukan fetch terhadap record
tertentu, dengan cara:
• Alamat dari record yang akan difetch dicari di dalam index
• Dengan alamat tersebut data dibaca dari dalam main file
• Salah satu konsep index yang dipakai adalah:
memanfaatkan Block Anchor



Overflow Area
• Menyimpan record tambahan, yang diisi pada waktu dilakukan insert
• Mirip dengan apa yang disebut transaction file, tetapi diintegrasikan
menjadi satu dalam konsep index-sequential file
• Lokasi record ditunjukkan dengan pointer dari predecessornya
KEY
013-20-14
104-13-82
--END
MASTER

BLOCK ID
1

2

BLOCK ID
1
2
--INDEX

KEY
013-20-14
021-13-21
045-62-57
----

BLOCK ID
11
12
13
----

104-13-82
132-52-93
183-08-29
--END
INDEX

21
22
23
---

Record
Number
11.1
11.2
11.3
XXXXX
12.1
12.2
XXXXX
13.1
13.2
XXXXX
21.1
21.2
XXXXX
22.1
XXXXX
23.1
23.2
23.3
XXXXX

No. ktp

Nama

013-20-14
015-23-51
019-88-79
XXXXXXXX
021-13-21
027-55-07
XXXXXXXX
045-62-57
049-20-73
XXXXXXXX
104-13-82
108-84-66
XXXXXXXX
132-52-93
XXXXXXXX
183-08-29
186-08-30
192-20-41
XXXXXXXX
SEQUENTIAL
FILE

Hadi
Ari
Nani
XXXXXXX
Nita
Agus
XXXXXXX
Nanda
Tuti
XXXXXXX
Wiyogo
Arjuno
XXXXXXX
Hakim
XXXXXXX
Garuda
Arini
Baruna
XXXXXXX

Overflow
pointer
112.1
XXXXX

XXXXX

XXXXX

XXXXX
XXXXX
231.1

XXXXX

O-CHAIN-P
112.1
112.2
XXXXX
231.1
231.2

016-78-01
HERMAN
017-09-73
JIRAN
XXXXXXXX
XXXXXXX
184-29-80
FARID
185-51-38
SAMIN
OVERFLOW AREA

11.3
XXXXX
23.2

25
Sistem Basis Data 1 (K82)
• Untuk meminimalkan jumlah overflow pointer yang dipakai digunakan metoda
push-through
• Record baru ditempatkan sesudah predecessornya
• Successor record digeser mendekati ujung block
• Record pada ujung block digeser ke overflow area
INSERT

085

039

025

MAIN FILE

017
061
103

017
061
085
103

017
039
061
085

017
025
039
061

103

085

OVERFLOW
AREA

103
Kegunaan index sequential file
• Bentuk file yang paling banyak dipakai
• Dipakai bila file ingin selalu dalam kondisi up to date
• Sebuah record dapat di insert atau di retrieve secara langsung melalui indexnya
• Sangat sesuai untuk proses secara on-line
• Bisa juga diakses secara sequential
Kelemahan index sequential file
• Seach/pencarian hanya bisa melalui sebuah key saja, yaitu key yang
mengurutkan file
Performance
1. Record Size
• Berbentuk fixed length record
• Ukuran file relatif tetap, karena insert memakai overflow area
• Ukuran file baru berubah setelah dilakukan reorganisasi
• Overflow area digabungkan dengan main file
• Overflow area akan kosong
• Main file akan bertambah besar
2. Fetch a record
• Index dimanfaatkan untuk menemukan sebuah record
• Dicari dari index yang paling atas, menurun ke index dibawahnya sampai
akhirnya ke main file
• Bila pernah dilakukan insert, pencarian akan dilanjutkan ke overflow area
untuk mencari record yang telah di geser (push)
3. Get the next record
• Successor record cukup dicari secara serial dari predecessornya, tanpa
memanfaatkan index
4. Insert a record
• Menambah record berarti memperpanjang overflow chain, karena metoda
push through
• Record baru akan selalu ditempatkan urut dengan record sebelumnya
• Tiap kali insert akan mengakibatkan terjadi read & rewrite dari pointerpointer
• Index tidak berpengaruh terhadap index
• Ada 3 cara yaitu
a. separate file, record baru disimpan pada file terpisah (kurang efisien)
b. Free space in every block, ruang kosong yang akan terisi bila ada record
baru
c. Free space in every silinder, ruang kosong pada akhir setiap silinder

Sistem Basis Data 1 (K82)
5. Delete a record
• Delete pemakai tombstone
• Data pada pointer & index tetap ada

26

6. Modify a record
• Dilakukan dengan langkah fetch & rewrite
• Karena record baru bisa dituliskan pada tempat record lama berada
7. Read the entire file
• Dapat dilakukan dengan memakai salah satu dari 2 cara dibawah ini:
1. Secara serial dengan mengikuti alur urutan data (termasuk ke overflow
area)
2. Secara sequential membaca isi main file dahulu baru membaca isi
overflow area
8. Reorganize the file
• Overflow area digabungkan ke main file
• Main file mendapat ukuran yang baru
• Overflow area kembali kosong
• Index berubah isinya sesuai dengan data terbaru
• Dilakukan dengan pembacaan serial melalui main file

Multiple Indexed file
Adalah:
• Disebut juga multiple indexed file
• Mempunyai lebih dari sebuah index
• Tiap atribut (bahkan semua atribut) mempunyai index)
• Tiap index diperlakukan sama
• Tiap index adalah record anchored
• Tidak ada konsep primary-attribute
• File tidak tersusun berdasarkan primary index
• Tidak ada pengaturan overflow-chain
• Insert langsung ke dalam main file
• Tiap kali insert semua index harus diupdate
• Hanya bisa diakses melalui indexnya
• Bisa diakses melalui index yang mana saja
• Record bisa berbentuk variable length
Struktur file pada indexed file
• Index bisa sebanyak atribut yang ada
• Index bahkan bisa lebih banyak dari jumlah atribut yang ada, kalau dibentuk
combined index
• Index berisi alamat dari tiap record yang terkait
• Tidak ada urutan data pada primary file, karena system akan menempatkan
data berdasarkan besar kebutuhan tempat
• Tidak ada batasan panjang record
• Bisa berbentuk variable length record
• Successor record dicari melalui record
Data Utama
No. Record
1
2
3
4
5
6
7
8

NIM
Nama
Alamat
0011500043|Muhammad Hanafi|Petukangan Utara
0222500056|Ali|Ciledug
0033500021|Fitriana Sari| Petukangan Selatan
0022500026|Budi Firmansyah|Cipulir
0244500023|Titi|Cipondoh
0122500035|Abdullah Nashih Ulwan|Tanah Abang
0022500254|Ade|Kebayoran Lama
0322500221|Muhammad Reza Pahlevi|Kebayoran Baru

27

Sistem Basis Data 1 (K82)
Index file
Misal Berdasarkan nama
Key
Abdullah Nashih Ulwan
Ade
Ali
Budi Firmasyah
Fitriana Sari
Muhammad Hanafi
Muhammad Reza Pahlevi
Titi

Record #
6
7
2
4
3
1
8
5

Kegunaan indexed file
• Banyak dipakai bila kecepatan akses sangat dibutuhkan
• File jarang diakses secara serial
• Data dapat diakses dengan struktur yang berbeda tanpa perlu dilakukan
reorganisasi (karena bisa mempunyai banyak record)
• Sangat cocok untuk format data yang dinamis
Performance
1. Record size
• Bisa berbentuk variable length
• Atribut record secara umum bisa berbentuk sparse
• Besar keseluruhan file sangat ditentukan oleh banyaknya index yang dibuat
2. Fetch a record
• Dilakukan melalui index
• Mirip dengan indexed sequential, hanya tidak ada pencarian ke overflow
area
• Bila index bisa ditempatkan pada satu cylinder, maka penelusurannya tidak
memerlukan seek time
3. Get the next record
• Tidak bisa dilakukan melalui struktur file
• Dilakukan melalui index
4. Insert a record
• Record ditempatkan dimana saja pada daerah yang kosong
• Semua index yang terkait akan di update
5. Delete a record
• Tidak dengan menghilangkan/menghapus record yang didelete
• Tidak melepaskan semua index yang terkait dengan record tersebut
6. Modify a record
• Dilakukan dengan cara:
• Mencari lokasi yang akan berubah
• Mengubah isi record
• Mengubah semua index yang terkait dengan perubahan tersebut
7. Read the entire file
• File tidak diharapkan untuk sering dibaca seluruh isinya
• Karena lokasi record yang tidak beraturan
• Harus dilakukan dengan memanfaatkan index lengkap yang ada

28
Sistem Basis Data 1 (K82)
8. Reorganize the file
• Tidak perlu dilakukan secara periodik
• Lebih kepada pemanfaatan kembali daerah-daerah kosong akibat delete a
record

Hashed File
Adalah:
• Memakai perhitungan matematis untuk menemukan alamat dari sebuah record
• Memanfaatkan kemampuan disk unit dapat mengakses tiap block yang
diketahui alamatnya
• Agar dapat dilakukan direct access, key dari record dipakai sebagai alamat di
dalam file
Komponen Hashed File:
• File Space
• Terbagi dalam slot-slot
• Tiap slot menyimpan sebuah record


Rumus
• Menghasilkan slot address, dihitung berdasarkan key dari sebuah record

Overview Hashed File
• Berbasis kemampuan direct access ke dalam file dengan memanfaatkan relatif
address
• Relatif address adalah:
• Sebuah record dapat ditemukan hanya dengan memanggilnya lewat nomor
urut record di dalam file
• Masalahnya adalah:
• Membuat rumus untuk mengubah key dari sebuah record menjadi nomor
urut (KAT -> Key To Address Transformation)
• KAT (Key To Address Transformation) :
• Tujuannya untuk menghasilkan slot number yang berbeda bagi tiap record
• Dengan cara mengubah key menjadi relative address
• Hambatan KAT:
• Key umumnya sesuatu yang bersifat natural (NIM / No_KTP /
No_Pegawai / dll)
• Natural Key biasanya panjang (NIM = 10 digit)
• Persyaratan KAT:
• Ukuran Key harus diperpendek agar sesuai dengan slot address (relative
address)
• Slot address yang dihasilkan harus unix
• Algoritma untuk membuat KAT sangat banyak
• Contoh:
NIM
NAMA
SLOT ADDRESS
0011500001
BUDIMAN
1
0011500002
HERMAN
2
0011500105
ACHMAD
105
0011500106
ENDANG
106
0011500107
SEPHIA
107


Fungsi hash yang umum digunakan
• Division Remainder (pembagian sisa)
• Truncation (pemenggalan)
• Folding ( Lipatan)
• Multiplication (perkalian)
• Mid Square

29
Sistem Basis Data 1 (K82)
Teknik Hashing Division Remainder (pembagian sisa)
- Metode hashing paling sederhana dengan membagi 1 nilai kunci dengan
ukuran tabel
- Diimplementasikan dengan syntax programming MOD (sisa pembagian)
- Bagi programming yang tidak memungkinkan index dari 0 maka ditambah 1
- Contoh 1 :
jika ukuran tabel 11 dan nilai kunci 648
F(648) = 648 mod 11 = 10
Maka nilai 648 disimpan di lokasi 10
- Contoh 2 :
Sebuah file = 4 record dengan nilai kunci 12,19,68,38
ukuran tabel 11
F(12) = 12 mod 11 = 1
F(19) = 19 mod 11 = 8
F(68) = 68 mod 11 = 2
F(38) = 38 mod 11 = 5
Index
NIlai Kunci

0

1
12

2
68

3

4

5
38

6

7

8
19

9

Teknik Hashing Truncation (pemenggalan)
- melakukan pemenggalan sejumlah digit yang pertama atau yang terakhir
dari sejumlah digit
- Keuntungan, capat dan mudah dalam implementasinya
- Kerugian, terbatasnya ukuran ruang alamat
- Contoh 1:
Jika fungsi F menghapus 6 digit akhir dari digit 123456789
Maka f(123456789) = 123
Nb : hash memetakan nomor 123456789 ke alamat 123
Teknik Hashing Folding ( Lipatan)
- Nilai kunci dibagi menjadi beberapa bagian, masing-masing memiliki jumlah
digit yang sama (kecuali bagian awal atau akhir). Bagian-bagian ini kemudian
dilipat antara satu bagian dengan bagian lain. Hasil penjumlahan setelah
dilipat dan digit dengan orde paling tinggi dipenggal menjadi alamat relative
- Contoh 1:
Nilai kunci 253456718, target alamat relative menggunakan 4
digit
Nilai kunci dibagi menjadi 4 digit
Jawab:
2 5345
2
5345
8176
-------- +
15521

6718

(urutan terbalik !)

digit dengan order tinggi dihilangkan menjadi 5521
-

Contoh 2:
Nilai kunci 123456 dibagi menjadi 2 bagian
Jawab:
123
123
456
654
------ +
atau
----- +
579
777

Teknik Hashing Multiplication (pekalian)
- Membagi sebuah kunci dan menjumlah bagian-bagiannya (seperti teknik
folding), bagian dari salah kunci dipilih untuk dikalikan. Hasilnya atau satu
bagian yang dipenggal merupakan alamat relatif dari record yang akan
dilokasikan
- Contoh 1:
NIM = 9922500266
Jawab:
992 * 266 = 263872
dipenggal menjadi 2638
Maka data NIM 9922500266 disimpan di alamat 2638

Sistem Basis Data 1 (K82)
Teknik Hashing Mid Square
- Nilai kunci dikuadratkan, tentukan digit yang akan dikutip dari tengah
- Contoh 1:
Diambil dari kanan, mulai posisi ke 6 sebanyak 6 digit
Nilai Kunci
Kunci dipangkatkan
Alamat
relatif
9122500266
83220011103170070756 031700
0322501001

30

104006895646002001 956460

Collision:
• Kadangkala KAT (Key To Address Transformation) akan menghasilkan slot
address yang sama untuk 2 atau lebih key yang berbeda.
• Akibatnya 2 atau lebih record yang berbeda akan mempunyai slot address yang
sama
• Kondisi diatas disebut Collision
• Metoda mengatasi collision:
• Open addressing
• Linear search
• Re-randomization
• Overflow area
Linear Search
• Slot dikelompokkan ke dalam bucket, 1 bucket sama dengan 1 block
• Dengan dimanfaatkannya bucket, jumlah relative address berkurang
• Bucket kadang disebut juga sebagai Cluster
• Bila sebuah record akan direkam maka:
• Ditempatkan kedalam bucket sesuai dengan bucket addressnya
• Ketika terjadi collision, record tetap ditempatkan sesuai dengan bucket
addressnya tetapi pada next sequential block
Re-randomization:
• Tidak memanfaatkan bucket (cluster)
• Tetapi menempatkan record yang collision pada sembarang tempat di dalam
file
• Dengan membuat KAT yang bertingkat-tingkat
• Sebuah record direkam kedalam slot sesuai dengan relative addressnya
(diperoleh dari KAT)
• Bila terjadi collision, KAT tingkat berikutnya akan dipakai untuk mencari tempat
kosong di dalam file
• Setiap terjadi collision, KAT tingkat berikutnya akan dimanfaatkan
Overflow area:
• Mempersiapkan file terpisah (overflow file)
• Memanfaatkan overflow-chain untuk penghubung (seperti pada indexed
sequential file)
• Tidak dipakai pola bucket (cluster)
• Membutuhkan seek tersendiri, tetapi tidak ada sequential search ke dalam
bucket
• Kesulitannya adalah:
• Menyediakan overflow file yang mencukupi
• Karena collision tidak bisa diduga kapan terjadi & berapa kali terjadi
Kegunaan Hashed File
• Banyak dipakai untuk file-file berbentuk:
• Directory
• Tabel (Harga / barang)
• Jadwal kegiatan
• Daftar (nama/alamat)
• dll
• File dengan ukuran record yang pendek & fixed
• Dapat diakses dengan cepat
• Hanya diakses berdasarkan 1 key
• Tidak pernah diakses secara serial

31
Sistem Basis Data 1 (K82)
Performance
1. Record Size
• Fixed length record
• Besar tempat yang dibutuhkan untuk tiap record adalah sama seperti pada
indexed sequential file
2. Fetch a record
• Record ditemukan berdasarkan relative address
• Kalau pernah terjadi collision, fetch dilanjutkan ke tempat record
sebenarnya berada (tergantung metoda penanganan collision)
3. Get the next record
• Tidak dikenal cara serial access
• Selalu seperti fetch a record
4. Insert a record
• Slot yang akan diisi harus diperiksa apakah:
• Kosong
• Berisi record dengan key yang sama
• Berisi record dengan key yang lain (collision)
5. Delete a record
• Dengan memanfaatkan tombstone
• Bila dipergunakan overflow area:
• Overflow-chain akan diatur ulang
• Atau slot akan diberi tanda kosong
• Bila dipergunakan open addressing:
• Tidak bisa sekedar slot diberi tanda kosong
• Harus dimungkinkan untuk tetap mendapat record-record yang collision
6. Modify a record
• Dilakukan secara fetch & rewrite pada tempat yang sama
• Kalau key berubah maka langkahnya adalah insert & modify
7. Read the entire file
• Tidak bisa dilakukan serial search
• Hanya bisa dengan membaca seluruh slot yang disiapkan, melalui KAT
• Walaupun akan termasuk membaca semua slot yang masih kosong
8. Reorganize the file
• Diperlukan bila total record telah mengisi semua slot dan tidak ada tempat
lagi untuk bertambah
• Dibutuhkan tempat baru yang lebih besar
• KAT perlu diubah atau diperbaiki
• Reorganisasi juga diperlukan jika banyak record yang telah didelete (delete
akan berakibat memperpanjang / memperlama pencarian sebuah record)

MULTIRING FILE
Adalah:
• Berorientasi ke proses yang efisien untuk subset (kumpulan record)
• Subset berisi grup record yang memiliki atribut yang sama
• Banyak dimanfaatkan dalam system database
• Sejumlah subset dari record terkait satu dengan lainnya oleh pointer-pointer
• Jalur kait antar subset menggambarkan urutan anggota dari subset tersebut
• Sebuah record bisa menjadi anggota dari beberapa subset
• Tiap subset mempunyai Header Record (Header) yaitu record yang merupakan
tempat sebuah subset terkait
• Header berisi semua keterangan tentang anggota subsetnya
• Header record sendiri bisa juga terkelompok dalam sebuah subset
• Salah satu jenis kait yang dipakai adalah RING
• RING adalah:
• Dimana anggota subset yang pertama dan terakhir sama-sama terkait pada
header record
• Ring dapat disusun bertingkat-tingkat

32
Sistem Basis Data 1 (K82)
• Sehingga anggota dari sebuah subset dapat menjadi header record bagi subset
tingkat dibawahnya
Struktur file
• Isi dan ukuran sebuah record sangat tergantung pada subset mana record
tersebut terkelompok
• Tiap record mempunyai sejumlah pointer yang menyatakan ke ring mana saja
record tersebut terkait
• Tiap ring (subset) mempunyai header
• Header adalah: entry point & atau anggota ring lainnya
• Cara penelusuran:
• Ring dimasuki melalui header
• Anggota ring ditelusuri satu persatu sampai ketemu
• Bila penelusuran kembali mencapai header berarti satu ring telah selesai
ditelusuri
Performance
1. Record Size
• Bisa mempunyai berbagai bentuk record di dalam sebuah file
• Atribut sebuah record dapat berada di dalam record tersebut, atau dapat
ditelusuri berdasarkan pointer yang ada
• Sebuah pointer di dalam record dapat menjadi pengganti dari sejumlah
atribut pada record tersebut
2. Fetch a record
• Untuk bisa mencapai sebuah record (yang terdapat di dalam ring) selalu
harus melalui headernya
• Sebuah ring hanya bisa dimasuki melalui entering pointnya
3. Get the next record
• Dilakukan dengan menelusuri ring yang terkait
• Next record tergantung atribut apa yang terkait
4. Insert a record
• Dilakukan dengan:
• Mengarahkan semua pointer dari predecessor record ke record baru
• Memindahkan semua nilai/isi pointer dari predecessor record ke record
baru
5. Delete a record
• Kebalikan dari insert:
• Melepaskan semua pointer dari predecessor record & semua pointer ke
successor record
• Mengarahkan semua pointer dari predecessor record ke successor
record
6. Modify a record
• Dilakukan dengan cara fetch & rewrite, bila hanya merubah isi record
• Hanya ring yang terkait saja yang di update
• Bila merubah urutan record, dilakukan seperti pada pelaksanaan insert
7. Read the entire file
• Dilakukan dengan:
• Pembacaan secara serial mengikuti semua kemungkinan hubungan yang
ada
• Menelusuri ring demi ring
• Bertingkat-tingkat, sampai seluruh record
8. Reorganize the file
• Secara normal tidak diperlukan reorganisasi
• Bila merubah file sebuah record, maka hanya ring & record yang terkait saja
yang perlu diproses