PENYELESAIAN SOAL PRAKTIKUM III Topik : KONDISIONAL SOAL 1. Program yang membaca nilai integer dan menuliskan nilainya jika positif. PENYELESAIAN: Program praktikum3_soal1; uses crt; var bil : integer; begin clrscr; write('masukkan bilangan bulat : '); readln(bil); if bil > 0 then writeln('Bilangan yang anda masukkan adalah positif'); readln; end.
FLOWCHARTNYA START
Input bilangan bulat (bil)
TIDAK
If Bil > 0
Hasilnya : YA Tampilkan bilangan tersebut positif
end
SOAL 2. Program yang membaca nilai integer dan menuliskan ‘Nilai a positif’ jika a >= 0 dan ‘Nilai a negatif’ jika a < 0. PENYELESAIAN: program praktikum3_soal2; uses crt; var bil : integer; begin clrscr; write('masukkan bilangan bulat : '); readln(bil); if bil >= 0 then writeln('Bilangan yang anda masukkan adalah positif') else writeln('Bilangan yang anda masukkan adalah negatif'); readln; end.
Penyelesaian soal praktikum paskal kelas X by Jani Kusanti,S.Kom.
Page 1
FLOWCHARTNYA START
Input bilangan bulat (bil)
TIDAK
If Bil >= 0
YA Bilangan yg anda masukkan adalah positif
Bilangan yg anda masukkan adalah negatif
end
SOAL 3. Program yang membaca nilai integer dan menuliskan ‘Nilai a positif’ jika a > 0 , ‘Nilai a negatif ‘ jika a < 0, dan ‘Nilai Nol ‘ jika a=0. PENYELESAIAN: program prak3_soal3; uses crt; var bil : integer; begin clrscr; write('masukkan bilangan bulat : '); readln(bil); if bil > 0 then writeln('Bilangan yang anda masukkan adalah positif') else if bil < 0 then writeln('Bilangan yang anda masukkan adalah negatif') else writeln('Bilangan yang anda masukkan adalah 0'); readln; end.
Penyelesaian soal praktikum paskal kelas X by Jani Kusanti,S.Kom.
Page 2
FLOWCHARTNYA START
Input bilangan bulat (bil)
TIDAK
If Bil > 0
YA Bilangan yg anda masukkan adalah positif
If
TIDAK
Bil < 0
YA Bilangan yg anda masukkan adalah negatif
end
Hasilnya :
SOAL 4. Dibaca tiga buah harga a, b dan c, harus dituliskan secara terurut mulai dari yang terkecil sampai dengan yang terbesar. Ketiga bilangan yang dibaca selalu berlainan harganya PENYELESAIAN: program prak3_soal4; uses crt; var a,b,c : integer; begin clrscr; write('angka a = '); readln(a); write('angka b = '); readln(b); write('angka c = '); readln(c); if (a
Penyelesaian soal praktikum paskal kelas X by Jani Kusanti,S.Kom.
Page 3
if (a
terkecil =',a,',',c,',',b) terkecil =',b,',',a,',',c) terkecil =',b,',',c,',',a) terkecil =',c,',',a,',',b) terkecil =',c,',',b,',',a);
Hasilnya :
SOAL 5. Idem no 4. Bagaimana jika ketiga bilangan yang dibaca adalah sama ? PENYELESAIAN: program prak3_soal5; uses crt; var a,b,c : integer; begin clrscr; write('angka a = '); readln(a); write('angka b = '); readln(b); write('angka c = '); readln(c); if (a
terkecil =',a,',',b,',',c) terkecil =',a,',',c,',',b) terkecil =',b,',',a,',',c) terkecil =',b,',',c,',',a) terkecil =',c,',',a,',',b)
Penyelesaian soal praktikum paskal kelas X by Jani Kusanti,S.Kom.
Page 4
else if (c
Hasilnya :
SOAL 6. Dibaca suatu nilai bertipe integer. Jika dimasukan harga 1 maka tulis di layar ‘SATU’ Jika dimasukan harga 2 maka tulis di layar ‘DUA’ Jika dimasukan harga 3 maka tulis di layar ‘TIGA’ …………… Jika dimasukan harga 9 maka tulis di layar ‘SEMBILAN’ Jika dimasukan harga 0 maka tulis di layar ‘NOL’ Jika dimasukan harga selain 0 s/d 9 maka tulis di layar ‘BILANGAN SELAIN 0 s/d 9’ PENYELESAIAN: program prak3_soal6; uses crt; var angka : integer; begin clrscr; write(" angka [0..9]="); readln(angka); case angka of 1 : write(" anda memasukkan angka SATU'); 2 : write('anda memasukkan angka DUA'); 3 : write('anda memasukkan angka TIGA'); 4 : write('anda memasukkan angka EMPAT'); 5 : write('anda memasukkan angka LIMA'); 6 : write('anda memasukkan angka ENAM'); 7 : write('anda memasukkan angka TUJUH'); 8 : write('anda memasukkan angka DELAPAN'); 9 : write('anda memasukkan angka SEMBILAN'); 0 : write('anda memasukkan angka NOL'); else writeln('maaf anda salah memasukkan angka'); end; readln; end.
SOAL 7. Buatlah program untuk menentukan bonus pegawai, berdasarkan ketentuan yang diberikan oleh bagian personalia dan keuangan sebagai berikut : Pegawai perusahaan digolongkan menjadi dua golongan, yaitu staf dan non staf. Staf akan mendapatkan bonus sebesar 1 juta rupiah dengan syarat bahwa ia telah bekerja paling tidak 5 tahun dan umurnya sudah mencapai 50 tahun; staf yang bekerja kurang dari 5 tahun dan berapapun umurnya, hanya mendapat bonus sebesar Rp. 500.000. Pegawai non staf yang telah bekerja lebih dari 5 tahun akan mendapat bonus sebesar Rp. 400.000 jika berumur lebih dari 50 tahun sedangkan pegawai non staf yang
Penyelesaian soal praktikum paskal kelas X by Jani Kusanti,S.Kom.
Page 5
berumur kurang dari 50 tahun hanya mendapat bonus Rp. 250.000. Pegawai staf yang umurnya kurang dari 50 tahun akan mendapat bonus Rp. 300.000 PENYELESAIAN: program prak3_soal7; uses crt; var umur,lmkerja,bonus: real; karyawan : string; begin clrscr; write('masukkan status anda [staf atau nonstaf] ='); readln(karyawan); write('Masukkan umur anda :'); readln(umur); write('Masukkan lama kerja anda:'); readln(lmkerja); if karyawan ='staf' then if (umur >= 50) and (lmkerja>=5) then write('Bonus yang anda terima = 1 juta rupiah') else writeln('Bonus yang anda terima = Rp.500.000,-') else if karyawan ='nonstaf' then if (umur >=50) and (lmkerja >=5) then write('Bonus yang anda terima = Rp.400.000,-') else write('Bonusyang anda terima = Rp.250.000,-') else write('Bagi staf yang umurnya kurang dari 50 tahun akan mendapat bonus Rp.300.000,'); readln; end.
Contoh Hasilnya:
Penyelesaian soal praktikum paskal kelas X by Jani Kusanti,S.Kom.
Page 6