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 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.
GO TO nama-paragraph
ALTER Verb
Alter berguna untuk merubah arah tujuan proses dari statement GO TO yang telah ada didalam program.
Bentuk Umumnya :
Contoh :
Outputnya :
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 :
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 SELESAI GO TO TAMPILKAN.
SELESAI.
STOP RUN.
THROUGH
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.
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 : 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.
PERFORM nama-paragraph-1 THROUGH
THRU nama-paragraph-2 Nama-data
Numerik-integer TIMES
PERFORM nama-paragraph-1 THROUGH nama-paragraph-2 THRU
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 Verb
Statement EXIT berfungsi untuk melakukan loncatan ke akhir paragraph yang di proses oleh PERFORM verb.
PERFORM nama-paragraph-1 THROUGH nama-paragraph-2 THRU
VARYING nama-data-1 FROM nama-data-2 Nama-index-1 integer-1
Nama-index-2 BY nama-data-3 UNTIL kondisi-1
Integer-2
AFTER nama-data-4 FROM nama-data-5 Nama-index-3 integer-3
Nama-index-4 BY nama-data-6 UNTIL kondisi-2
Integer-4 AFTER nama-data-7 FROM nama-data-8
Nama-index-5 integer-5 Nama-index-6 BY nama-data-9 UNTIL kondisi –3
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 :
IS [NOT] LESS THAN
Nama-data-1 IS [NOT] < nama-data-2 Literal-1 IS [NOT] EQUAL TO literal-2
IF lingkaran IS [NOT] = lingkaran imperative Arithmatika IS [NOT] GREATER THAN arithmatika statement
IS [NOT] >
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 :
Contoh :
01 BIAYA.
02 BIAYA-VARIABEL PIC 9(5). 02 BIAYA-TETAP PIC 9(5). IF BIAYA - VARIABEL IS NOT NUMERIC GO TO BERHENTI.
ATAU
01 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 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 :
NUMERIC
IF nama-data IS [NOT] ALPHABETIC imperative statement
IF kondisi statement-1 ELSE statement-2
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
Contoh :
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 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
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.
- 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