Membuat Segitiga Angka dengan COBOL

LISTING PROGRAM


        IDENTIFICATION DIVISION.
        PROGRAM-ID LA3.
        ENVIRONMENT DIVISION.
        DATA DIVISION.
        WORKING-STORAGE SECTION.
        77 BIL PIC 9.
        77 ANGKA PIC 9.
        77 LOOP PIC 99.
        SCREEN SECTION.
        01 CLS.
            02 BLANK SCREEN.
        01 INPUTAN.
             02 LINE 5 COLUMN 5 VALUE "MASUKKAN ANGKA : ".
             02 COLUMN PLUS 1 PIC 9 TO BIL.
        PROCEDURE DIVISION.
        MULAI.
            DISPLAY CLS.
            DISPLAY INPUTAN.
            ACCEPT INPUTAN.
            DISPLAY CLS.
            COMPUTE ANGKA = 1.
            COMPUTE COL = 1.
            COMPUTE LOOP = 0.
            COMPUTE BIL = BIL + 1.
            PERFORM CETAK BIL TIMES.
            STOP RUN.
        CETAK.
            PERFORM CETAK2 LOOP TIMES.
            COMPUTE LOOP = LOOP + 1.
            COMPUTE LIN = LIN + 1.
            COMPUTE ANGKA = 1.
            COMPUTE COL = 1.
        CETAK2.
             DISPLAY (LIN,COL) ANGKA.
             COMPUTE COL = COL + 3.
             COMPUTE ANGKA = ANGKA + 1.


LOGIKA PROGRAM

        IDENTIFICATION DIVISION.
        PROGRAM-ID LA3.
        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 BIL PIC 9.
        77 ANGKA PIC 9.
        77 LOOP 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 :
·         BIL dengan picture clause 9 yang artinya variabel BIL akan diisi dengan dengan data numeric  sebanyak 1 karakter.
·         ANGKA dengan picture clause 9 yang artinya variabel ANGKA akan diisi dengan dengan data numeric  sebanyak 1 karakter.
·         LOOP dengan picture clause  99 yang artinya variabel LOOP akan diisi dengan dengan data numeric  sebanyak 2 karakter.

       SCREEN SECTION.
        01 CLS.
            02 BLANK SCREEN.
        01 INPUTAN.
             02 LINE 5 COLUMN 5 VALUE "MASUKKAN ANGKA : ".
             02 COLUMN PLUS 1 PIC 9 TO BIL.

Di dalam SCREEN SECTION terdapat CLS dan inputan. Di dalam CLS  terdapat blank screen yang berfungsi untuk menghapus layar yang ada pada comand line. Di dalam inputan mencetak “Masukkan angka “ pada baris 5 dan kolom 5, lalu pada kolom plus 1 berarti kolom ke 6 menginput angka dan disimpan ke dalam variabel BIL.

        PROCEDURE DIVISION.
        MULAI.
            DISPLAY CLS.
            DISPLAY INPUTAN.
            ACCEPT INPUTAN.
            DISPLAY CLS.
            COMPUTE ANGKA = 1.
            COMPUTE COL = 1.
            COMPUTE LOOP = 0.
            COMPUTE BIL = BIL + 1.
            PERFORM CETAK BIL TIMES.
            STOP RUN.

            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, CETAK, CETAK2.
            Pada prosedur MULAI pertama mencetak CLS yang berfungsi menghapus layar di command line, lalu mencetak isi dari INPUTAN dan menerima input dari perintah ACCEPT  kemudian mencetak kembali CLS. Selanjutnya memberi nilai 1 pada variabel ANGKA, dan COL, lalu memberi nilai 0 pada variabel LOOP. Variabel BIL akan selalu di tambah 1 setiap prosedur MULAI dijalankan. Selanjutnya menjalankan prosedur cetak sebanyak nilai dari variabel BIL. Kemudian program selesai.

           CETAK.
            PERFORM CETAK2 LOOP TIMES.
            COMPUTE LOOP = LOOP + 1.
            COMPUTE LIN = LIN + 1.
            COMPUTE ANGKA = 1.
            COMPUTE COL = 1.

            Pada prosedur CETAK ada perintah yang akan menjalankan prosedur CETAK2 sebanyak nilai dari variabel LOOP, kemudian variabel LOOP dan LIN akan terus ditambah 1 setiap prosedur ini dijalankan. Lalu memberikan nilai 1 pada variabel ANGKA dan COL.

             CETAK2.
             DISPLAY (LIN,COL) ANGKA.
             COMPUTE COL = COL + 3.
             COMPUTE ANGKA = ANGKA + 1.     


            Pada prosedur CETAK2 ada perintah DISPLAY untuk mencetak variabel ANGKA yang sudah diproses tadi. Kemudian COL akan terus ditambah 3 selama prosedur CETAK2 dijalankan dan variabel ANGKA akan terus ditambah 1 selama prosedur CETAK2 dijalankan.

OUTPUT PROGRAM


EmoticonEmoticon