Setelah kemarin saya share kasus tentang pencabangan if dalam membuat program rawat inap. Sekaran saya akan share kasus baru, masih memakai pencabangan if, tapi ada yang berbeda yakni if bersarang atau biasanya disebut nested if. Berikut aturan tentang nested if atau if bersarang.
Berikut ini aturan penggunaan dari nestad if.
if Kondisi 1 then
begin
if kondisi 1 then
Statement 1
else if kondisi 2 then
Statement 2
else if kondisi ... then
Statement ...
else
Statement ...
end
else begin
if kondisi 1 then
Statement 1
else if kondisi 2 then
Statement 2
else if kondisi ... then
Statement ...
else
Statement ...
end;
....
Setelah belajar sedikit tentang materi if bersarang atau nested if di atas. Saya mempunyai sebuah kasus di bawah ini, masih sama dengan kasus sebelumnya tentang program rawat inap, namun ada sedikit perbedaan. Berikut kasusnya.
Di Rumah Sakit “Enggal
Waras” mempunyai 2 jenis perawatan yaitu rawat jalan dan rawat inap, jika rawat
jalan maka pasien akan dikenakan biaya dokter, biaya obat. Jika jenis rawat
inap maka pasien harus memilih jenis ruangan perawatan yang dipakai, jika ruang
VIP maka biaya per hari 700 ribu, jika ruang Kelas I maka biaya per hari 500
ribu, jika ruang Kelas II maka biaya 300 ribu, jika Kelas III maka biaya 150
per hari. Biaya dokter juga akan dikenakan perhari (biaya dokter tergantung
dari jenis dokter yang dipilih jika dokter spesialis maka biaya per hari 300000
jika dokter umum biaya 100 ribu per hari), biaya obat akan dihitung secara
akumulasi. Buat aplikasi sederhana untuk KASIR dengan ketentuan ntuk rawat inap
total pembayaran dihitung dari biaya ruang dikalikan jumlah hari menginap,
biaya dokter dikalikan jumlah hari menginap dan biaya obat. Untuk rawat jalan
biaya obat ditambah biaya dokter.
Berikut ini source code dari kasus di atas.
program rawat2;
uses
WinCrt;
var p,r,dok:string[10];
biar,biad,hr,tot,o:real;
begin
writeln('Program Rawat Inap RS.Enggal Waras');
writeln;
write('Pilih jenis perawatan [Rawat Inap(i)|Rawat Jalan(j)]: '); readln(p);
if p='i' then
begin
write('Pilih jenis ruangan yang digunakan [VIP|1|2|3]: '); readln(r);
write('Lama menginap berapa hari: '); readln(hr);
write('Biaya obat: '); readln(o);
end;
if r='vip' then
begin
biar:=700000*hr;
end
else if r='1' then
begin
biar:=500000*hr;
end
else if r='2' then
begin
biar:=300000*hr;
end
else if r='3' then
begin
biar:=150000*hr;
end;
if p='j' then
begin
writeln('Anda dikenakan biaya dokter.');
write('Pilih jenis dokter [spesialis(s)|umum(u)]: '); readln(dok);
write('Rawat dokter berapa hari: '); readln(hr);
write('Biaya obat: '); readln(o);
end;
if dok='s' then
begin
biad:=300000*hr;
end
else if dok='u' then
begin
biad:=100000*hr;
end;
tot:=biad+biar+o;
writeln;
writeln('Rincian biaya RS.Enggal Waras');
writeln('Biaya Ruang : ', biar:10:0);
writeln('Biaya Dokter : ', biad:10:0);
writeln('Biaya Obat : ', o:10:0);
writeln('Total Biaya : ', tot:10:0);
end.
Berikut Screenshot hasil dari program di atas.
This post have 0 komentar
EmoticonEmoticon