- Back to Home »
- Program »
- Pengenalan COBOL
Posted by : Panji Maulana Putra
Sunday, November 5, 2017
Pendahuluan
COBOL (Common Business Oriented Language)
adalah suatu bahasa komputer awam ( High Level Language) yang berorientasi
langsung pada permasalahan bisnis. COBOL hampir dapat digunakan pada semua
komputer bila terdapat compiler COBOL-nya. Diciptakan pada tahun 1959 dan
dikembangkan oleh suatu grup bernama CODASYL (Conference on Data System
Language).
Diperkenalkan pertama kali secara formal pada bulan Januari 1960. COBOL
mempunyai banyak versi, sehingga untuk mempermudah penggunanya COBOL terus
dikembangkan dan distandarisasi pada tahun 1968 dan 1974, diberi nama ANSI
COBOL (American National Standard Institute COBOL)
Struktur Program COBOL
Program
COBOL dibagi kedalam 4 bagian yang disebut dengan Division. Masing-masing
divisi dimulai dengan judul divisi dengan urutan sbb:
IDENTIFICATION DIVISION
ENVIRONMENT
DIVISION
DATA
DIVISION
PROCEDURE
DIVISION
Masing-masing divisi
dapat terdiri dari urutan-urutan susunan bagian. Tersusun secara hirarki, yang
secara umum sbb :
Division
Region
Section
Paragraph
Sentence/Entry
Statement/Clause
Phrase/Option
Istilah Region, sentence, statement dan phrase/option digunakan pada PROCEDURE
DIVISION, sedangkan istilah Entry dan clause digunakan pada ke-3
divisi lainnya.
· Division, merupakan bagian utama dari suatu program COBOL dan selalu di awali dengan judul divisi.
·
Region, merupakan suatu kumpulan bagian
tertentu dalam PROCEDURE DIVISION.
·
Section,
merupakan suatu kumpulan dari paragraph atau entry dan selalu diawali denga
judul seksi.
·
Paragraph,
merupakan suatu grup dari kalimat (sentences) didalam PROCEDURE DIVISION dan
selalu diawali dengan nama/ judul Paragraph.
·
Entry,
merupakan sesuatu yang harus dituliskan pada tempat-tempat tertentu didalam
program COBOL. Suatu entry dapat juga dikatakan sebagai suatu set (kumpulan)
dari clause (anak kalimat) yang diakhiri dengan titik.
·
Sentence,
merupakan kumpulan dari satu atau lebih statement, dan harus diakhiri dengan
tanda titik.
·
clause,
merupakan kumpulan dari kata yang membentuk suatu arti. Clause adalah bagian
dari entry.
·
Statement,
merupakan perintah pengerjaan untuk komputer. Statement dalam bentuk kata kerja
yang merupakan COBOL Reserved Words.
·
Phrase, Suatu group kata yang merupakan
bagian dari statement atau clause.
·
Option, kebanyakan Phrase adalah optional
(boleh disertakan/tidak) maka, sering disebut dengan Option.
Syarat Pemberian nama :
1.
Gabungan
dari huruf A-Z atau a-z, angka 0-9, Hypen (-).
2.
Panjang maksimum 30 karakter.
3.
Paling sedikit
harus mengandung 1 huruf.
4.
tidak boleh
mengandung karakter khusus kecuali hypen yang diletakkan ditengah-tengah, tidak
boleh diawal atau diakhir.
5.
Tidak boleh mengandung COBOL reserved word.
6.
Tidak boleh ada blank atau spasi.
USER DEFINED WORD
Programmer
dapat membentuk kata-kata untuk membuat dan mendefinisikan tersendiri untuk
pemberian nama pada:
1.
Nama-program
(program-name) adalah suatu nama yang diberikan untuk menunjukkan identitas
dari program yang dibuat, dituliskan pada paragraph PROGRAM-ID dalam
IDENTIFICATION DIVISION.
2.
Nama-alat
(mnemonic-name) adalah nama yang dibuat oleh programmer untuk menunjukkan suatu
alat tertentu. Dibentuk pada paragraph SPECIAL-NAMES dalam ENVIRONMENTDIVISION.
3.
Nama-file (file-name) adalah nama yang dibuat
untuk menunjukkan suatu file tertentu yang dipergunakan dalam program. Dibentuk
pada paragraph FD (File Description) dalam DATA DIVISION atau pada statement
CLOSE< OPEN< READ dalam PROCEDURE DIVISION.
4.
Nama-record, pada COBOL, record harus diberi
nama-record (Record-name) pada DATA RECORD clause
dan pada record description entry dalam
DATA DIVISION.
5.
Nama-data (data-name) adalah nama yang dibuat
untuk menunjukkan suatu data item yang dipergunakan dalam program. Dibentuk
pada FILE SECTION di record description
entry dalam DATA DIVISION dan pada
WORKING-STORAGE SECTION.
6.
Nama-indek
dan nama-data-indek, digunakan untuk data pada tabel yang di-indek. Dibentuk secara implisit dengan
OCCURS dan INDEXED BY clause.
Nama-data-indek didefinisikan dengan mengunakan USAGE IS INDEX dalam DATA
DIVISION.
7.
Nama-kondisi (condition-name) adalah nama data
yang dihubungkan dengan suatu nilai tertentu. Didefinisikan dalam DATA DIVISION
dengan level number 88 dan dioperasikan dalam PROCEDURE DIVISION pada statement
IF.
8.
Nama-prosedur (procedure-name) atau nama-paragraph
(paragraph-name) adalah nama yang menunjukkan suatu paragraph dalam PROCEDURE
DIVISION. Nama-paragraph diperlukan bila proses akan melompat ke paragraph
tertentu dengan menggunakan statement GO TO dan PERFORM dalam PROCEDURE
DIVISION.
9.
Nama-seksi , pada PROCEDURE DIVISION, dapat
dibuat menjadi beberapa seksi dan tiap seksi dapat dibentuk dengan dimulai
judul seksinya yang disebut dengan Section-name.
10.
Nama-kualifikasi bila nama-data atau nama-kondisi
tidak unik (ada yang sama satu dengan yang lain), untuk menentukan yang mana
yang akan digunakan, dapat digunakan qualifier.
BENTUK DATA
Dibagi menjadi
dua:
- Data Variable
- Konstanta
1. Data variabel
Data variabel adalah data yang nilainya dapat berubah didalam program. Nilai data ini akan selalu berubah bila dibaca nilai data yang lain dengan nama data yang sama.
2. Konstanta
Konstanta atau data konstanta adalah bentuk dari data
yang dibutuhkan untuk pengolahan dimana nilai datanya tidak tergantung dari
input yang dibaca. Ada 3 bentuk dari konstanta yang dapat dipakai dalam
PROCEDURE DIVISION pada program COBOL, yaitu Numeric Literal, Non Numeric
Literal, dan Figurative Constant.
2.1 Numeric Literal
Aturan
penggunaan literal numerik :
1.
Panjang maksimum 18 digit.
2.
Boleh ada tanda plus atau minus yang letaknya pada
posisi terkiri tanpa ada spasi dengan angka pertama.Bila tidak bertanda berarti
bernilai positif.
3.
Boleh ada titik
desimal dimana saja kecuali pada posisi terkanan.
2.2 Non-Numeric Literal
Aturan
penggunaan literal bukan numerik :
1.
Panjang maksimum 120 karakter
2.
Boleh terdiri dari
kumpulan karakter (Character set) kecuali karakter petik.
3.
Dibatasi tanda petik pada awal dan akhir.
2.3 Figurative Constant
Figurative constant termasuk dalam COBOL reserved word
yang mempunyai maksud tertentu yang namanya sudah dikenal oleh compiler. Contoh :
ZERO, ZEROS, ZEROES berarti
nilai nol
SPACE,SPACES berarti
nilai 1 blank atau spasi
QUOTE, QUOTES berarti
tanda petik
All ‘*’ berarti
semua diisi karakter *
OPERATOR ARITMATIKA
Operator
|
Fungsi
|
Jenjang
|
**
|
Pemangkatan
|
1
|
*
|
Perkalian
|
2
|
/
|
Pembagian
|
2
|
+
|
Penjumlahan
|
3
|
-
|
Pengurangan
|
3
|
Ungkapan Aritmatika
Adalah kombinasi dari literal numerik, nama data, operator aritmatika,
kurung buka dan kurung tutup. Penulisan ungkapan aritmatika harus dipisahkan
paling sedikit dengan sebuah blank atau spasi.
ATURAN PENULISAN SOURCE PROGRAM
Kolom yang tersedia untuk menuliskan program COBOL adal kolom 1- 80, dengan
ketentuan :
Kolom 1 – 6 : Digunakan
untuk nomor urut bilamana diperlukan, sifatnya optional, dan nomor yang
diberikan harus urut ascending.
Kolom 7 : a. Tanda baris
sambung dari baris sebelumnya dengan memberikan tanda hypen (-), baris
sambungannya dimulai dari Area B.
b.
Bila
kolom ini di sis dengan karakter “*” , maka apa yang ditulis pada baris ini
akan dianggap sebagai komentar.
c.
Bila
kolom ini diisi dengan slash (/), maka baris yang ada tanda ini dianggap
sebagai komentar dan akan dicetak mulai halaman baru teratas, bila source
program dicetak di printer.
d.
Bila
kolom ini di isi dengan karakter “D” , baris ini juga dianggap sebagai
komentar, tetapi bila pada ENVIRONMENT DIVISION dalam paragraph SOURCE-COMPUTER
disebutkan WITH DEBUGGING MODE, maka akan berguna untuk tujuan debugging.
Kolom 8 – 11 : Disebut
dengan area A, semua judul divisi,judul seksi, nama paragraph, judul file
description (FD), level number 01 dan level number 77 ditulis mulai kolom ke-8.
Kolom 12 – 72 : Disebut
dengan area B, semua elemen program selain yang ditulis di area A ditulis pada
area B.
Kolom 73 – 80 : Merupakan
kolom yang tidak diproses oleh komputer, jadi jika diisi dengan catatan-catatan
apa saja hanya untuk dokumentasi program.
LEVEL NUMBER
Level number atau nomor jenjang
adalah suatu nomor yang menunjukkan jenjang dari data item dalam suatu record.
Level number yang digunakan:
a. 01 Untuk mengawali keterangan
dari record (record description).
b. 02 – 49 Digunakan untuk mengawali keterangan
dari data item.
c. 66 Digunakan untuk RENAMES
d. 77 Digunakan untuk mengawali data item yang berdiri
sendiri. Hanya boleh
terdapat pada WORKING-STORAGE SECTION.
e. 88 Digunakan untuk mengawali
suatu nama kondisi.
PICTURE CLAUSE
Picture clause
digunakan untuk menerangkan masing-masing data-item yang digunakan, mengenai
ukuran dari field dan memberikan informasi dari nilai data tersebut, juga
mengatur bentuk data dimemori.
Macam-macam picture clause:
1. Picture karakter 9 : Menunjukkan
bahwa posisi sebuah memori hanya dapat mengandung nilai-nilai numerik saja. Ukuran panjang data-item ditentukan oleh banyaknya
karakter 9 yang digunakan. Bersifat right justified.
2. Picture
karakter V : Menunjukkan lengkap anggapan dari titik desimal. Anggapan
disini maksudnya adalah titik desimal tersebut tidak ditulis di memori,
sehingga tidak termasuk sebagai panjang field.
3. Picture
karakter P : Digunakan dengan gabungan Picture karakter V, yang
digunakan untuk menimbulkan angka 0.
4. Picture
karakter S : Digunakan untuk menyimpan tanda dari nilai data, dan tidak
dihitung sebagai panjang field.
5. Picture
karakter A : Digunakan untuk menyimpan nilai data
huruf(alphabetic).Bersifat left justified.
6. Picture
karakter X : Digunakan untuk menyimpan nilai data alphanumerik, dapat
berupa gabungan angka, huruf, ataupun karakter khusus.
PICTURE EDITING
Berguna untuk
perubahan bentuk data dari data yang telah tersimpan distorage (memori). Dengan
adanya editing (perubahan), data yang dicetak pada output akan tampak lebih
mudah dibaca, mudah dimengerti dan mempunyai susunan yang lebih baik
dibandingkan dengan bentuk data asli yang tersimpan di storage.
Macam-macam
picture editing :
1. Picture editing Z : digunakan untuk menggantika angka 0 diawal agar tidak tampak pada waktu pencetakan.
2. Picture editing $ : pada saat pencetakan karakter $ akan tampak pada ujung paling kiri.
3. Picture editing “.” : digunakan untuk menunjukkan letak posisi dari titik desimal pada pencetakan, hanya boleh dipergunaka 1 saja.
4. Picture editing “,” : digunakan untuk memberikan tanda koma pada tempat-tempat tertentu, dan boleh digunakan lebih dari 1.
5. Picture editing “-“ : Jika data asli bernilai minus maka penggunaan tanda minus di awal atau diakhir akan menyebabkan tanda minus muncul pada saat pencetakan, sedangkan bila data positif akan digantikan dengan blank.
6. Picture editing “+” : jika tanda plus digunakan diawal atau diakhir data maka akan tampak pada pencetakan bila data bernilai positif, jika data negatif akan muncul tanda minus, jika tidak bertanda dianggap positif.
7. Picture editing B : digunakan untuk mengedit nilai data bukan numerik.Blank akan disisipkan pada posisi dinama karakter B ditempatkan.
8. Picture editing “*” : digunakan untuk menggantikan nilai nol pada nilai data disebelah kanan dengan tanda *.
9. Picture editing 0(nol) : digunakan untuk menyisipkan angka 0 pada posisi dimana karakter 0 ditempatkan.
10. Picture editing “/” : digunakan untuk menyisipkan karakter “/” diposisi dimana karakter tersebut ditempatkan.
11. Picture editing DB dan CR : Sering digunakan pada aplikasi akuntansi. Ditulis mulai ujung sebelah kanan dari picture, dan hasilnya hanya tampak pada hasil edit bila nilai datanya negatif.