DATA DIVISONf
DIVISION
Divisi ini menjelaskan tentang input & output
data yg digunakan serta semua keterangan ttg file, record, nama data serta
bentuk format yg akan digunakan dalam PROCEDURE DIVISION.
DATA DIVISION terdiri dari
beberapa section :
¨ FILE SECTION
¨ WORKING-STORAGE SECTION
¨ SCREEN SECTION
¨ LINKAGE SECTION
¨ REPORT SECTION
I. FILE SECTION
Menerangkan tentang file yg dipakai dalam program,
meliputi nama-file, cara perekaman, jumlah record per block, jumlah karakter
per record, label serta nama dari record tersebut.
M BLOCK CONTAINS clause
Menunjukkan ukuran record di dalam file untuk tiap-tiap blocknya. Clause ini
biasanya digunakan untuk file yg berupa tape magnetik, sifatnya optional. Bila
tidak ditulis maka dianggap setiap block berisi 1 record.
M RECORD CONTAINS clause
Menunjukkan banyaknya karakter untuk tiap-tiap record di dalam file. Jika
clause ini tidak ditulis, maka panjang record diambil dari record description
entry. Jika panjang record tetap, maka panjang record ini ditunjukkan oleh nilai
dari int1.
M LABEL RECORD atau LABEL
RECORDS clause
Menunjukkan apakah file yg dipergunakan mempunyai label atau tidak.
OM OMMITED digunakan
untuk card-file atau print-file yang tidak mempunyai file.
STANDARD digunakan untuk disk-file
yg mempunyai label
Clause
ini harus ditulis jika FILE
SECTION ada.
M VALUE OF
FILE-ID clause
Berisi informasi mengenai file yg mempunyai label di
disk. Label di disk ini berupa suatu nama-file yg berisi data yg direkam di
dalam disk tsb.
M DATA
RECORD atau DATA RECORDS clause
Menunjukkan
nama-record di dalam file, sifatnya optional.
II. WORKING-STORAGE SECTION
Section ini digunakan untuk pemesanan tempat di
internal memori (STORAGE) yg
diperlukan pd proses program. Pemesanan tempat ini biasanya digunakan untuk :
· Bentuk, nilai dan nama data
yg diperlukan di dalam proses yg belum disebutkan pd FILE-SECTION
· Persiapan penulisan judul. Format
judul dipersiapkan terlebih dahulu pd WORKING-STORAGE SECTION yg nantinya jika
akan dicetak atau ditampilkan pd PROCEDURE DIVISION menggunakan perintah WRITE
atau DISPLAY.
· Pemesanan tempat untuk data
output yg akan ditampilkan.
III. SCREEN SECTION
Section ini digunakan untuk menunjukkan bentuk format
dari layar terminal untuk menampilkan atau memasukkan data.
M
BLANK SCREEN Clause
Digunakan untuk membersihkan layar dan menempatkan cursor pd posisi kiri
atas ( baris1, kolom1 ).
M
LINE NUMBER IS PLUS int1
Digunakan untuk menempatkan cursor pd posisi baris tertentu di layar.
Contoh :
02 LINE NUMBER IS 5 VALUE ‘INI
DI BARIS 5’. atau
02 LINE 5 VALUE ‘INI DI BARIS
5’.
M
COLUMN NUMBER IS PLUS int2
Digunakan untuk menempatkan cursor pd posisi kolom tertentu di layar.
Contoh:
02 BLANK SCREEN
02 COLUMN 15 VALUE ‘FAKULTAS ILKOM’
02 COLUMN PLUS 2 VALUE ‘GUNADARMA’
M
BLANK LINE clause
Digunakan untuk menghapus tampilan pada baris tertentu di layar.
Contoh:
02 LINE 15 BLANK LINE.
M
BELL clause
Digunakan
untuk menimbulkan suara bel.
Contoh :
02 LINE 22 COLUMN 20 VALUE ‘SALAH!!!’ BELL.
M UNDERLINE,
REVERSE-VIDEO,HIGHLIGHT dan BLINK clause
Digunakan untuk
menampilkan dengan suatu efek tertentu pada tampilan.
UNDERLINE clause digunakan untuk
memberi garis bawah pada tampilan.
REVERSE-VIDEO clause digunakan
untuk membalik warna daritampilannya, warna dasar menjadi warna tampilannya
dan sebaliknya.
HIGHLIGHT clause digunakan untuk
menampilkan tampilan dengan bentuk yang lebih terang.
BLINK clause digunakan untuk
membuat kedap kedip bentuk tampilan.
M BLANK
WHEN ZERO clause
Digunakan untuk menampilkan spasi (blank) bila suatu
data numeric mengandung nilai 0.
Contoh:
02 COLUMN 20 PIC 9(6)
USING AWAL BLANK WHEN ZERO.
M
AUTO, SECURE, REQUIRED dan FULL clause
§ AUTO clause Digunakan
untuk membuat pergeseran cursor secara otomatis ke field berikutnya, bila field
data item sudah penuh terisi. Bila tidak menggunakan clause ini, kalau akan
menggeser ke field berikutnya menggunakan ENTER.
Contoh:
05 COLUMN PLUS 1 PIC
999 TO UNIT-BARANG AUTO.
§ SECURE clause Digunakan
untuk membuat supaya suatu nilai data yang dimasukkan pada field data item
tertentu tidak tampak di layar sewaktu diketik. Akan ditampilkan karakter ‘*’.
Contoh :
05 COLUMN PLUS 1 PIC 9(6) TO HARGA-BARANG SECURE.
§ REQUIRED clause Digunakan
kalau suatu field data item harus diisi oleh suatu nilai, tidak boleh dilewati.
Contoh :
05 COLUMN PLUS 1 PIC X(5) TO KODE-BARANG REQUIRED.
§ FULL clause digunakan
untuk suatu field data item yang diisi dengan suatu data sampai penuh untuk
tempat yang disediakan. Bila tidak diisi atau tidak penuh maka tidak bias
berpindah ke field lain
Contoh:
05 COLUMN PLUS 1 PIC
X(15) TO NAMA-BARANG FULL.
CONTOH DALAM LISTING PROGRAM COBOL


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’. BAGIAN DATA
DATA RECORD IS RECORD-MAHASISWA. DIVISION
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.

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 :’.

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’.
Tidak ada komentar:
Posting Komentar