Program COBOL - Array Dimensi Tiga
Kodingannya :
1.
IDENTIFICATION DIVISION.
2.
PROGRAM-ID. dimensi3.
3.
ENVIRONMENT DIVISION.
4.
DATA DIVISION.
5.
6.
WORKING-STORAGE SECTION.
7.
01 ws-subscript.
8.
02 subscript-cabang PIC 9.
9.
02 subscript-bulan PIC 9.
10.
02 cabang OCCURS 3 TIMES.
11.
03 bulan OCCURS 3 TIMES.
12.
04 jumlah-unit-terjual PIC 99.
13. 77 total-penjualan-cabang PIC 99 VALUE 0.
14.
15. PROCEDURE DIVISION.
16.
program-utama.
17.
PERFORM entry-tabel.
18.
PERFORM tampilkan-tabel.
19.
STOP RUN.
20.
21.
isi-data-tabel.
22.
DISPLAY 'Cabang ', subscript-cabang,
23.
' Bulan ', subscript-bulan, ' : '.
24.
ACCEPT , jumlah-unit-terjual
25.
(subscript-cabang, subscript-bulan).
26.
DISPLAY SPACE.
27.
28.
entry-tabel.
29.
DISPLAY 'Pemasukan data ke dalam tabel dimensi
tiga: '.
30.
PERFORM isi-data-tabel
31.
VARYING subscript-cabang FROM 1 BY 1
32.
UNTIL subscript-cabang > 3
33.
AFTER subscript-bulan FROM 1 BY 1
34.
UNTIL subscript-bulan > 3.
35.
36.
display-data-tabel.
37.
DISPLAY , 'Cabang ', subscript-cabang,
38.
' Bulan ', subscript-bulan, ' : ',
39.
jumlah-unit-terjual (subscript-cabang, subscript-bulan).
40.
DISPLAY SPACE.
41.
ADD jumlah-unit-terjual (subscript-cabang, subscript-bulan)
42.
TO total-penjualan-cabang.
43.
IF (subscript-bulan = 3)
44.
DISPLAY '*** Total penjualan per cabang = ',
45.
total-penjualan-cabang.
46.
47.
tampilkan-tabel.
48.
DISPLAY 'Menampilkan isi tabel berdimensi tiga :
'.
49.
PERFORM display-data-tabel
50.
VARYING subscript-cabang FROM 1 BY 1
51.
UNTIL subscript-cabang > 3
52.
AFTER subscript-bulan FROM 1 BY 1
53.
UNTIL subscript-bulan > 3.
Algoritmanya :
1. Deklarasikan variabel subscript-cabang dan subscript-bulan
dengan PIC 9,
variabel cabang dan bulan dengan OCCURS 3 TIMES (batas perulangan
sampai 3x),
variabel jumlah-unit-terjual dengan PIC 99 dan total-penjualan-cabang
dengan PIC 99 VALUE 0.
2. Pada procedure isi-data-tabel digunakan untuk
menampilkan cabang ke berapa dan bulan ke berapa dengan perintah DISPLAY,
kemudian ACCEPT digunakan untuk memanggil kembali nilai-nilai yang diinput
sehingga muncul sesuai dengan DISPLAY yang dibuat.
3. Pada procedure entry-tabel hanya perlu
memanggil procedure isi-data tabel yang sudah dibuat dengan
perintah PERFORM.
VARYING subscript-cabang FROM 1 BY 1
UNTIL subscript-cabang > 3
AFTER subscript-bulan FROM 1 BY 1
UNTIL subscript-bulan > 3.
Maksud dari kodingan diatas adalah perintah program untuk
melakukan looping sebanyak subscript-cabang satu demi satu sampai dengan
subscript-cabang. Saat sudah mencapai lebih dari 3, maka program akan
me-looping subscript-bulan sampai 3x juga.
4. Pada procedure display-data-tabel akan
memproses dari procedure entry-label yang ketika
subscript-bulan melebihi dari 3 maka akan lanjut ke procedure
display-data-tabel ini. Cabang dan bulan akan ditampilkan beserta hasil yang
telah diinput pada variabel jumlah-unit-terjual.
ADD jumlah-unit-terjual (subscript-cabang, subscript-bulan)
TO total-penjualan-cabang.
IF (subscript-bulan = 3)
DISPLAY '*** Total penjualan per cabang = ',
total-penjualan-cabang.
Maksudnya adalah menambahkan jumlah-unit-terjual dengan parameter
subscript-cabang dan subscript-bulan yang telah diinput sampai
total-penjualan-cabang. Jika di setiap subscript-bulan sama dengan 3, maka akan
ditampilkan hasil totalnya setiap 3 inputan dan totalnya akan terus bertambah
sampai cabang dan bulan terakhir.
5. Pada procedure tampilkan-tabel hampir sama
seperti procedure entry-tabel, yaitu lakukan PERFORM display-data-tabel disertai
looping seperti sebelumnya.
6. Procedure terakhir yang digunakan adalah procedure program-utama.
Di dalam procedure ini kita hanya perlu memanggil prosedure-prosedure
sebelumnya menggunakan perintah PERFORM dan jangan lupa untuk mengetikkan
perintah STOP RUN untuk mengakhiri program.
Comments
Post a Comment