File Index Pada Cobol
A. FILE INDEKS
• Adalah
file yang mempunyai indeks atau table yg berisi daftar alamat-alamat
(addresses) dari record di disk -> disebut dengan Control Index.
• Control Index
berfungsi sebagai penunjuk /pointer dari posisi record tertentu yang berisi
data, sehingga memungkinkan
untuk menuju
ke suatu lokasi record tertentu dengan cepat.
• Akan
dibentuk dua file : file data dan file kunci berisi control index
• Supaya
ke-2nya dapat berhubungan digunakan suatu field kunci /key field yang ada pada
file data.
• Bentuk
pada Data Division dan Procedure Division sama seperti Organisasi file
sequential.
B. Contoh Program dan Logika Program
IDENTIFICATION DIVISION.
PROGRAM-ID. TUGAS-FILEINDEKS.
AUTHOR. WahyuRamadhan.
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 Program :
Program Cobol
diatas saya identifikasi kan dengan nama pembuat WahyuRamadhan, dengan nama
program TUGAS-FILEINDEKS.
Pada program
diatas Environment Division berfungsi sebagai pemberi 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.
Selanjutnya
Data Division berfungsi untuk mendeskripsikan variabel-variabel dan jenis tipe
data. File Section berfungsi untuk menjelaskan semua keterangan 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.
Yang ketiga
adalah Procedure Division,pada Procedure Division ini terdapat
statemen-statemen intruksi yang dibuat untuk menjadikan sebuah file sebagai
output. Pada perintah Move space berfungsi untuk memindahkan, perintah Perform
bertugas sebagai pembawa proses dari input data sampai benar, kemudian merekam,
selanjutnya IF bertugas melakukan proses jika ada lagi akan looping dan kembali
pada MULAI. Jika tak ada maka selesai di tutup dengan CLOSE FILE.
0 komentar:
Posting Komentar