Selain IF, ada bentuk analisa kasus yang digunakan untuk menangani banyak kondisi yang ada dalam permasalahan dari pembuatan suatu program
Pernyataan CASE-OF biasanya dipakai pada permasalahan ganda. Karena pada pernyataan CASE-OF lebih jelas dan lebih mudah untuk dipahami serta lebih cepat pembuatannya daripada menggunakan pernyataan IF-THEN-ELSE.
Bentuk umumnya adalah:
CASE
nilai OF
Daftar_nilai1: pernyataan_1;
Daftar_nilai2: pernyataan_2;
… … … ...
Daftar_nilaim: pernyataan_m;
ELSE
Pernyataan_n
END
|
Pada bentuk
umum pernyataan CASE-OF diatas:
·
Nilai dapat
berupa tipe char, byte dan Boolean.
·
Daftar_nilai
dapat berupa satu atau beberapa konstanta.
Contoh Program Pada Pernyataan Case Of,
soalnya:
Buatlah Program untuk menghitung gaji karyawan pada PT XYZ jika yang diinput adalah nama kode jabatan dan mengeluarkan jabatan dan perincian gajinya ditetapkan berdasarkan jabatan dengan ketentuan sebagai berikut :
Kode jabatan Jabatan Gaji Pokok Tunj. Transport Tunj.Makan
DR Direktur 3.000.000 850.000 500.000
WD Wakil direktur 2.500.000 800.000 500.000
MN Manajer 2.000.000 800.000 450.000
AS Asisten 1.500.000 700.000 400.000
KW Karyawan 1.000.000 500.000 300.000
Buatlah Program untuk menghitung gaji karyawan pada PT XYZ jika yang diinput adalah nama kode jabatan dan mengeluarkan jabatan dan perincian gajinya ditetapkan berdasarkan jabatan dengan ketentuan sebagai berikut :
Kode jabatan Jabatan Gaji Pokok Tunj. Transport Tunj.Makan
DR Direktur 3.000.000 850.000 500.000
WD Wakil direktur 2.500.000 800.000 500.000
MN Manajer 2.000.000 800.000 450.000
AS Asisten 1.500.000 700.000 400.000
KW Karyawan 1.000.000 500.000 300.000
Program Gaji_Karyawan;
uses wincrt;
var nama, kode : string;
a, b, c, Total : longint;
begin
writeln ('Gaji Karyawan PT XYZ');
write ('Nama Karyawan = '); readln (nama);
write ('Kode Karyawan [DR, WD, MN, ASI, KW] = '); readln (kode);
Case (kode) of
'DR' : begin
writeln ('Jabatan = Direktur');
a := 3000000;
b := 850000;
c := 500000;
Total := a+b+c;
end;
'WD' : begin
writeln ('Jabatan = Wakil Direkktur');
a := 2500000;
b := 800000;
c := 500000;
Total := a+b+c;
end;
'MN' : begin
writeln ('Jabatan = Manajer');
a := 2000000;
b := 800000;
c := 450000;
Total := a+b+c;
end;
'ASI' : begin
writeln ('Jabatan = Asisten');
a := 1500000;
b := 700000;
c := 400000;
Total := a+b+c;
end;
'KW' : begin
writeln ('Jabatan = Karyawan');
a := 1000000;
b := 500000;
c := 300000;
Total := a+b+c;
end;
end;
writeln ('Gaji Pokok = Rp.', a);
writeln ('Tunj Transport = Rp.',b);
writeln ('Tunj Makan = Rp.',c);
writeln ('total = Rp.', total);
readln;
end.
uses wincrt;
var nama, kode : string;
a, b, c, Total : longint;
begin
writeln ('Gaji Karyawan PT XYZ');
write ('Nama Karyawan = '); readln (nama);
write ('Kode Karyawan [DR, WD, MN, ASI, KW] = '); readln (kode);
Case (kode) of
'DR' : begin
writeln ('Jabatan = Direktur');
a := 3000000;
b := 850000;
c := 500000;
Total := a+b+c;
end;
'WD' : begin
writeln ('Jabatan = Wakil Direkktur');
a := 2500000;
b := 800000;
c := 500000;
Total := a+b+c;
end;
'MN' : begin
writeln ('Jabatan = Manajer');
a := 2000000;
b := 800000;
c := 450000;
Total := a+b+c;
end;
'ASI' : begin
writeln ('Jabatan = Asisten');
a := 1500000;
b := 700000;
c := 400000;
Total := a+b+c;
end;
'KW' : begin
writeln ('Jabatan = Karyawan');
a := 1000000;
b := 500000;
c := 300000;
Total := a+b+c;
end;
end;
writeln ('Gaji Pokok = Rp.', a);
writeln ('Tunj Transport = Rp.',b);
writeln ('Tunj Makan = Rp.',c);
writeln ('total = Rp.', total);
readln;
end.
sekian, semoga bermanfaat
Tidak ada komentar:
Posting Komentar