Rabu, 12 November 2014

Program Perulangan Bahasa Pemrograman COBOL.

Dalam kesempatan kali ini, kita akan membuat program segitiga menggunakan perulangan dalam bahasa cobol. Perulangan disini kita memakai varying, dan perform untuk memanggil sebuah paragraph/prosedur. Langsung saja, untuk membuat program ini, pertama kita buat dulu kodingannya dalam text editor sebagai berikut :
Jangan lupa perhatikan urutan divisi dan sectionnya, serta kolom ketika menulis program agar menghindari kesalahan saat dicompile. Jika sudah membuat program seperti diatas, buka command prompt dan masuk pada direktori cobol. Setelah itu, compile program, karena program ini saya berinama seg.cob, maka ketik “COBOL SEG.COB” untuk mengcompile program. Pastikan tidak terjadi error atau kesalahan ketika dicompile seperti gambar berikut :

Didalam dialog terdapat kalimat “no errors or warnings” artinya penulisan program bebas dari pesan kesalahan. Setelah itu, kita run program dengan mengetikkan “RUNCOB SEG.COB”. Maka akan muncullah output dari program berupa segitiga seperti gambar berikut :

LOGIKA PROGRAM.
Berikut adalah penjelasan program dari masing-masing division:
-          IDENTIFICATION DIVISION
Identification division adalah divisi dimana kita menuliskan identitas dari program yang kita buat, komentar, tanggal compile, dll. Tapi didalam program ini, kita hanya menuliskan program-id dan nama author saja. Sebenarnya masih banyak yang bisa kita tambahkan pada identification division ini, tergantung kebutuhan pemakai.
-          DATA DIVISION
A. WORKING-STORAGE SECTION.
Adalah section dimana kita mendeklarasikan variabel-variabel yang akan digunakan didalam program. Didalam program ini, dideklarasikan 3 buah variabel dengan level number 77. Level number 77 sendiri adalah untuk mendeklarasikan variabel yang berdiri sendiri(independent) dan ditulis didalam area A.
3 buah variabel yang dideklarasikan adalah:
K PIC 99 : variabel bernama K dengan tipe numeric dan mampu menampung 2 digit angka.
L PIC 99 : variabel bernama L dengan tipe numeric dan mampu menampung 2 digit angka.
J PIC ZZ : variabel bernama J dengan tipe receiving field yaitu penerima nilai dengan maksimum 2 karakter.
B. SCREEN SECTION.
Screen section berguna untuk mengatur dan mendeklarasikan tampilan-tampilan pada saat program berjalan. Didalam program ini didalam screen section hanya dideklarasikan CLS dengan statement “blank screen” yang berguna untuk mengosongkan layar.
-          PROCEDURE DIVISION.
Procedure division adalah tempat dimana kita mengatur susunan tampilan atau langkah-langkah yang akan program lakukan. Didalam program ini, dimulai dengan statement cls yang berfungsi untuk mengosongkan layar. Kemudian dibawahnya ada statement seperti berikut :
PERFORM TAMPILKAN.
Maksud dari statement ini adalah program akan mengerjakan prosedur TAMPILKAN terlebih dahulu sampai selesai. Dibelakang statement perform dan varying kita tidak berikan titik karena program atau statement itu masih menyatu. Jika diberikan titik maka akan error. Kemudian diketahui didalam statement varying, nilai L awal adalah 1 dan kondisi tidak terpenuhi dari nilai L adalah lebih dari 10, sedangkan untuk K nilai awal adalah 1 dan kondisi terpenuhi sampai nilai K lebih besar dari L. maka nilai K yang adalah 1 akan dipindahkan ke variabel J sehingga nilai J sekarang adalah 1. Ini sebenarnya tidak akan digunakan, karena yang dikondisikan hanya L dan K. kemudian program akan mencetak bintang dan satu spasi dibelakangnya. Karena nilai L sudah sama dengan K (sama-sama 1) maka program akan melakukan display space yang berfungsi sebagai enter.
*
Nilai L akan ditambah menjadi 2. Dan statement after kembali mengulang nilai dari 1, sehingga kali ini karena nilai L 2, maka segitiga akan tercetak sebanyak dua kali dalam 1 baris. Kemudian nilai L dan K telah sama-sama 2, maka program akan mengenter output kebawah dan menambah nilai L dari 2 menjadi 3.
*
* *
Nilai K kembali menjadi 1, dan sekarang segitiga akan tercetak sebanyak 3 kali. Dan nilai L dan K sekarang telah sama-sama 3, maka akan kembali enter.
*
* *
* * *
Nilai L menjadi 4 dan nilai K kembali menjadi 1, sekarang segitiga  tercetak sebanyak 4 dalam satu baris.
*
* *
* * *
* * * *

Dan begitupun seterusnya sampai nilai L lebih dari 10. Bila nilai L sudah lebih dari 10, maka program akan selesai karena kondisi/syaratnya tidak terpenuhi lagi.
Sekian dari saya, mohon maaf bila ada kekurangan atau kesalahan dalam menjelaskan program.

Terima Kasih.

2 komentar: