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

Popular posts from this blog

Enhanced Entity Relationship Diagram (EERD)