STRUKTUR DIVISION PADA COBOL
Secara keseluruhan pada intinya struktur program COBOL dibagi menjadi 4 bagian yang disebut DIVISION*, yaitu :
1. IDENTIFICATION DIVISION 2. ENVIRONMENT DIVISION 3. DATA DIVISION
4. PROCEDURE DIVISION
1.1 IDENTIFICATION DIVISION
Tujuan dari IDENTIFICATION DIVISION adalah memberikan informasi mengenai program yang dibuat.
Bentuk Umum dari IDENTIFICATION DIVISION :
IDENTIFICATION DIVISION . PROGRAM-ID. nama program . [ AUTHOR. nama programmer. ] [ INSTALLATION. nama instalasi. ]
[ DATE-WRITTEN. tanggal program dibuat. ] [ DATE-COMPILED. tanggal program dikompilasi. ] [ SECURITY. sifat program. ]
Keterangan membeca Bentuk Umum :
Garis Bawah = Bentuk yang digaris bawahi harus ditulis persis bila digunakan.
Tanda “[ ]” (bracket) = Bentuk yang ada diantara tanda ini sifatnya optional, boleh ditulis / tidak.
Huruf kecil = nama yang dibentuk oleh programmer.
Jadi pada IDENTIFICATION DIVISION yang WAJIB ditulis :
IDENTIFICATION DIVISION. PROGRAM-ID. nama program.
*Catatan :
Penulisan semua divisi dan paragraphnya dimulai dari area A yaitu kolom 8
1.2 ENVIRONMENT DIVISION
Divisi ini dibagi menjadi 2 section yaitu CONFIGURATION SECTION dan INPUT-OUTPUT SECTION.
Bentuk Umum ENVIRONMENT DIVISION :
ENVIRONMENT DIVISION . CONFIGURATION SECTION .
[ SOURCE -COMPUTER . nama-komputer [ WITH DEBUGGING MODEL .] [ OBJECT-COMPUTER. nama-komputer. ]
SPECIAL – NAMES .
[ PRINTER IS nama-mnemonik ] [ CURRENCY SIGN IS literal ] pembuatan, pengkompilasian dan pemrosesan program dijelaskan di seksi ini.
1.2.2 SOURCE COMPUTER
Digunakan untuk menunjukkan nama komputer yang digunakan dalam membuat dan mengkompilasi program.
Bila clause WITH DEBUGGING MODE disertakan maka baris pada source program yang mengandung karakter ‘D’ di kolom ke 7 bukan dianggap sebagai komentar, Sebaliknya bila clause WITH DEBUGGING MODE tidak disertakan maka statement yang mengandung karakter ‘D’ di kolom 7 dianggap sebagai komentar.
1.2.3 OBJECT-COMPUTER
Sama seperti Source Computer, yang sifatnya sebagai dokumentasi
1.2.4 SPECIAL-NAMES
Bersifat optional, digunakan untuk membuat nama khususnya menghubungkan nama – mnemonik implementor dengan nama mnemonic yang dibuat programmer.
PRINTER IS
Digunakan untuk menghubungkan nama-mnemonik yang dibuat programmer dengan alat pencetak Printer.
CURRENCY SIGN IS
Digunakan untuk menunjukkan tanda mata uang. Bila tidak disebutkan maka Currency Sign adalah $.
DECIMAL POINT IS COMMA
1.2.5 INPUT – OUTPUT SECTION
Seksi ini menerangkan peralatan yang digunakan untuk memproses file baik sebagai media peralatan input atau media peralatan output.
1.2.6 FILE-CONTROL
Bila akan dipergunakan file dengan media simpanan sekunder, maka paragraph File-Control harus ditulis.
File-Control Entry bisa terdiri 3 bentuk, tergantung dari organisasi file yang digunakan : Organisasi file secara sequential, indexed, dan relative (dibahas pada bab berikutnya)
1.2
DATA DIVISION
Divisi ini memberikan penjelasan tentang input data dan output yang dipergunakan. Isi dari divisi ini adalah semua keterangan tentang file, record, nama-data, serta bentuk format yang akan digunakan di Procedure Division.
1.3.1 FILE SECTION
Digunakan untuk menjelaskan file yang dipergunakan dalam program. File Section ini ada bila dipergunakan file dalam bentuk simpanan sekunder yaitu disk atau printer dan mempunyai hubungan dengan Input-Output Section dalam Environment Division.
Bentuk Umum :
1.2.1 FD nama-file
BLOCK CONTAINS
Menunjukkan ukuran dari record di dalam file untuk tiap blocknya. Clause ini digunakan pada file yang berupa tape magnetik, sehingga clause ini tidak berfungsi pada COBOL tetapi boleh ditulis, dan penulisannya harus benar.
RECORD CONTAINS
Menunjukkan banyak karakter tiap-tiap record dalam file. Record Contains clause ini bisa tidak ditulis, karena nantinya termasuk dalam record description entry, tetapi jika ditulis dapat mempermudah pengerjaan kompilasi oleh komputer.
LABEL RECORD atau LABEL RECORDS
Bila File Section ada maka clause ini harus ditulis. LABEL RECORD IS OMITTED digunakan untuk card-file (file yang berupa kartu plong) atau print-file (berupa cetakan di printer) yang tidak mempunyai label.LABEL RECORD IS STANDARD untuk disk-file (file yang disimpan di disk) yang mempunyai label.
VALUE OF FILE-ID
Menunjukkan informasi mengenai informasi file yang mempunyai label di disk. Label di disk ini berupa suatu nama-file yang berisi data yang direkammkan tersebut. Nama file di label dapat ditulis di antara tanda petik tunggal atau petik ganda.
Contoh :
LABEL RECORD IS STANDARD
VALUE OF FILE-ID IS ‘RELASI.DAT’.
DATA RECORD atau DATA RECORDS
Data Record atau Data Records clause menunjukkan nama-record di dalam file. Clause ini bersifat optional, hanya sebagai dokumentasi saja, boleh tidak ditulis karena nama record ini sudah ditunjukkan pada record-description-entry.
LINAGE
Linage clause menunjukkan jumlah baris yang akan dicetak perhalaman, jumlah dari baris kosong paling atas ( top margins ) dan jumlah dari baris kosong paling bawah ( bottom margins ).
1.3.2 WORKING-STORAGE SECTION
Sifatnya optional, ada bilamana diperlukan pemesanan tempat di internal memori yang diperlukan oleh pekerjaan proses program.
Pemesanan tempat biasanya digunakan untuk :
1. Data yang diperlukan oleh proses tetapi tidak berhubungan dengan file.
Misalnya data yang dimasukkan lewat layar terminal, data yang diterima dari lokasi storage yang lain, atau data yang dihasilkan dari hasil perhitungan matematika.
2. Persiapan penulisan judul yang nantinya di Procedure Division bila akan dicetak dapat dilakukan dengan statement Display atau Write.
Bentuk Umum :
[ WORKING-STORAGE SECTION ] [ 77-level data description entry ]
[ record description ] ………….]
1.3.3 SCREEN SECTION
Seksi ini berguna untuk menunjukkan bentuk format dari layar terminal untuk menampilkan data atau memasukkan data.
Bentuk Umum :
1.2.1 BLANK SCREEN
Digunakan untuk membersihkan layar dan menempatkan cursor pada posisi kiri atas ( baris 1, kolom 1 )
1.2.2 LINE
Line clause digunakan untuk menempatkan cursor pada posisi baris tertentu di layar.
1.2.3 COLUMN
Column clause digunakan untuk menempatkan cursor pada posis kolom tertentu di layar
1.2.4 BLANK LINE
Digunakan untuk menghapus tampilan pada baris tertentu di layar.
1.2.5 BELL
Untuk menimbulkan bunyi bel.
UNDERLINE, REVERSE-VIDEO, HIGHLIGHT, dan BLINK
Highlight clause digunakan untuk menampilkan bentuk yang lebih terang.
Blink clause digunakan untuk membuat kedap – kedip bentuk tampilan.
1.2.6 FROM, TO dan USING
From, To dan Using clause digunakan untuk menampilkan atau menerima data yang bentuk data-itemnya dihubungkan di tempat lain di luar Screen Section.
From clause digunakan untuk menampilkan isi data. To clause digunakan untuk menerima isi data.
Bila From dan To dipergunakan bersama- sama, dimaksudkan untuk menampilkan terlebih dahulu nilai dari ( From ) data item sebelumnya, yang kemudian dapat dimasukkan nilai data baru ke ( To ) tempat lokasi tersebut.
1.3.3.7 PICTURE CLAUSE
Picture Clause atau PIC Clause menerangkan masing – masing data item yang dipergunakan.
Mengenai ukuran dari field dan memberikan informasi apakah nilai data tsb berbentuk numerik, alphabetik, atau alphanumerik, serta menerangkan tentang nilai desimal untuk data numerik, juga tanda yang dikandungnya (negatif atau positif).
Bentuk PIC Clause :
PICTURE
PIC [ISI] karakter
PICTURE karakter 9
Digunakan untuk data item yang berbentuk numerik
PICTURE karakter V
Menunjukkan letak anggapan dari titik desimal
PICTURE karakter P
Digunakan bersama dengan PICTURE karakter V untuk menimbulkan angka Contoh :
Misal : nilai data 5
PIC 9PPV berarti di prosedur 5 ^
Tanda ^ (caret) menunjukkan posisi dari letak anggapan titik desimal
PICTURE karakter S
Digunakan untuk menempatkan angka negatif pada lokasi field, sehingga komputer akan menyimpan tanda tsb.
Karakter S tidak dihitung sebagai panjang field.
PICTURE karakter A
PICTURE karakter X
Digunakan untuk menyimpan gabungan angka, huruf atau karakter khusus (alphabetik)
1.3.3.8 PICTURE EDITING
Picture editing berguna untuk perubahan bentuk dari data yang tersimpan di storage.
Dengan adanya perubahan data yang dicetak pada output akan tampak lebih mudah dibaca, mudah dimengerti dan mempunyai susunan yang lebih baik dibanding bentuk data asli yang ada di storage.
PICTURE editing karakter Z
Digunakan untuk mengganti angka dimuka tidak tampak pada waktu pencetakan
PICTURE editing karakter $
Dengan adanya tanda $, maka pada pencetakan, karakter $ akan tampak
PICTURE editing karakter “ . ” dan “ , ”
Karakter “ . ” digunakan untuk menunjukkan letak posisi dari titik desimal pada Pencetakkan. Hanya sebuah karakter “ . ” yang boleh digunakan pada PICTURE editing
Karakter “ , ” berfungsi memberikan bentuk koma pada tempat – tempat tertentu tanpa merubah nilai datanya. Karakter “ , ” boleh digunakan lebih dari sekali
PICTURE editing karakter “ - “ (minus)
Jika sebuah tanda minus dipakai pada permulaan atau pada karakter terakhir dari PICTURE editing, maka tanda minus akan tampak pada pencetakan bila data aslinya negatif. Jika data tidak negatif, tanda minus diganti dengan blank.
PICTURE editing karakter “ + “
Jika sebuah tanda plus dipakai pada permulaan atau pada karakter terakhir dari PICTURE editing, maka tanda plus akan tampak pada hail edit bila data aslinya positif. Jika data negatif, yang akan tampak tanda minus. Untuk data yang tidak bertanda, dianggap bernilai positif.
PICTURE editing karakter DB dan CR
Pada aplikasi akuntasi dibutuhkan keterangan nilai debit atau kredit. COBOL menyediakan fasilitas ini dengan PICTURE editing karakter DB atau CR.
PICTURE editing karakter B
Digunakan untuk mengedit nilai data bukan numerik. Karakter B akan menyebabkan blank disisipkan pada posisi dimana karakter B tersebit berada.
PICTURE editing karakter “ * “ (asterik)
Procedure Division merupakan tempat instruksi-instruksi dimana dilakukan prosedur pekerjaan proses dari input data menjadi output data. Dengan kata lain divisi ini merupakan inti dari program Cobol. Dan statement-statement yang ada di prosedur division dibentuk dari verb.
MOVE verb
MOVE verb adalah statement yang ada di prosedur division yang digunakan untuk memindahkan data dari satu field ke lokasi field yang lain, sehingga input data dapat dimanipulasi untuk menghasilkan output.
Bentuk Umum :
nama_data_1
MOVE TO nama_data_2 [, nama_data_3 ] … Literal
STOP verb
Digunakan untuk menghentikan program baik secara permanen maupun sementara, lalu proses program dapat dilanjutkan kembali.
Bentuk Umum :
Literal STOP
Run
Keterangan :
STOP RUN menyebabkan proses program berhenti secara permanen, sedang STOP LITERAL menyebabkan proses program berhenti secara sementara.
DISPLAY verb
Digunakan untuk menampilkan hasil dilayar maupun printer. Ada 3 bentuk umumnya, yaitu :
Bentuk 1 :
DISPLAY nama_layar
Bentuk 2 :
nama_data , nama_data
DISPLAY … [ UPON nama_mnemonik ]
Literal , Literal
Bentuk 3 :
nama_data
Erase
ACCEPT verb
Digunakan untuk memasukkan data lewat layar sewaktu program tersebut dijalankan.
Ada 4 bentuk umum :
Bentuk 1 :
ACCEPT nama_data
Bentuk 2 :
ACCEPT nama_layar [ ON ESCAPE statement_imperative ]
Bentuk 3 :
Zerro-fill
Space-fill
Left-justify Right-justify Trailing-sign ACCEPT ( posisi_layar ) nama_data WITH Prompt
Update Length-check Empty-check Auto-skip No-echo Beep
Bentuk 4 :
date day