IF Sederhana
Bentuk paling sederhana dari pernyataan kondisional dalam setiap bahasa adalah if - then. Contoh:
if (a>b) then writeln(“A lebih besar dari B”);
bagian
setelah if disebut dengan bagian kondisi dan bagian setelah then adalah
bagian aksi. Jika aksi lebih dari satu instruksi maka bisa
dikelompokkan dalam blok begin end. Seperti ini:
if (a>b) then
begin
writeln(“Kesimpulan:”);
writeln(“A lebih besar dari B”);
end;
IF dengan ELSE
Selain if - then, ada bentuk kondisional lain yaitu if - then - else. Kita bisa mengubah instruksi
semacam ini:
if (a>b) then writeln(“A lebih besar dari B”);
if (a<=b) then writeln(“A kurang dari atau sama dengan B”);
menjadi:
if (a>b) then writeln(“A lebih besar dari B”) else (“A kurang dari atau sama dengan B”);
Bagian
else akan dieksekusi jika bagian kondisi tidak dipenuhi, atau dengan
kata lain, bagian else dieksekusi jika kondisi yang terjadi adalah
komplemen dari kondisi di bagian if.
Perhatikan:
untuk memperjelas program, sebaiknya semua instruksi if yang memiliki
else ditulis dengan komentar setelah else (untuk menjelaskan kondisi apa
yang ditangani oleh else kepada pembaca program) seperti ini:
if (a>b) then
begin
writeln(“A lebih besar dari B”);
end else (* a<= b *)
begin
(“A kurang dari atau sama dengan B”);
end;
IF untuk banyak kondisi
Instruksi
if boleh digabung dengan banyak instruksi if menangani kondisi yang
kompleks (banyak kondisi dan banyak aksi), seperti ini:
if (kondisi_1) then
begin
aksi1;
end
else if (kondisi_2) then
begin
aksi2;
end else (* kondisi 1 dan 2 tidak dipenuhi*)
begin
aksi_n;
end.
Contoh Soal Buat Penggunaan Fungsi IF
Buatlah
program untuk mengetahui informasi harga dan besar angsurannya jika
dikredit selama 10 tahub. adapun daftarnya sebagai berikut ;
Tipe harga Angsuran /Bulan
A 50.000.000 500.000
B 65.000.000 600.000
C 75.000.000 750.000
D 85.000.000 850.000
berikut scriptnya
Program Gaji_Karyawan;
uses wincrt;
var nama, kode, jabatan : string [15];
Total, a, b, c : longint;
begin
writeln ('Gaji Karyawan PT XYZ');
write ('Nama Karyawan = '); readln (nama);
write ('Kode Karyawan [DR, WD, MN, ASI, KW] = '); readln (kode);
if (kode = 'DR') then
begin
jabatan := 'Direktur';
a := 3000000;
b := 850000;
c := 500000;
end
else
if (kode = 'WD') then
begin
jabatan := 'Wakil Direktur';
a := 2500000;
b := 800000;
c := 500000;
end
else
if (kode = 'MN') then
begin
jabatan := 'Manajer';
a := 2000000;
b := 800000;
c := 450000;
end
else
if (kode = 'ASI') then
begin
jabatan := 'Asisten';
a := 1500000;
b := 700000;
c := 400000;
end
else
begin
jabatan := 'Karyawan';
a := 1000000;
b := 500000;
c := 300000;
end;
writeln ('Jabatan = ', jabatan);
writeln ('Gaji Pokok = Rp.', a);
writeln ('Tunjangan Transport = Rp.', b);
writeln ('Tunjangan Makan = Rp.', c);
total := a + b + c;
writeln ('total Gaji = Rp. ', total);
readln;
end.
Sekian, Terima kasih
uses wincrt;
var nama, kode, jabatan : string [15];
Total, a, b, c : longint;
begin
writeln ('Gaji Karyawan PT XYZ');
write ('Nama Karyawan = '); readln (nama);
write ('Kode Karyawan [DR, WD, MN, ASI, KW] = '); readln (kode);
if (kode = 'DR') then
begin
jabatan := 'Direktur';
a := 3000000;
b := 850000;
c := 500000;
end
else
if (kode = 'WD') then
begin
jabatan := 'Wakil Direktur';
a := 2500000;
b := 800000;
c := 500000;
end
else
if (kode = 'MN') then
begin
jabatan := 'Manajer';
a := 2000000;
b := 800000;
c := 450000;
end
else
if (kode = 'ASI') then
begin
jabatan := 'Asisten';
a := 1500000;
b := 700000;
c := 400000;
end
else
begin
jabatan := 'Karyawan';
a := 1000000;
b := 500000;
c := 300000;
end;
writeln ('Jabatan = ', jabatan);
writeln ('Gaji Pokok = Rp.', a);
writeln ('Tunjangan Transport = Rp.', b);
writeln ('Tunjangan Makan = Rp.', c);
total := a + b + c;
writeln ('total Gaji = Rp. ', total);
readln;
end.
Sekian, Terima kasih
Tidak ada komentar:
Posting Komentar