Minggu, 11 Januari 2015

ALGORITMA DASAR MENGGUNAKAN PASCAL

       Perlu kita ketahui bahwa algoritma adalah suatu langkah - langkah logis untuk menyelesaikan masalah yang disusun secara sistematis.

Contoh Algoritma Dasar :

Struktur program For :
Program ROBERT RANDA;
Uses wincrt;
Var
Baris,Kolom : Integer;
Begin
Clrscr;
For Baris:=1 to 10 do
Begin
For Kolom:=Baris to 10 do
Write (Kolom);
Writeln;
End;
End.

Akan menghasilkan Pola OUTPUT :
12345678910
2345678910
345678910
45678910
5678910
678910
78910
8910
910
10

MENCARI HEWAN KURBAN

Pada bagian ini kita membahas, cara menghitung pembagian hewan kurban secara merata :

===============================================

Program Pembagian_Hewan_Kurban;
uses wincrt;
var a,b,c,d,i:integer;
      v:real;
      m:real;
      x:real;
      ulang:char;
Begin
clrscr;
ulang:='Y';
while Upcase(ulang)='Y' do
Begin
clrscr;
writeln('Pembagian Hewan Kurban');
writeln('======================');
write('Masukan berat sapi=');
readln(a);
write('Masukan jumlah sapi=');
readln(b);
write('Masukan jumlah penerima daging kurban=');
readln(c);
write('Masukan jumlah penerima hadiah=');
readln(i);
d:=a*b;
v:=a*1/3/7;
m:=d*1/3/c;
x:=d*1/3/i;
writeln('Total Berat Sapi=',d,'Kg');
writeln('Pemilik Kurban=',v:00:2,'Kg');
writeln('Jatah Sedekah Perorang=',m:00:2,'Kg');
writeln('Hadiah=',x:00:2,'Kg');
Writeln('================================');
    Write('Created, Ardiansyah 20142205026. Mau menghitung ulang? [Y/T]: ');
    Readln(ulang);
    end;
  
end.
============================================================
Yang dimana hasilnya adalah sebagai berikut :
 

PENGGUNAAN DIV DAN MOD

Pada kali ini, saya akan membahas tentang contoh penggunaan pascal menggunakan DIV dan MOD dalam menghitung keberangkatan penumpang.

Yang dimana :
- Bus berangkat jika minimal 50 pendaftar.
- Mikrolet berangkat minimal 11 pendaftar.
- Dan sisanya tidak berangkat (belum beruntung :p).
Cek this out :
================================
Program Keberangkatan_Bus;
uses wincrt;
var a,bus,mikrolet,sisa:integer;
    ulang:char;
Begin
clrscr;
ulang:='Y';
while Upcase(ulang)='Y' do
Begin
clrscr;
writeln('   -->BUS BERANGKAT MINIMAL 50 PENDAFTAR<-- div="">
writeln('-->MIKROLET BERANGKAT MINIMAL 11 PENDAFTAR<-- div="">
Writeln('==============================================');
write('Masukan Jumlah Pendaftar = ');
readln(a);
bus:=a div 50;
mikrolet:=a mod 50 div 11;
sisa:=a mod 50 mod 11;
Writeln('==============================================');
writeln('Jumlah Bus Yang Berangkat             = ',bus, ' BUS');
writeln('Jumlah Mikrolet Yang Berangkat        = ',mikrolet, ' Mikrolet');
writeln('Jumlah Pendaftar Yang Tidak berangkat = ',sisa, ' Penumpang');
writeln;
Writeln('==============================================');
    Writeln('Created, Ardiansyah || 20142205026 ||TI.11   =');
Writeln('==============================================');
    write('Mau menghitung ulang? [Y/T]: ');
    Readln(ulang);
    end;
  
end.
=======================================================
Berikut hasil jadinya
 

MENGHITUNG UMUR DALAM SATUAN JAM MENGGUNAKAN PASCAL

Pada materi ini kita akan membahas tentang cara menghitung umur dalam satuan jam.
Logika. :
Misalnya baru lahir nih sehari..
Yah umur dalam satuan jam yh 24 Jam kan..

Nah gimana kalau umur anda 80 Tahun?? 
Okey .... Disini saya kasih script pembelajaran dalam bentuk pascal yg simpel dan pastinya kagak perlu pake kalkulator lagi buat ngitung umur anda yg 80 tahun...........
===========================================
Program Menghitung_Umur_Seseorang;
Uses Wincrt;
label awal, akhir;
Var  dd,mm,yy,x1,x2,x3,Total_Jam:longint;
        ulang:char;
Begin
awal:
clrscr;
Writeln ('Masukkan Umur Anda Dalam:');
Writeln ('=========================');
Write ('Tahun = ');read (yy);
Write ('Bulan = ');read (mm);
Write ('Hari  = ');read (dd);
x1:=yy * 365 * 24;
x2:=mm * 30 * 24;
x3:=dd * 24;
Total_Jam:=x1+x2+x3;
Writeln ('==================================');
Writeln ('Anda sekarang hidup adalah ',(Total_Jam), ' Jam');
Writeln ('==================================');
Writeln('Created, Ardiansyah || 20142205026 || TI.11');
Writeln ('==================================');
Writeln ('Mau menghitung ulang? [Y/T]: ');
    ulang := readkey;
if upcase(ulang)='Y' then goto awal
else goto akhir;akhir:
     
end.
=================================================
Berikut hasil jadinya :
 

CONTOH CASE OF GAJI KARYAWAN

Setelah mengetahui pengertian dan logika tentang case of, sekarang saya akan tunjukan metode penggunaan Case Of dalam mencari jumlah Gaji Karyawan yang dimana :



  • Jika Jabatan, Direktur maka gaji pokoknya Rp 3.000.000, Tunjangan Transport Rp 850.000, dan Tunjangan Makan Rp 500.000.
  • Jika Jabatan, Wakil Direktur maka gaji pokoknya Rp 2.500.000, Tunjangan Transport Rp 800.000, dan Tunjangan Makan Rp 500.000.
  • Jika Jabatan, Manajer maka gaji pokoknya Rp 2.000.000, Tunjangan Transport Rp 800.000, dan Tunjangan Makan Rp 450.000.
  • Jika Jabatan, Asisten maka gaji pokoknya Rp 1.500.000, Tunjangan Transport Rp 700.000, dan Tunjangan Makan Rp 400.000.
  • Jika Jabatan, Karyawan maka gaji pokoknya Rp 1.000.000, Tunjangan Transport Rp 500.000, dan Tunjangan Makan Rp 300.000.
==============================================
Pprogram pembuatan_record;
Uses wincrt;
type
reckaryawan=record
jab,nama:string;
gol:integer;
gapok,trans,makan:real;
end;
var pegawai:reckaryawan;
total:real;
ulang:char;
Begin
clrscr;
ulang:='Y';
while Upcase(ulang)='Y' do
begin
clrscr;
writeln('            DAFTAR GAJI KARYAWAN        ');
Writeln('========================================');
writeln;
write('Masukan Nama Karyawan : ');readln(pegawai.nama);
write('Golongan[1(DR)/2(WD)/3(MN)/4(AS)/5(KW)] : ');
readln(pegawai.gol);
Writeln('========================================');
case pegawai.gol of
1:
begin
pegawai.jab:='Direktur';
pegawai.gapok:=3000000;
pegawai.trans:=850000;
pegawai.makan:=500000;
end;
2:
begin
pegawai.jab:='Wakil Direktur';
pegawai.gapok:=2500000;
pegawai.trans:=800000;
pegawai.makan:=500000;
end;
3:
begin
pegawai.jab:='Manager';
pegawai.gapok:=2000000;
pegawai.trans:=800000;
pegawai.makan:=450000;
end;
4:
begin
pegawai.jab:='Asisten';
pegawai.gapok:=1500000;
pegawai.trans:=700000;
pegawai.makan:=400000;
end;
5:
begin
pegawai.jab:='Karyawan';
pegawai.gapok:=1000000;
pegawai.trans:=500000;
pegawai.makan:=300000;
end;
end;
total:=pegawai.gapok+pegawai.trans+pegawai.makan;
clrscr;
Writeln('================================================');
    Writeln('           |Gaji Karyawan PT. ARDIANSYAH.Corp |');
Writeln('================================================');
writeln('Jabatan Karyawan       : ',pegawai.jab);
writeln('Gaji Pokok             : Rp.',pegawai.gapok:8:0);
writeln('Tunjangan Transportasi : Rp.',pegawai.trans:8:0);
writeln('Tunjangan Makan        : Rp.',pegawai.makan:8:0);
Writeln('================================================');
writeln('Total Gaji Karyawan    : Rp.',total:8:0);
writeln;
Writeln('================================================');
    Writeln('Created, Ardiansyah || 20142205026 ||TI.11              =');
Writeln('================================================');
    write('Mau mencari daftar gaji lagi? [Y/T]: ');
    Readln(ulang);
    end;
end.
==================================================
Berikut Hasil Listingnya :
 

MENCARI TARIF PEMAKAIAN PDAM

Masih dalam penggunaan If then, kali ini kita membahas pascal mencari tarif PDAM. Dengan contoh soal sebagai berikut :

PDAM Kota Makassar menetapkan tarif pemakaian  air bersih per m3-nya ditentukan secara pergolongan dimana golongan ditentukan otomatis berdasarkan jumlah pemakainya. Untuk pemakaian 50 m3 pertama dikenakan biaya Rp. 1500. 51-75 m3 dikenakan Rp. 1750. 76-100 m3 dikenakan Rp. 2000 dan lewat dari 100 dikenakan Rp. 2250. Buatlah programuntuk menghitung jumlah yang harus dibayar pelanggan jika volume air diinput dari keyboard.

=============================================
Program PDAM_Makassar_City;
uses wincrt;
var
gol1,gol2,gol3,gol4,pk,total:longint;
        ulang:char;
Begin
clrscr;
ulang:='Y';
while Upcase(ulang)='Y' do
begin
clrscr;
writeln ('Program PDAM Makassar City');
writeln ('++++++++++++++++++++++++++');
write   ('Masukan Jumlah Pemakaian air = ');readln(pk);
writeln;
if (pk <=50) then
gol1 := 1500*pk
else if (pk<=75) then
begin
gol1 :=1500*50;
gol2 :=1750*(pk-50);
end
else if (pk<=100) then
begin
gol1:=1500*50;
gol2:=1750*25;
gol3:=2000*(pk-75);
end
else
begin
gol1:=1500*50;
gol2:=1750*25;
gol3:=2000*25;
gol4:=2250*(pk-100);
end;
total:=gol1+gol2+gol3+gol4;
writeln('Tarif Golongan 1 = Rp.',gol1:8);
writeln('Tarif Golongan 2 = Rp.',gol2:8);
writeln('Tarif Golongan 3 = Rp.',gol3:8);
writeln('Tarif Golongan 4 = Rp.',gol4:8);
writeln('Total            = Rp.',total:8);
writeln;
Writeln('==============================================');
    Writeln('= Created, Ardiansyah || 201422050265 ||TI.11 =');
Writeln('==============================================');
    write('Mau cek pemakaian air lagi? [Y/T]: ');
    Readln(ulang);
    end;
end.
==============================================
Berikut hasil outputnya :
 

CONTOH MENENTUKANN BONUS PEGAWAI

 Contoh :

Buatlah program untuk menentukan bonus pegawai, berdasarkan ketentuan yang diberikan oleh bagian personalia dan keuangan sebagai berikut : Pegawai perusahaan digolongkan menjadi  dua golongan, yaitu staff dan non staff. Staff akan mendapatkan bonus sebesar 1 juta rupiah dengan syarat bahwa ia telah bekerja paling tidak 5 tahun dan umurnya sudah mencapai 50 tahun; staff yang bekerja kurang dari 5 tahun dan berapapun umurnya, hanya mendapat bonus sebesar Rp. 500.000. Pegawai non staff yang telah bekerja lebih dari 5 tahun akan mendapatkan bonus Rp. 400.000 jika umur lebih dari 50 tahun  sedangkan pegawai non staff yang berumur kurang dari 50 tahun hanya mendapat bonus Rp. 250.000.
=========================================
Program Bonus_Ardiansyah;
uses wincrt;
var
kerja,usia : real;
golongan : integer;
nama : string;
ulang:char;
Begin
clrscr;
ulang:='Y';
while Upcase(ulang)='Y' do
Begin
ClrScr;
writeln('          =========================================          ');
writeln('          =  BONUS KARYAWAN PT IkhAdyt@gmail.com  =          ');
writeln('          =========================================          ');
writeln;
write('Masukkan Nama Anda : ');readln(nama);
write('Masukkan Golongan [1(Staf)/2(NonStaf)] : ');readln(golongan);
writeln;
writeln('=========================================');
writeln;
case golongan of
     1:
     begin
          write('Lama Bekerja : ');readln(kerja);
          write('Usia Anda    : ');readln(usia);
          if (kerja >=5) and (usia >=50) then writeln('Bonus        : 1000000')
          else if (kerja >=5) and (usia <= 50) then writeln('Bonus        : 500000')
          else if (kerja <=5) and (usia >= 0) then writeln('Bonus : 300000')
          else writeln('Tidak ada bonus ta sodara')
     end;
     2:
     begin
          write('Lama Bekerja : ');readln(kerja);
          write('Usia Anda    : ');readln(usia);
          if (kerja >= 5) and (usia >= 50) then writeln('Bonus        : 400000')
          else if (kerja >=5) and (usia <= 50) then writeln('Bonus        : 250000')
          else writeln('Tidak ada bonus ta broo')
     end;
end;
writeln;
Writeln('==============================================');
    Writeln('= Created, Ardiansyah || 20142205026 ||TI.11 =');
Writeln('==============================================');
    write('Mau cek bonus lagi? [Y/T]: ');
    Readln(ulang);
    end;
end.
=======================================
Berikut hasil outputnya :