BAHASA PEMROGRAMAN COBOL
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
DIVISION
|
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.
|
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.
|
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
Adalah
konstanta yang digunakan bukan untuk operasi arithmatika. 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
|
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.
|
Merupakan
divisi yang pertama dalam COBOL dan yang paling sederhana. IDENTIFICATION
DIVISION tidak dibagi dalam beberapa section tetapi langsung terdiri dari
beberapa paragraph.
Bentuk umum dari
IDENTIFICATION DIVISION :
IDENTIFICATION DIVISION.
PROGRAM-ID. nama program.
[ AUTHOR. nama programmer .]
[ INSTALLATION. nama instalasi. ]
[ DATE-WRITTEN. Tgl program dibuat. ]
[ DATE-COMPILED. Tgl program dicompile. ]
[ SECURITY. sifat program. ]
keterangan :
¨
Tulisan
dalam tanda ‘[ ]’ bersifat optional, boleh disertakan boleh juga tidak.
¨ Ditulis
persis seperti contoh diatas, diikuti titik dan diberi 1 spasi.
¨
Penulisan
divisi dan semua paragraphnya dimulai pada area A atau kolom ke-8.
¨
Huruf
kecil adalah nama yang dibuat oleh programmer.
¨ PROGRAM-ID panjang maks. 6 karakter, boleh lebih tetapi
hanya 6 karakter pertama saja yang dibaca.
Contoh:
IDENTIFICATION DIVISION.
PROGRAM-ID. Contoh.
AUTHOR. KAMI2IA15
INSTALLATION. UNIVERSITAS
GUNADARMA.
DATE-WRITTEN. 05-11-2003.
DATE-COMPILED. 06-11-2004.
SECURITY. rahasia.
ENVIRONMENT DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.
|
Menyediakan informasi mengenai peralatan yang dipergunakan didalam program.
Bentuk
umum ENVIRONMENT DIVISION :
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
[ SOURCE-COMPUTER.
nama-komputer WITH DEBUGGING MODEL. ]
[ OBJECT-COMPUTER.
nama-komputer. ]
SPECIAL-NAMES.
[ PRINTER IS nama-mnemonic ]
[ CURRENCY SIGN IS literal ]
[ DECIMAL-POINT IS COMMA. ]
INPUT-OUTPUT SECTION.
FILE-CONTROL.
{file
control entry}.
CONFIGURATION
SECTION
Diperlukan
karena kemungkinan program dibuat pada sebuah komputer dan dijalankan pada
komputer yang lain.
¨
Paragraph
SOURCE-COMPUTER
Paragraph
ini digunakan untuk menunjukkan nama komputer yang digunakan dalam pembuatan
dan mengkompilasi program.Ditulis mulai kolom ke-8 atau area A.Bila Clause WITH
DEBUGGING MODE disertakan dan pada kolom ke-7 diberi karakter ‘D’ akan
dikompilasi untuk tujuan penelusuran kesalahan.Statement untuk penelusuran
kesalahan adalah statement READY TRACE, RESET TRACE, EXHIBIT.
¨
Paragraph
OBJECT_COMPUTER
Paragraph ini untuk menunjukkan nama komputer yang
digunakan untuk menjalankan program yang telah dikompilasi.
¨
Paragraph
SPECIAL_NAMES
Paragraph
ini sifatnya optional, digunakan untuk membuat nama khusus yang menghubungkan
nama-mnemonic implementor dengan nama mnemonic yang dibuat programmer.
a. PRINTER
IS Clause
digunakan untuk menghubungkan nama mnemonik yang dibuat
programmer dengan alat pencetak (PRINTER). Clause ini digunakan pada statement DISPLAY yang
menggunakan UPON dalam PROCEDURE DIVISION.
b. CURRENCY SIGN IS Clause
Untuk menunjukkan tanda mata uang
digunakan $, jika ingin menggunakan simbol lain maka dituliskan pada
SPECIAL_NAMES.
c. DECIMAL_POINT
IS COMMA Clause
Pada bahasa COBOL titik desimal digunakan bentuk karakter
‘ . ‘ bila di inginkan bukan karakter ‘ . ‘
tetapi koma dalat dituliskan SPECIAL_NAMES. DECIMAL POINT IS COMMA.
INPUT-OUTPUT
SECTION.
Bila akan
digunakan file dengan media simpanan sekunder,maka paragraph FILE_CONTROL dalam
seksi ini harus ditulis. FILE_CONTROL entry terdiri dari 3 bentuk, tergantung
dari organisasi file yang dipergunakan, yaitu ; Sequential file, indexed file,
dan relative file.
¨
INPUT-OUTPUT
SECTION untuk SEQUENTIAL FILE
Organisasi
file bersifat terurut, data direkamkan direcord dalam file secara urut dan
urutannya tidak akan berubah. Organisasi fiile ini hanya pada DISK dan PRINTER.
Bentuk umum :
INPUT-OUTPUT SECTION.
FILE_CONTROL.
SELECT nama-file ASSIGN TO [DISK/PRINTER]
[ ORGANIZATION IS [LINE] SEQUENTIAL ]
[ ACCESS MODE IS SEQUENTIAL ]
[ FILE STATUS IS nama-data ].
¨
INPUT-OUTPUT
SECTION untuk INDEXED FILE
Organisasi
file yang datanya dapat diambil langsung diposisi record yang mmpunyai nilai
kunci tertentu yang unik. Organisasi seperti ini memungkinkan pencarian data
secara cepat.Organisasi file ini hanya pada DISK
Bentuk
umum :
INPUT-OUTPUT SECTION.
FILE_CONTROL.
SELECT nama-file ASSIGN TO DISK
ORGANIZATION IS INDEXED
SEQUENTIAL
ACCESS MODE IS RANDOM
DYNAMIC
RECORD KEY IS nama-data 1
[ FILE
STATUS IS nama-data 2 ]
¨
INPUT-OUTPUT
SECTION untuk RELATIVE FILE
Organisasi
file yang tiap-tiap recordnya dibedakan dengan sutau nomor record relative.
Organisasi ini memungkinkan pencarian data yang cepat, hanya terdapat pada
DISK.
Bentuk umum :
INPUT-OUTPUT SECTION.
FILE_CONTROL.
SELECT nama-file ASSIGN TO DISK
ORGANIZATION IS RELATIVE
SEQUENTIAL
[, RELATIVE KEY IS nama-data 1 ]
ACCESS
MODE IS RANDOM
DYNAMIC , RELATIVE KEY IS nama-data 1
[ FILE
STATUS IS nama-data 2 ]
|
Memberikan
penjelasan tentang input data dan output yang dipergunakan, atau berisi semua
keterangan tentang file, record, nama-data serta bentuk / format yang akan
dipergunakan didalam PROCEDURE DIVISION.
1. FILE
SECTION
Berisi
mengenai file-file yang dipakai didalam program, FILE SECTION ini ada bila
dipergunakan file dalam bentuk simpanan sekunder yaitu disk atau printer yang
mempunyai hubungan dengan INPUT_OUTPUT SECTION dalam ENVIRONMENT DIVISION.
judul
FD ditulis pada area A dan diikuti oleh nama filenya yang harus sama dengan
yang disebutkan pada INPUT-OUTPUT SECTION dalam ENVIRONMENT DIVISION, nama-file
ditulis mulai area B.
¨
BLOCK
CONTAINS Clause
Menunjukkan
ukuran dari record didalam file untuk tiap-tiap blocknya. Clause ini biasa
digunakan pada file yang berupa tape magnetik.
¨
RECORD
CONTAINS Clause
Menunjukkan banyaknya karakter tiap-tiap recordnya. Clause ini boleh tidak disertakan,
karena nantinya akan termasuk dalam record description entry
¨
LABEL
RECORD dan LABEL RECORDS Clause
Menunjukkan
apakah file yang digunakan mempunyai label atau tidak.
LABEL
RECORD IS OMITTED digunakan untuk card-file atau print-file yang tidak
mempunyai label.
LABEL
RECORD IS STANDARD digunakan untuk disk-file yang mempunyai label.
¨
VALUE
OF FILE-ID Clause
Menunjukkan informasi mengenai file yang mempunyai label
di disk. Label di disk
ini berupa suatu nama-file yang berisi data yang direkamkan tersebut.
¨
DATA
RECORD atau DATA RECORDS Clause
Menunjukkan
nama-record dalam file, sifatnya optinal, hanya sebagai dokumentasi saja.
¨
LINAGE
Clause
Pencetakan
output di printer dapat dilakukan dengan 2 cara, yaitu :
a. Dengan menganggap printer sebagai
print-file, yang berbentuk organisasi file secara sequential, dengan
menggunakan statement WRITE pada procedure
division.
b.
Dengan
tanpa menggunakan print-file, tetapi langsung menghubungkan alat cetak printer
sebagai nama-mnemonik pada paragraph
SPECIAL-NAMES, yang kemudian menggunakan statement DISPLAY… UPON.
LINAGE
Clause digunakan untuk mengatur pencetakan output diprinter yang mempergunakan
cara pertama, yaitu sebagai print-file yang menggunakan statement WRITE,
menunjukkan jumlah baris yang akan dicetakper halamannya, jumlah dari baris
kosong paling atas (TOP MARGIN) dan jumlah dari baris kosong paling bawah
(BOTTOM MARGIN).
LINAGE IS menunjukkan tubuh dari
laporan, daerah laporan yang akan dicetak meliputi judul, isi dan footingnya.
WITH
FOOTING AT menunjukkan daerah letak permukaan foot-note/footing (untuk
pencetakan suatu total atau keterangan-keterangan untuk laporan).
LINES
AT BOTTOM menunjukkan sejumlah baris yang tidak dipergunakan pada ujung bawah
laporan.
2. WORKING-STORAGE
SECTION
Mempunyai
maksud pemesanan tempat di internal memori (STORAGE) yang diperlukan oleh
pekerjaan (WORKING) proses program.
Pemesanan tempat ini biasanya digunakan untuk :
a.
Bentuk,
nilai dan nama data yang diperlukan didalam proses yang terpisah dan belum di
sebutkan pada FILE SECTION. Data yang disebutkan pada FILE SECTION adalah data
yang akan diambil dari disk-file, atau data yang akan direkamkan pada disk-file
atau yang aklan dicetak pada print-file.
b.
Persiapan
penulisan judul.
c.
Pemesanan
tempat untuk data output yang akan ditampilkan.
Bentuk
umum :
WORKING-STORAGE SECTION.
77- level data description entry
record description.
3. SCREEN
SECTION
berguna
untuk menunjukkan bentuk format dari layar terminal untuk menampilkan data atau
memasukkan data. Data-item yang dipergunakan dapat berupa group data item atau
data item individu.
SCREEN
berhubungan dengan statemet DISPLAY dan ACCEPT dalam PROCEDURE DIVISION.
Statement
DISPLAY digunakan untuk menampilkan
format yang telah dibentuk di SCREEN SECTION pada layar terminal.
Statement
ACCEPT digunakan untuk memasukkan
nilai data-item lewat layar terminal dengan bentuk format yang dibentuk pada
SCREEN SECTION tersebut.
¨ BLANK
SCREEN Clause, digunakan untuk membersihkan layar dan menempatkan kursor pada
posisi kiri atas.
¨
LINE
Clause, digunakan untuk menempatkan cursor pada posisi baris tertentu.
¨ COLUMN
Clause, digunakan untuk menempatkan kursor pada posisi kolom tertentu.
¨
BLANK
LINE Clause, digunakan untuk menghapus tampilan pada baris tertentu dilayar.
¨
UNDERLINE,
REVERSE-VIDEO, HIGHLIGHT dan BLINK Clause, digunakan untuk menampilkan efek
tertentu.
UNDERLINE
clause, digunakan untuk memberikan garis bawah pada tampilannya.
REVERSE-VIDEO
clause, digunakan untuk membalik warna
dari tempilannya, 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 tampilannya.
¨
FROM,
TO dan USING Clause, digunakan untuk menampilkan atau menerima data yang bentuk
data-itemnya dihubungkan ditempat lain diluar SCREEN SECTION. misalnya pada
WORKING-STORAGE SECTION, FILE SECTION, atau LINKAGE SECTION.
FROM
clause digunakan untuk menampilkan isi data.
TO
clause digunakan untuk menerima isi data.
USING
clause digunakan untuk menggantikan FROM clause, bila hanya dipergunakan
statement DISPLAY. atau digunakan untuk menggantikan FROM dan TO yang digunakan
bersama-sama, bila digunakan statement DISPLAY dan ACCEPT.
¨ BLANK
WHEN ZERO Clause, digunakan untuk menampilkan spasi / blank bila suatu data
numerik mengandung nilai 0.
¨
AUTO,
SECURE, REQUIRED, dan FULL Clause, digunakan untuk memberikan efek tertentu
pada waktu memasukkan nilai suatu data.
AUTO
clause, digunakan untuk pergeseran cursor secara otomatis ke field berikutnya,
bila field data item sudah penuh terisi.
SECURE
clause, digunakan untuk membuat supaya suatu nilai data yang dimasukkan pada
field data item tertentu tidak tampak sewaktu diketik, sebagai gantinya akan
muncul karakter ‘ * ‘.
FULL
clause, digunakan untuk suatu field data item yang harus diisi dengan suatu
data sampai penuh untuk tempat yang disediakan.
|
Merupakan
inti dari pemrograman COBOL. Statement yang ada pada PROCEDURE DIVISION
dibentuk dari verb, diantaranya: MOVE, DISPLAY, ACCEPT, dan STOP.
¨
MOVE verb
Digunakan
untuk memindahkan data dari satu field ke lokasi field yang lain, sehingga
input data dapat dimanipulasi untuk menghasilkan output.
Bentuk
umum :
MOVE nama-data-1 TO nama-data-2
[ , nama-data-3 ] …
literal
Bentuk
khusus dari MOVE adalah MOVE CORRESPONDING, yang berguna untuk memindahkan data
dari group data item ke group lain.
Bentuk
umum ;
MOVE CORRESPONDING nama-data-1 TO nama-data-2
¨
DISPLAY verb
Digunakan
untuk menampilkan hasil dilayar ataupun printer. Jika dipergunakan statement
WRITE untuk menampilkan hasil di printer, maka print-file harus disebutkan
terlebih dahulu di ENVIRONMENT DIVISION pada FILE-CONTROL. Ada
3 bentuk statement DISPLAY:
a.
Bentuk
1
DISPLAY
nama-layar
Digunakan
untuk memasukkan data lewat layar sewaktu program tersebut dijalankan
(runtime). Ada
4 bentuk statement ACCEPT :
a.
Bentuk
1
BU : ACCEPT
nama-data
Data yang
dimasukkan akan ditempatkan pada nama-data setelah ACCEPT, yang bentuk, jenis
dan panjangnya sudah ditentukan dalam DATA DIVISION.
b.
Bentuk
2
BU : ACCEPT
nama-layar [ ON ESCAPE statement-imperative
]
Digunakan untuk menerima data dan
mengirimkan data tersebut ke (TO) atau menggunakan (USING) field data item yang
disebutkan pada nama-layar di SCREEN SECTION dalam DATA DIVISION.
¨
ZERO-FILL
phrase menyebabkan bila posisi-posisi field data-item penerima data tidak di
isi dengan data (langsung menekan enter ) akan terisis dengan nol.
¨
SPACE-FILL
phrase menyababkan bila posisi-posisi fieldd data-item dilayar tidak di isi
dengan data (langsung menekan enter) akan terisi blank pada layar tetapi field
data-item penerima tetap berisi nilai nol atau nilai sebelumnya, biasanya untuk
jenis data numerik.
¨
LEFT-JUSTIFY
phrase tidak berfungsi pada MS COBOL, tetapi boleh ditulis
¨
RIGHT-JUSTIFY
phrase menyebabkan setelah data dimasukkan, hasil akhir yang tampak dilayar
akan rata sebelah kanan. Digunakan untuk jenis data-item alphabetik atau
alphanumerik.
¨
TRAILING-SIGN
phrase menyebabkan tanda operasi + atau – tampak diposisi paling kanan dari
field data input.
¨
PROMPT
phrase menyebabkan tampilan untuk field data-item penerima berbentuk nol untuk
posisi digit, titik untuk desimal point dan spasi untuk tanda operasi + (plus)
atau – (minus).
¨
UPDATE
phrase menyebabkan tampilan utuk field data-item penerima berbentuk nilai awal
dari field penerima tersebut.
¨
LENGTH-CHECK
phrase menyebabkan penekanan tombol carriage return tidak berfungsi kalau semua
posisi field penerima belum terisi semua.
¨
EMPTY-CHECK
phrase menyebabkan penekanan tombol carriage return tidak berfungsi jika tidak
paling sedikit sebuah karakter atau angka yang bukan sifatnya terminator sudah
di input.
¨
AUTO-SKIP
phrase menyebabkan proses pemasukan data bergeser ke field penerima data lain
berikutnya, bila posisi field penerima sudah penuh terisi tanpa harus menekan
tombol carriage return atau tombol terminator yang lainnya.
¨
NO-ECHO
phrase menyebabkan data yang dimasukkan tidak tampak dilayar.
¨
BEEP
phrase menyebabkan bunyi bel sewaktu data di input.
¨
STOP verb
Digunakan untuk menghentikan program baik secara permanen
maupun sementara.
BU :
STOP literal
RUN
STOP
literal, akan menyebabkan proses program terhenti sementara dan literal akan
ditampilkan dilayar. Jika operator menekan sembarang tombol maka program akan
dilanjutkan mulai statement setelah STOP literal tersebut.
STOP
RUN, akan menyebabkan program berhenti secara permanen.
Digunakan
untuk menambahkan 2 atau lebih operand numerik dan menyimpan hasilnya.
BU-1:
ADD nama-data-1 , nama-data-2 … TO nama-data-m [ROUNDED]
literal-1 literal-2
[; ON SIZE ERROR statement imperative]
BU-2:
ADD nama-data-1 , nama-data-2 … GIVING nama-data-m [ROUNDED]
literal-1 literal-2
[; ON SIZE ERROR statement imperative]
Keterangan :
1.
TO digunakan bila beberapa nilai akan dijumlahkan dan
hasilnya akan disimpan pada salah satu operand.
2.
GIVING digunakan bila beberapa nilai
dijumlahkan dan hasilnya disimpan pada nama data yang lain.
3.
Field
penerima harus merupakan nama data, bukan literal.
4.
Bentuk
TO dan GIVING harus ada dan salah satu diantaranya, tidak boleh
dipergunakan keduanya.
5.
Semua
nama-data yang dipergunakan di dalam operasi aritmatika harus berbentuk data
numerik dengan picture yang belum diedit kecuali operand dari field penerima.
6.
ROUNDED option digunakan bila diinginkan
hasil perhitungan dibulatkan
7. ON
SIZE ERROR digunakan
bila hasil perhitungan untuk digit-digit bilangan utuh (high order digits)
tidak bisa masuk seluruhnya pada field penerima, nilai tidak akan disimpan di
storsge dan program akan melanjutkan pada imperative statement yang
mengikutinya.
¨
SUBSTRACT Verb
Digunakan
untuk operasi pengurangan suatu nilai data numerik.
BU :
SUBSTRACT nama-data-1 , nama-data-2
literal-1 literal2
FROM nama-data-n GIVING nama-data-m
literal-n
[ROUNDED]
[;ON SIZE ERROR imperative statement]
¨
MULTIPLY Verb
Digunakan untuk mengalikan 2 nilai numerik dan menyimpan
hasilnya.
BU 1 :
MULTIPLY nama-data-1 BY nama-data-2
literal-1
BU
2 :
MULTIPLY nama-data-1 BY nama-data-2
literal-1 literal-2
GIVING
nama-data-3 [ROUNDED]
[; ON SIZE ERROR imperative statement]
¨
DIVIDE Verb
Digunakan
untuk membentuk statement operasi pembagian.
BU
1 :
DIVIDE nama-data-1 INTO nama-data-2 [ROUNDED]
literal-1
[ ;
ON SIZE ERROR imperative statement]
BU
2 :
DIVIDE nama-data-1 INTO nama-data-2
literal-1 literal-2
GIVING nama-data-3 [ROUNDED]
[ ; ON SIZE ERROR imperative statement]
BU
3 :
DIVIDE nama-data-1 BY
nama-data-2
literal-1 literal-2
GIVING nama-data-3 [ROUNDED]
[ ; ON SIZE ERROR imperative statement]
BU
4 :
DIVIDE nama-data-1 INTO nama-data-2
literal-1 literal-2
GIVING nama-data-3 [ROUNDED]
REMAINDER nama-data-4
[ ; ON SIZE ERROR imperative statement]
BU
5 :
DIVIDE nama-data-1 BY nama-data-2
literal-1 literal-2
GIVING nama-data-3 [ROUNDED]
REMAINDER
nama-data-4
[ ; ON SIZE ERROR imperative statement]
¨
COMPUTE
Digunakan
untuk operasi yang lebih rumit, untuk menyederhanakan 4 arithmatic verb
sebelumnya.
BU :
COMPUTE nama-data-1
[ROUNDED] = ungkapan aritmatika
[ ; ON
SIZE ERROR imperative statement]
¨
GO TO Verb
Digunakan untuk alih kontrol tanpa syarat ke paragraph
tertentu.
BU :
GO TO nama-paragraph
¨
GO TO … DEPENDING Verb
Digunakan untuk alih kontrol bersyarat. Beralih pada
paragraph tertentu dengan kondisi tertentu.
BU :
GO TO nama-paragraph-1, nama-paragraph-2,
… nama-paragraph-n
DEPENDING ON nama-data
¨
ALTER Verb
Digunakan
untuk merubah arah tujuan proses dari statement GO TO yang telah ada di
program.
BU :
ALTER nama-paragraph-1 TO [ PROCEED TO]
nama-paragraph-2
¨
PERFORM Verb
Digunakan
untuk membuat suatu statement yang akan membawa proses dari program meloncat
kesuatu paragraph, kemudian menjalankan seluruh statetement yang ada pada
paragraph tersebut. Jika telah selesai akan kembali ke statement setelah
PERFORM.
BU :
PERFORM nama-paragrapg-1 THROUGH nama-paragraph-2
THRU
DEBUGGING
Debugging adalah proses mencari sebab kesalahan program
dan membetulkannya. Kesalahan-kesalahan tersebut diantaranya : kesalahan bahasa
( language errors), kesalahan sewaktu proses (run-time errors), kesalahan
logika program ( logical errors ).
Kesalahan Bahasa
Kesalahan bahasa atau kesalahan
penulisan (syntax errors) adalah kesalahan didalam penulisan sorce program yang
tidak sesuai dengan yang disyaratkan. Kesalahan in merupakan kesalahan yang
relatif mudah dilacak dan dibetulkan, karena kompile COBOL akan mendeteksi dan
memberitahukan letak serta sebab kesalahannya.
Kesalahan Sewaktu Proses
Kesalahan sewaktu proses (run-time errors) adalah
kesalahan yang terjadi sewaktu executable
program dijalankan. Kesalahan ini menyebabkan program terhenti sebelum saatnya.
Bila terjadi run-time errors, COBOL akan menyajikan sebab dari kesalahan,
nama-program dari PROGRAM-ID dan baris dari program yang salah.
Kesalahan Logika
Merupakan kesalahan yang tidak bisa
dilabak oleh COBOL, karena kesalahan terdapat pada logika pemrogramannya.
FILE URUT (Lanjutan)
ENVIRONMENT DIVISION
Informasi mengenai organisasi file
urut disebutkan pada INPUT-OUTPUT SECTION. ASSIGN
clause menunjukkan bentuk dari file yang akan dipergunakan yaitu disk-file atau
print-file. ORGANIZATION IS LINE SEQUENTIAL atau SEQUENTIAL boleh dipilih salah
satu, jika tidak disebutkan dianggap (default) SEQUENTIAL.
FILE
STATUS clause
digunakan untuk menunjukan jenis kesalahan yang terjadi dari suatu hasil
operasi. Jenis kesalahan ini ditunnjukan oleh suatu nilai sepanjang karakter
yang disimpan pada nama data yang disebutkan pada clause ini dan sudah
disebutkan terlebih dahulu pada WORKING-STORAGE SECTION atau pada LINKAGE
SECTION.
Nilai
status organisasi file urut
Nilai Status |
Jenis Kesalahan
|
00
|
Tidak terjadi kesalahan
|
10
|
Akhir dari file ( End Of File )
|
30
|
File tidak ada ( File Not Found )
|
34
|
Disk Penuh ( Disk space full )
|
91
|
Struktur file rusak
|
PROCEDURE DIVISION
Statement khusus yang dipergunakan dalam PROCEDURE
DIVISION yaitu OPEN, CLOSE, READ, WRITE, REWRITE, dan USE
OPEN verb digunakan untuk membuka file yang akan diakses. CLOSE verb digunakan untuk menutup file
yang digunakan setelah selesai melaksanakan operasi file untuk mecegah rusaknya
struktur file. WRITE verb digunakan
untuk merekamkan data pada record tertentu difile yang telah dibuka. READ verb digunakan untuk membaca
record yang ada di file. REWRITE verb
digunakan untuk merekam ulang record yang sudah pernah direkam / update record.
Tidak ada komentar:
Posting Komentar