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 : Nama-data-1 To nama-data-2 [, nama-data-3 ] ….. MOVE Literal 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 nama-data-1 TO nama-data-2. MOVE CORRESPONDING digunakan untuk memindahkan data dari group data item ke group data item yang lain yang bernama sama. 1 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 penerima Numerik integer Bentuk data pengirim Alphabetik Alphanumerik Numerik non integer Numerik yang di-edit Alphabetik Bisa Bisa Tidak Alphanumerik Bisa Bisa Bisa Numerik integer Tidak Bisa Bisa Numerik non integer Tidak Tidak Bisa Numerik yang di-edit Tidak Bisa Tidak Keterangan : Bila data mengandung tanda + atau - , maka tanda tersebut akan diabaikan. DISPLAY verb Dipergunakan untuk menampilkan hasil di layar ataupun di printer. Ada 3 bentuk statement DISPLAY : Bentuk Statement DISPLAY ke-1 : DISPLAY nama-layar Bentuk Statement DISPLAY ke-2 : Nama data ,nama-data …[UPON nama-mnemonik] DISPLAY Literal ,literal 2 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 namamnemonik. Bentuk Statement DISPLAY ke-3 : DISPLAY - Nama-data [posisi-tampilan] Literal ERASE …[UPON nama-mnemonik] Posisi-tampilan merupakan posisi baris dan kolom tertentu dari hasil yang akan ditampilkan di layar di printer. Posisi tampilan ini mempunyai bentuk : Lin [{ + }] integer-1 Integer-2 , COL [{+}] integer-3 integer-4 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 Teknik Pemrograman Terstruktur 1 ( COBOL ) ACCEPT verb Digunakan untuk memasukkan data lewat layar sewaktu program tersebut dijalankan(pada waktu runtime). Ada 4 bentuk statement ACCEPT : Bentuk statement ACCEPT ke-1 : ACCEPT nama-data 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 : ACCEPT nama-layar [ON ESCAPE statement-imperative ] Apabila ON ESCAPE diikutsertakan, maka statement-imperative yang mengikutinya akan dikerjakan. Bentuk Statement ACCEPT yang ke-3 : ACCEPT [posisi-layar] nama-data WITH ZERO – FILL SPACE – FILL LEFT – JUSTIFY RIGHT – JUSTIFY TRAILING – SIGN PROMPT UPDATE LENGTH – CHECK EMPTY – CHECK AUTO – SKIP NO – ECHO BEEP Posisi-layar menunjukkan letak dari posisi data yang akan dimasukkan pada layar. Posisi-layar ini mempunyai bentuk : Lin [{ + }] integer-1 Integer-2 , COL [{+}] integer-3 integer-4 ZERO-FILL phrase Bila posisi-posisi field data-item penerima data tidak diisi dengan data (langsung di tekan tombol RETURN), maka akan terisi dengan nilai nol. 4 Teknik Pemrograman Terstruktur 1 ( COBOL ) SPACE FILL phrase Bila posisi-posisi field data-item di layar tidak diisi dengan data (langsung ditekan tombol RETURN), maka akan terisi dengan nilai nol. LEFT-JUSTIFY phrase Tidak berfungsi dalam MS-COBOL. RIGHT-JUSTIFY phrase Menyebabkan setelah data dimasukkan, hasil akhir yang tampak dilayar akan rata di sebelah kanan. TRAILING – SIGN phrase Menyebabkan tanda operasi + atau – tampak diposisi paling kanan dari field data input. Biasanya tanda tersebut akan menempati posisi paling kiri. PROMPT phrase Menyebabkan tampilan untuk field data-item penerima berbentuk nol untuk posisi digit,titik untuk decimal point dan spasi untuk tanda operasi + atau -. UPDATE phrase Menyebabkan tampilan untuk field data-item penerima berbentuk nilai awal dari field penerima tersebut.UPDATE phrase ini berfungsi sama dengan FORM dan TO atau USING clause pada SCREEN SECTION dalam DATA DIVISION. LENGTH-CHECK phrase Menyebabkan penekanan tombol carriage-return tidak berfungsi kalau semua posisi field penerima belum penuh semua. LENGTH-CHECK phrase berfungsi sama dengan FULL clause pada SCREEN SECTION dalam DATA DIVISION. EMPTY-CHECK phrase Menyebabkan penekanan tombol carriage-return tidak berfungsi kalau tidak paling sedikit sebuah karakter atau angka yang bukan sifatnya terminator sudah dimasukkan. EMPTY – CHECK phrase berfungsi sama dengan REQUIRED clause pada SCREEN SECTION dalam DATA DIVISION. AUTO-SKIP phrase Menyebabkan proses pemasukkan data bergeser ke field penerima data lain berikutnya, bila posisi field penerima sudah penuh terisi tanpa harus ditekan tombol carriage-return atau tombol terminator yang lainnya. AUTO-SKIP berfungsi sama dengan AUTO clause pada SCREEN SECTION dalam DATA DIVISION. NO-ECHO phrase Menyebabkan data yang dimasukkan, tidak tampak di layar. NO-ECHO berfungsi sama dengan SECURE clause pada SCREEN SECTION dalam DATA DIVISION. BEEP phrase Menyebabkan bunyi bel sewaktu data dimasukkan. BEEP berfungsi sama dengan BELL clause pada SCREEN SECTION dalam DATA DIVISION. 5 Teknik Pemrograman Terstruktur 1 ( COBOL ) Bentuk Statement ACCEPT yang ke-4 : ACCEPT nama-data FROM DATE DAY TIME ESCAPE-KEY 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 : 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 DATE ACCEPT JULIAN FROM DAY ACCEPT JAM FROM TIME. TAMPILKAN. DISPLAY ‘ TANGGAL ADALAH : ‘, TANGGAL. DISPLAY ‘ JULIAN ADALAH : ‘, JULIAN. DISPLAY ‘ JAM ADALAH : ‘, JAM. STOP RUN. 6 Teknik Pemrograman Terstruktur 1 ( COBOL ) OUTPUT : TANGGAL ADALAH : 860807 JULIAN ADALAH : 86219 JAM ADALAH : 15305834 STOP verb Digunakan untuk menghentikan program baik secara permanen maupun secara sementara saja, yang kemudian proses program dapat dianjurkan kembali. Bentuknya : STOP Literal RUN 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 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 verb GO TO membentuk loncatan tanpa syarat, yaitu program proses meloncat langsung tanpa syarat ke nama paragraph yang di tunjuk. Bentuk Umum nya : GO TO nama-paragraph Statement GO TO harus selalu diikuti oleh nama-paragraph. Contoh : MOVE A TO B GO TO ALINEA-5. ALINEA-4. ADD X TO Y. ALINEA-5. MULTIPLY X BY Y. GO TO …….. DEPENDING verb GO TO …. DEPENDING verb akan membentuk statement yang akan membawa proses meloncat ( GO TO ) ke suatu nama-paragraph tergantung dari (DEPENDING) nilai nama-data yang ditunjukkan dalam statement ini. Bentuk Umumnya : GO TO nama-paragraph-1, nama-paragraph-2,… Contoh : nama-paragraph-n GO TO TEMPAT-1, TEMPAT-2, HABIS DEPENDING ON KODE. DEPENDING ON nama-data. 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 Teknik Pemrograman Terstruktur 1 ( COBOL ) ALTER Verb Alter berguna untuk merubah arah tujuan proses dari statement GO TO yang telah ada didalam program. Bentuk Umumnya : ALTER nama-paragraph-1 TO [ PROCEED TO] nama-paragraph-2 Contoh : 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. Outputnya : RUN. STOP 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 : THROUGH PERFORM nama-paragraph-1 nama-paragraph-2 THRU 9 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 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. 10 Teknik Pemrograman Terstruktur 1 ( COBOL ) Bentuk Umum ke-4 : PERFORM nama-paragraph-1 THROUGH paragraph-2 THRU VARYING nama-data-1 Nama-index-1 BY AFTER nama-data-3 Integer-2 nama-data-4 Nama-index-3 nama- FROM nama-data-2 integer-1 Nama-index-2 UNTIL kondisi-1 FROM nama-data-5 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 Bentuk ke-4 ini agak rumit. Dengan bentuk ini memungkinkan untuk memproses suatu Integer-6 paragraph berulang-kali dan akan menyebabkan ( VARYING) nama-data-1 atau namaindex-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. 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 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 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 : IF Nama-data-1 Literal-1 lingkaran Arithmatika IS [NOT] LESS THAN IS [NOT] < nama-data-2 IS [NOT] EQUAL TO literal-2 IS [NOT] = lingkaran imperative 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 : IF nama-data ungkapan IS [NOT] Arithmatika POSITIVE NEGATIVE ZERO imperative statement 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 Teknik Pemrograman Terstruktur 1 ( COBOL ) IF nama-data IS [NOT] NUMERIC 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 NEXT SENTENCE ELSE statement-2 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 namakondisi tersebut. 13 Teknik Pemrograman Terstruktur 1 ( COBOL ) 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 - OPEN I-O Menunjukkan file yg dibuka sebagai file-input dan juga sebagai file-output, yaitu file yg dibuka untuk tujuan sbg input & output sekaligus dapat dibaca & dimodifikasi. 14 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 AFTER { nama-data2 / int } [ LINE ] 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 15 Teknik Pemrograman Terstruktur 1 ( COBOL ) 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 namadata 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) 16 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 : ADD Nama-data-1 literal-1 nama-data-2 literal-2 …. TO nama-data-m [ROUNDED] [; ON SIZE ERROR statement imperative] CONTOH : ADD A TO B B=B+A ADD 30, B TO A A = A + 30 + B ADD A, B TO C C=C+A+B Bentuk ke-2 dari statement ADD : Nama-data-1 nama-data-2 nama-data-3 ADD ….GIVING nama-data-m [ROUNDED] Literal-1 literal-2 literal-3 CONTOH : statement ADD A, B GIVING[;ON C SIZE ERROR C = A + Bimperative] ADD 4,5 GIVING A A=4+5 SUBSTRACT VERB Digunakan untuk membentuk statement operasi arithmatika pengurangan suatu nilai operand numerik. Bentuk umumnya : Nama-data-1 nama-data-2 SUBSTRACT literal-1 literal-2 Nama-data-n FROM literal-n GIVING nama-data-m [ROUNDED] [;ON SIZE ERROR imperative-statement] 17 Teknik Pemrograman Terstruktur 1 ( COBOL ) CONTOH : SUBSTRACT A FROM B SUBSTRACT A, B FROM C SUBSTRACT A FROM B GIVING C SUBSTRACT 20 FROM 80 GIVING C SUBSTRACT 20, 15 FROM 100 GIVING B B=B–A C=C–A–B C=B–A C = 80 – 20 B = 100 – 20 – 15 = 65 MULTIPLY Digunakan untuk membentuk statement guna instruksi perkalian dua nilai numerik dan menyimpan hasilnya. Bentuk Umum Statement MULTIPLY ke-1 : Nama-data-1 MULTIPLY literal-1 BY nama-data-2 [;ON SIZE ERROR imperative statement] Contoh : MULTIPLY A BY B B=B*A Bentuk umum statement MULTIPLY ke-2 : MULTIPLY Nama-data-1 literal-1 BY nama-data-2 literal-2 GIVING nama-data-3 [ROUNDED] [;ON SIZE ERROR imperative statement] CONTOH : MULTIPLY A BY D GIVING C MULTIPLY A BY 25 GIVING C C=A*D C = A * 25 DIVIDE Digunakan untuk membentuk statement operasi pembagian . Bentuk Statemen DIVIDE yang ke-1 : DIVIDE Nama-data-1 literal-1 INTO nama-data-2 [ ROUNDED] [;ON SIZE ERROR imperative statement] CONTOH : DIVIDE A INTO B B=B/A 18 Teknik Pemrograman Terstruktur 1 ( COBOL ) Bentuk Statemen DIVIDE yang ke-2 : DIVIDE Nama-data-1 literal-1 INTO nama-data-2 literal-2 GIVING nama-data-3 [ROUNDED] [;ON SIZE ERROR imperative statement] CONTOH : DIVIDE A INTO B GIVING C C=B/A Bentuk Statemen DIVIDE yang ke-3 : DIVIDE Nama-data-1 literal-1 nama-data-2 literal-2 BY GIVING nama-data-3 [ROUNDED] [;ON SIZE ERROR imperative statement] CONTOH : DIVIDE A BY B GIVING C DIVIDE 100 BY 50 GIVING Z C=A/B Z=2 Bentuk Statement DIVIDE yang ke-4 : DIVIDE Nama-data-1 literal-1 INTO nama-data-2 literal-2 GIVING nama-data-3 [ROUNDED] REMAINDER nama-data-4 Contoh : [;ON SIZE ERROR imperative statement] DIVIDE A INTO B GIVING HASIL REMAINDER SISA BILA A = 2, B = 5 MAKA HASIL = 2 SISA =1 Bentuk Statemen DIVIDE yang ke-5 : DIVIDE Nama-data-1 literal-1 BY nama-data-2 literal-2 GIVING nama-data-3 [ROUNDED] REMAINDER nama-data-4 [;ON SIZE ERROR imperative statement] CONTOH : DIVIDE A BY B GIVING D REMAINDER SISA 19 Teknik Pemrograman Terstruktur 1 ( COBOL ) BILA A = 110 , B = 20 MAKA D = 5 SISA =10 COMPUTE Mempergunakan 4 arithmatika verbs untuk perhitungan arithmatika tunggal dan sederhana. Bentuk Umum : COMPUTE nama-data-1 [ROUNDED] = ungkapan arithmatika [;ON SIZE ERROR imperative statement] CONTOH : MULTIPLY A BY D GIVING C COMPUTE C = A * D 5 Y=A COMPUTE Y = A**5 Y=A+B COMPUTE Y = ( A + B ) / C C ROUNDED : Untuk membulatkan hasil perhitungan yang berbentuk pecahan. ON SIZE ERROR : Digunakan jika hasil perhitungan untuk digit – digit bilangan utuh tidak bisa masuk seluruhnya pada field penerima. OPERATOR ARITHMATIKA Adalah simbol yang digunakan untuk membentuk suatu ungkapan arithmatika,yaitu : Operator arithmatika ** * / + - Maksud Pangkat Kali Bagi Tambah Kurang jenjang 1 2 2 3 3 OPERATOR RELATIONAL Maksud Lebih kecil dari Lebih besar dari Sama dengan Lebih kecil atau sama dengan Lebih besar atau sama dengan Tidak sama dengan Operational Relational < LESS THAN > GREATER THAN = EQUAL TO NOT> NOT GREATER THAN NOT< NOT LESS THAN NOT= NOT EQUAL TO 20 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 A+B A+B C+D A2 ( B + C )3 Penulisan A+B (A+B) / (C+D) A**2/(B+C)**3 Ungkapan Arithmatika banyak digunakan pada verb COMPUTE ( lihat bab 12). 21