PENDAHULUANnanim.staff.gunadarma.ac.id/Downloads/files/35688/cobol... · Web viewPENDAHULUAN...
Embed Size (px)
Transcript of PENDAHULUANnanim.staff.gunadarma.ac.id/Downloads/files/35688/cobol... · Web viewPENDAHULUAN...
PENDAHULUAN
PENDAHULUAN
DEFINISI COBOL
COBOL atau Common Bussiness Oriented Language adalah bahasa pemrograman komputer, yang dirancang untuk menyelesaikan persoalan bisnis.
Perkembangan COBOL
· Tahun 1958: Pertama kali diciptakan oleh CODASYL
· Tahun 1960: VERSY COBOL – 60, versi pertama
· Tahun 1968: ANS COBOL gunakan standart ANSI
· Tahun 1974: ANSI COBOL 1974
· Tahun 1985: ANSI COBOL 1985
· MS.COBOL VERSI 2.2 mengikuti ANSI COBOL 1974.
· MS COBOL VERSI 3.0 mengikuti ANSI COBOL 1985 di luncurkan tahun 1988.
Program COBOL merupakan program terstruktur.
Struktur Utama dari suatu program COBOL terdiri dari 4 DIVISI, yaitu :
· IDENTIFICATION DIVISION
· ENVIRONMENT DIVISION
· DATA DIVISION
· PROCEDURE DIVISION
Keuntungan Bahasa COBOL :
· Program dibuat dalam bahasa inggris sehingga lebih mudah dipelajari dan dibuat.
· Sangat sesuai untuk pengolahan data, banyak diterapkan untuk masalah bisnis.
· Struktur program COBOL jelas.
· Program bersifat standart fleksibel di komputer yang berbeda.
· COBOL menyediakan fasilitas listing program
Program ini mudah didokumentasikan dan dikembangkan.
Yang Dapat Dikerjakan BAHASA COBOL :
Langkah Dasar
Membaca data lalu memproses data dan menghasilkan output informasi.
Ada dua divisi yang UTAMA yaitu :
· DATA DIVISION
Menggambarkan bentuk dan jenis dari data input serta data outputnya.
· PROCEDURE DIVISION
Menggambarkan prosedur yang digunakan untuk menyelesaikan permasalahan dalam bentuk dan jenis data yang ada pada data division dan menghasilkan hasil output informasi sesuai yang ada dalam data division.
Apa yang dapat dikerjakan COBOL ?
Mengolah data dengan prosedur – prosedur tertentu yang ada di dalam procedure division, data yang diolah dan bentuk hasil pengolahan ada didalam data division.
KONSEP DASAR Pembuatan program
bahasa komputer
Merupakan kumpulan dari karakter – karakter, kata-kata dalam aturan penulisan tertentu yang dapat digunakan untuk menulis sebuah program komputer.
HIGH LEVEL LANGUAGE
Orientasi masalah yang dihadapi oleh programmer atau problem oriented language.
Contoh : Pascal, Fortran,Cobol, Bahasa C, Basic.
LOW LEVEL LANGUAGE
Orientasi masalah pada mesin
Contoh : Assembler (B.Rakitan)
SOURCE PROGRAM
Program yang dibuat dalam bahasa tingkat tinggi
OBJECT PROGRAM
Program yang telah diterjemahkan ke dalam bahasa mesin
KOMPILASI
Menterjemahkan source program menjadi object program.
· Compiler
Menterjemahkan program untuk seluruh instruksi sekaligus.
· Interpreter
Menterjemahkan program perinstruksi.
EXECUTABLE PROGRAM
Program yang dapat dijalankan secara langsung dari sistem operasi.
PROGRAM KOMPUTER
??? PROGRAM, PROGRAMMING Dan PROGRAMMER ???
· PROGRAM
Adalah kumpulan dari instruksi atau deklarasi atau pernyataan yang disusun sehingga komputer dapat memproses input data menjadi output.
· PROGRAMMER
Orang yang membuat program komputer
· PROGRAMMING
Proses pembuatan program komputer
Langkah – Langkah pembuatan program COBOL
1. Memahami masalah yang akan di programkan
2. Menggunakan Flowchart
3. Menulis program di coding form
4. Membuat source program, extension .COB
5. Mengcompile program:
Source Program Object Program
6. Membuat Executable program, extension .EXE
7. EXE program dapat dijalankan
KONSEP DASAR ORGANISASI DATA
FILE RECORD FIELD KARAKTER
File atau bussiness file
Adalah kumpulan dari record – record yang berhubungan
File dibedakan menjadi dua bagian yaitu :
· PROGRAM FILE yaitu file yang berisi program komputer
· DATA FILE yaitu file yang berisi kumpulan klasifikasi data secara keseluruhan.
Setiap file harus diberi nama supaya unik file name
Syarat – Syarat pemberian nama file :
1. Maksimum 30 karakter (A…Z,a…z,0…9,-)
2. Minimum mengandung 1 huruf (alphabetik)
3. Tidak boleh mengandung
· Special Karakter
· Blank / Spasi
· COBOL reserved Word
4. Tanda hypen (-) diletakkan ditengah – tengah
nama. Tidak boleh diletakkan pada posisi awal atau akhir.
RECORD
Adalah kumpulan dari field atau data item yang berisi suatu informasi tertentu.
Kumpulan dari RECORD membentuk file
FIELD atau DATA ITEM
Adalah bagian terkecil dari record, yang merupakan kumpulan dari karakter – karakter yang membentuk sebuah informasi.
Data item dapat terdiri dari :
a. Numerik ( numeric) terdiri dari 0 s/d 9,+,-
b. Alphabetik (Alphabetic) terdiri dari A s/d Z, spasi
c. Alphanumerik (Alphanumeric) terdiri dari numerik dan alphanumerik.
Kumpulan data item tertentu membentuk record.
KONSEP DASAR PROGRAM COBOL
Struktur Program Cobol
· Dibagi menjadi 4 Division, yaitu :
· IDENTIFICATION DIVISION.
· ENVIRONMENT DIVISION.
· DATA DIVISION.
· PROCEDURE DIVISION.
· Dari ke-4 divisi tersebut terdapat susunan hirarki :
· Division.
· Region.
· Section.
· Paragraph.
· Sentence/Entry.
· Statement/Clause.
· Phrase/Option.
Istilah region,sentence,statement dan phrase / option digunakan pada PROCEDURE DIVISION, sedangkan entry dan clause digunakan pada ke 3 divisi lainnya.
· Division
Bagian utama dari suatu program COBOL
· Region
Suatu bagian tertentu di dalam Procedure DIVISION.
· Section
Suatu kumpulan dari paragraph atau entry.
Contoh : Configuration Section yang ada di environtment division
· Paragraph
Suatu group dari kalimat (sentences) didalam Procedure Division.
Suatu paragraph harus diawali dengan nama-paragraph atau judul paragraph.
· Entry
Sesuatu yang harus dituliskan pada tempat-tempat tertentu di dalam program COBOL. Entry dapat juga dikatakan sebagai suatu set (kumpulan) dari clause (anak kalimat), yang diakhiri dengan titik.
· Sentence
Suatu kumpulan dari satu atau lebih statement (pernyataan).
Satu statement diakhiri dengan titik (.).
· Clause [ anak kalimat ]
Kumpulan dari kata (word) yang membentuk suatu arti.
Clause adalah bagian dari entry.
· Statement [ Pernyataan ]
Perintah pengerjaan untuk komputer.
Dibentuk dari verb yang merupakan COBOL Reserved word. Semua statement kecuali COPY terletak di PROCEDURE DIVISION. Statement COPY dapat diletakkan dimana saja.
· Phrase
Suatu group kata yang merupakan bagian dari statement atau clause.
· Option atau Optional
Sesuatu yang boleh disertakan, boleh juga tidak.
User Defined Words
· Cobol Reserved Word
Yaitu kata yang telah didefinisikan yang mempunyai arti dan kegunaan tertentu dalam bahasa COBOL. Kata tersebut tidak boleh dipergunakan oleh programmer untuk nama-data dll kecuali dalam bentuk yang telah ditentukan oleh bahasa COBOL itu sendiri.
Contoh : ACCEPT, ADD, AND, BY, AFTER dsb……
· User Defined Word
Kata-kata yang dapat dibuat dan telah didefinisikan oleh programmer untuk : Nama-program, Nama-alat, Nama-file, Nama-record, Nama-data, Nama-indek dan nama-data-indek, Nama-kondisi, Nama-prosedure, Nama-seksi, Nama-kualifikasi.
Nama Program
Adalah suatu nama yang diberikan untuk menunjukkan identitas dari program yang dibuat.
Nama program ini ditulis pada paragraph PROGRAM – ID dalam IDENTIFICATION DIVISION.
Nama Alat
Adalah nama yang dibuat oleh programmer untuk menunjukkan suatu alat terntentu, misalnya PRINTER,mnemonis name dibentuk didalam ENVIRONMENT DIVISION pada paragraph SPECIAL NAMES.
Nama File
Adalah nama yang dibuat untuk menunjukkan suatu file terntentu yang dipergunakan didalam program tertentu yang dipergunakan didalam program.
Nama Record
Untuk program COBOL, record harus diberi nama. Nama record pada DATA RECORD dan digunakan pada statement WRITE dalam PROCEDURE DIVISION.
Nama Data
Adalah nama yang dibuat untuk menunjukkan suatu data item yang dipergunakan didalam program. Nama data ini dipergunakan hampir apda semua statement dalam PROCEDURE DIVISION seperti MOVE,ADD,dsb.
Nama Index dan nama data index
Digunakan untuk data yang berbentuk tabel yang di-index.
Nama Kondisi
Adalah suatu nama data yang dihubungkan dengan suatu nilai tertentu. Nama Kondisi didefinisikan dalam DATA DIVISION dengan level number 88.
Nama Procedure atau Nama paragraph
Adalah nama yang menunjukkan suatu paragraph dalam PROCEDURE DIVISION.
Nama Seksi atau Section
Didalam PROCEDURE DIVISION dapat dibuat menjadi beberapa seksi, tiap seksi dapat dibentuk dengan dimulai judul seksinya.
Nama Kualifikasi
Bila nama data atau nama kondisi tidak unik (ada yang sama satu dengan yang lainnya), untuk menentukan yang mana akan digunakan dapat emnggunakan Qualifier. Nama kualifikasi hanya dapat dipergunakan pada SCREEN SECTION dalam DATA DIVISION atau dalam PROCEDURE DIVISION.
Aturan Penulisan Source Program
Kolom yang tersedia untuk menulis program Cobol adalah mulai dari kolom 1 sampai dengan kolom 80.
Kolom 1-6:
Digunakan untuk nomor urut bila diperlukan, Nomor harus urut dari kecil ke besar.
Kolom 7
:
· Untuk tanda hypen ( - ), digunakan untuk baris sambungannya berada di area B.
· Bila diisi dengan tanda *, maka baris tersebut dianggap sebagai komentar.
· Bila diisi dengan tanda /, maka baris tersebut dianggap sebagai komentar dan akan dicetak mulai halaman baru teratas.
· Bila diisi dengan karakter D, maka akan 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 area A. Tempat menuliskan semua judul divisi, judul seksi, nama paragraph, judul file description (FD), level number 01 dan level number 77.
Kolom 12-72:
Disebut area B. Semua elemen program selain yang ditulis diarea A ditulis di area B.
Kolom 73-80:
Merupakan kolom yang tidak diproses oleh komputer, jadi bila diisi dengan catatan – catatan apa saja hanya untuk dokumentasi program.
BENTUK DATA
Bentuk data dibedakan menjadi 2, yaitu :
1. Data Variabel
2. Data Konstanta ( Konstanta )
· Data Variabel adalah data yang nilainya dapat berubah didalam program.
Contoh : ACCEPT NAMA_MHS.
· Konstanta atau data konstanta adalah suatu data yang nilainya tidak tergantung dari input yang dibaca (bernilai tetap).
Contoh :
Multiply jam-kerja by 500 giving gaji-out.
Konstanta pada Procedure Division terbagi menjadi 3 :
· Literal Numerik
Aturan Penggunaan Literal Numerik :
1. Maksimum panjangnya 18 digit
2. Boleh ada tanda plus pada posisi terkiri tanpa ada spasi dengan angka pertama. Bila tanpa tanda maka dianggap bernilai positif.
3. Boleh ada titik desimal dimana saja kecuali pada posisi terkanan.
Contoh : -15.50, 20.5, +0.72, 9876 dst…
· Literal Bukan Numerik
Konstanta yang digunakan bukan untuk operasi aritmatika.
Aturan Literal Bukan Numerik :
1. Panjang maksimum 120 karakter
2. Boleh terdiri dari kumpulan karakter (character set) kecuali karakter petik.
Contoh : ‘NILAI PIUTANG’
· Figurative Constant
Termasuk dalam Cobol Reserved Word (kata yang telah dikenal oleh kompiler).
Contoh :
ZERO
ZEROS
ZEROES
Ketiganya mempunyai arti yang sama, yaitu berarti nilai 0
SPACE
SPACES
Keduanya mempunyai arti yang sama yaitu berarti nilai 1 blank atau lebih
dll
Digunakan pada Procedure Division. Move Zero to Jumlah.
Artinya memberikan nilai 0 pada nama data Jumlah.
· OPERATOR ARITHMATIKA
Adalah simbol yang digunakan untuk membentuk suatu ungkaan arithmatika,yaitu :
Operator arithmatika
Maksud
jenjang
**
Pangkat
1
*
Kali
2
/
Bagi
2
+
Tambah
3
-
Kurang
3
· OPERATOR RELATIONAL
Maksud
Operational Relational
Lebih kecil dari
<
LESS THAN
Lebih besar dari
>
GREATER THAN
Sama dengan
=
EQUAL TO
Lebih kecil atau sama dengan
NOT>
NOT GREATER THAN
Lebih besar atau sama dengan
NOT<
NOT LESS THAN
Tidak sama dengan
NOT=
NOT EQUAL TO
· UNGKAPAN ARITHMATIKA
Adalah Kombinasi dari literal numerik, nama-data, operator arithmatika, kurung buka dan kurung tutup.
Penulisannya harus dipisahkan paling sedikit dengan sebuah blank antara literal numerik, nama-data dan operator arithmatika.
Contoh:
Maksud
Penulisan
A + B
A + B
A + B
C + D
( A + B ) / ( C + D )
A2
( B + C )3
A * * 2 / ( B + C ) * * 3
· Ungkapan Arithmatika banyak digunakan pada verb COMPUTE ( lihat bab 12).
IDENTIFICATION DIVISION
IDENTIFICATION DIVISION adalah merupakan divisi yang pertama dalam program COBOL dan yang paling sederhana. Pada divisi ini berisi keterangan mengenai program yang dibuat.
Bentuk Umum :
NB : Kalimat yang berada di dalam tanda bracket “[ ]” bersifat optional.
Contoh :
IDENTIFICATION DIVISION.
PROGRAM-ID. CONTOH1.
AUTHOR. SISWA.
INSTALLATION. GUNADARMA.
DATE-WRITTEN.17-09-2015. OPTIONAL
DATE-COMPILED. 18-09-2015.
SECURITY. RAHASIA.
ENVIRONMENT DIVISION
ENVIRONMENT DIVISION dalam program cobol sebagai divisi ke-2. Berisi dokumentasi informasi mengenai peralatan yang dipergunakan didalam program. Divisi ini dibagi menjadi 2 section, yaitu CONFIGURATION SECTION, INPUT-OUTPUT SECTION.
Bentuk Umum :
Ditulis pada area A, kecuali yang terdapat pada paragraph SPECIAL-NAMES dan FILE-CONTROL (pada area B).
Penjelasan :
CONFIGURATION SECTION, pada seksi ini diterangkan mengenai jenis – jenis komputer yang digunakan.
Bentuk Umum :
SOURCE-COMPUTER , digunakan untuk menunjukkan nama komputer yang digunakan.
Paragraph ini ditulis mulai dari area A yaitu kolom ke 8
Contoh : SOURCE-COMPUTER. IBM-PC.
OBJECT-COMPUTER sama hal nya seperti SOURCE-COMPUTER.
Contoh : OBJECT-COMPUTER. IBM-PC.
SPECIAL NAMES, paragraph ini bersifat optional.Digunakan untuk membuat nama khusus yang menghubungkan nama-mnemonik implementor dengan nama mnemonik yang dibuat programmer.
PRINTER IS clause digunakan untuk menghubungkan nama mnemonik yang dibuat oleh programmer dengan alat pencetak printer yang nantinya akan berhubungan dengan statement DISPLAY yang menggunakan UPON pada PROCEDURE DIVISION.
Contoh penggalan programnya :
CURRENCY SIGN IS clause untuk menunjukkan tanda mata uang yang digunakan simbol “$” (Dollar). Dapat diubah menjadi karakter lain kecuali karakter 0-9, A, B, C, D, L, P, R, S, V, X, Z, blank, *, +, -, koma, titik, (,) , “, /, dan = (termasuk Cobol Reserved Word). Berhubungan dengan PICTURE pada WORKING-STORAGE SECTION yang terdapat pada DATA DIVISION .
Contoh : SPECIAL-NAMES. CURRENCY-SIGN IS F.
DECIMAL POINT IS COMMA clause adalah suatu clause yang memerintahkan kepada compiler untuk merubah default decimal point yang bernilai “.” (titik) menjadi “,” (koma). Perubahan ini berhubungan
juga pada WORKING-STORAGE SECTION dan PROCEDURE DIVISION.
CONTOH PROGRAM :
IDENTIFICATION DIVISION.
PROGRAM-ID.DESIMAL.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
PRINTER IS CETAKAN.
DATA DIVISION.
WORKING-STRORAGE SECTION.
10 HASIL-DITAMPILKAN.
02 FILLER
PIC X(10) VALUE ‘HASIL :’.
02 NILAI-HASIL PIC 99999.99.
PROCEDURE DIVISION.
ISI-DAN-CETAK.
MOVE 1234.67 TO NILAI-HASIL.
DISPLAY HASIL-DITAMPILKAN UPON CETAKAN.
STOP RUN
INPUT-OUTPUT SECTION dipergunakan jika dalam pembuatan program mempergunakan file dengan media penyimpanan sekunder baik berbentuk disk maupun printer.
Bentuk Umum :
File-Control Entry terdiri dari 3 bentuk (tergantung dari organisasi file yang akan dipergunakan), yaitu :
1. Sequential File (berurut)
2. Indexed File (memiliki nilai kunci yang unik)
3. Relative File (tiap record dibedakan bdsr s/ no. rec. relative)
Input-Output Section Untuk Sequential File
Organisasi secara sequential adalah organisasi file yang sifatnya urut.
( Jika ada data baru yang dimasukkan, maka merupakan record urutan terakhir.
Bentuk Umumnya :
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 ]
Contoh
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT REKAMAN ASSIGN TO DISK
ORGANIZATION IS SEQUENTIAL
ACCESS MODE IS SEQUENTIAL
FILE STATUS IS STATUS-SALAH
Input-Output Section Untuk{ Indexed File
Organisasi secara indexed adalah organisasi file yang datanya dapat diambil langsung di posisi record yang mempunyai nilai kunci terntentu yang unik.
( Record mempunyai nilai kunci tertentu yang unik.
( Hanya pada Disk.
Bentuk Umumnya :
CONTOH :
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT REKAMAN ASSIGN TO DISK
ORGANIZATION IS INDEXED
ACCESS MODE IS DYNAMIC
RECORD KEY IS NAMA-RELASI
FILE STATUS IS STATUS-SALAH.
Input-Output Section Untuk Relative File
Organisasi secara relative adalah organisasi file yang tiap – tiap recordnya dibedakan dengan suatu nomer record relative dan memungkinkan pencarian data cepat bila sudah diketahui nomer record posisi datanya.
( Hanya pada Disk.
Bentuk Umumnya :
CONTOH :
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT REKAMAN ASSIGN TO DISK
ORGANIZATION IS RELATIVE
ACCESS MODE IS DYNAMIC , RELATIVE KEY IS LOKASI-REC
FILE STATUS IS STATUS-SALAH.
DATA 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.
Bentuk umum :
keterangan :
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.
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.
LABEL RECORD atau LABEL RECORDS clause
Menunjukkan apakah file yg dipergunakan mempunyai label atau tidak.
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.
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.
DATA RECORD atau DATA RECORDS clause
Menunjukkan nama-record di dalam file, sifatnya optional.
LINAGE clause
Percetakan output di printer dapat dilakukan dengan dua cara, yaitu :
1. Dengan menganggap statement sebagai print-file, yang berbentuk organisasi file secara sequensial dengan menggunakan statement WRITE pada Procedure Division.
2.Dengan tanpa menggunakan print-file, tetapi langsung menghubungkan alat cetak sebagai nama-mnemonik pada paragraph SPECIAL-NAMES yang kemudian menggunakan statement DISPLAY….UPON
BU :
WITH
FOOTING
AT
Daerah Footing
LINES AT TOP menunjukkan sejumlah baris yang tidak dipergunakan pada ujung atas laporan
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.
LINES AT BOTTOM menunjukkan sejumlah baris yang tidak di pergunakan pada ujung bawah laporan.
Contoh :
IDENTIFICATION DIVISION.
PROGRAM-ID. LINAGE.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT CETAKAN ASSIGN TO PRINTER.
DATA DIVISION.
FILE SECTION.
FD CETAKAN
LABEL RECORD ID OMMITTED
RECORD CONTAINS 132 CHARACTERS
DATA RECORD IS BARIS-CETAK
LINAGE IS 45 LINES
WITH FOOTING AT 42
LINES AT TOP 4
LINES AT BOTTOM 6
01 BARIS-CETAK PIC X(132).
III. 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.
Bentuk umum :
Keterangan :
· Data item individu ditunjukkan oleh level number 77 (hanya ada pd WORKING-STORAGE SECTION), penulisan mulai dari Area A.
· Group data item (yg membentuk suatu record) diawali dg level number 01
III. SCREEN SECTION
Section ini digunakan untuk menunjukkan bentuk format dari layar terminal untuk menampilkan atau memasukkan data.
Bentuk umum :
Keterangan :
BLANK SCREEN Clause
Digunakan untuk membersihkan layar dan menempatkan cursor pd posisi kiri atas ( baris1, kolom1 )
Contoh :
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’.
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’
BLANK LINE clause
Digunakan untuk menghapus tampilan pada baris tertentu di layar.
Contoh:
02 LINE 15 BLANK LINE.
BELL clause
Digunakan untuk menimbulkan suara bel.
Contoh :
02 LINE 22 COLUMN 20 VALUE ‘SALAH!!!’ BELL.
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 dari tampilannya, 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.
Contoh :
Bila Program dijalankan akan terdapat tampilan sebagai berikut :
Garis bawah
(underline)
Lebih terang
(highlight)
Kedap-kedip
Kelap kelip
(blink)
Bolak balik dengan
warna dasar gelap
(reserve-video)
FROM, TO dan USING clause
1. From clause digunakan untuk menampilkan isi data
Contoh :
IDENTIFICATION DIVISION.
PROGRAM-ID. FROM.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 DATA-KARYAWAN.
02 NAMA PIC X(20) VALUE ‘BADU’.
02 JABATAN PIC X(10) VALUE ‘SALESMAN’.
02 GAJI PIC 9(7) VALUE 2500000.
SCREEN SECTION.
01 LAYAR-TAMPILAN.
02 BLANK SCREEN.
02 LINE 4 VALUE ‘NAMA KARYAWAN :’.
02 COLOMN PLUS 1 PIC X(20) FROM NAMA.
02 LINE 6 VALUE ‘JABATAN :’.
02 COLOMN PLUS 1 PIC X(10) FROM JABATAN.
02 LINE 8 VALUE ‘GAJI : Rp.’.
02 COLOMN PLUS 1 PIC 9(7) FROM GAJI.
PROCEDURE DVISION.
MULAI.
DISPLAY LAYAR-TAMPILAN.
STOP RUN.
NAMA: BADU
JABATAN: SALESMAN
GAJI:Rp. 2500000
2. TO
TO clause digunakan untuk menerima isi data
Contoh :
IDENTIFICATION DIVISION.
PROGRAM-ID. BUNGA-MAJEMUK.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 DATA-MASUKKAN.
02 AWAL
PIC 9(6) VALUE 0.
02 BUNGA
PIC 9(3)VALUE 0.
02 PERIODE
PIC 99
VALUE 0.
02 AKHIR
PIC 9(6)V99VALUE 0.
SCREEN SECTION.
01 LAYAR-MASUKAN.
02 BLANK SCREEN.
02 LINE 5 COLOMN 3 VALUE ‘ NILAI AWAL :’.
02 COLOMN 20 PIC 9(6) TO AWAL.
02 LINE 7 COLOMN 3 VALUE ‘ SUKU BUNGA %:’.
02 COLOMN 20 PIC 9(3) TO BUNGA.
02 LINE 9 COLOMN 3 VALUE ‘ JUMLAH PERIODE:’.
02 COLOMN 20 PIC 9(2) TO PERIODE.
01 LAYAR-HASIL.
02 LINE 15 COLOMN 3 VALUE ‘ HASIL PERHITUNGAN:’.
02 LINE 17 COLOMN 3 PIC 9(6)V99 FROM AKHIR.
PROCEDURE DIVISION.
MULAI.
DISPLAY LAYAR-MASUKAN.
ACCEPT LAYAR-MASUKAN.
COMPUTE AKHIR = AWAL * (1 + BUNGA/100) ** PERIODE.
DISPLAY LAYAR-HASIL.
STOP RUN.
NILAI AWAL
: 000000
SUKU BUNGA %:
JUMLAH PERIODE:
NILAI AWAL
: 010000
SUKU BUNGA %: 015
JUMLAH PERIODE: 05
HASIL PERHITUNGAN :
020113.57
3. FROM …TO
FROM … TO clause digunakan bersama-sama, penggunakan ini dimaksud untuk tujuan menampilkan terlebih dahulu nilai dari FROM data item sebelumnya, yang kemudian dapat dimasukkan nilai data baru ke TO tempat lokasi data item tersebut.
Contoh :
IDENTIFICATION DIVISION.
PROGRAM-ID. BUNGA-MAJEMUK.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 DATA-MASUKKAN.
02 AWAL
PIC 9(6) VALUE 0.
02 BUNGA
PIC 9(3)VALUE 0.
02 PERIODE
PIC 99
VALUE 0.
02 AKHIR
PIC 9(6)V99VALUE 0.
SCREEN SECTION.
01 LAYAR-MASUKAN.
02 BLANK SCREEN.
02 LINE 5 COLOMN 3 VALUE ‘ NILAI AWAL :’.
02 COLOMN 20 PIC 9(6) FROM AWAL TO AWAL.
02 LINE 7 COLOMN 3 VALUE ‘ SUKU BUNGA %:’.
02 COLOMN 20 PIC 9(3) FROM BUNGA TO BUNGA.
02 LINE 9 COLOMN 3 VALUE ‘ JUMLAH PERIODE:’.
02 COLOMN 20 PIC 9(2) FROM PERIODE TO PERIODE.
01 LAYAR-HASIL.
02 LINE 15 COLOMN 3 VALUE ‘ HASIL PERHITUNGAN:’.
02 LINE 17 COLOMN 3 PIC 9(6).99 FROM AKHIR.
PROCEDURE DIVISION.
MULAI.
DISPLAY LAYAR-MASUKAN.
ACCEPT LAYAR-MASUKAN.
COMPUTE AKHIR = AWAL * (1 + BUNGA/100) ** PERIODE.
DISPLAY LAYAR-HASIL.
STOP RUN.
NILAI AWAL
: 000000
SUKU BUNGA %: 000
JUMLAH PERIODE: 00
NILAI AWAL
: 010000
SUKU BUNGA %: 015
JUMLAH PERIODE: 05
HASIL PERHITUNGAN :
020113.57
4. USING
USING Clause digunakan sebagai pengganti FROM clause atau FROM.. TO bersama
USING ->FROM clause jika hanya dipergunakan statement DISPLAY pada Procedure Division
USING-> FROM … TO clause bila digunakan statement DISPLAY dan ACCEPT pada Procedure Division
Contoh :
IDENTIFICATION DIVISION.
PROGRAM-ID. BUNGA-MAJEMUK.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 DATA-MASUKKAN.
02 AWAL
PIC 9(6) VALUE 0.
02 BUNGA
PIC 9(3)VALUE 0.
02 PERIODE
PIC 99
VALUE 0.
02 AKHIR
PIC 9(6)V99VALUE 0.
SCREEN SECTION.
01 LAYAR-MASUKAN.
02 BLANK SCREEN.
02 LINE 5 COLOMN 3 VALUE ‘ NILAI AWAL :’.
02 COLOMN 20 PIC 9(6) USING AWAL BLANK WHEN ZERO.
02 LINE 7 COLOMN 3 VALUE ‘ SUKU BUNGA %:’.
02 COLOMN 20 PIC 9(3) USING BUNGA BLANK WHEN ZERO.
02 LINE 9 COLOMN 3 VALUE ‘ JUMLAH PERIODE:’.
02 COLOMN 20 PIC 9(2) USING PERIODE BLANK WHEN ZERO.
01 LAYAR-HASIL.
02 LINE 15 COLOMN 3 VALUE ‘ HASIL PERHITUNGAN:’.
02 LINE 17 COLOMN 3 PIC 9(6).99 USING AKHIR.
PROCEDURE DIVISION.
MULAI.
DISPLAY LAYAR-MASUKAN.
ACCEPT LAYAR-MASUKAN.
COMPUTE AKHIR = AWAL * (1 + BUNGA/100) ** PERIODE.
DISPLAY LAYAR-HASIL.
STOP RUN.
NILAI AWAL
: 10000
SUKU BUNGA %: 15
JUMLAH PERIODE: 5
HASIL PERHITUNGAN :
020113.57
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.
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.
LEVEL NUMBER
Level Number atau nomer jenjang adalah suatu nomor yang menunjukkan dari data item dalam suatu record.
Level Number yang dipakai terdiri dari :
1. Level number 01 untuk mengawali keterangan dari record.
2. Level number 02 sampai dengan 49 digunakan untuk mengawali keterangan dari data item boleh dipilih salah satu dari nomor level tersebut.
3. Level number 66 digunakan untuk RENAMES.
4. Level number 77 digunakan untuk mengawali data item yang berdiri sendiri.
5. Level number 88 digunakan mengawali suatu nama kondisi.
LEVEL NUMBER: Adalah suatu nomer yang menunjukkan jenjang dari data item dalam suatu record. Makin besar nomer levelnya, makin rendah jenjang tingkatannya.
Level Number yang dipakai terdiri dari :
· Level Number 01 ( untuk mengawali keterangan dari record.
· Level number 02 – 49 ( digunakan untuk mengawali keterangan dari data item. Contoh :
· Level number 66 untuk RENAMES
Contoh :
· Level number 77 untuk mengawali data item yang berdiri sendiri
· Level number 88 untuk mengawali suatu nama kondisi
Contoh :
CONTOH PROGRAM PENGGUNAAN LEVEL NUMBER
PICTURE EDITING
· Berfungsi untuk melakukan perubahan bentuk dari data yang tersimpan (edit data) di dalam memori, sehingga data yang tercetak nantinya akan lebih mudah dimengerti, dibaca, dan mempunyai susunan yang lebih baik dari data aslinya.
· Berlaku hanya untuk numerik, kecuali Picture editing karakter B.
Jenis-jenis Picture Editing
·
Untuk menggantikan angka 0 dimuka tidak tampak pada waktu pencetakkan..
Contoh : Space (Jml Pic9(6) | Space Edit ( Jml-O Pic Z(6)
Data Sumber
( 5000
Hasil Sebelum di Edit ( 005000
Hasil Setelah di Edit ( 5000
·
Menambahkan karakter $ saat pencetakan yang terletak paling ujung kiri.
Contoh : Space ( Jml Pic 9(6) | Space Edit ( Jml-O Pic $Z(6)
Data Sumber
( 5000
Hasil Sebelum di Edit(005000
Hasil Setelah di Edit($ 5000
Untuk menunjukkan letak posisi dari titik desimal pada saat pencetakan. Dapat dipertukarkan kedudukannya dengan cara mendefinisikan terlebih dahulu :
DATA DIVISION.
WORKING-STORAGE SECTION.
SPECIAL-NAMES. DECIMAL POINT IS COMMA.
Contoh :
Data Sumber
Picture
Hasil Edit
123^45
999.99
123.45
·
Menambahkan tanda – pada posisi paling kiri pada saat pencetakan jika data aslinya bernilai negatif, jika bernilai positif akan digantikan dengan blank.
·
Jika data aslinya bernilai positif tanda + akan tampak pada posisi paling kiri. Tetapi jika data aslinya bernilai negatif, maka yang akan muncul bukan karakter + tetapi karakter -.
Untuk data yang tidak bertanda, dianggap sebagai bernilai positif.
·
Menambahkan karakter DB atau CR pada posisi paling kanan dimana hanya berlaku untuk data aslinya yang bernilai . Jika data bernilai positif tidak akan tampak.
Contoh :
Sumber Data
Picture
Hasil Edit
12345
99999DB
12345DB
12345
99999CR
12345CR
·
Khusus untuk mengedit nilai data bukan numeric. Akan menyebabkan nilai blank disisipkan pada posisi dimana karakter B tsb berada.
Contoh :
Sumber Data
Picture
HasilEdit
131016
99BB99BB99
13 10 16
·
Untuk menggantikan nilai 0 (nol) yang muncul pada posisi paling kiri dengan karakter *.
Digunakan untuk maksud pencegahan terhadap penambahan angka yang tidak diinginkan di suatu nilai.
Contoh : Space ( Jml Pic 9(6) | Space Edit ( Jml-O Pic ******
Data Sumber
( 400
Hasil Sebelum di Edit(000400
Hasil Setelah di Edit(***400
·
Untuk menyisipkan karakter 0 pada posisi dimana k0arakter 0 tsb berada.
Contoh :
Sumber Data
Picture
Hasil Edit
12345
999900900
123400500
·
Untuk menyisipkan karakter / pada posisi dimana karakter / itu berada.
Contoh :
Sumber Data
Picture
Hasil Edit
131016
99/99/99
13/10/16
Contoh Program Penggunaan Picture Editing :
PICTURE CLAUSE
Digunakan untuk menjelaskan bentuk data yang akan dimasukkan, tetapi juga untuk menampilkan bentuk data output.
Bentuk dari clause ini :
Picture
PIC
[isi] karakter
Picture karakter 9.
· Menunjukkan posisi sebuah memory hanya dapat mengandung nilai-nilai numerik saja.
· Bersifat rata kanan (right justified)
Contoh :
Bentuk PIC
Panjang
Contoh Data
Tersimpan di memory
Di prosedur
02 GAJI PICTURE IS 999
3
456
456
456
02 KAS PIC 9(5)
5
4250
04250
04250
Picture Karakter V.
· Menunjukkan letak anggapan dari titik desimal.
· Karakter ini hanya boleh ada satu dalam setiap picture.
Contoh :
Bentuk PIC
Panjang
Contoh Data
Tersimpan di memory
Di prosedur
02 HARGA PIC 999V99
5
234.50
23450
234^50
03 LABA PIC 9(4)V9(3)
7
12.345
0012345
0012^345
Picture Karakter P
· Digunakan dengan gabungan PICTURE karakter V, yang digunakan untuk menimbulkan angka 0.
Contoh :
Bentuk PIC
Panjang
Contoh Data
Tersimpan di memory
Di prosedur
02 PIUTANG PIC 9PPV
1
3
3
300^
03 KAS PIC VPPP9(2)
2
15
15
^00015
Picture Karakter S
· Digunakan untuk menyimpan nilai tanda negatif pada angka numeric 9.
· Bersifat rata kanan (Right Justified)
· Karakter S tidak dihitung sebagai panajang field
Contoh :
Bentuk PIC
Panjang
Contoh Data
Tersimpan di memory
Di prosedur
02 SALDO PIC S99
2
-25
25
- 25
02 SALDO PIC S99V9
3
-25
250
-250
Picture K-arakter A
· Digunakan untuk menyimpan nilai data huruf (alfabetik).
· Bersifat rata kiri (left justified)
· Bila nilai data lebih panjang maka dari lokasi fieldnya maka nilai data akan dipotong mulai dari kanan.
Contoh :
Bentuk PIC
Panjang
Contoh Data
Tersimpan di memory
Di prosedur
02 NAMA PIC A(6)
6
SAYA
SAYAbb
SAYAbb
03 NAMA PIC A(2)
2
SA
SA
SA
05 PIC NAMA PIC A(4)
4
SAYANG
SAYA
SAYA
Picture Karakter X
· Menunjukkan posisi alphanumerik yang disimpan pada field.
· Bersifat rata kiri ( Left justified )
Contoh :
Bentuk PIC
Panjang
Contoh Data
Tersimpan di memory
Di prosedur
02 KODE PIC X(5)
5
D2343
D2343
D2343
07 KODE PIC X(5)
5
C16
C16BB
C16BB
09 KODE PIC X(5)
5
B78901
B7890
B7890
Latihan
Buat sebuah Program untuk melakukan pemasukan data pegawai berupa :
Nopeg
Nama
Alamat
Nama-jalan
No-rumah
Kota
Golongan
Status Kepegawaian
Gaji
Setelah di input kan maka tampilkan menggunakan Picture Editing,….DATA DIVISION I
· Qualification
Qualifier untuk membedakan keunikan pada nama – data , yang nantinya akan tampak pada PROCEDURE DIVISION.Sehingga nama-data +yang telah dipergunakan dapat dipergunakan lagi untuk nilai yang lain.
Bentuk Umumnya :
Contoh :
Pada DATA DIVISION :
01 MASTER.
02 BARANG-A.
03 JUMLAH
PIC 9(3).
03HARGA-SATUANPIC 9(5).
02 BARANG-B.
03 JUMLAH
PIC9(3).
03 HARGA-SATUANPIC 9(4).
01 TRANSAKSI.
02 BARANG-A.
03 JUMLAH
PIC 9(3).
03HARGA-SATUANPIC 9(5).
02 BARANG-B.
03 JUMLAH
PIC 9(3).
03 HARGA-SATUANPIC 9(4).
Pada PROCEDURE DIVISION :
COMPUTE TOTAL-B = JUMLAH OF BARANG-B OF
TRANSAKSI * HARGA SATUAN OF
BARANG-B OF TRANSAKSI.
Ket : Maksimum jumlah tingkatan qualification untuk nama-data adalah sejumlah 5 tingkat.
misalnya :
A OF B OF C OF D OF E OF F
ATAU :
A IN B IN C IN D IN E IN F
RECORD DATA JAMAK
Record data yang jamak (multiple data records) adalah record data yang lebih dari 1 pada file yang sama. Record yang satu dengan record yang lainnya akan mempunyai posisi di storage yang sama.
Record data jamak ini digunakan untuk data yang direkamkan di file, baik organisasinya secara sequential maupun organisasinya secara indexed.
Contoh Program Record Data Jamak :
Ket :Pada program diatas terdapat 2 record yaitu record PEMBELIAN dan record PENJUALAN, direkamkan pada 1 file yaitu STOCK-FILE.
Nama Kondisi
Nama kondisi adalah nama yang dibuat oleh programmer yang berada pada data division sebagai fasilitas proses di procedure division.
Nama kondisi ditulis dimulai dengan level number 88.
Bentuk Umumnya :
CONTOH :
Didalam PROCEDURE DIVISION dapat dilakukan penyelesaian sebagai berikut :
Dengan dipergunakannya nama-kondisi, bentuk penyeleksian dapat juga langsung berupa :
Keterangan :
Nama Kondisi tidak mempunyai PICTURE, karena PICTUREnya mengikuti elemen data yang diikutinya.Sehingga nilai literal yang dimasukkan ke nama-kondisi harus sesuai dengan field dan type data itemnya.
Contoh :
02STATUSPIC X .
88 KAWIN VALUE 1.
88 BELUM VALUE 2.
VALUE Clause
Digunakan untuk memasukkan nilai awal pada storage.
Biasanya terdapat pada WORKING-STORAGE SECTION.
Bentuk Umum :
Contoh Penggunaan Value Clause :
REDEFINES CLAUSE.
Digunakan untuk menempatkan nama data yang berlainan pada lokasi storage yang sama. Dengan kata lain satu lokasi storage ditempati lebih dari 1 nama data.
Contoh Penggunaan Redefines Clause :
Keterangan :
1. REDEFINES clause dapat digunakan untuk group data item, tetapi tidak boleh digunakan pada level number 01 yang nama recordnya sudah disebut di FILE SECTION.
Bila hal ini diinginkan,maka harus digunakan multiple data records, yang mempunyai efek sama dengan REDEFINES.
2. REDEFINES juga tidak boleh terdapat pada level number 66 atau 88.
REDEFINES clause tidak dapat digunakan untuk data item individu yang lainnya.
3. Bila ada Clause yang lain, REDEFINES clause harus merupakan clause yang pertama pada data-description atau pada record-description entry.
4. REDEFINES clause tidak dapat dipergunakan untuk nama data yang levelnya berbeda. Level disini yang dimaksud bukan level number, tetapi jenjangnya.Level number boleh berbeda,asal level (tingkatan jenjangnya) sama.
5. Value clause tidak boleh ada bersama-sama dengan REDEFINES clause.
Renames Clause
Menyediakan programmer kemampuan untuk memberikan tambahan deskripsi tentang penggolongan kembali elemen-elemen data item.
Dimulai dengan Level Number 66.
Contoh :
RECORD-B adalah posisi dari storage yang terdiri dari field B dan C, yang juga dimiliki oleh RECORD-A
Keterangan :
1. RENAMES clause hanya dapat dipakai untuk elemen-elemen data item yang berurutan.
2. RENAMES clause harus berada pada posisi paling akhir dari deskripsi record ( record description).
3. Untuk MS-COBOL , RENAMES clause tidak tersedia.
· BLANK WHEN ZERO clause
Dipakai untuk menghilangkan bentuk seperti : -0 atau + atau – saja ( pemakaian pada picture editing). Bentuk tersebut akan memperjelek penampilan output.
Contoh :
Data
Picture
Hasil output
000
02 HASIL PIC ++++
+
000
02 HASIL-OUT PIC ++++ BLANK WHEN ZERO
blank
· JUSTIFIED RIGHT clause
· Digunakan hanya untuk data item alphabetik atau alphanumerik saja.
· Seperti telah kita ketahui data alphabetik dan alphanumerik disimpan di storage dengan posisi rata sebelah kiri.Bila diinginkan posisi yang rata disebelah kanan,maka digunakan clause ini.
Contoh :
Sebelum : 77 NAMA PIC X(9) VALUE ‘RANI’.
D
E
W
I
Sesudah : 77 NAMA PIC X(9) VALUE ‘ RANI’ justified right.
Atau
77 NAMA PIC X(9) VALUE ‘RANI’ JUST RIGHT.
D
E
W
I
Contoh lainnya :
02 JUDUL PIC X(10) JUST RIGHT.
MOVE ‘ NERACA’ TO JUDUL.
· SYNCHRONIZED clause
· Digunakan untuk mengalokasikan data secara efektif di storage.
· Tidak boleh digunakan pada group data item.
· Untuk MS-COBOL, clause ini tidak berfungsi, tetapi boleh ditulis sebagai dokumen saja.
· Bentuk Umumnya :
Contoh :
01 RECORD-A.
02 FIELD-1
PIC X(4).
02 FIELD-2
PIC X(3).
02 FIELD-3
PIC X(5).
Statemen berikutnya :
MOVE ‘AAAA’ TO FIELD-1
MOVE ‘BBB’ TO FIELD-2
MOVE ‘CCCCC’ TO FIELD-3.
OUTPUTNYA :
AAAABB
BCCCCC
1 WORD 1 WORD
Contoh pemakaian SYNC :
01 RECORD-A.
02 FIELD-1
PIC X(4) SYNC LEFT.
02 FIELD-2
PIC X(3) SYNC LEFT.
02 FIELD-3
PIC X(5) SYNC RIGHT.
OUTPUTNYA:
AAAA
BBB
CCCCC
· USAGE Clause
· Menunjukkan bentuk dari data yang disimpan di memory komputer.
· Data numerik dapat ditempatkan pada memori komputer dengan 2 cara, yaitu :
1. Mode Karakter (Character mode) dengan DISPLAY
2. Mode Numerik (Numeric mode) dengan COMPUTATIONAL
· Bentuk Umum :
COMPUTATIONAL dapat disingkat menjadi COMP.
Keterangan :
DISPLAY digunakan untuk menyimpan data yang bentuknya bersifat mode karakter.
COMPUTATIONAL untuk menyimpan data numerik ke dalam kode binary.
Pangkat
Desimal
Binary
20
1
1
21
2
10
22
4
100
23
8
1000
24
16
10000
25
32
100000
26
64
1000000
27
128
10000000
28
256
100000000
29
512
1000000000
210
1024
10000000000
Dst
Dst
dst
COMPUTATIONAL-1.
Digunakan untuk menyimpan data numerik dalam bentuk mode numerik floating point ketepatan tunggal. Bentuk ini jarang sekali digunakan dan tidak tersedia pada MS-COBOL.
COMPUTATIONAL-2.
COMPUTATIONAL-2, sama dengan bentuk COMPUTATIONAL-1 tetapi dengan ketepatan yang lebih kecil. Juiga jarang digunakan dan tidak tersedia pada MS-COBOL.
COMPUTATIONAL-3.
Digunakan untuk menyimpan data numerik yang digitnya dalam bentuk dipak(packed), yang maksudnya tiap byte tidak berisi dengan 1 digit tetapi dapat berisi 2 digit. Data numerik yang disimpan dalam bentuk ini disebut dengan packed decimal atau internal decimal.
INDEX
USAGE IS INDEX menunjukkan bahwa data-item akan digunakan sebagai indeks dan akan disimpan dalam bentuk kode binary seperti pada USAGE IS COMPUTATIONAL-0. Kalau USAGE IS INDEX dipergunakan, maka PICTURE clause tidak boleh digunakan.
· SIGN clause
Digunakan untuk mengatur tanda operasi yang ada pada data numerik untuk data-item external decimal ( dengan USAGE IS DISPLAY).
Clause ini digunakan hanya untuk data-item numerik yang mempunyai PICTURE karakter S.
Bentuk Umum :
Keterangan :
1. SIGN IS LEADING
Tanda operasi (+ atau - ) diletakkan pada posisi paling kiri tanpa adanya posisi storage tambahan.
Contoh :
02 NILAI PIC S9(4) SIGN IS LEADING.
2. SIGN IS LEADING SEPARATE CHARACTER.
Tanda operasi ( + atau -) diletakkan pada posisi paling kiri dengan menambahkan sebuah posisi storage tambahan.
Contoh :
02 NILAI PIC S9(4) SIGN IS LEADING SEPARATE.
3. SIGN IS TRAILING
Tanda operasi (+ atau - ) diletakkan pada posisi paling kanan tanpa adanya posisi storage tambahan.
Contoh :
02 NILAI PIC S9(4) SIGN IS TRAILING. Atau
02 NIALI PIC S9(4).
Note :
Kalau SIGN clause tidak dipergunakan maka dianggap sebagai SIGN IS TRAILING.
4. SIGN IS TRAILING SEPARATE CHARACTER
Tanda operasi ( + atau -) diletakkan pada posisi paling kanan dengan menambah sebuah posisi storage tambahan.
Contoh :
02 NILAI PIC S9(4) SIGN IS TRAILING SEPARATE..
Penjelasan :
a. Penggunaan SEPARATE CHARACTER akan menyebabkan bertambahnya ukuran storage dari data item dengan 1 byte karakter, jadi akan lebih boros,dianjurkan untuk tidak menggunakannya.
b. Penggunaan LEADING akan menyebabkan operasi object program kurang efektif, jadi dianjurkan tidak menggunakannya.
c. Yang terbaik adalah tidak menggunakan clause ini atau menggunakan SIGN IS TRAILING.
· OCCURS clause
Digunakan untuk tujuan mengulang data-item didalam suatu record beberapa kali, yang membentuk suatu label.
Bentuk:
· OCCURS clause tidak boleh digunakan pada level number 01 atau level number 77. Digunakan pada FILE SECTION, WORKING-STORAGE SECTION atau LINKAGE SECTION.
· Integer TIMES menunjukkan berapa kali data-item akan diulang didalam suatu record.
· ASCENDING atau DESCENDING, menunjukkan bagaimana data tersebut diatur tergantung dari nilainya, apakah urut dari kecil ke besar ( ASCENDING) atau dari besar ke kecil ( DESCENDING).
· KEY IS dan INDEXED BY menunjukkan nama kunci yang dipergunakan pada statement SEARCH untuk mencari data yang ada di tabel.
OCCURS clause digunakan untuk membentuk suatu tabel (table) atau kumpulan (list) dari data-item atau larik (array).
Tabel (table)adalah sekumpulan nilai data yang membentuk suatu set.
Bentuk Tabel sbb :
1. Tabel beridmensi Satu ( one-dimensional table)
2. Tabel berdimensi dua ( two-dimensional table).
3. Tabel berdimensi Tiga (three-dimensional table).
PROCEDURE DIVISION
Merupakan divisi ke 4 dan yang terakhir dari program COBOL. Semua instruksi-instruksi ditulis pada PROCEDURE DIVISION, sehingga divisi ini merupakan inti dari program COBOL.Statement yang ada di PROCEDURE DIVISION dibentuk dari verb (Kata kerja).
MOVE verb
Adalah perintah yang penting didalam program COBOL. Verb ini berguna untuk memindahkan data dari satu field ke lokasi field yang lain, sehingga input data dapat dimanipulasi untuk menghasilkan output.
Bentuk dari statement MOVE :
Contoh :
01 KIRIM.
02 UNIT
PIC 9(3).
02 HARGAPIC 9(5).
01 TERIMA.
02 UNIT-OUT
PIC 9(3).
02 HARGA-OUTPIC 9(7).
Statement dalam PROCEDURE DIVISION sebagai berikut :
· MOVE UNIT TO UNIT-OUT.
· Akan memindahkan nilai data dari field UNIT ke field UNIT-OUT
· MOVE KIRIM TO TERIMA.
· Akan memindahkan 8 karakter dari field group item KIRIM ke 10 karakter secara bersamaan ke field group item TERIMA.Group item yang dipindahkan akan diperlakukan sebagai nilai alphanumerik,tidak memandang bentuk dari PICTURE masing-masing elemen data item.Sehingga bersifat Left-justified.
Bentuk yang khusus dari MOVE verb adalah MOVE CORRSPONDING, dengan bentuk:
MOVE CORRESPONDING digunakan untuk memindahkan data dari group data item ke group data item yang lain yang bernama sama.
Contoh:
Pada DATA DIVISION :
01 RECORD-A.
02 APIC 9(3).
02 BPIC X(5).
02 CPIC A(9).
02 DPIC 9(4).
01 RECORD-B.
02 A PIC 9(3).
02 FILLER
PIC X(5).
02 BPIC X(6).
02 DPIC 9(4).
02 E PIC $$$.99.
02 FILLERPIC X(5).
Statement :
MOVE CORRESPONDING RECORD-A TO RECORD-B.
Artinya :
Akan memindahkan group item RECORD-A ke group data item RECORD-B yang mempunyai nama data yang sama.
Bentuk data yang dapat dipindahkan :
Bentuk data pengirim
Bentuk data penerima
Alphabetik
Alphanumerik
Numerik integer
Numerik non integer
Numerik yang di-edit
Alphabetik
Bisa
Bisa
Tidak
Alphanumerik
Bisa
Bisa
Bisa
Numerik integer
Tidak
Bisa
Bisa
Numerik non integer
Tidak
Tidak
Bisa
Numerik yang di-edit
Tidak
Bisa
Tidak
Keterangan :
· Bila data mengandung tanda + atau - , maka tanda tersebut akan diabaikan.
DISPLAY verb
Dipergunakan untuk menampilkan hasil di layar ataupun di printer.
Ada 3 bentuk statement DISPLAY :
Bentuk Statement DISPLAY ke-1 :
Bentuk Statement DISPLAY ke-2 :
Nama data adalah nama dari data item yang telah disebutkan pada DATA
DIVISION, yang panjang nilai datanya tidak boleh lebih dari 1920 karakter.
· Literal adalah bentuk yang akan ditampilkan, berupa bentuk yang sudah tetap, terletak diantara tanda petik dua (“ “) atau terletak di antara tanda petik tunggal(‘‘).
· UPON Clause dipergunakan bilamana hasil tidak ingin ditampilkan di layar, tetapi akan dicetak di printer.
· Nama-mnemonik adalah nama yang dibentuk oleh programmer sebagai penunjuk alat cetakan, yaitu printer.Nama-mnemonik ini harus sudah disebutkan pada CONFIGURATION SECTION dalam SPECIAL NAMES, PRINTER IS nama-mnemonik.
Contoh :
IDENTIFICATION DIVISION.
PROGRAM-ID. CELSIUS.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES. PRINTER IS CETAK.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 NILAI-CELCIUS.
02 CELCIUS PIC 99V99 VALUE 50.
01 NILAI-HASIL.
02 CELCIUS-OUT PIC 99.99.
02 FAHRENHET PIC ZZZ.99.
PROCEDURE DIVISION.
HITUNG.
COMPUTE FAHRENHET = 1.8 * CELCIUS + 32.
TAMPIL.
MOVE CELCIUS TO CELCIUS-OUT.
DISPLAY ‘ PERHITUNGAN :’ UPON CETAK.
DISPLAY ‘--------------------------‘ UPON CETAK.
DISPLAY CELCIUS-OUT, ‘DERAJAT CELSIUS ADALAH :’ UPON CETAK.
DISPLAY FAHRINHET, ‘ DERAJAT FAHRENHET’ UPON CETAK.
SELESAI.
STOP RUN.
Bentuk Statement DISPLAY ke-3 :
-Posisi-tampilan merupakan posisi baris dan kolom tertentu dari hasil yang akan ditampilkan di layar di printer.
Posisi tampilan ini mempunyai bentuk :
· LIN and COL adalah register khusus MS-COBOL, yang merupakan COBOL reserved words, jadi tidak disebutkan pada DATA DIVISION.
· Setelah koma “,” harus diikuti oleh 1 blank untuk memisahkan letak posisi baris dan posisi kolomnya.
· Contoh :
DISPLAY (15, 5) “HALLO SAYA KOMPUTER”.
· ERASE adalah COBOL reserved word, yang kalau dipergunakan dalam DISPLAY dan posisi- tampilan ditentukan,maka mulai dari posisi tampilan tersebut untuk 1 baris akan dihapus dari tampilan sebelumnya.
Contoh :
DISPLAY (3, 10) ERASE.
ACCEPT verb
Digunakan untuk memasukkan data lewat layar sewaktu program tersebut dijalankan(pada waktu runtime).
Ada 4 bentuk statement ACCEPT :
Bentuk statement ACCEPT ke-1 :
Data yang dimasukkan, akan ditempatkan pada nama-data setelah ACCEPT, yang bentuk, jenis dan panjangnya sudah ditentukan dalam DATA DIVISION.
Bentuk Statement ACCEPT ke-2
Apabila ON ESCAPE diikutsertakan, maka statement-imperative yang mengikutinya akan dikerjakan.
Contoh :
ACCEPT LAYAR-DATA ON ESCAPE GO TO MASUKKAN-DATA
Bentuk Statement ACCEPT yang ke-3 :
· Posisi-layar menunjukkan letak dari posisi data yang akan dimasukkan pada layar.
Posisi-layar ini mempunyai bentuk :
· ZERO-FILL phrase
Bila posisi-posisi field data-item penerima data tidak diisi dengan data (langsung di tekan tombol RETURN), maka akan terisi dengan nilai nol.
· SPACE FILL phrase
Bila posisi-posisi field data-item di layar tidak diisi dengan data (langsung ditekan tombol RETURN), maka akan terisi dengan nilai nol.
· LEFT-JUSTIFY phrase
Tidak berfungsi dalam MS-COBOL.
· RIGHT-JUSTIFY phrase
Menyebabkan setelah data dimasukkan, hasil akhir yang tampak dilayar akan rata di sebelah kanan.
· TRAILING – SIGN phrase
Menyebabkan tanda operasi + atau – tampak diposisi paling kanan dari field data input. Biasanya tanda tersebut akan menempati posisi paling kiri.
· PROMPT phrase
Menyebabkan tampilan untuk field data-item penerima berbentuk nol untuk posisi digit,titik untuk decimal point dan spasi untuk tanda operasi + atau -.
· UPDATE phrase
Menyebabkan tampilan untuk field data-item penerima berbentuk nilai awal dari field penerima tersebut.UPDATE phrase ini berfungsi sama dengan FORM dan TO atau USING clause pada SCREEN SECTION dalam DATA DIVISION.
· LENGTH-CHECK phrase
Menyebabkan penekanan tombol carriage-return tidak berfungsi kalau semua posisi field penerima belum penuh semua.
LENGTH-CHECK phrase berfungsi sama dengan FULL clause pada SCREEN SECTION dalam DATA DIVISION.
· EMPTY-CHECK phrase
Menyebabkan penekanan tombol carriage-return tidak berfungsi kalau tidak paling sedikit sebuah karakter atau angka yang bukan sifatnya terminator sudah dimasukkan.
EMPTY – CHECK phrase berfungsi sama dengan REQUIRED clause pada SCREEN SECTION dalam DATA DIVISION.
· AUTO-SKIP phrase
Menyebabkan proses pemasukkan data bergeser ke field penerima data lain berikutnya, bila posisi field penerima sudah penuh terisi tanpa harus ditekan tombol carriage-return atau tombol terminator yang lainnya.
AUTO-SKIP berfungsi sama dengan AUTO clause pada SCREEN SECTION dalam DATA DIVISION.
· NO-ECHO phrase
Menyebabkan data yang dimasukkan, tidak tampak di layar.
NO-ECHO berfungsi sama dengan SECURE clause pada SCREEN SECTION dalam DATA DIVISION.
· BEEP phrase
Menyebabkan bunyi bel sewaktu data dimasukkan.
BEEP berfungsi sama dengan BELL clause pada SCREEN SECTION dalam DATA DIVISION.
CONTOH :
ACCEPT (3 ,2 ) KODE WITH UPDATE.
ACCEPT (5 ,5 ) NPM WITH LENGTH CHECK.
Bentuk Statement ACCEPT yang ke-4 :
· DATE, akan mendapatkan 6 digit nilai standard dengan bentuk TTBBHH ( 2 digit untuk tahun. 2 digit untuk bulan dan 2 digit untuk hari) dari system-date.
· DAY,akan mendapatkan 5 digit nilai “Julian Date” dengan bentuk TTJJJ ( 2 digit untuk tahun dan 3 Digit menunjukkan jumlah hari dalam setahun untuk tanggal tersebut) dari System-date.
· TIME, akan mendapatkan 8 digit nilai dengan bentuk JJMMDDSS.
JJ menunjukkan 2 digit jam, berkisar dari nilai 00 sampai dengan bentuk 23.
MM menunjukkan 2 digit menit, berkisar dari nilai 00 sampai dengan 59.
DD menunjukkan 2 digit detik, berkisar dari nilai 00 sampai dengan 59.
SS menunjukkan 2 digit seperseratus detik,berkisar dari 00 sampai dengan 99.
· ESCAPE KEY, akan mendapatkan 2 digit kode yang dihasilkan dari hasil penekanan tombol-tombol terminator.Terminator adalah tombol yang digunakan untuk mengakhiri pengerjaan statement ACCEPT.
Tombol-tombol terminator
Nama Tombol
Nilai
BackTab
99
Escape
01
Carriage-Return
00
Function key 1
02
Function key 2
03
…
…
…
…
Function key 10
11
Contoh Program Bentuk statement ACCEPT :
OUTPUT :
TANGGAL ADALAH: 860807
JULIAN ADALAH : 86219
JAM ADALAH : 15305834
CONTOH 2 :
IDENTIFICATION DIVISION.
PROGRAM-ID. MENU.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 KUBUS.
02 SISI
PIC 99V99.
02 ISI-KUBUSPIC Z(6).99.
01 SILINDER.
02 JARI-JARI
PIC 99V99.
02 TINGGI
PIC 99V99
02 ISI-SILINDERPIC Z(6).99.
01 PERSEGI-PANJANG.
02 PANJANG
PIC 99V99.
02 LEBAR
PIC 99V99.
02 LUAS
PIC Z(6).99.
77TEKAN PIC 99.
77 PILIH PIC X.
SCREEN SECTION.
01 HAPUS LAYAR.
02 BLANK SCREEN.
01 LAYAR-MENU.
02 LINE 3 COLOMN 20 VALUE ‘ << MENU>>’.
02 LINE 6 COLOMN 20 VALUE’ F1. MENGHITUNG ISI KUBUS’.
02 LINE 8 COLOMN 20 VALUE’ F2. MENGHITUNG ISI SILINDER’. 02 LINE10 COLOMN 20 VALUE’F3. MENGHITUNG LUAS P.P’.
02 LINE 12 COLOMN 20 VALUE’ ESC. SELESAI’.
02 LINE 20 COLOMN 20 VALUE’ PILIH YANG MANA?’.
02 LINE 20 COLOMN 40 PIC X TO PILIH.
PROCEDURE DIVISION.
TAMPILKAN-MENU.
DISPLAY HAPUS-LAYAR.
MOVE SPACE TO PILIH.
DISPLAY LAYAR-MENU.
ACCEPT LAYAR-MENU.
ACCEPT TEKAN FROM ESCAPE KEY
DISPLAY HAPUS-LAYAR.
SELEKSI-PILIHAN.
IF TEKAN = 1.
GO TO SELESAI.
IF TEKAN = 2
DISPLAY(2,5) ‘SISI KUBUS :’
ACCEPT (2, ) SISI WITH PROMPT
COMPUTE ISI-KUBUS = SISI**3
DISPLAY(4,5) ‘ISI KUBUS ADALAH=’ISI-KUBUS
GO TO KEMBALI-KE-MENU.
IF TEKAN = 3
DISPLAY(2,5) ‘JARI-JARI LINGKARAN :’
ACCEPT (2, ) JARI-JARI WITH PROMPT
DISPLAY(3,5) ‘TINGGI SILINDER :’
ACCEPT (3, ) TINGGI WITH PROMPT
COMPUTE ISI-SILINDER = 3.14159 * JARI-JARI **2 *TINGGI
DISPLAY(5,5) ‘ISI SILINDER ADALAH=’ISI-SILINDER
GO TO KEMBALI-KE-MENU.
IF TEKAN = 4
DISPLAY(2,5) ‘PANJANG :’
ACCEPT (2, ) PANJANG WITH PROMPT
DISPLAY(3,5) ‘LEBAR :’
ACCEPT (3, ) LEBAR WITH PROMPT
COMPUTE LUAS = PANJANG * LEBAR
DISPLAY(5,5) ‘LUAS PERSEGI PANJANG ADALAH=LUAS
GO TO KEMBALI-KE-MENU.
ELSE
GO TO TAMPILKAN-MENU.
KEMBALI-KE-MENU.
DISPLAY (20,5) TEKAN SEMBARANG UNTUK KEMBALI KE MENU
MOVE SPACE TO PILIH
ACCEPT (20, ) PILIH WITH AUTO-SKIP
GO TO TAMPILKAN-MENU.
SELESAI.
STOP RUN.
<< MENU >>
FI. MENGHITUNG ISI KUBUS
F2. MENGHITUNG ISI SILINDER
F3. MENGHITUNG LUAS P.P
ESC. SELESAI
PILIH YANG MANA ? _
BILA DIPILIH F1, MAKA:
SISI KUBUS ? 05.00
ISI KUBUS ADALAH = 125.00
TEKAN SEMBARANG UNTUK KEMBALI KE MENU
STOP verb
Digunakan untuk menghentikan program baik secara permanen maupun secara sementara saja, yang kemudian proses program dapat dianjurkan kembali.
Bentuknya :
STOP RUN akan menyebabkan proses program berhenti secara permanen, sedang bentuk STOP yang diikuti oleh literal proses akan berhenti secara permanen. Bila menekan sembarang tombol, maka proses dilanjutkan.
Contoh :
STOP “ TEKAN SEMBARANG TOMBOL”.
statement arithmatika
Operasi Arithmatika pada COBOL dikerjakan dengan menggunakan pernyataan :
ADD
Digunakan untuk menambahkan 2 atau lebih operand numerik dan menyimpan hasilnya.
Suatu operand adalah suatu data item atau suatu literal numerik (konstanta).Operand yang digunakan untuk verb ini harus berupa nilai numerik.
Ada 2 Bentuk Umum dari Statemen ADD :
Bentuk ke-1 dari statement ADD :
Contoh :
ADD A TO B
b = b + a
ADD 30, B to a
a = a + 30 + b
add a, b to c
c = c + a + b
Bentuk ke-2 dari statement ADD :
Contoh :
add a, b giving c
c = a + b
add 4,5 giving a
a = 4 + 5
SUBSTRACT verb
Digunakan untuk membentuk statement operasi arithmatika pengurangan suatu nilai operand numerik.
Bentuk umumnya :
Contoh :
SUBSTRACT A FROM B
B = B – A
SUBSTRACT A, B FROM C
C = C – A – B
SUBSTRACT A FROM B GIVING C
C = B – A
SUBSTRACT 20 FROM 80 GIVING C
C = 80 – 20
SUBSTRACT 20, 15 FROM 100 GIVING B
B = 100 – 20 – 15 = 65
multiply
Digunakan untuk membentuk statement guna instruksi perkalian dua nilai numerik dan menyimpan hasilnya.
Bentuk Umum Statement MULTIPLY ke-1 :
Contoh :
MULTIPLY A BY B
B = B * A
Bentuk umum statement MULTIPLY ke-2 :
Contoh :
multiply a by d giving c
c = a * d
multiply a by 25 giving c
c = a * 25
DIVIDE
Digunakan untuk membentuk statement operasi pembagian .
Bentuk Statemen DIVIDE yang ke-1 :
Contoh :
DIVIDE A INTO B
B = B / A
Bentuk Statemen DIVIDE yang ke-2 :
CONTOH :
DIVIDE A INTO B GIVING C
C = B / A
Bentuk Statemen DIVIDE yang ke-3 :
CONTOH :
DIVIDE A BY B GIVING C
C = A / B
DIVIDE 100 BY 50 GIVING Z
Z = 2
Bentuk Statement DIVIDE yang ke-4 :
Contoh :
DIVIDE A INTO B GIVING HASIL REMAINDER SISA
BILA A = 2, B = 5 MAKA HASIL = 2 SISA =1
Bentuk Statemen DIVIDE yang ke-5 :
CONTOH :
DIVIDE A BY B GIVING D REMAINDER SISA
BILA A = 110 , B = 20 MAKA D = 5 SISA =10
COMPUTE
Mempergunakan 4 arithmatika verbs untuk perhitungan arithmatika tunggal dan sederhana.
Bentuk Umum :
CONTOH :
MULTIPLY A BY D GIVING C COMPUTE C = A * D
Y = A 5
COMPUTE Y = A**5
Y = A + B
COMPUTE Y = ( A + B ) / C
C
ROUNDED :
Untuk membulatkan hasil perhitungan yang berbentuk pecahan.
ON SIZE ERROR :
Digunakan jika hasil perhitungan untuk digit – digit bilangan utuh tidak bisa masuk seluruhnya pada field penerima.
OPERATOR ARITHMATIKA
Adalah simbol yang digunakan untuk membentuk suatu ungkapan arithmatika,yaitu :
Operator arithmatika
Maksud
jenjang
**
Pangkat
1
*
Kali
2
/
Bagi
2
+
Tambah
3
-
Kurang
3
OPERATOR RELATIONAL
Maksud
Operational Relational
Lebih kecil dari
<
LESS THAN
Lebih besar dari
>
GREATER THAN
Sama dengan
=
EQUAL TO
Lebih kecil atau sama dengan
NOT>
NOT GREATER THAN
Lebih besar atau sama dengan
NOT<
NOT LESS THAN
Tidak sama dengan
NOT=
NOT EQUAL TO
UNGKAPAN ARITHMATIKA
Adalah Kombinasi dari literal numerik, nama-data, operator arithmatika, kurung buka dan kurung tutup.
Penulisannya harus dipisahkan paling sedikit dengan sebuah blank antara literal numerik, nama-data dan operator arithmatika.
Contoh:
Maksud
Penulisan
A + B
A + B
A + B
C + D
( A + B ) / ( C + D )
A2
( B + C )3
A * * 2 / ( B + C ) * * 3
· Ungkapan Arithmatika banyak digunakan pada verb COMPUTE ( lihat bab 12).
PROCEDURE DIVISION
PROCEDURE DIVISION merupakan gambaran logika yg digunakan untuk menyelesaikan masalah, sehingga divisi ini merupakan inti dari program COBOL.
Adapun statement khusus yg digunakan pd divisi ini antara lain :
OPEN, READ, WRITE, REWRITE, CLOSE.
Bentuk umum :
PROCEDURE DIVISION.
[ buka-file ]
[ cetak-judul ]
[ alur proses ]
[ tutup file ]
OPEN verb
Digunakan untuk membuka file yg akan diakses.
Bentuk umum :
INPUT nama-file1 [ , nama-file2 ] ....
OUPUT nama-file3 [ , nama-file4 ] ....
OPEN I-O nama-file5 [ , nama-file6 ] ....
EXTEND nama-file7 [ , nama-file8 ] ....
Keterangan :
- OPEN INPUT
Menunjukkan file yg akan dibuka sbg file input, atau data yg akan dibaca ( READ ) dari file ini.
- OPEN OUTPUT
Menunjukkan file yg akan dibuka sbg file output atau data yg akan direkam ( WRITE ) pd file ini. Jika sudah ada data sebelumnya, maka data baru akan direkam & data yg lama akan terhapus.
Jika akan menambahkan data ke file yg sudah berisi data, maka file harus dibuka dengan OPEN EXTEND
- OPEN I-O
Menunjukkan file yg dibuka sebagai file-input dan juga sebagai file-output, yaitu file yg dibuka untuk tujuan sbg input & output sekaligus dapat dibaca & dimodifikasi.
CLOSE verb
Setelah operasi file selesai, maka semua file yg digunakan atau file yg masih terbuka harus ditutup kembali guna mencegah rusaknya struktur dari file.
Bentuk umum :
CLOSE nama-file1 [ WITH LOCK ][ , nama-file2 [ WITH LOCK ] ]
LOCK digunakan bila file yg sudah ditutup tidak dapat dibuka pd saat proses berlangsung, tetapi bila proses sudah dihentikan dan program dijalankan lagi file dapat dibuka kembali.
WRITE verb
Digunakan untuk menampilkan output ke printer atau merekam data ke file yg ditunjuk.
Bentuk umum :
WRITE nama-record [ FROM nama-data1 ]
BEFORE ADVANCING { nama-data2 / int } [ LINE ]
AFTER PAGE [ LINES ]
[ ; AT { END OF PAGE/EOP } statement imperatif ]
Keterangan :
- statement WRITE
Penulisan statement WRITE harus diikuti oleh nama-record dg level-number 01 pd FD di dalam DATA DIVISION yg dihubungkan dg suatu file yg dibuka.
Jika file yg dibuka berupa disk-file, maka statement WRITE berfungsi untuk merekam data ke dalam file tersebut. Jika file yg dibuka berupa print-file, maka data akan dicetak pd printer.
· BEFORE option
Menunjukkan banyaknya spasi baris pencetakan antara baris yg sedang dicetak pd kertas printer dg baris pencetakan selanjutnya.
- AFTER option
Menunjukkan banyaknya spasi baris pencetakan yg digunakan oleh BEFORE atau AFTER yg ditunjukkan oleh nilai integer atau nama-data2.
integer 0 tanpa spasi
integer 1 1 spasi baris
integer 2 2 spasi baris
integer 3 3 spasi baris
Jika BEFORE atau AFTER tidak digunakan, maka pencetakan diprinter akan dianggap sebagai AFTER ADVANCING 1 LINES
- PAGE option
Digunakan bila data yg dicetak sebelum atau sesudah printer menempati posisi pd halaman baru selanjutnya.
- END OF PAGE atau EOP phrase
Menunjukkan baris yg terakhir dalam 1 halaman pencetakan diprinter.
READ verb
Digunakan untuk membaca record yg ada pd file.
Bentuk umum :
READ nama-file RECORD [ INTO nama-data ]
[ ; AT END statement imperatif ].
Keterangan :
- INTO option
Digunakan bila data record yg dibaca akan dipindahkan secara langsung ke nama-data tertentu.
- AT END clause
Digunakan untuk mengetahui apakah data yg dibaca sudah habis.
contoh :
PROCEDURE DIVISION.
-----------------
-----------------
-----------------
BUKA-FILE.
OPEN INPUT NILAI.
BACA-DATA.
READ NILAI INTO NILAI1 AT END GO TO SELESAI.
TAMPILKAN.
DISPLAY NILAI.
GO TO BACA-DATA.
SELESAI.
CLOSE NILAI.
STOP RUN.
REWRITE verb
Digunakan untuk merekam ulang record yg sudah pernah direkam. Biasanya digunakan untuk memodifikasi atau memperbaiki data. Record yg direkam ulang adl record terakhir yg dibaca.
Bentuk umum :
REWRITE nama-record [ FROM nama-data ]
Keterangan :
· Pada waktu REWRITE dilaksanakan, maka file sudah harus dibuka sebagai input-output file (OPEN I-O)
· Nama record setelah perintah REWRITE adl nama record yg sudah dijelaskan dalam DATA DIVISION pd FILE SECTION
· Jika digunakan FROM, record akan direkam ulang dg nilai data yg ada pd nama data setelah perintah FROM tersebut
MOVE verb
Digunakan untuk memindahkan data dari satu field ke field yg lain, sehingga input data dapat dimanipulasi untuk menghasilkan output.
Bentuk umum :
1.MOVE { nama-data1 / literal } TO nama-data2 [ , nama-data3 ]
contoh : ( pd DATA DIVISION)
01 KIRIM.
02 UNIT
PIC 9(3).
02 HARGA PIC 9(5).
01 TERIMA.
02 UNIT-OUTPIC 9(3).
02 HARGA-OUTPIC 9(7).
Pada PROCEDURE DIVISION :
MOVE UNIT TO UNIT-OUT
Maka nilai data dari field UNIT akan dipindahkan ke field UNIT-OUT
2.MOVE CORRESPONDING nama-data1 TO nama-data2
Digunakan untuk memindahkan data dari group data-item ke group lain.
Contoh :
01 RECORD-1.
02 AA
PIC 99.
02 BB
PIC XXX.
02 CC
PIC 99.
01 RECORD-2.
02 AA
PIC 99.
02 FILLERPIC X(5).
02 BB
PIC XXX.
02 DD
PIC 99.
MOVE CORRESPONDING RECORD-1 TO RECORD-2.
Statement MOVE CORRESPONDING tersebut akan memindahkan group data item RECORD-1 ke group data item RECORD-2 yg mempunyai nama data yg sama.
Dalam pemindahan data dari sati field ke field yg lainnya perlu diperhatikan bagaimana data tersebut diorganisasikan dari field pengirim ke field penerima.
PROCEDURE DIVISION LANJUT
Pada Pokok Bahasan ini akan diterangkan tentang verb yang digunakan untuk membentuk suatu statement yang sifatnya loncatan, meloncat menuju ke suatu proses pada suatu paragraph tertentu, yaitu
1. GO TO verb.
2. GO TO….DEPENDING verb.
3. ALTER verb.
4. PERFORM verb .
5. EXIT verb.
GO TO verb
GO TO membentuk loncatan tanpa syarat, yaitu program proses meloncat langsung tanpa syarat ke nama paragraph yang di tunjuk.
Bentuk Umum nya :
Statement GO TO harus selalu diikuti oleh nama-paragraph.
Contoh :
MOVE A TO B
GO TO ALINEA-5.
ALINEA-4.
ADD X TO Y.
ALINEA-5.
MULTIPLY X BY Y.
GO TO …….. DEPENDING verb
GO TO …. DEPENDING verb akan membentuk statement yang akan membawa proses meloncat ( GO TO ) ke suatu nama-paragraph tergantung dari (DEPENDING) nilai nama-data yang ditunjukkan dalam statement ini.
Bentuk Umumnya :
GO TO nama-paragraph1, nama-paragraph2,…..nama-paragraphn
DEPENDING ON nama-data
Contoh :
GO TO TEMPAT-1, TEMPAT-2, HABIS DEPENDING ON KODE.
Sebenarnya statement ini menyederhanakan bentuk statement IF untuk suatu kondisi :
IF KODE = 1 GO TO TEMPAT-1.
IF KODE = 2 GO TO TEMPAT-2.
IF KODE = 3 GO TO HABIS.
Contoh program
IDENTIFICATION DIVISION.
PROGRAM-ID. GOTODEP.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 JABATAN PIC 9.
PROCEDURE DIVISION.
TANYA-JABATAN.
DISPLAY’ JABATAN ANDA (1,2,3 ATAU 4 ) ?’
ACCEPT JABATAN.
DISPLAY SPACE.
GO TO TUNJ1, TUNJ2, TUNJ3, TUNJ4 DEPENDING ON JABATAN.
DISPLAY ‘ TIDAK ADA JAWABAN TERSEBUT, ULANGI !!!’
GO TO TANYA-JABATAN.
TUNJ1.
DISPLAY ‘ TUNJANGAN ANDA SEBESAR Rp. 100000,-
GO TO SELESAI.
TUNJ2.
DISPLAY ‘ TUNJANGAN ANDA SEBESAR Rp. 200000,-
GO TO SELESAI.
TUNJ3.
DISPLAY ‘ TUNJANGAN ANDA SEBESAR Rp. 300000,-
GO TO SELESAI.
TUNJ4.
DISPLAY ‘ TUNJANGAN ANDA SEBESAR Rp. 400000,-
SELESAI.
STOP RUN.
ALTER Verb
Alter berguna untuk merubah arah tujuan proses dari statement GO TO yang telah ada didalam program.
Bentuk Umumnya :
CONTOH PROGRAM :
IDENTIFICATION DIVISION.
PROGRAM-ID. ALTER.
ENVIRONMENT DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.
TAMPILKAN.
DISPLAY’ KOMPUTER’.
PARA-1.
GO TO PARA-2.
PARA-2.
ALTER PARA-1 TO PROCED TO SELESAI
GO TO TAMPILKAN.
SELESAI.
STOP RUN.
· KOMPUTER
· KOMPUTER
PERFORM Verb
PERFORM verb adalah statement yang membawa proses dari suatu program meloncat ke suatu paragraph tertentu. Dan setelah mengerjakan seluruh isi paragraph tersebut dan setelah selesai kembali lagi ke statement setelah statement PERFORM ini.
“ Perbedaan pokok dengan statement GO TO adalah dengan statement GO TO proses menuju ke suatu nama-paragraph tertentu, tidak kembali ke statemenet setelah GO TO tetapi proses dilanjutkan ke paragraph berikutnya dari paragraph yang dituju. “
Bentuk Umum ke-1 :
PERFORM yang diikuti oleh THROUGH atau THRU option akan membawa proses menuju ke nama-paragraph-1 dan melanjutkan ke nama-pragraph-2, kemudian mengerjakan statement setelah statement PERFORM.
CONTOH PROGRAM.
IDENTIFICATION DIVISION.
PROGRAM-ID. PERF01
ENVIRONMENT DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.
MULAI.
PERFORM BINTANG-GARIS.
DISPLAY ‘ COBOL ‘.
PERFORM BINTANG-GARIS.
STOP RUN
BINTANG-GARIS.
DISPLAY ‘ **************************’
DISPLAY ‘ ---------------------------------------‘
· ******************************
· _____________________________
COBOL
****************************
------------------------------------------
Bentuk Umum ke-2 :
Statement bentuk ini akan membuat paragraph yang akan di proses sebanyak lebih dari sekali, yang jumlah diwakili oleh nama-data ( numerik – integer).
Contoh :
CONTOH PROGRAM.
IDENTIFICATION DIVISION.
PROGRAM-ID. PERF02.
ENVIRONMENT DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.
MULAI.
PERFORM MENCETAK 5 TIMES
STOP RUN.
MENCETAK.
DISPLAY ‘ COBOL ‘ .
OUTPUT :
COBOL
COBOL
COBOL
COBOL
COBOL
Bentuk Umum ke –3 :
Perbedaan bentuk ke-3 dengan yang sebelumnya adalah terletak pada adanya kondisi sebagai akhir dari proses PERFORM atau suatu paragraph di proses berulang kali sampai suatu kondisi yang di isyaratkan di dalam statement PERFORM terpenuhi.
Contoh Program
IDENTIFICATION DIVISION
PROGRAM-ID. AKAR.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING- STORAGE SECTION.
77NILAI PIC 9(6)V99.
77BARU PIC 9(6)V99.
77LAMA PIC 9(6)V99 VALUE 0.
77HASIL PIC Z(6).99.
PROCEDURE DIVISION.
MULAI.
DISPLAY ‘ NILAI YANG AKAN DI HITUNG AKARNYA ?’.
ACCEPT NILAI.
MOVE NILAI TO BARU.
PERFORM HITUNG-AKAR UNTIL BARU= LAMA
MOVE BARU TO HASIL
DISPLAY ‘NILAI AKARNYA :’ HASIL
STOP RUN.
HITUNG-AKAR.
MOVE BARU TO LAMA
COMPUTE BARU = 0.5 *(LAMA + NILAI/LAMA).
· NILAI YANG AKAN DI HITUNG AKARNYA ?
· 25
· NILAI AKAR = 5.00
Bentuk ke 4
PERFORM nama paragraph THROUGH nama paragraf2
VARYING nama data 1 FROM nama data 2 BY nama data 3
UNTIL kondisi 1………
Contoh Program
IDENTIFICATION DIVISION
PROGRAM-ID. Perm04
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING- STORAGE SECTION.
77 PENGHITUNG PIC 99.
PROCEDURE DIVISION.
MULAI.
PERFORM TAMPILKAN VARYING PENGHITUNG
FROM 1 BY 1 UNTIL PENGHITUNG = 10
STOP RUN.
TAMPILKAN.
DISPLAY PENGHITUNG.
->
01
02
03
04
05
06
07
08
09
EXIT Verb
Statement EXIT berfungsi untuk melakukan loncatan ke akhir paragraph yang di proses oleh PERFORM verb.
STATEMENT KONDISI
Penyeleksian suatu kondisi dan pengambilan keputusan adalah bagian yang terpenting di dalam proses pengolahan data.
Perbedaan antara conditional statement dengan imperative statement yang sudah sering dijumpai adalah :
· conditional statement adalah suatu statement yang dipergunakan untuk menyeleksi suatu kondisi/syarat dan akan mengerjakan suatu operasi tergantung dari nilai kondisinya.
· Imperative statement adalah statement yang langsung mengerjakan operasinya tanpa ada penyeleksian suatu kondisi.
Semua statement kondisi didalam COBOL dimulai dan dibentuk dengan IF verb.
Jenis-jenis dari statement kondisi yaitu :
1. Kondisi yang sederhana (simple conditions)
2. Kondisi tanda ( sign conditions)
3. Kondisi kelas ( class conditions )
4. Kondisi bercabang ( nested conditions )
5. Kondisi dari nama-kondisi ( condition-name condition )
6. Kondisi yang kompleks ( complex conditions ) atau Kondisi jamak ( compound conditions )
· Kondisi yang sederhana
Dipergunakan untuk menyeleksi kondisi yang tunggal, yaitu membandingkan satu hubungan antara 2 item. Perbandingan ini ditunjukkan oleh tanda operasi hubungan ( relational operator )
Bentuk umum :
Contoh :
IF A < B MOVE 1 TO C
ATAU
IF A LESS B MOVE 1 TO C
· Kondisi Tanda
Kondisi tanda adalah kondisi untuk menentukan apakah suatu data atau perumusan (ungkapan arithmatika ) mempunyai nilai sama dengan nol,positif ataukah negatif.
Bentuk dari statement kondisi :
Contoh :
IF A
· Kondisi Kelas
Adalah kondisi untuk menentukan apakah suatu data (field) termasuk kelas numerik (0 – 9, + , - ) ataukah alphabetik (a-z, blank )
Bentuk umum :
Contoh :
01 BIAYA.
02 BIAYA-VARIABEL PIC 9(5).
02 BIAYA-TETAPPIC 9(5).
IF BIAYA - VARIABEL IS NOT NUMERIC
GO TO BERHENTI.
ATAU
01 DATA – PRIBADI
02 NAMA PIC A(20).
02 UMURPIC 99.
IF NAMA IS ALPHABETIC GO TO PROSES.
DIBAWAH INI SALAH :
IF NAMA IS NUMERIC GO TO PROSES.
IF UMUR ALPHABETIC GO TO ISI-SALAH.
· Kondisi Bercabang
Bentuk Umum :
Dengan statement kondisi ini, bila (IF) suatu kondisi terpenuhi,maka akan dikerjakan suatu proses yaitu statement-1 atau statement berikutnya (NEXT SENTENCE). Sebaliknya (ELSE) bila kondisi tidak terpenuhi,maka akan dikerjakan proses yang lain yaitu statement-2 atau statement berikutnya ( NEXT SENTENCE ).
Contoh :
IF KODE = 1 GO TO KREDIT ELSE GO TO DEBET.
· Kondisi dari nama-kondisi
Suatu nama kondisi dimulai dengan level number 88 ( harus) pada DATA DIVISION. Sedangkan pada PROCEDURE DIVISION statement kondisi dari nama-kondisi adalah suatu statement kondisi yang menyeleksi isi dari nilai data yang dikandung oleh nama-kondisi tersebut.
· Kondisi Jamak
Kondisi jamak adalah kondisi yang lebih dari sebuah kondisi, yang merupakan gabungan beberapa kondisi tunggal ( sederhana ). Beberapa kondisi bisa digabungkan dengan menggunakan tanda operasi boolean, yaitu : OR, AND dan NOT
STATEMENT KHUSUS
Adapun statement khusus yg digunakan pd divisi ini antara lain :
OPEN, READ, WRITE, REWRITE, CLOSE.
Bentuk umum :
PROCEDURE DIVISION.
[ buka-file ]
[ cetak-judul ]
[ alur proses ]
[ tutup file ]
OPEN verb
Digunakan untuk membuka file yg akan diakses.
Bentuk umum :
INPUT nama-file1 [ , nama-file2 ] ....
OUPUT nama-file3 [ , nama-file4 ] ....
OPEN I-O nama-file5 [ , nama-file6 ] ....
EXTEND nama-file7 [ , nama-file8 ] ....
Keterangan :
- OPEN INPUT
Menunjukkan file yg akan dibuka sbg file input, atau data yg akan dibaca ( READ ) dari file ini.
- OPEN OUTPUT
Menunjukkan file yg akan dibuka sbg file output atau data yg akan direkam ( WRITE ) pd file ini. Jika sudah ada data sebelumnya, maka data baru akan direkam & data yg lama akan terhapus.
Jika akan menambahkan data ke file yg sudah berisi data, maka file harus dibuka dengan OPEN EXTEND
- OPEN I-O
Menunjukkan file yg dibuka sebagai file-input dan juga sebagai file-output, yaitu file yg dibuka untuk tujuan sbg input & output sekaligus dapat dibaca & dimodifikasi.
CLOSE verb
Setelah operasi file selesai, maka semua file yg digunakan atau file yg masih terbuka harus ditutup kembali guna mencegah rusaknya struktur dari file.
Bentuk umum :
CLOSE nama-file1 [ WITH LOCK ][ , nama-file2 [ WITH LOCK ] ]
LOCK digunakan bila file yg sudah ditutup tidak dapat dibuka pd saat proses berlangsung, tetapi bila proses sudah dihentikan dan program dijalankan lagi file dapat dibuka kembali.
WRITE verb
Digunakan untuk menampilkan output ke printer atau merekam data ke file yg ditunjuk.
Bentuk umum :
WRITE nama-record [ FROM nama-data1 ]
BEFORE ADVANCING { nama-data2 / int } [ LINE ]
AFTER PAGE [ LINES ]
[ ; AT { END OF PAGE/EOP } statement imperatif ]
Keterangan :
- statement WRITE
Penulisan statement WRITE harus diikuti oleh nama-record dg level-number 01 pd FD di dalam DATA DIVISION yg dihubungkan dg suatu file yg dibuka.
Jika file yg dibuka berupa disk-file, maka statement WRITE berfungsi untuk merekam data ke dalam file tersebut. Jika file yg dibuka berupa print-file, maka data akan dicetak pd printer.
- BEFORE option
Menunjukkan banyaknya spasi baris pencetakan antara baris yg sedang dicetak pd kertas printer dg baris pencetakan selanjutnya.
- AFTER option
Menunjukkan banyaknya spasi baris pencetakan antara baris yang sedang dicetak pada kertas di printer dengan baris pencetakkan sebelumnya.
· ADVANCING option
Menunjukkan banyaknya spasi baris pencetakkan yang digunakan oleh BEFORE atau AFTER option, yg ditunjukkan oleh nilai integer atau nama-data2.
integer 0 tanpa spasi
integer 1 1 spasi baris
integer 2
2 spasi baris
integer 3
3 spasi baris
Jika BEFORE atau AFTER tidak digunakan, maka pencetakan diprinter akan dianggap sebagai AFTER ADVANCING 1 LINES
- PAGE option
Digunakan bila data yg dicetak sebelum atau sesudah printer menempati posisi pd halaman baru selanjutnya.
- END OF PAGE atau EOP phrase
Menunjukkan baris yg terakhir dalam 1 halaman pencetakan diprinter.
READ verb
Digunakan untuk membaca record yg ada pd file.
Bentuk umum :
READ nama-file RECORD [ INTO nama-data ]
[ ; AT END statement imperatif ].
Keterangan :
- INTO option
Digunakan bila data record yg dibaca akan dipindahkan secara langsung ke nama-data tertentu.
- AT END clause
Digunakan untuk mengetahui apakah data yg dibaca sudah habis.
contoh :
PROCEDURE DIVISION.
-----------------
BUKA-FILE.
OPEN INPUT NILAI.
BACA-DATA.
READ NILAI INTO NILAI1 AT END GO TO SELESAI.
TAMPILKAN.
DISPLAY NILAI.
GO TO BACA-DATA.
SELESAI.
CLOSE NILAI.
STOP RUN.
REWRITE verb
Digunakan untuk merekam ulang record yg sudah pernah direkam. Biasanya digunakan untuk memodifikasi atau memperbaiki data. Record yg direkam ulang adl record terakhir yg dibaca.
Bentuk umum :
REWRITE nama-record [ FROM nama-data ]
Keterangan :
· Pada waktu REWRITE dilaksanakan, maka file sudah harus dibuka sebagai input-output file (OPEN I-O)
· Nama record setelah perintah REWRITE adl nama record yg sudah dijelaskan dalam DATA DIVISION pd FILE SECTION
· Jika digunakan FROM, record akan direkam ulang dg nilai data yg ada pd nama data setelah perintah FROM tersebut.
Daftar Pustaka
Jogyanto, Pemrograman Bahasa COBOL, Andi Yogyakarta,1998
IDENTIFICATION DIVISION
PROGRAM-ID. .
[AUTHOR. .]
[INSTALLATION. .]
[DATE-WRITTEN. .]
[DATE-COMPILED. .]
[SECURITY. .]
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. [WITH DEBUGGING MODEL.
OBJECT-COMPUTER. .
SPECIAL-NAMES.
[ PRINTER IS
[ CURRENCY SIGN IS ]
[ DECIMAL-POINT IS COMMA ].
INPUT-OUTPUT SECTION.
FILE-CONTROL.
{file-control entry}.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. [WITH DEBUGGING MODEL.
OBJECT-COMPUTER. .
SPECIAL-NAMES.
[ PRINTER IS
[ CURRENCY SIGN IS ]
[ DECIMAL-POINT IS COMMA ].
SPECIAL-NAMES.
[ PRINTER IS
[ CURRENCY SIGN IS ]
[ DECIMAL-POINT IS COMMA ].
IDENTIFICATION DIVISION.
PROGRAM-ID. COBOL1.
ENVIRONMENT DIVISION.
SPECIAL-NAMES.
PRINTER IS ALAT-CETAK.
PROCEDURE DIVISION.
MULAI.
DISPLAY ‘HALO, SAYA COBOL… !!’ UPON ALAT-CETAK.
SELESAI.
STOP RUN.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
{File-Control entry}.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT ASSIGN TO DISK
ORGANIZATION IS INDEXED
SEQUENTIAL
ACCESS MODE IS RANDOM
DYNAMIC
RECORD KEY IS
FILE STATUS IS
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT ASSIGN TO DISK
ORGANIZATION IS RELATIVE
SEQUENTIAL, RELATIVE KEY IS
ACCESS MODE IS RANDOM
DYNAMIC , RELATIVE KEY IS
FILE-STATUS IS
DATA DIVISION.
FILE SECTION.
FD nama-file
[ BLOCK CONTAINS [ int1 TO int2 ] { CHARACTERS/RECORDS } ]
[ RECORD CONTAINS [ int3 TO int4 ] CHARACTERS ]
LABEL {RECORD IS/RECORDS ARE} {STANDARD/OMITTED}
[VALUE OF FILE-ID IS nama-file-di-label ]
[DATA {RECORD IS/RECORDS ARE} nama-rec1 [ , nama-rec2] ]
LINES AT TOP
LINAGE IS ……LINES
LINES AT BOTTOM
WORKING-STORAGE SECTION.
[77 level data description entry ]
[01 record description entry ]
SCREEN SECTION.
Level-number [nama-layar]
[ BLANK SCREEN]
[ LINE NUMBER IS [PLUS] integer-1]
[ COLUMN NUMBER IS [PLUS] integer-2]
[ BLANK LINE]
[ BELL]
[ { UNDERLINE / REVERSE VIDEO / HIGHLIGHT / BLINK }]
[ VALUES IS literal-1]
[ {PICTURE / PIC }is karakter-string [FROM {literal-2/nama