Senin, 04 November 2019

COBOL ARRAY DIMENSI TIGA

       





1.      IDENTIFICATION DIVISION.
2.      PROGRAM-ID. Coba.
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.







ALGORITMA .


  •       Pertama buatlah variabel cabang(PIC 9) dan bulan(PIC 9)  dengan batas pengulangan 3 kali 

buat juga variabel jumlah unit (PIC 99) dan variabel total penjualan cabang (PIC99) dengan value 0.

 WORKING-STORAGE SECTION.
 01 ws-subscript.
02 subscript-cabang PIC 9.
02 subscript-bulan PIC 9.
 02 cabang OCCURS 3 TIMES.
03 bulan OCCURS 3 TIMES.
 04 jumlah-unit-terjual PIC 99.

77 total-penjualan-cabang PIC 99 VALUE 0.


  •       Buatlah sebuah procedure division digunakan untuk pengulangan


PROCEDURE DIVISION.
 program-utama.
 PERFORM entry-tabel.
 PERFORM tampilkan-tabel.

 STOP RUN.


  •      Selanjutnya buatlah sebuah procedure guna menampilkan cabang dan bulan  dengan sebuah perintah DISPLAY ,lalu gunakan perintah ACCEPT guna untuk memanggil nilai yang diinput yang akan muncul  pada perintah display yang dibuat.




  isi-data-tabel.
 DISPLAY 'Cabang ', subscript-cabang,
 ' Bulan ', subscript-bulan, ' : '.
 ACCEPT , jumlah-unit-terjual
 (subscript-cabang, subscript-bulan).

 DISPLAY SPACE.




  •          Untuk procedur entry  hanya memerlukan pemanggilan terhadap isi table yang sudah dibuat pada perintah PERFORM.


 entry-tabel.
 DISPLAY 'Pemasukan data ke dalam tabel dimensi tiga: '.
 PERFORM isi-data-tabel
 VARYING subscript-cabang FROM 1 BY 1
 UNTIL subscript-cabang > 3
 AFTER subscript-bulan FROM 1 BY 1
 UNTIL subscript-bulan > 3.

 display-data-tabel.
 DISPLAY , 'Cabang ', subscript-cabang,
 ' Bulan ', subscript-bulan, ' : ',
 jumlah-unit-terjual (subscript-cabang, subscript-bulan).
 DISPLAY SPACE.
 ADD jumlah-unit-terjual (subscript-cabang, subscript-bulan)
TO total-penjualan-cabang.
 IF (subscript-bulan = 3)
 DISPLAY '*** Total penjualan per cabang = ',

 total-penjualan-cabang.      


  •            Pada script diatas digunakan sebuah looping yakni di gunakan pada saat pengulangan entry sudah 3x maka akan dilanjutkan ke program berikutnya yakni penjumlahan total hasil entry percabang yang di  simpan pada total penjualan cabang.