Sabtu, 07 Januari 2012

Contoh Program Menu dalam Cobol


       IDENTIFICATION DIVISION.
       PROGRAM-ID. SITI.
       AUTHOR. FANA.       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SOURCE-COMPUTER. TOSHIBA.
       OBJECT-COMPUTER. THOSHIBA.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 BIODATA.
           02 NAMA1 PIC A(16).
           02 NPM1 PIC 9(8).
           02 KELAS1 PIC X(5).
       01 EDIT.
           02 NAMA2 PIC A(4).
           02 NPM2 PIC Z(3).
           02 KELAS2 PIC X(3)/X(5).
       01 DAFTAR.
           02 NILAI1 PIC 99.
           02 NILAI2 PIC 99.
           02 NILAI3 PIC 99.
       01 JAWAB PIC X VALUE SPACE.
           88 LAGI VALUE "Y", "y".
           88 TIDAK VALUE "T", "t".
       77 PIL PIC X.
       SCREEN SECTION.
       01 HAPUS-LAYAR.
           02 BLANK SCREEN.
       01 MENU.
           02 LINE 2 COLUMN 20 VALUE '>>>MENU<<<', FOREGROUND-COLOR 9.
           02 LINE 3 COLUMN 20 VALUE '[1]. MASUKKAN DATA',
           FOREGROUND-COLOR 9, BACKGROUND-COLOR 4, BLINK.
           02 LINE 4 COLUMN 20 VALUE '[2]. LIHAT HASIL', HIGHLIGHT.
           02 LINE 5 COLUMN 20 VALUE '[3]. SELESAI', REVERSE-VIDEO.
           02 LINE 6 COLUMN 20 VALUE 'SILAKAN MASUKKAN PILIHAN ANDA'.
           02 COLUMN PLUS 2 PIC X TO PIL.
       01 INPUT-DATA.
           02 LINE 4 COLUMN 6 VALUE 'NAMA  : '.
           02 COLUMN PLUS 2 PIC A(16) TO NAMA1.
           02 LINE 5 COLUMN 6 VALUE 'NPM   : '.
           02 COLUMN PLUS 2 PIC 9(8) TO NPM1.
           02 LINE 6 COLUMN 6 VALUE 'KELAS :'.
           02 COLUMN PLUS 2 PIC X(5) TO KELAS1.
       01 MASUKAN.
           02 LINE 3 COLUMN 10 VALUE '>>>MASUKAN DATA<<<'.
           02 LINE 4 COLUMN 6 VALUE 'NAMA  : '.
           02 COLUMN PLUS 2 PIC A(16) TO NAMA1.
           02 LINE 5 COLUMN 6 VALUE 'NPM   : '.
           02 COLUMN PLUS 2 PIC 9(8) TO NPM1.
           02 LINE 6 COLUMN 6 VALUE 'KELAS : '.
           02 COLUMN PLUS 2 PIC X(5) TO KELAS1.
        01 MASUKAN-DATA.
           02 LINE 6 COLUMN 6 VALUE 'NILAI A ='.
           02 COLUMN PLUS 2 PIC 99 TO NILAI1.
           02 LINE 7 COLUMN 6 VALUE 'NILAI B ='.
           02 COLUMN PLUS 2 PIC 99 TO NILAI2.
       01 TAMPIL.
           02 LINE 9 COLUMN 6 VALUE 'HASIL   ='.
           02 COLUMN PLUS 2 PIC 99 FROM NILAI3.
       01 LULUS.
           02 LINE 13 COLUMN 6 VALUE 'ANDA LULUS'.
       01 TIDAK-LULUS.
           02 LINE 13 COLUMN 6 VALUE 'ANDA TIDAK LULUS'.
       PROCEDURE DIVISION.
       MULAI.
           DISPLAY HAPUS-LAYAR.
           DISPLAY MENU.
           ACCEPT MENU.
       SELEKSI.
           IF PIL=1
           PERFORM HASIL
           PERFORM TANYA.
           IF PIL=2
           PERFORM HASIL1
           PERFORM DATAKU
           PERFORM HASIL2.
           IF PIL=3
           PERFORM LAYAR-KELUAR
           PERFORM SELEKSI2
           ELSE GO TO
           SELESAI.
       SELESAI.
           STOP RUN.
       TANYA.
           DISPLAY SPACE.
           DISPLAY 'APAKAH ANDA INGIN MEMASUKKAN DATA BARU [Y/T] :'.
           ACCEPT JAWAB.
           IF LAGI GO TO HASIL.
           IF TIDAK GO TO MULAI
           ELSE GO TO SELESAI.
       HASIL.
           DISPLAY HAPUS-LAYAR.
           DISPLAY INPUT-DATA.
           ACCEPT INPUT-DATA.
           GO TO TANYA.
       HASIL1.
           DISPLAY HAPUS-LAYAR.
           DISPLAY MASUKAN.
           ACCEPT MASUKAN.
       DATAKU.
           MOVE NAMA1 TO NAMA2.
           MOVE NPM1 TO NPM2.
           MOVE KELAS1 TO KELAS2.
       HASIL2.
           DISPLAY SPACE.
           DISPLAY SPACE.
           DISPLAY HAPUS-LAYAR.
           DISPLAY '    ***PERUBAHAN***'.
           DISPLAY NAMA1  '  MENJADI  ' NAMA2.
           DISPLAY NPM1 '  MENJADI  ' NPM2.
           DISPLAY KELAS1 '  MENJADI  ' KELAS2.
       LAYAR-KELUAR.
           DISPLAY HAPUS-LAYAR.
           DISPLAY MASUKAN-DATA.
           ACCEPT MASUKAN-DATA.
           COMPUTE NILAI3=(NILAI1 + NILAI2)/2.
           DISPLAY TAMPIL.
           DISPLAY SPACE.
           DISPLAY SPACE.
       SELEKSI2.
           IF NILAI3 =60
           DISPLAY LULUS.
           IF NILAI3 >60
           DISPLAY LULUS.
           IF NILAI3 <60
           DISPLAY TIDAK-LULUS
           ELSE GO TO
           SELESAI.











                                                                                                                                      











Tidak ada komentar:

Posting Komentar