File relatif merupakan file yang
recordnya dibedakan dengan suatu nomor record relatif, sedangkan nomor record relatif
dapat berkisar dari nomor record 1
sampai dengan nomor record 32767. Nomor record relatif ini tidak turut
direkamkan dalam file, sehingga panjang recordnya adalah sepanjang record yang
ditentukan tanpa nomor record relatif. Panjang record untuk file relatif adalah
mempunyai panjang yang tetap.
IDENTIFICATION DIVISION
Isi dari Identification division
pada file relatif sama dan tidak berbeda dengan identification division pada
file sequential, maupun pada file
indeks.
ENVIRONMENT DIVISION
Entry dalam SELECT clause harus
disebutkan ORGANIZATION IS RELATIVE.
Sedangkan kalau digunakan mode akses dinamik, maka harus disebutkan nama-data RELATIVE KEYnya.
RELATIVE KEY clause menunjukkan
nama-data yang dipergunakan sebagai
kunci relatif, yang sudah harus disebutkan terlebih record description entri dalam DATA DIVISION. Nama-data ini dapat
berupa grup data item atau elementary data item yang berbentuk numeric.
RELATIVE KEY clause harus disebutkna
untuk mode access acak atau mode access dinamik, sedangkan pada mode access
urut, dapat disebutkan bila akan dipergunakan statement START untuk menempatkan
posisi record pada nomor relative tertentu.
FILE STATUS clause digunakan untuk menunjukan jenis kesalahan yang terjadi dari
suatu hasil proses operasi file. Jenis kesalahan ini ditunjukan oleh suatu
nilai sepanjang dua karakter yang disimpan pada nama-data yang disebutkan pada
clause ini dan sudah disebutkan terlebih dahulu pada WORKING-STORAGE SECTION
atau pada LINKAGE SECTION.
DATA DIVISION
Data division pada file relative sama
dengan data division pada file secara sequential maupun secara indeks, yaitu
mengandung file description entry.
LABEL
RECORD IS STANDARD
VALUE
OF FILE-ID IS nama-file di label
PROCEDURE DIVISION
Statement khusus yang
dipergunakan pada file relative di dalam PROCEDURE DIVISION sama dengan yang
ada di file indeks, yaitu dapat dibentuk dari verb OPEN, CLOSE, READ, WRITE,
REWRITE, START dan DELETE
a)
OPEN VERB
Bentuk dari statement OPEN pada file
indeks adalah sebagai berikut
·
OPEN INPUT
·
OPEN OUTPUT
·
OPEN I-O
b)
WRITE VERB
Digunakan untuk membentuk statement
WRITE yang berguna untuk merekam data pada record tertentu di file yang telah
dibuka dengan statement OPEN.
Berikut dari statement WRITE :
WRITE nama-record [FROM
nama-data]
[:INVALID
KEY,statement-imperatip]
Data yang ada di storage
nama-record atau diambil dari (FROM) storage nama-data akan direkamkan data
pada record, nilai dari field kunci harus unik, kalau tidak, maka data tidak
akan terekam dan statement-inperatip pada INVALID KEY akan dikerjakan bila
disebutkan.
Nilai dari nama-data pada
RELATIVE KEY clause yang menunjukan posisi nomor record relative di dile harus
merupakan nomor record relative yang record tersebut belum terisi dengan data. Bila
data record tersebut sudah terisi dengan data, maka ini berarti nomor record relative
tersebut tidak unik.
c)
READ VERB
Digunakan untuk membaca record yang ada
di file. Ada 2 bentuk statement READ, yaitu :
Bentuk ke-1 :
READ nama-file [NEXT] RECORD
[INTO nama-data]
[; AT END statement-imperatip]
Bentuk ke-2 :
READ nama-file RECORD [INTO nama-data]
[; INVALID KEY
statement-imperatip]
d)
REWRITE VERB
Bentuk dari statement REWRITE :
REWRITE nama-record [FROM nama-data]
[;INVALID KEY statement –imperatif]
e)
CLOSE VERB
Setelah operasi file
selesai,maka semua file yang masih terbuka harus ditutup.Untuk menutup file
dipergunakan statement CLOSE.
Bentuk dari statement CLOSE :
CLOSE nama-file-1 [WITH
LOCK] [,nama-file-2 [WITH LOCK]]
f)
START VERB
Statement START digunakan
untuk menempatkan pembacaan record pada posisi record sesuai dengan nilai nomor
relatif tertentu yang diinginkan.Statement ini hanya boleh dipergunakan untuk
file yang diakses secara sequential access mode atau secara dynamic access mode
yang dibuka sebagai file input atau file I-O.
g)
DELETE VERB
Statement DELETE digunakan untuk menghapus
record tertentu dari file.Bentuk dari statement DELETE :
DELETE nama-file RECORD
[;INVALID KEY statement-imperatif]
...........
Tidak ada komentar:
Posting Komentar