Jumat, 09 Januari 2015

LATIHAN G NO 1

Program Subprogram;
uses wincrt;
var hasil,nilai1,nilai2:integer;
    hbagi:real;
procedure tambah;
begin
   hasil:=nilai1+nilai2;
   writeln('Nilai X + Y = ',hasil);
end;
Procedure kurang(p,q:integer);
begin
   hasil:=nilai1-nilai2;
   writeln('Nilai X - Y = ',hasil);
end;
Function Kali:integer;
begin
   Kali:=nilai1*nilai2;
end;
Function Bagi(p,q:integer):real;
begin
   bagi:=p/q;
end;
Procedure tukar(var p,q:integer);
var r:integer;
begin
   r:=p;
   p:=q;
   q:=r;
end;
var pilih:integer;
begin
 clrscr;
 pilih:=0;
 while (pilih<>5) do
 begin
   writeln;
   writeln('Masukkan Pilihan Proses');
   writeln('---------------------------');
   writeln('1. Penjumlahan');
   writeln('2. Pengurangan');
   writeln('3. Perkalian');
   writeln('4. Pembagian');
   writeln('5. Selesai');
   writeln('--------------------------');

   repeat
     write('Masukkan Pilihan Anda : ');
     readln(pilih);
   until pilih in [1,2,3,4,5];

   if pilih=5 then exit;

   write('Masukkan nilai X : ');readln(nilai1);
   write('Masukkan nilai Y : ');readln(nilai2);
   case pilih of
        1:tambah;
        2:begin
            if nilai1<nilai2 then
               tukar(nilai1,nilai2);
            kurang (nilai1,nilai2);
          end;
        3:writeln('Hasil X * Y = ',Kali);
        4:begin
            Hbagi:=bagi(nilai1,nilai2);
            writeln('Hasil X / Y = ',hbagi:10:4);
          end;
   end;
 end;
 end.

hasilnya

     

LATIHAN F NO 1

uses wincrt;
var
 awal,akhir,rpbunga:real;
 bunga,lama,i      :integer;
 mau               :char;
begin
repeat
clrscr;
 write('pijaman awal = Rp. ');readln(awal);
 write('bunga [%]= ');readln(bunga);
 write('lamanya pinjaman [periode] = ');readln(lama);
 writeln('--------------------------------------');
 writeln(' periode bunga (%) pimjaman pinjaman bunga (Rp) ');
 writeln('                                                 awal akhir ');
 writeln('--------------------------------------');
 for i:=1 to lama do
  begin
   akhir:=awal+((bunga/100)*awal);
   rpbunga:=0.1*awal;
   writeln(i:5,bunga:9,awal:11:0,akhir:11:0,rpbunga:10:0);
   awal:=akhir;
  end;
 writeln('--------------------------------------');
 Write('mau menghitug lagi ? [Y/N]:');readln(mau);
 until mau='n';
end.

LATIHAN E NO 8

uses wincrt;
var
 pertama,kedua,ketiga:integer;
begin
write('Masukkan Bilangan Pertama : ');read(pertama);
write('Masukkan Bilangan Kedua : ');read(kedua);
write('Masukkan Bilangan Ketiga :');read(ketiga);
if (pertama>kedua) and (pertama>ketiga) then
 begin
 writeln('Bilangan yang Terbesar adalah :',pertama);
 end
else if (kedua>pertama) and (kedua>ketiga) then
 begin
 writeln('Bilangan yang Terbesar adalah :',kedua);
 end
else if (ketiga>pertama) and (ketiga>kedua) then
 begin
 writeln;
 writeln('Bilangan yang Terbesar adalah :',ketiga);
 end;
end.

Hasilnya

LATIHAN E NO 7

uses wincrt;
var
 harga:integer;
begin
 write('Masukkan Harga = ');readln(harga);
case harga of
 1:writeln('SATU');
 2:writeln('DUA');
 3:writeln('TIGA');
 4:writeln('EMPAT');
 5:writeln('LIMA');
 6:writeln('ENAM');
 7:writeln('TUJUH');
 8:writeln('DELAPAN');
 9:writeln('SEMBILAN');
 0:writeln('NOL');
else
writeln('BILANGAN SELAIN 0 s/d 9');
end;
end.

Hasilnya

LATIHAN E NO 5

uses wincrt;
var
 volume,gol1,gol2,gol3,gol4,total:longint;
begin
write('Masukkan pemakaian (m3) = ');readln(volume);
if volume<=50 then
 begin
 gol1:=volume*1500;
 end
else if volume<=75 then
 begin
 gol1:=50*1500;
 gol2:=(volume-50)*1750;
 end
else if volume<=100 then
 begin
 gol1:=50*1500;
 gol2:=25*1750;
 gol3:=2000*(volume-75);
 end
else
 begin
 gol1:=50*1500;
 gol2:=25*1750;
 gol3:=25*200;
 gol4:=2250*(volume-100);
 end;
total:=gol1+gol2+gol3+gol4;
writeln('---------------------------------------------------------');
writeln('harga golongan 1 = Rp.',gol1:8);
writeln('harga golongan 2 = Rp.',gol2:8);
writeln('harga golongan 3 = Rp.',gol3:8);
writeln('harga golongan 4 = Rp.',gol4:8);
writeln('---------------------------------------------------------');
writeln('total bayar = Rp. ',total:8);
readln;
end.


Hasilnya

LATIHAN E NO 6

uses wincrt;
label ulang;
var
  gol,bonus,mau:string;
  kerja,umur:integer;
begin
ulang:
clrscr;
write('Masukkan Umur Anda (Tahun)=');readln(umur);
write('Masukkan Status kerja [staf/nonstaf] = ');readln(gol);
write('Masukkan Lama Bekerja (Tahun) = ');readln(kerja);
if gol='staf' then
  begin
  if (kerja>=5) then
     begin
     if (umur>=50) then
        begin
        Bonus:='Rp. 1.000.000';
        end
     else
        Bonus:='Rp. 500.000';
     end
  else if (kerja<5) and (umur<50) then
    begin
    Bonus:='Rp. 300.000';
    end
  end
else
  begin
  if (kerja>=5) then
   begin
   if (umur>=50) then
    begin
    Bonus:='Rp. 400.000';
    end
   else
    Bonus:='Rp. 250.000';
   end
  else
   Bonus:='Rp. 0';
  end;
writeln('Bonus Pegawai Adalah = ',bonus);
write('Mau ulang [y/t]?');read(mau);
if (mau='y') or (mau='Y') then goto ulang
end.

Hasilnya

LATIHAN E NO 4

Program HitungGajiKaryawan;
uses wincrt;
var
Nama,Jabatan,KJ:string;
GP,TM,TT     :longint;
Begin
 writeln('Masukkan Nama :');readln(Nama);
 writeln('Masukkan Kode Jabatan :');readln(KJ);
If (Kj='DR') or (kj='dr')then
 begin
  Jabatan:='Direktur';
  GP     :=3000000;
  TT     :=850000;
  TM     :=500000;
 end
else if (KJ='WD') or (Kj='wd') then
 begin
 Jabatan:='Wakil Direktur';
 GP     :=2500000;
 TT     :=800000;
 TM     :=500000;
 end
else if (KJ='MN') or (KJ='mn') then
 begin
 Jabatan:='Manajer';
 GP     :=2000000;
 TT     :=800000;
 TM     :=450000;
 end
else if (KJ='AS') or (KJ='as') then
 begin
 Jabatan:='Asisten';
 GP     :=1500000;
 TT     :=700000;
 TM     :=400000;
 end
else if (KJ='KW') or (KJ='kw') then
 begin
 Jabatan:='Karyawan';
 GP     :=1000000;
 TT     :=500000;
 TM     :=300000;
 end;
writeln('Jabatan             :',jabatan);
writeln('Gaji Pokok          :',GP);
writeln('Tunjangan Transport :',TT);
writeln('Tunjangan Makan     :',TM);
end.
 Hasilnya