LISTING PROGRAM
IDENTIFICATION DIVISION.
PROGRAM-ID AAA.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 TINGGI PIC 99.
77 JJ PIC 99.
77 SPAS PIC 99.
SCREEN SECTION.
01 CLS.
02 BLANK SCREEN.
PROCEDURE DIVISION.
MULAI.
DISPLAY CLS.
DISPLAY ( , )"MASUKKAN ANGKA : ".
ACCEPT TINGGI.
COMPUTE JJ = TINGGI.
COMPUTE SPAS = 1.
MULAI2.
IF JJ NOT< 1 GO TO ULANG.
STOP RUN.
ULANG.
PERFORM BINTANG JJ TIMES.
PERFORM KOSONG SPAS TIMES.
DISPLAY SPACE.
COMPUTE SPAS = SPAS + 1.
COMPUTE JJ = JJ - 1.
GO TO MULAI2.
BINTANG.
DISPLAY ( , ) "*".
KOSONG.
DISPLAY ( , ) " ".
PROGRAM-ID AAA.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 TINGGI PIC 99.
77 JJ PIC 99.
77 SPAS PIC 99.
SCREEN SECTION.
01 CLS.
02 BLANK SCREEN.
PROCEDURE DIVISION.
MULAI.
DISPLAY CLS.
DISPLAY ( , )"MASUKKAN ANGKA : ".
ACCEPT TINGGI.
COMPUTE JJ = TINGGI.
COMPUTE SPAS = 1.
MULAI2.
IF JJ NOT< 1 GO TO ULANG.
STOP RUN.
ULANG.
PERFORM BINTANG JJ TIMES.
PERFORM KOSONG SPAS TIMES.
DISPLAY SPACE.
COMPUTE SPAS = SPAS + 1.
COMPUTE JJ = JJ - 1.
GO TO MULAI2.
BINTANG.
DISPLAY ( , ) "*".
KOSONG.
DISPLAY ( , ) " ".
LOGIKA PROGRAM
IDENTIFICATION DIVISION.
PROGRAM-ID AAA.
ENVIRONMENT DIVISION.
PROGRAM-ID AAA.
ENVIRONMENT DIVISION.
Untuk
mengawali pembuatan program harus memulai menulis sintak pada kolom ke-8 ( 8
spasi).Identification
Division yang berfungsi untuk memberi identitas program, seperti
judul program, nama pembuat, dan lain-lain. Program-ID merupakan
penamaan judul program. Dalam hal ini judulnya adalah LA3. Dalam program ini kita tidak menggunakan Environment Division namun
kita harus tetap menuliskan divisinya.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 TINGGI PIC 99.
77 JJ PIC 99.
77 SPAS PIC 99.
Selanjutnya mendeklarasikan variabel. Data
division adalah tempat untuk mendeklarasikan variabel di program
cobol. Kemudian ada Working-Storage Section
yang merupakan bagian dari Data Division yang berfungsi untuk
mengidentifikasi variabel dalam program. Variabel yang dideklarasikan sebagai
berikut :
- · TINGGI dengan picture clause 99 yang artinya variabel TINGGI akan diisi dengan dengan data numeric sebanyak 2 karakter.
- · JJ dengan picture clause 99 yang artinya variabel JJ akan diisi dengan dengan data numeric sebanyak 2 karakter.
- · SPAS dengan picture clause 99 yang artinya variabel SPAS akan diisi dengan dengan data numeric sebanyak 2 karakter.
SCREEN SECTION.
01 CLS.
02 BLANK SCREEN.
Di
dalam SCREEN SECTION terdapat CLS . Di dalam CLS terdapat blank screen yang berfungsi untuk
menghapus layar yang ada pada comand line.
PROCEDURE DIVISION.
MULAI.
DISPLAY CLS.
DISPLAY ( , )"MASUKKAN ANGKA : ".
ACCEPT TINGGI.
COMPUTE JJ = TINGGI.
COMPUTE SPAS = 1.
PROCEDURE DIVISION
merupakan inti dari program yang akan kita buat karena seluruh sintaks dari
inputan sampai dengan menghasilkan output terdapat dalam divisi ini. Pada
program ini terdapat tiga prosedur yaitu prosedur MULAI, MULAI2, ULANG, BINTANG, KOSONG.
Pada prosedur MULAI
pertama mencetak CLS yang berfungsi menghapus layar di command line, lalu
mencetak “MASUKKAN ANGKA : “ hasil inputan dimasukkan kedalam variabel TINGGI,
kemudian nilai dari variabel JJ dibuat sama dengan nilai dari variabel TINGGI.
Dan variabel SPAS diberi nilai awal 1.
MULAI2.
IF JJ NOT< 1 GO TO ULANG.
STOP RUN.
ULANG.
PERFORM BINTANG JJ TIMES.
PERFORM KOSONG SPAS TIMES.
DISPLAY SPACE.
COMPUTE SPAS = SPAS + 1.
COMPUTE JJ = JJ - 1.
GO TO MULAI2.
Pada
procedure MULAI2 terdapat percabangan if dengan kondisi jika nilai variabel JJ
lebih kecil atau sama dengan 1 maka akan menjalankan procedure ULANG. Lalu
program berhenti.
Pada
procedure ULANG, terdapat perulangan perform, yang akan menjalankan procedure
BINTANG sebanyak nilai dari variabel JJ. Lalu menjalankan procedure KOSONG
sebanyak nilai dari variabel SPAS. Lalu mencetak kosong. Kemudian nilai dari
variabel SPAS akan di tambah 1 dan variabel JJ dikurang 1. Lalu menjalankan procedure
MULAI2.
BINTANG.
DISPLAY ( , ) "*".
KOSONG.
DISPLAY ( , ) " ".
Pada
procedure BINTANG hanya mencetak kosong, lalu pada procedure KOSONG hanya
mencetak “*”.
EmoticonEmoticon