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)

Review Film Asimetris

Perancangan Konseptual