BAB I PENDAHULUAN IDENTIFICATION DIVISION ENVIRONMENT DIVISION DATA DIVISION PROCEDURE DIVISION 1.1 KEUNTUNGAN BAHASA COBOL

dokumen-dokumen yang mirip
IDENTIFICATION DIVISION, ENVIRONMENT DIVISION, DATA DIVISION. Komang Anom Budi Utama, SKom

DATA DIVISION 1. FILE SECTION

Pendahuluan. Hera Agustina

IDENTIFICATION AND ENVIRONMENT DIVISION

Picture Editing, Data Divison. Komang Anom Budi Utama, SKom

FILE URUT (Sequential File)

FILE RELATIF. Sama dengan IDENTIFICATION DIVISION pada organisasi file secara sequential maupun organisasi file secara indeks.

PROCEDURE DIVISION (lanjutan)

IDENTIFICATION DIVISION.

Konsep Dasar Cobol A. SEKILAS PROGRAM COBOL

Pendahuluan. Komang Anom Budi Utama, Skom

A. COBOL Reserved Words B. USER DEFINED WORDS

BAB 3. PROCEDURE DIVISION

PEMROGRAMANOLAHBERKAS PERTEMUAN1 PENDAHULUAN

BAB 1 KONSEP DASAR PROGRAM COBOL

02 Nama Pic A(10). 02 Alamat Pic X(15). 02 Kelas Pic X(5). 66 Data-Pegawai Renames Nama thru Alamat. Data Division. Working-Storage Section.

MINGGU I KONSEP DASAR

Konsep Bahasa Pemrograman Pertemuan 5

Perintah PERFORM. Bentuk umum : PERFORM nama-paragraf1 THROUGH nama-paragraf2 THRU Namadata TIMES UNTIL kondisi. Contoh :

FILE RELATIF. Sama dengan IDENTIFICATION DIVISION pada organisasi file secara sequential maupun organisasi file secara indeks.

BAB 8 PENGOLAHAN FILE DATA

FILE URUT (Sequential File)

Konsep Dasar Program COBOL

CONTOH HASIL PENGEMBANGAN PERANGKAT LUNAK DENGAN METODE KONVENSIONAL

BAB 4. ORGANISASI FILE. INPUT-OUTPUT SECTION. FILE-CONTROL SELECT nama_file ASSIGN TO PRINTER

LABORATORIUM SISTEM INFORMASI

Operasi Aritmatika. ADD Statement Digunakan utk menjumlahkan 2 atau lebih operand numerik, dan menyimpan hasilnya. Ada 3 bentuk statement ADD yaitu :

Procedure Division (cont.)

BAB2 DIVISI-DIVISI PADA COBOL

STATEMENT ARITMATIKA & COMPUTE

SINTAKS-SINTAKS PADA FILE SEQUENSIAL

LABORATORIUM SISTEM INFORMASI

PEMROGRAMAN OLAH BERKAS PERTEMUAN 2

BAB 3 FILE SEQUENTIAL, FILE INDEKS DAN FILE RELATIF

Modul Kuliah. Teknik Pemrograman Terstruktur 1 / MI-SI. Pemrograman Cobol

TABEL. Tabel adalah suatu kumpulan data dengan tipe sama, yang diakses dengan menggunakan nama yang sama.

TABEL DIMENSI SATU, TABEL MULTI DIMENSI

Bentuk Umum : Penjelasan : DATA DIVISION DATA DIVISION. FILE SECTION. [ file description entry] [ record description entry]...]

Teknik Pemrograman Terstruktur 1. Pertemuan #01 Konsep Dasar Bahasa Pemrograman COBOL Universitas Gunadarma 2017

Data Structure. Algoritma dan Pemrograman 3 Week 03

Pertemuan ke-3 TEKNIK-TEKNIK BAHASA PEMROGRAMAN

Statement Kondisi & GO TO

KATA PENGANTAR. Dengan memanjatkan Puji Syukur kehadirat Allah, kami menyampaikan

SATUAN ACARA PERKULIAHAN MATA KULIAH PEMROGRAMAN OLAH BERKAS. Sub Pokok Bahasan dan Sasaran Belajar

PEMROGRAMAN OLAH BERKAS PERTEMUAN 5 PROCEDURE DIVISION

COBOL PROGRAM STRUCTURE

SATUAN ACARA PERKULIAHAN MATA KULIAH PEMROGRAMAN TERSTRUKTUR (D3-TK) KODE / SKS : KK / 4 SKS

SMA SANTO PAULUS PONTIANAK

PERKEMBANGAN PASCAL. Pascal adalah bahasa tingkat tinggi ( high level language) yang orientasinya pada segala tujuan

RINGKASAN PEMROGRAMAN QUICK BASIC

MODUL PRAKTIKUM ALGORITMA & BAHASA PEMROGRAMAN I (BASIC) Dosen Pengasuh : Suroto, S.Kom, M.Ak

Program. Instruksi-instruksi yang diberikan kepada komputer agar dapat melaksanakan tugas-tugas tertentu

Bab 2. Dasar-Dasar Pemrograman C

Menggunakan Microsoft Access (perhatikan untuk red text)

Alat bantu (tools) dalam pembuatan parser/ analisis sintaksis. Menggunakan simbol persegi panjang untuk non terminal

Web Site :

1. STRUCTURED ENGLISH (SE)

MATERI 2 JENIS-JENIS DATA SEDERHANA & INPUT/OUTPUT DATA

Procedure Division III

BAB I SEKILAS TENTANG COBOL

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

BAB 1 KONSEP DASAR BAHASA C

Hirarki Comsky. Unrestricted. Context Sensitive Context free Regular

Algoritma & Pemrograman 1B BASIC

ELEMEN DASAR PROGRAM FORTRAN. Kuliah ke-2

BAB 4 PENGENALAN BAHASA C

BAB 1 PENGANTAR BAHASA PEMROGRAMAN FORTRAN

Pelatihan fortran JURUSAN TEKNIK SIPIL 2014 / 2015

BAB 2 LANDASAN TEORI. Istilah komputer (computer) berasal dari bahasa latin computere yang berarti

Bahasa C-M6 By Jamilah, Skom 1

Turbo C adalah tool yang dipakai untuk membuat code program dalam bahasa C ataupun C++. Berikut adalah jendela utama Turbo C

PENGENALAN PROGRAM C++

Konsep Dasar Pemrograman Pascal

PERTEMUAN 10 PERANCANGAN PROGRAM UNTUK MASALAH BISNIS

PENDAHULUAN. Brigida Arie Minartiningtyas, M.Kom

SATUAN ACARA PRAKTEK. Praktek Tanya Jawab: mengenai dasar sistem berkas dan metode pengaksesannya. Media Penyim panan Data.

PENGANTAR KOMPUTER & SOFTWARE I REPRESENTASI DATA

PENGANTAR KOMPUTER & SOFTWARE I REPRESENTASI DATA

PENGANTAR KOMPUTER DAN TEKNOLOGI INFORMASI 1A

Membuat Tabel. Tahapan membuat tabel menggunakan Microsoft Access 2007 : 1. Pilih menu create >> table. Microsoft Office Access Field.

PEMROGRAMAN DASAR ( PASCAL ) PERTEMUAN I

PENGENALAN DASAR PEMROGRAMAN

Mengelola Data Excel dengan Sort dan Filter

BAB 2 LANDASAN TEORI

Mengenal dan Mulai Bekerja dengan Access 2007

Tujuan. Pengenalan. Pengenalan Pemrograman Komputer. Komponen Dasar pada Komputer : Hardware. Komponen Dasar pada Komputer : Hardware

Implementasi OOP Pada Perangkat Lunak Pemrograman

BAB I SEKILAS TENTANG C

Chapter 1 KONSEP DASAR C

MATA KULIAH: PENGANTAR ILMU KOMPUTER DATABASE CREATED BY: PERTEMUAN 14

ORGANISASI BERKAS SEKUENSIAL

dilakukan oleh bahasa mesin dapat dilakukan oleh C dengan penyusunan program yang lebih sederhana dan mudah. Bahasa C dalam pemakainnya memerlukan

Satuan Acara Perkuliahan (SAP) UNIVERSITAS GUNADARMA

Pemrograman dan Bahasa Pemrograman

TEKNIK KOMPILASI Tony Darmanto,ST / Smt V S1 TI / STMIK WIDYA DHARMA/ Hal 16

DASAR PEMROGRAMAN. PENGANTAR BAHASA C ( Sejarah, Struktur Pemrograman, Tipe Data, Operator ) Djoko Soerjanto, M.Kom

Bab 2 DASAR-DASAR ALGORITMA

MODUL 3 ALGORITMA PEMROGRAMAN

BAB-2 : TIPE DATA, VARIABEL DAN OPERATOR

KETERAMPILAN KOMPUTER 2B** (IT :S1-SA) Pertemuan 7. Database Dbase IV AHMAD HIDAYAT

Transkripsi:

BAB I PENDAHULUAN COBOL singkatan dari COmmond Business Oriented Language adalah suatu bahasa komputer awam (High Level Language) yang berorientasi langsung pada permasalahan bisnis. Cobol hampir dapat digunakan pada semua komputer bila tersedia compiler Cobolnya. Cobol dikembangkan mulai tahun 1959, oleh suatu kelompok yang disebut CODASYL (Conference On DAta SYstem Language). Versi pertama diberi nama COBOL 60 dan dikeluarkan pada tahun 1960. Sejak saat itu bermunculanlah sejumlah versi COBOL diberbagai mesin. Pada tahun 1968, ANSI (American National Standards Institute) yang menangani masalah standarisasi industri di Amerika Serikat mengeluarkan versi COBOL yang diberi nama ANS COBOL. Pada tahun 1974 dikembangkan menjadi ANSI COBOL 1974. Versi inilah yang selanjutnya dipakai sebagai acuan perkembangan COBOL, hingga ANSI mengeluarkan standard yang baru yaitu ANSI COBOL 1985. ANSI COBOL 1985 menyajikan fenomena pemrograman yang terstruktur mengikuti gaya pemrograman terstruktur pada bahasa Pascal dan C. Pemrograman bahasa COBOL merupakan program terstruktur, yaitu program yang strukturnya jelas, mudah dibaca, dan mudah dipelajari, dan baik untuk dokumentasi. Struktur utama dari suatu program COBOL terdiri dari 4 divisi yaitu : IDENTIFICATION DIVISION ENVIRONMENT DIVISION DATA DIVISION PROCEDURE DIVISION 1.1 KEUNTUNGAN BAHASA COBOL Penggunaan bahasa cobol mempunyai beberapa keuntungan, diantaranya : 1. Program Cobol dibuat dalam instruksi bahasa Inggris, sehingga lebih mudah dipelajari dan dibuat. 1

2. Program Cobol sesuai untuk pengolahan data, yang banyak diterapkan pada permasalahan bisnis. 3. Program Cobol sifatnya standard, sehingga dapat dipergunakan pada komputer-komputer yang berbeda, tanpa banyak perbedaan. 4. Struktur program Cobol jelas, sehingga dapat dimengerti oleh orang seperti akuntan, auditor atau manajer-manajer yang hanya mempunyai pengetahuan pengolahan data yang sedikit. 5. Cobol menyediakan fasilitas listing program, bilamana perlu dapat diperiksa oleh orang lain selain programmernya. 6. Mudah didokumentasikan dan dikembangkan bilamana perlu. 1.2 ATURAN PENULISAN PROGRAM COBOL Kolom yang tersedia untuk menulis program Cobol (source program) adalah mulai dari kolom 1 sampai dengan kolom 80 dengan aturan sebagai berikut : olom 1-6 : digunakan untuk nomor urut bilamana diperlukan, sifatnya optional (boleh ditulis boleh tidak). Nomor yang diberikan harus urut dari kecil ke besar. Kolom 7 : digunakan untuk : a. Tanda baris sambungan dari baris sebelumnya dengan memberikan tanda hypen (-). Baris sambungannya ditulis mulai dari area B. b. Bila kolom ini diisi dengan tanda (*), maka apa yang ditulis pada baris ini dianggap sebagai komentar saja. c. Bila kolom ini diisi dengan slash (/), maka baris yang ada tandanya ini dianggap sebagai komentar dan akan dicetak mulai halaman baru teratas, bila source program dicetak diprinter. d. Bila kolom ini diisi dengan karakter "D", baris ini juga akan dianggap sebagai komentar. Tetapi bila pada Environment Division dalam paragraph source-computer 2

disebutkan With Debugging Mode, maka akan berguna untuk tujuan debugging (penelusuran kesalahan). Kolom 8-11 : disebut dengan Area A. Semua judul divisi, judul seksi, nama paragraph, judul file description (FD), level number 01 dan level number 77 ditulis mulai kolom ke 8 ini. Kolom 12-72 : disebut dengan area B. Semua elemen program selain yang ditulis di area A, ditulis pada area A ini. Kolom 73-80 : Merupakan kolom yang tidak diproses oleh komputer, jadi bisadiisi dengan catatan-catatan apa saja hanya untuk dokumentasi progam. Bentuk Data Bentuk dari data dapat dibedakan menjadi dua golongan, yaitu : 1 Data variabel ( disebut dengan variabel ). data yang nilainya dapat berubah-ubah selama eksekusi program. Misalnya data yang berasal dari keyboard sewaktu program dieksekusi 2 Data konstanta ( disebut dengan konstanta atau literal ) Sedangkan data konstanta adalah data yang bersifat tetap selama eksekusi berlangsung. Contoh : Add 2 to x Keterangan : 2 adalah tipe data konstanta x adalah tipe data variabel x = 5 hasil : 7 Sebelum Add 2 to x Sesudah Add 2 to x Data Konstanta / Literal : 1. Numerik 3

2. Non-numerik 3. Figuratif Konstanta Literal Numerik/Konstanta numerik Literal numerik menyatakan suatu konstanta bilangan. Sayarat penulisan literal numerik : Maksimal mengandung 18 digit Jika mengandung tanda + (plus) atau - (minus), tanda + atau - harus berada di sebelah kiri Tidak boleh ada karakter spasi Tanda pecahan boleh berada di mana saja selain pada posisi terkanan. Jika suatu literal numerik tidak mengandung tanda plus atau minus akan dianggap sebagai bilangan positif. Contoh penulisan literal yang benar : +1234567 23456.77-19.45 1000.25 (identik dengan 0.25) Contoh penulisan literal yang salah : 45. Tanda pecahan di bagian terkanan tidak diperkenankan Rp 6000 Suatu literal numerik tidak boleh diawali dengan huruf $ 500 Simbol khusu tidak diperbolehkan - 100 Penulisan literal numerik tidak boleh mengandung spasi 1,6000.00 Tidak boleh mengandung pemisah ribuan Literal Non-Numerik Literal non-numerik adalah konstanta yang bisa mengandung baik huruf, digit maupun simbol khusus ( sering disebut dengan string ). Syarat penulisan literal non-numerik : Bisa terdiri sampai 120 karakter, dan diapit oleh karakter delimiter ( berupa petik-ganda atau petik-tunggal ). Kalau tanda pengapit berupa petik-tunggal dan literal mengandung tanda petik-tunggal, tanda petik-tunggal dalam literal perlu ditulis sekali lagi disampingnya. 4

Kalau tanda pengapit berupa petik-ganda dan literal mengandung tanda petik-ganda, tanpa petik-ganda dalam literal perlu ditulis sekali lagi di sampingnya. Contoh penulisan literal non-numerik : "Faizal Amri" ( Boleh ditulis menjadi : 'Faizal Amri' ) Latihan 1 : 1. Mengapa Bahasa Cobol perlu diterjemahkan terlebih dahulu. 2. Jelaskan pengertian - pengertian dibawah ini : - Source Program - Objek Program - Syntax error - Logis error - Execution error 3. Sebutkan software yang dapat digunakan untuk menulis source program cobol serta cara kerjanya. 5

Bab II STRUKTUR PROGRAM COBOL Pada umumnya inti dari struktur program Cobol dibagi menjadi 4 bagian yang disebut dengan Division, dimana masing-masing divisi dimulai dengan suatu judul divisi. Program cobol terdiri dari 4 divisi, dimana setiap divisi memiliki beberapa seksi. Dimana urutan divisi tersebut dalam Cobol adalah sebagai berikut : IDENTIFICATION DIVISION. ENVIRONMENT DIVISION. DATA DIVISION. PROCEDURE DIVISION. Masing-masing divisi terdiri dari urut-urutan susunan bagian, tersusun secara hirarki (jenjang), secara umum sebagai berikut : Division. Region. Section. Paragraph Sentence/Entry Statement/Clause Phrase/Option Istilah region, sentence, statement dan phrase/option digunakan pada PROCEDURE DIVISION, sedangkan istilah entry dan clause digunakan pada ke 3 divisi yang lain. 6

DIVISION. Adalah bagian utama dari suatu program Cobol. Suatu divisi harus diawali dengan suatu judul divisi. REGION Adalah suatu kumpulan bagian tertentu di dalam procedure division. Region ini diawali dengan judul declaratives dan diakhiri dengan judul END DECLARATIVES. SECTION Seksi (section) adalah satu kumpulan dari paragraph atau entry. Suatu seksi harus diawali dengan suatu judul seksi, contohnya CONFIGURATION SECTION. PARAGRAPH Adalah suatu group dari kalimat (sentences) di dalam PROCEDURE DIVISION. Suatu paragraph harus selalu diawali dengan nama-paragrahp atau judul paragraph. ENTRY Suatu entry adalah sesuatu yang harus dituliskan pada tempat-tempat di dalam suatu program COBOL. Suatu entry dapat juga dikatakan sebagai suatu set (kumpulan) dari clause (anak kalimat), yang diakhiri dengan titik. Entry adalah istilah yang terdapat pada IDENTIFICATION DIVISION, ENVIRONMENT DIVISION dan DATA DIVISION. Sedang pada PROCEDURE DIVISION istilah ini disebut dengan sentence. SENTENCE Kalimat (sentence) adalah suatu kumpulan dari satu atau lebih statement (pernyataan). Akhir dari sentence harus diakhiri dengan titik. Sentence adalah istilah dalam PROCEDURE DIVISION. CLAUSE 7

Anak kalimat (clause) adalah kumpulan dari kata (word) yang membentuk suatu arti. Clause adalah bagian dari entry. Suatu entry dapat terdiri dari beberapa clause. STATEMENT Pernyataan (statement) adalah perintah pengerjaan untuk komputer. Semua statement, kecuali statement COPY dapat terletak di mana saja, selain di PROCEDURE DIVISION. PHRASE Suatu group kata yang merupakan bagian dari statement atau clause. Latihan 2 : 1. Buatlah contoh masing-masing bagian atau hirarki dari program cobol untuk masing-masing divisi. 2. Sebutkan paragraf yang harus ada dalam sebuah program Cobol, jelaskan fungsinya. 3. Jelaskan fungsi masing-masing divisi dalam program Cobol. 8

Bab III IDENTIFICATION DIVISION Identification division merupakan divisi pertama dalam program cobol dan yang paling sederhana. Division ini merupakan keterangan (Identification) tentang program yang dibuat. Identification division terdiri dari beberapa paragraph. Bentuk Umum dari Identification division. IDENTIFICATION DIVISION PROGRAM-ID. nama program. [ AUTHOR. nama programmer. ] [ INSTALLATION. nama instalasi. ] [ DATE-WRITTEN. tanggal program dibuat. ] [ DATE-COMPILED. tanggal program dikompilasi. ] [ SECURITY. sifat program. ] Keterangan bentuk umum : <*> Tanda (garis bawah) merupakan bentuk yang harus ditulis 9

persis, bila ada. <*> Tanda [ ] (bracket) merupakan bentuk yang ada diantara tanda tersebut,sifatnya optional, boleh ditulis, boleh tidak. <*> Huruf kecil adalah nama yang dibentuk oleh programmer. Judul divisi dan semua judul paragrap harus dimulai pada kolom 8 dan harus diakhiri dengan tiitk. Apabila programmer ingin mencantumkan namanya didalam program, karena nama paragraph AUTHOR walaupun digaris bawahi, maka kata ini harus ditulis persis seperti diatas. Program-id menunjukkan identitas dari program, setiap program harus diberi nama supaya unik dapat dibedakan dari program yang lainnya. Penulisan nama program bebas, tetapi mempunyai aturan tertentu, hanya khusus nama program, panjangnya hanya boleh 6 karakter. Bila lebih dari 6 karakter, boleh tetapi yang dianggap unik hanya 6 karakater pertama, selebihnya diabaikan (maksimum 30 karakter panjangnya). Contoh : Identification Division. Program-d. Barang. Author. Team-cobol. Installation. YPTK-Padang. Date-written. 30-Juni-1997. Date-compiled. 01-Juli-1997. Security. Rahasia. Atau cukup ditulis sebagai berikut : Identification Division. Program-id. Barang. 10

BAB IV ENVIRONMENT DIVISION Environment division, sebagai divisi ke-2 menyediakan informasi mengenai peralatan yang dipergunakan didalam program. Divisi ini dibagi menjadi 2 seksi (section ) yaitu CONFIGURATION SECTION dan INPUT-OUTPUT SECTION. Environment Division ditulis pada area A. Bentuk umum dari Environment Division : CONFIGURATION SECTION Pada seksi ini diterangkan mengenai jenis-jenis komputer yang digunakan dalam rangka pembuatan, pengkompilasian dan pemrosesan program. Bentuk Umumnya adalah : 11

ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. nama komputer [WITH DEBUGGING MODE ] OBJECT-COMPUTER. nama komputer. SPECIAL-NAMES. DECIMAL POINT IS COMMA Contoh dalam program : Environment division. Configuration section. Source-computer. IBM-PC. (Untuk menunjukkan nama komputer yang digunakan) Object-computer. IBM-PC. ( Menunjukkan nama komputer yang digunakan untuk menjalankan program ) yang telah dikompilasi, yang sifatnya sebagai dokumentasi saja. Special-names. Decimal-point is comma. (Titik desimal dituliskan dengan bentuk karakter "." atau titik (period). Bila diinginkan karakter lain lain, misalnya koma, dapat ditulis perintah diatas) Input-Output Section. (Bila digunakan file dengan media simpanan sekunder, maka paragraph filecontrol dalam seksi ini harus ditulis. Sebaliknya tidak ditulis file-control kalau tidak menggunakan media penyimpanan). File-control entry bisa terdiri dari 3 bentuk, tergantung dari organisasi file yang akan dipergunakan. Organisasi file dapat berupa sequential file, indexed file dan relative file. Input-output section untuk sequential file. 12

Organisasi file secara sequential adalah organisasi file yang sifatnya urut. Data direkamkan di record pada file secara urut dan urutan ini tidak berubah. Kalau ada data baru maka akan direkamkan pada record urutan terakhir di file. Demikian juga kalau akan membaca data di file, maka akan dibaca urut dari record pertama. Bentuk Umum paragraph FILE-CONTROL untuk organisasi file secara sequential adalah sebagai berikut : INPUT-OUTPUT SECTION FILE-CONTROL SELECT nama-file ASSIGN to [ DISK ] [ PRINTER ] [ ORGANIZATION IS [ LINE SEQUENTIAL ] [ ACCESS MODE IS SEQUENTIAL ] [ FILE STATUS IS nama-data ] Input-output section untuk Indexed file. Organisasi indexed adalah organisasi file yang datanya dapat dimbil langsung di posisi record yang mempunyai nilai kunci tertentu yang unik. Bentuk Umum paragraph FILE-CONTROL untuk organisasi file secara sequential adalah sebagai berikut : 13

INPUT-OUTPUT SECTION FILE-CONTROL SELECT nama-file ASSIGN to DISK ORGANIZATION IS INDEXD [ ACCESS MODE IS SEQUENTIAL RANDOM DYNAMIC RECORD KEY IS nama-data-1 [ FILE STATUS IS nama-data ] Input-output section untuk Relative file. Organisasi secara relative adalah organisasi file yang tiap-tiap recordnya dibedakan dengan suatu nomer record relatip. Organisasi relative file hanya pada disk. Bentuk umum paragraph FILE-CONTROL untuk organisasi file secara relative adalah : INPUT-OUTPUT SECTION FILE-CONTROL SELECT nama-file ASSIGN to DISK ORGANIZATION IS RELATIVE [ ACCESS MODE IS SEQUENTIAL [, RELATIVE KEY IS nama-data-1 RANDOM DYNAMIC, RELATIVE KEY IS nama-data-1 [ FILE STATUS IS nama-data-2 ] BAB V DATA DIVISION Fungsi dan Tujuan : 14

1. Memberikan penjelasan tentang input data dan output yang dipergunakan. 2. Menjelaskan bagaimana data disimpan dan diorganisasikan, juga bagaimana sifat dari data tersebut. 3. Berisi keterangan tentang file, record, nama-data serta bentuk format yang akan digunakan di dalam PROCEDURE DIVISION. DATA DIVISION dapat terdiri dari beberapa seksi, diantaranya yaitu : - FILE SECTION - WORKING-STORAGE SECTION - SCREEN SECTION FILE SECTION Didalam seksi ini terdapat semua keterangan mengenai file-file yang dipakai didalam program. Keterangan ini meliputi nama-file, cara perekaman, jumlah record per block dan jumlah karakter per record, bagaimana labelnya serta nama dari record tersebut. FILE SECTION ini ada bila dipergunakan file dalam bentuk simpanan sekunder yaitu disk atau printer dan mempunyai hubungan dengan INPUT- OUTPUT SECTION dalam ENVIRONMENT DIVISION. Syntax : DATA DIVISION. FILE SECTION. FD nama-file LABEL RECORDS ARE OMITTED VALUE OF FILE-ID IS nama-file di label RECORD IS DATA nama-record-1 [, nama-record-2] RECORDS ARE Judul FD ditulis pada area A dan diikuti oleh nama-filenya yang harus sama dengan nama-file yang disebutkan pada INPUT-OUTPUT SECTION dalam ENVIRONMENT DIVISION. LABEL RECORD ATAU LABEL RECORDS clause 15

LABEL RECORD atau LABEL RECORDS clause menunjukan apah file yang dipergunakan mempunyai label atau tidak. Bentuknya : RECORD IS STANDARD LABEL RECORDS ARE OMITTED LABEL RECORD IS OMITTED digunakan untuk card-file ( file yang berupa kartu plong ) atau print-file ( file yang berupa cetakan di printer ) yang tidak mempunyai label. Untuk disk-file ( file yang disimpan di disk ) yang mempunyai label, maka ditulis LABEL RECORD IS STANDARD. VALUE OF FILE-ID clause VALUE OF FILE-ID clause menunjukan informasi mengenai file yang mempunyai label di disk. Label di disk ini berupa suatu nama-file yang berisi data yang direkamkan tersebut. Jadi, jika suatu file berada di disk, maka harus disebutkan LABEL RECORD IS STANDARD dan VALUE OF FILE-ID diikuti oleh namafilenya. Syntax : VALUE OF FILE-ID IS nama-file di label Contoh : INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT REKAMAN ASSIGN TO DISK. DATA DIVISION. FILE SECTION. FD REKAMAN RECORD CONTAINS 48 CHARACTERS LABEL RECORD IS STANDARD VALUE OF FILE-ID IS "RELASI.DAT". Nama-file di label dapat ditulis di antara tanda petik tunggal atau di antara tanda petik dua. Nama-file di label tidak sama dengan nama-file yang disebutkan pada judul FD dan pada SELECT clause. "RELASI.DAT" adalah nama-file di label. DATA RECORD atau DATA RECORDS clause DATA RECORD atau DATA RECORDS clause menunjukan nama-record di dalam file. Bentuknya : 16

DATA RECORD IS RECORDS ARE nama-record-1 [, nama-record-2] Clause ini sifatnya optional, hanya sebagai dokumentasi saja, boleh tidak ditulis, karena nama-record ini sudah ditunjukan pada record-description-entry. Contoh : Sebuah program COBOL dengan nama program PROG menggunkan file di disk untuk merekam datanya dengan nama-file MHS-FILE dan nama-file di label dengan nama "DAFMHS.DAT", nama recordnya adalah MHS-REC, mempunyai struktur record sebagai berikut : Karakter Ke Keterangan Jenis Nama-Data 1-6 Nomor Mahasiswa Numerik Nomor-Mhs 7-27 Nama Mahasiswa Alphanumerik Nama-Mhs 28-68 Alamat Mahasiswa Alphanumerik Nama-Mhs Program Cobol ini juga menggunakan printer untuk mencetak hasil outputnya. Print-file ini diberi nama Cetak dan nama recordnya adalah baris-cetak, maka ditulis : IDENTIFICATION DIVISION. PROGRAM-ID. PROG. ENVIRONMENT DIVISION. CONFIGURATION SECTION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT MHS-FILE ASSIGN TO DISK SELECT CETAK ASSIGN TO PRINTER. DATA DIVISION. FILE SECTION. FD MHS-FILE RECORD CONTAINS 68 CHARACTERS LABEL RECORD IS STANDARD 17

VALUE OF FILE-ID IS "DAFMHS.DAT" DATA RECORD IS MHS-REC. 01 MHS-REC. 02 NOMOR-MHS PIC 9(6). 02 NAMA-MHS PIC X(20). 02 ALAMAT-MHS PIC X(40). FD CETAK LABEL RECORD IS OMITTED DATA RECORD IS BARIS-CETAK. 01 BARIS CETAK PIC X(80). Penjelasan : Karena dipergunakan dua buah file ( disk dan printer ), maka ada 2 buah FD ( file description ). Nama-file pada masing-masing SELECT clause harus sama dengan nama-file pada judul FD. - FD (file-description) yaitu keterangan mengenai file yang dipergunakan - Record Description Entry adalah keterangan terhadap record yang digunakan di file mengenai nama record, nama-data item, bentuk dari data item, panjang dari data item, nilai data item serta level dari masing-masing data item tersebut. WORKING-STORAGE SECTION Sebagai seksi yang ke dua didalam DATA DIVISION, seksi ini berfungsi untuk pemesanan tempat di internal memory ( Storage ) yang diperlukan oleh pekerjaan ( Working ) proses program. Pemesanan tempat ini biasanya digunakan untuk : 1. Bentuk, nilai dan nama data yang diperlukan di dalam proses, yang terpisah dan belum disebutkan pada FILE SECTION. Data yang disebutkan pada FILE SECTION adalah data yang akan diambil dari disk-file, atau data yang akan direkamkan pada disk-file, atau yang akan dicetak pada print-file. Jadi yang disebutkan pada FILE SECTION adalah data yang berhubungan dengan file. Sedang data lain yang diperlukan oleh proses tetapi tidak berhubungan dengan file disebutkan pada WORKING-STORAGE SECTION. 18

misalnya data yang akan dimasukan lewat layar terminal dengan perintah ACCEPT, atau data yang diterima dari lokasi storage yang lain dengan perintah MOVE atau data yang dihasilkan dari hasil suatu perhitungan arithmatika dengan statement COMPUTE, dan lainnya. 2. Persiapan Penulisan Judul Bentuk judul dipersiapkan terlebih dahulu pada WORKING-STORAGE SECTION, yang nantinya di dalam PROCEDURE DIVISION bila akan dicetak judul tersebut, dapat dilakukan oleh statement DISPLAY atau WRITE. 3. Pemesanan tempat untuk data output yang akan ditampilkan. Secara garis besar, seksi ini mengandung 2 golongan data, yaitu data item individu dan group data item ( membentuk suatu record ). Bentuknya : Working-storage section. 77-level data description entry record description entry Data item individu, disebut juga dengan noncontigous elementary items atau stand-alone items, ditunjukan oleh level number 77, sedang group data item diawali dengan level number 01. Contoh : Working-storage section. 77 total pic 9(5) value 0. 77 gaji-kar pic 9(6). 77 nomor-hal pic 999 value zero. 77 garis pic x(80) value all '-'. Pada contoh ini, terlihat bahwa ada pemesanan tempat di memory ( storage ) untuk data item individu. Data item pertama yang dipesankan tempat adalah dengan nama total bentuknya adalah numerik ( ditunjukan oleh karakter 19

picturenya ) sepanjang 5 digit yang nilai awalnya dipasang nol oleh value clause. Nomor 77 adalah level number untuk data-description data item individu ( harus nomor 77 ). Pemesanan tempat kedua untuk nama-data gaji-kar juga numerik sepanjang 6 digit tanpa nilai awal. Yang ketiga adalah dengan nama-data nomor-hal numerik 3 digit bernilai awal nol ( zero berarti sama dengan nol, figurative konstant ). Yang keempat dengan nama-data garis, berbentuk alphanumerik bernilai karakter "-" sebanyak 80 karakter. All '-' juga figurative konstant. Contoh : Akan dicetak sebuah judul sebagai berikut : LAPORAN PENJUALAN UNTUK DAERAH SUMBAR Maka pada working-storage section dapat dituliskan : Working-storage section. 01 judul. 02 filler pic x(15) value spaces. 02 filler pic x(40) value "Laporan Penjualan Untuk Daerah Sumbar". 02 filler pic x(25) value spaces. Contoh ini adalah untuk group data item dengan nama-record Judul yang berisi data -item data-item yang ditunjukan oleh level number yang lebih besar (02). Keterangan : 1. Level number 01 ditulis pada area A yaitu kolom ke 8, untuk mengawali keterangan nama-record (harus 01). 2. Nama-record untuk level number 01 ditulis pada kolom ke 12 area B 3. Level number 02 ditulis mulai pada area B kolom 12 (tidak harus 02, bisa bervariasi sampai 49). 20

4. Nama datanya ditulis dengan diberi jarak paling sedikit 1 spasi 5. Filler digunakan untuk menyatakan suatu nilai yang tidak akan ditunjuk lagi pada procedure division. 6. Bila 1 baris tidak cukup dapat disambung pada baris selanjutnya dengan memberikan tanda '-' (hypen) pada kolom 7 pada baris sambungan, dan sambungan baris berikutnya ditulis pada area B. Contoh : Akan dimasukkan data lewat layar terminal, dengan susunan data tiap recordnya sebagai berikut : Item Jenis Panjang NAMA alphabetik 20 ALAMAT - nomor jalan alphanumerik 20 - kota alphabetik 15 - negara alphabetik 15 SEX alphabetik 1 Pada working-storage section akan tampak : Working-storage section. 01 DAFTAR-PRIBADI. 02 NAMA pic x(20). 02 ALAMAT. 03 nomor-jalan pic x(20). 03 kota pic x(15). 03 negara pic x(15). 02 SEX pic x. 21

Screen Section. Seksi ini berguna untuk menunjukkan bentuk format dari layar terminal untuk menampilkan data atau memasukkan data. Data item yang digunakan dapat berupa group data item atau data item individu, dengan level number 01 sampai 49, yang sudah disebutkan pada FILE SECTION atau pada WORKING- STORAGE SECTION. Screen section berhubungan dengan statement DISPLAY dan ACCEPT dalam PROCEDURE DIVISION. Statement display dipergunakan untu menampilkan format yang telah dibentuk di screen section pada layar terminal. Sedangkan statement ACCEPT digunakan untuk memasukkan nilai data item lewat layar terminal dengan format yag dibentuk pada screen section tersebut. Diantara clause yang digunakan pada screen section adalah sebagai berrkut : BLANK SCREEN clause Blank screen clause digunakan untuk membersihkan layar dan menempatkan cursor pada posisi kiri atas (baris 1, kolom 1). LINE clause Line clause digunakan untuk menempatkan cursor pada posisi baris tertentu di layar. Bila tidak disebutkan nilai posisi barisnya, berarti LINE PLUS 1, yaitu akan ditampilkan bergeser 1 baris dari baris sebelumnya. Kalau akan ditampilkan bergeser sebanyak 3 baris dari baris sebelumnya, maka ditulis LINE PLUS 3. COLUMN clause Column clause digunakan untuk menempatkan cursor pada posisi kolom tertentu di layar. Bila tidak disebutkan posisi kolomnya, maka akan ditempatkan pada kolom 1. BLANK LINE clause Blank line clause digunakan untuk menghapus tampilan pada baris tertentu di layar. 22

BELL clause Bell clause digunakan untuk menimbulkan suara bel UNDERLINE, REVERSE-VIDEO, HIGHLIGHT dan BLINK clause Clause diatas digunakan untuk memberi garis bawah pada tampilannya. UNDERLINE clause digunakan untuk memberi garis bawah pada tampilannya. 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 tampilannya. FROM, TO dan USING clause FROM, TO dan USING clause digunakan untuk menampilkan atau menerima data yang bentuk data-itemnya dihubungkan ditempat lain di luar Screen Section ini, misalnya pada Working-storage section, File section atau Linkage section. From clause digunakan untuk menampilkan isi data. Contoh program dari statemen pada screen section diatas : Identification division. Program-id. Team-cobol. Environment division. 23

Data division. Working-storage section. 01 Data-karyawan. 02 Nama pic x(20) value "KAMU". 02 Jabatan pic x(10) value "SALESMAN". 02 Gaji pic 9(5) value 75000 Screen section. 01 Layar-tampilan. 02 Blank screen. 02 Line 4 value "NAMA KARYAWAN :" 02 column plus 1 pic x(20) from nama. 02 Line 5 value "JABATAN :" 02 column plus 1 pic x(10) from jabatan. 02 line 6 value "GAJI : Rp ". 02 column plus 1 pic 9(5) from gaji. procedure division. display layar-tampilan. stop run. Bila program ini dijalankan, akan mendapat hasil : NAMA KARYAWAN : BADU JABATAN : SALESMAN GAJI : Rp 75000 Penjelasan : Hasil yang ditampilkan, untuk data-itemnya, nilai tersebut diambilkan dari ( From ) working-storage section, yang sudah diisi nilainya dengan Value Clause. TO Clause digunakan untuk menerima isi data. Identification division. Program-id. Team-cobol. Environment division. 24

Data division. Working-storage section. 01 Data-karyawan. 02 Nama pic x(20) value space. 02 Jabatan pic x(10) value space. 02 Gaji pic 9(5) value space. Screen section. 01 Layar-tampilan. 02 Blank screen. 02 Line 4 value "NAMA KARYAWAN :" 02 column plus 1 pic x(20) to nama. 02 Line 5 value "JABATAN :" 02 column plus 1 pic x(10) to jabatan. 02 line 6 value "GAJI : Rp ". 02 column plus 1 pic 9(5) to gaji. procedure division. display layar-tampilan. accept layar-tampilan. stop run. Bila program ini dijalankan, pertama kali di layar akan berbentuk : NAMA KARYAWAN :... JABATAN :... GAJI : Rp... Kemudian data dimasukan dengan mengetikan lewat keyboard sebagai berikut NAMA KARYAWAN : Faizal Amri JABATAN : Personalia GAJI : Rp 750000 Penjelasan : 25

Pada procedure division, pertama kali bentuk dari layar-tampilan ditampilkan. Nilai dari data item nama, jabatan dan gaji yang diberi nilai space pada workingstorage section, tidak turut ditampilkan karena menggunakan To clause dalam screen section. Baru setelah perintah Accept, nilai-nilai data diketik, dimasukan ke ( To ) masing-masing data item yang bersangkutan. From dan To clause dapat dipergunakan bersama-sama. Bila From dan To clause dipergunakan bersama-sama, penggunaan ini dimasukan untuk tujuan menampilkan terlebih dahulu nilai dari ( From ) data item sebelumnya, yang langsung kemudian dimasukan nilai data baru ke ( To ) tempat lokasi data item tersebut. Contoh : Identification division. Program-id. Team-cobol. Environment division. Data division. Working-storage section. 01 Data-karyawan. 02 Nama pic x(20) value "Faizal Amri". 02 Jabatan pic x(10) value "Personalia". 02 Gaji pic 9(5) value 750000. Screen section. 01 Layar-tampilan. 02 Blank screen. 02 Line 4 value "NAMA KARYAWAN :" 02 column plus 1 pic x(20) from nama to nama. 02 Line 5 value "JABATAN :" 02 column plus 1 pic x(10) from jabatan to jabatan. 02 line 6 value "GAJI : Rp ". 02 column plus 1 pic 9(5) from gaji to gaji. procedure division. display layar-tampilan. accept layar-tampilan. stop run. 26

Bila program ini dijalankan, pertama kali akan ditampilkan terlebih dahulu nilai sebelumnya dari data-item bersangkutan, sebagai berikut : NAMA KARYAWAN : Faizal Amri JABATAN : Personalia GAJI : Rp 750000 Kemudian nilai dari data item tersebut dimasukan : NAMA KARYAWAN : Muhammad JABATAN : Administrasi GAJI : Rp 500000 LEVEL NUMBER Level number atau nomor jenjang adalah suatu nomor yang menunjukkan jenjang dari data item dalam suatu record. Makin besar nomor levelnya, makin rendah jenjang tingkatannya. Level number yang dipakai terdiri dari : Level Number 01 : Mendefenisikan variabel induk contoh : Data Division. Working-storage Section. 01 Record-Mahasiswa. 02 Nama pic x(15). 02 Nobp pic x(8). 02 Nilai pic 9(3). Level number 77 Digunakan untuk mendefenisikan item yang berdiri sendiri (independent item) contoh : 27

Working-Storage section. 77 penjualan pic 9(8). 77 Harga pic 9(6). 77 Stock pic 9(4). Level number 02, 03, 04,..., 49 Mengawali keterangan dari data item ( bagian dari level number 01 ) contoh : 01 Record-penjualan 02 no-faktur pic x(5). 02 tgl-penjualan. 03 Tanggal pic 9(2). 03 Bulan pic 9(2). 03 Tahun pic 9(2). Level number 88 Mengawali suatu nama kondisi contoh : Working-storage section. 01 Jenis-Kelamin pic x. 88 laki-laki value "L", "l". 88 Perempuan value "P", "p". PICTURE Picture digunakan untuk menjelaskan bentuk ( type ) serta ukuran dari data yang akan digunakan. PICTURE UNTUK DATA YANG TIDAK DIEDIT digunakan untuk data yang akan disimpan di dalam memori yang nantinya dapat diolah menjadi bentuk yang lebih informatif. Picture Pemakaian 9 Numerik 28

A Alphabetik X ALphanumerik V Titik Desimal Anggapan P Faktor Penyekala Desimal S Bilangan Bertanda (Positif / Negatif ) PICTURE UNTUK DATA YANG TIDAK DIEDIT digunakan untuk merobah bentuk data yang telah tersimpan di memori sehingga informasi yang disajikan lebih mudah dibaca. Picture Pemakaian Z Mengganti nol yang tak berarti dengan space $ Tanda Mata uang * Memberi tanda * ' Memberi tanda ' (koma). Tanda titik desimal + / - Tanda + dan - DB/CR Tanda Debit dan Credit B Penyisipan Spasi / Penyisipan tanda '/' contoh : Nama Picture Data Di Memori Di Prose Data-item Masukan KODE X(5) 2045 2 0 4 5 2 0 4 5 NAMA X(8) COBOL C O B O L C O B O L UNIT 9(4) 25 0 0 2 5 0 0 2 5 HARGA 9(6)V99 15500.75 1 5 5 0 0. 7 5 0 1 5 5 0 0 7 5 KAS 9(4) 16798 1 6 7 9 1 6 7 9 SALDO S999-25 0 2 5 0 2 5 29

VALUE Berfungsi untuk memberi nilai awal dari suatu data item. Pemberian nilai awal dilakukan dengan menyertakan value setelah picture. Contoh : Working-storage section. 77 Harga pic 9(5) value 5000 77 Jumlah pic 9(4) value 0 Konstanta figurative (seperti : zero, space, high value dll ) juga dapat digunakan dalam pemberian nilai awal. Contoh : Working-storage section 77 Jumlah pic 9(4) value zero 77 Jawaban pic x value space FILLER Digunakan untuk menampilkan atau membuat bentuk tampilan dengan format yang diinginkan. Contoh : Bentuk tampilan sebagai berikut : Program : Identification division. Program-id. contoh-filler. 30 DAFTAR NAMA-NAMA MAHASISWA AMIK YPTK PADANG

Environment division. Data division. Working-storage section. 77 Garis pic x (60) value all "-" 01 Judul-1. 02 Filler pic x (40) value "DAFTAR NAMA-NAMA MAHASISWA". 01 Judul-2. 02 Filler pic x (40) value " YPTK PADANG ". Procedure Division. Mulai. Display garis. Display judul-1, judul-2. Display garis. Stop run. 31

BAB VI PROCEDURE DIVISION Pada divisi sebelumnya sudah dipersiapkan semua sarana yang nantinya dibutuhkan dalam suatu pekerjaan proses. Divisi ini merupakan inti dari pemrograman COBOL. Statement yang ada di PROCEDURE DIVISION diantaranya adalah sebagai berikut : ~ MOVE ~ DISPLAY ~ ACCEPT MOVE Verb ini berguna untuk memindahkan data dari satu field ke lokasi field yang lain, sehingga input data dapat dimanipulasi untuk menghasilkan output. Bentuk umum : MOVE nama-data-1 TO nama-data-2 [, nama-data-3 ]... literal Contoh : ( memindahkan nilai data dari field unit ke field unit- Move unit to unit-out out ) 32

Move zero to kuantitas ( memindahkan karakter nol ke record kuantitas ) DISPLAY Statement display dipergunakan untuk menampilkan hasil di layar ataupun di printer. Kalau dipergunakan statement Write untuk menampilkan hasil di printer, maka print-file harus disebutkan terlebih dahulu di environment division pada filecontrol dan select clause, tetapi dengan statement display, tidak perlu menyebutkannya. Ada 3 bentuk dari statement display : Bentuk statement display ke 1 : Display nama-layar Contoh : identification division. program-id. display1. environment division. data division. screen section. 01 hapus-layar. 02 blank screen. procedure division. mulai. display hapus-layar. stop run. Bentuk statement display ke 2: Display nama-data-literal contoh : 33

identification division. program-id. display2. environment division. data division. working-storage section. 01 nilai-celcius. 02 celcius pic 9(5) value 50. 01 nilai-hasil. 02 celcius-out pic 9(5). 02 fahrenheit pic zzz.99. procedure division. hitung. compute fahrenheit = 1.8 * celcius +32. tampilkan. move celcius to celcius-out. display "Perhitungan :". display celcius-out,'derajad celcius adalah :'. display fahrenheit,'derajat Fahrenheit'. selesai. stop run. Bentuk statement display ke 3: Display (posisi-tampilan) nama-data literal. Contoh : identification division. program-id. display3. environment division. data division. screen section. 01 hapus-layar. 02 blank screen. procedure division. 34

tampilkan. display hapus-layar. display (2, 5) "Bahasa Cobol". stop run. ACCEPT Statement accept digunakan untuk memasukan data lewat layar sewaktu program tersebut dijalankan ( pada waktu run time ). Ada 3 bentuk statement accept yang tersedia : Bentuk statement accept ke 1 : Accept nama-data Data yang dimasukan, akan ditempatkan pada nama-data setelah accept, yang bentuk, jenis dan panjangnya sudah ditentukan dalam Data Division. Contoh : identification division. program-id. accept1. environment division. data division. working-storage section. 01 variabel. 02 nobp pic x(8). 02 nama pic x(20). screen section. 01 hapus-layar. 02 blank screen. 35

procedure division. tampilkan. display hapus-layar. display (5, 10) "Nobp Mahasiswa :". accept nobp. display (6, 10) "Nama Mahasiswa :". accept nama. stop run. Bentuk statement accept yang ke 2 : Accept nama-layar. contoh : identification division. program-id. accept1. environment division. data division. working-storage section. 01 variabel. 02 nobp pic x(8). 02 nama pic x(20). screen section. 01 hapus-layar. 02 blank screen. 01 layar-data. 02 line 5 column 10 value "Nobp Mahasiswa :". 02 column plus 1 pic x(8) to nobp. 02 line 6 column 10 value "Nama Mahasiswa :". 02 column plus 1 pic x(20) to nama. procedure division. tampilkan. display layar-data. accept layar-data. 36

stop run. Bentuk statement accept yang ke 3 : Accept (posisi-layar) nama-data identification division. program-id. accept1. environment division. data division. working-storage section. 01 variabel. 02 nobp pic x(8). 02 nama pic x(20). screen section. 01 hapus-layar. 02 blank screen. procedure division. tampilkan. display hapus-layar. display (5, 10) "Nobp Mahasiswa :". accept (5, 30) nobp. display (6, 10) "Nama Mahasiswa :". accept (6, 30) nama. stop run. Statement Arithmatik Cobol mempunyai 4 verb dasar untuk membentuk statement operasi arithmatika yaitu : - Add ( penjumlahan ) - Subtract ( Pengurangan ) - Multiply ( mengali ) - Divide ( membagi ). ADD 37

Verb ini 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 dari statement Add, yaitu : Bentuk 1 : ADD nama-data-1 nama-data-2... TO nama-data-3 {ROUNDED} Literal-1, literal-2 { ON SIZE ERROR statement-imperatif } Bentuk 2 : ADD nama-data-1 nama-data-2 nama-data-3 Literal-1 literal-2 GIVING nama-data-4 {ROUNDED} { ON SIZE ERROR statement-imperative } contoh : add a, b to c c <= c + a + b 38

add a, b to c, d pernyataan diatas identik dengan add a, b t c add a, b to d SUBTRACT verb Verb ini digunakan untuk membentuk statement operasi arithmatika pengurangan suatu nilai operand numerik. SUBTRACT nama-data-1 nama-data-2 nama-data-3 Literal-1 literal-2 FROM nama-data-n GIVING nama-data-m literal-n [ ROUNDED ] [; SIZE ERROR imperative-statemen ] Contoh : * Subtract A From B On Size Error * Subtract A From B Giving C Rounded On Size Error Goto... MULTIPLY Verb 39

Verb ini digunakan untuk membentuk statement guna instruksi perkalian dua nilai numerik dan menyimpan hasilnya. Bentuk -1 MULTIPLY nama-data-1 BY Literal-1 {; ON SIZE ERROR statement-imperative } Bentuk -2 : MULTIPLY nama-data-1 BY nama-data-2 Literal-1 Literal-2 GIVING nama-data-3 {ROUNDED} { ON SIZE ERROR statement-imperative } Bila hasil perkalian akan disimpan pada salah satu field dari numerik data pengali, maka digunakan bentuk BY. Bila hasil perkalian akan disimpan di tempat yang lain, maka digunakan bentuk BY dan bentuk optional GIVING bersama-sama. Contoh : Multiply A By B Multiply A By 5 Giving B Multiply A By B Giving C DIVIDE 40

Verb ini digunakan untuk membentuk statement operasi pembagian. Bentuk-1 : DIVIDE { nama-data-1 } INTO nama-data-2 [ROUNDED ] { Literal-1 } {; ON SIZE ERROR statement-imperative } COMPUTE Pada statement arithmatik sebelumnya, lebih cocok untuk perhitungan arithmatika tunggal dan sederhana. Dengan digunakan COMPUTE verb di dalam ungkapan matematik yang rumit akan menyederhanakan statement tersebut. Contoh : Untuk perhitungan sebagai berikut : Y = A + B - C x E D Jika digunakan arithmatika sebelum, akan digunakan banyak statement untuk memecahkannya, sebagai berikut : Add A To B Divide D Into C Multiply C By E Subtract E From B giving Y Dengan menggunakan COMPUTER : 41

COMPUTE Y = A + B - ( C/D ) * E Statement Percabangan GO TO Verb Statement Go to akan membawa proses program menuju ke suatu paragraph tertentu. Bentuk Umum : GO TO nama-paragraph contoh : Identification division. Program-id. Contoh Go-To Envirenment Division. Data Division. Working-storage section. 77 nmb pic A(10). 77 jmb pic 9(5). 77 hrg pic 9(6). 77 tot-penj pic 9(8). Procedure Divison. paragraf-1. Display (10, 10) "Data Penjualan " Display (12, 10) "Nama Barang : ". Accept (12, 28) nmb. go to paragraf-3. 42

paragraf-2. compute tot-penj = penj * hrg. Display (18, 10) " Total Penjualan : ", tot-penj. stop run. paragraf-3. Display (14, 10) "Jumlah Barang : ". Accept (14, 28) jmb. Display (16, 10) "Harga Barang : ". Accept (16, 28) hrg. go to paragraf-2. Bentuk 2 : GO TO nama-paragraph-1, nama-paragraph-2,... nama-paragraph-n DEPENDING ON nama-data contoh : Identification division. Program-id. Go to Depending ON. Environment Division. Data Division. Working-storage section. 77 fakultas pic 9. Procedure Division.. par-1. fak1. Display (10, 10) "Fakultas Anda ( (1)STMIK/(2)AMIK/(3)STIE/(4)AAMPK )? : " Accept fakultas. Display (1, 1) erase. go to fak1, fak2, fak3, fak4 depending on fakultas Display "Fakultas Anda tidak Ada Lho...!" Go to par-1. 43

Display (10, 10) "Fakultas Anda adalah "STMIK" " Go to Selesai. fak2. Display (10, 10) "Fakultas Anda adalah "AMIK" " Go to Selesai. fak3. Display (10, 10) "Fakultas Anda adalah "STIE" " Go to Selesai. fak4. Display (10, 10) "Fakultas Anda adalah "AAMPK" " Go to Selesai. Selesai. Stop run. PERFORM Berfungsi untuk membawa proses dari program meloncat ke suatu paragraf tertentu, mengerjakan seluruh isi paragraph tersebut dan setelah selesai kembali lagi ke statement setelah statement perform. Bentuk 1 : PERFORM nama-paragraph-1 THROUGH nama-paragraph-2 THRU contoh : Identification division. Program-id. Contoh-perform. Environment division. Data Division. Working-Storage section. par-a. Display "STMIK-AMIK-STIE-AAMPK" 44

perform par-b. stop run. par-b. Display " "YPTK" PADANG". hasil : STMIK-AMIK-STIE-AAMPK "YPTK" Padang Bentuk 2 : PERFORM nama-paragraph-1 THROUGH nama-paragraph-2 THRU UNTIL kondisi contoh : Identification division. Program-id. Contoh perform-kondisi. Environment Division. Data Division Working-storage section. 77 saldo pic S9(7). 77 jml-tr pic 9(5). 01 jenis pic x. 88 ambil value "1". 88 setor value "2". 77 jawab pic x. Screen Section. 01 masukan. 45

02 line 10 column 20 "Entri Transaksi ". 02 line 12 column 20 "Saldo Tabungan : ". 02 column plus 1 pic S9(7) from saldo. 02 line 14 column 20 "Jenis Transaksi : ". 02 column plus 1 pic x to jenis. 02 line 16 column 20 "Jumlah Transaksi : ". 02 column plus 1 pic 9(5) to jml-tr. 01 hasil. 02 line 16 column 20 "Sisa saldo : ". 02 column plus 1 pic S9(7) from saldo. Procedure division. proses-1. move 0 to ambil, setor, saldo move "Y" to Jawab perform proses-lagi until jawab = "T" or "t" stop run. proses-lagi. display masukan accept masukan if jenis = "1" compute tsaldo = saldo - jml-tr move tsaldo to saldo, sisa-saldo else compute tsaldo = saldo + jml-tr. move tsaldo to saldo, sisa-saldo. display hasil. Bentuk 3 : PERFORM nama-paragraph-1 THROUGH nama-paragraph-2 THRU nama-data numerik-integer TIMES 46

contoh : Identification Division. Programi-d. perform... times. Environment Division. Data Division. Procedure Division. awal. display (1, 1) erase perform tampilkan 10 times. stop run. tampilkan. display "SAYA BELAJAR BAHASA COBOL ". Hasil : "SAYA BELAJAR BAHASA COBOL " akan ditampilkan sebanyak 10 kali. PERFORM nama-paragraph-1 THROUGH nama-paragraph-2 THRU nama-data-1 nama-data-2 VARYING nama-index-1 FROM integer-1 nama-index-2 nama-data-3 BY integer-2 UNTIL kondisi-1 47

STATEMENT IF Dalam suatu permasalahan yang memerlukan pengambilan sebuah keputusan terhadap sejumlah alternatif. Misalnya, untuk menentukan seorang pembeli akan diberi korting atau tidak berdasarkan total pembelian, besarnya komisi yang diterima oleh seorang penjual berdasarkan kriteria. Dalam bahasa Cobol, persoalan yang memerlukan pengambilan keputusan dapat diselesaikan dengan menggunakan kalimat IF. Bentuk Umum : IF kondisi ( pernyataan-1 )... [ ELSE ( pernyataan-2 )... ] Kondisi Hubungan Kondisi Hubungan melibatkan operator hubungan (Relational Operator) yang terdiri atas : Relational Operator Makna 48

IS LESS THAN atau IS < IS GREATER THAN IS > IS EQUAL TO IS = IS NOT LESS THAN IS NOT < IS NOT GREATER THAN IS NOT > IS NOT EQUAL TO IS NOT = Kurang dari Lebih dari Sama dengan Tidak Kurang dari Tidak lebih dari Tidak sama dengan contoh : Identification Division. Program-id. Contoh-If. Environment Division. Configuration section. Special-names. Decimal-point is comma. Data Division. Working-storage section. 77 gb pic 9(8). 77 lb pic 9(2). 77 hn pic 9(6). 77 jawab pic x. 01 Data-masukan. 02 nik pic x(7). 02 nmk pic x(20). 02 jk pic 9(3). 02 gp pic 9(6). Screen section. 01 layar-masuk. 02 line 2 column 20 "Perhitungan Gaji "PT. COBA-COBA" ". 02 line 4 column 20 "Nomor Induk Karyawan : ". 02 column plus 1 pic x(7) to nik. 02 line 6 column 20 "Nama Karyawan : ". 02 column plus 1 pic x(20) to nmk. 49

02 line 8 column 20 "Jam Kerja : ". 02 column plus 1 pic 9(3) to jk. 02 line 10 column 20 "Gaji Pokok : ". 02 column plus 1 pic 9(6) to gp. 01 layar-tampil. 02 line 12 column 20 "Gaji Bersih : " 02 Column pus 1 pic zzz.zzz. 01 layar-tanya. 02 line 14 column 20 "Ada data lagi (Y/T) : ". 02 column plus 1 pic x to jawab. Procedure Division. proses-1. display (1, 1) erase move "Y" to jawab. perform masuk until jawab = "T" or "t" stop run. masuk. display layar-masuk. accept layar-masuk. if jk < 40 move 0 to lb else compute lb = jk - 40 if lb < 5 compute hn = lb * 1000 else if lb not < 5 and lb not >. Display layar-tampil. Accept layar-tampil. Display layar-tanya Accept layar-tanya. Disk layar Kasus 50

Dengan mempergunakan kasus yang sama pada modul sambungan disk layar (sambungan 1), akan dibuat program untuk menentukan bentuk tampilan sbb : LAPORAN PAJAK Departemen : xxxxxxxxxxxx ------------------------------------------------------------------ NO NIP NAMA PEGAWAI GJ.BERSIH PAJAK ------------------------------------------------------------------ 99 xxxxxx xxxxxxxxxxxxxxx 9999999 999999 99 xxxxxx xxxxxxxxxxxxxxx 9999999 999999 ----------------------------------------------------------------- Total Departemen 99999999 9999999...... dst Departemen : xxxxxxxxxxxx ------------------------------------------------------------------ NO NIP NAMA PEGAWAI GJ.BERSIH PAJAK ------------------------------------------------------------------ 99 xxxxxx xxxxxxxxxxxxxxx 9999999 999999 99 xxxxxx xxxxxxxxxxxxxxx 9999999 999999 ----------------------------------------------------------------- Total Departemen 99999999 9999999 Total Seluruhnya 999999999 99999999 51

Untuk membuat laporan diatas data pada file Pegawai tersusun secara SEQUENTIAL (terurut) berdasarkan departemen / bagian, mulai dari departemen / bagian HUMAS s/d PERSONALIA. Sebelum anda membuat program ini, bukalah program MASUK-2.COB (program memasukkan data pd file PEGAWAI) tukarlah OPEN EXTEN PEGAWAI dengan OPEN OUTPUT PEGAWAI, kompilasi program MASUK-2.COB kemudian entrikanlah data misalkan sbb : -------------------------------------------------------------------------------------- record 1 HUMAS 921871 FRANSISCA 75 5000 2 HUMAS 921872 ELVIRA 70 4500 3 HUMAS 921873 TOMMY AREA 70 5000 4 SECURITY 922874 ZULIMANSYAH 80 1500 5 SECURITY 922075 HENDRA 85 2000 6 ADMINISTRASI 923076 TATI TITI 65 2500 7 ADMINISTRASI 923077 ITA FITRIA 70 2500 8 ADMINISTRASI 923078 JEJET 60 2000 9 STAFF 924064 FADHLI 45 7500 10 STAFF 924065 ZAKI 50 7000 11 PERSONALIA 925045 FITRI YANDI 60 4500 12 PERSONALIA 925034 CHANDRUSAX 45 4000... Berdasarkan data yang tersimpan tersebut diatas, kalau program yang akan anda buat berikut ini di jalankan, maka akan tampil di layar monitor anda sbb : LAPORAN PAJAK Departemen : HUMAS ------------------------------------------------------------------ NO NIP NAMA PEGAWAI GJ.BERSIH PAJAK ------------------------------------------------------------------ 1 921871 FRANSISCA 337500 37500 2 921872 ELVIRA 283500 31500 3 921873 TOMMY AREA 315000 35000 ------------------------------------------------------------------ Total Departemen 936000 104000 52

Departemen : SECURITY ------------------------------------------------------------------ NO NIP NAMA PEGAWAI GJ.BERSIH PAJAK ------------------------------------------------------------------ 1 922874 ZULIMANSYAH 108000 12000 2 922075 HENDRA 153000 17000 ------------------------------------------------------------------ Total Departemen 251000 29000.....dst..... Departemen : PERSONALIA ------------------------------------------------------------------ NO NIP NAMA PEGAWAI GJ.BERSIH PAJAK ------------------------------------------------------------------ 1 925045 FITRI YANDI 243000 27000 2 925034 CHANDRUSAX 162000 18000 ------------------------------------------------------------------- Total Departemen 405000 45000 Total seluruhnya 2622500 292500 Untuk Membuat program tersebut di atas, bukalah program LAPOR-2D.COB yang harus anda lakukan adalah : 1. Pelajari dan fahami cara pendefenisian variabel / data di DATA DIVISION ( baik di FILE SECTION maupun di WORKING-STORAGE SECTION) 2. Pelajari dan fahami perancangan bentuk output laporan yang dirancang di WORKING-STORAGE section. 3. Lengkapi program dengan memperhatikan logika program yang ter gambar pada FLOWCHART tersebut adalah : 53

************************** * program * ************************** identification division. program-id. modul-laporan. environment division. input-output section file-control. select PEGAWAI assign to disk organization is sequential access mode is sequential. data division. file section. fd PEGAWAI label record are standard value of file-id is "B:peg.dat". 01 record-gaji-pegawai. 02 dept-peg pic x(12). 02 nip-peg pic x(6). 02 nama-peg pic x(15). 02 jam-kerja pic 9(3). 02 gaji-jam pic 9(4). working-storage section. 77 ph-b pic 9(7). 77 ph-k pic 9(7). 77 pjk pic 9(6). 77 tpjk pic 9(8). 77 eof pic x. 77 dep-sbl pic x(12). 77 tpjk-dep pic 9(8). 77 tphb-dep pic 9(8). 77 tpjk-sel pic 9(10). 77 tphb-sel pic 9(10). 01 judul-utama. 02 filler pic x(30) value spaces. 02 filler pic x(25) value 'LAPORAN PAJAK KARYAWAN'. 01 judul-utama-2. 02 filler pic x(15) value spaces. 02 filler pic x(20) value 'Departemen : '. 02 dep-out pic x(12). 01 judul-spasi. 02 filler pic x(80) value spaces. 01 garis. 02 filler pic x(15) value spaces. 54

02 filler pic x(55) value all '~'. 01 isi-tabel. 02 filler pic x(15) value spaces. 02 filler pic x(3) value spaces. 02 NIP-OUT pic x(6). 02 filler pic x(3) value spaces. 02 NM-OUT pic x(15). 02 filler pic x(5) value spaces. 02 PHB-OUT PIC Z(8). 02 filler pic x(4) value spaces. 02 PJK-OUT pic Z(6). 01 total-dep. 02 filler pic x(16) value spaces. 02 filler pic x(12) value 'Total Dept'. 02 dep-c pic X(12). 02 filler pic x(6) value spaces. 02 tphb-dep-c pic z(8). 02 filler pic x(2) value spaces. 02 tpjk-dep-c pic z(8). 01 total-seluruh. 02 filler pic x(16) value spaces. 02 filler pic x(25) value 'Total Seluruh '. 02 filler pic x(3) value spaces. 02 tphb-sel-c pic z(10). 02 tpjk-sel-c pic z(10). screen section. 01 hapus-monitor. 02 blank screen. KASUS 2 Perusahaan Penerbangan Bondo Air Lines yang melayani penerbangan untuk 3 daerah tujuan yaitu Jakarta, Medan dan Batam dalam melakukan pengolahan data penumpang yang tersimpan dalam file TIKET ( nama file dilabel TIKET.DAT), dengan organisasi dan access file secara sequential dengan data-data sebagai berikut : ---------------------------------------------------------------------------------------- Nama data item Type Panjang Keterangan ---------------------------------------------------------------------------------------- NO-TKT N 4 Nomor Tiket NM-PNP AN 15 Nama Penumpang AL-PNP AN 20 Alamat Penumpang TUJUAN AN 8 Tujuan penerbangan 55

STAT-PNP AN 9 Status Penumpang ----------------------------------------------------------------------------------------- Dari data yang tersimpan dalam file TIKET.DAT akan dilakukan pengolahan data yang nantinya akan menghasilkan suatu laporan dalam bentuk tabel, dengan ketentuan pemprosesan sebagai berikut - Jika Tujuan = 'Jakarta', maka harga tiket Rp. 225000 Jika Tujuan = 'Batam', maka harga tiket Rp. 175000 Jika Tujuan = 'Medan', maka harga tiket Rp. 125000 - Jika Status = 'Mahasiswa', maka potongan 10 % dari harga Jika Status = 'Anak', maka potongan 50 % dari harga Jika Status = 'Dewasa', maka tidak dapat potongan - Pembayaran = harga - potongan Tampilan yang diinginkan sbb : BONDO AIR LINES Jl. Burung, 20 Padang ----------------------------------------------------------------------------------------------------------- NO NO.TIKET NAMA MAHASISWA TUJUAN HARGA DISKON BAYAR ----------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------- T o t a l ----------------------------------------------------------------------------------------------------------- Jumlah Penumpang Jakarta Jumlah Penumpang Medan Jumlah Penumpang Batam =... Orang =... Orang =... Orang PROGRAM UNTUK MEMASUKKAN DATA ----------------------------------------------------- Dari kasus di atas, sebelum mencetak tabel yang diinginkan tersebut maka harus dimasukkan / dientrikan terlebih dahulu, oleh sebab itu dibuat terlebih dahulu program untuk memasukkan datanya ke dalam file tiket ( tiket.dat ). 56