Rabu, 09 November 2011

cobol : Menu

Posted by Maulana Syarif HIidayatulloh in - 0 komentar


<<<INI ADALAH CODING DARI COBOL>>

       IDENTIFICATION DIVISION.
       PROGRAM-ID. BIODATA.
       AUTHOR. MAULANA_SH.
       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 MASUKAN.
           02 NILAI1 PIC 99.
           02 NILAI2 PIC 99.
           02 NILAI-TAMPIL 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 28 VALUE '>>>MENU<<<', FOREGROUND-COLOR 3.
           02 LINE 3 COLUMN 23 VALUE '[1]. MASUKKAN DATA',
           FOREGROUND-COLOR 3.
           02 LINE 4 COLUMN 23 VALUE '[2]. LIHAT HASIL',
           FOREGROUND-COLOR 3.
           02 LINE 5 COLUMN 23 VALUE '[3]. ARITMATIKA',
           FOREGROUND-COLOR 3.
           02 LINE 6 COLUMN 23 VALUE '[4]. PEMBUAT', FOREGROUND-COLOR 3.
           02 LINE 7 COLUMN 23 VALUE 'SILAKAN MASUKKAN PILIHAN ANDA',
           FOREGROUND-COLOR 3.
           02 COLUMN PLUS 2 PIC X TO PIL, FOREGROUND-COLOR 3.
       01 INPUT-DATA.
           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 IP.
           02 LINE 4 COLUMN 28 VALUE '>>MASUKAN NILAI<<'.
           02 LINE 5 COLUMN 26 VALUE '====================='.
           02 LINE 6 COLUMN 30 VALUE 'NILAI A ='.
           02 COLUMN PLUS 2 PIC 99 TO NILAI1.
           02 LINE 7 COLUMN 30 VALUE 'NILAI B ='.
           02 COLUMN PLUS 2 PIC 99 TO NILAI2.
           02 LINE 8 COLUMN 26 VALUE '====================='.
      
       01 LAYAR-TAMPIL.
           02 LINE 9 COLUMN 30 VALUE 'HASIL   ='.
           02 COLUMN PLUS 2 PIC 99 FROM NILAI-TAMPIL.
       01 LULUS.
           02 LINE 13 COLUMN 32 VALUE 'ANDA LULUS'.
       01 TIDAK-LULUS.
           02 LINE 13 COLUMN 29 VALUE 'ANDA TIDAK LULUS'.
       01 FINISH.
           02 LINE 7 COLUMN 33 'TERIMA KASIH..!!',
           FOREGROUND-COLOR 3.
           02 LINE 8 COLUMN 17,
           'PROGRAM INI DIBUAT OLEH: MAULANA SYARIF HIDAYATULLOH',
           FOREGROUND-COLOR 3.
       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
           PERFORM TANYA.
           IF PIL=4
           PERFORM SUDAH
           ELSE GO TO
           SELESAI.
       SELESAI.
           STOP RUN.
       TANYA.
           DISPLAY SPACE.
           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 SUDAH.
       HASIL.
           DISPLAY HAPUS-LAYAR.
           DISPLAY INPUT-DATA.
           ACCEPT INPUT-DATA.
           GO TO TANYA.
       HASIL1.
           DISPLAY HAPUS-LAYAR.
           DISPLAY INPUT-DATA.
           ACCEPT INPUT-DATA.
       DATAKU.
           MOVE NAMA1 TO NAMA2.
           MOVE NPM1 TO NPM2.
           MOVE KELAS1 TO KELAS2.
       HASIL2.
           DISPLAY HAPUS-LAYAR.
           DISPLAY '    ***PERUBAHAN***'.
           DISPLAY NAMA1  '  MENJADI  ' NAMA2.
           DISPLAY NPM1 '  MENJADI  ' NPM2.
           DISPLAY KELAS1 '  MENJADI  ' KELAS2.
           GO TO TANYA.
       LAYAR-KELUAR.
           DISPLAY HAPUS-LAYAR.
           DISPLAY IP.
           ACCEPT IP.
           COMPUTE NILAI-TAMPIL=(NILAI1 + NILAI2)/2.
           DISPLAY LAYAR-TAMPIL.
           DISPLAY SPACE.
           DISPLAY SPACE.
       SELEKSI2.
           IF NILAI-TAMPIL =60
           DISPLAY LULUS.
           IF NILAI-TAMPIL >60
           DISPLAY LULUS
           ELSE
           DISPLAY TIDAK-LULUS.   
       SUDAH.
           DISPLAY HAPUS-LAYAR.
           DISPLAY FINISH.




KETERANGAN :
SYARAT PROGRAM COBOL ADA 4 DIVISI.
1.       IDENTIFICATION DIVISION.
DISINI BERISI TENTANG JUDUL PROGRAM  YAITU PROGRAM –ID DAN PEMBUAT PROGRAM YAITU AUTHOR.
2.         ENVIRONMENT DIVISION.
PADA PROGRAM DI ATAS ENVIRONMENT DIVISION TERDAPAT 1 SECTION YANG BERISI TENTANG KOMPONEN-KOMPONEN YANG DI PAKAI.
3.         DATA DIVISION.
ADA DUA SECTION DI DALAMNYA CODINGAN DI ATAS,YAITU: 
+ WORKING-STORAGE SECTION.
                UNTUK MENDEKLARASIKAN VARIABLE DAN TIPE DATA YANG DI GUNAKAN.
CONTOH.
01 BIODATA .                                  ADALAH RECORD.
02 NAMA1 PIC A(16).                     :     ADALAH KETERANGAN ATAU ISI DARI RECORD 
                                                                DENGAN MEMAKAI PICTURE CLAUSE A DI BATASI 
                                                                SAMPAI 16 KARAKTER.
+ SCREEN SECTION.
                ADALAH PROSES UNTUK FORMAT TAMPILAN PADA PROGRAM INI BAIK INPUT MAUPUN OUTPUT.
CONTOH.
01 HAPUS-LAYAR.                            :     LEVEL-NUMBER NAMA LAYAR..
02 BLANK SCREEN.                          :    UNTUK MENGHAPUS LAYAR ATAU CLEAR SCREEN.
01 MENU.                                            : NAMA LAYAR.
02 LINE 2 COLUMN 28 VALUE ‘>>>MENU<<<’, FOREGROUND-COLOR 3. 
 : BARIS 2 KOLOM 3 AKAN MENCETAK OUTPUT  >>>MENU<<< DENGAN NOMOR COLOR
   YG KETIGA. AKAN MENCETAK APA YG ADA DI DALAM TANDA PETIK.
01 INPUT-DATA                                  :NAMA LAYAR.
02 LINE 4 COLUMN 6 VALUE ‘NAMA :’.
02 COLUMN PLUS 2 PIC A(16)  TO NAMA1.
:BARIS 4 KOLOM 6 AKAN MENCETAK NAMA :
: AKAN MENGINPUT PLUS 2 KOLOM DARI NAMA1  DENGAN ALPHABET SEBANYAK 16
 KARAKTER.

4.       PROCEDURE DIVISION.
BERISI TENTANG SEMUA STATEMENT INTRUKSI DI BUAT.
CONTOH:
MULAI                                                    : ADALAH NAMA INTRUKSI.
DISPLAY HAPUS-LAYAR                    : UNTUK SCREEN ATAU MEMBERSIHKAN
                                                                   LAYAR.
DISPLAY MENU                                    : UNTUK MENJALANKAN RECORD MENU.
ACCEPT MENU                                     : UNTUK MENERIMA INPUTAN KETERANGAN
                                                                  RECORD TERSEBUT
SELEKSI.                                                : ADALAH NAMA INTRUKSI.
IF PIL=1                                                  : JIKA PILHAN SAMA DENGAN 1
PERFORM HASIL                                  :KE INTRUKSI HASIL
PERFROM TANYA.                               :KE INTRUKSI TANYA.
IF PIL=2                                                  :JIKA PILIHAN SAMA DENGAN 2
PERFORM HASIL1                                :KE INTRUKSI HASIL1
PERFORM DATAKU                             :KE INTUKSI DATAKU
PERFORM HASIL2                                :KE INTRUKSI HASIL2.
IF PIL=3                                                  :JIKA PILHAN SAMA DENGAN 3
PERFORM LAYAR-KELUAR                :KE INTRUKSI LAYAR-KELUAR
PERFORM SELEKSI2                            :KE INTRUKSI SELEKSI2
PERFORM TANYA                                :KE INTRUKSI TANYA
SELESAI                                                 :ADALAH NAMA INTRUKSI.
STOP RUN.                                            :ISI DARI INTRUKSI SELESAI YANG BERFUNGSI 
                                                                 MENGAKHIRI PROGRAM.
TANYA.                                                  :ADALAH NAMA INTRUKSI.
DISPLAY SPACE                                   :UNTUK MENG-ENTER 1X KE BAWAH.

DISPLAY ‘APAKAH ANDA INGIN MEMASUKAN DATA BARU [Y/T]’.
ACCEPT JAWAB
IF LAGI GO TO HASIL.
IF TIDAK GO TO MULAI
ELSE GO TO SUDAH.
PENGERTIANNYA
JIKA INPUTAN  ‘Y’ MAKA LOMPAT KE INTRUKSI HASIL.
JIKA ‘T’ MAKA LOMPAT KE INTRUKSI MULAI
SELAIN ITU KE INTRUKSI SUDAH.
HASIL                                                              :NAMA INTRUKSI.
DISPLAY INPUT-DATA                                :UNTUK MENJALANKAN RECORD INPUT-DATA.
ACCEPT INPUT-DATA                                 :UNTUK MENERIMA INPUTAN KETERANGAN
                                                                          RECORD TERSEBUT
GO TO TANYA                                               :KE INTRUKSI TANYA.
HASIL1.                                                           : NAMA INTRUKSI
DISPLAY INPUT-DATA                                :UNTUK MENJALANKAN RECORD INPUT-DATA.
ACCEPT INPUT-DATA                                 :UNTUK MENERIMA INPUTAN KETERANGAN
                                                                         RECORD TERSEBUT
DATAKU.                                                        :NAMA INTRUKSI.
MOVE NAMA1 TO NAMA2.                        :MENGUBAH OUTPUT NAMA1 MENJADI NAMA2.
MOVE NPM1 TO NPM2.                               :MENGUBAH OUTPUT NPM1 MENJADI NPM2.
MOVE KELAS1 TO KELAS2.                       :MENGUBAH OUTPUT KELAS1 MENJADI KELAS2.
HASIL2                                                            : ADALAH NAMA INTRUKSI.
DISPLAY HAPUS-LAYAR                             : UNTUK SCREEN ATAU MEMBERSIHKAN LAYAR.
DISPLAY ‘***PERUBAHAN***’.                 : UNTUK MENCETAK ‘***PERUBAHAN***’.
DISPLAY NAMA1 ‘MENJADI’ NAMA2.     : MENCETAK OUPTUT NAMA1 “MENJADI” OUTPUT NAMA2.
DISPLAY NPM1 ‘MENJADI’ NPM2.            : MENCETAK OUPTUT NPM1 “MENJADI” OUTPUT NPM2.
DISPLAY KELAS1 ‘MENJADI’ KELAS2.    : MENCETAK OUPTUT KELAS1 “MENJADI” OUTPUT KELAS2.
LAYAR-KELUAR.                                   : ADALAH NAMA INTRUKSI.
DISPLAY HAPUS-LAYAR                      : UNTUK SCREEN ATAU MEMBERSIHKAN
                                                                    LAYAR.
DISPLAY IP.                                            : UNTUK MENJALANKAN RECORD IP.
ACCEPT IP.                                             : UNTUK MENERIMA INPUTAN KETERANGAN
                                                                   RECORD TERSEBUT
COMPUTE NILAI-TAMPIL=(NILAI1 +NILAI2)/2.
COMPUTE ADALAH STATEMEN UNTUK PENGHITUNGAN.
KETERANGAN RECORD NILAI-TAMPIL=(KET.REC. NILA1 + KET.REC. NILA2)/2.
DISPLAY LAYAR-TAMPIL                     : MENCETAK NAMA-LAYAR TERSEBUT.
SELEKSI2.                                                : NAMA INTRUKSI.
IF NILAI –TAMPIL =60
DISPLAY LULUS.
IF NILAI-TAMPIL >60
DISPLAY LULUS
ELSE DISPLAY TIDAK-LULUS.
JIKA HASIL  NILAI-TAMPIL SAMA DENGAN 60 CETAK  RECORD LULUS
JIKA HASIL  NILAI-TAMPIL LEBIH DARI 60 CETAK RECORD LULUS.
SELAIN ITU CETAK RECORD TIDAK-LULUS.
SUDAH.                                                    : NAMA INTRUKSI.
DISPLAY HAPUS-LAYAR                      : UNTUK SCREEN ATAU MEMBERSIHKAN LAYAR.
DISPLAY  FINISH.                                   : UNTUK MENCETAK RECORD FINISH.

Sabtu, 05 November 2011

COBOL : IF DAN COMPUTE

Posted by Maulana Syarif HIidayatulloh in - 0 komentar


         IDENTIFICATION DIVISION.
       PROGRAM-ID. TUGAS.
       AUTHOR. COWO.
       ENVIRONMENT DIVISION.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 MASUKAN.
           02 NILAI1 PIC 99.
           02 NILAI2 PIC 99.
           02 HASIL PIC 99.
       SCREEN SECTION.
       01 HAPUS-LAYAR.
           02 BLANK SCREEN.
       01 INPUT-DATA.
           02 LINE 4 COLUMN 28 VALUE '>>MASUKAN NILAI<<'.
           02 LINE 5 COLUMN 26 VALUE '====================='.
           02 LINE 6 COLUMN 30 VALUE 'NILAI A ='.
           02 COLUMN PLUS 2 PIC 99 TO NILAI1.
           02 LINE 7 COLUMN 30 VALUE 'NILAI B ='.
           02 COLUMN PLUS 2 PIC 99 TO NILAI2.
           02 LINE 8 COLUMN 26 VALUE '====================='.
       01 LAYAR-TAMPIL.
           02 LINE 9 COLUMN 30 VALUE 'HASIL   ='.
           02 COLUMN PLUS 2 PIC 99 FROM HASIL.
       01 LULUS.
           02 LINE 13 COLUMN 32 VALUE 'ANDA LULUS'.
       01 TIDAK-LULUS.
           02 LINE 13 COLUMN 29 VALUE 'ANDA TIDAK LULUS'.
       PROCEDURE DIVISION.
       MULAI.
           DISPLAY HAPUS-LAYAR.
           DISPLAY INPUT-DATA.
           ACCEPT INPUT-DATA.
           COMPUTE HASIL=(NILAI1 + NILAI2)/2.
           DISPLAY LAYAR-TAMPIL.
       SELEKSI.
           IF HASIL =60
           DISPLAY LULUS.
           ACCEPT LULUS.
           IF HASIL >60
           DISPLAY LULUS.
           ACCEPT LULUS.
           IF HASIL <59
           DISPLAY TIDAK-LULUS.
           ACCEPT TIDAK-LULUS.
       SELESAI.
           STOP RUN.     





Keteranagan:
SYARAT PROGRAM COBOL ADA 4 DIVISI.
1.       IDENTIFICATION DIVISION.
DISINI BERISI TENTANG JUDUL PROGRAM  YAITU PROGRAM –ID DAN PEMBUAT PROGRAM YAITU AUTHOR.
2.         ENVIRONMENT DIVISION.
PADA PROGRAM DI ATAS ENVIRONMENT DIVISION TERDAPAT 1 SECTION YANG BERISI TENTANG KOMPONEN-KOMPONEN YANG DI PAKAI.
3.    DATA DIVISION.
       ADA DUA SECTION DI DALAMNYA CODINGAN DI ATAS,YAITU:
+ WORKING-STORAGE SECTION.
           UNTUK MENDEKLARASIKAN VARIABLE DAN TIPE DATA YANG DI GUNAKAN.
CONTOH:
01 MASUKAN.                  : ADALAH RECORD.
02 NILAI1 PIC 9.               : ADALAH KET. DARI RECORD YANG BERTIPE NUMERIC.
+ SCREEN SECTION.
              ADALAH PROSES UNTUK FORMAT TAMPILAN PADA PROGRAM INI BAIK INPUT MAUPUN   OUTPUT.
CONTOH  : 
01 HAPUS-LAYAR.            :ADALAH  LEVEL NUMBER NAMA LAYAR.
02 BLANK SCREEN.           : PERINTAH UNTUK MENGHAPUS LAYAR.
4.   PROCEDURE DIVISION.
BERISI TENTANG SEMUA STATEMENT INTRUKSI DI BUAT.
CONTOH :
MULAI.                                     : ADALAH NAMA INTRUKSI.
DISPLAY HAPUS-LAYAR      : UNTUK SCREEN ATAU MEMBERSIHKAN LAYAR.
DISPLAY INPUT-DATA.         :UNTUK MENJALANKAN RECORD INPUT-DATA.
ACCEPT INPUT-DATA.           :UNTUK MENERIMA INPUTAN KETERANGAN RECORD 
                                                     TERSEBUT
COMPUTE HASIL=(NILAI1 +NILAI2)/2.
COMPUTE ADALAH STATEMEN UNTUK PENGHITUNGAN.
KETERANGAN RECORD HASIL = (KET.REC. NILA1 + KET.REC. NILA2)/2.
DISPLAY LAYAR-TAMPIL      :MENCETAK NAMA-LAYAR TERSEBUT.
SELEKSI.                                    :NAMA INTRUKSI.
IF HASIL =60
DISPLAY LULUS.
ACCEPT LULUS.
IF HASIL >60
DISPLAY LULUS
ACCEPT ULUS.
IF HASIL <59
DISPLAY TIDAK-LULUS.
ACCEPT TIDAK-LULUS.
JIKA HASIL  SAMA DENGAN 60 CETAK  RECORD LULUS
JIKA HASIL   LEBIH DARI 60 CETAK RECORD LULUS.
JIKA HASIL KURANG DARI 59 CETAK RECORD TIDAK-LULUS.
SELESAI.                : NAMA INTRUKSI.
STOP RUN.            : MENGAKHIRI PROGRAM.


Blogroll

Partners

About