Sabtu, 22 September 2012

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

Tujuan dari ENVIRONMENT DIVISION adalah memberikan informasi mengenai peralatan yang digunakan dalam program.


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 ]
                                                [    DECIMAL – POINTS IS COMMA  ] .

                      INPUT-OUTPUT SECTION.
                      FILE-CONTROL .
                                                {    file control entry } .
                                   

1.2.1    CONFIGURATION SECTION
Segala informasi mengenai jenis komputer yang digunakan dalam rangka                   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

Dalam COBOL titik desimal dituliskan dengan bentuk karakter “.“ atau titik. Bila diinginkan bukan karakter titik tetapi koma dapat ditulis   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.3 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.3.3.1              FD nama-file

            Judul FD ditulis di area A dan diikuti nama filenya yang harus sama dengan nama-file yang disebutkan di Input-Output Section dalam Environment Division. 

·         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.
3.  Untuk data output yang akan ditampilkan.

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.3.3.1              FD nama-file

Judul FD ditulis di area A dan diikuti nama filenya yang harus sama dengan nama-file yang disebutkan di Input-Output Section dalam Environment Division. 

·         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.
3.  Untuk data output yang akan ditampilkan.

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 :



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 f
  Contoh :
            Misal : nilai data 5

PIC 9PPV berarti di prosedur 5ff^   
 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
   Digunakan untuk menyimpan nilai data huruf (alphabetik)           

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 f 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)
  Digunakan untuk mengganti nilai 0 pada nilai data disebelah kanan dengan tanda
  asterik (*). Untuk maksud pencegahan terhadap penambahan angka yang tidak
  diinginkan di suatu nilai.

1.4 PROCEDURE DIVISION

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 :

 


Tidak ada komentar:

Posting Komentar