Sabtu, 04 Juni 2011

Pascal Menghitung Operasi Matematika

uses winCrt;
var
x,y,z    :  longint;
lagi     :  char;
namak    :  string[20];

begin
lagi  :=  'y';
 while (lagi  =  'y') or (lagi  =  'Y') do
 begin
 clrscr;
   write('Siapa Nama Anda..?');  ReadLn(namak);
   writeLn;
   write('Hallo ',namak,', Coba kamu');
   WriteLn(' masukan nilai x,y dan z ');
   writeLn('pada operasi matematika ini.');
   writeLn;
   writeLn('Operasi matematika X^2 + y^2 + z =..... ');
   write('masukan nilai x..= '); ReadLn(x);
   write('masukan nilai y..= '); ReadLn(y);
   write('masukan nilai z..= '); ReadLn(z);
   writeLn;
   writeLn('nilai operasi x^2 + y^2 + z adalah : ',x*x+y*y+z);
   writeLn;
   write('Mau hitung lagi apa tidak (y/t), ',namak,' ? ');
  readLn(lagi);
 end;
end.

KUIS PASCAL KARIN

PROGRAM KUIS PASCAL;
USES WINCRT;
VAR
MENU : INTEGER ;
LG : CHAR ;
PROCEDURE NILAI;
VAR A,SISWA:INTEGER;
NILAI, TOTAL, TINGGI, RENDAH, RATA : REAL;

BEGIN
TOTAL:=0;
WRITE('JUMLAH SISWA : ');READLN (SISWA);
WRITELN;
FOR A := 1 TO SISWA DO
BEGIN
     WRITE('NILAI SISWA KE',A,':');READLN(NILAI);
     TOTAL :=TOTAL+NILAI;
     IF A= 1 THEN BEGIN
        TINGGI := NILAI;
        RENDAH := NILAI;
     END
     ELSE BEGIN
     IF NILAI > TINGGI THEN TINGGI := NILAI
     ELSE BEGIN
     IF NILAI < RENDAH THEN RENDAH:=NILAI;
     END;
     END;
END;
RATA:= TOTAL / SISWA;
WRITELN;
WRITELN ('NILAI TERENDAH        :',RENDAH:1:2);
WRITELN ('NILAI TERTINGGI       :',TINGGI:1:2);
WRITELN ('RATA - RATA           :',RATA:1:2);
END;
PROCEDURE DATA_MAHASISWA;
TYPE MAHASISWA = RECORD
NIM  : STRING[8];
NAMA : STRING[25];
UMUR :INTEGER;
END;
VAR
DATA:MAHASISWA;
BEGIN
WRITELN ('MASUKAN DATA DIRI ANDA :');
WRITE   ('NIM     :');READLN(DATA.NIM);
WRITE   ('NAMA    :');READLN(DATA.NAMA);
WRITE   ('UMUR    :');READLN(DATA.UMUR);
WRITELN;

WRITELN('BERIKUT INI INFORMASI DATA DIRI YANG TELAH ANDA MASUKAN : ');
WRITELN('NIM     : ', DATA.NIM);
WRITELN('NAMA    : ',DATA.NAMA);
WRITELN('UMUR    : ',DATA.UMUR);
READLN;
END;
BEGIN
REPEAT CLRSCR;
WRITELN('MENU KUIS PASCAL');
WRITELN('1.PROCEDURE NILAI');
WRITELN('2.PROCEDURE DATA_MAHASISWA');
WRITELN('3.EXIT');
WRITE('PILIH MENU (1/2/3) : ');READLN(MENU);
CASE MENU OF
1:NILAI;
2:DATA_MAHASISWA;
3:EXIT;
END;
WRITE('MAU PILIH LAGI (Y/T):');
READLN(LG);
UNTIL UPCASE (LG)<>'Y';
END.

Pascal Tebak Usia

Program Tebak_Usia;
uSES WINCRT;
var
   n,b,hasil : integer;
   a       : char;
begin
     clrscr;
     writeln('PROGRAM TEBAK USIA');
     writeln('==================');
     writeln;
     write('Masukkan angka lebih besar dari 1 dan lebih kecil dari 10 : ');readln(n);
     hasil:=n*2;
     hasil:=hasil+5;
     hasil:=hasil*50;
     write('apakah anda sudah berulang tahun pada tahun ini ? (y/n) : ');readln(a);
     if (a='y') or (a='Y') THEN
        hasil:=hasil+1760;
     if (a='n') or (a='N') then
        hasil:=hasil+1759;
     write('Hasil tersebut Anda kurangi dengan 4 digit tahun kelahiran Anda : ');readln(b);
     hasil:=hasil-b;
     writeln;                                                                                  
     writeln('Maka Anda akan punya 3 digit angka');
     writeln('Hasil pertebakan adalah ',hasil);
     WRITELN;
     writeln('Keterangan : Digit pertama adalah angka pilihan anda pertama kali, dan dua digit berikutnya adalah usia anda !');
end.

Pascal Kalkulator

program kalkulator;
uses wincrt;
var
menu:integer;
lg:char;
procedure penjumlahan;
var
x,y,z:real;
begin
write('masukan angka 1 ');readln(x);
write('masukan angka 2 ');readln(y);
z:=x+y;
write(z);
end;
procedure pengurangan;
var
x,y,z:real;
begin
write('masukan angka 1 ');readln(x);
write('masukan angka 2 ');readln(y);
z:=x-y;
write(z);
end;
procedure perkalian;
var
x,y,z:real;
begin
write('masukan angka 1 ');readln(x);
write('masukan angka 2 ');readln(y);
z:=x*y;
write(z);
end;
procedure pembagian;
var
x,y,z:real;
begin
write('masukan angka 1 ');readln(x);
write('masukan angka 2 ');readln(y);
z:=x/y;
write(z);
end;
begin
repeat clrscr;
writeln('menu kalkulator');
writeln('1.penjumlahan');
writeln('2.pengurangan');
writeln('3.perkalian');
writeln('4.pembagian');
writeln('5.exit');
write('pilih menu(1/2/3/4/5):');readln(menu);
case menu of
1:penjumlahan;
2:pengurangan;
3:perkalian;
4:pembagian;
5:exit;
end;

writeln('mau pilih lagi (Y/T):');
readln(lg);
until upcase(lg)<>'Y';
end.

Pascal Teba angka

uses wincrt;

var
        x, jumlah : byte;
        ch : char;
        hitung : longint;

procedure tampil(kartu :byte);

var
        x: byte;
begin
        for x:=1 to 255 do
        begin
        hitung := hitung +1;
                if (x and (1shl (kartu-1)) <>0 ) then
                write (x:4,' ');
                if hitung mod 20 = 0 then
                writeln;
        end;
end;

begin
        clrscr;
        writeln ('Konsentrasi, Pikirkan Sebuah Bilangan Antara 1 Sampai 255');
        writeln ('Jika Sudah, Tekan Sembarang Tombol');
        ch := readkey;

        jumlah :=0;
        for x:=1 to 8 do
        begin
                clrscr;
                tampil (x);
                writeln;
                write ('Apakah Bilangan Yang Anda Pikirkan Ada Di Atas?? (Y/T)');
                ch :=readkey;
                writeln;
                if (ch='y') or (ch='Y') then inc (jumlah, 1 shl (x-1));
        end;

clrscr;
        writeln ('Anda Memikirkan Bilangan : ', jumlah);
        readkey;
        readln;

        end.

Pascal Data Pegawai

Program DataPegawai;
Uses Wincrt;
Type Pegawai = record
NIP       : String[9];
Nama      : String[50];
Golongan  : Char;
Jamkerja  : Real;
End;
Var
Data                 : Pegawai;
Gapok               : Real;
Insentif,Gaber    : Real;
Ul                    : Char;
Begin
  Repeat
    Clrscr;
    Writeln('Entry Data Pegawai PT. Punya gua');
    Writeln('==========================');
    Writeln;
    Write('NIP          : ');Readln(Data.NIP);
    Write('Nama         : ');Readln(Data.Nama);
    Write('Golongan     : ');Readln(Data.Golongan);
    Write('Jam Kerja    : ');Readln(Data.Jamkerja);
    Writeln;
    Writeln;
    Case Data.Golongan of
      '1'  : Gapok:=1000000;
      '2'  : Gapok:=1500000;
      '3'  : Gapok:=2000000;
      Else
        Gapok:=0;
    End;

    if Data.Jamkerja>200 then
      Insentif:=(Data.Jamkerja-200)*10000
    else
      Insentif:=0;
    Gaber:=Gapok+Insentif;
    Clrscr;
    Writeln('Laporan Gaji Pegawai');
    Writeln('PT. XYZ');
    Writeln;
    Writeln('============================================================================');
    Writeln('|NIP       | Nama                    | Golongan | Jam Kerja | Gaji         |');
    Writeln('============================================================================');
    Writeln('|',Data.NIP:10,'|',Data.Nama:25,'|',Data.Golongan:10,'|',Data.Jamkerja:11:0,'|',Gaber:14:2,'|');
    Writeln('============================================================================');
    Writeln;
    Write('Mau Ulang Lagi? [Y/T]: ');Readln(Ul);
  Until Upcase(Ul) <> 'Y';
End.

Pascal Contoh Bulan

Program Contoh_Bulan;

uses wincrt;

const
Bulan :array[1..12] of string =
('Januari','Februari','Maret','April','Mei','Juni','Juli',
'Agustus','September','Oktober','November','Desember');

var
NoBulan:integer;

begin
  clrScr;
  write ('Masukkan nomor bulan: ' ); readln (NoBulan);
  write ('Nama bulan ke- ' ,NoBulan , ' adalah ',
  Bulan [NoBulan]);
  readln;
end.