PENDAHULUANnanim.staff.gunadarma.ac.id/Downloads/files/35688/cobol... · Web viewPENDAHULUAN...

127
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 Teknik Pemrograman Terstruktur 1 / S1-MI Page 1

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