Snippet

Contoh Program File Indexed Pada COBOL

Dalam materi perkuliahan saya, saya di ajarkan bagaimana cara membuat program pada cobol. Salah satunya yaitu membuat program file indeks. Cara membuat program file indeks seperti di bawah ini :

IDENTIFICATION DIVISION.
PROGRAM-ID. TUGAS-INDEKS.
AUTHOR. DanPrihono.
SECURITY.PROGRAM MEMASUKKAN DATA ORGANISASI FILE INDEKS
MODE AKSES URUT.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT FILE-MHS ASSIGN TO DISK
ORGANIZATION IS INDEXED
ACCESS MODE IS SEQUENTIAL
RECORD KEY IS NO-MHS
FILE STATUS IS STATUS-SALAH.
DATA DIVISION.
FILE SECTION.
FD FILE-MHS
LABEL RECORD IS STANDARD
VALUE OF FILE-ID IS ‘DAFMHS.DAT’.
DATA RECORD IS RECORD-MAHASISWA.
01 RECORD-MAHASISWA.
02 NO-MHS PIC 9(5).
02 NAMA-MHS PIC A(25).
02 ALAMAT-MHS.
03 JALAN PIC X(20).
03 KOTA PIC A(15).
02 TGL-DAFTAR.
03 TANGGAL PIC X(2).
03 BULAN PIC X (2).
03 TAHUN PIC X (2).
02 IP-MHS PIC 99V99.
WORKING-STORAGE SECTION.
77 STATUS-SALAH PIC XX.
01 SUDAH-BENAR PIC X.
88 BENAR VALUE ‘Y’ , ‘y’.
88 BELUM VALUE ‘T’ , ‘t’.
01 MASUKKAN-LAGI-TIDAK PIC X.
88 LAGI VALUE ‘Y’ , ‘y’.
88 TIDAK VALUE ‘T’ , ‘t’.
01 RECORD- MAHASISWA -MASUK.
02 NO-MHS-MASUK PIC 9(5).
02 NAMA-MHS-MASUK PIC A(25).
02 ALAMAT-MHS-MASUK.
03 JALAN-MASUK PIC X(20).
03 KOTA-MASUK PIC A(15).
02 TGL-DAFTAR-MASUK.
03 TANGGAL-MASUK PIC 99.
03 BULAN-MASUK PIC 99.
03 TAHUN-MASUK PIC 99.
SCREEN SECTION.
01 HAPUS-LAYAR.
02 BLANK SCREEN.
01 LAYAR-DATA.
02 LINE 4 COLUMN 5 ‘NOMER MAHASISWA :’.
02 COLUMN PLUS 1 PIC 9(5) TO N0-MHS-MASUK REQUIRED.
02 LINE 6 COLUMN 5 ‘NAMA MAHASISWA :’.
02 COLUMN PLUS 1 PIC A(25) TO NAMA-MHS-MASUK.
02 LINE 8 COLUMN 5 ‘ALAMAT MAHASISWA :’.
02 LINE 9 COLUMN 5 ‘ JALAN :’.
02 COLUMN PLUS 1 PIC X(20) TO JALAN-MASUK.
02 LINE 10 COLUMN 5 ‘ KOTA :’.
02 COLUMN PLUS 1 PIC A(15) TO KOTA-MASUK.
02 LINE 12 COLUMN 5 ‘TANGGAL DAFTAR :’.
02 COLUMN PLUS 1 PIC 99 TO TANGGAL-MASUK AUTO.
02 COLUMN PLUS 1 ‘-’.
02 COLUMN PLUS 1 PIC 99 TO BULAN-MASUK AUTO.
02 COLUMN PLUS 1 ‘-’.
02 COLUMN PLUS 1 PIC 99 TO TAHUN-MASUK AUTO.
02 LINE 14 COLUMN 5 ‘INDEX PRESTASI :’.
02 COLUMN PLUS 1 PIC 99V99 TO IP-MHS-MASUK.
PROCEDURE DIVISION.
RUTIN-UTAMA SECTION.
BUKA-FILE.
OPEN OUTPUT FILE-MHS.
MULAI.
MOVE SPACE TO SUDAH-BENAR
PERFORM MASUKKAN-DATA UNTIL BENAR
PERFORM REKAM-DATA
PERFORM ADA-LAGI-TIDAK.
SELEKSI-MASUKKAN-LAGI-TIDAK.
IF LAGI
GO TO MULAI.
SELESAI.
CLOSE FILE-MHS
STOP RUN.
RUTIN-BAGIAN SECTION.
MASUKKAN-DATA.
DISPLAY HAPUS-LAYAR.
DISPLAY LAYAR-DATA.
ACCEPT LAYAR-DATA.
DISPLAY (18, 5) ‘SUDAH BENAR (Y/T) ?’
ACCEPT ( , ) SUDAH BENAR.
REKAM-DATA.
MOVE ‘ ‘ TO STATUS-SALAH
WRITE RECORD-MAHASISWA FROM RECORD-MAHASISWA-MASUK
PERFORM SELEKSI-REKAMAN.
ADA-LAGI-TIDAK.
DISPLAY (20, 5) ‘ADA LAGI DATA LAINNYA (Y/T) ?’
ACCEPT ( , ) MASUKKAN-LAGI-TIDAK.
SELEKSI-REKAMAN.
IF STATUS-SALAH = ‘21’
DISPLAY (18, 5) ‘TIDAK TEREKAM, NILAI KUNCI TIDAK URUT’.
IF STATUS-SALAH = ‘22’
DISPLAY (18, 5) ‘TIDAK TEREKAM, NILAI KUNCI TIDAK UNIK’.
IF STATUS-SALAH = ‘24’
DISPLAY (18, 5) ‘TIDAK TEREKAM, DISK PENUH’.

LOGIKA PEMROGRAMAN :
Identifikasi dari program Cobol ini, yaitu dengan nama pembuat DanPrihono, dengan nama programnya TUGAS-INDEKS.

Environment Division yang memberikan informasi, input-output section untuk operasi file. File-Control yang mengatur dengan Assign to Disk yang menunjukkan bentuk dari file yang akan digunakan adalah Disk. Dari Organisasi Indeks mengakses secara sequential (urut). Recordnya yaitu N0-MHS. Adanya File Status untuk menunjukkan jenis kesalahan yang terjadi dari suatu hasil proses operasi file.

Data Division yang mendeskripsikan variabel-variabel dan jenis tipe data. File Section untuk menjelaskan semua keterrangan mengenai file-file yang di pakai dalam program. Dengan nama File ‘DAFMHS.DAT’ yang berisi record-mahasiswa, dimana kita akan menginput nomer mahasiswa, nama, alamat yang terdapat jalan dan kota, tanggal daftarnya serta nilai IP. Semua dideklarasikan pada Working-Storage section. Ini semua akan di input dengan batas yang sudah ditentukan dari Picture Clause dan Picture Editing. Dengan adanya status salah ini dapat di pilih benar/salahnya data yang sudah diinput. Kemudian Screen Section, untuk menentukan format layar tampilan input/outputnya.

Procedure Division, statemen-statemen intruksi yang dibuatuntuk membuka file sebagai output. Move space untuk memindahkan, Perform yang akan membawa proses dari masukkan data sampai benar, kemudian merekam, IF untuk melakukan proses jika ada lagi akan kembali pada MULAI. Jika tak ada maka selesai di tutup dengan CLOSE FILE.

Sekian program yang saya buat, mudah-mudahan anda akan mendapat pengetahuan yang lebih banyak mengenai file indeks.