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.
thx bang alam, berkat artikel kamu saya jadi mengerti
BalasHapuseror ga bisa dirunning
BalasHapus