Soal Bidang Informatika/Komputer – versi IF01 Halaman 1 OSK 2012
OLIMPIADE SAINS 2012
TINGKAT KABUPATEN/KOTA
BIDANG INFORMATIKA/KOMPUTER
Lembar Peraturan dan Peringatan Selama Ujian1. Model ujian ini adalah pilihan berganda: memilih maksimum SATU jawaban untuk setiap soal dan jika peserta
memilih lebih dari satu jawaban untuk satu soal, maka jawaban tersebut akan dinilai SALAH.
2. Jawaban BENAR bernilai 4, jawaban SALAH bernilai -1 dan jawaban kosong (tidak menjawab) bernilai 0.
3. Jumlah Soal 50, untuk dikerjakan dalam 2½ JAM (atau 150 menit).
4. Notasi algoritma pada bagian algoritmika menggunakan pseudopascal yang pada intinya seperti pascal tetapi tidak
serinci pascal karena diutamakan pada konsep logika di dalam algoritma.
5. Jawaban yang akan dinilai adalah yang ada di BAGIAN JAWABAN di halaman kedua. Jadi jawaban yang baru
dituliskan di bagian soal (tidak dipindahkan) dianggap tidak menjawab dan tidak akan dinilai.
6. Beberapa soal/pilihan ditulis dalam dua kolom, jadi harap peserta memperhatikan nomor soal dan nomor pilihan
jawaban terkait.
7. Halaman-halaman yang berisi pertanyaan ada di halaman no 3 sampai dengan 9 Jika berkas anda tidak
lengkap/rusak/cacad/tak terbaca, mintalah kepada panitia untuk penggantian berkas.
8. Peserta DILARANG :
a. menggunakan perangkat komputasi (laptop, kalkulator, komputer)
b. menggunakan alat komunikasi (handphone, pager, PDA, dll) selama mengerjakan ujian ini,
c. menggunakan buku/referensi/catatan selain berkas soal ini, serta
d. bekerja sama dengan atau mencontek hasil pekerjaan peserta lain.
Pelanggaran terhadap larangan ini oleh seorang peserta berakibat yang bersangkutan untuk dibatalkan dari kutsertaan
ujian.
9. Berkas soal BOLEH digunakan untuk coretan tetapi TIDAK BOLEH dilepas dari bundelannya. Jika bundelan lepas
secara tidak disengaja, pengawas diharapkan membundelnya kembali atau diganti dengan berkas baru.
10. Berkas soal TIDAK BOLEH dibawa pulang dan panitia setempat harus menghancurkannya atau menyimpannya
hingga seluruh kabupaten/kota seluruh Indonesia selesai melaksanakan OSK ini.
Penjelasan sejumlah notasi yang digunakan dalam naskah soal.
N! adalah bilangan faktorial N yang berharga hasil perkalian semua bilangan bulat mulai dari 1 sampai dengan N.
Notasi “A mod B”, dengan A dan B bilangan-bilangan bulat menghasilkan sisa pembagian A dengan B, misalnya 10
mod 3 = 1 karena 10 jika dibagi 3 akan menyisakan 1.
Notasi “sqrt(A)” dengan A bilangan nyata non-negatif maka menghasilkan akar dari A (atau A), misalnya sqrt(9) = 3.
Notasi “A shl N” dengan A bilangan biner (terdiri dari angka 0 dan 1) akan menambah N angka 0 di sebelah kanan
bilangan A semula, misal 01 shl 2 = 0100.
Notasi “A shr N” dengan A bilangan biner (terdiri dari angka 0 dan 1) akan membuang N angka dari sebelah kanan
bilangan A semula, misal 0101 shr 2 = 01.
Notasi “A XOR B”, bila A dan B bilangan-bilangan bulat, adalah operasi biner antara tiap bit bilangan A dan B,
dimana untuk setiap operasi bitnya akan berharga 1 jika hanya tepat ada satu bit bernilai 1, misal 1 XOR 3 = 012 XOR
112 = 102 = 2.
Soal Bidang Informatika/Komputer – versi IF01 Halaman 2 OSK 2012
LEMBAR JAWABAN DAN PENILAIAN
OSK 2012 - BIDANG INFORMATIKA/KOMPUTER
VERSI IF01
Beri tanda silang (x) pada huruf pilihan di baris sebelah kanan dari nomor soal ybs.
No
Soal Pilihan Jawaban
No
Soal Pilihan Jawaban
1 A B C D E 26 A B C D E
2 A B C D E 27 A B C D E
3 A B C D E 28 A B C D E
4 A B C D E 29 A B C D E
5 A B C D E 30 A B C D E
6 A B C D E 31 A B C D E
7 A B C D E 32 A B C D E
8 A B C D E 33 A B C D E
9 A B C D E 34 A B C D E
10 A B C D E 35 A B C D E
11 A B C D E 36 A B C D E
12 A B C D E 37 A B C D E
13 A B C D E 38 A B C D E
14 A B C D E 39 A B C D E
15 A B C D E 40 A B C D E
16 A B C D E 41 A B C D E
17 A B C D E 42 A B C D E
18 A B C D E 43 A B C D E
19 A B C D E 44 A B C D E
20 A B C D E 45 A B C D E
21 A B C D E 46 A B C D E
22 A B C D E 47 A B C D E
23 A B C D E 48 A B C D E
24 A B C D E 49 A B C D E
25 A B C D E 50 A B C D E
Identitas Peserta (Diisi Peserta)
No Kursi/Peserta: _ _ _ _ _ _ Nama: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Alamat Rumah: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Sekolah: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Kelas:_ _ _ _ _
Alamat Sekolah: _ _ _ _ _ __ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Kotak Penilaian
(Diisi Oleh Juri Penilai)
Jml Benar = _ _ _ _ (A)
Jml Salah = _ _ _ _ (B)
Nilai (4xA – B) =
_ _ _ _ _ _ _ _
(Tanda tangan dan
nama Ketua Juri Penilai)
Soal Bidang Informatika/Komputer – versi IF01 Halaman 3 OSK 2012
BAGIAN A: ARITMATIKA DAN LOGIKA (30 SOAL)
1. Bilangan prima adalah bilangan bulat yang hanya
habis dibagi dengan 1 dan bilangan itu sendiri. Ada
berapa banyak bilangan prima pada rentang 1..100?
A. 25
B. 24
C. 23
D. 22
E. 21
2. Jika N! adalah 1x2x3x...xN, berapakah angka terakhir
bukan 0 dari 20!
A. 1
B. 2
C. 4
D. 6
E. 8
3. Karto memiliki x eskrim dan setiap eskrim ada
batangnya. Karto menyimpan setiap batang eskrim
yang telah dimakannya. Jika Karna sudah
mengumpulkan y buah batang eskrim, maka dia bisa
menukarkannya dengan satu buah eskrim. Untuk x
= 100 dan y = 5 maka berapakah total eskrim yang
dimiliki Karto?
A. 100
B. 114
C. 120
D. 124
E. 125
Deskripsi berikut untuk nomor 4-6
Ada 4 orang yang diinterview mengenai penghasilannya.
Sebut saja namanya A,B,C,D dan profesi mereka
E,F,G,H.
Setiap orang memberikan 2 pernyataan. Namun,
pernyataan yang dapat dipercaya hanyalah pernyataan
yang membicarakan pekerjaan asli orang tersebut.
Pernyataan lain bisa benar maupun salah.
Berikut pernyataan keempat orang tersebut:
A: G memiliki penghasilan 3 kali lipat dari penghasilan
F.
E memiliki penghasilan lebih besar daripada saya.
B: F memiliki penghasilan lebih besar daripada G.
C pekerjaannya adalah H atau E.
C: Saya memiliki penghasilan lebih besar daripada E.
F memiliki penghasilan paling rendah.
D: G memiliki penghasilan 2 kali lipat dari penghasilan
F.
Saya memiliki penghasilan lebih besar daripada H.
4. Siapakah yang perkerjaannya adalah E?
A. A
B. B
C. C
D. D
E. C atau D
5. Apakah pekerjaan dari D?
A. E
B. F
C. G
D. H
E. G atau H
6. Manakah pernyataan berikut yang benar?
A. Jika A adalah seorang H, maka C adalah seorang
F
B. Jika B adalah seorang F, maka C adalah seorang
H
C. Jika C adalah seorang G, maka B adalah seorang
H
D. Jika D adalah seorang E, maka C adalah seorang
G
E. Jika A adalah seorang H, maka D adalah seorang
E
7. 0, 1, 2, 1, 2, 3, 3, 4, 5, 7, ..., ..., ...
A. 8, 9, 15
B. 9, 10, 20
C. 7, 9, 13
D. 7, 8, 14
E. 7, 9, 22
8. Berapa jumlah kemungkinan kata (kombinasi huruf)
yang bisa dibentuk dari huruf-huruf ini : 'l', 'a', 'b', 'a'?
A. 24
B. 22
C. 12
D. 14
E. 20
9. x = 0.147;
y = sqrt(0.147);
z = 0.147^2;
maka
A. y> x > z
B. x> y > z
C. x> z > y
D. y> z > x
E. z> x > y
Soal Bidang Informatika/Komputer – versi IF01 Halaman 4 OSK 2012
10. Suatu negara hanya memiliki pecahan uang 11, 12,
dan 13. Berapakah nominal yang tidak bisa
dinyatakan dengan pecahan-pecahan tersebut?
A. 37
B. 46
C. 53
D. 69
E. 74
11. Diketahui FPB(a,b)=c. Jika a>b dan b=210,
berapakah nilai a dan c yang mungkin sehingga c
merupakan nilai terbesar dari pilihan di bawah ini?
A. 426 dan 6
B. 216 dan 6
C. 637 dan 7
D. 294 dan 7
E. 637 dan 14
Deskripsi berikut untuk nomor 12-14
Pada suatu balap mobil diketahui ada 5 pembalap yang
ikut serta. Jika tidak ada yang start bersamaan berapa
kemungkinan urutan finish jika:
12. Tidak ada yang finish bersamaan
A. 720
B. 120
C. 60
D. 30
E. 5
13. Tidak ada yang finish bersamaan dan pembalap yang
start pada posisi ganjil harus finish pada posisi
ganjil juga
A. 8
B. 12
C. 16
D. 24
E. 36
14. Tidak ada yang finish bersamaan dan pembalap yang
start pada posisi genap tidak boleh finish pada
posisi genap
A. 86
B. 66
C. 46
D. 36
E. 26
15. Ada sebuah dadu ajaib 6 sisi yang imbalance (tidak
seimbang). Peluang munculnya angka 1..6 jika
melempar dadu tersebut berbeda-beda, sesuai
dengan fungsi p(x) = x/21, untuk 0<x<7. Jika dadu
tersebut dilempar 2 kali dan hasilnya dijumlahkan,
berapa nilai total yang peluang munculnya paling
besar?
A. 5
B. 6
C. 7
D. 8
E. 9
16. Pada suatu hari, si a memilih 11 bilangan secara acak
di antara 1..21. Kesebelas bilangan tersebut tidak ada
yang sama. Selanjutnya a akan menghitung ada
berapa pasang bilangan a dan b pada 11 bilangan
tersebut yang memenuhi a mod b = 0 dan a tidak
sama dengan b. Pernyataan manakah di bawah ini
yang benar?
A. Bisa saja tidak ada satu pasang bilangan pun
yang memenuhi syarat tersebut.
B. Minimal ada 1 pasang bilangan yang memenuhi
syarat tersebut.
C. Minimal ada 2 pasang bilangan yang memenuhi
syarat tersebut.
D. Minimal ada 3 pasang bilangan yang memenuhi
syarat tersebut.
E. Minimal ada 4 pasang bilangan yang memenuhi
syarat tersebut.
17. Ada 100 orang yang sedang mengantri untuk
menggunakan toilet umum. Ternyata ada tepat 4
orang di antara mereka yang lahir pada tanggal 1.
Pernyataan manakah di bawah ini yang paling benar
A. Mungkin ada x (x>4) orang yang berulang tahun
pada tanggal yang sama di antara 100 orang
tersebut.
B. Tidak mungkin ada 4 orang yang berulang tahun
pada tanggal yang sama (selain tanggal 1) di
antara 100 orang tersebut.
C. Pasti ada 4 orang yang berulang tahun pada
tanggal yang sama (selain tanggal 1) di antara
100 orang tersebut.
D. Tidak mungkin ada x (x>4) orang yang berulang
tahun pada tanggal yang sama di antara 100
orang tersebut.
E. Ada lebih dari 2 pernyataan (antara A - D) yang
benar.
18. Pada suatu hari, a, b, c, dan d pergi ke pasar. Mereka
melihat ada 4 barang yang sedang didiskon 90% dan
mereka memutuskan untuk membeli keempat
barang tersebut. Dalam perjalanan pulang, mereka
bertemu teman mereka, e yang ternyata sedang
membutuhkan keempat barang tersebut. e ingin
Soal Bidang Informatika/Komputer – versi IF01 Halaman 5 OSK 2012
mengetahui harga masing-masing barang tersebut
dan menanyakannya pada a, b, c, dan d. Sayangnya
mereka berempat sudah lupa harga masing-masing
barang tersebut sehingga mereka hanya
memberitahukan jumlah masing-masing barang yang
dibeli beserta total harganya. Setelah mendapat
informasi tersebut, e berkata, “wah, sayang sekali,
saya masih belum dapat menentukan harga setiap
barang tersebut hanya berdasarkan keterangan dari
kalian.”. e merupakan orang yang pandai
menghitung dan informasi yang diperolehnya adalah:
A membeli x barang i, 2 barang ii, 1 barang iii,
dan 3 barang iv seharga Rp 15.000,00.
B membeli 3 barang i, 1 barang ii, 3 barang iii,
dan 4barang iv seharga Rp 25.000,00.
C membeli 4 barang i, 2 barang ii, 3 barang iii,
dan 5 barang iv seharga Rp 31.000,00.
D membeli 2 barang i, 1 barang ii, 2 barang iii,
dan 3 barang iv seharga Rp 18.000,00.
Berapakah nilai x?
A. 0
B. 1
C. 2
D. 3
E. 4
19. Dalam sebuah ruang terdapat 6 komputer dan 2
kabel yang identik. Sebuah kabel dapat
menghubungkan tepat 2 komputer. Dua komputer
hanya dapat terhubung oleh maksimal 1 kabel. Ada
berapa macam pemasangan kabel yang mungkin
dalam ruangan tersebut?
A. 15
B. 105
C. 75
D. 12
E. semua salah
20. Ibu Martha sedang belanja di pasar. Ia hendak
berbelanja tepung untuk membuat kue. Ia hanya
membawa uang Rp 10.000,00. Sementara itu ia
melihat 5 merk tepung, dengan spesifikasi sebagai
berikut:
Merk Harga
Jumlah kue yang
dapat dihasilkan
A Rp 1.000,00 2
B Rp 3.000,00 5
C Rp 4.000,00 7
D Rp 2.000,00 5
E Rp 2.000,00 6
Toko yang Ibu Martha datangi hanya memiliki tepat
satu unit tepung untuk setiap merknya. Berapa kue
yang dapat Ibu Martha hasilkan dengan batasan uang
yang ia miliki?
A. 17
B. 18
C. 20
D. 21
E. 25
21. Suatu keluarga yang terdiri dari seorang pria dan
seorang wanita menghabiskan 7 pasta gigi selama
120 hari. Suatu keluarga lain yang terdiri dari 2
wanita dan 3 orang pria menghabiskan 3 pasta gigi
selama 20 hari. Berapa pasta gigi yang dihabiskan
oleh sebuah keluarga yang terdiri dari 4 wanita dan
seorang pria selama 60 hari?
A. 11
B. 12
C. 10
D. 9
E. 8
Deskripsi berikut untuk nomor 22-24
Di negeri tempat Timo tinggal, terdapat 5 kota: kota A,
kota B, kota C, kota D, dan kota E. Timo memiliki
sebuah jam pasir ajaib. Ketika jam pasir itu dibalik, ia
dapat berpindah tempat secara seketika, namun tidak
semua rute perpindahan tempat dari setiap kota yang
ada tersedia. Jam pasir ajaib tersebut juga memiliki
batasan pemakaian. Rute perpindahan kota yang
disediakan oleh jam pasir tersebut adalah : A ke B, A ke
C, B ke C, C ke E, D ke E, D ke A, dan E ke B.
22. Saat ini Timo berada di kota D. Jika jam pasir
tersebut hanya dapat dipakai maksimum 2 kali, kota
mana sajakah yang dapat dicapai oleh Timo?
A. A
B. B
C. C
D. E
E. Semua salah
23. Jika jam pasir tersebut dapat dipakai tanpa batas,
perjalanan manakah yang tidak dapat Timo lakukan
dengan menggunakan jam pasir tersebut?
A. Dari kota A menuju kota D
B. Dari kota D menuju kota C
C. Dari kota A menuju kota E
D. Dari kota E menuju kota B
E. Dari kota C menuju kota B
Soal Bidang Informatika/Komputer – versi IF01 Halaman 6 OSK 2012
24. Jika jam pasir tersebut dapat dipakai tanpa batas,
rute perjalanan manakah yang dapat ditambahkan
dalam layanan jam pasir tersebut, supaya Timo dapat
menempuh perjalanan dari kota manapun menuju
kota manapun?
A. Dari kota E ke kota A
B. Dari kota A ke kota D
C. Dari kota C ke kota D
D. Dari kota D ke kota B
E. Dari kota B ke kota E
25. Bilangan kuadrat A adalah bilangan dimana terdapat
bilangan bulat B sehingga B*B = A. Ada berapa
bilangan kuadrat antara 212 hingga 2012?
A. 20
B. 25
C. 30
D. 44
E. 49
26. Semua bilangan di bawah ini bisa dihasilkan dari
penjumlahan dua buah bilangan prima, kecuali:
A. 73
B. 61
C. 46
D. 59
E. 84
Deskripsi berikut untuk nomor 27-30
Sebuah pohon keluarga terdiri dari 10 anggota keluarga
A, B, C, D, E, F, G, H, I, dan J. Diketahui beberapa
fakta sebagai berikut
- J adalah anak tunggal. Dia juga keponakan dari C
- E adalah ibu dari I
- B adalah ibu menantu dari F
- A dan B adalah pasangan suami-istri yang memiliki
dua anak. Keduanya laki-laki.
- G memiliki paman D
- H adalah seorang perempuan, sedangkan adik dan
kakaknya semuanya laki-laki.
- D adalah kakak ipar E
Semua orang terhubung dalam pohon keluarga dan tidak
ada orang yang hilang.
27. Siapakah yang tidak bisa ditentukan jenis
kelaminnya?
A. A
B. C
C. F
D. I
E. J
28. Siapakah yang pasti lebih tua dari C?
A. A
B. D
C. F
D. E
E. G
29. Yang mungkin menjadi adik dari H adalah?
A. C
B. F
C. I
D. J
E. E
30. Ayah dari J adalah?
A. A
B. C
C. F
D. D
E. G
Soal Bidang Informatika/Komputer – versi IF01 Halaman 7 OSK 2012
BAGIAN B: ALGORITMIKA (20 SOAL)
[Peringatan: Seluruh penulisan notasi algoritma menggunakan Pseudopascal]
Diberikan potongan pseudocode berikut (no 31 s.d 34)
for i := 0 to ((1 shl n) – 1 do
begin
for j := 0 to n - 1 do
begin
if((i and (1 shl j)) <> 0)then
write('1')
else
write('0');
end;
writeln;
end;
31. Jika kode di atas dijalankan dengan n = 3, maka
banyak angka 0 yang dihasilkan oleh instruksi pada
baris ke-5 adalah:
A. 5
B. 4
C. 3
D. 2
E. 1
32. Agar keluaran kode di atas sama dengan 1100, maka
nilai n yang harus diinput adalah:
A. 5
B. 4
C. 3
D. 2
E. 1
33. Untuk setiap baris hasil keluaran, selisih jumlah
angka 1 paling banyak adalah:
A. n*n
B. n*(n-1)/2
C. n
D. log(n)
E. log(n)/2
34. Agar keluaran kode di atas menjadi angka 0 semua
pada baris ganjil dan hanya sebuah angka 1 pada
baris genap paling kiri,
maka baris kelima harus diganti menjadi:
A. if((i and (1 shl j)) = 1) then
B. if((i or (1 shl j)) = 0) then
C. if((j and (1 shl i)) = 1) then
D. if((j or (1 shl i) = 0) then
E. if((j xor (1 shl i) = 0) then
Diberikan potongan pseudocode berikut (no 35, 36)
x := x xor y;
x := y xor x;
x := x xor y;
35. Jika nilai awal x dan y adalah 3 dan 4, maka setelah
kode di atas dijalankan nilainya adalah:
A. x=4, y=3
B. x=4, y=4
C. x=5, y=4
D. x=6, y=4
E. x=7, y=4
36. Jika nilai awal x dan y adalah 1 dan 0, maka setelah
kode di atas dijalankan nilainya adalah:
A. x=1, y=0
B. x=0, y=1
C. x=0, y=0
D. x=1, y=1
E. x=1, y=2
Diberikan potongan pseudocode berikut (37 s.d 39)
procedure swap(a,b,c:integer);
var
temp : array[1..20]:integer;
i,j : integer;
begin
j := 1;
for i := b+1 to c do
begin
temp[j] := x[i];
j := j+1;
end;
for i := a to b do
begin
temp[j] := x[i];
j := j+1;
end;
j := 1;
for i := a to c do
begin
x[i] := temp[j];
j := j+1;
end;
end;
37. Jika array x berisi (1,2,3,4,5,6). Dan dilakukan
pemanggilan swap(2,4,6) maka akan menghasilkan
output :
A. 1,6,5,4,3,2
Soal Bidang Informatika/Komputer – versi IF01 Halaman 8 OSK 2012
B. 1,5,6,4,2,3
C. 1,4,5,6,2,3
D. 1,5,6,2,3,4
E. 1,2,5,6,3,4
38. Jika array x berisi (6,4,3,5,1,2). Dan dilakukan
pemanggilan swap(1,2,4) dan swap(3,4,5) maka akan
menghasilkan output :
A. 3,5,1,4,6,2
B. 4,3,1,5,6,2
C. 1,3,6,4,5,2
D. 4,3,5,1,6,2
E. 3,5,1,6,4,2
39. Jika array x berisi (5, 8, 10, 11, 25, 30, 33, 42, 49, 54,
63, 64, 66, 75, 78, 84, 93, 96). Dan diinginkan baris
tersebut tersusun terbalik. Berapa kali minimal
pemanggilan swap dilakukan?
A. 16
B. 17
C. 18
D. 19
E. 20
Diberikan potongan pseudocode berikut (no 40, 41)
function ox (m,n:integer):integer;
begin
if n=1 then ox := m
else if (n and 1)=0 then
ox := ox(m,n shr 1) *
ox(m,n shr 1)
else
ox := ox(m,n shr 1) *
ox(m,n shr 1) * m;
end;
40. Berapa kali fungsi ox dijalankan jika m=4 dan n=10?
A. 8
B. 10
C. 13
D. 15
E. 16
41. Berapa hasil ox(2,10)?
A. 2048
B. 1024
C. 1280
D. 128
E. 20
Diberikan potongan pseudocode berikut (no 42)
A := 0
for i := C to D do
A :=(A+i) mod 5
output (A)
42. Jika output yang muncul di layar adalah 3 dan nilai
variabel C dan D hanya boleh berada di antara
0..255, ada berapa banyak kemungkinan pasangan
nilai C dan D yang menghasilkan output tersebut?
A. 2
B. 5
C. 1326
D. 2652
E. 5253
Diberikan potongan pseudocode berikut (no 43, 44)
b = 0
while c > 1 do
b = b + (a mod 2) * c
a = a/2
c = c/2
b = b + (a mod 2) * c
43. Nilai variabel a hanya dapat berada di antara 0..255
dan nilai variabel c hanya dapat berada di antara
0..65535. Jika c diinisialisasi dengan 512 dan nilai
akhir b adalah 20, berapa nilai awal a?
A. 5
B. 10
C. 192
D. 160
E. 96
44. Jika nilai awal a adalah 107 dan nilai akhir b adalah
13, berapa nilai awal c?
A. 2
B. 4
C. 8
D. 16
E. 32
Diberikan potongan pseudocode berikut (no 45, 46)
a:=7; b:=1;
while(a<=n) do
begin
a:=a+b;
b:=b+1;
end;
writeln(a);
45. Berapakah nilai n yang tidak mungkin supaya output
program tersebut adalah 52?
Soal Bidang Informatika/Komputer – versi IF01 Halaman 9 OSK 2012
A. 41
B. 45
C. 49
D. 50
E. semua mungkin
46. Jika nilai n adalah 200, berapakah nilai variabel b di
akhir potongan program?
A. 21
B. 22
C. 23
D. 24
E. 25
Diberikan potongan pseudocode berikut (no 47, 48)
procedure haha(d:string);
var
i:integer;
tmp:string;
begin
if (length(d)=n) then
writeln(d)
else
for i:=1 to n do
begin
str(i,tmp);
haha(d+tmp);
end;
end;
catatan :
- length() digunakan untuk menghitung panjang
suatu string, contoh : length(‘TOKI’) = 4
- str() digunakan untukmengubah variabel bertipe
integer menjadi bertipe string
47. Jika n bernilai 4, apakah 4 baris pertama dari output
yang diberikan oleh pemanggilan haha(‘12’)?
A. 1234
1243
1324
1342
B. 1212
1213
1214
1221
C. 1211
1212
1221
1222
D. 1211
1212
1213
1214
48. Untuk mencetak seluruh permutasi urutan bilangan
asli < n, bagaimana seharusnya prosedur haha
dipanggil?
A. haha(‘0’)
B. haha(‘1’)
C. haha(‘123’)
D. haha(‘012’)
E. semua salah
Diberikan potongan pseudocode berikut (no 49, 50)
for i:=1 to 4 do begin
for j:=1 to x do write(' ');
for j:=y downto i do write('*');
writeln;
end;
49. Untuk menghasilkan output seperti di bawah ini:
*******
*****
***
*
Nilai x dan y harus diganti dengan …
A. i dan 4
B. i dan 7
C. i-1 dan 4-i
D. i-1 dan 7-i
E. i-1 dan 8-i
50. Untuk menghasilkan output seperti di bawah ini:
*
**
***
****
Nilai x dan y harus diganti dengan …
A. 4 dan 2*i
B. 4-i dan 2*i
C. 4 dan 2*i-1
D. 4-i dan 2*i-1
E. Semua salah
Tidak ada komentar:
Posting Komentar