Anda di halaman 1dari 143

OLIMPIADE SAINS 2012

TINGKAT KABUPATEN/KOTA
BIDANG INFORMATIKA/KOMPUTER

Lembar Peraturan dan Peringatan Selama Ujian

1. 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.
LEMBAR JAWABAN DAN PENILAIAN
OSK 2012 - BIDANG INFORMATIKA/KOMPUTER
VERSI IF02

Identitas Peserta (Diisi Peserta)

No Kursi/Peserta: _ _ _ _ _ _ Nama: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Alamat Rumah: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Sekolah: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Kelas:_ _ _ _ _

Alamat Sekolah: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Beri tanda silang (x) pada huruf pilihan di baris sebelah kanan dari nomor soal ybs.
No No
Soal Pilihan Jawaban Soal Pilihan Jawaban
1 A B C D E A B C D E
2 A B C D E 26
3 A B C D E 27 A B C D E
4 A B C D E 28 A B C D E
5 A B C D E 29 A B C D E
6 A B C D E 30 A B C D E
7 A B C D E 31 A B C D E
8 A B C D E 32 A B C D E
9 A B C D E 33 A B C D E
Kotak Penilaian (Diisi
10 A B C D E 34 A B C D E
Oleh Juri Penilai)
11 A B C D E 35 A B C D E
12 A B C D E 36 A B C D E
13 A B C D E 37 A B C D E Jml Benar =__________(A)
14 A B C D E 38 A B C D E
15 A B C D E 39 A B C D E Jml Salah =__________(B)
16 A B C D E 40 A B C D E
17 A B C D E 41 A B C D E Nilai (4xA – B) =
18 A B C D E 42 A B C D E
19 A B C D E 43 A B C D E
20 A B C D E 44 A B C D E
21 A B C D E 45 A B C D E
22 A B C D E 46 A B C D E
________
23 A B C D E 47 A B C D E
24 A B C D E 48 A B C D E (Tanda tangan dan
25 A B C D E 49 A B C D E nama Ketua Juri Penilai)
50 A B C D E
BAGIAN A: ARITMATIKA DAN LOGIKA (30 SOAL)

1. 0, 1, 2, 1, 2, 3, 3, 4, 5, 7, ..., ..., ... 6. Tidak ada yang finish


bersamaan
A. 7, 8, 14 A. 720
B. 7, 9, 13 B. 120
C. 7, 9, 22 C. 60
D. 8, 9, 15 D. 30
E. 9, 10, 20 E. 5

2. Jika N! adalah 1x2x3...xN, berapakah angka terakhir kemungkinan urutan finish jika:
bukan 0 dari 20! 7.
A. 1
B. 2
C. 4
D. 6
E. 8

3. 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

4. Berapa jumlah kemungkinan kata (kombinasi huruf)


yang bisa dibentuk dari huruf-huruf ini: 't', 'u', 'g',
'u'?
A. 12
B. 14
C. 20
D. 22
E. 24

5. Budi memiliki x eskrim dan setiap eskrim ada


batangnya. Budi menyimpan setiap batang eskrim
yang telah dimakannya. Jika Budi 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 budi?
A. 100
B. 114
C. 120
D. 124
E. 125

Deskripsi berikut untuk nomor 6-8


Pada suatu balap mobil diketahui ada 5 pembalap yang
ikut serta. Jika tidak ada yang start bersamaan berapa
Tidak ada yang finish bersamaan dan pembalap yang start maka
pada posisi ganjil harus finish pada posisi ganjil juga A. x> y > z
A. 8 B. x> z > y
B. 12 C. y> x > z
C. 16 D. y> z > x
D. 24 E. z> x > y
E. 36
10. Ada sebuah dadu ajaib 6 sisi yang imbalance (tidak
8. Tidak ada yang finish bersamaan dan pembalap seimbang). Peluang munculnya angka 1..6 jika
yang start pada posisi genap tidak boleh finish melempar dadu tersebut berbeda-beda, sesuai
pada posisi genap dengan fungsi p(x) = x/21, untuk 0<x<7. Jika dadu
A. 86 tersebut dilempar 2 kali dan hasilnya dijumlahkan,
B. 66 berapa nilai total yang peluang munculnya paling
C. 46 besar?
D. 36 A. 5
E. 26 B. 6
C. 7
9. x = 0.147; D. 8
y = sqrt(0.147); {sqrt(A) adalah akar dari E. 9
A} z = 0.147^2;
Deskripsi berikut untuk nomor 11-13
Ada 4 orang yang diinterview mengenai penghasilannya. 13. Manakah pernyataan berikut yang benar?
Sebut saja namanya A,B,C,D dan profesi mereka A. Jika A adalah seorang H, maka C adalah seorang F
E,F,G,H. B. Jika A adalah seorang H, maka D adalah seorang
Setiap orang memberikan 2 pernyataan. Namun, E
pernyataan yang dapat dipercaya hanyalah pernyataan C. Jika B adalah seorang F, maka C adalah seorang H
yang membicarakan pekerjaan asli orang tersebut. D. Jika C adalah seorang G, maka B adalah seorang
Pernyataan lain bisa benar maupun salah. H
Berikut pernyataan keempat orang tersebut: E. Jika D adalah seorang E, maka C adalah seorang G
A: G memiliki penghasilan 3 kali lipat dari penghasilan
F. 14. Pada suatu hari, si a memilih 11 bilangan secara acak
E memiliki penghasilan lebih besar daripada saya. di antara 1..21. Kesebelas bilangan tersebut tidak ada
B: F memiliki penghasilan lebih besar daripada G. yang sama. Selanjutnya a akan menghitung ada berapa
C pekerjaannya adalah H atau E. pasang bilangan a dan b pada 11 bilangan tersebut
C: Saya memiliki penghasilan lebih besar daripada E. yang memenuhi a mod b = 0 dan a tidak
F memiliki penghasilan paling rendah.
D: G memiliki penghasilan 2 kali lipat dari penghasilan
F.
Saya memiliki penghasilan lebih besar daripada H.

11. Siapakah yang perkerjaannya adalah E?


A. A
B. B
C. C
D. D
E. C atau D

12. Apakah pekerjaan dari D?


A. E
B. F
C. G
D. H
E. G atau H
sama dengan b. Pernyataan manakah di bawah ini B. 294 dan 7
yang benar? C. 426 dan 6
A. Bisa saja tidak ada satu pasang bilangan pun D. 637 dan 7
yang memenuhi syarat tersebut. E. 637 dan 14
B. Minimal ada 1 pasang bilangan yang
memenuhi syarat tersebut. 17. Pada suatu hari, a, b, c, dan d pergi ke pasar. Mereka
C. Minimal ada 2 pasang bilangan yang melihat ada 4 barang yang sedang didiskon 90% dan
memenuhi syarat tersebut. mereka memutuskan untuk membeli keempat
D. Minimal ada 3 pasang bilangan yang barang tersebut. Dalam perjalanan pulang, mereka
memenuhi syarat tersebut. bertemu teman mereka, e yang ternyata sedang
E. Minimal ada 4 pasang bilangan yang membutuhkan keempat barang tersebut. e ingin
memenuhi syarat tersebut. mengetahui harga masing-masing barang tersebut
dan menanyakannya pada a, b, c, dan d. Sayangnya
15. Suatu negara hanya memiliki pecahan uang 11, mereka berempat sudah lupa harga masing-masing
12, dan 13. Berapakah nominal yang tidak bisa barang tersebut sehingga mereka hanya
dinyatakan dengan pecahan-pecahan tersebut? memberitahukan jumlah masing-masing barang
A. 37 yang dibeli beserta total harganya. Setelah mendapat
B. 46 informasi tersebut, e berkata, “wah, sayang sekali,
C. 53 saya masih belum dapat menentukan harga setiap
D. 69 barang tersebut hanya berdasarkan keterangan dari
E. 74 kalian.”. e merupakan orang yang pandai
menghitung dan informasi yang diperolehnya
16. Diketahui FPB(a,b)=c. Jika a>b dan b=210, adalah:
berapakah nilai a dan c yang mungkin sehingga c  A membeli x barang i, 2 barang ii, 1 barang iii,
merupakan nilai terbesar dari pilihan di bawah dan 3 barang iv seharga Rp 15.000,00.
ini?  B membeli 3 barang i, 1 barang ii, 3 barang iii,
A. 216 dan 6 dan 4barang iv seharga Rp 25.000,00.
 C membeli 4 barang i, 2 barang ii, 3 barang iii, satu unit tepung untuk setiap merknya. Berapa kue
dan 5 barang iv seharga Rp 31.000,00. yang dapat Ibu Martha hasilkan dengan batasan uang
 D membeli 2 barang i, 1 barang ii, 2 barang iii, yang ia miliki?
dan 3 barang iv seharga Rp 18.000,00. A. 17
Berapakah nilai x? B. 18
A. 0 C. 20
B. 1 D. 21
C. 2 E. 25
D. 3
E. 4 19. Suatu keluarga yang terdiri dari seorang pria dan
seorang wanita menghabiskan 7 pasta gigi selama
18. Ibu Martha sedang belanja di pasar. Ia hendak 120 hari. Suatu keluarga lain yang terdiri dari 2 wanita
berbelanja tepung untuk membuat kue. Ia hanya dan 3 orang pria menghabiskan 3 pasta gigi selama 20
membawa uang Rp 10.000,00. Sementara itu ia hari. Berapa pasta gigi yang dihabiskan oleh sebuah
melihat 5 merk tepung, dengan spesifikasi sebagai keluarga yang terdiri dari 4 wanita dan seorang pria
berikut: selama 60 hari?
Jumlah kue yang A. 11
Merk Harga B. 12
dapat dihasilkan
A Rp 1.000,00 2 C. 10
D. 9
B Rp 3.000,00 5
E. 8
C Rp 4.000,00 7
D Rp 2.000,00 5 20. Dalam sebuah ruang terdapat 6 komputer dan 2 kabel
E Rp 2.000,00 6 yang identik. Sebuah kabel dapat menghubungkan
tepat 2 komputer. Dua komputer hanya dapat
Toko yang Ibu Martha datangi hanya memiliki tepat terhubung oleh maksimal 1 kabel. Ada
berapa macam pemasangan kabel yang mungkin
dalam ruangan tersebut? Deskripsi berikut untuk nomor 22-24
A. 12 Di negeri tempat Ali tinggal, terdapat 5 kota: kota A,
B. 24 kota B, kota C, kota D, dan kota E. Ali memiliki sebuah
C. 75 jam pasir ajaib. Ketika jam pasir itu dibalik, ia dapat
D. 105 berpindah tempat secara seketika, namun tidak semua
E. semua salah rute perpindahan tempat dari setiap kota yang ada
tersedia. Jam pasir ajaib tersebut juga memiliki batasan
21. Ada 100 orang yang sedang mengantri untuk pemakaian. Rute perpindahan kota yang disediakan oleh
menggunakan toilet umum. Ternyata ada tepat 4 jam pasir tersebut adalah : A ke B, A ke C, B ke C, C ke
orang di antara mereka yang lahir pada tanggal 1. E, D ke E, D ke A, dan E ke B.
Pernyataan manakah di bawah ini yang paling
benar 22. Saat ini Ali berada di kota D. Jika jam pasir tersebut
A. Tidak mungkin ada 4 orang yang berulang hanya dapat dipakai maksimum 2 kali, kota mana
tahun pada tanggal yang sama (selain tanggal sajakah yang dapat dicapai oleh Ali?
1) di antara 100 orang tersebut. A. A
B. Tidak mungkin ada x (x>4) orang yang B. B
berulang tahun pada tanggal yang sama di C. C
antara 100 orang tersebut. D. E
C. Mungkin ada x (x>4) orang yang berulang E. Semua salah
tahun pada tanggal yang sama di antara 100
orang tersebut. 23. Jika jam pasir tersebut dapat dipakai tanpa batas,
D. Pasti ada 4 orang yang berulang tahun pada rute perjalanan manakah yang dapat ditambahkan
tanggal yang sama (selain tanggal 1) di antara dalam layanan jam pasir tersebut, supaya Ali dapat
100 orang tersebut. menempuh perjalanan dari kota manapun menuju
E. Ada lebih dari 2 pernyataan (antara A - D) kota manapun?
yang benar.
A. Dari kota A ke kota D penjumlahan dua buah bilangan prima, kecuali:
B. Dari kota B ke kota E A. 46
C. Dari kota C ke kota D B. 59
D. Dari kota D ke kota B C. 61
E. Dari kota E ke kota A D. 73
E. 84
24. Jika jam pasir tersebut dapat dipakai tanpa batas,
perjalanan manakah yang tidak dapat Ali lakukan Deskripsi berikut untuk nomor 27-30
dengan menggunakan jam pasir tersebut? Sebuah pohon keluarga terdiri dari 10 anggota keluarga A,
A. Dari kota A menuju kota D
B, C, D, E, F, G, H, I, dan J. Diketahui beberapa fakta
B. Dari kota D menuju kota C sebagai berikut
C. Dari kota A menuju kota E
- E adalah ibu dari I
D. Dari kota E menuju kota B
- B adalah ibu menantu dari F
E. Dari kota C menuju kota B
- J adalah anak tunggal. Dia juga keponakan dari C
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


A dan B adalah pasangan suami-istri yang memiliki dua
anak. Keduanya laki-laki.
- H adalah seorang perempuan, sedangkan adik dan
kakaknya semuanya laki-laki.
- G memiliki paman D
- 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. Yang mungkin menjadi adik dari H adalah?


A. C
B. E
C. F
D. I
E. J

29. Ayah dari J adalah?


A. A
B. C
C. F
D. D
E. G

30. Siapakah yang pasti lebih tua dari C?


A. A
B. D
C. E
D. F
E. G
BAGIAN B: ALGORITMIKA (20 SOAL)
[Peringatan: Seluruh penulisan notasi algoritma menggunakan Pseudopascal]

Diberikan potongan pseudocode berikut (no 31, 32) 34. Berapakah nilai n yang tidak mungkin supaya output
program tersebut adalah 52?
x := x xor y;
x := y xor x; A. 41
x := x xor y; B. 45
C. 49
31. Jika nilai awal x dan y adalah 3 dan 4, maka setelah D. 50
kode di atas dijalankan nilainya adalah: E. semua mungkin
A. x=4, y=3
B. x=4, y=4 35. Jika nilai n adalah 200, berapakah nilai variabel b di
C. x=5, y=4 akhir potongan program?
D. x=6, y=4 A. 25
E. x=7, y=4 B. 24
C. 23
32. Jika nilai awal x dan y adalah 1 dan 0, maka setelah D. 22
kode di atas dijalankan nilainya adalah: E. 21
A. x=1, y=0
B. x=0, y=1 Diberikan potongan pseudocode berikut (no 36 s.d 38)
C. x=0, y=0 procedure swap(a,b,c:integer);
D. x=1, y=1 var
E. x=1, y=2 temp : array[1..20]:integer;
i,j : integer;
begin
Diberikan potongan pseudocode berikut (no 33)
j := 1;
A := 0 for i := b+1 to c do
for i := C to D do begin
A :=(A+i) mod 5 temp[j] := x[i];
output (A) j := j+1;
end;
33. Jika output yang muncul di layar adalah 3 dan nilai for i := a to b do begin
variabel C dan D hanya boleh berada di antara temp[j] := x[i];
j := j+1;
0..255, ada berapa banyak kemungkinan pasangan
end;
nilai C dan D yang menghasilkan output tersebut?
j := 1;
A. 2 for i := a to c do begin
B. 5 x[i] := temp[j];
C. 1326 j := j+1;
D. 2652 end;
E. 5253 end;

Diberikan potongan pseudocode berikut (no 34, 35)


a:=7; b:=1;
while(a<=n) do 36. Jika array x berisi (1,2,3,4,5,6). Dan dilakukan
begin pemanggilan swap(2,4,6) maka akan menghasilkan
a:=a+b;
output :
b:=b+1;
A. 1,6,5,4,3,2
end;
writeln(a); 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
37. 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 : Diberikan potongan pseudocode berikut (no 41 s.d 44)
A. 1,3,6,4,5,2
for i := 0 to ((1 shl n) – 1
B. 3,5,1,4,6,2 do begin
C. 3,5,1,6,4,2 for j := 0 to n - 1 do
D. 4,3,1,5,6,2 begin
E. 4,3,5,1,6,2 if((i and (1 shl j)) <> 0)then
write('1')
else
38. Jika array x berisi (5, 8, 10, 11, 25, 30, 33, 42, 49, 54,
write('0');
63, 64, 66, 75, 78, 84, 93, 96). Dan diinginkan baris
end;
tersebut tersusun terbalik. Berapa kali minimal
writeln;
pemanggilan swap dilakukan? end;
A. 16
B. 17 41. Jika kode di atas dijalankan dengan n = 3, maka
C. 18 banyak angka 0 yang dihasilkan oleh instruksi pada
D. 19 baris ke-8 adalah:
E. 20 A. 5
B. 4
Diberikan potongan pseudocode berikut (no 39, 40) C. 3
for i:=1 to 4 do begin D. 2
for j:=1 to x do write(' '); E. 1
for j:=y downto i do write('*');
writeln; 42. Untuk setiap baris hasil keluaran, selisih jumlah
end; angka 1 paling banyak adalah:
A. n
39. Untuk menghasilkan output seperti di bawah ini:
B. n*n
******* C. n*(n-1)/2
***** D. log(n)
*** E. log(n)/2
*
Nilai x dan y harus diganti dengan … 43. Agar keluaran kode di atas menjadi angka 0 semua
A. i dan 4 pada baris ganjil dan hanya sebuah angka 1 pada
B. i dan 7 baris genap paling kiri,
C. i-1 dan 4-i maka baris kelima harus diganti menjadi:
D. i-1 dan 7-i A. if((i and (1 shl j)) = 1) then
E. i-1 dan 8-i B. if((i or (1 shl j)) = 0) then
C. if((j and (1 shl i)) = 1) then
40. Untuk menghasilkan output seperti di bawah ini: D. if((j or (1 shl i) = 0) then
E. if((j xor (1 shl i) = 0) then
*
**
*** 44. Agar keluaran kode di atas sama dengan 1100, maka
**** nilai n yang harus diinput adalah:
A. 5
Nilai x dan y harus diganti dengan …
B. 4
A. 4 dan 2*i
C. 3
B. 4-i dan 2*i
D. 2
C. 4 dan 2*i-1
E. 1
D. 4-i dan 2*i-1
E. Semua salah
Diberikan potongan pseudocode berikut (no 45, 46) Diberikan potongan pseudocode berikut (no 49, 50)
b = 0 procedure semu(d:string);
while c > 1 do var
b = b + (a mod 2) * c i:integer;
a = a/2 tmp:string;
c = c/2 begin
b = b + (a mod 2) * c if (length(d)=n) then
writeln(d)
45. Nilai variabel a hanya dapat berada di antara 0..255 else
dan nilai variabel c hanya dapat berada di antara for i:=1 to n do
0..65535. Jika c diinisialisasi dengan 512 dan nilai begin
akhir b adalah 20, berapa nilai awal a? str(i,tmp);
haha(d+tmp);
A. 5
end;
B. 10 end;
C. 96
D. 160 catatan :
E. 192 - length() digunakan untuk menghitung panjang
suatu string, contoh : length(‘TOKI’) = 4
46. Jika nilai awal a adalah 107 dan nilai akhir b adalah - str() digunakan untukmengubah variabel bertipe
13, berapa nilai awal c? integer menjadi bertipe string
A. 32
B. 16 49. Jika n bernilai 4, apakah 4 baris pertama dari output
C. 8 yang diberikan oleh pemanggilan semu(‘12’)?
D. 4 A. 1211
E. 2 1212
1213
1214
Diberikan potongan pseudocode berikut (no 47, 48)
function yo (m,n:integer):integer; B. 1211
begin 1212
if n=1 then yo := m 1221
else if (n and 1)=0 then
1222
yo := yo(m,n shr 1) * C. 1212
yo(m,n shr 1) 1213
else 1214
yo := yo(m,n shr 1) * 1221
yo(m,n shr 1) * m;
end; D. 1234
1243
1324
47. Berapa hasil yo(2,10)?
1342
A. 20
B. 128 50. Untuk mencetak seluruh permutasi urutan bilangan
C. 1024 asli < n, bagaimana seharusnya prosedur semu
D. 1280 dipanggil?
E. 2048 A. semu (‘0’)
B. semu (‘1’)
48. Berapa kali fungsi yo dijalankan jika m=4 dan n=10? C. semu (‘012’)
A. 16 D. semu (‘123’)
B. 15 E. semua salah
C. 13
D. 10
E. 8

Soal Bidang Informatika/Komputer – versi IF02 Halaman 9 OSK 2012


BANK SOAL TERLENGKAP
download from: p4kguru.blogspot.com

OLIMPIADE SAINS 2012


TINGKAT
KABUPATEN/KOTA
BIDANG INFORMATIKA/KOMPUTER

KUNCI JAWABAN
Penilaian Benar=4, salah=-1, kosong=0

VERSI – IF02

1. D 26. B
2. C 27. E
3. D 28. D
4. A 29. D
5. D 30. A

6. B 31. A
7. B 32. B
8. D 33. E
9. C 34. A
10. E 35. E

11. D 36. D
12. A 37. C
13. E 38. B
14. A 39. E
15. C 40. D

16. D 41. D
17. B 42. A
18. C 43. A
19. E 44. B
20. D 45. D

21. C 46. C
22. D 47. C
23. C 48. B
24. A 49. A
25. C 50. E

Hak Cipta Soal OSK 2013 Bidang Hal 3


Dilindungi Undang- Komputer
undang
BANK SOAL TERLENGKAP
download from: p4kguru.blogspot.com

BAGIAN A: ARITMATIKA DAN LOGIKA (30 SOAL)

Deskripsi berikut ini dipergunakan untuk soal no. 1 dan 2


Sakelar adalah alat untuk menghubungkan atau memutuskan aliran listrik. Bila sakelar dipasang pada sebuah lampu,
maka sakelar tersebut bisa menyalakan atau mematikan lampu tersebut. Di rumah Sugeng, ada 30 lampu yang
dinomori dari 1 sampai 30. Untuk menyalakannya, Sugeng memiliki sakelar khusus, yaitu sakelar yang terhubung
dengan lebih dari satu lampu. Ada lima sakelar, yaitu:
Sakelar A, yaitu sakelar yang terhubung dengan lampu bernomor kelipatan 2. Sakelar B, yaitu
sakelar yang terhubung dengan lampu bernomor kelipatan 3. Sakelar C, yaitu sakelar yang
terhubung dengan lampu bernomor kelipatan 5. Sakelar D, yaitu sakelar yang terhubung
dengan lampu bernomor kelipatan 7. Sakelar E, yaitu sakelar yang terhubung dengan lampu
bernomor kelipatan 11.
Perlu diingat, jika lampu dalam keadaan mati, dan sakelar yang terhubung dengannya ditekan, maka lampu
tersebut akan menyala. Begitu pula sebaliknya.

1. Ada berapa lampu yang tidak bisa dinyala/matikan karena tak terhubung dengan saklar?
A. 0
B. 1
C. 5
D. 6
E. 25

2. Sugeng ingin agar rumahnya terang benderang, karena dia takut akan kegelapan. Ada berapa
lampu maksimal yang bisa menyala secara bersamaan?
A. 5
B. 13
C. 15
D. 16
E. 24

3. Berapa banyak cara memasang domino 1x2 agar menutupi seluruh papan berukuran 3x4?
Domino tidak dapat dipotong, maupun bertumpukan dengan domino lain. Selain itu seluruh
bagian domino harus berada di dalam papan. Setiap domino dapat diputar/dirotasi.
A. 3
B. 11
C. 9
D. 10
E. 18

4. Ada seekor katak yang ingin menyeberangi suatu sungai. Di sungai tersebut, terdapat dua
jenis benda sungai, yaitu batu yang dapat ditempati katak, dan daun yang tidak dapat
ditempati katak. Seekor katak dapat melompat ke benda tepat di depannya atau dapat
melompatinya (dengan kata lain, menempati bendakedua yang ada di depannya). Berapa
banyak cara yang bisa ditempuh katak untuk menyeberangi sungai dengan selamat (dengan

Hak Cipta Komputer Hal 4


undang
tidak menginjak daun) jika konfigurasi benda di sungai adalah sebagai berikut (katak menyeberang
dari kiri ke kanan)

A. 1
B. 3
C. 2
D. 6
E. 10

5. Pak Zaki memiliki 12 buah permen yang akan dibagikan kepada 3 orang cucunya, yaitu Abi,
Bibi, dan Cibi. Permen yang dibagikan tidak bersisa. Dalam pembagian tersebut bisa saja ada
cucu yang tidak mendapatkan permen sama sekali. Tentu saja, satu permen tidak bisa dibagi
kepada lebih dari satu orang. Karena Cibi merupakan cucu kesayangan Pak Zaki, maka Cibi
selalu mendapat lebih dari 6 permen. Berapakah banyak cara Pak Zaki membagikan permen
tersebut ke cucu-cucunya? Suatu cara dianggap berbeda jika banyak permen yang diterima
salah satu orang berbeda
A. 20
B. 364
C. 60
D. 128
E. 21

6. Sebuah toko menjual donat dengan rasa yang berbeda-beda. Terdapat 4 jenis rasa donat
yang dijual, yaitu Stroberi, Coklat, Vanilla, dan Cappucino. Pak Dengklek ingin membeli
4 buah donat. Berapa banyak kemungkinan Pak Dengklek untuk membeli donat-donat
tersebut?
A. 9
B. 24
C. 256
D. 1
E. 35

7. Pada sebuah pesta pernikahan terdapat 100 pasangan suami istri. Setiap suami tidak akan
bersalaman dengan istrinya sendiri. Berapa jumlah salaman yang terjadi dalam pesta itu?
A. 20100
B. 19110
C. 19800
D. 20503
E. 20301

8. Di suatu pulau misterius terdapat 2 macam orang, prajurit dan pencuri. Sang prajurit selalu
berkata jujur dan sang pencuri selalu berkata bohong. Suatu hari Anda bertemu tiga orang
yang berkata seperti berikut:
A: Hanya satu diantara kami yang merupakan prajurit B:
Setidaknya satu dari antara kita adalah prajurit
C: A bukanlah prajurit
Siapakah diantara mereka yang merupakan prajurit?
A. Hanya A
B. Hanya B
C. Hanya C
D. B dan C saja
E. A dan B saja

Deskripsi berikut ini digunakan untuk soal 9 s.d. 10


Sebuah negara terdiri atas N kota. Antara setiap kota yang berbeda memiliki sebuah jalan dengan panjang tertentu
yang dua arah. Terdapat N! permutasi berbeda dari urutan N kota tersebut. Misalnya, apabila N adalah 3, ada 6
permutasi berbeda: {1, 2, 3} {1, 3, 2} {2, 1, 3} {2, 3,
1} {3, 1, 2} {3, 2, 1}. Panjang rute perjalanan dari sebuah permutasi kota adalah total panjang jalan yang dilalui untuk
pergi dari kota pertama ke kota kedua di permutasi, kemudian ditambah panjang kota kedua ke kota ketiga, dan
seterusnya sampai panjang kota ke N-1 menuju kota ke
N. {catatan: N! berarti N faktorial}

9. Suatu negara dengan 3 kota, ditunjukkan dalam diagram berikut.

Berapakah panjang rata-rata rute perjalanan dari seluruh permutasi? A. 8.0


B. 8.5
C. 9.0
D. 9.5
E. A, B, C, D salah atau ada lebih dari satu jawaban yang benar di antara A, B, C, D

10. Untuk menuliskan N bilangan asli pertama secara berderet dibutuhkan 2013 digit,
berapakah nilai N yang memenuhi? {catatan: bilangan asli adalah 1, 2, 3, ...}
A. 706
B. 707
C. 708
D. 709
E. 710
11. Berapa banyak persegi panjang yang dapat terbentuk dalam papan catur berukuran n*n?
A. n^2 {catatan: n^2 berarti n pangkat 2}
B. (n(n+1)/2)^2
C. n(n+1)(2n+1)/6
D. n(n+1)(3(n^2)+n-1)/6
E. (3n+1)*(n+2)!/4!*(n-1)!

12. Ada berapa buah bilangan dari 1 sampai 10000 (inklusif) yang memiliki minimal 1
buah digit ‘1’?
A. 3250
B. 3430
C. 3440
D. 3456
E. 3630

13. Dua orang dewa, Dewa Warisan dan Dewa Sembilanbelas masing-masing memiliki 5 orang
anak. Semua anak Dewa Warisan berjenis kelamin laki-laki, sedangkan semua anak dari Dewa
Sembilanbelas berjenis kelamin perempuan. Rencananya, mereka akan saling menjodohkan
kelima anak mereka. Setiap anak mempunyai nilai. Nilai dari anak-anak Dewa Warisan adalah
{2,-3,5,9,-6,}. Sedangkan nilai dari anak-anak Dewa Sembilanbelas adalah {7,0,-4,8,-1}. Dari sebuah
pernikahan anak mereka, mereka akan mendapatkan tambahan kebahagiaan yang direpresentasikan dalam
bentuk bilangan. Didefinisikan, jika mereka menikahkan anak bernilai A dengan anak bernilai B, mereka akan
mendapatkan kebahagiaan sebesar AxB. Berapa total kebahagiaan maksimal yang bisa mereka peroleh?
A. 134
B. 143
C. 108
D. 104
E. 165

14. Berapakah n minimal sedemikian sehingga n! memiliki 2013 angka nol dibelakangnya? ( n!
= nx(n-1)x...3x2x1 ) {catatan: n! berarti n faktorial}
A. 8065
B. 8064
C. 8060
D. 8051
E. 8050

Deskripsi berikut untuk soal no. 15 s.d. 17


Sebuah tumpukan kartu tersusun dari kartu-kartu yang bernomor 1 hingga 31 (kartu pada tumpukan paling atas
bernilai 1 dan kartu paling bawah bernilai 31). Kartu-kartu tersebut ingin diacak dengan cara sebagai berikut.
Ambil N kartu terbawah lalu taruh N kartu tersebut pada tumpukan teratas (tanpa mengubah urutan)
15. Apabila nilai N = 5 dan langkah tersebut dilakukan sebanyak 45 kali kartu apa yang terdapat
pada tumpukan teratas?
A. 24
B. 25
C. 26
D. 27
E. 28

16. Jika N = 7 dan langkah tersebut dilakukan sebanyak 50 kali, kartu apa yang terdapat pada
tumpukan teratas?
A. 22
B. 23
C. 24
D. 25
E. 26

17. Apabila nilai N = 3 berapa kali anda harus melakukan langkah tersebut agar kartu yang
bernilai 2 terdapat pada tumpukan teratas?
A. 7
B. 8
C. 9
D. 10
E. 11

18. Berapa langkah minimal yang dibutuhkan untuk mengurutkan deret {3, 2, 1, 5, 7, 4, 8, 6, 10,
9} secara menaik apabila langkah yang hanya dapat anda lakukan adalah menukar posisi dari
2 buah bilangan manapun?
A. 4
B. 5
C. 6
D. 7
E. 8

19. Berapa segitiga paling banyak yang dapat dibentuk dengan menggambar tiga segitiga yang
saling bertindihan?
A. 15
B. 24
C. 27
D. 30
E. Lebih dari 30
20. Ada pipa air horizontal berbentuk lingkaran yang terisi sebagian. Jika dilihat secara
melintang, ketinggian air adalah 24 cm, sedangkan lebar air pada permukaannya juga 24 cm.
Berapakah diameter pipa tersebut?

A. 28 cm
B. 30 cm
C. 32 cm
D. 36 cm
E. Jawaban A, B, C, D salah

21. Di dalam sebuah industri Air Minum, terdapat sistem pipa seperti yang ditunjukkan oleh
gambar berikut ini.

Air akan bergerak dari kiri ke kanan. Setiap lingkaran menunjukkan keran-keran yang dapat dibuka untuk
mengalirkan air. Pada awalnya seluruh keran dalam keadaan tertutup. Biaya yang dibutuhkan untuk membuka
suatu keran dinyatakan dengan angka yang tertulis di atas keran tersebut. Industri tersebut akan membuka
beberapa keran agar air dapat mengalir tanpa hambatan. Sebagai contoh, dapat dibuka keran M1, A1, A2, A3,
dan K1 sehingga air dapat mengalir; total biaya yang dibutuhkan adalah 13 + 6 + 23 + 16 + 21 = 79.
Industri tersebut tentu saja tidak akan membuka semua kran yang ada. Biaya minimum yang dapat dikeluarkan
industri tersebut untuk mengalirkan air dari kiri ke kanan adalah
A. 69
B. 71
C. 75
D. 79
E. 81

22. Kartu bridge berjumlah 52 buah kartu yang terdiri dari 4 macam daun dan 13 nilai. Daun
tersebut meliputi sekop, keriting, hati, dan diamond, sedangkan nilainya meliputi 2, 3, 4, 5, 6,
7, 8, 9, 10, J, Q, K, dan A. Dalam permainan five-card draw, setiap orang mendapatkan 5
buah
kartu. Terdapat istilah Four of Kind, yaitu kondisi dimana seseorang memiliki 4 buah kartu yang dengan
nilai yang sama. Banyaknya kemungkinan terjadinya Four of Kind adalah ... A. 613
B. 615
C. 620
D. 624
E. 631

23. Terdapat istilah Full House yaitu kondisi dimana seseorang memiliki 3 kartu dengan nilai
X dan 2 kartu dengan nilai Y, di mana X tidak sama dengan Y. Banyaknya kemungkinan
terjadinya Full House adalah ...
A. 144
B. 2048
C. 2144
D. 3096
E. 3744

24. Pada perlombaan reli jarak jauh, terdapat 5 peserta dengan karakteristik sebagai berikut
Andy: kecepatan berkendara 100 km/jam, setiap 80 km, akan berhenti cek mesin selama 45
menit
Budi: kecepatan berkendara 80 km/jam, setiap 75 km, akan berhenti cek mesin selama 30 menit
Cory: kecepatan berkendara 100 km/jam, setiap 70 km, akan berhenti cek mesin selama 15 menit
Didy: kecepatan berkendara 80 km/jam, setiap 65 km, akan berhenti cek mesin selama 12 menit
Erna: kecepatan berkendara 100 km/jam, setiap 60 km, akan berhenti cek mesin selama 6 menit
Siapakah pemenang perlombaan internasional ini apabila jarak tempuh dari garis start hingga finish adalah 1000
km?
A. Andy
B. Budi
C. Cory
D. Didy
E. Erna

Deskripsi soal berikut digunakan untuk menjawab soal no 25 - 26


Sebuah rombongan tour sedang melakukan perjalanan dengan mobil. Satu mobil terdiri dari 7 orang peserta tur dan
1 orang supir. Posisi duduk dalam mobil tersebut dapat digambarkan sbb
1 Supir
2 3 4
5 6 7
Nama-nama peserta rombongan tersebut adalah A, B, C, D, E, F, G. Susunan duduk peserta tour ini ditentukan oleh
aturan-aturan sebagai berikut
(i) G harus duduk di samping jendela
(ii) A-B merupakan sebuah pasangan di mana mereka harus duduk bersebelahan
(iii) C paling suka duduk persis di belakang supir
(iv) D-A sedang bermusuhan, sehingga mereka tidak boleh duduk berdekatan dan harus ada orang di antara
mereka berdua (baik secara horizontal, vertikal, maupun diagonal)
(v) F mabuk darat,sehingga tidak boleh duduk di barisan paling belakang

25. Dari deskripsi soal di atas, jika E sedang ingin tidur, sehingga dia duduk di sebelah
jendala pada barisan paling belakang,maka ada berapa kemungkinan posisi duduk yang
dapat dibentuk?
A. 4
B. 5
C. 6
D. 7
E. 8

26. Dari deskripsi soal di atas, jika E sedang ingin tidur, sehingga dia duduk di sebelah
jendela pada barisan paling belakang, dan G tidak duduk di barisan paling depan,maka
dapat kita pastikan, bahwa orang yang duduk di posisi 1 adalah..
A. A
B. B
C. C
D. D
E. E

27. Berapa banyak untaian bit dengan panjang 10 yang diawali 000 atau diakhiri 1111?
A. 192
B. 184
C. 176
D. 128
E. Pilihan A, B, C, dan D salah.

28. Asosiasi TOKI merupakan organisasi yang anggotanya alumni TOKI. Seseorang dapat
disebut alumni TOKI jika sudah tidak memenuhi syarat mengikuti IOI dan pernah mengikuti
pelatnas. Seseorang dapat mengikuti pelatnas bila pernah mendapatkan medali saat OSN. Jika
seseorang telah berusia lebih dari 21 tahun atau telah memasuki perguruan tinggi, maka dia
tidak memenuhi syarat mengikuti IOI. Seseorang yang akan mengikuti IOI harus mengikuti
pelatnas. Cakra saat ini adalah mahasiswa dari universitas XX dan mendapat pernah medali
Emas OSN, Basith adalah mahasiswa dari universitas YYY dan pernah mengikuti pelatnas,
sedangkan Nathan adalah siswa SMA Z yang pernah dapat medali perak IOI.
Pernyataan:
I. Basith adalah anggota asosiasi alumni TOKI.
II. Cakra adalah alumni TOKI.
III. Nathan pernah mengikuti pelatnas.
IV. Cakra pernah mengikuti IOI.
Dari pernyataan-pernyataan di atas, manakah yang pasti benar?
A. I, IV
B. II, IV
C. II, III
D. I, III
E. I, II, III

29. Terdapat sebuah nomor telepon abc-defg. Sebuah nomor telepon yang mudah diingat adalah
sebuah nomor yang memenuhi (abc=def) atau (abc = efg) (di sini, abc menyatakan bilangan
tiga digit abc). Ada berapa kemungkinan nomor telepon yang mudah diingat?
A. 9000
B. 9990
C. 14985
D. 19980
E. 19990

30. Dari bilangan bulat 1 hingga 2013, berapakah jumlah bilangan yang habis dibagi 3, 5 atau 7
tetapi tidak habis dibagi 21 dan 35?
A. 943
B. 960
C. 971
D. 1067
E. 1093
BAGIAN B: ALGORITMIKA (20 SOAL)

[Peringatan: Seluruh penulisan notasi algoritma menggunakan Pseudopascal]

31. Perhatikan fungsi dari potongan program berikut!


function panggil1(x:longint):longint;
begin
if (x<3) then panggil1:=0
else panggil1:=panggil1(x-1)+2*panggil1(x-2)+3;
end;
Bila fungsi di atas dipanggil dengan panggil1(7), maka hasil keluarannya adalah:
A. 7
B. 28
C. 34
D. 63
E. 97

32. Perhatikan fungsi dari potongan program berikut!


function sikat(x,y:longint):longint;
begin
if (x>=y) then sikat:=x
else sikat:=3*sikat(x+1,y)+2*sikat(x,y-1);
end;
Bila fungsi di atas dipanggil dengan sikat(1,3), maka hasi keluarannya adalah:
A. 18
B. 55
C. 89
D. 103
E. 237

33. Perhatikan potongan program di bawah ini!


function hitung(n:integer):integer;
begin
if(n=0)then hitung:=0
else hitung:=hitung(n div 5) + (n mod 5);
end;
Berapa nilai dari hitung(2903)?
A. 14
B. 10
C. 11
D. 13
E. 12

34. Perhatikan fungsi di bawah ini!


function wow(n:integer):integer;
var
res, i, cnt : integer;
begin
res:=1;
for i:=2 to n do
if(n mod i = 0) then begin
cnt:= 0;
while (n mod i = 0) do
begin
n:=n div i;
cnt:= cnt+1;
end;
res:=res*(cnt+1);
end;
wow:=res;
end;
Berapakah n mininum sehingga wow(n) bernilai 10?
A. 32
B. 512
C. 1000
D. 48
E. 38

35. Diberikan potongan program berikut:


var
head, tail, x : integer;
stek: array [1..100] of integer;

function pop():integer;
begin
if (head = tail) then
pop := -1
else
begin
pop := stek[head];
head := head + 1;
end;
end;

begin
stek[3] := 5;
stek[2] := 3;
stek[4] := 7;
stek[1] := 1;
stek[5] := 9;
head := 1;
tail := 6;

pop();
for x := 1 to 3 do writeln( pop() );
pop();
end.
Jika program tersebut dijalankan, maka pada layar akan tampil:
A. 3
7
1
B. 5
3
7
1
9
C. 3
5
7
D. 1
3
5
7
9
E. -1

36. Diberikan potongan program berikut:


pop();
for x := 1 to 3 do writeln( pop() );
pop();
jika potongan program tersebut diganti dengan
for x := 1 to 3 do
if (pop() <> -1) then writeln( pop() );
berapakah outputnya sekarang?
A. 3
7
1
B. 3
1
-1
C. 3
5
7
D. 3
7
-1
E. -1
-1
-1
Program berikut ditujukan untuk soal no. 37 dan 38
function Bunga(x: longint):longint;
var
i, Bungai : longint;
begin
if (x = 0) then Bunga := 1
else
begin
Bungai := 0;
for i := 0 to x-1 do
Bungai := Bungai + Bunga(i);
Bunga := Bungai;
end;
end;

37. Berapakah hasil dari Bunga(3)?


A. 1
B. 2
C. 3
D. 4
E. A, B, C, D salah atau ada lebih dari satu jawaban yang benar di antara A, B, C, D

38. Berapakah hasil dari


Bunga(21)? A. 2097152
B. 1048576
C. 384759
D. 404
E. A, B, C, D salah atau ada lebih dari satu jawaban yang benar di antara A, B, C, D Program berikut

untuk no. 39 s.d. 41

var
x,y,temp,dare,num1,num2 : integer;

begin
readln(x,y);
num1:=x;
num2:=y;
dare:=0;
temp:=1;
while(num1 or num2 >0) do
begin
if(num1 mod 2 + num2 mod 2 = 1) then
dare := dare + temp
else
dare := dare + ( (num1 mod 2 + num2 mod 2) * temp );
num1 := num1 div 2;
num2 := num2 div 2;
temp := temp * 2;
end;
writeln(dare);
end.

39. Apabila program di atas diberi masukan 16 8, berapakah output yang dihasilkan oleh
program di atas?
A. 2
B. 24
C. 8
D. 16
E. 8

40. Apabila nilai x = 120 dan nilai y = 30 berapakah output yang dihasilkan oleh program di atas?
A. 40
B. 150
C. 90
D. 120
E. 30

41. Apabila kita perhatikan potongan program di atas adalah potongan program?
A. Menjumlahkan 2 buah bilangan bulat positif
B. Mengalikan 2 buah bilangan bulat positif
C. Mengurangi 2 buah bilangan bulat positif
D. Mencari nilai terkecil dari 2 buah bilangan bulat positif
E. Mencari nilai terbesar dari 2 buah bilangan bulat positif

42. Diberikan potongan program berikut ini!


const
M=100;
var
x,i,n,h:longint;
A:array[1..M] of boolean;
B:array[1..M] of longint;
begin
for i:=1 to M do
A[i]:=true;
n:=0;
for i:=2 to M do
begin
if A[i] then
begin
n:=n+1;
B[n]:=i;
h:=i;
while h<M do
begin
h:=h+i;
if h<=M then A[h]:=false;
end;
end;
end;
readln(x);
writeln(B[x]);
end.
Berapakah hasil program di atas apabila x = 10?
A. 13
B. 17
C. 20
D. 29
E. Runtime Error

43. Diberikan potongan program berikut ini:


var
A: array[1..5] of longint = (1, 2, 3, 4, 5);
i, j, t: longint;
begin
for i := 1 to 5 do
for j := 1 to i do begin
t := A[i] xor A[j];
A[i] := t xor A[i];
A[j] := t xor A[i]
end;
for i := 1 to 5 do begin
if (i <> 1) then write(' ');
write(A[i])
end;
writeln;
end.
Apa hasil dari program tersebut?
A. 2 5 4 3 1
B. 5 4 3 2 1
C. 3 1 4 2 5
D. 2 1 3 5 4
E. 1 4 2 5 3

Program berikut ditujukan untuk soal no. 44 dan 45


var
data : array[1..10] of integer = (3,9,2,6,1,4,7,8,5,10);

procedure kambing(m : integer);


begin
if (m<=10) then
begin
kambing(m*2);
write(data[m],’ ’);
kambing(m*2+1);
end;
end;

44. Output yang dihasilkan jika dilakukan pemanggilan kambing(1) adalah ....
A. 3
B. 3 9 2 6 1 4 7 8 5 10
C. 3 9 6 8 5 10 1 2 4 7
D. 8 6 5 9 10 1 3 4 2 7
E. 8 5 6 10 1 9 4 7 2 3

45. Agar output yang dihasilkan terurut menaik setelah pemanggilan kambing(1), maka array
data harus berisi ....
A. (7,4,9,2,6,8,10,1,3,5)
B. (1,2,3,4,5,6,7,8,9,10)
C. (8,4,9,2,10,5,1,6,3,7)
D. (1,3,2,5,6,4,8,10,9,7)
E. (7,4,2,1,3,6,5,9,8,10)

46. Diberikan potongan program berikut ini:


i := 0;
while (x>1) do
begin
if (x mod 2 = 1) then
x := 3*x+1
else
x := x div 2;
inc(i);
end;
writeln(i);
Jika x = 13, maka output dari program di atas adalah ....
A. 5
B. 6
C. 7
D. 8
E. 9
Potongan kode program berikut ini digunakan untuk soal no 47-49
function abc(a:integer) : integer;
begin
abc :=a*3-(a mod 7);
{a}
end;

function ghi(x:integer;b:integer):integer;
begin
if (b=1)
then
ghi := x
else
ghi := (x* ghi(x,b-1)) mod 100;
end;

function def(a:integer; b:integer) : integer;


begin
if (b mod 2 = 1) and (b>500) then
def := ghi(a,b) mod 100
{b}
else
def:=def(a, abc(b)) ;
end;

47. Berapakah hasil dari pemanggilan fungsi def(7,100) ?


A. 1
B. 7
C. 43
D. 49
E. Jawaban A, B, C, D salah

48. Apabila bagian (a) diubah menjadi abc := a*2 - (a mod 5), maka berapakah hasil pemanggilan
fungsi def(7,151)?
A. 1
B. 7
C. 43
D. 49
E. Jawaban A, B, C, D salah

49. Apabila bagian (b) diubah menjadi def := ghi(a,b) mod 10, maka berapakah hasil pemanggilan
fungsi def(3,30)?
A. 1
B. 3
C. 7
D. 9
E. Jawaban A, B, C, D salah

50. Diberikan potongan kode program berikut ini


function tebak_angka(x,y: integer): integer;
begin
if x < 5 then begin
case x of
0: tebak_angka := 1;
1: tebak_angka := 2;
2: tebak_angka := 3;
3: tebak_angka := 4;
4: tebak_angka := 5;
end;
end else if x > y then begin
tebak_angka := tebak_angka(y,x);
end else begin
tebak_angka := tebak_angka(x, y-(x mod 5)-1);
end;
end;
Apakah outputnya jika perintah writeln(tebak_angka(18,30)) dipanggil?
A. 1
B. 2
C. 3
D. 4
E. 5
BANK SOAL TERLENGKAP
download from: p4kguru.blogspot.com
OLIMPIADE SAINS 2013 TINGKAT
KABUPATEN/KOTA
BIDANG INFORMATIKA/KOMPUTER
KUNCI JAWABAN
Penilaian Benar = 4, salah = -1, kosong = 0

1.
D 26.
D
D
2. 27.
B
B
3. 28.
D
D
4. 29.
E
5.
E 30.
B

E
6. D
31.
C
7. B
32.
D8. C
33.
A9. D
34.
B
10. C
35.

B
11. D
36.
C
12. D
37.
A
13. B
38.
A
14. B
39.
A
15. B
40.

B
16. A
41.
D
17. D
42.
C
18. B
43.
C
19. D
44.
B
20. A
45.

B
21. E
46.
D
22. B
47.
E
23. B
48.
E
24. C
49.
B
25. E
50.

BAGIAN A: ARITMATIKA DAN LOGIKA (30 SOAL)

1. Amar sedang mengikuti kontes pemrograman TOKI. Tiap kali berhasil mengerjakan soal, ia
mendapatkan sebuah balon dengan warna unik untuk masing-masing soal. Saat ini, ia telah
berhasil menyelesaikan semua soal dengan mudah. Namun, rupanya panitia kehabisan balon
sehingga Amar mendapat balon dengan warna yang sama untuk soal yang terakhir (soal
Hak Cipta Soal OSK 2014 Bidang Hal 3 dari 19 halaman
Dilindungi Undang- Informatika/Komputer
undang
BANK SOAL TERLENGKAP
download from: p4kguru.blogspot.com
kelima). Waktu masih lama, sehingga Amar tidak punya kegiatan. Ia pun menyusun balonnya
berjajar di depannya. Amar lalu berpikir, ada berapa banyak kombinasi susunan yang berbeda
yang dapat dibentuknya dengan balon-balonnya?
A. 30
B. 60
C. 90
D. 120
E. 240

2. Empat pasang suami istri menonton pagelaran orkestra. Tempat duduk mereka harus dipisah
antara kelompok suami dan kelompok istri. Untuk masing-masing kelompok disediakan 4
buah tempat duduk bersebelahan dalam satu barisan. Banyaknya cara memberikan tempat
duduk kepada mereka adalah ...
A. 288
B. 576
C. 864
D. 1152
E. 1440

3. N adalah sebuah bilangan yang terdiri dari 999 digit angka 1. N merupakan …
A. Bilangan prima
B. Bilangan komposit (bilangan bukan prima)
C. Bilangan genap
D. Bilangan habis dibagi 9 tapi tidak habis dibagi 18
E. Bilangan habis dibagi 9 dan 18

4. Andi memiliki 5 bilangan, yaitu 11, 13, 17, 19, dan 23. Dia bermaksud memilih satu
bilangan lalu mengurangkan bilangan tersebut dengan 5. Dia kemudian mengalikan kelima
bilangan termasuk bilangan yang telah dikurangkan tadi. Apabila dia ingin agar hasil
perkaliannya maksimal, manakah bilangan yang dipilih Andi?
A. 11
B. 13
C. 17
D. 19
E. 23

Hak Cipta Informatika/Komputer Hal 4 dari 19 halaman


undang
5. Pada suatu hari, diadakan Balap Mobil LemotTM yang memperlombakan 4 mobil. Karena
berbagai alasan pribadi, para pembalap tidak langsung melajukan mobilnya pada saat aba-
aba start diberikan. Pengemudi mobil balap ke-i baru melajukan mobilnya setelah berlalu
tepat ti detik sejak aba-aba start diberikan dengan kecepatan konstan vi. Diketahui mobil #1
mencapai finish pertama. Diberikan tabel data ti dan vi untuk masing-masing mobil, tentukan
nilai maksimal X yang mungkin pada t4 agar mobil #2 mencapai finish paling akhir (Bulatkan
jawaban Anda ke bilangan bulat terdekat)
Mobil # ti vi

1 30 detik 15 m/detik
2 60 detik 10 m/detik
3 80 detik 20 m/detik
4 X 25 m/detik
A. 100
B. 110
C. 120
D. 180
E. 240

6. Berapakah banyak faktor dari 144.000 yang juga merupakan faktor dari 450.000 ?
A. 24
B. 36
C. 48
D. 60
E. 72

7. Berapakah banyak bilangan di antara 1 hingga 2014 (inklusif) yang dapat dibagi 4 dan
6 sekaligus, atau dapat dibagi 8 ?
A. 331
B. 332
C. 333
D. 334
E. 335

8. Pada sebuah papan catur 3x3, ada berapa jalan tercepat sebuah kuda pergi dari ujung kiri
bawah ke kanan atas?
A. 1
B. 2
C. 3
D. 5
E. 16
9. Umur Badu sama dengan umur Budi dijumlahkan dengan umur Beni. Lima tahun yang
lalu, umur Budi sama dengan sepuluh kali lipat umur Beni. Jika umur Budi saat ini 15
tahun, berapakah umur Badu saat ini?
A. 15
B. 6
C. 21
D. 16
E. 26

10. Jika A bernilai True, B bernilai False, C bernilai True, D bernilai False, E bernilai False, dan
F bernilai True. Maka Ekspresi Logika yang nilainya sama dengan (A and (((B or C) and
(D and E)) and F)) adalah....
A. (A and B) or ((C or D) and (E or F))
B. ((A or (B or C)) or (D or E) or F)
C. ((A and B) or ((C and (D and E)) and F))
D. ((A or B) or ((C and D) and (E or F)))
E. (((A and B) or C) or ((D or E) and F))

11. Ani sedang berada di supermarket. Di sana dia mengetahui bahwa harga kemeja adalah
Rp30.000,- dan harga rok adalah Rp20.000,-. Karena itu merupakan harga promo, pihak
supermarket hanya memperbolehkan pembelian paling banyak 20 item per orang.
Ani ingin mencoba berdagang. Saat ini, Ani memiliki uang sebanyak Rp500.000,-. Bila dia ingin menjual
kembali kemeja dengan harga Rp35.000,- dan rok dengan harga Rp23.000,-, berapakah keuntungan
maksimum yang dapat dia peroleh?
A. Rp60.000,-
B. Rp75.000,-
C. Rp80.000,-
D. Rp100.000,-
E. Rp83.000,-

12. Sebanyak N orang pengurus TOKI akan disebar ke dalam empat komisi mengikuti
ketentuan berikut :
 setiap anggota tergabung ke dalam tepat dua komisi
 setiap dua komisi memiliki tepat satu anggota bersama
Maka, berapakah nilai N?
A. 2
B. 4
C. 6
D. 8
E. 12
13. Dari 100 orang siswa, diketahui 37 orang menyukai Matematika, 27 orang menyukai
Biologi, dan 50 orang tidak suka keduanya. Berapa banyak orang yang hanya suka
Matematika saja?
A. 11
B. 15
C. 16
D. 21
E. 23

14. Operasi “a mod b” berarti sisa ketika a dibagi dengan b. Contohnya 5 mod 3 = 2. Berapakah
353653664176826832176826834 mod 13?
A. 0
B. 1
C. 2
D. 3
E. 4

15. Kartu bridge berjumlah 52 buah kartu yang terdiri dari 4 macam daun dan 13 nilai. Daun
tersebut meliputi sekop, keriting, hati, dan diamond; sedangkan nilainya berurutan meliputi
2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K, dan A.
Budi sedang memainkan five-card draw, yaitu permainan kartu di mana setiap orang mendapatkan 5 buah kartu.
Budi mulai mengambil kartu dari tumpukan kartu satu persatu. Setelah dia mengambil dua kartu, dia mendapat 2H
dan 5H (H berarti hati).
Pada kondisi sekarang, berapakah probabilitas Budi akan mendapatkan straight flush, yaitu susunan 5 kartu di
mana nilainya berurutan dan daunnya sama semua?
A. 3/50
B. 6/50
C. 6/117600
D. 27/117600
E. 1/117600

16. Cakra dan Basit dapat membangun sebuah kandang ayam dalam 6 hari. Amar dan Basit
dapat membangun sebuah kandang ayam dalam 3 hari. Amar dan Cakra dapat membangun
kandang ayam dalam 5 hari. Pada suatu kesempatan mereka membangun sebuah kandang
ayam (mulai bersama-sama). Namun pada hari kedua dan seterusnya Cakra tidak dapat
melanjutkan pekerjaannya karena sakit perut. Berapa hari yang dibutuhkan untuk
membangun kandang ayam tersebut (sejak awal membangun)?
A. 2,75
B. 2,80
C. 2,85
D. 2,90
E. 2,95
17. not (not (P or not Q) or (not P and not Q)) or (P or not Q)
Ekspresi di atas akan bernilai False jika nilai P dan Q adalah ...
A. P = True, Q = True
B. P = True, Q = False
C. P = False, Q = True
D. P = False, Q = False
E. Tidak memungkinkan ekspresi bernilai False.

Deskripsi soal berikut digunakan untuk menjawab soal nomor 18 dan 19


Di kota Bebek terdapat sebuah taman berbentuk segi 12 beraturan. Di setiap sudut taman tersebut terdapat tiang
bendera. Setiap tiang bendera hanya dapat dipasangi satu bendera. Pak Walikota meminta Pak Dengklek untuk
memasang bendera pada tiang-tiang tersebut. Ada 10 bendera dengan 4 warna berbeda, yang terdiri dari 4
bendera biru, 2 bendera merah, 2 bendera kuning, dan 2 bendera hijau. Pak Walikota meminta Pak Dengklek
memasang bendera dengan beberapa syarat, yaitu:
- Tiang-tiang tempat bendera biru dipasang harus membagi keliling taman menjadi 4 bagian yang
sama.
- Bendera merah harus dipasang bersebelahan dengan bendera merah.
- Bendera kuning harus dipasang berseberangan satu sama lain.
- Bendera hijau harus dipasang pada tiang tertentu sehingga di antara kedua bendera hijau terdapat tepat
2 tiang bendera.
Tiba-tiba Pak Walikota meminta Pak Dengklek untuk memasang 2 bendera ungu.

18. Salah satu bendera ungu akan berada di antara....


A. Bendera biru dan merah
B. Bendera ungu dan biru
C. Bendera kuning dan biru
D. Bendera merah dan kuning
E. Bendera merah dan ungu

19. Berapa jumlah tiang minimal di antara kedua bendera ungu yang mungkin?
A. 1
B. 2
C. 3
D. 4
E. 5

20. Ada 5 orang, yaitu A, B, C, D, dan E. Hubungan satu dengan yang lain dari kelima
orang tersebut adalah sebagai berikut:
- Masing-masing orang hanya mencintai satu orang.
- Tidak ada 2 orang yang saling mencintai.
- A mencintai B.
- D tidak mencintai C.
- Ada 2 orang yang mencintai E.
Bila C mencintai B, maka siapakah yang dicintai oleh B?
A. A
B. B
C. C
D. D
E. E

Deskripsi soal berikut digunakan untuk menjawab soal nomor 21 dan 22


Dewangga memiliki 3 teman yang sangat akrab dengannya, yaitu John, Faiz, dan Ari. Mereka berempat sangatlah
cerdas dan ganteng. Namun Dewangga sangat ambisius. Ia penasaran, siapakah yang paling cerdas dan paling
ganteng di antara mereka berempat. Untuk mengetahui hal itu, Dewangga bertanya kepada “Sang Master”
mengenai siapa yang paling cerdas dan paling ganteng di antara mereka. Namun “Sang Master” tidak langsung
memberi jawaban kepada Dewangga. “Sang Master” memberi teka-teki sehingga Dewangga harus berpikir keras
terlebih dahulu sebelum mengetahui jawabannya.
Berikut perkataan “Sang Master”:
- Dewangga bukan yang terganteng di antara mereka berempat
- Ari lebih ganteng dari John, namun tidak lebih cerdas.
- Dewangga lebih cerdas dan lebih ganteng dari Faiz
- Ari bukanlah yang paling tidak cerdas di antara mereka

21. Berdasarkan deskripsi di atas, ada berapa kemungkinan urutan tingkat kegantengan?
A. 1
B. 2
C. 3
D. 4
E. 5

22. Ternyata Dewangga bukan yang paling cerdas. Dewangga pun merasa kesal dan belajar lebih
rajin setiap hari hingga larut malam. Hasilnya, ia pun berhasil naik 1 posisi dan menggusur
orang yang sebelumnya berapa pada posisi tersebut ke posisi Dewangga. Siapa saja yang
mungkin berada pada posisi nomor dua saat ini?
A. Ari/John
B. Dewangga/John
C. Ari/Dewangga
D. Dewangga/Ari
E. Ari/Faiz
23. Seorang detektif sedang menangani sebuah kasus kriminal. Ada 4 orang tersangka berinisial
G, O, L, D. Dari hasil interogasi, detektif tersebut mendapatkan sejumlah fakta, yaitu :
 Jika G berkata jujur, maka O berkata jujur.
 Jika L berkata bohong, maka D berkata jujur.
 Salah satu dari O dan L berkata jujur.
 O berkata jujur jika dan hanya jika D berkata bohong.
Dari sejumlah fakta di atas, siapa yang berkata jujur?
A. L dan D
B. O dan L
C. G dan O
D. D dan G
E. Tidak dapat ditentukan.

Deskripsi soal berikut digunakan untuk menjawab soal nomor 24 dan 25


Budi hendak pergi ke sekolah. Seragam Budi terdiri dari: sepatu, kaos kaki, celana, celana dalam, sabuk,
dan kemeja. Beberapa hal yang harus diperhatikan adalah:
- Sepatu harus dikenakan setelah kaus kaki
- Sabuk harus dikenakan setelah celana
- Kemeja harus dikenakan sebelum celana
- Celana harus dikenakan setelah celana dalam
- Celana harus dikenakan sebelum sepatu

24. Di bawah ini, manakah urutan pemakaian seragam Budi yang benar?
A. Kaus Kaki → Celana Dalam → Celana → Kemeja → Sabuk → Sepatu
B. Kemeja → Celana Dalam → Kaus Kaki → Celana → Sepatu → Sabuk
C. Kemeja → Celana → Celana Dalam → Kaus Kaki → Sabuk → Sepatu
D. Celana Dalam → Celana → Kemeja → Sepatu → Kaus Kaki → Sabuk
E. Tidak ada yang benar

25. Pulang sekolah, Budi ingin langsung mandi begitu tiba di rumah. Tentu saja, sebelum mandi,
Budi harus melepas semua seragamnya. Untuk melepas seragam, tentu syarat-syaratnya
terbalik dengan pemakaian seragam (misalnya, sabuk harus dikenakan setelah celana. Untuk
melepas seragam, maka celana harus dilepas setelah sabuk). Urutan pelepasan seragam Budi
yang benar adalah:
A. Sepatu → Sabuk → Kemeja → Celana → Celana Dalam → Kaus Kaki
B. Celana → Celana Dalam → Sepatu → Kemeja → Kaus Kaki → Sabuk
C. Sabuk → Kaus kaki → Sepatu → Celana → Kemeja → Celana Dalam
D. Sepatu → Sabuk → Celana → Celana Dalam → Kemeja → Kaus Kaki
E. Tidak ada yang benar
26. 9 orang (Z, Y, X, W, V, U, T, S, dan R) akan dikelompokkan dalam tim A, tim B dan
tim C. Setiap orang hanya boleh menjadi anggota dari satu tim.
- Tim A memiliki satu anggota lebih banyak dari tim B.
- Mungkin saja tidak ada orang di tim C.
- Z, Y dan X tidak boleh berada di tim A.
- W, V dan U tidak boleh berada di tim B.
- T, S dan R tidak boleh berada di tim C.
Jika yang berada di tim B adalah T dan Z, maka berapa orang kah anggota tim C ?
A. 3
B. 4
C. 5
D. 6
E. 7

27. Tahun yang ‘sangat kabisat’ adalah tahun kabisat yang jumlah tiap digit-digitnya membentuk
tahun kabisat juga. Ada berapa banyak tahun ‘sangat kabisat’ di antara tahun 1900 hingga
2000 (inklusif)?
A. 4
B. 5
C. 6
D. 7
E. 8

Deskripsi soal berikut digunakan untuk menjawab soal nomor 28, 29, dan 30
Di SMA Negeri 1 Bebek, Abil sedang belajar mengenai bilangan prima-er. Prima-er merupakan cara untuk
merepresentasikan bilangan desimal dengan urutan dan penjumlahan bilangan prima, dengan 1 sebagai bilangan
prima ke-0. Sebagai contoh, prima- er dari 20 adalah 08 (bilangan prima ke 8 adalah 19, bilangan prima ke 0
adalah 1, 19+1 =
20), dan prima-er dari 27 adalah 029 (bilangan prima ke 0 adalah 1, prima ke 2 adalah 3 dan prima ke 9 adalah
23, 1+3+23 = 27). Perhatikan bahwa suatu bilangan mungkin memiliki lebih daripada 1 representasi prima-er
(20 juga dapat direpresentasikan sebagai 46 dan 27), dan satu prima-er juga dapat merepresentasikan lebih dari
satu bilangan (012 dapat merepresentasikan 6 dan 38).

28. Apakah representasi prima-er terpendek dari bilangan 34?


A. 59
B. 95
C. 144
D. 1210
E. 1012
29. Ada berapakah representasi prima-er dari bilangan 40?
A. 16
B. 17
C. 18
D. 19
E. 20

30. Ada berapakah bilangan yang dapat direpresentasikan oleh 127821?


A. 5
B. 6
C. 7
D. 8
E. 9
BAGIAN B: ALGORITMIKA (20 SOAL)

[Peringatan: Seluruh penulisan notasi algoritma menggunakan Pseudopascal]

31. Perhatikan fungsi di bawah ini.


function wow(x:integer):integer;
begin
if (x < 2) then wow := x
else wow := wow(x-2) + 3*wow(x-1);
end;
Apa yang akan dikembalikan pada pemanggilan fungsi wow(8)?
A. 3620
B. 3760
C. 3824
D. 3927
E. 4126

Perhatikan fungsi-fungsi berikut untuk soal nomor 32 dan 33.


function mangga(rambutan : integer) : integer;
begin
if (rambutan = 1) then mangga := 1 else
if (rambutan mod 2 = 1) then mangga := mangga(3 * rambutan + 1)
else mangga := mangga(rambutan div 2);
end;

function jeruk(anggur, melon : integer) : integer;


begin
if (melon = 1) then jeruk := 0 else
jeruk := mangga(anggur) * anggur + jeruk(anggur, melon - 1);
end;

32. Berapakah hasil pemanggilan fungsi mangga(49)?


A. 1
B. 7
C. 14
D. 21
E. 49

33. Berapakah hasil pemanggilan fungsi jeruk(25,


20)? A. 425
B. 450
C. 475
D. 500
E. 525
Perhatikan kedua fungsi berikut untuk soal nomor 34 dan 35.
function f(a : integer):integer;
begin
if a=0 then
f:= 1
else
f:= 2*f(a-1);
end;

function g(b: integer):integer;


begin
if b=0 then
g:= f(b)
else
g:= f(b) + g(b-1);
end;

34. Jika fungsi f(3) dipanggil maka nilai yang dihasilkan adalah.....
A. 1
B. 3
C. 4
D. 15
E. 16

35. Jika fungsi f(10) dipanggil maka nilai yang dihasilkan adalah.......
A. 1
B. 9
C. 10
D. 1023
E. 1024

Perhatikan fungsi berikut untuk soal nomor 36 dan 37.


function bincin (a:integer):string;
var
b:integer;
str:string;
begin
if a=0 then
bincin:=''
else
begin
b:=a mod 4;
if (b=0) then str:='0'
else str:='1';
bincin:=bincin (a div 2)+str;
end;
end;
36. Nilai yang dihasilkan ketika fungsi bincin(73) dipanggil
adalah … A. 1001001
B. 1101101
C. 1010101
D. 1011011
E. 1101001

37. Jika b:=a mod 4 diganti menjadi b:=a mod 3 dan bincin:=bincin (a div
2)+str diganti menjadi bincin:=bincin (a div 3)+str maka nilai yang
dihasilkan ketika fungsi bincin (73) dipanggil adalah …
A. 1001
B. 1011
C. 1100
D. 1101
E. 1110

Perhatikan kumpulan fungsi dari potongan program berikut untuk soal nomor 38 dan 39.
function sapi(kucing: integer): integer;
begin
if (kucing <= 2 ) then
sapi:= 1
else
sapi:= sapi(kucing div 2)+1;
end;

function ayam(rumput: integer): integer;


begin
if (rumput < 1024) then
ayam:= ayam(rumput*2) + sapi(rumput)
else
ayam:= 0;
end;

function rumput(batu: integer): integer;


var a, c:integer;
begin
a:=2;
c:=1;
while (batu > 0) do
begin
if ((batu mod 2) = 1) then
c:=c*a;
batu:= batu div 2;
a:= a*a;
end;
rumput:=c;
end;
38. Berapakah nilai dari ayam(rumput(9))?
A. 19
B. 10
C. 9
D. 8
E. 7

39. Berapakah nilai dari ayam(rumput(2))?


A. 44
B. 42
C. 8
D. 2
E. 1

40. Perhatikan potongan program berikut.


var
am, ra : integer;
begin
am:=500;
ra:=100;
repeat
ra:=ra+1;
am:=am-ra;
until am>ra; writeln(am,'
dan ',ra);
end.
Apakah output dari program di atas?:
A. 90 dan 104
B. 90 dan 105
C. 194 dan 103
D. 297 dan 102
E. 399 dan 101

41. Perhatikan potongan program berikut .


1 var data : array[1..10] of integer = (3,9,2,6,1,4,7,8,5,10);
2 procedure piring(n : integer);
3 begin
4 if (n<=10) then
5 begin
6 piring(n*2);
7 piring(n*2+1);
8 write(data[n],’ ’);
9 end;
10 end;
Jika statement pada baris ke 8 yaitu “write(data[n],’ ‘)” dipindahkan pada sebelum statement
baris ke 6, maka untuk menghasilkan output yang terurut menaik setelah pemanggilan piring(1) adalah
....
A. (3,9,2,6,1,4,7,8,5,10)
B. (1,2,8,3,6,9,10,4,5,7)
C. (10,6,9,3,5,7,8,1,2,4)
D. (7,4,2,1,3,6,5,9,8,10)
E. (1,2,3,4,5,6,7,8,9,10)

Perhatikan potongan program berikut untuk soal nomor 42 dan 43


procedure callfoo(var a : integer; b : integer);
var p,q : integer;
begin
if (b <= 2) then
a := 1
else begin
callfoo(p,b-1);
callfoo(q,b-2);
a := p + q;
end;
end;

var x,y : integer;


begin
x := …; y := … ; {inisialisasi}
callfoo(x,y);
writeln(x);
end.

42. Apakah output program jika inisialisasi x := 0; y := 5; ?


A. 5
B. 10
C. 15
D. 20
E. 25

43. Apakah output program jika inisialisasi x := 0; y := 12; ?


A. 12
B. 24
C. 48
D. 72
E. 144
Perhatikan fungsi dan potongan program sebagai berikut untuk soal nomor 44 dan 45
var input : string;
procedure ubah(s:string)
var i,j:integer;
begin
for i:=1 to length(s)-1 do
begin
s[i] := chr((((ord(s[i])-65) + (ord(s[i+1]) - 65)) mod 26) + 65);
end;
writeln(s);
end;

begin
ubah(input);
end.
Catatan:
Fungsi ord(cc: char) menghasilkan nilai kode ASCII karakter CC;
Fungsi chr (K: integer) menghasilkan karakter yang kode ASCII-nya adalah K.
Potongan tabel konversi kode ASCII dari karakter ‘A’ s.d. ‘Z’ diberikan sebagai berikut:
ord(‘A’) = 65
ord(‘B’) = 66
ord(‘C’) = 67
….
… dst
ord(‘X’) =
88
ord(‘Y’) = 89
ord(‘Z’) = 90

44. Apabila variabel input berisi nilai ‘TOKIABSOLUTEWINNERIOI’, apakah output yang
dihasilkan oleh program di atas?
A. HYSIBTGZFNXAEVARVZWWI
B. IZTJCUHAGOYBFWBSWAXXJ
C. HYAIBTBZFNXCEVARVZWWI
D. IZTJCUHAGOYBFWBSWAXXJ
E. HZAJIUBAFOXBEWRSZAWXI

45. Apabila program di atas mengeluarkan output ‘RIPTQHDLTMQMSS’, nilai variabel


input sebelum program dijalankan adalah .....
A. GOGETGOLDMEDAL
B. RAIHMEDALIEMAS
C. HYAIBTBZFNXCEVA
D. OSNINFORMATIKA
E. SUKSESSEMUANYA
Perhatikan fungsi sebagai berikut untuk soal nomor 46 dan 47
function pingpong(x : integer) : integer;
var ping, pong, tenis, meja : integer;
begin
meja := 0;
for ping := 1 to x do begin
for pong := 1 to ping do begin
for tenis := ping downto pong do begin
meja := meja + tenis;
end;
end;
end;
pingpong := tenis + meja;
end;

46. Berapakah hasil pemanggilan fungsi pingpong(3)?


A. 15
B. 17
C. 19
D. 21
E. 23

47. Berapakah nilai x minimal agar pingpong(x) bernilai lebih besar atau sama dengan 200?
A. 9
B. 8
C. 7
D. 6
E. 5

Perhatikan potongan program berikut untuk soal nomor 49 dan 50.


function yolo(x,y:integer):integer;
begin
if (y = 0) then yolo:=x
else yolo:= yolo(y,x mod y)*yolo(y mod x, x mod y)*y;
end;

begin
writeln(yolo(19,5));
end.

48. Berapakah keluaran program di atas?


A. 80
B. 0
C. 125
D. 720
E. 19
49. Bila fungsi yolo(9,y) dipanggil dan fungsi tersebut mengembalikan nilai 4, maka
berapakah nilai y?
A. 1
B. 2
C. 3
D. 4
E. 5

50. Perhatikan potongan program berikut, dan str(v:integer) mengembalikan v dalam


type string
var hasil:string; bil,a:integer;
procedure terjemahan (x:integer, var y:integer)
begin
if (x<=y) then
begin
terjemahan(x*3,y);
hasil:=str(y div x)+hasil;
y:=y mod x;
end;
end;

begin
hasil:=’’; {strinng kosong}
terjemahan(a,bil);
writeln(hasil);
end.

Apabila nilai a adalah 1 dan nilai bil adalah 80, apakah output program di atas apabila prosedur
terjemahan dijalankan?
A. 1111
B. 2222
C. 1212
D. 1221
E. 2121
BANK SOAL TERLENGKAP
download from: p4kguru.blogspot.com

Jawaban soa l OSK 2014


Jawaban Soa l OSK 2014
B i dang I n f o r ma t i ka / Kompu
ter
1. B . B
2. D 27 . C
3. B 28 . A
26
BANK SOAL TERLENGKAP
download from: p4kguru.blogspot.com
4. A 29 . B
5. E 30 . C
6. D 31 . D
7. E 32 . A
8. B 33 . C
9. C 34 . D
10 . C 35 . D
11 . E 36 . B
12 . C 37 . D
13 . E 38 . C
14 . C 39 . A
15 . C 40 . E
16 . E 41 . B
17 . E 42 . A
18 . C 43 . E
19 . A 44 . A
20 . E 45 . B
21 . C 46 . E
22 . B 47 . D
23 . A 48 . A
24 . B 49 . D
25 . D 50 . B

Hak Cipta Soal OSK 2014 Bidang Hal 3 dari 19 halaman


Dilindungi Undang- Informatika/Komputer
undang
BANK SOAL TERLENGKAP
download from: p4kguru.blogspot.com
BAGIAN A: ARITMATIKA DAN LOGIKA (30 SOAL)

51. Amar sedang mengikuti kontes pemrograman TOKI. Tiap kali berhasil mengerjakan soal, ia
mendapatkan sebuah balon dengan warna unik untuk masing-masing soal. Saat ini, ia telah
berhasil menyelesaikan semua soal dengan mudah. Namun, rupanya panitia kehabisan balon
sehingga Amar mendapat balon dengan warna yang sama untuk soal yang terakhir (soal
kelima). Waktu masih lama, sehingga Amar tidak punya kegiatan. Ia pun menyusun balonnya
berjajar di depannya. Amar lalu berpikir, ada berapa banyak kombinasi susunan yang berbeda
yang dapat dibentuknya dengan balon-balonnya?
A. 30
B. 60
C. 90
D. 120
E. 240

52. Empat pasang suami istri menonton pagelaran orkestra. Tempat duduk mereka harus dipisah
antara kelompok suami dan kelompok istri. Untuk masing-masing kelompok disediakan 4
buah tempat duduk bersebelahan dalam satu barisan. Banyaknya cara memberikan tempat
duduk kepada mereka adalah ...
A. 288
B. 576
C. 864
D. 1152
E. 1440

53. N adalah sebuah bilangan yang terdiri dari 999 digit angka 1. N merupakan …
A. Bilangan prima
B. Bilangan komposit (bilangan bukan prima)
C. Bilangan genap
D. Bilangan habis dibagi 9 tapi tidak habis dibagi 18
E. Bilangan habis dibagi 9 dan 18

54. Andi memiliki 5 bilangan, yaitu 11, 13, 17, 19, dan 23. Dia bermaksud memilih satu
bilangan lalu mengurangkan bilangan tersebut dengan 5. Dia kemudian mengalikan kelima
bilangan termasuk bilangan yang telah dikurangkan tadi. Apabila dia ingin agar hasil
perkaliannya maksimal, manakah bilangan yang dipilih Andi?
A. 11
B. 13
C. 17
D. 19
E. 23

Hak Cipta Informatika/Komputer Hal 4 dari 19 halaman


undang
55. Pada suatu hari, diadakan Balap Mobil LemotTM yang memperlombakan 4 mobil. Karena
berbagai alasan pribadi, para pembalap tidak langsung melajukan mobilnya pada saat aba-
aba start diberikan. Pengemudi mobil balap ke-i baru melajukan mobilnya setelah berlalu
tepat ti detik sejak aba-aba start diberikan dengan kecepatan konstan vi. Diketahui mobil #1
mencapai finish pertama. Diberikan tabel data ti dan vi untuk masing-masing mobil, tentukan
nilai maksimal X yang mungkin pada t4 agar mobil #2 mencapai finish paling akhir (Bulatkan
jawaban Anda ke bilangan bulat terdekat)
Mobil # ti vi

1 30 detik 15 m/detik
2 60 detik 10 m/detik
3 80 detik 20 m/detik
4 X 25 m/detik
A. 100
B. 110
C. 120
D. 180
E. 240

56. Berapakah banyak faktor dari 144.000 yang juga merupakan faktor dari 450.000 ?
A. 24
B. 36
C. 48
D. 60
E. 72

57. Berapakah banyak bilangan di antara 1 hingga 2014 (inklusif) yang dapat dibagi 4 dan
6 sekaligus, atau dapat dibagi 8 ?
A. 331
B. 332
C. 333
D. 334
E. 335

58. Pada sebuah papan catur 3x3, ada berapa jalan tercepat sebuah kuda pergi dari ujung kiri
bawah ke kanan atas?
A. 1
B. 2
C. 3
D. 5
E. 16
59. Umur Badu sama dengan umur Budi dijumlahkan dengan umur Beni. Lima tahun yang
lalu, umur Budi sama dengan sepuluh kali lipat umur Beni. Jika umur Budi saat ini 15
tahun, berapakah umur Badu saat ini?
A. 15
B. 6
C. 21
D. 16
E. 26

60. Jika A bernilai True, B bernilai False, C bernilai True, D bernilai False, E bernilai False, dan
F bernilai True. Maka Ekspresi Logika yang nilainya sama dengan (A and (((B or C) and
(D and E)) and F)) adalah....
A. (A and B) or ((C or D) and (E or F))
B. ((A or (B or C)) or (D or E) or F)
C. ((A and B) or ((C and (D and E)) and F))
D. ((A or B) or ((C and D) and (E or F)))
E. (((A and B) or C) or ((D or E) and F))

61. Ani sedang berada di supermarket. Di sana dia mengetahui bahwa harga kemeja adalah
Rp30.000,- dan harga rok adalah Rp20.000,-. Karena itu merupakan harga promo, pihak
supermarket hanya memperbolehkan pembelian paling banyak 20 item per orang.
Ani ingin mencoba berdagang. Saat ini, Ani memiliki uang sebanyak Rp500.000,-. Bila dia ingin menjual
kembali kemeja dengan harga Rp35.000,- dan rok dengan harga Rp23.000,-, berapakah keuntungan
maksimum yang dapat dia peroleh?
A. Rp60.000,-
B. Rp75.000,-
C. Rp80.000,-
D. Rp100.000,-
E. Rp83.000,-

62. Sebanyak N orang pengurus TOKI akan disebar ke dalam empat komisi mengikuti
ketentuan berikut :
 setiap anggota tergabung ke dalam tepat dua komisi
 setiap dua komisi memiliki tepat satu anggota bersama
Maka, berapakah nilai N?
A. 2
B. 4
C. 6
D. 8
E. 12
63. Dari 100 orang siswa, diketahui 37 orang menyukai Matematika, 27 orang menyukai
Biologi, dan 50 orang tidak suka keduanya. Berapa banyak orang yang hanya suka
Matematika saja?
A. 11
B. 15
C. 16
D. 21
E. 23

64. Operasi “a mod b” berarti sisa ketika a dibagi dengan b. Contohnya 5 mod 3 = 2. Berapakah
353653664176826832176826834 mod 13?
A. 0
B. 1
C. 2
D. 3
E. 4

65. Kartu bridge berjumlah 52 buah kartu yang terdiri dari 4 macam daun dan 13 nilai. Daun
tersebut meliputi sekop, keriting, hati, dan diamond; sedangkan nilainya berurutan meliputi
2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K, dan A.
Budi sedang memainkan five-card draw, yaitu permainan kartu di mana setiap orang mendapatkan 5 buah kartu.
Budi mulai mengambil kartu dari tumpukan kartu satu persatu. Setelah dia mengambil dua kartu, dia mendapat 2H
dan 5H (H berarti hati).
Pada kondisi sekarang, berapakah probabilitas Budi akan mendapatkan straight flush, yaitu susunan 5 kartu di
mana nilainya berurutan dan daunnya sama semua?
A. 3/50
B. 6/50
C. 6/117600
D. 27/117600
E. 1/117600

66. Cakra dan Basit dapat membangun sebuah kandang ayam dalam 6 hari. Amar dan Basit
dapat membangun sebuah kandang ayam dalam 3 hari. Amar dan Cakra dapat membangun
kandang ayam dalam 5 hari. Pada suatu kesempatan mereka membangun sebuah kandang
ayam (mulai bersama-sama). Namun pada hari kedua dan seterusnya Cakra tidak dapat
melanjutkan pekerjaannya karena sakit perut. Berapa hari yang dibutuhkan untuk
membangun kandang ayam tersebut (sejak awal membangun)?
A. 2,75
B. 2,80
C. 2,85
D. 2,90
E. 2,95
67. not (not (P or not Q) or (not P and not Q)) or (P or not Q)
Ekspresi di atas akan bernilai False jika nilai P dan Q adalah ...
A. P = True, Q = True
B. P = True, Q = False
C. P = False, Q = True
D. P = False, Q = False
E. Tidak memungkinkan ekspresi bernilai False.

Deskripsi soal berikut digunakan untuk menjawab soal nomor 18 dan 19


Di kota Bebek terdapat sebuah taman berbentuk segi 12 beraturan. Di setiap sudut taman tersebut terdapat tiang
bendera. Setiap tiang bendera hanya dapat dipasangi satu bendera. Pak Walikota meminta Pak Dengklek untuk
memasang bendera pada tiang-tiang tersebut. Ada 10 bendera dengan 4 warna berbeda, yang terdiri dari 4
bendera biru, 2 bendera merah, 2 bendera kuning, dan 2 bendera hijau. Pak Walikota meminta Pak Dengklek
memasang bendera dengan beberapa syarat, yaitu:
- Tiang-tiang tempat bendera biru dipasang harus membagi keliling taman menjadi 4 bagian yang
sama.
- Bendera merah harus dipasang bersebelahan dengan bendera merah.
- Bendera kuning harus dipasang berseberangan satu sama lain.
- Bendera hijau harus dipasang pada tiang tertentu sehingga di antara kedua bendera hijau terdapat tepat
2 tiang bendera.
Tiba-tiba Pak Walikota meminta Pak Dengklek untuk memasang 2 bendera ungu.

68. Salah satu bendera ungu akan berada di antara....


A. Bendera biru dan merah
B. Bendera ungu dan biru
C. Bendera kuning dan biru
D. Bendera merah dan kuning
E. Bendera merah dan ungu

69. Berapa jumlah tiang minimal di antara kedua bendera ungu yang mungkin?
A. 1
B. 2
C. 3
D. 4
E. 5

70. Ada 5 orang, yaitu A, B, C, D, dan E. Hubungan satu dengan yang lain dari kelima
orang tersebut adalah sebagai berikut:
- Masing-masing orang hanya mencintai satu orang.
- Tidak ada 2 orang yang saling mencintai.
- A mencintai B.
- D tidak mencintai C.
- Ada 2 orang yang mencintai E.
Bila C mencintai B, maka siapakah yang dicintai oleh B?
A. A
B. B
C. C
D. D
E. E

Deskripsi soal berikut digunakan untuk menjawab soal nomor 21 dan 22


Dewangga memiliki 3 teman yang sangat akrab dengannya, yaitu John, Faiz, dan Ari. Mereka berempat sangatlah
cerdas dan ganteng. Namun Dewangga sangat ambisius. Ia penasaran, siapakah yang paling cerdas dan paling
ganteng di antara mereka berempat. Untuk mengetahui hal itu, Dewangga bertanya kepada “Sang Master”
mengenai siapa yang paling cerdas dan paling ganteng di antara mereka. Namun “Sang Master” tidak langsung
memberi jawaban kepada Dewangga. “Sang Master” memberi teka-teki sehingga Dewangga harus berpikir keras
terlebih dahulu sebelum mengetahui jawabannya.
Berikut perkataan “Sang Master”:
- Dewangga bukan yang terganteng di antara mereka berempat
- Ari lebih ganteng dari John, namun tidak lebih cerdas.
- Dewangga lebih cerdas dan lebih ganteng dari Faiz
- Ari bukanlah yang paling tidak cerdas di antara mereka

71. Berdasarkan deskripsi di atas, ada berapa kemungkinan urutan tingkat kegantengan?
A. 1
B. 2
C. 3
D. 4
E. 5

72. Ternyata Dewangga bukan yang paling cerdas. Dewangga pun merasa kesal dan belajar lebih
rajin setiap hari hingga larut malam. Hasilnya, ia pun berhasil naik 1 posisi dan menggusur
orang yang sebelumnya berapa pada posisi tersebut ke posisi Dewangga. Siapa saja yang
mungkin berada pada posisi nomor dua saat ini?
A. Ari/John
B. Dewangga/John
C. Ari/Dewangga
D. Dewangga/Ari
E. Ari/Faiz
73. Seorang detektif sedang menangani sebuah kasus kriminal. Ada 4 orang tersangka berinisial
G, O, L, D. Dari hasil interogasi, detektif tersebut mendapatkan sejumlah fakta, yaitu :
 Jika G berkata jujur, maka O berkata jujur.
 Jika L berkata bohong, maka D berkata jujur.
 Salah satu dari O dan L berkata jujur.
 O berkata jujur jika dan hanya jika D berkata bohong.
Dari sejumlah fakta di atas, siapa yang berkata jujur?
A. L dan D
B. O dan L
C. G dan O
D. D dan G
E. Tidak dapat ditentukan.

Deskripsi soal berikut digunakan untuk menjawab soal nomor 24 dan 25


Budi hendak pergi ke sekolah. Seragam Budi terdiri dari: sepatu, kaos kaki, celana, celana dalam, sabuk,
dan kemeja. Beberapa hal yang harus diperhatikan adalah:
- Sepatu harus dikenakan setelah kaus kaki
- Sabuk harus dikenakan setelah celana
- Kemeja harus dikenakan sebelum celana
- Celana harus dikenakan setelah celana dalam
- Celana harus dikenakan sebelum sepatu

74. Di bawah ini, manakah urutan pemakaian seragam Budi yang benar?
A. Kaus Kaki → Celana Dalam → Celana → Kemeja → Sabuk → Sepatu
B. Kemeja → Celana Dalam → Kaus Kaki → Celana → Sepatu → Sabuk
C. Kemeja → Celana → Celana Dalam → Kaus Kaki → Sabuk → Sepatu
D. Celana Dalam → Celana → Kemeja → Sepatu → Kaus Kaki → Sabuk
E. Tidak ada yang benar

75. Pulang sekolah, Budi ingin langsung mandi begitu tiba di rumah. Tentu saja, sebelum mandi,
Budi harus melepas semua seragamnya. Untuk melepas seragam, tentu syarat-syaratnya
terbalik dengan pemakaian seragam (misalnya, sabuk harus dikenakan setelah celana. Untuk
melepas seragam, maka celana harus dilepas setelah sabuk). Urutan pelepasan seragam Budi
yang benar adalah:
A. Sepatu → Sabuk → Kemeja → Celana → Celana Dalam → Kaus Kaki
B. Celana → Celana Dalam → Sepatu → Kemeja → Kaus Kaki → Sabuk
C. Sabuk → Kaus kaki → Sepatu → Celana → Kemeja → Celana Dalam
D. Sepatu → Sabuk → Celana → Celana Dalam → Kemeja → Kaus Kaki
E. Tidak ada yang benar
76. 9 orang (Z, Y, X, W, V, U, T, S, dan R) akan dikelompokkan dalam tim A, tim B dan
tim C. Setiap orang hanya boleh menjadi anggota dari satu tim.
- Tim A memiliki satu anggota lebih banyak dari tim B.
- Mungkin saja tidak ada orang di tim C.
- Z, Y dan X tidak boleh berada di tim A.
- W, V dan U tidak boleh berada di tim B.
- T, S dan R tidak boleh berada di tim C.
Jika yang berada di tim B adalah T dan Z, maka berapa orang kah anggota tim C ?
A. 3
B. 4
C. 5
D. 6
E. 7

77. Tahun yang ‘sangat kabisat’ adalah tahun kabisat yang jumlah tiap digit-digitnya membentuk
tahun kabisat juga. Ada berapa banyak tahun ‘sangat kabisat’ di antara tahun 1900 hingga
2000 (inklusif)?
A. 4
B. 5
C. 6
D. 7
E. 8

Deskripsi soal berikut digunakan untuk menjawab soal nomor 28, 29, dan 30
Di SMA Negeri 1 Bebek, Abil sedang belajar mengenai bilangan prima-er. Prima-er merupakan cara untuk
merepresentasikan bilangan desimal dengan urutan dan penjumlahan bilangan prima, dengan 1 sebagai bilangan
prima ke-0. Sebagai contoh, prima- er dari 20 adalah 08 (bilangan prima ke 8 adalah 19, bilangan prima ke 0
adalah 1, 19+1 =
20), dan prima-er dari 27 adalah 029 (bilangan prima ke 0 adalah 1, prima ke 2 adalah 3 dan prima ke 9 adalah
23, 1+3+23 = 27). Perhatikan bahwa suatu bilangan mungkin memiliki lebih daripada 1 representasi prima-er
(20 juga dapat direpresentasikan sebagai 46 dan 27), dan satu prima-er juga dapat merepresentasikan lebih dari
satu bilangan (012 dapat merepresentasikan 6 dan 38).

78. Apakah representasi prima-er terpendek dari bilangan 34?


A. 59
B. 95
C. 144
D. 1210
E. 1012
79. Ada berapakah representasi prima-er dari bilangan 40?
A. 16
B. 17
C. 18
D. 19
E. 20

80. Ada berapakah bilangan yang dapat direpresentasikan oleh 127821?


A. 5
B. 6
C. 7
D. 8
E. 9
BAGIAN B: ALGORITMIKA (20 SOAL)

[Peringatan: Seluruh penulisan notasi algoritma menggunakan Pseudopascal]

81. Perhatikan fungsi di bawah ini.


function wow(x:integer):integer;
begin
if (x < 2) then wow := x
else wow := wow(x-2) + 3*wow(x-1);
end;
Apa yang akan dikembalikan pada pemanggilan fungsi wow(8)?
A. 3620
B. 3760
C. 3824
D. 3927
E. 4126

Perhatikan fungsi-fungsi berikut untuk soal nomor 32 dan 33.


function mangga(rambutan : integer) : integer;
begin
if (rambutan = 1) then mangga := 1 else
if (rambutan mod 2 = 1) then mangga := mangga(3 * rambutan + 1)
else mangga := mangga(rambutan div 2);
end;

function jeruk(anggur, melon : integer) : integer;


begin
if (melon = 1) then jeruk := 0 else
jeruk := mangga(anggur) * anggur + jeruk(anggur, melon - 1);
end;

82. Berapakah hasil pemanggilan fungsi mangga(49)?


A. 1
B. 7
C. 14
D. 21
E. 49

83. Berapakah hasil pemanggilan fungsi jeruk(25,


20)? A. 425
B. 450
C. 475
D. 500
E. 525
Perhatikan kedua fungsi berikut untuk soal nomor 34 dan 35.
function f(a : integer):integer;
begin
if a=0 then
f:= 1
else
f:= 2*f(a-1);
end;

function g(b: integer):integer;


begin
if b=0 then
g:= f(b)
else
g:= f(b) + g(b-1);
end;

84. Jika fungsi f(3) dipanggil maka nilai yang dihasilkan adalah.....
A. 1
B. 3
C. 4
D. 15
E. 16

85. Jika fungsi f(10) dipanggil maka nilai yang dihasilkan adalah.......
A. 1
B. 9
C. 10
D. 1023
E. 1024

Perhatikan fungsi berikut untuk soal nomor 36 dan 37.


function bincin (a:integer):string;
var
b:integer;
str:string;
begin
if a=0 then
bincin:=''
else
begin
b:=a mod 4;
if (b=0) then str:='0'
else str:='1';
bincin:=bincin (a div 2)+str;
end;
end;
86. Nilai yang dihasilkan ketika fungsi bincin(73) dipanggil
adalah … A. 1001001
B. 1101101
C. 1010101
D. 1011011
E. 1101001

87. Jika b:=a mod 4 diganti menjadi b:=a mod 3 dan bincin:=bincin (a div
2)+str diganti menjadi bincin:=bincin (a div 3)+str maka nilai yang
dihasilkan ketika fungsi bincin (73) dipanggil adalah …
A. 1001
B. 1011
C. 1100
D. 1101
E. 1110

Perhatikan kumpulan fungsi dari potongan program berikut untuk soal nomor 38 dan 39.
function sapi(kucing: integer): integer;
begin
if (kucing <= 2 ) then
sapi:= 1
else
sapi:= sapi(kucing div 2)+1;
end;

function ayam(rumput: integer): integer;


begin
if (rumput < 1024) then
ayam:= ayam(rumput*2) + sapi(rumput)
else
ayam:= 0;
end;

function rumput(batu: integer): integer;


var a, c:integer;
begin
a:=2;
c:=1;
while (batu > 0) do
begin
if ((batu mod 2) = 1) then
c:=c*a;
batu:= batu div 2;
a:= a*a;
end;
rumput:=c;
end;
88. Berapakah nilai dari ayam(rumput(9))?
A. 19
B. 10
C. 9
D. 8
E. 7

89. Berapakah nilai dari ayam(rumput(2))?


A. 44
B. 42
C. 8
D. 2
E. 1

90. Perhatikan potongan program berikut.


var
am, ra : integer;
begin
am:=500;
ra:=100;
repeat
ra:=ra+1;
am:=am-ra;
until am>ra; writeln(am,'
dan ',ra);
end.
Apakah output dari program di atas?:
A. 90 dan 104
B. 90 dan 105
C. 194 dan 103
D. 297 dan 102
E. 399 dan 101

91. Perhatikan potongan program berikut .


1 var data : array[1..10] of integer = (3,9,2,6,1,4,7,8,5,10);
2 procedure piring(n : integer);
3 begin
4 if (n<=10) then
5 begin
6 piring(n*2);
7 piring(n*2+1);
8 write(data[n],’ ’);
9 end;
10 end;
Jika statement pada baris ke 8 yaitu “write(data[n],’ ‘)” dipindahkan pada sebelum statement
baris ke 6, maka untuk menghasilkan output yang terurut menaik setelah pemanggilan piring(1) adalah
....
A. (3,9,2,6,1,4,7,8,5,10)
B. (1,2,8,3,6,9,10,4,5,7)
C. (10,6,9,3,5,7,8,1,2,4)
D. (7,4,2,1,3,6,5,9,8,10)
E. (1,2,3,4,5,6,7,8,9,10)

Perhatikan potongan program berikut untuk soal nomor 42 dan 43


procedure callfoo(var a : integer; b : integer);
var p,q : integer;
begin
if (b <= 2) then
a := 1
else begin
callfoo(p,b-1);
callfoo(q,b-2);
a := p + q;
end;
end;

var x,y : integer;


begin
x := …; y := … ; {inisialisasi}
callfoo(x,y);
writeln(x);
end.

92. Apakah output program jika inisialisasi x := 0; y := 5; ?


A. 5
B. 10
C. 15
D. 20
E. 25

93. Apakah output program jika inisialisasi x := 0; y := 12; ?


A. 12
B. 24
C. 48
D. 72
E. 144
Perhatikan fungsi dan potongan program sebagai berikut untuk soal nomor 44 dan 45
var input : string;
procedure ubah(s:string)
var i,j:integer;
begin
for i:=1 to length(s)-1 do
begin
s[i] := chr((((ord(s[i])-65) + (ord(s[i+1]) - 65)) mod 26) + 65);
end;
writeln(s);
end;

begin
ubah(input);
end.
Catatan:
Fungsi ord(cc: char) menghasilkan nilai kode ASCII karakter CC;
Fungsi chr (K: integer) menghasilkan karakter yang kode ASCII-nya adalah K.
Potongan tabel konversi kode ASCII dari karakter ‘A’ s.d. ‘Z’ diberikan sebagai berikut:
ord(‘A’) = 65
ord(‘B’) = 66
ord(‘C’) = 67
….
… dst
ord(‘X’) =
88
ord(‘Y’) = 89
ord(‘Z’) = 90

94. Apabila variabel input berisi nilai ‘TOKIABSOLUTEWINNERIOI’, apakah output yang
dihasilkan oleh program di atas?
A. HYSIBTGZFNXAEVARVZWWI
B. IZTJCUHAGOYBFWBSWAXXJ
C. HYAIBTBZFNXCEVARVZWWI
D. IZTJCUHAGOYBFWBSWAXXJ
E. HZAJIUBAFOXBEWRSZAWXI

95. Apabila program di atas mengeluarkan output ‘RIPTQHDLTMQMSS’, nilai variabel


input sebelum program dijalankan adalah .....
A. GOGETGOLDMEDAL
B. RAIHMEDALIEMAS
C. HYAIBTBZFNXCEVA
D. OSNINFORMATIKA
E. SUKSESSEMUANYA
Perhatikan fungsi sebagai berikut untuk soal nomor 46 dan 47
function pingpong(x : integer) : integer;
var ping, pong, tenis, meja : integer;
begin
meja := 0;
for ping := 1 to x do begin
for pong := 1 to ping do begin
for tenis := ping downto pong do begin
meja := meja + tenis;
end;
end;
end;
pingpong := tenis + meja;
end;

96. Berapakah hasil pemanggilan fungsi pingpong(3)?


A. 15
B. 17
C. 19
D. 21
E. 23

97. Berapakah nilai x minimal agar pingpong(x) bernilai lebih besar atau sama dengan 200?
A. 9
B. 8
C. 7
D. 6
E. 5

Perhatikan potongan program berikut untuk soal nomor 49 dan 50.


function yolo(x,y:integer):integer;
begin
if (y = 0) then yolo:=x
else yolo:= yolo(y,x mod y)*yolo(y mod x, x mod y)*y;
end;

begin
writeln(yolo(19,5));
end.

98. Berapakah keluaran program di atas?


A. 80
B. 0
C. 125
D. 720
E. 19
99. Bila fungsi yolo(9,y) dipanggil dan fungsi tersebut mengembalikan nilai 4, maka
berapakah nilai y?
A. 1
B. 2
C. 3
D. 4
E. 5

100. Perhatikan potongan program berikut, dan str(v:integer) mengembalikan v dalam


type string
var hasil:string; bil,a:integer;
procedure terjemahan (x:integer, var y:integer)
begin
if (x<=y) then
begin
terjemahan(x*3,y);
hasil:=str(y div x)+hasil;
y:=y mod x;
end;
end;

begin
hasil:=’’; {strinng kosong}
terjemahan(a,bil);
writeln(hasil);
end.

Apabila nilai a adalah 1 dan nilai bil adalah 80, apakah output program di atas apabila prosedur
terjemahan dijalankan?
A. 1111
B. 2222
C. 1212
D. 1221
E. 2121
BANK SOAL TERLENGKAP
download from: p4kguru.blogspot.com

Jawaban soa l OSK 2014


Jawaban Soa l OSK 2014
B i dang I n f o r ma t i ka / Kompu
ter
3. B . B
4. D 27 . C
3. B 28 . A
26
4. A 29 . B
5. E 30 . C
6. D 31 . D
7. E 32 . A
8. B 33 . C
9. C 34 . D
10 . C 35 . D
11 . E 36 . B
12 . C 37 . D
13 . E 38 . C
14 . C 39 . A
15 . C 40 . E
16 . E 41 . B
17 . E 42 . A
18 . C 43 . E
19 . A 44 . A
20 . E 45 . B
21 . C 46 . E
22 . B 47 . D
23 . A 48 . A
24 . B 49 . D
25 . D 50 . B
1. Berapakah banyaknya bilangan prima antara 1 sampai dengan 100 (inklusif)?
a. 15
b. 20
c. 25
d. 30
e. 35

2. Berapa banyaknya bilangan kubik (pangkat 3 dari bilangan bulat positif) antara 2 sampai dengan
1001 (inklusif)?
a. 7
b. 8
c. 9
d. 10
e. 11

3. Berapakah hasil 272016 mod 26?


a. 1
b. 2
c. 3
d. 4
e. 5

4. (2m + 5) mod n = 6
Berapakah nilai m yang mungkin jika n bernilai 999983?
a. 200004
b. 499992
c. 499993
d. 499991
e. 499990

5. Berapa banyak string 10 bit yang banyaknya bit 1 string tersebut sama dengan banyaknya bit 0?
Catatan: bit adalah digit bilangan biner (0 dan 1).
a. 126
b. 252
c. 504
d. 512
e. 120

6. Terdapat 4 bilangan bulat x1, x2, x3, dan x4. Jika x1 + 3 ≤ x2, x2 ≤ x3, x3 + 5 ≤ x4, 1 ≤ x1, x2, x3, x4 ≤ 40,
maka banyaknya kemungkinan x1, x2, x3, dan x4 yang berbeda adalah:
a. 1256640
b. 628320
c. 52360
d. 26180
e. 169080
7. Dalam sebuah angka yang terdiri dari 6 digit, berapakah banyak bilangan yang semua digitnya
berbeda dan harus menaik? (digit pertama tidak boleh nol)
a. 84
b. 504
c. 210
d. 5040
e. 720

8. Sebuah kunci kombinasi terdiri dari 7 angka. Setiap angka dapat bernilai 0 -‐ 9. Angka terakhir selalu
lebih besar dari angka-‐angka sebelumnya. Angka pada setiap digit selalu berbeda dengan angka
pada digit yang lain. Ada berapa kemungkinan berbeda kombinasi 7 angka tersebut?
a. 86400
b. 86040
c. 85860
d. 85680
e. 15200

9. Terdapat 2 bilangan, yaitu 720000 dan 262144. Berapa banyak bilangan berbeda yang membagi
habis kedua bilangan tersebut?
a. 7
b. 8
c. 30
d. 31
e. 23

10. Pak Dengklek akan membeli sejumlah permen untuk dibagikan pada tamunya yang datang di pesta ulang
tahunnya. Dia mengetahui akan ada paling banyak 8 tamu yang datang. Karena Pak Dengklek adil, Pak
Dengklek akan membagi rata permen itu kepada tamu-‐tamu tersebut. Jika semua tamu datang
akan tersisa 6 permen. Jika 1 tamu tidak datang, akan tersisa 5 permen. Jika 3 tamu tidak datang, akan
tersisa 2 permen. Bantulah Pak Dengklek untuk menentukan banyaknya permen paling sedikit yang
harus dibeli.
a. 168
b. 504
c. 202
d. 222
e. 102

11. Ali, Lia, dan Budi senang mengikuti kompetisi pemrograman. Karena mereka tidak suka bersaing,
mereka mengikuti kompetisi pemrograman yang berbeda. Ali mengikuti kompetisi yang berlangsung
7 hari sekali, Lia mengikuti kompetisi yang berlangsung 3 hari sekali, dan Budi mengikuti kompetisi
yang berlangsung 5 hari sekali. Pada minggu ini, Ali mengikuti kompetisi di hari Senin, Lia
mengikuti di hari Selasa, dan Budi mengikuti di hari Kamis. Tapi karena mereka berkompetisi pada
hari yang tidak sama, mereka merasa kesepian dan mereka menunggu-‐nunggu satu hari terdekat
dimana mereka bisa berkompetisi pada hari yang sama. Di hari apakah itu?
a. Senin
b. Selasa
c. Rabu
d. Kamis
e. Jumat
12. Manakah nilai-‐nilai A, B, C, D, E yang dapat memenuhi pernyataa n (A and B and C and D) or not E
bernilai false?
a. A = true, B = true, C = true, D = true, E = true
b. A = false, B = false, C = false, D = false, E = false
c. A = true, B = false, C = true, D = false, E = true
d. A = false, B = true, C = false, D = true, E = false
e. A = true, B = true, C = true, D = true, E = false

13. A adalah suatu himpunan bilangan prima.


B adalah suatu himpunan bilangan yang jika dibagi dengan 7, memiliki sisa bagi 3.
C adalah suatu himpunan yang merupakan hasil irisan himpunan A dan himpunan B Berapakah
banyak bilangan antara 1 sampai dengan 100 yang menjadi anggota himpunan C?
a. 4
b. 5
c. 6
d. 7
e. 8

14. Berapa banyak bilangan antara 100 sampai dengan 1000 (inklusif) yang habis dibagi 3 atau habis
dibagi 5, tetapi tidak habis dibagi 9?
a. 321
b. 421
c. 221
d. 323
e. 423

15. Operasi "SWAPBIT" adalah operasi untuk menukar 2 buah bit yang bersebelahan dalam suatu
bilangan biner. Misalkan 0110 dapat diubah dengan 1 SWAPBIT menjadi 1010 atau 0101. Berapa
banyak operasi SWAPBIT paling sedikit yang diperlukan agar membuat bilangan biner 100101010
menjadi bernilai minimum?
a. 5
b. 7
c. 8
d. 10
e. 11

16. Ido berulang tahun ke-‐20 pada hari Kamis, 13 Oktober 2016. Pada hari apakah Ido lahir?

a. Senin
b. Rabu
c. Jumat
d. Sabtu
e. Minggu

17. Pada sebuah jam analog terdapat jarum panjang dan jarum pendek. Di antara pukul 3 dan pukul 4,
pada pukul berapakah sudut yang dibentuk jarum pendek dan jarum panjang berharga maksimum
(dibulatkan ke menit terdekat)? Catatan: penghitungan sudut jarum pendek dan jarum panjang pada
sebuah jam menggunakan sudut yang lebih kecil.

a. 3 lebih 45 menit
b. 3 lebih 46 menit
c. 3 lebih 47 menit
d. 3 lebih 48 menit
e. 3 lebih 49 menit

18. Nilai rata-‐rata suatu kelas pada ujian pelajaran pemrograman adalah 74. Ternyata ada tambahan
satu orang lagi yang mengikuti ujian susulan, sehingga nilai rata-‐rata itu menjadi lebih besar
dari
75. Jika nilai ujian susulan tersebut adalah 95, ada berapa siswa paling banyak di kelas tersebut
(termasuk satu siswa yang mengikuti ujian susulan)?

a. 19
b. 20
c. 21
d. 22
e. 23

19. Pak Dengklek memiliki mata uang dollar dengan lembar pecahan 100, 50, 20, dan 10 yang bernilai
keseluruhan sebesar 10290 dollar. Berapa banyak lembar pecahan minimal yang dimiliki Pak
Dengklek?
a. 102
b. 104
c. 105
d. 106
e. 111

20. Jika A ³ B, B ³ C, dan C £ D, manakah pernyataan yang pasti benar?

a. A³D
b. A³C
c. B³D
d. B£D
e. C merupakan bilangan terbesar dari 4 bilangan tersebut
Bagian B: Analitika (20 soal, nomor 21 sd 40)

21. Jehan mempunyai tugas beternak amuba. Menurut informasi gurunya, jenis amuba ini akan melahirkan 1
amuba baru per menit setelah menit ke-‐4 sejak dilahirkan. jenis amuba ini akan melahirkan
satu amuba baru. Mula-‐mula gurunya memberikan 6 amuba yang baru dilahirkan dan
menginstruksikan Jehan untuk mengamati pertumbuhan amuba per menit selama 1 jam sejak 6 amuba
itu diberikan. Perkembangan amuba seterusnya diilustrasikan pada gambar berikut ini.

Menit 1 : 6

Menit 2 : 6

Menit 3 : 6

Menit 4 : 6

Menit 5 : 12

Menit 6 : 18

Menit 7 : 24

Menit 8 : 30

Menit 9 : 42

Menit 10 : 60

Berapakah jumlah amuba pada menit ke-‐60 sejak 6 amuba pertama mulai hidup jika tidak ada amuba yang
mati?
a. 595038720
b. 595038722
c. 595038725
d. 595038726
e. 595038728

Dua soal berikut saling berkaitan.

22. Rina sedang bermain dengan string (deretan) huruf. Aturan permainannya adalah sebagai berikut.
Pada satu kali permainan pemain memilih sebuah string. Selanjutnya setiap huruf akan diganti
dengan string tertentu, misalnya setiap huruf A diganti dengan “AB” dan setiap huruf B diganti
dengan “A”. Jika permainan dilakukan lebih dari satu kali, pergantian dilakukan pada hasil
sebelumnya menggunakan aturan pergantian yang sama. Misalkan Rina memilih string "BAABA"
dan bermain 1 kali, maka string itu akan berubah menjadi "AABABAAB". Jika bermain 2 kali,
maka string itu akan berubah menjadi "ABABAABAABABA".
Dengan peraturan A diganti dengan “AB” dan B diganti dengan “A”, berapa panjang string hasil setelah
dilakukan 10 kali permainan dengan string awal adalah “A”?
a. 90
b. 55
c. 144
d. 89
e. 88

23. Rina melakukan permainan yang sama dengan soal sebelumnya dan dia menemukan secarik kertas
di meja bertuliskan "ABABBBABABBBBBBBBBABABBBABA". Dia ingat bahwa itu adalah
string hasil permainan yang pernah dilakukannya dengan string awal dan peraturan yang berbeda
(seperti soal sebelumnya). Tapi dia lupa string awalnya apa dan peraturannya apa, yang hanya dia
ingat adalah dia melakukan permainan sebanyak 3 kali. Rina meminta kalian mencari string awal
dan peraturan penggantian untuk menghasilkan string yang ditemukan di meja tersebut!
a. string awal: “B”, peraturan: (A diganti dengan “AAA”, B diganti dengan “BAB”)
b. string awal: “ABA”, peraturan: (A diganti dengan “BAB”, B diganti dengan “ABA”)
c. string awal: “BA”, peraturan: (A diganti dengan “BA”, B diganti dengan “AB”)
d. string awal: “AB”, peraturan: (A diganti dengan “BA”, B diganti dengan “AB”)
e. string awal: “A”, peraturan: (A diganti dengan “ABA”, B diganti dengan “BBB”)

24. Anthony ingin bermain sulap. Dia memiliki 10 kandang burung dengan kapasitas maksimal masing-‐
masing 5 burung. Dia menyediakan beberapa burung dan meminta seorang penonton memasukkan
semua burung tersebut ke dalam kandang-‐kandang tanpa dilihat oleh Anthony.
Berapakah burung yang harus disediakan Anthony supaya dia bisa dengan pasti mengatakan
dengan yakin bahwa "Setidaknya pasti ada 3 kandang yang berisi 2 burung!"?
a. 8
b. 13
c. 14
d. 19
e. 20

Deskripsi berikut ini adalah untuk 3 soal selanjutnya

Di Kota TOKI terdapat tempat yang berbentuk segi-‐7 beraturan. Masing-‐masing titik pada segi-‐7 tersebut
harus diwarnai salah satu dari 7 warna yaitu: merah, jingga, kuning, hijau, biru, nila, dan ungu. Pemberian
warnanya mengikuti aturan sebagai berikut :
● kuning tidak boleh bersebelahan dengan hijau.
● biru harus berada 3 titik disebelah kiri nila.
● hijau harus berada tepat disebelah merah (boleh sebelah kiri
maupun sebelah kanan).
● jingga tidak boleh ditempatkan bersebelahan dengan biru maupun
nila.
● ungu harus berada 3 titik dari biru.
● merah harus berada pada 2 titik dari ungu.

25. Manakah yang benar dari pernyataan berikut?


a. Ungu dan Nila berjarak sebanyak 3 titik.
b. Jingga dan merah berjarak sebanyak 3 titik
c. Hijau dan Kuning berjarak sebanyak 3 titik
d. Ungu dan Nila berjarak sebanyak 2 titik.
e. Kuning dan Merah berjarak sebanyak 2 titik.
26. Warna apakah yang berada tepat sebelah kiri jingga?
a. merah
b. hijau
c. biru
d. ungu
e. kuning

27. Apabila pernyataan "merah harus berada pada 2 titik dari ungu" dihapus, warna apa saja yang
mungkin berada tepat sebelah kiri nila?
a. Merah atau Biru
b. Biru atau Hijau
c. Hijau Saja
d. Merah Saja
e. Merah atau Hijau

28. Ali, Badu dan Cica adalah tiga bersaudara (tidak kembar) dan Ali adalah yang tertua dan Cica adalah
yang termuda. Hasil kali umur-‐umur mereka adalah 135. Ketiga orang tersebut belum berumur 10
tahun. Berapakah hasil perkalian umur Ali dan Badu?
a. 9
b. 5
c. 45
d. 15
e. 27

Berikut ini adalah untuk soal 3 soal selanjutnya

Pada suatu ketika di kebun Pak Dengklek sedang berkumpul berbagai macam binatang. Binatang tersebut ada
yang berkaki satu, ada yang berkaki tiga, dan ada yang berkaki lima. Diketahui bahwa jumlah seluruh
binatang adalah 52 ekor, jumlah seluruh kaki dari binatang berkaki satu dan tiga adalah 88, dan jumlah
seluruh kaki dari binatang berkaki tiga dan lima adalah 106.

29. Berapakah jumlah seluruh kaki yang


ada? a. 160
b. 128
c. 138
d. 140
e. 156

30. Berapa banyaknya binatang berkaki satu?


a. 20
b. 22
c. 30
d. 32
e. 40

31. Berapa banyaknya binatang berkaki lima?


a. 8
b. 10
c. 18
d. 20
e. 22
Berikut ini adalah untuk nomor 3 soal selanjutnya

Sebuah keluarga besar, terdiri dari 9 orang: A, B, C, D, E, F, G, H, I. Diketahui beberapa fakta sebagai
berikut:

● A adalah ayah dari E


● E adalah bibi dari D
● I adalah keponakan dari F
● H adalah nenek dari G dan ibu dari E.
● B adalah paman dari G dan suami C.
● A, H, E, dan F, sudah menikah, dan pasangannya merupakan salah satu dari 9 anggota keluarga
tersebut (pasangan merupakan suami istri).

32. Siapakah Istri A?


a. B
b. I
c. H
d. F
e. G

33. Siapa yang dapat dipastikan adalah seorang perempuan?


a. F
b. G
c. C
d. D
e. I

34. Siapa yang merupakan anak tunggal?


a. G
b. E
c. D
d. C
e. I

35. Suami dari E adalah ...


a. A
b. B
c. C
d. F
e. H
36. Terdapat 5 katak A, B, C, D, dan E yang masing-‐masing berusia berturut-‐turut 7 minggu, 8 minggu, 9
minggu, 10 minggu, dan 11 minggu.

Mereka akan melompat dari suatu daun teratai ke daun teratai lainnya. Mereka telah meletakkan beberapa
panah diantara daun, dan mereka semua memulai pada sisi kiri seperti pada gambar. Ketika seseorang
melompat ke suatu daun, dia menunggu sampai ada katak lain yang datang ke daun tersebut. Kemudian
diantara dua katak pada daun tersebut, katak yang lebih tua akan melompat ke katak lain mengikuti panah
yang tebal, sedangkan yang lebih muda mengikuti panah yang tipis. Bagaimanakah posisi akhir mereka
pada sisi kanan dari gambar di atas (dari paling atas)?
a. B–C–D–A–E
b. B–D–C–A–E
c. B–D–C–E–A
d. B–C–D–E–A
e. A–B–C–D–E

37. Bu Dengklek sedang ingin mempersiapkan dua makanan, dan kedua makanan tersebut terbuat dari 4
bahan yang sama yaitu daging, tomat, ikan dan wortel.

Pertama, Bu Dengklek harus memasak ikan dan wortel secara bersamaan dan membutuhkan waktu 5 menit
(S1). Kemudian Bu Dengklek memasak daging dan tomat bersamaan dan membutuhkan waktu 5 menit (S2).
Kemudian hasil dari daging dan tomat tersebut dibagi menjadi tiga bagian (S9, S5, S4). Untuk proses S4, Bu
Dengklek menggabungkan hasil dari S2 dan S1 dan memprosesnya selama 5 menit. Begitu seterusnya sampai
makanannya jadi, dan setiap proses itu membutuhkan waktu 5 menit.
Tentulah bisa saja dua proses berjalan bersamaan, dan waktu total untuk menyelesaikan kedua makanan itu
menjadi lebih singkat. Berapakah waktu minimum yang diperlukan Bu Dengklek untuk menyelesaikan
masakannya?
a. 20 menit
b. 15 menit
c. 30 menit
d. 25 menit
e. 55 menit

38. Pak Dengklek ingin membawa belanjaannya dari pasar ke rumahnya hanya melalui suatu jaringan
jalan tol. Pada setiap ruas jalan tol ia harus membayar sejumlah uang yang ditunjukkan dengan angka-‐
angka pada gambar berikut.

Ia ingin memilih lintasan dengan biaya yang paling minimum. Berapa biaya minimum yang harus
disediakan Pak Dengklek untuk sampai ke rumahnya?
a. 17
b. 18
c. 19
d. 20
e. 21

Perhatikan potongan kode sebagai berikut untuk 2 soal selanjutnya

Terdapat suatu permainan Grid berbentuk petak-‐petak yang tersusun 3x3 yang dilengkapi dengan 4
tombol, dengan bentuk seperti seperti pada Gambar 1. Jika sebuah tombol ditekan, angka-‐angka pada
keempat petak di sekelilingnya akan berputar searah jarum jam. Susunan pada Grid 1 akan ditulis per baris
sebagai berikut 1-‐4-‐5;7-‐3-‐2;8-‐9-‐6.

Grid 1

Contoh: diberikan susunan semula seperti pada Grid 2, jika tombol A ditekan maka agka-‐angka pada petak
menjadi seperti pada Grid 3.
Grid 2 Grid 3

39. Jika dari susunan pada Grid 1, kemudian dilakukan penekanan tombol A dua kali dan kemudian
tombol C satu kali, maka susunannya akan menjadi (urutan ditulis dari kiri ke kanan
a. 3-‐7-‐5;4-‐6-‐9;8-‐2-‐1
b. 3-‐7-‐5;4-‐9-‐1;8-‐6-‐2
c. 4-‐1-‐3;5-‐2-‐6;7-‐8-‐9
d. 1-‐2-‐3;4-‐5-‐6;7-‐8-‐9
e. 1-‐2-‐3;4-‐9-‐8;7-‐6-‐5

40. Berapa penekanan tombol minimal (tombol apa saja) yang diperlukan untuk menyusun susunan angka
pada Grid 2 menjadi susunan pada Grid 1 di atas?
a. 3
b. 4
c. 5
d. 6
e. 7
Bagian C: Algoritmika (10 soal, nomor 41 sd 50)

Perhatikan algoritma berikut ini :


var
arr : array[1..30] of longint = ( 5, 5, 7, 8, 6, 8, 5, 8, 4, 6, 6, 3, 4,
2, 8, 0, 9, 2, 3, 4, 7, 8, 5, 4, 5, 3, 9, 8, 0, 3 );
i, c : longint;
begin
c := 0;
for i:=1 to length(arr) do begin
inc(c, arr[i]);
end;
writeln((c/length(arr)):0:2);
end.

41. Apa keluaran program diatas?


a. 3.17
b. 4.17
c. 5.17
d. 6.17
e. 7.17

Perhatikan potongan kode berikut untuk 2 soal selanjutnya


var
i, n, c : longint;
begin
readln(n);
c := 0;
for i := 1 to n do begin
inc(c, i);
end;
writeln(c);
end.

42. Apakah output program di atas apabila masukan n bernilai 10?


a. 10
b. 45
c. 55
d. 65
e. 76

43. Apakah output program di atas apabila masukan n bernilai 1000?


a. 1000
b. 5500
c. 5550
d. 505000
e. 500500
Perhatikan potongan kode sebagai berikut:
var
i, j, n, r, c, d : longint;
begin
readln(n, r);
c := 0;
for i := 1 to n do begin
d := 1;
for j := 1 to i do begin
d := d * r;
end;
inc(c, d);
end;
writeln(c);
end.

44. Jika diberi input 20 2, maka outputnya adalah?


a. 1048576
b. 2097152
c. 1048575
d. 2097150
e. 2097151

Perhatikan potongan kode sebagai berikut:


function tis(a : integer) : longint;
begin
if(a < 10) then tis := a
else tis := tis(a div 10) * 3 + tis(a div 50);
end;

45. Berapakah hasil dari pemanggilan fungsi tis(143)?


a. 8
b. 9
c. 10
d. 11
e. 12

Perhatikan potongan kode berikut:


const
MAXS = 10;
var
i, n : integer;
A : array[1..10] of integer;

procedure klik();
begin
dec(i);
end;

function klek(x : integer) : integer;


begin
if(x = MAXS) then klek := A[x] * A[1]
else klek := A[x] * A[x+1];
end;
function klok() : integer;
var
tmp : integer;
begin
if(i = 0) then klok := i
else begin
tmp := i;
klik();
klok := klok() + klek(tmp);
end;
end;

begin
A[1] := 1; A[2] := 2; A[3] := 3; A[4] := 4; A[5] := 5;
A[6] := 6; A[10] := 11; A[9] := 9; A[7] := 8; A[8]:=7;
read(n);
i := n;
writeln(klok());
end.

46. Apakah output program di atas jika diberi input


8? a. 240
b. 235
c. 237
d. 330
e. 327

Perhatikan potongan kode sebagai berikut untuk 2 soal selanjutnya


a := 13; b := 1;
while(a < n) do
begin
a := a + b;
b := b + 1;
end;
writeln(a, ' ', b);

47. Dari pilihan berikut ini, berapakah nilai n yang TIDAK membuat nilai a di akhir adalah 79?
a. 68
b. 69
c. 70
d. 71
e. 72

48. Berapakah nilai n maksimum yang membuat nilai b di akhir bernilai


15? a. 134
b. 133
c. 119
d. 118
e. 117
Perhatikan potongan kode sebagai berikut untuk 2 soal selanjutnya
function naon(x,y : longint) : longint;
begin
if y = 0 then naon := 1
else if y = 1 then naon := x
else naon := naon(x, y div 2) * naon(x, y div 2 ) * naon(x, y mod 2);
end;

49. Berapakah hasil dari naon(3, 8)?


a. 11
b. 24
c. 6561
d. 512
e. 81

50. Berapa kalikah fungsi naon dipanggil pada pemanggilan naon(4, 13)?
a. 13
b. 15
c. 20
d. 21
e. 22

~ lembar soal terakhir ~


Informasi referensi terkait Olimpiade bidang Informatika/Komputer:
● Situs Tim Olimpiade Komputer Indonesia (TOKI) yang berisi informasi umum tentang
olimpiade komputer (kompetisi pemrograman). Link situsnya: http://toki.or.id

● Group Olimpiade Informatika Indonesia di facebook yang dimanfaatkan sebagai forum diskusi
latihan untuk kompetisi pemrograman. Link situsnya:
https://www.facebook.com/groups/olimpinfo

● TOKI Learning Center (TLC) merupakan situs untuk belajar dan berlatih mengerjakan soal-‐soal
pemrograman. Soal-‐soal yang ada di situs ini dikumpulkan dari kegiatan-‐kegiatan yang dilaksanakan
oleh Tim Olimpiade Komputer Indonesia (TOKI). Link situsnya: http://www.tokilearning.org/lx

~ halaman ini boleh dilepas dan dibawa pulang ~

Soal OSK 2016 Bidang Informatika/Komputer Hal 19 dari 19 halaman

Hak Cipta
KUNCI JAWABAN

OSK 2016 -‐ BIDANG INFORMATIKA/KOMPUTER

C D
D 27. E
A 28. C
B 29. C
B 30. B
C 31. B
A 32. C
A 33. C
B 34. A
D 35. D
A 36. A
C 37. D
B 38. C
A 39. B
E 40. B
E 41. C
E 42. C
A 43. E
C 44. D
B 45. D
A 46. C
C 47. A
E 48. D
D 49. C
B 50. E
26.
BANK SOAL TERLENGKAP
download from: p4kguru.blogspot.com

1. Berapakah banyaknya bilangan antara 1-1000, inklusif, dimana perkalian digit-digitnya merupakan
bilangan positif kelipatan 10?
a. 157
b. 156
c. 155
d. 154
e. 153

2. Jika diketahui A, B, C dan D adalah bilangan bulat dan memenuhi:


A.B + C + D = 3
B.C + A + D = 5
C.D + A + B = 2
D.A + B + C = 6
Berapakah nilai A yang dimaksud?
a. 0
b. 1
c. 2
d. 3
e. 5
3. Terdapat sebuah daftar yang memuat 2017 pernyataan sebagai berikut:
Pernyataan nomor 1: “Terdapat tepat 1 pernyataan dalam daftar ini yang salah.” Pernyataan nomor
2: “Terdapat tepat 2 pernyataan dalam daftar ini yang salah.” Pernyataan nomor 3: Terdapat tepat 3
pernyataan dalam daftar ini yang salah.”
...
Pernyataan nomor 2017: “Terdapat tepat 2017 pernyataan dalam daftar ini yang salah. “
Pernyataan nomor berapakah yang benar jika ternyata hanya ada satu yang benar?
a. 2004
b. 2008
c. 2016
d. 2017
e. Jawaban a, b, c, d salah

4. Berapa banyak cara berbeda untuk mengisi lantai sebuah ruangan berukuran 2x8 dengan menggunakan
ubin berukuran 2x1, jika harus terdapat tepat 2 ubin yang dipasang secara vertical?
a. 7
b. 8
c. 9
d. 10
e. 11
5. Sebuah brankas dilengkapi dengan kunci kombinasi 4 dijit. Masing-masing dijit memiliki 2
kemungkinan nilai, yaitu 0 dan 1. Ternyata, diketahui diantara 4 dijit itu, hanya 2 dijit yang berfungsi
untuk mengunci brankas tersebut. Berapakah banyak percobaan minimal untuk dapat membuka brankas
tersebut?
a. 3
b. 6
c. 12
d. 18
Hak Soal OSK 2017 Bidang Hal 4 dari 17 halaman
Hak Cipta
Cipta
Dilindungi Undang- Informatika/Komputer
undang
BANK SOAL TERLENGKAP
download from: p4kguru.blogspot.com
e. 24

Hak Cipta Informatika/Komputer Hal 5 dari 17 halaman


undang
6. Adi dan Budi adalah murid dari sebuah kelas yang terdiri dari 40 siswa. Dari kelas tersebut akan dipilih
20 orang siswa sebagai wakil kelas. Wakil kelas dipilih dengan cara membagi 40 orang siswa menjadi
20 grup. Tiap grup melempar sebuah koin untuk menentukan siapa yang akan mewakili kelas tersebut.
Jika peluang Adi dan Budi terpilih untuk mewakili kelas tersebut adalah , dimana dan saling prima,
berapakah + ?
a. 91
b. 93
c. 95
d. 97
e. 99
7. Berapakah 22016 * 32017 / 61000 mod 10?
a. 0
b. 2
c. 4
d. 6
e. 8
8. Terdapat 6 buah pekerjaan, A, B, C, D, E, dan F. Pekerjaan ini harus dikerjakan dengan mengikuti
aturan sebagai berikut:
 Pekerjaan F harus dikerjakan sebelum pekerjaan A
 Pekerjaan B harus dikerjakan sebelum pekerjaan D
 Pekerjaan E dapat dikerjakan jika pekerjaan B sudah dikerjakan
 Sebelum mengerjakan pekerjaan B, pekerjaan C harus sudah dilakukan
 Pekerjaan A harus dikerjakan sebelum pekerjaan B
Salah satu urutan pengerjaan pekerjaan yang dapat dilakukan adalah…
a. D, B, F, C, A, E
b. C, F, A, D, B, E
c. C, B, F, A, E, D
d. F, C, A, D, B, E
e. F, A, C, B, E, D
9. String biner adalah deretan karakter yang setiap karakternya adalah ‘0’ atau ‘1’. Substring dari suatu
string adalah potongan dari string itu atau string itu sendiri. Berapa banyak string biner dengan panjang
9 yang tidak berisi substring ‘100’?
a. 113
b. 143
c. 168
d. 232
e. 253

10. Pak Adi adalah seorang guru. Ia mengajar 3 kelas, masing-masing berisi 7, 11, dan 13 siswa. Suatu saat,
Pak Adi ingin membeli dan membagikan sejumlah permen kepada semua siswa pada salah satu kelas.
Jika permen dibagikan ke kelas pertama (7 siswa), maka ada 1 anak yang akan mendapatkan lebih
banyak dari yang lain. Jika dibagikan ke kelas kedua (11 siswa), akan ada 8 anak yang mendapat lebih
banyak dari yang lain. Jika dibagikan ke kelas ketiga (13 siswa), akan ada 6 anak yang akan mendapat
lebih banyak dari yang lain. Berapa jumlah minimal permen agar jika dibagikan ke satu kelas manapun
semua siswa akan mendapatnya dalam jumlah yang sama?
a. 331
b. 543
c. 741
d. 839
e. 1001

11. Pak Dengklek mempunyai N buah kartu yang telah diberi nomor 1, 2, 3,..., N. Pada awalnya, Pak
Dengklek menyusun kartu-kartu tersebut secara ascending (menaik). Selanjutnya, Pak Dengklek ingin
menyusun kartu-kartu tersebut dengan aturan tidak boleh ada satu kartupun yang berada pada posisi
yang sama dengan posisi awalnya. Jika N=7, berapa banyak susunan yang sesuai dengan aturan di atas
yang dapat dibentuk oleh Pak Dengklek?
a. 49
b. 5040
c. 1854
d. 5481
e. 4815

12. Berapa banyak kata sepanjang N-karakter yang dapat dibentuk dari angka-angka {0, 1, 2}, sedemikian
sehingga angka-angka yang saling bersebelahan hanya berselisih maksimum 1.
Contoh : Untuk N=2 terdapat 7 kata yang dapat dibentuk yaitu : <0 0>, <0 1>, <1 0>, <1 1>, <1 2>,
<2 1>, <2 2>. Notasi < > menyatakan bentukan satu kata. Jika N=10, berapa banyak kata yang dapat dibentuk?
a. 8119
b. 8121
c. 8123
d. 8125
e. 8127

13. Di sebuah meja melingkar untuk 100 orang, 4 orang akan melakukan jabat tangan satu sama lain. Berapa
banyak cara memilih 4 orang tersebut sedemikian sehingga tidak ada orang bersebelahan yang berjabat
tangan?
a. 3460375
b. 3921225
c. 3764376
d. 3321960
e. 3640753

14. Pelatih olah raga meminta 3 atlet binaannya bernama Dengklek, Ganesh, Blangkon untuk berlari
mengelilingi lapangan olah raga dengan target sebanyak 5 keliling. Kondisi yang diperoleh adalah:
 Jika Blangkon tidak menyelesaikannya paling awal, maka Dengklek yang menyelesaikan paling
awal dari ketiganya.
 Jika Dengklek tidak menyelesaikannya paling akhir, maka Ganesh yang menyelesaikan paling
awal dari ketiganya.
Dari sejumlah kondisi di atas, bagaimana urutan pencapaian target mulai dari yang paling awal menyelesaikan tagetnya?
a. Dengklek, Ganesh, Blangkon
b. Ganesh, Dengklek, Blangkon
c. Blangkon, Ganesh, Dengklek
d. Blangkon, Dengklek, Ganesh
e. Dengklek, Blangkon, Ganesh
Deskripsi berikut ini adalah untuk 3 soal berikut:
Sekolah di negeri TOKI terdiri atas jurusan MIA dan jurusan IIS. Masing-masing jurusan mengajarkan sejumlah mata
pelajaran. Ada sejumlah pelajaran yang diberikan di kedua jurusan tersebut. Dengklek belajar di jurusan MIA dan
Ganesh di jurusan IIS. Dengklek dan Ganesh mengikuti sejumlah pelajaran yang sama. Untuk memudahkan, kelompok
pelajaran tersebut mereka namakan IBB. Setiap pelajaran di jurusan MIA atau di jurusan IIS, dikelompokkan pada
kelompok yang mereka namai SMA, dimana tidak ada 2 atau lebih pelajaran yang sama di kelompok SMA.

15. Apabila pelajaran di IIS adalah “Ekonomi”, “Geografi”, dan “Bahasa Indonesia”; sedangkan pelajaran di
MIA adalah “Fisika”, “Bahasa Indonesia”, “Kimia”, dan “Biologi”; pelajaran apa saja yang ada di IBB
dan SMA?
a. “Bahasa Indonesia”
b. “Fisika”
c. “Geografi”
d. “Kimia”
e. Tidak ada pelajaran yang memenuhi
16. Apabila dibuat kelompok baru bernama NEW yang terdiri dari pelajaran-pelajaran yang ada di
kelompok IBB atau kelompok SMA, berapakah jumlah pelajaran yang ada di kelompok NEW?
a. Sama dengan jumlah pelajaran di kelompok IBB
b. Sama dengan jumlah pelajaran di kelompok SMA
c. Sama dengan jumlah pelajaran MIA ditambah dengan jumlah pelajaran IIS
d. Sama dengan selisih jumlah pelajaran MIA dengan jumlah pelajaran IIS
e. Nol
17. Apabila dibuat kelompok baru bernama EXT yang berisi pelajaran MIA namun bukan pelajaran IIS,
maka pelajaran-pelajaran yang merupakan gabungan dari kelompok EXT dan kelompok IBB adalah …
a. Pelajaran-pelajaran di SMA
b. Pelajaran-pelajaran di IBB
c. Pelajaran-pelajaran di IIS
d. Pelajaran-pelajaran di MIA
e. Jawaban a, b, c, dan d salah
18. Bilangan bulat non negatif 0, 1, 2, … diletakkan pada koordinat
(x,y) seperti pada gambar sebelah kanan. Sebagai contoh, bilangan
0, 1, dan 2 diletakkan pada koordinat (0,0), (1,1), dan (2,0). Berapa
koordinat untuk bilangan 2017?
a. (1008,1009)
b. (1008,1008)
c. (1009,1001)
d. (1009,1008)
e. (1009,1009)

19. Setiap akhir hari Jumat, enam orang mata-mata (M1, M2, M3, M4, M5, M6) saling menukar informasi
yang berhasil mereka dapatkan selama seminggu kerja. Seorang mata-mata tak dibolehkan untuk
bertemu dengan lebih dari satu mata-mata lainnya pada satu saat. Maka, mereka harus mengatur
pertemuan agar dapat bertemu dalam beberapa kali, di mana pada setiap pertemuan dihadiri oleh
sepasang mata-mata dan saat itu keduanya berbagi informasi yang mereka punyai saat itu. Sebelum
pertemuan, setiap orang mata-mata hanya tahu satu informasi (M1 tahu 'a', M2 tahu 'b, M3 tahu ‘c’, M4
tahu ‘d’. M5 tahu ‘e’ dan M6 tahu ‘f’.).
Kelompok 6 mata-mata tersebut membutuhkan hanya 3 kali pertemuan untuk berbagi semua informasi seperti
ditunjukkan pada rangkaian gambar sebagai berikut.

Keadaan Awal Pertemuan 1 Pertemuan 2 Pertemuan 3

Jadi, dengan 3 kali pertemuan, setiap mata-mata mendapatkan semua informasi.


Karena suatu hal penting, salah satu mata-mata berhenti bekerja. Berapa kali pertemuan yang dibutuhkan agar
lima mata-mata sisanya mendapatkan semua informasi ?
a. 2
b. 3
c. 4
d. 5
e. 6
20. Jika semua A adalah B dan sebagian B adalah C, manakah pernyataan di bawah ini yang benar?
a. Semua A adalah C
b. Sebagian C adalah A
c. Semua C adalah A
d. Sebagian A adalah C
e. Jawaban a, b, c, dan d salah
21. Dalam suatu kelas, terdapat 40 siswa. 19 siswa menyukai matematika, 10 siswa menyukai komputer, 5
siswa menyukai fisika, 2 siswa menyukai ketiganya, 3 siswa menyukai matematika dan fisika saja, dan 7
siswa menyukai matematika saja.
Berapa banyaknya siswa yang tidak menyukai apapun?
a. 28
b. 6
c. 20
d. 19
e. 15
22. Satu toko baju menjual sejumlah kemeja dalam 3 ukuran: S, M dan L, dan berwarna hijau atau biru.
Diketahui juga bahwa:
 Kemeja berukuran S dan berwarna hijau ada 7 lembar.
 Kemeja biru berukuran L ada 2 lembar.
 Kemeja berwarna biru ada 14 lembar.
 Kemeja yang tidak berukuran S ada 19 lembar.
 Separuh kemeja-kemeja itu berukuran M.
 Banyaknya kemeja berukuran L sama dengan yang berukuran S warna biru.
Berapa seluruh kemeja di toko itu?
a. 16
b. 21
c. 30
d. 33
e. 40
23. Sepasukan semut berjalan di suatu lintasan jalan semut. Dalam lintasan terdapat celah-celah sempit
vertikal seukuran badan semut dengan kedalaman beberapa panjang semut. Untuk menyeberangi celah,
semut-semut paling depan turun ke dalam dasar celah hingga celah tertutup badan-badan semut itu.
Yang paling depan menempati yang paling bawah dalam celah. Kemudian semut-semut di belakangnya
dapat menyeberangi celah dengan melalui semut-semut itu. Setelah mereka lewat, semut dalam celah
mulai dari yang teratas naik ke permukaan bergabung kembali di belakang barisan dengan urutan yang
teratas duluan. Contohnya, semula urutan: 1,2,3,4,5,6,7,8,9,10 (paling depan adalah terkiri, paling
belakang adalah terkanan, bergerak dari kanan ke kiri), saat melalui celah kedalaman 4, urutan 1, 2, 3, 4
masuk ke dalam celah, sisanya 5,6,7,8,9,10 melewatinya. Setelah itu keempat bergabung dengan urutan
terbalik di belakang sehingga sekarang urutannya 5,6,7,8,9,10,4,3,2,1.
Pada awalnya, ada 10 semut yang berbaris dalam urutan: 1,2,3,4,5,6,7,8,9,10. Setelah melalui 5 celah yang
masing-masing dengan kedalaman 7, 6, 3, 5, dan 4, urutan setelah melalui celah terakhir adalah:
a. 4,10,7,6,5,1,3,2,8,9
b. 4,3,2,1,5,6,7,10,9,8
c. 8,9,10,7,6,5, 4,3,2,1
d. 1,5,6,7,10, 9,8,2,3,4
e. 9,8,2,3, 4,10,7,6,5,1
Deskripsi berikut ini adalah untuk 2 soal berikut:
Pak Totok adalah pedagang keliling. Setiap hari ia berjualan di suatu kampung dan besoknya berpindah ke kampung
lain. Namun, ia memiliki aturan-aturan sbb. Pak Totok selalu berjualan di 4 kampung berbeda yaitu: A, B, C, dan D.
 Jika hari ini ia ada di A, maka besoknya akan pasti pindah ke C.
 Jika hari ini ia ada di B maka hari berikutnya ia akan berada di A atau D.
 Jika hari ini ia ada di C maka besoknya ia akan ke B atau D.
 Jika hari ini ia ada di D maka besoknya ia pasti akan berada di A.
24. Jika pada suatu hari ia ada di A, dimanakah ia bisa berada 3 hari kemudian?
a. A atau B
b. A atau C
c. B atau C
d. A atau D
e. B atau D
25. Jika pada suatu hari ia berada di A, 20 hari kemudian berada di suatu kampung X. Kampung apakah
yang tidak mungkin sebagai X?
a. A
b. B
c. C
d. D
e. Jawaban a, b, c, dan d salah
Deskripsi berikut ini adalah untuk 2 soal berikut:
Proses sebuah mesin terkait pada 5 macam materi: A, B, C, D dan E.
- Proses pertama mengolah setiap 3 unit A dan 2 unit B menghasilkan 3 unit D.
- Proses kedua mengolah setiap 1 unit A, 1 unit C, dan 1 unit D menjadi 2 unit E dan 3 unit B.
- Proses ketiga mengolah setiap 1 unit E dan 1 unit D menjadi 2 unit A.
Setiap proses segera terjadi jika setiap bahan yang diperlukan tersedia dan hasilnya diperoleh tepat 1 jam kemudian.
Proses juga bisa terjadi secara paralel misalnya jika tersedia 6 unit A dan 4 unit B, maka satu jam berikutnya dua proses
pertama akan menghasilkan 6 unit D.

26. Jika mula-mula terdapat 5 unit A, 3 unit B, dan 1 unit C, ada berapa banyak materi A tepat pada 3 jam
berikutnya?
a. 1 unit
b. 2 unit
c. 3 unit
d. 4 unit
e. 5 unit
27. Jika semula terdapat 10 unit A, 4 unit C dan 6 unit D, ada berapa banyak materi D setelah tepat 4 jam
berikutnya?
a. 6 unit
b. 8 unit
c. 10 unit
d. 12 unit
e. 14 unit
Deskripsi berikut ini adalah untuk 2 soal berikut:
Suatu robot bergerak di atas suatu rel yang terentang dari kiri ke kanan dengan ujung pada jarak yang cukup jauh. Pada
rel tertera angka-angka posisi per10cm membesar ke kanan, mulai dari 0cm, 10cm, 20cm,
… dst. Robot akan bergerak menuruti deretan instruksi yang diberikan. Robot dapat menuliskan/ menghapus tanda X
pada posisi robot. Instruksi-instruksi didefinisikan sebagai berikut:

 [R] memerintahkan robot untuk berpindah 10 cm ke kanan,


 [L] memerintahkan robot untuk berpindah 10 cm ke kiri,
 [W] memerintahkan robot untuk menuliskan X pada posisinya,
 [H] memerintahkan robot untuk menghapus X pada posisinya (jika ada),
 [RX] memerintahkan robot untuk berpindah ke kanan sampai ketemu tanda X atau berhenti jika
mencapai ujung kanan rel.
 [LX] memerintahkan robot untuk berpindah ke kiri sampai ketemu tanda X atau berhenti jika
mencapai ujung kiri rel.
 Rep(n,…) adalah perintah untuk dapat melakukan pengulangan deretan perintah yang dituliskan
menggantikan “….” sebanyak n kali, sementara
 Rep(…) adalah perintah pengulangan terus menerus yang akan berhenti
karena [LX] atau [RX]
mencapai ujung rel.

28. Pada suatu saat robot berada di posisi 0cm dan sejumlah tanda X diletakkan di posisi 80cm, 130cm dan
180cm. Pada robot diberikan perintah
[H][LX]Rep(3,[L])[W][RX][RX][H][LX][LX](Rep(3,[L])[W]
Dimanakah posisi robot beserta tanda-tanda X itu sekarang?
a. 0cm, 50cm, dan 80cm
b. 20cm, 50cm dan 80cm
c. 20cm, 80cm, dan 130cm
d. 50cm, 130cm, dan 180cm
e. 100cm, 130cm, dan 180cm
29. Jika pada suatu saat robot berada di posisi 0cm, sejumlah tanda X berturut-turut berada pada suatu posisi
di sebelah kanannya (lebih dari satu tanda X). Kemudian, robot menjalankan deretan perintah ini:
X][H])[L][W][R]Rep(Rep(2,[RX][H])[LX][R][W])
Ada berapa banyak kah tanda X saat robot berhenti jika sebelumnya ada 11 tanda X?
a. 0
b. 5
c. 10
d. 15
e. 20
30. Limabelas pramuka berbaris dalam satu saf. Masing-masing memegang sebuah bendera membentuk
konfigurasi bendera. Mereka akan mempertunjukkan satu permainan konfigurasi bendera dengan aturan
bahwa setiap detik setiap pramuka akan mengangkat dan menurunkan benderanya sebagai berikut.
 Pramuka pada posisi ke k, 2  k  14,
o jika dalam keadaan mengangkat bendera, dan sekurangnya salah satu di kiri/kanannya
dalam keadaan mengangkat bendera, maka pada detik berikutnya ia akan menurunkan
benderanya.
o jika dalam keadaan menurunkan bendera, jika di kiri/kanannya ada yang tidak mengangkat
bendera, maka maka pada detik berikutnya ia akan mengangkat benderanya.
o Selain itu, posisi benderanya pada detik berikutnya tetap.
 Untuk pramuka pada posisi 1 dan 15 (ujung-ujung barisan), ia akan menaikkan bendera jika
sebelahnya turun atau sebaliknya sehingga pada detik berikutnya benderanya akan berada
pada posisi bendera yang berlawanan dengan posisi bendera sebelahnya pada detik ini.
Kita lambangkan bendera terangkat dengan 1 dan bendera turun dengan 0, maka jika konfigurasi awal adalah
100101110011001, pada detik berikutnya menjadi 111100001100111.
Dari konfigurasi awal (detik ke 0) adalah 100101110011001, bagaimanakah konfigurasi pada detik ke 5?
a. 111100001101111
b. 000011110011000
c. 111100001100111
d. 000011110011000
e. 111100001100111

31. Diberikan gambar sistem aliran gas beracun sebagai berikut :

Semburan
Gas
beracun
terkendali

Sensor

Pada sistem tersebut, semburan gas diatur dengan keran W yang dibuka atau ditutup berdasarkan sinyal dari
sensor A, B dan C.
Keran W akan dibuka jika Sensor A, B, dan C berfungsi dengan baik (memberikan signal TRUE). Untuk keselamatan,
jika semua sensor A dan B dan C gagal berfungsi (memberikan signal FALSE), maka keran
W harus ditutup. Selain itu, keran W hanya akan dibuka jika minimal dua dari ketiga sensor tersebut berfungsi
dengan baik (memberikan signal TRUE)
Tuliskan ekspresi boolen untuk membuka keran yang mewakili pernyataan di atas, sebagai fungsi boolean kondisi
A, B dan C
a. (A and (B or C)) or (B and (A or C))
b. A and B and C
c. (A or B) and (A or C) and (B or C)
d. (A and B) or (B and C)
e. (A or B) or B or C
32. Pada suatu pabrik, produk harus diproses melalui dua stasiun kerja, yaitu Stasiun-Persegi dan Stasiun-
Bundar. Ada dua jenis produk yang harus diproses yaitu produk bintang (B) dan produk Smiley (S).
Aturan produksi adalah sebagai berikut:
1. Hanya ada satu produk dapat berada pada satu stasiun kerja.
2. Setiap produk harus diproses dulu di Stasiun-Bundar, baru kemudian diproses di stasiun-
Persegi
3. Setelah diproses di sebuah stasiun, produk mungkin saja harus menunggu sebelum diproses ke
stasiun berikutnya.
4. Tepat setiap dua produk bintang harus diproses di Stasiun-Bundar kemudian diikuti tepat dua
produk smiley (jadi bintang harus menunggu setelah satu smiley diproses), kecuali yang
tersisa.
5. Tepat setiap satu produk smilley harus diproses lebih dulu dari tepat dua produk bintang di
stasiun persegi, kecuali yang tersisa.

Jika awalnya ada 2 smiley dan 4 bintang, bagaimana urutan produk setelah keluar dari stasiun persegi (ditulis
sebagai string dengan simbol-simbol B dan S, dan yang paling kiri adalah yang terakhir keluar)?
a. BSBBSB
b. BBSBBS
c. BBSSBB
d. SSBBBB
e. SBBSBB
33. Sebuah prosedur rekursif adalah program yang memanggil prosedur tersebut.
Berikut ini adalah contoh dari prosedur rekursif
Sebuah Prosedur DrawSquare(x,y,s) memberi instruksi ke komputer agar melakukan langkah sebagai
berikut:
 Gambar sebuah persegi bersisi s yang titik tengahnya adalah (x,y).
 Jika sisi persegi lebih besar dari 2 piksel:
o DrawSquare(x+s/2,y,s/2) (gambar sebuah persegi lebih kecil ke kanan)
o DrawSquare(x-s/2,y,s/2) (gambar sebuah persegi lebih kecil ke
kiri) Pola gambar mana yang dihasilkan oleh DrawSquare?
(a)

(b)
(c)

(d)

(e)
34. Pak Dengklek harus membawa itik-itiknya melewati terowongan dari stasiun S ke stasiun T. Pada
gambar setiap stasiun digambarkan sebagai lingkaran. Itik-itik tersebut harus berjalan melalui
terowongan dengan arah yang ditunjukkan pada gambar, dari satu stasiun ke stasiun lain. Setiap
terowongan mempunyai kapasitas itik yang dapat lewat dalam sehari, yang jumlahnya dinyatakan dalam
angka pada gambar. Dari sebuah stasiun, Pak Dengklek dapat mengirim itik-itiknya melalui terowongan
yang tersedia pada stasiun tersebut ke stasiun berikutnya.

Berapa jumlah itik maksimum yang dapat dipindahkan oleh Pak Dengklek dari S ke T dalam satu hari?
a. 4
b. 5
c. 6
d. 7
e. 8
Perhatikan potongan kode berikut untuk 2 soal selanjutnya:
var
n, temp : longint;
begin
readln(n);
while n >= 10 do
temp := 1;
while n > 0 do
begin
temp := temp * (n mod 10);
n := n div 10;
end;
n := temp;
end.

35. Berapakah nilai akhir n, jika nilai n pada awalnya adalah 62792912?
a. 4
b. 5
c. 6
d. 7
e. 8
36. Berapakah nilai akhir n, jika nilai n pada awalnya adalah 14934976?
a. 4
b. 5
c. 6
d. 7
e. 8
37. Perhatikan pseudocode berikut:
function f(x: integer) : integer;
begin
if(x = 0) then f := 0
else f := 1 - f(x - 1);
end;
Ada berapa banyak nilai f(n) (1 <= n <= 2017) yang bernilai true? a.
1008
b. 1009
c. 2016
d. 2017
e. 1

38. Perhatikan pseudocode berikut:


procedure mystery(a:integer; b:integer;);
var m:integer;
begin
if (a <> b)
begin
writeln(‘OSK2017’);
m := (a + b) / 2;
mystery(a, m);
mystery(m, b);
end;
end;
Berapa kali teks ‘OSK2017’ dicetak pada pemanggilan mystery(0,8) ?
a. 4
b. 5
c. 6
d. 7
e. program tidak pernah berhenti
Perhatikan potongan kode berikut untuk 2 soal selanjutnya:
var
n, count : integer;
begin
readln(n);
count := 0;
repeat
n := (n * n + 5) mod 23;
count := count + 1;
until n = 0;
end.

39. Berapakah hasil akhir dari variabel count, jika n = 1?


a. 5
b. 6
c. 7
d. 8
e. 9
40. Berapakah nilai maksimal dari variabel count dari semua kemungkinan nilai n?
a. 6
b. 7
c. 8
d. 9
e. Jawaban a, b, c, d salah

~ lembar soal terakhir ~


Informasi referensi terkait Olimpiade bidang Informatika/Komputer:

● Situs Tim Olimpiade Komputer Indonesia (TOKI) yang berisi informasi umum tentang
olimpiade komputer (kompetisi pemrograman). Link situsnya: http://toki.or.id

● Group Olimpiade Informatika Indonesia di facebook yang dimanfaatkan sebagai forum diskusi latihan
untuk kompetisi pemrograman. Link situsnya: https://www.facebook.com/groups/olimpinfo

● TOKI Learning Center (TLC) merupakan situs untuk belajar dan berlatih mengerjakan soal-soal
pemrograman. Soal-soal yang ada di situs ini dikumpulkan dari kegiatan-kegiatan yang dilaksanakan
oleh Tim Olimpiade Komputer Indonesia (TOKI). Link situsnya: https://training.ia-toki.org

~ halaman ini boleh dilepas dan dibawa pulang ~


BANK SOAL TERLENGKAP
download from: p4kguru.blogspot.com

JAWABAN SOAL
OLIMPIADE SAINS TINGKAT KABUPATEN/KOTA 2017

BIDANG INFORMATIKA/KOMPUTER

1. B 11. C 21. C 31. A


2. C 12. A 22. C 32. B

3. C 13. A 23. A 33. E


4. D 14. C 24. D 34. B

5. B 15. A 25. E 35. C


6. D 16. B 26. E 36. C

7. E 17. D 27. D 37. A

8. E 18. E 28. B 38. E


9. B 19. C 29. B 39. A

10. D 20. E 30. E 40. E

Hak Cipta Informatika/Komputer Hal 4 dari 17 halaman


undang
BANK SOAL TERLENGKAP
download from: p4kguru.blogspot.com
7. Berapakah banyaknya bilangan antara 1-1000, inklusif, dimana perkalian digit-digitnya merupakan
bilangan positif kelipatan 10?
a. 157
b. 156
c. 155
d. 154
e. 153

8. Jika diketahui A, B, C dan D adalah bilangan bulat dan memenuhi:


A.B + C + D = 3
B.C + A + D = 5
C.D + A + B = 2
D.A + B + C = 6
Berapakah nilai A yang dimaksud?
a. 0
b. 1
c. 2
d. 3
e. 5
9. Terdapat sebuah daftar yang memuat 2017 pernyataan sebagai berikut:
Pernyataan nomor 1: “Terdapat tepat 1 pernyataan dalam daftar ini yang salah.” Pernyataan nomor
2: “Terdapat tepat 2 pernyataan dalam daftar ini yang salah.” Pernyataan nomor 3: Terdapat tepat 3
pernyataan dalam daftar ini yang salah.”
...
Pernyataan nomor 2017: “Terdapat tepat 2017 pernyataan dalam daftar ini yang salah. “
Pernyataan nomor berapakah yang benar jika ternyata hanya ada satu yang benar?
a. 2004
b. 2008
c. 2016
d. 2017
e. Jawaban a, b, c, d salah

10. Berapa banyak cara berbeda untuk mengisi lantai sebuah ruangan berukuran 2x8 dengan menggunakan
ubin berukuran 2x1, jika harus terdapat tepat 2 ubin yang dipasang secara vertical?
a. 7
b. 8
c. 9
d. 10
e. 11
11. Sebuah brankas dilengkapi dengan kunci kombinasi 4 dijit. Masing-masing dijit memiliki 2
kemungkinan nilai, yaitu 0 dan 1. Ternyata, diketahui diantara 4 dijit itu, hanya 2 dijit yang berfungsi
untuk mengunci brankas tersebut. Berapakah banyak percobaan minimal untuk dapat membuka brankas
tersebut?
a. 3
b. 6
c. 12
d. 18
e. 24

Hak Cipta Soal OSK 2017 Bidang Hal 5 dari 17 halaman


Dilindungi Undang- Informatika/Komputer
undang
12. Adi dan Budi adalah murid dari sebuah kelas yang terdiri dari 40 siswa. Dari kelas tersebut akan dipilih
20 orang siswa sebagai wakil kelas. Wakil kelas dipilih dengan cara membagi 40 orang siswa menjadi
20 grup. Tiap grup melempar sebuah koin untuk menentukan siapa yang akan mewakili kelas tersebut.
Jika peluang Adi dan Budi terpilih untuk mewakili kelas tersebut adalah , dimana dan saling prima,
berapakah + ?
a. 91
b. 93
c. 95
d. 97
e. 99
7. Berapakah 22016 * 32017 / 61000 mod 10?
f. 0
g. 2
h. 4
i. 6
j. 8
41. Terdapat 6 buah pekerjaan, A, B, C, D, E, dan F. Pekerjaan ini harus dikerjakan dengan mengikuti
aturan sebagai berikut:
 Pekerjaan F harus dikerjakan sebelum pekerjaan A
 Pekerjaan B harus dikerjakan sebelum pekerjaan D
 Pekerjaan E dapat dikerjakan jika pekerjaan B sudah dikerjakan
 Sebelum mengerjakan pekerjaan B, pekerjaan C harus sudah dilakukan
 Pekerjaan A harus dikerjakan sebelum pekerjaan B
Salah satu urutan pengerjaan pekerjaan yang dapat dilakukan adalah…
f. D, B, F, C, A, E
g. C, F, A, D, B, E
h. C, B, F, A, E, D
i. F, C, A, D, B, E
j. F, A, C, B, E, D
42. String biner adalah deretan karakter yang setiap karakternya adalah ‘0’ atau ‘1’. Substring dari suatu
string adalah potongan dari string itu atau string itu sendiri. Berapa banyak string biner dengan panjang
9 yang tidak berisi substring ‘100’?
a. 113
b. 143
c. 168
d. 232
e. 253

43. Pak Adi adalah seorang guru. Ia mengajar 3 kelas, masing-masing berisi 7, 11, dan 13 siswa. Suatu saat,
Pak Adi ingin membeli dan membagikan sejumlah permen kepada semua siswa pada salah satu kelas.
Jika permen dibagikan ke kelas pertama (7 siswa), maka ada 1 anak yang akan mendapatkan lebih
banyak dari yang lain. Jika dibagikan ke kelas kedua (11 siswa), akan ada 8 anak yang mendapat lebih
banyak dari yang lain. Jika dibagikan ke kelas ketiga (13 siswa), akan ada 6 anak yang akan mendapat
lebih banyak dari yang lain. Berapa jumlah minimal permen agar jika dibagikan ke satu kelas manapun
semua siswa akan mendapatnya dalam jumlah yang sama?
a. 331
b. 543
c. 741
d. 839
e. 1001

44. Pak Dengklek mempunyai N buah kartu yang telah diberi nomor 1, 2, 3,..., N. Pada awalnya, Pak
Dengklek menyusun kartu-kartu tersebut secara ascending (menaik). Selanjutnya, Pak Dengklek ingin
menyusun kartu-kartu tersebut dengan aturan tidak boleh ada satu kartupun yang berada pada posisi
yang sama dengan posisi awalnya. Jika N=7, berapa banyak susunan yang sesuai dengan aturan di atas
yang dapat dibentuk oleh Pak Dengklek?
a. 49
b. 5040
c. 1854
d. 5481
e. 4815

45. Berapa banyak kata sepanjang N-karakter yang dapat dibentuk dari angka-angka {0, 1, 2}, sedemikian
sehingga angka-angka yang saling bersebelahan hanya berselisih maksimum 1.
Contoh : Untuk N=2 terdapat 7 kata yang dapat dibentuk yaitu : <0 0>, <0 1>, <1 0>, <1 1>, <1 2>,
<2 1>, <2 2>. Notasi < > menyatakan bentukan satu kata. Jika N=10, berapa banyak kata yang dapat dibentuk?
a. 8119
b. 8121
c. 8123
d. 8125
e. 8127

46. Di sebuah meja melingkar untuk 100 orang, 4 orang akan melakukan jabat tangan satu sama lain. Berapa
banyak cara memilih 4 orang tersebut sedemikian sehingga tidak ada orang bersebelahan yang berjabat
tangan?
a. 3460375
b. 3921225
c. 3764376
d. 3321960
e. 3640753

47. Pelatih olah raga meminta 3 atlet binaannya bernama Dengklek, Ganesh, Blangkon untuk berlari
mengelilingi lapangan olah raga dengan target sebanyak 5 keliling. Kondisi yang diperoleh adalah:
 Jika Blangkon tidak menyelesaikannya paling awal, maka Dengklek yang menyelesaikan paling
awal dari ketiganya.
 Jika Dengklek tidak menyelesaikannya paling akhir, maka Ganesh yang menyelesaikan paling
awal dari ketiganya.
Dari sejumlah kondisi di atas, bagaimana urutan pencapaian target mulai dari yang paling awal menyelesaikan tagetnya?
f. Dengklek, Ganesh, Blangkon
g. Ganesh, Dengklek, Blangkon
h. Blangkon, Ganesh, Dengklek
i. Blangkon, Dengklek, Ganesh
j. Dengklek, Blangkon, Ganesh
Deskripsi berikut ini adalah untuk 3 soal berikut:
Sekolah di negeri TOKI terdiri atas jurusan MIA dan jurusan IIS. Masing-masing jurusan mengajarkan sejumlah mata
pelajaran. Ada sejumlah pelajaran yang diberikan di kedua jurusan tersebut. Dengklek belajar di jurusan MIA dan
Ganesh di jurusan IIS. Dengklek dan Ganesh mengikuti sejumlah pelajaran yang sama. Untuk memudahkan, kelompok
pelajaran tersebut mereka namakan IBB. Setiap pelajaran di jurusan MIA atau di jurusan IIS, dikelompokkan pada
kelompok yang mereka namai SMA, dimana tidak ada 2 atau lebih pelajaran yang sama di kelompok SMA.

48. Apabila pelajaran di IIS adalah “Ekonomi”, “Geografi”, dan “Bahasa Indonesia”; sedangkan pelajaran di
MIA adalah “Fisika”, “Bahasa Indonesia”, “Kimia”, dan “Biologi”; pelajaran apa saja yang ada di IBB
dan SMA?
f. “Bahasa Indonesia”
g. “Fisika”
h. “Geografi”
i. “Kimia”
j. Tidak ada pelajaran yang memenuhi
49. Apabila dibuat kelompok baru bernama NEW yang terdiri dari pelajaran-pelajaran yang ada di
kelompok IBB atau kelompok SMA, berapakah jumlah pelajaran yang ada di kelompok NEW?
f. Sama dengan jumlah pelajaran di kelompok IBB
g. Sama dengan jumlah pelajaran di kelompok SMA
h. Sama dengan jumlah pelajaran MIA ditambah dengan jumlah pelajaran IIS
i. Sama dengan selisih jumlah pelajaran MIA dengan jumlah pelajaran IIS
j. Nol
50. Apabila dibuat kelompok baru bernama EXT yang berisi pelajaran MIA namun bukan pelajaran IIS,
maka pelajaran-pelajaran yang merupakan gabungan dari kelompok EXT dan kelompok IBB adalah …
f. Pelajaran-pelajaran di SMA
g. Pelajaran-pelajaran di IBB
h. Pelajaran-pelajaran di IIS
i. Pelajaran-pelajaran di MIA
j. Jawaban a, b, c, dan d salah
51. Bilangan bulat non negatif 0, 1, 2, … diletakkan pada koordinat
(x,y) seperti pada gambar sebelah kanan. Sebagai contoh, bilangan
0, 1, dan 2 diletakkan pada koordinat (0,0), (1,1), dan (2,0). Berapa
koordinat untuk bilangan 2017?
a. (1008,1009)
b. (1008,1008)
c. (1009,1001)
d. (1009,1008)
e. (1009,1009)

52. Setiap akhir hari Jumat, enam orang mata-mata (M1, M2, M3, M4, M5, M6) saling menukar informasi
yang berhasil mereka dapatkan selama seminggu kerja. Seorang mata-mata tak dibolehkan untuk
bertemu dengan lebih dari satu mata-mata lainnya pada satu saat. Maka, mereka harus mengatur
pertemuan agar dapat bertemu dalam beberapa kali, di mana pada setiap pertemuan dihadiri oleh
sepasang mata-mata dan saat itu keduanya berbagi informasi yang mereka punyai saat itu. Sebelum
pertemuan, setiap orang mata-mata hanya tahu satu informasi (M1 tahu 'a', M2 tahu 'b, M3 tahu ‘c’, M4
tahu ‘d’. M5 tahu ‘e’ dan M6 tahu ‘f’.).
Kelompok 6 mata-mata tersebut membutuhkan hanya 3 kali pertemuan untuk berbagi semua informasi seperti
ditunjukkan pada rangkaian gambar sebagai berikut.

Keadaan Awal Pertemuan 1 Pertemuan 2 Pertemuan 3

Jadi, dengan 3 kali pertemuan, setiap mata-mata mendapatkan semua informasi.


Karena suatu hal penting, salah satu mata-mata berhenti bekerja. Berapa kali pertemuan yang dibutuhkan agar
lima mata-mata sisanya mendapatkan semua informasi ?
f. 2
g. 3
h. 4
i. 5
j. 6
53. Jika semua A adalah B dan sebagian B adalah C, manakah pernyataan di bawah ini yang benar?
f. Semua A adalah C
g. Sebagian C adalah A
h. Semua C adalah A
i. Sebagian A adalah C
j. Jawaban a, b, c, dan d salah
54. Dalam suatu kelas, terdapat 40 siswa. 19 siswa menyukai matematika, 10 siswa menyukai komputer, 5
siswa menyukai fisika, 2 siswa menyukai ketiganya, 3 siswa menyukai matematika dan fisika saja, dan 7
siswa menyukai matematika saja.
Berapa banyaknya siswa yang tidak menyukai apapun?
f. 28
g. 6
h. 20
i. 19
j. 15
55. Satu toko baju menjual sejumlah kemeja dalam 3 ukuran: S, M dan L, dan berwarna hijau atau biru.
Diketahui juga bahwa:
 Kemeja berukuran S dan berwarna hijau ada 7 lembar.
 Kemeja biru berukuran L ada 2 lembar.
 Kemeja berwarna biru ada 14 lembar.
 Kemeja yang tidak berukuran S ada 19 lembar.
 Separuh kemeja-kemeja itu berukuran M.
 Banyaknya kemeja berukuran L sama dengan yang berukuran S warna biru.
Berapa seluruh kemeja di toko itu?
f. 16
g. 21
h. 30
i. 33
j. 40
56. Sepasukan semut berjalan di suatu lintasan jalan semut. Dalam lintasan terdapat celah-celah sempit
vertikal seukuran badan semut dengan kedalaman beberapa panjang semut. Untuk menyeberangi celah,
semut-semut paling depan turun ke dalam dasar celah hingga celah tertutup badan-badan semut itu.
Yang paling depan menempati yang paling bawah dalam celah. Kemudian semut-semut di belakangnya
dapat menyeberangi celah dengan melalui semut-semut itu. Setelah mereka lewat, semut dalam celah
mulai dari yang teratas naik ke permukaan bergabung kembali di belakang barisan dengan urutan yang
teratas duluan. Contohnya, semula urutan: 1,2,3,4,5,6,7,8,9,10 (paling depan adalah terkiri, paling
belakang adalah terkanan, bergerak dari kanan ke kiri), saat melalui celah kedalaman 4, urutan 1, 2, 3, 4
masuk ke dalam celah, sisanya 5,6,7,8,9,10 melewatinya. Setelah itu keempat bergabung dengan urutan
terbalik di belakang sehingga sekarang urutannya 5,6,7,8,9,10,4,3,2,1.
Pada awalnya, ada 10 semut yang berbaris dalam urutan: 1,2,3,4,5,6,7,8,9,10. Setelah melalui 5 celah yang
masing-masing dengan kedalaman 7, 6, 3, 5, dan 4, urutan setelah melalui celah terakhir adalah:
a. 4,10,7,6,5,1,3,2,8,9
b. 4,3,2,1,5,6,7,10,9,8
c. 8,9,10,7,6,5, 4,3,2,1
d. 1,5,6,7,10, 9,8,2,3,4
e. 9,8,2,3, 4,10,7,6,5,1
Deskripsi berikut ini adalah untuk 2 soal berikut:
Pak Totok adalah pedagang keliling. Setiap hari ia berjualan di suatu kampung dan besoknya berpindah ke kampung
lain. Namun, ia memiliki aturan-aturan sbb. Pak Totok selalu berjualan di 4 kampung berbeda yaitu: A, B, C, dan D.
 Jika hari ini ia ada di A, maka besoknya akan pasti pindah ke C.
 Jika hari ini ia ada di B maka hari berikutnya ia akan berada di A atau D.
 Jika hari ini ia ada di C maka besoknya ia akan ke B atau D.
 Jika hari ini ia ada di D maka besoknya ia pasti akan berada di A.
57. Jika pada suatu hari ia ada di A, dimanakah ia bisa berada 3 hari kemudian?
f. A atau B
g. A atau C
h. B atau C
i. A atau D
j. B atau D
58. Jika pada suatu hari ia berada di A, 20 hari kemudian berada di suatu kampung X. Kampung apakah
yang tidak mungkin sebagai X?
f. A
g. B
h. C
i. D
j. Jawaban a, b, c, dan d salah
Deskripsi berikut ini adalah untuk 2 soal berikut:
Proses sebuah mesin terkait pada 5 macam materi: A, B, C, D dan E.
- Proses pertama mengolah setiap 3 unit A dan 2 unit B menghasilkan 3 unit D.
- Proses kedua mengolah setiap 1 unit A, 1 unit C, dan 1 unit D menjadi 2 unit E dan 3 unit B.
- Proses ketiga mengolah setiap 1 unit E dan 1 unit D menjadi 2 unit A.
Setiap proses segera terjadi jika setiap bahan yang diperlukan tersedia dan hasilnya diperoleh tepat 1 jam kemudian.
Proses juga bisa terjadi secara paralel misalnya jika tersedia 6 unit A dan 4 unit B, maka satu jam berikutnya dua proses
pertama akan menghasilkan 6 unit D.

59. Jika mula-mula terdapat 5 unit A, 3 unit B, dan 1 unit C, ada berapa banyak materi A tepat pada 3 jam
berikutnya?
f. 1 unit
g. 2 unit
h. 3 unit
i. 4 unit
j. 5 unit
60. Jika semula terdapat 10 unit A, 4 unit C dan 6 unit D, ada berapa banyak materi D setelah tepat 4 jam
berikutnya?
f. 6 unit
g. 8 unit
h. 10 unit
i. 12 unit
j. 14 unit
Deskripsi berikut ini adalah untuk 2 soal berikut:
Suatu robot bergerak di atas suatu rel yang terentang dari kiri ke kanan dengan ujung pada jarak yang cukup jauh. Pada
rel tertera angka-angka posisi per10cm membesar ke kanan, mulai dari 0cm, 10cm, 20cm,
… dst. Robot akan bergerak menuruti deretan instruksi yang diberikan. Robot dapat menuliskan/ menghapus tanda X
pada posisi robot. Instruksi-instruksi didefinisikan sebagai berikut:

 [R] memerintahkan robot untuk berpindah 10 cm ke kanan,


 [L] memerintahkan robot untuk berpindah 10 cm ke kiri,
 [W] memerintahkan robot untuk menuliskan X pada posisinya,
 [H] memerintahkan robot untuk menghapus X pada posisinya (jika ada),
 [RX] memerintahkan robot untuk berpindah ke kanan sampai ketemu tanda X atau berhenti jika
mencapai ujung kanan rel.
 [LX] memerintahkan robot untuk berpindah ke kiri sampai ketemu tanda X atau berhenti jika
mencapai ujung kiri rel.
 Rep(n,…) adalah perintah untuk dapat melakukan pengulangan deretan perintah yang dituliskan
menggantikan “….” sebanyak n kali, sementara
 Rep(…) adalah perintah pengulangan terus menerus yang akan berhenti
karena [LX] atau [RX]
mencapai ujung rel.

61. Pada suatu saat robot berada di posisi 0cm dan sejumlah tanda X diletakkan di posisi 80cm, 130cm dan
180cm. Pada robot diberikan perintah
[H][LX]Rep(3,[L])[W][RX][RX][H][LX][LX](Rep(3,[L])[W]
Dimanakah posisi robot beserta tanda-tanda X itu sekarang?
f. 0cm, 50cm, dan 80cm
g. 20cm, 50cm dan 80cm
h. 20cm, 80cm, dan 130cm
i. 50cm, 130cm, dan 180cm
j. 100cm, 130cm, dan 180cm
62. Jika pada suatu saat robot berada di posisi 0cm, sejumlah tanda X berturut-turut berada pada suatu posisi
di sebelah kanannya (lebih dari satu tanda X). Kemudian, robot menjalankan deretan perintah ini:
X][H])[L][W][R]Rep(Rep(2,[RX][H])[LX][R][W])
Ada berapa banyak kah tanda X saat robot berhenti jika sebelumnya ada 11 tanda X?
f. 0
g. 5
h. 10
i. 15
j. 20
63. Limabelas pramuka berbaris dalam satu saf. Masing-masing memegang sebuah bendera membentuk
konfigurasi bendera. Mereka akan mempertunjukkan satu permainan konfigurasi bendera dengan aturan
bahwa setiap detik setiap pramuka akan mengangkat dan menurunkan benderanya sebagai berikut.
 Pramuka pada posisi ke k, 2  k  14,
o jika dalam keadaan mengangkat bendera, dan sekurangnya salah satu di kiri/kanannya
dalam keadaan mengangkat bendera, maka pada detik berikutnya ia akan menurunkan
benderanya.
o jika dalam keadaan menurunkan bendera, jika di kiri/kanannya ada yang tidak mengangkat
bendera, maka maka pada detik berikutnya ia akan mengangkat benderanya.
o Selain itu, posisi benderanya pada detik berikutnya tetap.
 Untuk pramuka pada posisi 1 dan 15 (ujung-ujung barisan), ia akan menaikkan bendera jika
sebelahnya turun atau sebaliknya sehingga pada detik berikutnya benderanya akan berada
pada posisi bendera yang berlawanan dengan posisi bendera sebelahnya pada detik ini.
Kita lambangkan bendera terangkat dengan 1 dan bendera turun dengan 0, maka jika konfigurasi awal adalah
100101110011001, pada detik berikutnya menjadi 111100001100111.
Dari konfigurasi awal (detik ke 0) adalah 100101110011001, bagaimanakah konfigurasi pada detik ke 5?
a. 111100001101111
b. 000011110011000
c. 111100001100111
d. 000011110011000
e. 111100001100111

64. Diberikan gambar sistem aliran gas beracun sebagai berikut :

Semburan
Gas
beracun
terkendali

Sensor

Pada sistem tersebut, semburan gas diatur dengan keran W yang dibuka atau ditutup berdasarkan sinyal dari
sensor A, B dan C.
Keran W akan dibuka jika Sensor A, B, dan C berfungsi dengan baik (memberikan signal TRUE). Untuk keselamatan,
jika semua sensor A dan B dan C gagal berfungsi (memberikan signal FALSE), maka keran
W harus ditutup. Selain itu, keran W hanya akan dibuka jika minimal dua dari ketiga sensor tersebut berfungsi
dengan baik (memberikan signal TRUE)
Tuliskan ekspresi boolen untuk membuka keran yang mewakili pernyataan di atas, sebagai fungsi boolean kondisi
A, B dan C
f. (A and (B or C)) or (B and (A or C))
g. A and B and C
h. (A or B) and (A or C) and (B or C)
i. (A and B) or (B and C)
j. (A or B) or B or C
65. Pada suatu pabrik, produk harus diproses melalui dua stasiun kerja, yaitu Stasiun-Persegi dan Stasiun-
Bundar. Ada dua jenis produk yang harus diproses yaitu produk bintang (B) dan produk Smiley (S).
Aturan produksi adalah sebagai berikut:
6. Hanya ada satu produk dapat berada pada satu stasiun kerja.
7. Setiap produk harus diproses dulu di Stasiun-Bundar, baru kemudian diproses di stasiun-
Persegi
8. Setelah diproses di sebuah stasiun, produk mungkin saja harus menunggu sebelum diproses ke
stasiun berikutnya.
9. Tepat setiap dua produk bintang harus diproses di Stasiun-Bundar kemudian diikuti tepat dua
produk smiley (jadi bintang harus menunggu setelah satu smiley diproses), kecuali yang
tersisa.
10. Tepat setiap satu produk smilley harus diproses lebih dulu dari tepat dua produk bintang di
stasiun persegi, kecuali yang tersisa.

Jika awalnya ada 2 smiley dan 4 bintang, bagaimana urutan produk setelah keluar dari stasiun persegi (ditulis
sebagai string dengan simbol-simbol B dan S, dan yang paling kiri adalah yang terakhir keluar)?
f. BSBBSB
g. BBSBBS
h. BBSSBB
i. SSBBBB
j. SBBSBB
66. Sebuah prosedur rekursif adalah program yang memanggil prosedur tersebut.
Berikut ini adalah contoh dari prosedur rekursif
Sebuah Prosedur DrawSquare(x,y,s) memberi instruksi ke komputer agar melakukan langkah sebagai
berikut:
 Gambar sebuah persegi bersisi s yang titik tengahnya adalah (x,y).
 Jika sisi persegi lebih besar dari 2 piksel:
o DrawSquare(x+s/2,y,s/2) (gambar sebuah persegi lebih kecil ke kanan)
o DrawSquare(x-s/2,y,s/2) (gambar sebuah persegi lebih kecil ke
kiri) Pola gambar mana yang dihasilkan oleh DrawSquare?
(a)

(b)
(c)

(d)

(e)
67. Pak Dengklek harus membawa itik-itiknya melewati terowongan dari stasiun S ke stasiun T. Pada
gambar setiap stasiun digambarkan sebagai lingkaran. Itik-itik tersebut harus berjalan melalui
terowongan dengan arah yang ditunjukkan pada gambar, dari satu stasiun ke stasiun lain. Setiap
terowongan mempunyai kapasitas itik yang dapat lewat dalam sehari, yang jumlahnya dinyatakan dalam
angka pada gambar. Dari sebuah stasiun, Pak Dengklek dapat mengirim itik-itiknya melalui terowongan
yang tersedia pada stasiun tersebut ke stasiun berikutnya.

Berapa jumlah itik maksimum yang dapat dipindahkan oleh Pak Dengklek dari S ke T dalam satu hari?
f. 4
g. 5
h. 6
i. 7
j. 8
Perhatikan potongan kode berikut untuk 2 soal selanjutnya:
var
n, temp : longint;
begin
readln(n);
while n >= 10 do
temp := 1;
while n > 0 do
begin
temp := temp * (n mod 10);
n := n div 10;
end;
n := temp;
end.

68. Berapakah nilai akhir n, jika nilai n pada awalnya adalah 62792912?
f. 4
g. 5
h. 6
i. 7
j. 8
69. Berapakah nilai akhir n, jika nilai n pada awalnya adalah 14934976?
f. 4
g. 5
h. 6
i. 7
j. 8
70. Perhatikan pseudocode berikut:
function f(x: integer) : integer;
begin
if(x = 0) then f := 0
else f := 1 - f(x - 1);
end;
Ada berapa banyak nilai f(n) (1 <= n <= 2017) yang bernilai true? a.
1008
b. 1009
c. 2016
d. 2017
e. 1

71. Perhatikan pseudocode berikut:


procedure mystery(a:integer; b:integer;);
var m:integer;
begin
if (a <> b)
begin
writeln(‘OSK2017’);
m := (a + b) / 2;
mystery(a, m);
mystery(m, b);
end;
end;
Berapa kali teks ‘OSK2017’ dicetak pada pemanggilan mystery(0,8) ?
f. 4
g. 5
h. 6
i. 7
j.
k. program tidak pernah berhenti
Perhatikan potongan kode berikut untuk 2 soal selanjutnya:
var
n, count : integer;
begin
readln(n);
count := 0;
repeat
n := (n * n + 5) mod 23;
count := count + 1;
until n = 0;
end.

72. Berapakah hasil akhir dari variabel count, jika n = 1?


f. 5
g. 6
h. 7
i. 8
j. 9
73. Berapakah nilai maksimal dari variabel count dari semua kemungkinan nilai n?
f. 6
g. 7
h. 8
i. 9
j. Jawaban a, b, c, d salah

~ lembar soal terakhir ~


Informasi referensi terkait Olimpiade bidang Informatika/Komputer:

● Situs Tim Olimpiade Komputer Indonesia (TOKI) yang berisi informasi umum tentang
olimpiade komputer (kompetisi pemrograman). Link situsnya: http://toki.or.id

● Group Olimpiade Informatika Indonesia di facebook yang dimanfaatkan sebagai forum diskusi latihan
untuk kompetisi pemrograman. Link situsnya: https://www.facebook.com/groups/olimpinfo

● TOKI Learning Center (TLC) merupakan situs untuk belajar dan berlatih mengerjakan soal-soal
pemrograman. Soal-soal yang ada di situs ini dikumpulkan dari kegiatan-kegiatan yang dilaksanakan
oleh Tim Olimpiade Komputer Indonesia (TOKI). Link situsnya: https://training.ia-toki.org

~ halaman ini boleh dilepas dan dibawa pulang ~


JAWABAN SOAL
OLIMPIADE SAINS TINGKAT KABUPATEN/KOTA 2017

BIDANG INFORMATIKA/KOMPUTER

1. B 11. C 21. C 31. A


2. C 12. A 22. C 32. B

3. C 13. A 23. A 33. E


4. D 14. C 24. D 34. B

5. B 15. A 25. E 35. C


6. D 16. B 26. E 36. C

7. E 17. D 27. D 37. A

8. E 18. E 28. B 38. E


9. B 19. C 29. B 39. A

10. D 20. E 30. E 40. E


1. Ada berapa bilangan bulat prima atau genap antara 1 sampai 100 (inklusif) yang tidak dapat dibagi 5?
a. 63
b. 64
c. 65
d. 66
e. 67
2. Angka yang menempati digit satuan dari 21100 - 25100 + 29100 - 33100 adalah:
a. 0
b. 2
c. 3
d. 6
e. 8
3. 1, 121, 1331, 12321 merupakan contoh bilangan palindrome. Hitunglah banyaknya bilangan
palindrome dari 1 sampai 10000 (inklusif)
a. 194
b. 195
c. 196
d. 198
e. 200
4. Ada 7 orang yang ingin pergi ke bioskop. Sebut mereka A, B, C, D, E, F dan G. Mereka duduk
bersebelahan, namun terdapat aturan mengenai posisi duduk sebagai berikut:
 A tidak ingin duduk di sebelah B

 C ingin duduk di sebelah D

 E ingin duduk di pojok kiri

 F tidak ingin duduk di sebelah E


Berapa banyak urutan duduk agar semua keinginan mereka terpenuhi?
a. 72
b. 96
c. 120
d. 144
e. 16810
5. Bilangan Harshad didefinisikan sebagai bilangan yang habis dibagi oleh hasil penjumlahan setiap digit
dari bilangan itu sendiri. Contohnya bilangan 18, karena 18 habis dibagi oleh 9. Ada berapa banyak
bilangan Harshad dari 1 sampai 50?
a. 20
b. 21
c. 22
d. 23
e. 24
6. Terdapat sebuah papan berukuran 3x3. Dalam papan tersebut akan diisi dengan tepat 1 angka diantara
angka 1, 2, dan 3. Papan tersebut dikatakan Cahyaid jika untuk setiap barisnya tidak ada angka yang
sama dan untuk setiap kolomnya juga tidak terdapat angka yang sama. Pak Dengklek memilih 6 dari 9
petak tersebut secara acak dan mengisi petak-petak tersebut dengan 3 buah angka 1 dan 3 buah angka
2. Berapakah peluang bahwa terdapat suatu cara pengisian untuk papan tersebut sehingga papan tersebut
menjadi Cahyaid?
a. 1/7
b. 2/7
c. 3/7
d. 4/7
e. 5/7
7. 3 buah dadu dengan 8 sisi. Dadu pertama berisi angka dari 1-8, dadu kedua berisi angka dari 3-10, dan
dadu ketiga berisi angka dari 5-12. Ketiga dadu tersebut akan dilempar secara bersamaan. Berapakah
peluang jumlah dari ketiga dadu tersebut adalah 16?
a. 1/128
b. 9/128
c. 25/128
d. 49/128
e. 81/1285
8. Bilangan ajaib adalah bilangan yang memiliki jumlah faktor yang menyisakan 1 apabila dibagi 4,
sebagai contoh adalah angka 1, 1 memiliki 1 buah faktor (yaitu 1). Untuk kesekian kalinya, pak
Dengklek ingin meminta tolong kalian untuk menghitung ada berapa banyak bilangan ajaib yang
berada diantara 1 dan 300 inklusif. Ada berapakah bilangan ajaib yang ingin diketahui pak Dengklek?
a. 9
b. 5
c. 2
d. 4
e. 8
9. Pak Dengklek sangat suka makan bakso. Oleh karena itu, pada suatu hari ia berpikir jika ia ingin
memotong sebuah bakso sebanyak 3 kali, berapa paling banyak jumlah potongan yang bisa ia dapat?
a. 5
b. 6
c. 7
d. 8
e. 9
10. Terdapat sebuah grid berukuran 50x5, dengan petak pojok kiri atas bernomor (1,1) dan pojok kanan
bawah bernomor (50,5). Pak Dengklek saat ini sedang ada di petak (1, 1) dan ingin pergi ke petak
(50,5). Jika ia hanya bisa pindah sebanyak 1 petak ke kanan atau 1 petak ke bawah pada setiap
langkahnya, ada berapa banyak cara untuk Pak Dengklek melakukan perjalanan tersebut tanpa melalui
petak (25,3)?
a. 178750
b. 64675
c. 114075
d. 292825
e. 90000
11. Kisah ini mengenai kehidupan masa lalu Pak Dengklek di zaman Paleolitikum. Pada saat itu diketahui
beberapa hal:
 Orang yang bisa membunuh hewan pasti pandai mengasah batu.
 Orang yang hidup nomaden (berpindah-pindah) bisa makan sayur-sayuran.
 Setiap orang pasti suka makan sayur atau daging.
 Reaksi orang terhadap suatu jenis makanan hanya suka atau tidak suka.
 Orang yang membunuh hewan suka makan daging.
 Orang yang tidak punya rumah pasti hidupnya nomaden.
 Orang yang tidak suka makan sayur pasti tinggal menetap di hutan untuk berburu.
Diketahui bahwa Pak Dengklek saat itu tidak punya rumah dan suka makan daging.
Terdapat 3 pernyataan sebagai berikut:

1. Pak Dengklek pandai mengasah batu.


2. Pak Dengklek suka makan sayur-sayuran.
3. Pak Dengklek hidup di darat
Pernyataan yang pasti benar adalah:
a. Tidak ada
b. 1 dan 2
c. 2
d. 1 dan 3
e. Semua Benar
12. Nilai yang menyebabkan pertanyaan dibawah ini bernilai TRUE adalah:

(P and ((not P or not(Q or (not R and Q))) and (P and (Q or not R))))

a. P=False, Q=True, R=False


b. P=True, Q= True, R=False
c. P=True, Q=False, R=False
d. P=True, Q=True, R=True
e. Tidak mungkin pernyataan di atas bernilai benarHari ini libur
13. Bujur sangkar Pascal merupakan penjumlahan elemen-elemen yang berada di tengah tiap baris di
segitiga Pascal, perhatikan gambar untuk lebih jelasnya. BP(n) artinya kita menghitung jumlah elemen
tengah di baris ke-n, ke-n-1, dan ke-n-2. Maka nilai dari BP(15) adalah.

BP(7) = 6+10+10+20 = 46

BP(6) = 3+3+6+10+10 = 22
a. 8746
b. 9374
c. 4356
d. 7788
e. 5938
14. Bilangan-bilangan 1, 2, 3, ⋅⋅⋅, 15, 16 disusun pada persegi 4 x 4. Untuk i = 1, 2, 3, 4, misalkan bi
adalah jumlah bilangan-bilangan pada baris ke-i dan ki adalah jumlah bilangan-bilangan pada kolom
ke-i. Misalkan pula d1 dan d2 adalah jumlah bilangan-bilangan pada kedua diagonal. Susunan tersebut
dapat disebut Antimagic jika b1, b2, b3, b4, k1, k2, k3, k4, d1, d2 dapat disusun menjadi sepuluh
bilangan berurutan. Tentukan bilangan terbesar di antara sepuluh bilangan berurutan tersebut yang
dapat diperoleh dari sebuah Antimagic.
a. 38
b. 39
c. 40
d. 41
e. 42
15. Diketahui himpunan kosong A dan B yang dapat ditambahkan bilangan bulat dari i dengan 1 <= i <=
30. Bilangan i akan dimasukkan ke himpunan A dan B dengan syarat berikut.
 Bilangan yang telah dimasukkan ke himpunan yang satu tidak dapat dimasukkan ke
himpunan bilangan lainnya.
 Hasil perkalian dua bilangan yang berada di himpunan yang sama setelah dimodulo 31
akan selalu menghasilkan bilangan yang berada di himpunan A.
 Hasil perkalian dua bilangan yang berada di himpunan yang saling beda setelah dimodulo
31 akan selalu menghasilkan bilangan yang berada di himpunan B.
 Bilangan 1 berada di himpunan A
Maka banyaknya anggota himpunan A dan B berturut-turut adalah:
a. 11 dan 19
b. 12 dan 18
c. 13 dan 17
d. 14 dan 16
e. 15 dan 15
16. Kwak bertanya pada 120 orang untuk menebak sebuah angka yang merupakan permutasi dari 12345
yang sedang dipikirkannya. Setiap orang mencoba menebak permutasi yang benar. 10 orang menebak
sebuah permutasi dan berbeda dengan yang dipikirkan oleh Kwak dalam 5 tempat (contoh apabila
angka yang dipikirkan Kwak adalah 54321, kemudian seseorang menebak 12435, maka orang tersebut
salah dalam 5 tempat). 45 orang menebak sebuah permutasi dan berbeda dengan yang dipikirkan oleh
Kwak dalam 4 tempat. 45 orang menebak dan berbeda dalam 3 tempat. 15 orang menebak dan berbeda
dalam 2 tempat. M merupakan bilangan yang menyatakan banyaknya orang yang berhasil menebak
angka yang dipikirkan oleh Kwak dengan benar (tidak ada tempat yang salah), dan N merupakan
bilangan yang menyatakan banyaknya orang yang menebak sebuah permutasi dan berbeda dengan
yang dipikirkan oleh Kwak dalam 1 tempat. Berapakah nilai M-N?
a. 5
b. 3
c. 2
d. 1
e. 0
17. Berkaitan dengan soal nomor 16, berapa banyak kemungkinan susunan permutasi yang berbeda dan
tidak ada digit yang benar penempatannya (berbeda dalam 5 tempat)?
a. 119
b. 60
c. 44
d. 24
e. 10
18. Sebuah bus sedang beroperasi dengan mengangkut kurang dari 100 penumpang. Pada pemberhentian
A, terdapat tepat 3/4 dari penumpang yang ada di dalam bus turun dan 7 penumpang baru naik ke
dalam bus. Hal yang sama terjadi juga pada dua perhentian berikutnya, yaitu perhentian B dan C.
Berapa banyak penumpang yang turun pada perhentian C?
a. 6
b. 7
c. 8
d. 9
e. 10
19. Pak Dengklek sedang memimpin proyek pembangunan jalan di negara A, yang berjumlah 13 kota
dengan rencana pembangunan 32 jalan. Suatu hari, Pak Dengklek harus pergi menemui istrinya di
Indonesia dan meninggalkan untuk sementara waktu proyeknya. Presiden negara A ingin mengetahui
berapa jalan antar kota yang sudah selesai, untuk membayar sementara Pak Dengklek, dengan peta
sebagai berikut.

Dengan angka angka di dalam kota melambangkan banyaknya jalan yang menghubungkan kota tersebut
dengan kota lain, tentukanlah berapa banyak jalan yang sudah jadi.
a. 11
b. 13
c. 16
d. 18
e. 26
20. Di hari ulang tahun Kwak, dia mengadakan permainan “Putaran Permen.” Permainan tersebut adalah
sebagai berikut, misalnya ada 10 orang yang ikut, termasuk Kwak. Mereka semua melingkar, dengan
Kwak selalu di posisi pukul 12. Kwak yang membawa permen dengan jumlah yang sangat besar akan
membagikannya kepada teman-temannya. Dimulai dari Kwak, mereka akan berhitung dari 1 (satu)
hingga 2 (dua). Setiap orang yang berhitung 2 (dua) akan mendapatkan 1 (satu) buah permen, tapi
setelah itu harus keluar dari lingkaran. Hal tersebut terus dilakukan hingga tersisa 1 (satu) orang, dan
orang tersebut akan mendapatkan sisa permen yang tersedia. Dalam kasus 10 orang, maka orang ke-5
(Kwak adalah orang bernomor 1) yang akan mendapatkan sisa permen. Jika ada 65000 orang, maka
orang nomor berapakah yang akan mendapatkan sisa permen?
a. 64233
b. 64465
c. 64464
d. 32233
e. 32232
21. Terdapat 4 sahabat, yaitu Ali, Badu, Cahya, dan Didi. Seorang di antara mereka selalu jujur dan
seorang lainnya selalu berbohong. Sedangkan, dua orang lainnya bisa berbohong ataupun berkata jujur.
Masing-masing dari mereka mengeluarkan sebuah kalimat berisi 1 atau 2 pernyataan yang seluruhnya
jujur atau bohong seluruhnya (bila pertanyaan pertama jujur, maka pernyataan kedua juga jujur; bila
pertanyaan pertama bohong, maka pernyataan kedua juga bohong)
Ali: “Badu selalu berbohong dan Cahya selalu jujur”
Didi: “Tidak, Badu selalu jujur dan Cahya selalu berbohong”
Badu: “Walau Ali tidak selalu berbohong, yang barusan ia katakan itu bohong”
Cahya: “Tidak, kalian semua berbohong”
Dari pernyataan di atas, siapa 2 orang di antara mereka yang terkadang bohong dan terkadang jujur?
a. Ali dan Didi
b. Ali dan Cahya
c. Didi dan Cahya
d. Didi dan Badu
e. Badu dan Cahya
22. Pada ulang tahunnya yang ke 67 tahun depan, pak Dengklek ingin mengundang sedikit mungkin orang
sehingga paling tidak ada 67 orang yang berulang tahun pada hari yang sama. Berapakah orang yang
harus ia undang untuk pestanya? (diasumsikan pada setiap tahun hanya ada 365 hari)
a. 67
b. 23431
c. 24091
d. 23429
e. 24090
23. Pada suatu hari, Pak Chanek ingin meminjam uang Pak Dengklek. Tetapi, karena Pak Chanek terlalu
sering meminjam uang, Pak Dengklek memberikan sebuah ujian.
 Pak Dengklek: “Kamu harus mencari tahu 3 bilangan yang sedang aku pikirkan. Perkalian dari
ketiganya adalah 140. Bilangan terbesarnya adalah bilangan favoritku.”
 Pak Chanek: “Aku tahu bilangan favoritmu, tapi aku masih belum tahu apa ketiga bilangan
tersebut.”
 Pak Dengklek: “Jumlah dari 2 bilangan terkecil adalah bilangan genap.”
 Pak Chanek: “Oh, sekarang aku tahu.”
Berapakah penjumlahan dari ketiga bilangan tersebut?
a. 41
b. 39
c. 34
d. 28
e. 21
24. Untuk hadiah ulang tahun pak Dengklek, pak Ganesh ingin memberikan beberapa barisan yang sangat
unik. Diantaranya adalah:
 1, 2, 3, 4, 5, 6, ….
 1, 4, 9, 16, 25, 36, ….
 1, 2, 6, 24, 120, ….
 1, 4, 18, 96, ….
Seketika pak Dengklek berkata ke pak Ganesh “Barisan apakah yang kamu berikan kepadaku bung?”.
Pak Ganesh pun menjawab, “Saya tidak akan memberitahumu sebelum kamu menemukan suku ke-6
dari barisan terakhir”. Bantulah pak Dengklek untuk mengetahui barisan ke-4 dengan menemukan
suku ke- 6 nya?
a. 4320
b. 4230
c. 2340
d. 5040
e. 1296
25. Salah satu perusahaan Dengklek Group, menjual sebuah produk baru berupa kedelai. Kedelai ini bukan
sembarang kedelai, namun kedelai ini adalah jenis kedelai kesukaan bebek bebek pak Dengklek. Pada
suatu saat pemanenan, pak Dengklek mengamati bahwa kedelai yang dipanen berbobot 100kg dengan
kadar air sebesar 99%. Setelah itu, kedelai hasil panen tersebut mengalami penyusutan kadar air,
menjadi 98%. Dalam hal ini, dapat dipastikan bobot dari kedelai-kedelai tersebut berkurang, berapakah
perubahan bobot yang dialami kedelai-kedelai tersebut?
a. 50 kg
b. 1 kg
c. 2 kg
d. 25 kg
e. 49 kg
26. Pak Dengklek sedang melatih Beklek, bebek kesayangannya, untuk mengikuti lomba lari antar
kandang bebek. Setiap harinya Beklek harus berlari berkeliling kolam dan Pak Dengklek mencatat
waktu tempuh setiap putarannya. Dari data waktu yang dicatatnya, Pak Dengklek ingin mengetahui
deetan putaran- putaran manakah Bekwat berada pada kondisi terbaiknya. Selama ini Beklek memiliki
rata-rata p=14 per putaran. Setiap Beklek berlari dengan waktu q maka Pak Dengklek memberi nilai
sebesar (p-q). Kondisi terbaik adalah ketika total nilai dalam deretan itu adalah sebesar-besarnya dan
dengan panjang deretan putaran sependek-pendeknya. Misalnya suatu hari catatan waktunya adalah
Putaran ke 1 2 3 4 5 6 7 8
Waktu tempuh 13 13 13 18 12 13 13 17

Kondisi terbaiknya adalah mulai dari putaran ke 5 sampai dengan ke 7 dengan total 4 point. Untuk data
catatan waktu berikut berapa total nilai pada putaran terbaiknya Beklek hari itu?
Putaran ke 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Waktu tempuh 13 15 11 12 16 16 15 12 14 16 12 12 15 12 16 11 15 15
a. 3
b. 4
c. 5
d. 6
e. 7
27. Pak Dengklek baru membeli sejumlah serabi. Serabi hendak dihangatkan menggunakan alat
penghangat serabi yang bisa diprogram. Mula-mula 5 serabi ditumpuk. Serabi-serabi kita sebut dari
paling bawah ke atas a, b, c, d, e. Posisi serabi pada alat dinomori 1 sampai dengan 5, dari terbawah
hingga teratas. Jika tombol angka k pada alat ditekan, 1 £ k £ 5, maka serabi pada posisi k hingga ke 5
akan bersama sama dibalik. Contohnya k=4, maka urutan serabi menjadi a, b, c, e, d. Jika berikutnya
ditekan k = 2, maka urutan serabi menjadi a, d, e, c, b. Jika setelah itu berturut-turut ditekan tombol 1,
4, 3, 5, 2, 3, manakah urutan yang dihasilkan.
a. b, c ,d, a, e
b. a, b, c, d, e
c. b, e, a, d, c
d. e, d, c, b, a
e. a, e, b, d, c

28. Setelah baris-berbaris Pak Dengklek melanjutkan dengan permainan lain bersama ke 15 bebek-bebek
kesayangannya. Bebek-bebek tetap dalam posisi berbaris namun dibebaskan memilih menghadap ke
kiri atau ke kanan.
Satu langkah adalah: mulai dari sebelah kiri, satu demi satu, Pak Dengklek menyuruh setiap bebek
berbalik arah, dan berhenti saat satu bebek berbalik dari kiri ke kanan, atau semuanya sudah
menghadap ke kanan.
Langkah demi langkah dilakukan hingga berhenti (semua menghadap ke
kanan). Berikut ini arah hadap ke limabelas bebek ini dari terkiri ke terkanan.

Kiri, kanan, kanan, kanan, kiri, kiri, kanan, kiri, kiri, kanan, kanan, kiri, kanan, kiri, kanan.
Pertanyaan: Jika urutan langkah itu kita sebut yang pertama, kedua, ketiga, dst. Tepat setelah langkah
ke 10 berapa banyak bebek yang pernah berubah arah?
Pilihan Jawaban:
a. antara 1 sampai dengan 3
b. antara 4 sampai dengan 6
c. antara 7 sampai dengan 9
d. antara 10 sampai dengan 12
e. antara 13 sampai dengan 15

29. Saatnya makan siang, para bebek akan diatur untuk duduk di ruang makan pada kursi-kursi yang
kebetulan sudah dinomori dari 0, 1, 2, … 14. Supaya ada variasi urutan duduk maka Pak Dengklek
akan mendudukan para bebek menurut aturan sebagai berikut. Berdsarkan urutan awal dengan angka
menyatakan tinggi badan: 44, 94, 83, 42, 38, 36, 20, 49, 33, 92, 34, 32, 13, 24, 53. Setiap bebek mulai
dari yang pertama hingga terakhir harus berhitung sebagai berikut.
 Jika berat badan X maka dapatkan Y = (X*11) mod 15.
 Jika kursi nomor Y kosong, maka bebek dengan berat badan X menempati posisi Y.
 Jika tidak, (sudah ada yang menempati), maka ulangi memeriksa kursi-kursi berikutnya (atau no
Y+1, Y+2, …) hingga ada yang kosong atau jika sampai nomor 14 terisi, ia melanjutkan
memeriksa dari kursi nomor 0, nomor 1, dan seterusnya.
Bebek dengan berat badan 44, akan menempati kursi 4, karena 44*11 mod 15 = 4 (masih kosong).
Bebek dengan berat badan 94, akan menempati kursi 14, karena 94*11 mod 15 = 14 (masih kosong).
Bebek dengan berat badan 83, akan menempati kursi 13, karena 83*11 mod 15 = 13 (masih kosong).
Bebek dengan berat badan 42, akan menempati kursi 12, karena 42*11 mod 15 = 12 (masih kosong).
Bebek dengan berat badan 38, akan menempati kursi 0, karena 42*11 mod 15 = 13 (sudah terisi), no
14 juga sudah terisi, baru di 0 masih kosong. Dan seterusnya.
Pertanyaan: Bebek dengan berat badan berapakah yang menempati kursi no 9?
a. 33
b. 13
c. 83
d. 38
e. 53

30. Potongan kode berikut berlaku untuk soal 30 dan 31.


type
arr= array of integer;
var
slark : array [0 .. 10] of integer = (26, 12, 10, 17, 20, 14, 44,
35, 5, 24, 33);
centaur : integer = 5;

function kwekkwok (slark: arr; left,right: integer): integer;


var
i,j,tmp,pivot:integer;
begin
i:= left; j:=right; pivot:=slark[(left+right) div 2];
while (i <= j) do begin
while (slark[i]<pivot) do
i:=i+1;
while (slark[j]>pivot) do
j:=j-1;
if (i<=j) then begin
tmp:=slark[i];
slark[i]:=slark[j];
slark[j]:=tmp;
i:=i+1;
j:=j-1;
end;
end;
if (slark[centaur]=pivot) then begin
kwekkwok:=pivot;
end else if ((left<j) and (centaur>=left) and (centaur<=j)) then
begin
kwekkwok:=kwekkwok(slark, left, j);
end else if ((i<right) and (centaur>=i) and (centaur<=right)) then
kwekkwok:=kwekkwok(slark, i, right);
end;
Berapa hasil yang dikembalikan jika dijalankan fungsi kwekkwok(slark, 0, 10)?
a. 5
b. 12
c. 17
d. 20
e. 44
31. Ada berapa kali pemanggilan fungsi kwekkwok pada soal nomor 31?
a. 4
b. 6
c. 8
d. 10
e. 11
32. Potongan kode berikut berlaku untuk soal 32 sampai 34.
var
arr : array [0..5] of integer = (8,1,6,3,4,15);
i : integer;
aduk : array [0..6] of integer;

procedure kalikali();
begin
aduk[0] := 1;
for i:=1 to 6 do
aduk[i] := aduk[i-1] * arr[i-1];
end;

function hasil (kiri, kanan :integer): integer;


begin
hasil := (aduk[kanan] div aduk[kiri-1]);
end;

begin
kalikali();
writeln(aduk[3]);
writeln(hasil(2,3));
writeln(hasil(4,6));
end.

Apakah keluaran baris writeln(aduk[3]); dari program di atas?


a. 3
b. 6
c. 48
d. 144
e. 180
33. Apakah keluaran baris writeln(hasil(2,3)); dari program di atas?
a. 3
b. 6
c. 48
d. 144
e. 180
34. Apakah keluaran baris writeln(hasil(4,6)); dari program di atas?
a. 3
b. 6
c. 48
d. 144
e. 180
35. Potongan kode berikut berlaku untuk soal 35 dan 36:
function asik(a,b,x : integer) : integer; var
i:integer;
begin
for i:= 1 to x do
a := a+b;
asik := a;
end;

function seru(a,b,x : integer) : integer;


var i:integer;
begin
for i:= 1 to x do
begin
a := a-b;
break;
end;
seru := a;
end;
bebek(1));

Apakah hasil yang dikembalikan dari menjalankan fungsi asik (1, 9, 5)?
a. 46
b. 45
c. 37
d. 15
e. 142
36. Apa hasil yang dikembalikan dari menjalankan fungsi seru( asik( 15, 9, 2000 ) , 9, 2000
)? a. 16006
b. 16015
c. 18037
d. 18000
e. 18006
Informasi referensi terkait Olimpiade bidang Informatika/Komputer:

● Situs Tim Olimpiade Komputer Indonesia (TOKI) yang berisi informasi umum tentang
olimpiade komputer (kompetisi pemrograman). Link situsnya: http://toki.or.id

● Group Olimpiade Informatika Indonesia di facebook yang dimanfaatkan sebagai forum diskusi
latihan untuk kompetisi pemrograman. Link situsnya: https://www.facebook.com/groups/olimpinfo

● TOKI Learning Center (TLC) merupakan situs untuk belajar dan berlatih mengerjakan soal-soal
pemrograman. Soal-soal yang ada di situs ini dikumpulkan dari kegiatan-kegiatan yang
dilaksanakan oleh Tim Olimpiade Komputer Indonesia (TOKI). Link situsnya: https://training.ia-
toki.org

~ halaman ini boleh dilepas dan dibawa pulang ~


KUNCI JAWABAN
SOAL OSK 2019 BIDANG INFORMATIKA/KOMPUTER

1. B 11. C 21. A 31. B


2. D 12. C 22. E 32. C
3. D 13. D 23. B 33. B
4. C 14. B 24. A 34. E
5. D 15. E 25. A 35. A
6. A 16. A 26. C 36. E
7. B 17. C 27. C
8. D 18. D 28. B
9. D 19. C 29. B
10. A 20. B 30. D
1. Pak Dengklek memberikan tebak-tebakan kepada anaknya untuk menentukan nilai sebuah fungsi F(x,
y) saat diberikan dua buah sembarang nilai x dan y. Jika diketahui bahwa F(3, 1) bernilai 24, kemudian
F(5,
2) bernilai 37, dan F(7, 2) bernilai 59. Maka berapakah nilai F(7, 5)
=…? a. 211
b. 212
c. 222
d. 202
e. 242
2. Sebagai Pembina Olimpiade Komputer SMA Maju Bersama, Pak Dengklek menyiapkan 10 soal
latihan, dari nomor 1 sampai nomor 10 yang harus dikerjakan oleh siswanya. Aturan pengerjaan
soalnya adalah soal nomor 1, 3 dan 5 wajib dikerjakan tetapi para peserta hanya mengerjakan 8 dari 10
soal yang tersedia. Banyak cara peserta memilih soal yang dapat dikerjakan adalah?
a. 21
b. 28
c. 45
d. 48
e. 56
3. Dari kota A ke kota B dilayani oleh 4 bus dan dari B ke C oleh 3 bus. Seseorang berangkat dari kota A
ke kota C melalui B kemudian kembali lagi ke A juga melalui B. Jika saat kembali dari C ke A, ia
tidak mau menggunakan bus yang sama, maka banyak cara perjalanan orang tersebut adalah
a. 12
b. 36
c. 72
d. 96
e. 144
4. Sisa pembagian 13 + 23 + 33 + 43 + … + 993 + 1003 oleh 7 adalah…
a. 1
b. 2
c. 3
d. 4
e. 5
5. Dua digit terakhir dari 43432018 adalah…
a. 41
b. 01
c. 07
d. 49
e. 43
6. Selvi naik taksi onlin berargo dari Kota P ke Kota Q yang berjarak 10 km. Besarnya argo taksi adalah
Rp10.000,00 untuk 1 km pertama, kemudian bertambah Rp500,00 tiap 100 m selanjutnya. Besarnya
ongkos taksi yang harus dibayar Selvi adalah?
a. Rp45.000,00
b. Rp54.500,00
c. Rp55.000,00
d. Rp65.500,00
e. Rp60.000,00
7. Pak Dengklek menjatuhkan sebuah bola pingpong dari ketinggian 25 m. Bola tersebut memantul
kembali dengan ketinggian 4/5 kali tinggi semula. Pematulan ini berlangsung terus menerus hingga
bola berhenti. Jumlah seluruh lintasan bola adalah … m.
a. 200
b. 215
c. 225
d. 250
e. 235
8. Terdapat 100 permen. 91 diantaranya masih segar. Apabila permen tersebut akan dibagi rata ke dua
orang secara rata (masing-masing 50 permen, tetapi dibagikan secara acak), manakah fakta yang pasti
benar?
a. Terdapat satu orang yang memiliki permen segar >= 40
b. Terdapat dua orang yang memiliki permen segar >= 45
c. Terdapat satu orang yang memiliki permen segar >= 46
d. Terdapat satu orang yang memiliki permen segar >= 50
e. Pernyataan a, b, c, dan, d salah.

Deskripsi berikut digunakan untuk soal nomor 9 dan 10


Pada liburan kali ini, Pak Blangkon akan melakukan bersih-bersih pada 5 kandang ayamnya yakni kendang
E, F, G, H, dan I. Karena kelima kandang tersebut saling berhubungan maka Pak Blangkon harus
memperhatikan ketentuan berikut dalam menentukan urutan pembersihan kandang:

 Kandang H dapat dibersihkan jika kandang F sudah dibersihkan


 Kandang G harus dibersihkan sebelum membersihkan kandang E
 Kandang I dibersihkan pada urutan keempat
9. Urutan pembersihan kendang yang benar adalah …
a. I, G, E, F, H
b. F, H, E, I, G
c. H, E, G, I, F
d. G, F, E, I, H
e. G, I, F, E, H
10. Jika Pak Blangkon membersihkan kandang G pada urutan kedua, maka pernyataan yang benar adalah
a. Kandang E dibersihkan pada urutan keempat
b. Kandang I dibersihkan pada urutan terakhir
c. Kandang H dibersihkan pada urutan kelima
d. Kandang F dibersihkan pada urutan pertama
e. Kandang E dibersihkan pada urutan pertama

Deskrispsi Untuk Soal Nomor 11 dan 12


Pak Dengklek menugaskan Kwak, Kwik, Kwuk, Kwek, dan Kwok untuk menjaga pekarangan berisi
banyak bebek di belakang rumahnya. Setiap harinya biasanya terdiri 2-3 bebek yang harus menjaga dengan
ketentuan sebagai berikut:

 Setiap bebek mendapat jatah tiga hari bertugas dan libur setiap Senin.
 Pada Selasa dan Jumat harus ada tiga bebek yang menjaga.
 Kwak bertugas selama tiga hari berturut-turut, termasuk Jumat.
 Kwek tidak bertugas di hari Minggu.
 Hari tugas Kwik dan Kwuk berselang-seling.
 Kwok selalu bertugas bersama Kwik.
11. Jika Kwuk bertugas pada Rabu, manakah pernyataan yang tepat?
a. Kwak bertugas dengan Kwok pada hari Selasa.
b. Kwuk bertugas pada hari Minggu dengan Kwek.
c. Kwok bertugas dengan Kwik dan Kwek pada Rabu.
d. Kwek bertugas dengan Kwuk dan Kwak pada Jumat.
e. Kwik bertugas bersama Kwak dan Kwok pada Kamis.
12. Jika Kwuk bertugas pada Rabu, pada hari apa saja dipastikan yang jaga hanya ada dua bebek?
a. Selasa, Rabu, dan Kamis
b. Rabu, Kamis, dan Minggu
c. Selasa, Kamis, dan Minggu
d. Rabu, Jumat, dan Sabtu
e. Jumat, Sabtu, dan Minggu
13. Tabungan Ambyar lebih banyak daripada jumlah tabungan Bela dan Kuya. Tabungan Bela lebih
banyak daripada tabungan Kuya. Tabungan Denmas lebih banyak daripada jumlah tabungan Ambyar,
Bela, dan Kuya. Pernyataan yang benar adalah?
a. Tabungan Ambyar lebih banyak daripada tabungan Denmas.
b. Jumlah tabungan Denmas dan Kuya sama dengan jumlah tabungan Ambyar dan Bela.
c. Tabungan Denmas merupakan penjumlahan tabungan Ambyar, Bela, dan Kuya.
d. Yang mempunyai tabungan paling banyak adalah Ambyar.
e. Kuya mempunyai tabungan paling sedikit.
14. Kwak adalah bebek yang paling tinggi di kandang Pak Dengklek. Kwik kalah tinggi dibanding Kwuk,
tetapi Kwuk sama tingginya dengan Kwek. Kwek lebih tinggi dari Kwok. Maka pernyataan yang benar
berikut ini adalah
a. Kwuk tidak lebih tinggi daripada Kwik.
b. Kwik tidak kalah tinggi daripada Kwak
c. Kwek lebih tinggi daripada Kwak
d. Kwek lebih tinggi daripada Kwik
e. Kwok lebih tinggi daripada Kwuk
15. Angga, Bandi dan Cinta diinterogasi oleh polisi atas pembunuhan dari Duduy. Bukti-bukti pada tempat
kejadian perkara (TKP) menunjukkan bahwa mungkin seorang pengacara terlibat pada perkara
pembunuhan. Mereka, salah satunya adalah pembunuh, membuat dua buah pernyataan sebagai berikut.

 Angga memberi pernyataan:


o Saya bukan pengacara
o Saya tak terlibat pembunuhan Duduy
 Bandi memberi pernyataan
o Saya memang seorang pengacara
o Tetapi saya tak terlibat pembunuhan Duduy
 Cinta memberikan pernyataan
o Saya bukan pengacara
o Seorang pengacara yang membunuh Duduy
Pada pemeriksaan polisi ditemukan bahwa hanya dua dari pernyataan di atas yang benar dan ternyata
hanya satu dari ketiga orang itu yang bukan pengacara.
Siapakah yang membunuh Duduy?
a. Angga
b. Bandi
c. Cinta
d. Angga dan Bandi bersama-sama
e. Jawaban a, b, c, dan e salah.
16. Perhatikan operasi logika berikut?
((A or not C) and (A and D or A and not D) or A and not C or not C) and (not E and (E or
not B) or (not B or E and E) and(E or B))

Agar pernyataan di atas bernilai true maka nilai A, B, C, D, E harus:


a. A = True, B = True, C = True, D = True, E = False.
b. A = True, B = False, C = False, D = False, E = True.
c. A = True, B = True, C = False, D = True, E = False.
d. A = False, B = True, C = True, D = False, E = False.
e. Jawaban a, b, c, dan d salah
17. Dari 180 hakim yang ditunjuk untuk bertugas di pengadilan, 30 persen adalah perempuan dan 25
persen berasal dari kelompok minoritas. Jika 1/9 dari perempuan yang diangkat berasal dari kelompok
minoritas, berapa banyak hakim yang diangkat bukan perempuan atau bukan dari kelompok minoritas?
a. 75
b. 81
c. 87
d. 93
e. 99
18. Selama sebulan Kwak mendapat uang bulanan dari Pak Dengklek dengan syarat setiap kali jajan dia
hanya boleh membelanjakan seperlima bagian dari uang yang masih dimiliki. Jika suatu saat sisa uang
yang dimiliki kurang dari dua perlima uang semula, berarti paling sedikit Kwak sudah jajan sebanyak
berapa kali?
a. 3
b. 4
c. 5
d. 6
e. 7
19. Tempat duduk gedung pertunjukan film diatur mulai dari baris depan ke belakang dengan banyak baris
di belakang lebih 4 kursi dari baris di depannya. Bila dalam gedung pertunjukan itu terdapat 15 baris
kursi dan baris terdepan ada 20 kursi, kapasitas gedung tersebut adalah ⋯⋅
a. 1200 kursi
b. 800 kursi
c. 720 kursi
d. 600 kursi
e. 300 kursi
20. Pada bidang XY, titik R dan S masing-masing memiliki koordinat (-2, 1) dan (4, -7). Jika titik P adalah
titik tengah segmen garis RS, berapakah koordinat titik P?
a. (-1, -3)
b. (1, -4)
c. (1, -3)
d. (2, -4)
e. (3, -4)
21. Diketahui A adalah himpunan bilangan bulat 1 sampai dengan 1000, dan B adalah himpunan bilangan
bulat 2000 sampai dengan 2500. Mukidi ingin membuat pasangan bilangan: 1 bilangan dari A dan 1
bilangan dari B yang jika dijumlahkan keduanya menghasilkan nilai ganjil. Ada berapa banyak
pasangan yang bisa dibentuk?
a. 500
b. 251
c. 249
d. 1000
e. 1500
22. Seorang sukarelawan akan membagikan paket makanan yang terdiri dari beras, gula, mi instan dan
minyak goreng, kepada 6 desa yang berada di satu jalur jalan poros yang telah rusak. Pos komando
(posko) sebagai titik 0 km ada di pusat kota. Desa C berjarak 2 km lebih jauh daripada desa A yang
hanya 3 km dari posko. Desa B berjarak dua kali desa C jika dihitung dari posko. Desa D jaraknya
sama dengan desa F, yakni 7 km dari posko. Desa E berjarak 2 kali jarak desa A jika dihitung dari
posko. Dengan alasan ketersediaan alat transportasi dan medan yang berat, maka desa yang berjarak
lebih dari 6 km hanya mendapatkan mi instan dan gula, sedangkan desa yang sama atau kurang dari 6
km mendapatkan paket lengkap. Di samping itu, setiap 2 km kendaraan pengangkut bantuan harus
istirahat meskipun sudah berhenti lama ketika menurunkan bantuan di suatu desa tertentu. Desa
manakah yang jaraknya paling jauh dari Posko?
a. Desa A
b. Desa B
c. Desa D
d. Desa E
e. Jawaban a, b, c, dan e salah.
23. Pak Blangkon berencana mengecat kandang-kandang ayamnya. Konfigurasi lokasi dari kandang yang
dimiliki oleh Pak Blangkon adalah sebagai berikut:

Posisi kandang dilambangkan dengan bulatan. Jika dua buah kandang dihubungkan oleh sebuah garis
artinya ada jalan setapak yang menghubungkan secara langsung dua buah kandang tersebut. Seekor
ayam tidak akan senang jika kandangnya berwarna sama dengan kandang ayam lain yang terhubung
langsung dengan jalan setapak. Karena dana yang terbatas, berapa minimal warna cat yang harus dibeli
oleh Pak Blangkon sehingga semua ayam senang.
a. 1
b. 2
c. 3
d. 4
e. 5
24. Terdapat 15 pengguna facebook yaitu A, B, C, D, E, F, G, H, I, J, K, L, M, N, dan O. Fungsi pertemanan
F(X,
Y) menyatakan bahwa X dan Y berteman di Facebook. Jika X dan Y berteman kemudian Y dan Z
berteman, maka bisa dipastikan bahwa X, Y, dan Z berada pada lingkaran pertemanan yang sama.
Anda diberikan informasi status pertemanan antara pengguna sebagai berikut:
F(A,B) F(C, M) F(E,G)
F(A,D) F(D, J) F(O,N)
F(A,O) F(K,L) F(D,C)
F(B,N) F(L,H) F(H,I)
Berapakah banyaknya lingkaran pertemanan yang terbentuk?
a. 1
b. 2
c. 3
d. 4
e. 5
25. Blengki memasuki lift di sebuah lantai pada gedung bertingkat. Kemudian lift itu naik 4 lantai lalu
turun 3 lantai kemudian naik lagi 4 lantai. Sekarang Blengki berada di lantai 7. Di lantai berapakah
Blengki masuk lift?
a. 2
b. 3
c. 4
d. 5
e. 6
26. Kwak, Kwik, dan Kwek merupakan bebek-bebek Pak Dengklek yang sangat beruntung. Mereka baru
saja memenangkan undian dan memenangkan tiga unit rumah baru. Karena pihak penyelenggara
undian adil, mereka diperbolehkan untuk memilih ketiga rumah mereka sendiri. Kwak, Kwik dan
Kwek senang sekali bermain bersama, mereka tidak ingin rumah mereka jauh satu sama lain.

Berapakah jumlah jarak minimum dari ketiga pasang rumah tersebut? (Jumlah jarak didefinisikan
sebagai jumlah dari jarak rumah Kwak-rumah Kwik, jarak rumah Kwik-rumah Kwek, jarak rumah
Kwek-rumah Kwak)
a. 24
b. 26
c. 28
d. 32
e. 34
27. Bebek-bebek baru Pak Dengklek yang bernama Anto, Budi, Candra, Doni, Eko, Ferdi, Geri, Hendra,
Igor, dan Joko belum saling mengenal satu sama lain. Definisi saling mengenal adalah bebek A
mengenal bebek B jika dan hanya jika bebek B mengenal bebek A juga. Berikut adalah daftar bebek-
bebek yang telah dikenal oleh masing-masing bebek.
Anto : Eko, Doni, dan Ferdi
Budi : Anto, Hendra, Joko, Eko, dan
Ferdi Candra : Ferdi, Hendra, dan Joko
Doni : Anto, Candra, dan Budi
Eko : Joko, Igor, Hendra, Budi, dan
Anto Ferdi : Hendra, Igor, Geri, Anto, dan
Budi Geri : Anto, Budi, Ferdi dan Joko
Hendra : Anto, Eko, Ferdi, Igor, Joko, dan Budi
Igor : Geri, Hendra, Joko, Eko, dan Ferdi
Joko : Igor, Hendra, Anto, Geri, Eko, dan
Budi
Suatu hari Pak Dengklek ingin bertamasya bersama bebek-bebeknya menggunakan beberapa mobil.
Setiap mobil hanya boleh diisi oleh bebek-bebek yang sudah saling mengenal saja. Berapakah mobil
minimum yang harus disiapkan Pak Dengklek?
a. 1 mobil
b. 3 mobil
c. 4 mobil
d. 5 mobil
e. 8 mobil
28. Pak Dengklek memiliki empat buah pagar yang berada di koordinat kartesian (0, 0), (0, 3), (3, 5), dan
(4, 1). Untuk menghemat biaya, Pak Dengklek ingin menjual salah satu pagar. Namun Pak Dengklek
ingin agar luas dari segitiga yang dibentuk dari tiga pagar yang tersisa sebesar mungkin. Berapakah
nilai luas segitiga terbesar yang mungkin.
a. 13
b. 8.5
c. 7
d. 6
e. 4.5
29. Pak Dengklek baru saja merancang sebuah denah sebuah pameran. Ia merancang denah sedemikian
sehingga setiap pintu harus dan hanya dilewati sekali. Berikut adalah denah yang dibuat oleh Pak
Dengklek.
Pak Dengklek meminta bantuanmu untuk menentukan dua buah ruangan di mana yang satunya akan
ditempatkan pintu masuk dan yang lain akan ditempatkan pintu keluar. Ruangan-ruangan manakah
yang bisa ditempatkan pintu masuk dan pintu keluar?
a. 1 dan 4
b. 2 dan 3
c. 3 dan 8
d. 8 dan 9
e. 7 dan 9
30. Pak Dengklek merupakan ilmuwan terbaik di Singanesia. Saat ini ia hendak mencoba penemuan
terbarunya, mesin teleportasi! Ia ingin mencoba mesinnya tersebut untuk memindahkan barang sejauh
mungkin. Untungnya, Singanesia merupakan negara yang cukup besar.

Bantulah Pak Dengklek mencari pasangan kota terjauh yang mungkin! Perhatikan bahwa pasangan
kota terjauh yang dimaksud adalah 2 buah kota A dan B sehingga untuk setiap pasangan kota C dan D,
C != A atau D != B, sehingga jarak dari kota A dan B di graf di bawah lebih besar dari pada jarak C
dan D.
a. 22
b. 23
c. 24
d. 25
e. 26
31. Untuk mengisi liburan sekolah, Blengki memutuskan untuk berlibur ke Bali. Namun karena budget
yang terbatas, dia membeli tiket pesawat low-cost airline tanpa bagasi. Meski demikian sesuai dengan
aturan, Blengki masih diperbolehkan membawa barang-barang ke kabin dengan maksimal berat total
sebesar 7 kilogram. Untuk liburan kali ini, ada beberapa barang yang ingin dibawa oleh Blengki, tetapi
dia harus membertimbangkan berat barang tersebut beserta tingkat kepuasan yang akan diperoleh jika
barang tersebut dibawa. Berikut adalah barang-barang yang dipertimbangkan untuk dibawa beserta
tingkat kepuasannya:
Nama Tingkat Berat
Barang Kepuasan (kg)
Kamera 14 3
DSLR
Laptop 6 5
Power bank 10 1
Buku 5 2
Komik
Tablet 6 4
Tongsis 7 1
Tripod 3 1
Berapa tingkat kepuasan maksimal yang bisa diperoleh oleh Blengki sehingga total berat barang yang
dibawa seminimal mungkin dan tidak melebihi aturan kabin?
a. 37
b. 43
c. 34
d. 31
e. 32
32. Pak dengklek baru saja menemukan sebuah dokumen berusia puluhan ribu tahun, dokumen itu berisi
tentang bilangan tribonacci, bilangan tribonacci ke n didapatkan dengan menjumlahkan 3 bilangan
tribonacci sebelumnya. Melihat dokumen tersebut terdapat tabel yang rusak, keadaan tabel yang
sekarang hanya dapat dipakai untuk melihat data sebagai berikut:
N 1 2 3 4 5 6 7 8 9

F(N 193 376 687 1256


)
Pak dengklek sangat penasaran dengan angka awal dari barisan tribonacci ini, bantulah pak dengklek
mencari angka pertama dari barisan tribonacci ini!
a. 43
b. 10
c. 11
d. 12
e. 13
33. Pak Dengklek memperoleh pinjaman 56.000 dengan tingkat bunga r persen per tahun untuk membeli
komputer. Setelah satu tahun, Pak Dengklek melakukan pembayaran tunggal sebesar 56.840 untuk
membayar kembali pinjaman, termasuk bunga. Berapa nilai r?
a. 7,0
b. 8,4
c. 12,3
d. 14,0
e. 16,8
34. Ruang di area pameran disewakan sebesar Rp 15 per 30 m 2 untuk satu hari. Pak Dengklek menyewa
ruang pameran persegi panjang yang berukuran 8 m x 15 m, dan Pak Blangkon menyewa ruang
pameran persegi panjang berukuran 15 m x 20 m. Jika keduanya menyewa ruang pameran selama satu
hari, berapa Pak Dengklek membayar lebih banyak daripada Pak Blangkon?
a. Rp 27
b. Rp 36
c. Rp 54
d. Rp 90
e. Rp 180
35. Apa output dari program di bawah ini?
var a, b, c: integer;
begin
a := 12;
b := 7;
c := 0;
while b > 0 do
begin
c := c + a;
b := b - 1;
end;
writeln(c);
end.

a. 12
b. 7
c. 72
d. 19
e. 84
36. Perhatikan potongan berikut ini:
function panas (x : integer) : integer;
var dingin : integer;
begin
dingin := 0;
while (x >= 0) do begin
dingin := dingin + 1;
if (x mod 3 == 0) then
x := x - 5
else if (x mod 5 == 0) then
x := x - 3
else x := x - 1
end;
panas := dingin
end;

Apakah kembalian dari


panas(789)? a. 262
b. 263
c. 264
d. 265
e. 266
37. Perhatikan potongan program berikut ini:
function ayam(a, b: integer):integer;
begin
if b = 0 then ayam := 0
else if b = 1 then ayam := a
else ayam := ayam(a, b div 2) * 2 + ayam(a, b mod 2);
end;

Berapakah hasil dari pemanggilan fungsi ayam(19, 39) ?


a. 39
b. 741
c. 58
d. 750
e. 748
38. Perhatikan potongan program berikut ini:
function kucing(tikus, keju: integer): integer;
begin
if(tikus > keju) then
kucing := 0
else
kucing := tikus + kucing(tikus * 2 + 1, keju);
end;

Berapakah hasil dari pemanggilan fungsi kucing(1, 2018) ?


a. 1
b. 1024
c. 2018
d. 2036
e. 2048
39. Perhatikan program di bawah ini:
Program santuy;
var n,a,b,ambyar,f,m:integer;
data:array[1..15] of
integer=(13,17,25,28,30,41,45,56,58,64,73,76,87,91,98);
begin
n:=15; a:=1; b:=n; ambyar:=0; while
(a<=b) do
begin
M:=(a+b) div 2;
ambyar:= ambyar+data[m]; if
(data[m]=f) then break
else if(data[m]<f) then
begin
a:=m+1;
end else begin
b:=m-1;
end;
end;
writeln(ambyar);
end.

Tentukan nilai variabel ambyar yang tercetak setelah program selesai dijalankan jika
f=98: a. 322
b. 321
c. 223
d. 254
e. 193
40. Perhatikan potongan program berikut ini:
function apaIni(kwak : integer) : boolean; var
i, j : integer;
begin
if (kwak * kwak = kwak) then
begin
apaIni := false; exit;
end;
for i := 2 to (kwak - 1) do
begin
j :=1;
while j * i <= kwak do
begin
if (i * j = kwak) then
begin
apaIni := false;
exit;
end;
j := j + 1;
end
end;
apaIni := true;
end;

function apaItu(kwok : integer) : integer;


var i, kwak, kwik : integer;
begin
kwak := kwok;
kwik := 0;

for i := 0 to kwak do
begin
if (apaIni(i) = true) then
kwik := kwik + 1
end;
apaItu := kwik;
end;

Berapa nilai dari apaItu(1000)?


a. 16
b. 24
c. 25
d. 157
e. 168
Informasi referensi terkait Olimpiade bidang Informatika/Komputer:

● Situs Tim Olimpiade Komputer Indonesia (TOKI) yang berisi informasi umum tentang
olimpiade komputer (kompetisi pemrograman). Link situsnya: http://toki.or.id

● Group Olimpiade Informatika Indonesia di facebook yang dimanfaatkan sebagai forum diskusi
latihan untuk kompetisi pemrograman. Link situsnya: https://www.facebook.com/groups/olimpinfo

● TOKI Learning Center (TLC) merupakan situs untuk belajar dan berlatih mengerjakan soal-soal
pemrograman. Soal-soal yang ada di situs ini dikumpulkan dari kegiatan-kegiatan yang
dilaksanakan oleh Tim Olimpiade Komputer Indonesia (TOKI). Link situsnya: https://training.ia-
toki.org

~ halaman ini boleh dilepas dan dibawa pulang ~


BANK SOAL TERLENGKAP
download from:
p4kguru.blogspot.com

Kunci Jawaban Soal


OSK 2020
Bidang
Informatika

1. B 11. D 21. A 31. A


2. A 12. B 22. B 32. D
3. C 13. E 23. C 33. D
4. B 14. D 24. D 34. D
5. E 15. A 25. A 35. E
6. B 16. B 26. B 36. C
7. C 17. C 27. D 37. B
8. C 18. C 28. B 38. D
9. D 19. C 29. E 39. B
10. D 20. A 30. C 40. E

Anda mungkin juga menyukai