Jumat, 02 November 2012

Data division


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


Tidak ada komentar:

Posting Komentar