27
Teknik Pemrograman Terstruktur 1 ( COBOL ) 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 HARGA PIC 9(5). 01 TERIMA. 02 UNIT-OUT PIC 9(3). 02 HARGA-OUT PIC 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 1 Nama-data-1 MOVE To nama-data-2 [, nama-data-3 ] …..

TPT - Pert4. Procedure Division.doc (123Kb)

Embed Size (px)

Citation preview

Page 1: TPT - Pert4. Procedure Division.doc (123Kb)

Teknik Pemrograman Terstruktur 1 ( COBOL )

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 verbAdalah 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 HARGA PIC 9(5).

01 TERIMA.02 UNIT-OUT PIC 9(3).02 HARGA-OUT PIC 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.

1

Nama-data-1MOVE To nama-data-2 [, nama-data-3 ] …..

Literal

MOVE CORRESPONDING nama-data-1 TO nama-data-2.

Page 2: TPT - Pert4. Procedure Division.doc (123Kb)

Teknik Pemrograman Terstruktur 1 ( COBOL )

Contoh:Pada DATA DIVISION :01 RECORD-A.

02 A PIC 9(3).02 B PIC X(5).02 C PIC A(9).02 D PIC 9(4).

01 RECORD-B.02 A PIC 9(3).02 FILLER PIC X(5).02 B PIC X(6).02 D PIC 9(4).02 E PIC $$$.99.02 FILLER PIC 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 AlphanumerikNumerik integerNumerik non integerNumerik yang di-edit

Alphabetik Bisa Bisa TidakAlphanumerik Bisa Bisa BisaNumerik integer Tidak Bisa BisaNumerik non integer Tidak Tidak BisaNumerik yang di-edit Tidak Bisa TidakKeterangan :

Bila data mengandung tanda + atau - , maka tanda tersebut akan diabaikan.

DISPLAY verbDipergunakan untuk menampilkan hasil di layar ataupun di printer.Ada 3 bentuk statement DISPLAY :Bentuk Statement DISPLAY ke-1 :

Bentuk Statement DISPLAY ke-2 :

2

DISPLAY nama-layar

Nama data ,nama-dataDISPLAY …[UPON nama-mnemonik]

Literal ,literal

Page 3: TPT - Pert4. Procedure Division.doc (123Kb)

Teknik Pemrograman Terstruktur 1 ( COBOL )

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.

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.

3

Nama-dataDISPLAY [posisi-tampilan] Literal …[UPON nama-mnemonik]

ERASE

Lin [{+ }] integer-1 COL [{+}] integer-3Integer-2 , integer-4

Page 4: TPT - Pert4. Procedure Division.doc (123Kb)

Teknik Pemrograman Terstruktur 1 ( COBOL )

ACCEPT verbDigunakan 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.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 phraseBila posisi-posisi field data-item penerima data tidak diisi dengan data (langsung di tekan tombol RETURN), maka akan terisi dengan nilai nol.

4

ACCEPT nama-data

ACCEPT nama-layar [ON ESCAPE statement-imperative ]

ZERO – FILLSPACE – FILLLEFT – JUSTIFYRIGHT – JUSTIFYTRAILING – SIGN

ACCEPT [posisi-layar] nama-data WITH PROMPTUPDATELENGTH – CHECKEMPTY – CHECKAUTO – SKIPNO – ECHOBEEP

Lin [{+ }] integer-1 COL [{+}] integer-3Integer-2 , integer-4

Page 5: TPT - Pert4. Procedure Division.doc (123Kb)

Teknik Pemrograman Terstruktur 1 ( COBOL )

SPACE FILL phraseBila posisi-posisi field data-item di layar tidak diisi dengan data (langsung ditekan tombol RETURN), maka akan terisi dengan nilai nol.

LEFT-JUSTIFY phraseTidak berfungsi dalam MS-COBOL.

RIGHT-JUSTIFY phraseMenyebabkan setelah data dimasukkan, hasil akhir yang tampak dilayar akan rata di sebelah kanan.

TRAILING – SIGN phraseMenyebabkan tanda operasi + atau – tampak diposisi paling kanan dari field data input. Biasanya tanda tersebut akan menempati posisi paling kiri.

PROMPT phraseMenyebabkan tampilan untuk field data-item penerima berbentuk nol untuk posisi digit,titik untuk decimal point dan spasi untuk tanda operasi + atau -.

UPDATE phraseMenyebabkan 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 phraseMenyebabkan 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 phraseMenyebabkan 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 phraseMenyebabkan data yang dimasukkan, tidak tampak di layar.NO-ECHO berfungsi sama dengan SECURE clause pada SCREEN SECTION dalam DATA DIVISION.

BEEP phraseMenyebabkan bunyi bel sewaktu data dimasukkan.BEEP berfungsi sama dengan BELL clause pada SCREEN SECTION dalam DATA DIVISION.

5

Page 6: TPT - Pert4. Procedure Division.doc (123Kb)

Teknik Pemrograman Terstruktur 1 ( COBOL )

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.

Contoh Program Bentuk statement ACCEPT :

6

DATEDAY

ACCEPT nama-data FROM TIMEESCAPE-KEY

IDENTIFICATION DIVISION.PROGRAM-ID. SISDT.AUTHOR.. RANI.ENVIRONMENT DIVISION.DATA DIVISION.WORKING-STORAGE SECTION.01 SISTEM-DATE-TIME.

02 TANGGAL PIC 9(6).02 JULIAN PIC 9(5).02 JAM PIC 9(8).

PROCEDURE DIVISION.MULAI.

ACCEPT TANGGAL FROM DATEACCEPT JULIAN FROM DAYACCEPT JAM FROM TIME.

TAMPILKAN.DISPLAY ‘ TANGGAL ADALAH : ‘, TANGGAL.DISPLAY ‘ JULIAN ADALAH : ‘, JULIAN.DISPLAY ‘ JAM ADALAH : ‘, JAM.STOP RUN.

Page 7: TPT - Pert4. Procedure Division.doc (123Kb)

Teknik Pemrograman Terstruktur 1 ( COBOL )

OUTPUT :TANGGAL ADALAH : 860807JULIAN ADALAH : 86219JAM ADALAH : 15305834

STOP verbDigunakan 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”.

7

STOP Literal RUN

Page 8: TPT - Pert4. Procedure Division.doc (123Kb)

Teknik Pemrograman Terstruktur 1 ( COBOL )

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 verbGO 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 BGO TO ALINEA-5.

ALINEA-4.ADD X TO Y.

ALINEA-5.MULTIPLY X BY Y.

GO TO …….. DEPENDING verbGO 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 :

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 KODE = 3 GO TO HABIS.

8

GO TO nama-paragraph

GO TO nama-paragraph-1, nama-paragraph-2,… nama-paragraph-n

Page 9: TPT - Pert4. Procedure Division.doc (123Kb)

Teknik Pemrograman Terstruktur 1 ( COBOL )

ALTER VerbAlter berguna untuk merubah arah tujuan proses dari statement GO TO yang telah ada didalam program.Bentuk Umumnya :

Contoh :

Outputnya :

KOMPUTERKOMPUTER

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 :

9

ALTER nama-paragraph-1 TO [ PROCEED TO] nama-paragraph-2

IDENTIFICATION DIVISION.PROGRAM-ID. ALTER.AUTHOR. JOGIYANTO HM.ENVIRONMENT DIVISION.DATA DIVISION.PROCEDURE DIVISION.TAMPILKAN.

DISPLAY ‘ KOMPUTER ‘.PARA-1.

GO TO PARA-2.PARA-2.

ALTER PARA-1 TO PROCEED TO SELESAIGO TO TAMPILKAN.

SELESAI.STOP RUN.

THROUGHPERFORM nama-paragraph-1 nama-paragraph-2

THRU

Page 10: TPT - Pert4. Procedure Division.doc (123Kb)

Teknik Pemrograman Terstruktur 1 ( COBOL )

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 PERFORMBentuk 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 :MULAI.

PERFORM MENCETAK 5 TIMESSTOP RUN.

MENCETAK. DISPLAY ‘ COBOL ‘ .

OUTPUT :

COBOLCOBOLCOBOLCOBOLCOBOL

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.

10

PERFORM nama-paragraph-1 THROUGH THRU nama-paragraph-2

Nama-dataNumerik-integer TIMES

PERFORM nama-paragraph-1 THROUGH nama-paragraph-2THRU

UNTIL kondisi

Page 11: TPT - Pert4. Procedure Division.doc (123Kb)

Teknik Pemrograman Terstruktur 1 ( COBOL )

Bentuk Umum ke-4 :

Bentuk ke-4 ini agak rumit. Dengan bentuk ini memungkinkan untuk memproses suatu paragraph berulang-kali dan akan menyebabkan ( VARYING) nama-data-1 atau nama-index-1 yang bernilai mulai dari (FROM) nama-data-2 atau integer-9 atau nama-data-2 bertambah dengan (BY) nama-data-3 atau integer-2 sampai (UNTIL) suatu kondisi-1 terpenuhi.

EXIT VerbStatement EXIT berfungsi untuk melakukan loncatan ke akhir paragraph yang di proses oleh PERFORM verb.

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.

11

PERFORM nama-paragraph-1 THROUGH nama-paragraph-2

THRUVARYING nama-data-1 FROM nama-data-2

Nama-index-1 integer-1 Nama-index-2

BY nama-data-3 UNTIL kondisi-1Integer-2

AFTER nama-data-4 FROM nama-data-5Nama-index-3 integer-3

Nama-index-4BY nama-data-6 UNTIL kondisi-2

Integer-4AFTER nama-data-7 FROM nama-data-8

Nama-index-5 integer-5 Nama-index-6

BY nama-data-9 UNTIL kondisi –3

Page 12: TPT - Pert4. Procedure Division.doc (123Kb)

Teknik Pemrograman Terstruktur 1 ( COBOL )

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 sederhanaDipergunakan 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 CATAUIF A LESS B MOVE 1 TO C

Kondisi TandaKondisi 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<B IS NOT POSITIF PERFORM TOLAK

Kondisi Kelas Adalah kondisi untuk menentukan apakah suatu data (field) termasuk kelas numerik (0 – 9, + , - ) ataukah alphabetik (a-z, blank )Bentuk umum :

12

IS [NOT] LESS THANNama-data-1 IS [NOT] < nama-data-2Literal-1 IS [NOT] EQUAL TO literal-2

IF lingkaran IS [NOT] = lingkaran imperativeArithmatika IS [NOT] GREATER THAN arithmatika statement

IS [NOT] >

nama-data POSITIVEIF ungkapan IS [NOT] NEGATIVE imperative statement

Arithmatika ZERO

Page 13: TPT - Pert4. Procedure Division.doc (123Kb)

Teknik Pemrograman Terstruktur 1 ( COBOL )

Contoh :01 BIAYA.

02 BIAYA-VARIABEL PIC 9(5).02 BIAYA-TETAP PIC 9(5).

IF BIAYA - VARIABEL IS NOT NUMERIC GO TO BERHENTI.

ATAU01 DATA – PRIBADI

02 NAMA PIC A(20).02 UMUR PIC 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 BercabangBentuk 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-kondisiSuatu 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.

13

NUMERICIF nama-data IS [NOT] ALPHABETIC imperative statement

IF kondisi statement-1 ELSE statement-2NEXT SENTENCE ELSE NEXT SENTENCE

Page 14: TPT - Pert4. Procedure Division.doc (123Kb)

Teknik Pemrograman Terstruktur 1 ( COBOL )

Kondisi JamakKondisi 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 NOTContoh :IF A = 2 OR B < 6 GO TO CETAK.

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 OUTPUTMenunjukkan 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-OMenunjukkan file yg dibuka sebagai file-input dan juga sebagai file-output, yaitu file yg dibuka untuk tujuan sbg input & output sekaligus dapat dibaca & dimodifikasi.

14

Page 15: TPT - Pert4. Procedure Division.doc (123Kb)

Teknik Pemrograman Terstruktur 1 ( COBOL )

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 optionMenunjukkan banyaknya spasi baris pencetakan antara baris yg sedang dicetak pd kertas printer dg baris pencetakan selanjutnya.

- AFTER optionMenunjukkan 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 spasiinteger 1 1 spasi barisinteger 2 2 spasi barisinteger 3 3 spasi baris

15

Page 16: TPT - Pert4. Procedure Division.doc (123Kb)

Teknik Pemrograman Terstruktur 1 ( COBOL )

Jika BEFORE atau AFTER tidak digunakan, maka pencetakan diprinter akan dianggap sebagai AFTER ADVANCING 1 LINES

- PAGE optionDigunakan bila data yg dicetak sebelum atau sesudah printer menempati posisi pd halaman baru selanjutnya.

- END OF PAGE atau EOP phraseMenunjukkan 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 clauseDigunakan 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)

16

Page 17: TPT - Pert4. Procedure Division.doc (123Kb)

Teknik Pemrograman Terstruktur 1 ( COBOL )

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

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 + AADD 30, B TO A A = A + 30 + BADD A, B TO C C = C + A + BBentuk ke-2 dari statement ADD :

CONTOH :ADD A, B GIVING C C = A + BADD 4,5 GIVING A A = 4 + 5

SUBSTRACT VERBDigunakan untuk membentuk statement operasi arithmatika pengurangan suatu nilai operand numerik.Bentuk umumnya :

17

Nama-data-1 nama-data-2ADD literal-1 literal-2 …. TO nama-data-m [ROUNDED]

[; ON SIZE ERROR statement imperative]

Nama-data-1 nama-data-2 nama-data-3ADD ….GIVING nama-data-m [ROUNDED]

Literal-1 literal-2 literal-3 [;ON SIZE ERROR statement imperative]

Nama-data-1 nama-data-2SUBSTRACT literal-1 literal-2

Nama-data-nFROM literal-n GIVING nama-data-m

[ROUNDED] [;ON SIZE ERROR imperative-statement]

Page 18: TPT - Pert4. Procedure Division.doc (123Kb)

Teknik Pemrograman Terstruktur 1 ( COBOL )

CONTOH :SUBSTRACT A FROM B B = B – ASUBSTRACT A, B FROM C C = C – A – BSUBSTRACT A FROM B GIVING C C = B – ASUBSTRACT 20 FROM 80 GIVING C C = 80 – 20SUBSTRACT 20, 15 FROM 100 GIVING B B = 100 – 20 – 15 = 65

MULTIPLYDigunakan 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 * DMULTIPLY A BY 25 GIVING C C = A * 25

DIVIDEDigunakan untuk membentuk statement operasi pembagian .Bentuk Statemen DIVIDE yang ke-1 :

CONTOH :DIVIDE A INTO B B = B / A

18

Nama-data-1MULTIPLY literal-1 BY nama-data-2

[;ON SIZE ERROR imperative statement]

Nama-data-1 nama-data-2MULTIPLY literal-1 BY literal-2

GIVING nama-data-3 [ROUNDED][;ON SIZE ERROR imperative statement]

Nama-data-1DIVIDE literal-1 INTO nama-data-2 [ ROUNDED]

[;ON SIZE ERROR imperative statement]

Page 19: TPT - Pert4. Procedure Division.doc (123Kb)

Teknik Pemrograman Terstruktur 1 ( COBOL )

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 / BDIVIDE 100 BY 50 GIVING Z Z = 2

Bentuk Statement DIVIDE yang ke-4 :

Contoh :DIVIDE A INTO B GIVING HASIL REMAINDER SISABILA A = 2, B = 5 MAKA HASIL = 2 SISA =1

Bentuk Statemen DIVIDE yang ke-5 :

CONTOH :DIVIDE A BY B GIVING D REMAINDER SISA

19

Nama-data-1 nama-data-2DIVIDE literal-1 INTO literal-2

GIVING nama-data-3 [ROUNDED][;ON SIZE ERROR imperative statement]

Nama-data-1 nama-data-2DIVIDE literal-1 BY literal-2

GIVING nama-data-3 [ROUNDED][;ON SIZE ERROR imperative statement]

Nama-data-1 nama-data-2DIVIDE literal-1 INTO literal-2

GIVING nama-data-3 [ROUNDED]REMAINDER nama-data-4[;ON SIZE ERROR imperative statement]

Nama-data-1 nama-data-2DIVIDE literal-1 BY literal-2

GIVING nama-data-3 [ROUNDED]REMAINDER nama-data-4[;ON SIZE ERROR imperative statement]

Page 20: TPT - Pert4. Procedure Division.doc (123Kb)

Teknik Pemrograman Terstruktur 1 ( COBOL )

BILA A = 110 , B = 20 MAKA D = 5 SISA =10

COMPUTEMempergunakan 4 arithmatika verbs untuk perhitungan arithmatika tunggal dan sederhana.Bentuk Umum :

CONTOH :MULTIPLY A BY D GIVING C COMPUTE C = A * DY = A 5 COMPUTE Y = A**5Y = A + B COMPUTE Y = ( A + B ) / C

CROUNDED :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 RelationalLebih kecil dari < LESS THANLebih besar dari > GREATER THANSama dengan = EQUAL TOLebih kecil atau sama dengan NOT> NOT GREATER THANLebih besar atau sama dengan NOT< NOT LESS THANTidak sama dengan NOT= NOT EQUAL TO

20

COMPUTE nama-data-1 [ROUNDED] = ungkapan arithmatika

[;ON SIZE ERROR imperative statement]

Page 21: TPT - Pert4. Procedure Division.doc (123Kb)

Teknik Pemrograman Terstruktur 1 ( COBOL )

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 PenulisanA + B A + BA + BC + D

( A + B ) / ( C + D )

A2

( B + C )3A * * 2 / ( B + C ) * * 3

Ungkapan Arithmatika banyak digunakan pada verb COMPUTE ( lihat bab 12).

21