Anda di halaman 1dari 6

SMK ISLAM 1 BLITAR

Soal KD.6:Struktur Kontrol Percabangan


1. Format penulisan struktur percabangan dengan 1 kondisi di dalam pascal adalah
a. if kondisi then
Pernyataan;
b. if kondisi do
Pernyataan;
c. if kondisi
Pernyataan;
d. for kondisi then
Pernyataan;

2. Jika seorang pegawai mempunyai masa kerja lebih dari 5 tahun maka dia akan
mendapatkan tambahan gaji sebesar 500000 sedangkan untuk yang lainnya mendapat
tambahan gaji 200000
Penulisan struktur percabangan yang sesuai dengan masalah diatas adalah
a. if masakerja<=5 then
tambahan:=500000;
else
tambahan := 200000;
b. if masakerja<=5 then
tambahan:=200000;
else
tambahan := 500000;
c. if masakerja>=5 then
tambahan:=500000;
else
tambahan := 200000;
e. if masakerja>5 do
tambahan:=500000;
else
tambahan := 200000;

3. Format penulisan struktur percabangan dengan 2 kondisi di dalam pascal adalah


a. if kondisi then
Pernyataan
Else
Pernyataan2;
b. if kondisi do
Pernyataan;
Else
Pernyataan2;
c. if kondisi then
Pernyataan;
Else
Pernyataan;
d. for kondisi then
Pernyataan;
4. Perhatikan potongan syntaks berikut ini
Read(a);
If a mod 2=0 then
Write(Bilangan Genap)
Else write(Bilangan Ganjil);

Jika variabel a bernilai 9, maka output yang dihasilkan........


a. Bilangan ganjil
b. Bilangan Genap
c. Bilangan Ganjil
d. Bilangan Genap

5. Perhatikan potongan syntaks berikut ini:


if a>b then
m:=a
else
m:=b;
readkey;
if c>m then
maks:=c;
write(m);
readkey;

Jika var a bernilai 2 , var b bernilai 7, dan variabel c bernilai 1, maka output dari program
diatas adalah....
a. 7
b. 2
c. 1
d. 6

6. Perhatikan kode berikut ini


uses crt;
var jjk:integer;
lembur:real;
upah:real;

begin
clrscr;
read(jjk);
if jjk <=48 then
upah :=jjk*2000
else
begin
lembur :=jjk - 48;
upah:=(48*2000)+(lembur*3000);
end;
write(upah);
readkey;
end.
Jjk adalah jumlah jam kerja, jika jjk bernilai 19, maka output yang dihasilkan adalah.....
a. 38000
b. 96000
c. 183000
d. 39000

7. Perhatikan potongan kode program berikut:


If a>=70 then
Write(Bagus)
Else
if nilai>=60 then
Write(Cukup)
Else
If nilai <60 then
Write(Remidi)
Else write(tidak remidi);

Jika variabel a nilainya adalah 75 maka outputnya adalah....


a. Bagus
b. Cukup
c. Tidak remidi
d. Cukup tidak remidi

8. Perhatikan potongan kode berikut........


read(x);
if x >0 then
write('Positif')
else
if x<0 then
write('Negatif')
else
write('Nol');
readkey;

Jika variabel x bernilai -7 berarti output yang dikeluarkan adalah.......


a. negatif
b. Negatif
c. positif
d. nol

9. Perhatikan kasus dibawah ini


Kasus 1: Jika suhu <=0, maka air berwujud padat
Kasus 2: jika 0<suhu<100, maka sir berwujud cair
Kasus 3: jika suhu >=100, maka air berwujud uap

Jika kasus diatas diimplementasikan dalam bahasa pascal, maka potongan kode dibawah
ini yang benar adalah........

a. if suhu<= 0 then
write('padat');
else
if suhu<100 then
write('cair');
else
write('Gas atau Uap');

b. if suhu<= 0 then
write('padat')
else
if suhu<100 then
write('cair')
else
write('Gas atau Uap');

c. if suhu<= 0 then
write(padat)
else
if ( suhu <0) and (suhu < 100) then
write(cair)
else
if suhu >= 100 then
write(gas atau uap)
d. if suhu<= 0 then
write(padat)
else
if ( suhu <0) and (suhu < 100) then
write(cair)
else
if suhu > 100 then
write(gas atau uap)

10. Perhatikan potongan kode berikut:


Case pilihan of
'1': hasil:=a+b;
'2': hasil:=a-b;
'3':hasil:=a*b;
Else hasil:=a/b;
end;
Jika nilai a =15, b=3 dan inputan pilihan adalah 5 maka outputnya adalah...
a. 18
b. 13
c. 45
d. 5

11. Perhatikan potongan kode program berikut.


Case tahun of
2000..2004: pajak:=150000;
2005..2009:pajak:=200000;
2010..2012:pajak:=300000;
2013..2014:pajak:=350000;
End;
Jika kamu akan membeli motor pada tahun 2007 maka kamu harus membayar pajak motor
sebesar....
a. 150000
b. 200000
c. 300000
d. 350000

12. Jika aturan penilaian sebagai berikut


Jika nilai >=70 maka dicetak bagus
Jika 60<=nilai<70 maka dicetak cukup
Jika nilai kurang dari 60 maka dicetak remidi
Jika nilai aturan tersebut ditulis dengan menggunakan case of menjadi....
a. case nilai of
0-61:write(remidi);
60-70:write(cukup);
70-100:write(bagus);
end;
b. case nilai of
0..59:write(remidi);
60..69:write(cukup);
70..100:write(bagus);
end;
c. case nilai of
0..60:write(remidi);
61..70:write(cukup);
71..100:write(bagus);
end;
d. case nilai of
0-60:write(remidi);
61-70:write(cukup);
71-100:write(bagus);
end;

Essay
1. Buatlah suatu program dimana dapat membaca sebuah bilangan bulat positif lalu
menentukan apakah bilangan tersebut merupakan kelipatan 4, jika merupakan kelipatan 4
akan terdapat keterangan merupakan kelipatan 4, jika tidak juga akan menampilkan
keterangan bukan kelipatan 4.
Tampilannya kurang lebih seperti ini:
2. Buatlah suatu program untuk menentukan berat badan ideal, dimana berat badan ideal
diperoleh dari tinggi badan dikurangi 100 kemudian dikurangi 10% dari hasil pengurangan
pertama, jika berat badan orang tersebut berselisih +-2 kg dari berat badan ideal munculkan
pesan ideal, dan jika berat badan sekarang tidak berselisih +- 2 kg dari berat badan ideal
maka keluarkan pesan tidak ideal. User menginputkan tinggi badan dan berat badan
sekarang.
Tampilannya kurang lebih seperti ini:

Anda mungkin juga menyukai