Selasa, 11 Desember 2012

Program FUNCTION Pada COBOL


       IDENTIFICATION DIVISION.
       PROGRAM-ID. FUNCTION.
       ENVIRONMENT DIVISION.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 AWAL.
           02 NAMA PIC X(30).
           02 NPM PIC X(8).
           02 KELAS PIC X(8).
       01 LUAS.
           02 NILAI1 PIC 9(3).
           02 NILAI2 PIC 9(3).
           02 NILAI3 PIC 9(3).
           02 HASIL PIC 9(3).
       01 GRADE.
           02 UTS PIC 9(3).
           02 UAS PIC 9(3).
           02 TOTAL PIC 9(3).
       01 TANYA PIC X.
           88 LAGI VALUE 'Y', 'y'.
           88 TIDAK VALUE 'T', 't'.
       77 PIL PIC 9.
       SCREEN SECTION.
       01 CLS.
           02 BLANK SCREEN.
       PROCEDURE DIVISION.
       MULAI.
           DISPLAY CLS.
           DISPLAY (3 , 25) '<<<___MENU___>>>'.
           DISPLAY (4 , 25) '1. BIODATA'.
           DISPLAY (5 , 25) '2. LUAS'.
           DISPLAY (6 , 25) '3. NILAI'.
           DISPLAY (8 , 25) 'MASUKKAN PILIHAN [1..3]'.
           ACCEPT PIL.
           GO TO PIL1, PIL2, PIL3 DEPENDING ON PIL.
           DISPLAY (10 , 25) 'MAAF TIDAK ADA PILHAN LAIN HANYA  1..3'.
           ACCEPT PIL.
           GO TO MULAI.
       PIL1.
           DISPLAY CLS.
           DISPLAY (3 , 3) 'MASUKKAN NAMA  :'.
           ACCEPT NAMA.
           DISPLAY (4 , 3) 'MASUKKAN NPM   :'.
           ACCEPT NPM.
           DISPLAY (5 , 3) 'MASUKKAN KELAS :'.
           ACCEPT KELAS.
           GO TO HAY.
       PIL2.
           DISPLAY CLS.
           DISPLAY (3 , 3) 'MASUKKAN PANJANG :'.
           ACCEPT NILAI1.
           DISPLAY (4 , 3) 'MASUKKAN LUAS    :'.
           ACCEPT NILAI2.
           DISPLAY (5 , 3) 'MASUKKAN TINGGI  :'.
           ACCEPT NILAI3.
           COMPUTE HASIL = NILAI1 * NILAI2 * NILAI3.
           DISPLAY (7 , 3) 'VOLUME PERSEGI PANJANG ADALAH: ', HASIL.
           GO TO HAY.
       PIL3.
           DISPLAY CLS.
           DISPLAY (3 , 3) 'NILAI UTS : '.
           ACCEPT ( , ) UTS.
           DISPLAY (4 , 3) 'NILAI UAS : '.
           ACCEPT ( , ) UAS.
           COMPUTE TOTAL = (UTS * 0.7) + (UAS * 0.3).
           IF TOTAL > 50
           DISPLAY (5 , 3) 'ANDA LULUS'.
           IF TOTAL < 49
           DISPLAY (6 , 3) 'ANDA TIDAK LULUS'.
           DISPLAY (8 , 3) 'NILAI ANDA ADALAH: ', TOTAL.
           GO TO HAY.
       PIL4.
           DISPLAY CLS.
           DISPLAY 'TERIMA KASIH'.
           GO TO SELESAI.
       HAY.
           DISPLAY (10 , 3) 'KEMBALI KE MENU Y/T?'.
           ACCEPT TANYA.
           IF LAGI GO TO MULAI ELSE GO TO PIL4.
       SELESAI.
           STOP RUN.

Program ARITMATIKA Pada COBOL


       IDENTIFICATION DIVISION.
       PROGRAM-ID. ARITMATIKA.
       ENVIRONMENT DIVISION.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       77 A PIC 9(1).
       01 B PIC 9(2).
       01 C PIC 9(2).
       01 D PIC 9(4).
       SCREEN SECTION.
       01 CLS.
           02 BLANK SCREEN.
       PROCEDURE DIVISION.
       MULAI.
           DISPLAY CLS.
           DISPLAY ( 3 , 4 ) 'JUMLAH NILAI PERTAMA DAN KEDUA < 100'.
           DISPLAY ( 5 , 4 ) 'NILAI PERTAMA : '.
           ACCEPT B.
           DISPLAY ( 7 , 4 ) 'NILAI KEDUA : '.
           ACCEPT C.
           GO TO MENU.
       MENU.
           DISPLAY CLS.
           DISPLAY ( 3 , 1 ) 'MENU'.
           DISPLAY ( 5 , 4 ) '1. TAMBAH'.
           DISPLAY ( 6 , 4 ) '2. KURANG'.
           DISPLAY ( 7 , 4 ) '3. KALI'.
           DISPLAY ( 8 , 4 ) '4. BAGI'.
           DISPLAY ( 9 , 4 ) '5. PANGKAT'.
           DISPLAY ( 10 , 4 ) '6. KELUAR'.
           DISPLAY ( 11 , 4 ) 'MASUKKAN PILIHAN : '.
           ACCEPT A.
           IF A = 1 GO TO TAMBAH.
           IF A = 2 GO TO KURANG.
           IF A = 3 GO TO KALI.
           IF A = 4 GO TO BAGI.
           IF A = 5 GO TO PANGKAT.
           IF A = 6 GO TO KELUAR.
       TAMBAH.
           DISPLAY CLS.
           ADD B, C GIVING D.
           DISPLAY ( 9 , 4 ) 'HASIL PENJUMLAHAN ', B ' DI TAMBAH ', C.
           DISPLAY ( 10 , 4 )'ADALAH ', D.
           GO TO SELESAI.
       KURANG.
           DISPLAY CLS.
           SUBTRACT C FROM B GIVING D.
           DISPLAY ( 9 , 4 ) 'HASIL PENGURANGAN ', B ' DI KURANG ', C.
           DISPLAY ( 10 , 4 )'ADALAH ', D.
           GO TO SELESAI.
       KALI.
           DISPLAY CLS.
           MULTIPLY B BY C GIVING D.
           DISPLAY ( 9 , 4 ) 'HASIL PERKALIAN ', B ' DI KALI ', C.
           DISPLAY ( 10 , 4 )'ADALAH ', D.
           GO TO SELESAI.
       BAGI.
           DISPLAY CLS.
           DIVIDE C INTO B GIVING D.
           DISPLAY ( 9 , 4 ) 'HASIL PEMBAGIAN ', B ' DI BAGI ', C.
           DISPLAY ( 10 , 4 )'ADALAH ', D.
           GO TO SELESAI.
       PANGKAT.
           DISPLAY CLS.
           COMPUTE D = B ** C
           DISPLAY ( 9 , 4 ) 'HASIL PERPANGKATAN ', B ' DI PANGKAT ', C.
           DISPLAY ( 10 , 4 )'ADALAH ', D.
           GO TO SELESAI.
       KELUAR.
           DISPLAY CLS.
           DISPLAY ' "TERIMA KASIH" '.
           GO TO SELESAI.
       SELESAI.
           STOP RUN.

Jumat, 07 Desember 2012

Program KONDISI Pada COBOL


       IDENTIFICATION DIVISION.
       PROGRAM-ID. KONDISI.
       AUTHOR. YAN AJIE PRASETIA.
       ENVIRONMENT DIVISION.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 BILANGAN.
           02 A PIC 99.
           02 HASIL 99 VALUE 0.
           02 SISA PIC 99 VALUE 0.
               88 SISA VALUE IS GENAP.
               88 SISA VALUE IS GANJIL.
           02 BIL PIC X(6).
       SCREEN SECTION.
       01 CLS.
           02 BLANK SCREEN.
       PROCEDURE DIVISION.
       MULAI.
           DISPLAY ( 1, 1 ) 'MASUKKAN BILANGAN ?'.
           ACCEPT A.
           DIVIDE 2 INTO A GIVING REMAINDER SISA.
           IF SISA=0
           MOVE 'GENAP' TO BIL
           ELSE
           MOVE 'GANJIL' TO BIL.
           DISPLAY A, 'MERUPAKAN BILANGAN ', BIL.
        SELESAI.
           STOP RUN.

Program MATRIKS Pada Pascal


uses crt;
type t = object
     m1, m2 : array [1..2,1..2] of integer;
     lok : array [1..4] of integer;
     procedure input;
     procedure tambah;
     procedure kurang;
     procedure tampil;
end;
var     m : t;
        i, j, k, pil : integer;

procedure t.input;
begin
     clrscr;
     writeln ('input matriks I');
     for i := 1 to 2 do
         begin
         for j := 1 to 2 do
         begin
              write ('elemen matriks [',i,',',j,']:');
         readln (m1 [i,j]);
     end;
end;
gotoxy (35,1); writeln('Input Matriks I');
k := 1;
for i := 1 to 2 do
    begin
    for j := 1 to 2 do
    begin
    gotoxy (32,k);
    inc(k);
    write('elemen matriks [',i,',',j,']:');
    readln (m2[i,j]);
    end;
end;
end;
procedure t.tampil;
begin
     gotoxy(8,7) ; writeln ('* MATRIKS 1 *');
     gotoxy(8,8) ; writeln (m1[1,1]:5,m1[1,2]:5);
     gotoxy(8,9) ; writeln (m1[2,1]:5,m1[2,2]:5);
     gotoxy(35,7); writeln ('* MATRIKS II *');
     gotoxy(35,8); writeln (m2[1,1]:5,m2[1,2]);
     gotoxy(35,9); writeln (m2[2,1]:5,m2[2,2]);
     readln;
end;
procedure t.tambah;
begin
     gotoxy (21,11); writeln ('Hasil Penjumlahan Matriks');
     lok[1] := m1[1,1]+m2[1,1];
     lok[2] := m1[1,2]+m2[1,2];
     lok[3] := m1[2,1]+m2[2,1];
     lok[4] := m1[2,2]+m2[2,2];
     gotoxy (21,12); writeln (lok[1]:5,lok[2]:5);
     gotoxy (21,13); writeln(lok[3]:5,lok[4]:5);
     readln;
end;

procedure t.kurang;
begin
     gotoxy (4,9); writeln ('Hasil Pengurangan Matriks I dan II');
     lok[1] := m1[1,1]-m2[1,1];
     lok[2] := m1[1,2]-m2[1,2];
     lok[3] := m1[2,1]-m2[2,1];
     lok[4] := m1[2,1]-m2[2,2];
     gotoxy (9,11); writeln (lok[1]:5,lok[2]:5);
     gotoxy (9,12); writeln (lok[3]:5,lok[4]:5);
     readln;
end;

begin
repeat
clrscr;
gotoxy (25,1); writeln ('<<<<____MENU MATRIKS____>>>>');
gotoxy (25,2); writeln ('1. Input Matriks');
gotoxy (25,3); writeln ('2. Penjumlahan Matriks');
gotoxy (25,4); Writeln ('3. Pengurangan Matriks');
gotoxy (25,5); writeln ('4. Keluar');
gotoxy (25,6); writeln ('<<<______________________>>>');
gotoxy (27,7); writeln ('Pilihan [1..4] :'); readln(pil);

case pil of
1 : begin
    m.input;
    m.tampil;
end;
2 : m.tambah;
3 : m.kurang;
end;
until (pil)=4;
end.