Percabangan dan Perulangan
Dalam pemrogram pascal kali ini kita akan mulai lebih dalam berlatih logika. Dalam Pascal dikenal pula algoritma pemrograman yang melibatkan percabangan dan perulangan. Percabangan di bahasa pascal ada dua pilihan yaitu menggunakan :
if ... then merupakan operasi logika percabangan berdasarkan nilai tertentu yaitu benar (true) atau salah (false).
contoh:
i:= 500; if i < 100 then write('masih kurang') else write('ok sudah cukup');
case ..of merupakan operasi logika percabangan berdasarkan nilai yang sesuai dengan nilai yang diseleksi. Selektor yang digunakan harus bertipe skalar atau tipe data yang memiliki urutan sudah pasti misalnya seperti 1,2,3..dst atau a,b,c..dst.
contoh:
i := 'A';
case i of
'A':writeln('istimewa');
'B':writeln('baik');
'C':writeln('cukup');
'D':writeln('kurang');
Selain logika percabangan, di pemrograman pascal dikenal pula perulangan yang pilihannya ada tiga:
for.. do merupakan logika percabangan yang berulang-ulang dilakukan bila nilai atau kondisi tertentu belum terpenuhi. Nilai yang dijadikan pokok kondisi bisa dari index tertinggi atau index terendah.
contoh:
for i:=1 to 5 do writeln('urutan ke ',i);
while.. do merupakan perintah looping atau perulangan yang dimana suatu nilai diuji terlebih dahulu kemudian bila syarat belum terpenuhi akan diulang hingga nilai terpenuhi.
contoh:
i:=10;
while i > 1 do
begin
writeln ('urutan ke ',i);
i := i-1;
end;
repeat.. until perintah ini jarang ada di bahasa pemrograman yang lain. Perulangan akan dilakukan secara terus menerus dan pengujian ekspresi baru dilakukan dibagian akhir.
contoh:
i:=10;
repeat
writeln('urutan ke ',i);
i:= i -1;
until i = 0;
Langsung saja ini Contoh programnya
program latih4;
uses crt;
const
beaAdmin=1000;
var
nomor : string[6];
nama,alamat: string[20];
golongan : integer;
pakai, lalu, sekarang, bayar, total : real;
BEGIN
clrscr;
writeln('Program untuk menghitung biaya pemakaian listrik');
writeln(' PT. Pascal');
writeln('================================================');
writeln('Note : (a) harus diisi dengan angka');
write('Nomer Pelanggan (a) :'); readln(nomor);
write('Nama Pelanggan :'); readln(nama);
write('Alamat Pelanggan :'); readln(alamat);
write('Golongan Tarif (1 atau 2) :'); readln(golongan);
write('Pemakaian Bulan lalu (a) :'); readln(lalu);
write('Pemakaian Bulan Sekarang (a) :'); readln(sekarang);
pakai:= sekarang - lalu;
if golongan = 1 then
begin
if pakai > 10000 then
bayar:= 5000*100+5000*125+(pakai-10000)*150
else
if pakai > 5000 then
bayar:= 5000*100+(pakai-5000)*125
else
bayar:= pakai*100;
end
else
if golongan = 2 then
begin
if pakai > 10000 then
bayar:=2500*100+2500*125+(pakai-5000)*150
else
if pakai > 5000 then
bayar:=2500*100+(pakai-2500)*125
else
bayar:= pakai*100;
end
else
begin
if pakai > 1000 then
bayar:= 500*100+500*125+(pakai-1000)*150
else
if pakai > 500 then
bayar:= 2500*100+(pakai-250)*125
else
bayar:= pakai*100;
end;
total:= bayar + beaAdmin;
writeln('------------------------------------------------');
writeln('Biaya pemakaian Listrik : Rp.',bayar:7:2);
writeln('Biaya administrasi : Rp.',beaAdmin);
writeln('Yang harus dibayar : Rp.',total:7:2);
readln;
END.
Tampilan dari program diatas kurang lebih seperti ini:
Hasil .exe dari program diatas dapat anda unduh disini
Posting Komentar