A. Apa
itu File Sequential?
Sebelumnya saya telah menjelaskan tentang File Index dan
File Relatif. Kali ini saya ingin menjelaskan sedikit tentang File Sequential. Berikut ini sedikit penjelasan
mengenai File Sequential :
·
Organisasi file secara urut (sequential
file) memungkinkan pengaksesan record di file secara berurutan.
·
Urutan data record yang direkamkan di file
sama dengan urutan sewaktu data itu direkamkan.
·
Urutan tidak berubah walaupun data baru ditambahkan.
·
Data baru yang direkamkan akan menempati
urutan record selanjutnya setelah record
terakhir yang telah ada.
·
Ada 2 macam organisasi
file secara urut, yaitu :
o
Sequential
à mempunyai panjang record yang tetap.
o
Line
Sequential à bisa berbeda-beda, setiap record terdapat
pembatas berupa carriage return (CR)
dan line feed (LF).
B. Program
File Sequential
Setelah mengetahui apa itu File Sequential. Kita akan
membuat program pada bahasa pemrograman COBOL
yaitu program menu untuk menginput data. Berikut listing programnya :
IDENTIFICATION DIVISION.
PROGRAM-ID. FileSequential.
SECURITY. PROGRAM MEMASUKAN DATA ORGANISASI FILE SEQUENTIAL
MODE AKSES URUT.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT PEGAWAI ASSIGN TO DISK
ORGANIZATION IS SEQUENTIAL
ACCESS MODE IS SEQUENTIAL.
SELECT CETAK ASSIGN TO PRINTER.
DATA DIVISION.
FILE SECTION.
FD PEGAWAI
LABEL RECORD IS STANDARD
VALUE OF FILE-ID IS 'DFTRPEG.DAT'
DATA RECORD IS REC-PEG.
01 REC-PEG.
02 NAMA PIC X(10).
02 ALAMAT PIC X(20).
02 UMUR PIC 99.
FD CETAK
LABEL RECORD IS OMITTED
LINAGE IS 52 LINES
WITH FOOTING AT 48
LINES AT TOP 7
LINES AT BOTTOM 7
DATA RECORD IS BARIS-CETAK.
01 BARIS-CETAK PIC X(80).
WORKING-STORAGE SECTION.
77 NOMER PIC 999 VALUE 0.
01 SWITCH-BACA-RECORD PIC X VALUE ' '.
88 HABIS-DIBACA-SEMUA VALUE 'Y'.
01 JUDUL-1.
02 FILLER PIC X(18) VALUE SPACES.
02 FILLER PIC X(15) VALUE 'LAPORAN PEGAWAI'.
01 JUDUL-2.
02 FILLER PIC X(6) VALUE 'NOMER'.
02 FILLER PIC X(10) VALUE 'NAMA'.
02 FILLER PIC X(20) VALUE 'ALAMAT'.
02 FILLER PIC X(4) VALUE 'UMUR'.
01 GARIS PIC X(40) VALUE ALL '-'.
01 REC-PEG-O.
02 NOMER-O PIC 999.
02 NAMA-O PIC X(10).
02 ALAMAT-O PIC X(20).
02 UMUR-O PIC 99.
PROCEDURE DIVISION.
BUKA-FILE.
OPEN INPUT PEGAWAI
OUTPUT CETAK.
MULAI.
PERFORM CETAK-JUDUL
PERFORM CETAK-ISI-TABEL UNTIL HABIS-DIBACA-SEMUA
PERFORM CETAK-GARIS.
SELESAI.
CLOSE PEGAWAI CETAK
STOP RUN.
CETAK-JUDUL.
WRITE BARIS-CETAK FROM JUDUL-1 AFTER ADVANCING PAGE
WRITE BARIS-CETAK FROM GARIS AFTER ADVANCING 3 LINES
WRITE BARIS-CETAK FROM JUDUL-2
WRITE BARIS-CETAK
FROM GARIS.
CETAK-ISI-TABEL.
PERFORM BACA-DATA
IF NOT HABIS-DIBACA-SEMUA
PERFORM CETAK-ISI-TABELNYA
ELSE
PERFORM CETAK-TOTAL.
BACA-DATA.
READ PEGAWAI
AT END MOVE 'Y' TO SWITCH-BACA-RECORD.
CETAK-ISI-TABELNYA.
ADD 1 TO NOMER
MOVE NOMER TO NOMER.
MOVE NAMA TO NAMA.
MOVE ALAMAT TO ALAMAT.
MOVE UMUR TO UMUR.
WRITE BARIS-CETAK FROM REC-PEG.
CETAK-GARIS.
WRITE BARIS-CETAK FROM GARIS.
CETAK-TOTAL.
WRITE BARIS-CETAK FROM GARIS.
MOVE SPACE TO NAMA.
MOVE 'TOTAL JUMLAH PEGAWAI : ' TO ALAMAT.
MOVE NOMER TO UMUR.
WRITE
BARIS-CETAK FROM REC-PEG-O AFTER 2 LINES.
C. Output
Compile terlebih dahulu program tersebut
(gambar 1.1). Jika tidak terjadi kesalahan atau tidak ada error, kemudian run
program :
Gambar
1.1