<<<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.