Mohon maaf sebelumnya, Jika postingan ini sedikit nyerempet....
mungkin juga akan berharga buat agan yang belajar pascal. tapi postingan ini saya khususkan ke teman saya Al-Rasyidi
langsung saja Cekidot ...
program beli_tiket;
{tugas membuat program pembelian tiket
soal : hal 18 no.2
tampilkan nama, tujuan,usia,jumlah,sub_total,potongan dan total
nama : M. Nur Khaidir
kelas : 2 D manajemen
NIM : 121045 }
uses wincrt;
label salah,keluar,beli_lagi;
var
nama,tujuan,usia : string;
kelas,ulang : char;
jumlah : integer;
sub_total,pot,harga,total :real;
const
dpp = 0.2;
lbp = 0.15;
lp = 0.05;
procedure rumus_dpp;
begin
sub_total:= harga*jumlah;
pot := sub_total*dpp;
total := sub_total-pot;
end;
procedure rumus_lbp;
begin
sub_total := harga*jumlah;
pot := sub_total*lbp;
total := sub_total-pot;
end;
procedure rumus_lp;
begin
sub_total := harga*jumlah;
pot := sub_total*lp;
total := sub_total-pot;
end;
procedure rumus_nol_pot;
begin
sub_total := harga*jumlah;
total := sub_total;
end;
begin
salah:
beli_lagi:
write ('Nama penumpang : '); Readln (nama);
write ('Kelas : '); Readln (kelas);
write ('Tujuan : '); Readln (tujuan);
write ('Usia : '); Readln (usia);
write ('Jumlah beli : '); Readln (jumlah);
if (kelas='1') then
begin
if (usia='Anak') or (usia='anak') then
begin
if (tujuan='Batam') or (tujuan='batam') then
begin
harga := 150000;
rumus_dpp; {panggil prosedurnya}
end
else
if (tujuan='Tanjung Balai') or (tujuan='tanjung balai') then
begin
harga := 125000;
rumus_nol_pot; {panggil prosedurnya}
end
else
{jika tujuan salah kembali ke input nama}
begin
writeln('');
writeln('input salah!!!');
writeln('tujuan tidak tercantum');
goto salah
end;
end
else
if (usia='Dewasa') or (usia='dewasa') then
begin
if (tujuan='Batam') or (tujuan='batam') then
begin
harga := 160000;
rumus_dpp; {panggil prosedurnya}
end
else
if (tujuan='Tanjung Balai') or (tujuan='tanjung balai') then
begin
harga := 135000;
rumus_lp;
end
else
{jika tujuan salah kembali ke input nama}
begin
writeln('');
writeln('input salah!!!');
writeln('tujuan tidak tercantum');
goto salah
end;
end
else
{jika usia salah kembali ke input nama}
begin
writeln('');
writeln('input salah!!!');
writeln('usia tidak tercantum');
goto salah
end;
end
else
if (kelas='2') then
begin
if (usia='Anak') or (usia='anak') then
begin
if (tujuan='Batam') or (tujuan='batam') then
begin
harga := 125000;
rumus_lbp;
end
else
if (tujuan='Tanjung Balai') or (tujuan='tanjung balai') then
begin
harga:= 100000;
rumus_nol_pot;
end
else
{jika tujuan salah kembali ke input nama}
begin
writeln('');
writeln('input salah!!!');
writeln('tujuan tidak tercantum');
goto salah
end;
end
else
if (usia='Dewasa') or (usia='dewasa') then
begin
if (tujuan='Batam') or (tujuan='batam') then
begin
harga := 140000;
rumus_lbp;
end
else
if (tujuan='Tanjung Balai') or (tujuan='tanjung balai') then
begin
harga := 110000;
rumus_nol_pot;
end
else
{jika tujuan salah kembali ke input nama}
begin
writeln('');
writeln('input salah!!!');
writeln('tujuan tidak tercantum');
goto salah
end;
end
else
{jika usia salah kembali ke input nama}
begin
writeln('');
writeln('input salah!!!');
writeln('usia tidak tercantum');
goto salah
end;
end
else
begin
Writeln('');
writeln ('kelas tidak tercantum');
writeln('input salah!!!');
goto salah
end;
clrscr;
writeln ('--------------CV. BATAM LINE SETIA ABADI--------------');
writeln ('******************************************************');
writeln ('Nama Penumpang : ',nama);
writeln ('Tujuan : ',tujuan);
writeln ('Usia : ',usia);
writeln ('Kelas : ',kelas);
writeln ('Jumlah Tiket : ',jumlah);
writeln ('Sub Total : ',sub_total:2:2);
writeln ('Potongan harga : ',pot:2:2);
writeln ('_________________________________________');
writeln ('Total Harga : Rp. ',total:2:2);
writeln ('******************************************************');
writeln('beli lagi ... y/t'); readln(ulang);
if (ulang='y') or (ulang='Y') then
begin
clrscr;
writeln('');
goto beli_lagi
end
else
begin
writeln('*********Terima Kasih*********');
goto keluar;
end;
keluar:
end.
lansung
Dowload ajha jika males copy