File sequential
PENDAHULUAN
Ø Organisasi file secara urut
memungkinkan pengaksesan record di file secara berurutan.
Ø Data baru yang direkam akan
menempati urutan record setelah record terakhir.
Ø Ada 2 macam organisasi file secara
urut :
1. Bentuk organisasi SEQUENTIAL
merupakan bentuk default file yang dibuat oleh program MS-COBOL
2. Bentuk organisasi LINE SEQUENTIAL
yaitu organisasi file yang tiap recordnya diakhiri dengan carriage return atau
pembatas line feed
Environment division[sequential]
v Pada divisi ini yang berbeda yaitu
dalam input-output section pada file control paragraph.
v INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT nama-file ASSIGN TO DISK/PRINTER.
[ORGANIZATION IS [LINE]
SEQUENTIAL]
[ACCESS MODE IS SEQUENTIAL]
[FILE STATUS IS nama-data].
Nilai status
Tabel 1.
Nilai status organisasi file urut Nilai Status
Jenis
Kesalahan
00 Tidak terjadi kesalahan
10 Akhir dari file (End Of File)
30 File tidak ada (File not found)
34 Disk penuh ( Disk Space Full)
91 Struktur file rusak
q Nilai status kesalahan dapat diseleksi
pada :
• AT END option pada statement READ
• INVALID KEY option pada statement
WRITE, READ, REWRITE, START atau DELETE
• DECLARATIVES region jika
dipergunakan
Contoh pada environment division
IDENTIFICATION DIVISION.
PROGRAM-ID. RELASI.
AUTHOR. KELAS 2KA40.
ENVIRONMENT DIVISON.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT
REKAMAN ASSIGN TO DISK
FILE STATUS
IS STATUS-SALAH
ORGANIZATION
IS SEQUENTIAL.
Data division[sequential]
Ø Pada divisi ini file urut harus
mengandung file description entry sebagai berikut:
;LABEL
RECORD IS STANDARD
RECORD ARE OMITTED
{;VALUE OF
FILE-ID IS nama-file di label}
Ø LABEL RECORD IS OMITTED, digunakan untuk
print-file yang tidak mempunyai label
Ø LABEL RECORD IS STANDARD, digunakan untuk
disk-file yang mempunyai label
Contoh
PROGRAM-ID. RELASI.
AUTHOR. KELAS 2KA.
ENVIRONMENT DIVISON.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT
REKAMAN ASSIGN TO DISK
FILE STATUS
IS STATUS-SALAH
ORGANIZATION
IS SEQUENTIAL.
SELECT
CETAKAN
ASSIGN TO
PRINTER.
Contoh
DATA DIVISON.
FILE SECTION.
FD REKAMAN
LABEL
RECORD IS STANDARD
VALUE OF
FILE-ID IS ‘NAMA.DAT’
DATA RECORD
IS RECORD-RELASI.
01 RECORD-RELASI.
02
NAMA-RELASI PIC X(25).
02
ALAMAT-RELASI PIC X(25).
02
KOTA-RELASI PIC X(15).
02
TELP-RELASI PIC X(8).
FD CETAKAN
LABEL
RECORD IS OMITTED
DATA RECORD
IS BARIS-CETAK.
01 BARIS-CETAK.
WORKING-STORAGE SECTION.
77 STATUS-SALAH PIC XX.
Procedure division[sequential]
Statement khusus yang digunakan pada
file urut pada divisi ini yaitu
- OPEN
- CLOSE
- READ
- WRITE
- REWRITE
- USE
OPEN VERB
Ø Digunakan untuk membuka file yang
akan diakses.
Ø Bentuk umum
OPEN
INPUT
nama-file-1 [, nama-file-2] …
OUTPUT
nama-file-3 [, nama-file-4] …
OPEN I-O
nama-file-5 [, nama-file-6] …
EXTEND
nama-file-7 [, nama-file-8] …
Jenis open verb
- OPEN INPUT menunjukan file
dibuka sebagai file input yaitu file yang dibuka untuk tujuan sebagai
input atau data akan dibaca dari file ini.
- OPEN OUTPUT menunjukan file
dibuka sebagai file output yaitu file yang dibuka untuk tujuan sebagai
output atau data akan direkam pada file ini.
- OPEN INPUT-OUTPUT menunjukan
file dibuka sebagai file input dan output yaitu file yang dibuka untuk
tujuan sebagai input dan output sekaligus atau dapat dibaca, dimodifikasi
dan direkam kembali.
Contoh open verb
v OPEN INPUT REKAMAN.
v OPEN INPUT REKAMAN
PIUTANG.
v OPEN OUTPUT BARANG.
v OPEN INPUT REKAMAN
OUTPUT CETAKAN.
v OPEN I-O HUTANG.
CLOSE VERB
Ø Digunakan untuk menutup file untuk
mencegah rusaknya struktur file.
Ø Bentuk Umum statement CLOSE
CLOSE nama-file-1 [WITH LOCK][,
nama-file-2 [WTH LOCK]]
Ø LOCK digunakan jika diingikan file
yang sudah ditutup tidak dapat dibuka kembali pada saat proses masih
berlangsung.
Contoh
CLOSE REKAMAN, CETAKAN.
WRITE VERB
q Digunakan untuk merekamkan data pada
record tertentu di file yang telah dibuka dengan statement OPEN
q Bentuk umum
WRITE nama-record [FROM nama-data-1]
BEFORE
ADVANCING nama-file-2 [LINE]
AFTER integer [LINES]
PAGE
AT END of
PAGE statement-imperatif
EOP
Contoh
WRITE BARIS-CETAK FROM JUDUL-TABEL
AFTER
ADVANCING PAGE.
JUDUL-TABEL akan dicetak pada
print-file yaitu di printer setelah berganti halaman baru.
Coding
DATA DIVISON.
FILE SECTION.
FD REKAMAN
LABEL RECORD IS STANDARD
VALUE OF FILE-ID IS ‘NAMA.DAT’
DATA RECORD IS RECORD-RELASI.
01 RECORD-RELASI.
02 NAMA-RELASI PIC X(25).
02 ALAMAT-RELASI PIC X(25).
02 KOTA-RELASI PIC X(15).
02 TELP-RELASI PIC X(8).
FD CETAKAN
LABEL RECORD IS OMITTED
DATA RECORD IS BARIS-CETAK.
01 BARIS-CETAK.
WORKING-STORAGE SECTION.
77 STATUS-SALAH PIC XX.
01 RECORD-RELASI-IN
02 NAMA-IN PIC X(25).
02 ALAMAT-IN PIC X(25).
02 KOTA-IN PIC X(15).
02 TELP-IN PIC X(8).
Ø Untuk merekamkan data relasi pada
record file yang berupa disk-file dalam PROCEDURE DIVISION :
REKAMKAN.
WRITE RECORD-RELASI.
Atau
REKAMKAN.
WRITE
RECORD-RELASI FROM RECORD-RELASI-IN.
Read verb
v Digunakan untuk membaca record yang
ada di file
v Bentuk Umum
READ nama-file RECORD [INTO
nama-data]
[;AT END statement-imperatif]
Perbedaan pokok statement READ dan
WRITE adalah :
•
WRITE diikuti nama-record dengan level number 01
•
READ diikuti nama-file
Contoh
BUKA-FILE.
OPEN INPUT
FILE-KAS.
BACA-DATA.
READ
REKAMAN INTO RECORD-RELASI-OUT
AT END GO
TO HABIS.
TAMPILKAN.
DISPLAY
RECORD-RELASI-OUT
GO TO
BACA-DATA.
HABIS.
CLOSE
FILE-KAS
STOP RUN.
Rewrite verb
q Digunakan untuk merekam ulang record
yang sudah pernah direkam (update)
q Bentuk Umum è REWRITE nama-record [FROM
nama-data]
q Contoh
REWRITE RECORD-RELASI.
Record RECORD-RELASI akan direkamkan
ulang dengan nilai baru yang ada pada lokasi storage RECORD-RELASI.
REWRITE RECORD-RELASI FROM
RECORD-RELASI-IN.
Record RECORD-RELASI akan direkamkan
ulang dengan nilai baru yang ada pada lokasi storage RECORD-RELASI-IN.
Tidak ada komentar:
Posting Komentar