Minggu, 27 Februari 2011

BAB 10 ENUMERASI

Program 1 :
PROGRAM enum1;
USES crt;
TYPE
    OS=(UNIX,MS_DOS,WIN_XP,WIN_VISTA,WIN_7,WIN_8);
VAR
   SisOp:OS;
BEGIN
     clrscr;
     FOR SisOp:=UNIX TO WIN_8 DO
         writeln(Ord(SisOp));

     Readln;
END.


Program 2 :
PROGRAM enum1;
USES crt;
TYPE
    OS=(UNIX,MS_DOS,WIN_XP,WIN_VISTA,WIN_7,WIN_8);
VAR
   SisOp:OS;

PROCEDURE EntriKodeSisOp(VAR SisOp:OS);
 VAR
  pil:integer;
BEGIN
     clrscr;
     Writeln('1. UNIX       4. Windows Vista');
     Writeln('2. MS-DOS     5. Windows 7');
     Writeln('3. Windows XP 6. Windows 8');
     Writeln;
     REPEAT
       write('Pilihan [1...6] : ');
       readln(pil)
     UNTIL (pil >= 1) AND (pil <= 6);
     SisOp:=OS(pil-1);
END;

PROCEDURE TampilkanSisOp(SisOp:OS);
BEGIN
     CASE SisOp OF
       UNIX      : Writeln('UNIX');
       MS_DOS    : Writeln('MS-DOS');
       WIN_XP    : Writeln('Windows XP');
       WIN_VISTA : Writeln('Windows Vista');
       WIN_7     : Writeln('Windows 7');
       WIN_8     : Writeln('Windows 8');
     END;
END;

BEGIN
     EntriKodeSisOp(SisOp);
     TampilkanSisOp(SisOp);

     Readln;
END.

Minggu, 13 Februari 2011

BAB 11 FUNGSI DAN PROCEDURE

Fungsi : sub program yang hasil runningnya memberikan suatu nilai.
Procedure : sub program yang pada saat pemanggilan program tersebut tidak memberikan nilai.
Bentuk Fungsi :
FUNCTION nama_fungsi (daftar_parameter) : tipe;
    Bagian_deklarasi;
    Bagian_pernyataan;

Bentuk PROCEDURE :
PROCEDURE nama_procedure (daftar_parameter);
     Bagian_deklarasi;
     Bagian_pernyataan;

Pada procedure tidak ada pendeklarasian tipe dari hasil procedure, karena procedure memang tidak memberikan hasil nilai saat di panggil.

Senin, 07 Februari 2011

BAB 10 Operasi Matematika

Program konversi desimal ke biner :

PROGRAM bit;
USES crt;
VAR
   pencacah,bil : byte;
BEGIN
     clrscr;
     writeln('MENAMPILKAN KODE BINER');
     writeln('Masukkan sebuah bilangan antara 0 s/d 255');
     readln(bil);

     writeln;
     writeln('01234567');
     FOR pencacah := 1 TO 8 DO
     BEGIN
          write(bil AND 1);
          bil := bil SHR 1;
     END;
readln;
END.