Pertemuan V Struktur kondisi
Statement IF • Struktur If-Then IF ungkapan THEN statement
If kondisi ?
benar then
tidak
Statement
Begin
Ket:= ‘tidak lulus’
Write (‘nilai yang didapat?’); readln (nilai);
Nilai ujian >60 T
Writeln (ket);
End.
Y
Ket:=’lulus’
uses wincrt; var nilai : real; ket: string[11]; begin clrscr; ket :='tidak lulus'; write ('nilai yang diadapat?'); readln(nilai); if nilai > 60 then ket :='lulus'; writeln (ket); end.
uses wincrt; var i, j : integer; begin write('Masukkan nilai i = '); readln(i); write ('Masukkan nilai j = '); readln (j); if (i>3) and (j>4) then begin writeln('Hal ini terjadi jika i>3 dan j>4'); end; end.
Struktur IF-THEN … ELSE IF kondisi THEN Pernyataan_1 ELSE Pernyataan_2
kondisi
T
Y Pernyataan_1
Pernyataan_2
uses wincrt; var suhu :real; begin clrscr; write ('suhu tubuh ?'); readln (suhu); if suhu > 37 then writeln ('suhu tinggi') else writeln('suhu tidak tinggi'); end.
var pil : integer; begin clrscr; writeln ('masukkan angka 1 atau 2'); readln (pil); if pil=1 then begin writeln ('halo kawan'); writeln('apa kabar?'); End; else begin writeln('halo, my friend'); writeln ('how are u?'); end;
Struktur IF bersarang(nested IF) IF kondisi1 THEN IF kondisi2 THEN pernyataan_1 ELSE pernyataan_2; IF kondisi1 THEN BEGIN IF kondisi2 THEN pernyataan_1; END ELSE pernyataan_2;
• Menetukan bonus bagi pembelian berdasarkan total pembelian. Kriterianya : kriteria
Bonus
Total >=100.000
Diskon 10 %
50.000 <=total<100.000 1 piring 10.000 <=total<50.000
1 gelas
Total<10.000
Tak ada bonus
var totpemb: longint; begin clrscr; write ('total pembelian ='); readln (totpemb); if totpemb >= 100000 then writeln ('diskon sebesar 10%') else if totpemb >= 50000 then writeln ('bonus : 1 piring') else if totpemb >10000 then writeln ('bonus : 1 gelas') else writeln ('tidak ada bonus');
Statement CASE CASE nilai OF daftar_nilai_1 : pernyataan_1; daftar_nilai_2: pernyataan_2; … daftar_nilai_m: pernytaan_m; ELSE pernyataan_n END
Nilai=daftar_nilai_1
Pernyataan_1
Nilai=daftar_nilai_2
Pernyataan_2
Nilai=daftar_nilai_m
Pernyataan_m
Pernyataan_n
End
uses wincrt; var pil : integer; begin clrscr; write ('pilihan (1,2 atau 3):'); readln(pil); case pil of 1:writeln ('pilihan anda adalah 1'); 2:writeln ('pilihan anda adalah 2'); 3:writeln ('pilihan anda adalah 3'); else writeln ('salah pilihan!'); end; writeln ('selesai....'); end.
uses wincrt; var kodebln : integer; begin clrscr; write ('kode bulan [1..12] :'); readln (kodebln); case kodebln of 1,3,5,7,8,10,12 : writeln ('jumlah hari =31'); 4,6,9,11 : writeln ('jumlah hari =30'); 2 : writeln ('jumlah hari 28 atau 29'); else writeln ('salah memasukkan kode bulan'); end; end.
LATIHAN 1.
Masukan : - lama menginap ( LM) - harga kamar/hari (HK) Rumus : jumlah bayar (JML) dihitung dari lama menginap dikali dengan harga kamar/hari. Jika jumlah bayar diatas sama dengan 100000, maka mendapat potongan 10%, jika tidak potongan tidak dapat. Total akhir bayar (BYRAKH) dihitung dari jumlah bayar dikurangi potongan. Keluaran : - jumlah bayar,total biaya akhir
2. Masukan : -lama menginap ( LM) - harga kamar/hari (HK) Rumus : jumlah bayar (JML) dihitung dari lama menginap dikali dengan harga kamar/hari. Jika jumlah bayar diatas sama dengan 200000, maka mendapat potongan 20% dan keterangan (KET) “dapat diskon”, jika tidak maka keterangan “Tak diskon”. Total akhir bayar (BYRAKH) dihitung dari jumlah bayar dikurangi potongan. Keluaran : - jumlah bayar, keterangan,total biaya akhir
3. Masukan : - nama karyawan (namakry) - gaji pokok (gapok) - jumlah jam kerja (jumjam) rumus : gaji kotor (gator) dihitung dari gaji pokok dikali jumlah jam kerja. Jika gaji kotor > 500000 dikenakan pajak (tax) 5% dan pada variabel keterangan (ket) diisi “pajak”, jika gaji kotor dibawah 500000, tidak dikenakan pajak dan variabel keterangan diisi “tidak pajak”. Gaji bersih yang diterima (gjterima) dihitung dari gaji kotor dikurangi pajak. keluaran : gaji kotor, pajak, gaji bersih, keterangan
4. Masukan : - lama menginap (LM) - harga kamar/hari (HK) rumus : jumlah bayar (JML) dihitung dari lama menginap dikali dengan harga kamar/hari. Jika jumlah bayar >= 300000 dan dan harga kamar perhari > 50000 maka keterangan (KET) “dapat kartu diskon”, jika tidak maka keterangan “tak dapat kartu diskon”. Jika lama menginap > 3 maka dapat diskon 30%, jika tidak diskon tidak dapat. Total bayar akhir (BYRAKH) dihitung dari jumlah bayar dikurangi diskon. keluaran : jumlah bayar, keterangan, total bayar akhir
Start
Input LM,HK
Jml = LM*HK
If jml>=300000
Ya
If jml>=300000
Ya
Ket = “dapat kartu diskon
Ya
Byrakh = jml(jml*0.3)
Tidak Ket = “ tidak dapat kartu diskon
If LM >3 Tidak Byrakh = jml
Jml,ket,byrakh
End.