TEKHNIK 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 verb

  GO TO membentuk loncatan tanpa syarat, yaitu program proses meloncat langsung tanpa syarat ke nama paragraph yang di tunjuk. Bentuk Umum nya : Statement GO TO harus selalu diikuti oleh nama-paragraph.

  Contoh : MOVE A TO B GO TO ALINEA-5.

  ALINEA-4.

  ADD X TO Y. ALINEA-5.

  MULTIPLY X BY Y.  GO TO …….. DEPENDING verb

  GO TO …. DEPENDING verb akan membentuk statement yang akan membawa proses meloncat ( GO TO ) ke suatu nama-paragraph tergantung dari (DEPENDING) nilai nama- data yang ditunjukkan dalam statement ini. Bentuk Umumnya : 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.

  GO TO nama-paragraph

  GO TO nama-paragraph-1, nama-paragraph-2,… nama-paragraph-n DEPENDING ON nama-data.

   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 nama-paragraph-1 nama-paragraph-2 THRU 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 :

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

  Nama-data Numerik-integer TIMES

  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 : PERFORM nama-paragraph-1 THROUGH nama-paragraph-2

  THRU UNTIL kondisi

  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.

  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

  Integer-6 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 :

  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 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 : nama-data POSITIVE

  IF ungkapan IS [NOT] NEGATIVE imperative statement Arithmatika ZERO 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 :

  NUMERIC

  IF nama-data IS [NOT] ALPHABETIC imperative statement 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 :

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

  Dengan statement kondisi ini, bila (IF) suatu kondisi terpenuhi,maka akan dikerjakan suatu proses yaitu statement-1 atau statement berikutnya (NEXT SENTENCE). Sebaliknya (ELSE) bila kondisi tidak terpenuhi,maka akan dikerjakan proses yang lain yaitu statement-2 atau statement berikutnya ( NEXT SENTENCE ). Contoh : IF KODE = 1 GO TO KREDIT ELSE GO TO DEBET.

   Kondisi dari nama-kondisi Suatu nama kondisi dimulai dengan level number 88 ( harus) pada DATA DIVISION.

  Sedangkan pada PROCEDURE DIVISION statement kondisi dari nama-kondisi adalah suatu statement kondisi yang menyeleksi isi dari nilai data yang dikandung oleh nama- kondisi tersebut.  Kondisi Jamak

  Kondisi jamak adalah kondisi yang lebih dari sebuah kondisi, yang merupakan gabungan beberapa kondisi tunggal ( sederhana ). Beberapa kondisi bisa digabungkan dengan menggunakan tanda operasi boolean, yaitu : OR, AND dan NOT 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
  • OPEN OUTPUT
  • OPEN I-O

  Menunjukkan file yg akan dibuka sbg file input, atau data yg akan dibaca ( READ ) dari file ini.

  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

  Menunjukkan file yg dibuka sebagai file-input dan juga sebagai file-output, yaitu file yg dibuka untuk tujuan sbg input & output sekaligus dapat dibaca & dimodifikasi.

  CLOSE verb

  Setelah operasi file selesai, maka semua file yg digunakan atau file yg masih terbuka harus ditutup kembali guna mencegah rusaknya struktur dari file.

  Bentuk umum :

  CLOSE nama-file1 [ WITH LOCK ][ , nama-file2 [ WITH LOCK ] ] LOCK digunakan bila file yg sudah ditutup tidak dapat dibuka pd saat proses berlangsung, tetapi bila proses sudah dihentikan dan program dijalankan lagi file dapat dibuka kembali.

  WRITE verb Digunakan untuk menampilkan output ke printer atau merekam data ke file yg ditunjuk.

  Bentuk umum :

  WRITE nama-record [ FROM nama-data1 ] BEFORE ADVANCING { nama-data2 / int } [ LINE ] AFTER PAGE [ LINES ]

  [ ; AT { END OF PAGE/EOP } statement imperatif ]

  Keterangan :

  • statement WRITE

  Penulisan statement WRITE harus diikuti oleh nama-record dg level-number 01 pd FD di dalam DATA DIVISION yg dihubungkan dg suatu file yg dibuka. Jika file yg dibuka berupa disk-file, maka statement WRITE berfungsi untuk merekam data ke dalam file tersebut. Jika file yg dibuka berupa print-file, maka data akan dicetak pd printer.

  • BEFORE option

  Menunjukkan banyaknya spasi baris pencetakan antara baris yg sedang dicetak pd kertas printer dg baris pencetakan selanjutnya.

  • AFTER option

  Menunjukkan banyaknya spasi baris pencetakan antara baris yang sedang dicetak pada kertas di printer dengan baris pencetakkan sebelumnya.

  • ADVANCING option

  Menunjukkan banyaknya spasi baris pencetakkan yang digunakan oleh BEFORE atau AFTER option, yg ditunjukkan oleh nilai integer atau nama-data2. integer 0 tanpa spasi integer 1 1 spasi baris integer 2 2 spasi baris integer 3 3 spasi baris

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

  • PAGE option

  Digunakan bila data yg dicetak sebelum atau sesudah printer menempati posisi pd halaman baru selanjutnya.

  • END OF PAGE atau EOP phrase Menunjukkan baris yg terakhir dalam 1 halaman pencetakan diprinter.

  READ verb Digunakan untuk membaca record yg ada pd file.

  Bentuk umum :

  READ nama-file RECORD [ INTO nama-data ] [ ; AT END statement imperatif ].

  Keterangan :

  • INTO option

  Digunakan bila data record yg dibaca akan dipindahkan secara langsung ke nama-data tertentu.

  • AT END clause Digunakan untuk mengetahui apakah data yg dibaca sudah habis.

  contoh : PROCEDURE DIVISION.

  • BUKA-FILE. OPEN INPUT NILAI.

  BACA-DATA.

  READ NILAI INTO NILAI1 AT END GO TO SELESAI. TAMPILKAN. DISPLAY NILAI. GO TO BACA-DATA. SELESAI. CLOSE NILAI. STOP RUN.

  REWRITE verb

  Digunakan untuk merekam ulang record yg sudah pernah direkam. Biasanya digunakan untuk memodifikasi atau memperbaiki data. Record yg direkam ulang adl record terakhir yg dibaca.

  Bentuk umum :

  REWRITE nama-record [ FROM nama-data ]

  Keterangan :

   Pada waktu REWRITE dilaksanakan, maka file sudah harus dibuka sebagai input- output file (OPEN I-O)  Nama record setelah perintah REWRITE adl nama record yg sudah dijelaskan dalam

  DATA DIVISION pd FILE SECTION  Jika digunakan FROM, record akan direkam ulang dg nilai data yg ada pd nama data setelah perintah FROM tersebut