SOAL SIMULASI SELEKSI
OLIMPIADE SAINS TINGKAT KABUPATEN/KOTA 2013
CALON TIM OLIMPIADE KOMPUTER INDONESIA 2014
SIMULASI OLIMPIADE SAINS 2013 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 8. Jika berkas Anda tidak lengkap/ rusak/ cacat/ tak terbaca, mintalah kepada panitia untuk penggantian kertas.
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 saol ini, serta
d. Bekerja sama dengan atau mencontek hasil pekerjaan peserta lain
Pelanggaran terhadap larangan ini oleh seorang peserta berakibat yang bersangkutan dibatalkan dari keikutsertaan 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-bilimgan 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 sebetah 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
SIMULASI OSK 2013— BIDANG INFORMATIKA/KOMPUTER VERSI 01
Identitas Peserta (Diisi Peserta)
No Kursi/Peserta: _ _ _ _ _ Nama: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Alamat rumah: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Sekolah: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Kelas: _ _ _ _ _ Alamat sekolah: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Beri tanda silang (×) pada huruf pilihan di baris sebelah kanan dari nomor soal ybs.
No soal Pilihan jawaban 1 A B C D E 2 A B C D E 3 A B C D E 4 A B C D E 5 A B C D E 6 A B C D E 7 A B C D E 8 A B C D E 9 A B C D E 10 A B C D E 11 A B C D E 12 A B C D E 13 A B C D E 14 A B C D E 15 A B C D E 16 A B C D E 17 A B C D E 18 A B C D E 19 A B C D E 20 A B C D E 21 A B C D E 22 A B C D E 23 A B C D E 24 A B C D E 25 A B C D E No soal Pilihan jawaban 26 A B C D E 27 A B C D E 28 A B C D E 29 A B C D E 30 A B C D E 31 A B C D E 32 A B C D E 33 A B C D E 34 A B C D E 35 A B C D E 36 A B C D E 37 A B C D E 38 A B C D E 39 A B C D E 40 A B C D E 41 A B C D E 42 A B C D E 43 A B C D E 44 A B C D E 45 A B C D E 46 A B C D E 47 A B C D E 48 A B C D E 49 A B C D E 50 A B C D E Kotak penilaian (Diisi oleh juri penilai)
Jml benar = _ _ _ _ (A) Jml salah = _ _ _ _ (B) Nilai (4*A – B) =
_ _ _ _ _ _
(tanda tangan dan nama Ketua Juri Penilai)
BAGIAN A: ARITMETIKA DAN LOGIKA (30 SOAL)
1. Banyaknya pasangan bilangan bulat asli berbeda yang selisih kuadratnya 2012 adalah...
a. 0 b. 1 c. 2 d. 3 e. 4
2. Jika x
²
+ 2xy + y²
= 81. Maka nilai dari x + y adalah... a. 3 b. 6 c. 9 d. 12 e. 03. Jika 4! Berarti 4×3×2×1 = 24, maka digit terakhir dari 1! + 2! + 3! + ... + 100! Adalah...
a. 1 b. 3 c. 5 d. 7 e. 9
4. Nilai dari 2
²⁰¹³
mod 10 adalah a. 0b. 2 c. 4 d. 6 e. 8
5. Jika 10
¹⁰⁰
adalah 1 googol. Berapakah 100¹⁰⁰
? a. 10 googolb. 2 googol c. 3 googol d. Googol
²
e. Googol
³
6. Berapakah hasil dari 3456 mod 341? a. 42
b. 46 c. 23 d. 107 e. 102
7. Berapakah hasil dari 11
²⁰¹³
mod 37? a. 13b. 7 c. 0 d. 29 e. 36
8. Jika x dan y adalah dua buah bilangan prima, manakah di antara berikut ini yang tidak mungkin menjadi selisih antara x dan y?
a. 1 b. 3 c. 9 d. 15 e. 23 Deskripsi berikut adalah untuk menjawab pertanyaan no. 9 —10
Charlie adalah seorang yang mahir permainan logika. Charlie menantang Anda bermain sebuah permainan dengannya. Charlie menuliskan sebuah bilangan S (1 ≤ S ≤ 2,000,000,000). Lalu, secara bergilir antara Charlie dan Anda, akan mengambil satu angka dari digit-digit S yang tidak nol lalu kurangkan S dengan digit tersebut. Hasil pengurangan tersebut akan menggantikan S.
Sebagai contoh jika bilangan adalah 104, maka pemain akan menggantinya antara menjadi 103 (104 - 1) atau 100 (104 - 4). Pemain yang berhasil membuat bilangan menjadi 0 dinyatakan menang.
Charlie akan selalu bermain optimal dan Anda mengambil giliran pertama. 9. Jika bilangan S adalah 13579, apakah langkah
pertama Anda agar Anda pasti menang? a. 3
b. 5 c. 7 d. 9
e. Tidak mungkin menang
10. Jika bilangan S adalah 31420, apakah langkah pertama Anda agar Anda pasti menang?
a. 1 b. 2 c. 3 d. 4
11. Jika plat mobil di suatu negara memenuhi syarat bahwa plat tersebut harus dimulai dengan 2 huruf yang berbeda, lalu diikuti dengan 3 angka yang berbeda, maka ada berapa plat mobil yang berbeda semua yang bisa dibuat? a. 608400 b. 650000 c. 468000 d. 327600 e. 676000
12. Berapa banyak bilangan bulat positif dari 1 sampai 101 yang habis dibagi 2, habis dibagi 3 atau habis dibagi 5?
a. 55 b. 73 c. 84 d. 97 e. 100
13. Sejumlah burung akan menempati 4 buah sangkar. Setiap sangkar dapat ditempati oleh 5 burung. Berapa jumlah burung yang
diperlukan agar 3 sangkar pasti ditempati oleh minimal 3 burung? a. 11 b. 13 c. 15 d. 17 e. 19
14. Charlie sangat sayang dengan
bebek-bebeknya. Ia mencatat hari ulang tahun setiap bebeknya (tanggal dan bulan), sebagai contoh 1 Agustus. Charlie bertanya, berapakah jumlah minimal bebek yang harus ia miliki, agar ia yakin bahwa pasti ada 5 bebek yang berulang tahun pada tanggal dan bulan yang sama? a. 366 b. 1461 c. 1460 d. 365 e. 1825
15. Jika w 10% lebih kecil dari x, dan y 30% lebih kecil dari z, seberapa besar nilai wy lebih kecil dari xz? a. 10% b. 20% c. 37% d. 40% e. 63% 16. a. b. c. d. e. Deskripsi berikut adalah untuk menjawab pertanyaan no. 17 —18
Charlie adalah seorang pengelana yang suka berkeliling dari satu kota ke kota lain. Kota-kota yang dapat dikunjungi adalah A, B, C, D, E, dan F. Ia menentukan aturan sebagai berikut:
Jika hari ini ia berada di kota A, maka besoknya ia akan pergi ke kota B atau D Jika hari ini ia berada di kota B, maka besoknya ia akan pergi ke kota E atau D Jika hari ini ia berada di kota C, maka besoknya ia akan pergi ke kota D atau F Jika hari ini ia berada di kota D, maka besoknya ia akan pergi ke kota E atau F Jika hari ini ia berada di kota E, maka besoknya ia akan pergi ke kota C atau D Jika hari ini ia berada di kota F, maka besoknya ia akan pergi ke kota A atau E 17. Pada suatu hari Charlie berada di kota A,
berapa harikah yang ia perlukan paling sedikitnya agar ia dapat berada di kota A kembali dengan syarat ia harus sempat melalui C minimal satu kali?
a. 2 b. 3 c. 5 d. 7
18. Pada suatu hari Charlie berada di kota A dan memutuskan untuk tidak mengunjungi kota F, 4 hari kemudian ia tidak mungkin berada di kota ... a. A b. B c. C d. D e. E
Deskripsi berikut adalah untuk menjawab pertanyaan no. 19 sampai dengan no. 20
Charlie akan melalui kebun yang dapat digambarkan dengan peta. Masing-masing petak peta terdapat bunga dengan nilai kecantikan N. Charlie hanya dapat melalui kebun tersebut dari barat menuju dengan menginjak-injak bunga yang akan mengorbankan nilai kecantikan bunga tersebut. Charlie hanya bisa berjalan menuju arah timur, tenggara, atau timur laut.
19. Jika peta kebun bunga itu adalah
1 5 1 5 1 5 1 5 1 5
Berapakah nilai kecantikan minimum yang harus Charlie korbankan?
a. 1 b. 3 c. 5 d. 7 e. 9
20. Jika peta kebun bunga itu adalah
1 5 5 5 5 5 1 5 5 5 5 5 1 5 5 5 5 5 2 5 5 5 5 5 2
Berapakah nilai kecantikan minimum yang harus Charlie korbankan?
a. 1 b. 3 c. 5 d. 7 e. 9 Deskripsi berikut adalah untuk menjawab pertanyaan no. 21 sampai dengan no. 24
Pada suatu hari yang cerah, Charlie mengendarai sepeda motornya yang baru dari rumahnya menuju sekolah. Untuk menuju sekolah, Charlie dapat berhenti di persimpangan jalan untuk beristirahat (dan karena terjebak lampu merah). Setiap jalan yang dilaluinya memiliki nilai kenyamanan tertentu. Peta perjalanan Charlie dapat ditunjukkan oleh peta sebagai berikut.
A 3 B 13 C 1 D 1 E 5 5 3 1 1 F 5 X 1 G 5 H 8 I 2 1 5 1 1 J 5 K 3 L 1 M 2 N 1 1 2 1 1 O 5 P 1 Q 1 R 3 S 2 1 3 3 3 T 5 U 1 V 7 W 5 Y
Charlie mulai berangkat dari persimpangan X di dekat rumahnya dan menuju persimpangan S yang berada di dekat sekolahnya. Persimpangan yang telah dia lalui, tidak ingin dilaluinya lagi.
21. Berapakah jumlah nilai kenyamanan minimum yang mungkin didapatnya?
a. 10 b. 3 c. 5 d. 7 e. 9
22. Jika Charlie melalui 8 persimpangan (termasuk X dan S), berapakah jumlah kenyamanan maksimum yang mungkin didapatnya?
a. 19 b. 21 c. 17 d. 23
23. Jika Charlie melalui persimpangan T,
berapakah jumlah nilai kenyamanan minimum yang mungkin didapatnya?
a. 18 b. 20 c. 13 d. 21 e. 15
24. Jika Charlie melalui semua persimpangan, berapakah jumlah kenyamanan maksimum yang mungkin didapatnya?
a. 36 b. 54 c. 49 d. 62
Deskripsi berikut adalah untuk menjawab pertanyaan no. 25
Di suatu pelatnas TOKI 2012 yang cerah, anak-anak sedang berdebat mengenai siapa yang telah menghabiskan persediaan susu ultra pagi itu. Berikut wawancara kami bersama lima orang saksi.
Gunawan :
Kayaknya bukan Meilio deh Eh, btw gue ganteng. Azaria :
Yang pasti bukan Aristo Kayaknya si Meilio juga ga
mungkin
Aristo :
Si Meilio tuh yang ngabisin Si Gunawan kayaknya ga
mungkin deh Setiadi:
Si Azaria tuh kayaknya Si Aristo yang ngabisin
Meilio:
Si Setiadi pelakunya
Yang pasti bukan si Gunawan
25. Jika setiap orang tepat sekali berkata bohong, dan sekali berkata jujur, siapakah pelakunya? a. Gunawan
b. Azaria c. Aristo d. Setiadi e. Meilio
26. Dalam sebuah keluarga,terdapat anak laki-laki dan anak perempuan. Masing-masing laki-laki memiliki banyak saudara laki-laki sama dengan banyak saudara perempuan; dan masing-masing perempuan memiliki banyak saudara laki-laki sama dengan dua kali banyak saudara perempuan. Berapakah selisih banyak anak laki-laki dengan banyak anak perempuan?
a. 0 b. 1 c. 2 d. 3 e. 4
27. Dalam sebuah rumah keluarga kerajaan, pembantu raja yang memegang semua kunci kamar istana raja secara tidak sengaja mengacak kunci-kuncinya sehingga dia tidak tahu apa kunci yang benar untuk sebuah kamar sehingga di harus mencoba satu per satu kunci di setiap kamar. Jika terdapat 20 kamar, berpakah jumlah percobaan minimal yang dilakukannya agar dia pasti tahu apa kunci yang benar untuk setiap kamar?
a. 20²⁰ b. 200 c. 210 d. 190 e. 20
28. Dengan pecahan uang 11, 12, dan 13,
manakah di antara berikut nominal yang tidak bisa dibentuk? a. 37 b. 46 c. 53 d. 69 e. 74
29. Jika dari sebuah kotak Anda hanya boleh melangkah ke kanan atau ke atas, berapa banyak jalur berbeda dari kotak A untuk sampai ke kotak Z tanpa
melalui kotak X? a. 3 b. 6 c. 7 d. 10 e. 11
30. Charlie memiliki 80 koin identik yang mana satu di antara koin-koin tersebut lebih ringan daripada koin-koin lainnya. Charlie
memutuskan untuk menimbang koin-koin tersebut dengan sebuah neraca dua lengan. Tentunya dia ingin agar penimbangan dilakukan seminimum mungkin. Berapakah jumlah penimbangan minimum yang mungkin?
a. 3 b. 4 c. 5 d. 6 e. 7 Z X X A
BAGIAN B: ALGORITMIKA (20 SOAL)
[Peringatan: Seluruh penulisan notasi algoritma menggunakan Pseudopascal] Program berikut adalah untuk soal no. 31—32
procedure kyaa(n : integer); begin if n = 1 then write('*') else begin write('*'); kyaa(n - 1); write('*'); end; end;
31. Jika dipanggil kyaa(5), berapakah tanda bintang yang dihasilkan?
a. 6 b. 10 c. 7 d. 11 e. 9
32. Jika dipanggil kyaa(n), berapakah tanda bintang yang dihasilkan?
a. n+2 b. 2n c. 2n-3 d. 2n+1 e. 2n-1 function h(n: integer); begin if n=0 then h:=0 else h := n + h(n-1); end;
33. Untuk h(5), program di atas menghitung: a. 0+1+2+3+4+5
b. 1+2+3+4+5 c. 5+4+3+2+1 d. 5+4+3+2+1+0
e. Tidak ada yang benar
function tro(lo:longint): longint; begin
if lo = 0 then tro := 1 else
tro := tro(lo-1) * (1 shl lo); end;
34. Nilai dari tro(5) adalah... a. 32768
b. 65536 c. 1024
Program berikut adalah untuk soal no. 35—37
function fpb(a,b : integer) : integer; begin if (b = 0) then fpb := // kosong (35) else fpb := // kosong (36) end;
function kpk(a,b : integer) : integer; begin
kpk := // kosong (37) end;
Fungsi fpb diharapkan menghasilkan FPB dari a dan b, sedangkan fungsi kpk diharapkan menghasilkan KPK dari a dan b.
35. Apakah kode yang sesuai untuk mengisi tempat bertanda kosong (35)? a. a b. b c. a*b d. fpb(b,a) e. fpb(a,b)
36. Apakah kode yang sesuai untuk mengisi tempat bertanda kosong (36)? a. a b. b a. fpb(a mod b, b) b. fpb(b,a mod b) c. fpb(b,a)
37. Apakah kode yang sesuai untuk mengisi tempat bertanda kosong (37)?
a. a*b
b. a*b div fpb(a,b) c. fpb(a,b) * a *b d. fpb(a*b, a) e. fpb(b, a*b) 38. Perhatikan kode berikut ini.
function me(m,n: integer): integer; begin
if (m=0) or (n=0) then me:=1
else me:= me(m-1, n-1) + me(m-1,n); end;
Hasil pemanggilan me(6,6) adalah: a. 64
b. 12 c. 15
Kode program berikut untuk soal no 39 dan 40 function lol(x,y:longint):longint; var tes: longint;
begin
if(y = 1)then lol:= x
else if ((y mod 2) = 0) then begin
tes:= lol(x, y div 2)); lol:= tes * tes;
end else
lol:= x * lol(x,y-1); end;
39. Nilai dari lol(2,10) adalah... a. 256
b. 512 c. 1024 d. 2048 e. 65536
40. Jika dipanggil lol(2,10), berapa kalilah lol akan dipanggil lagi?
a. 2 b. 4 c. 6 d. 3 e. 5
Kode program berikut untuk soal no 41 dan 42
function ha(x,y,z: integer): boolean; begin if (z=0) then ha := (y>x) else if (y=0) then ha := false else if (x=0) then ha := true else ha := ha(x-1, y-1, z-1); end;
41. Dari pemanggilan di bawah ini, manakah yang bernilai false? a. ha(1,2,3) b. ha(2,6,2) c. ha(4,8,8) d. ha(6,5,4) e. ha(7,9,5)
42. Dari pemanggilan di bawah ini, manakah yang bernilai true?
a. ha(77,35,59)
c. ha(54,20,11) d. ha(44,43,72) e. ha(25,18,36) 43. Perhatikan program berikut.
var a,b: char; begin
for a:='a' to 'd' do for b:=a downto 'a' do if a<> b then
write(b) else
writeln(a); end.
Jika program dijalankan, outpunya adalah: a. a ba cba dbca b. a b ac bac cba c. a ab abc abcd d. a b ca dab abc e. a bb ccc dddd
44. Perhatikan kode program berikut ini.
function tor(i:longint):longint; begin
if (i=0) then tor:=1 else
tor:= tor(i-1) +(1 shl i); end;
Apakah hasil dari pemanggilan tor(15)? a. 32767
b. 65535 c. 15 d. 1 e. 0
Kode program berikut unutk soal no. 45—46 procedure gan(t:longint); var i,j: longint;
begin
for i:=1 to t do for j:=i to t do write('*'); end;
45. Berapa banyakkah tanda bintang (*) yang dicetak untuk pemanggilan gan(10)?
a. 100 b. 125 c. 55 d. 45 e. 10
46. Berapakah nilai paramater t untuk pemanggilan gan(t) agar banyak tanda bintang yang dihasilkan adalah 120? a. 15 b. 17 c. 10 d. 14 e. 9
Kode program berikut unutk soal no. 47—48 procedure irv(a:int64);
var b: longint; begin
b := 5;
while (a>0) do begin b:= b + (a mod 10); a:= a div 10; end; if (b mod 3=0) or (b mod 9=0) then writeln('Irvan') else writeln('Irvin'); end;
47. Berapakah nilai paramater a untuk pemanggilan irv(a) agar mencetak kata Irvan?
a. 20 b. 21 c. 22 d. 23 e. 24
48. Berapakah nilai paramater a untuk pemanggilan irv(a) agar mencetak kata Irvin?
a. 1293808 b. 981445 c. 77777 d. 2998480 e. 999999994
Kode program berikut unutk soal no. 49—50 procedure ala(m,n,o:boolean); begin
if (m xor n) and o then writeln('Charlie') else
if not(m) and (n xor o) then writeln('Peter')
else
if (m xor o) and n then writeln('Kenrick') else
if not(m or n) and n then writeln('Golfin')
else
writeln('Tommy'); end;
49. Jika dipanggil ala(true,true,false), apakah keluarannya? a. Charlie b. Peter c. Kenrick d. Golfin e. Tommy
50. Pemanggilan apakah yang akan mencetak kata Golfin?
a. ala(false, true, true) b. ala(false, true, false) c. ala(true, true, true) d. ala(true, false, true) e. ala(false, false, true)