Anda di halaman 1dari 12

Soal Latihan Menuju OSK Informatika 2016

Go Get Gold!
2 Soal Latihan Menuju OSK Informatika 2016

Petunjuk Umum

1. Diberikan 50 buah soal untuk dikerjakan selama 150 menit (2,5 jam).
2. Soal merupakan isian singkat. Hal ini untuk melatih kemampuan anda,
meskipun OSK sebenarnya menggunakan pilihan ganda, agar anda tidak
terlalu mengandalkan pilihan. Sertakan hanya jawaban akhir anda di
lembar jawaban.
3. Notasi n! (factorial) berarti n x (n-1) x x 1. Contoh, 4! = 4x3x2x1 = 24.
4. Jawaban benar akan mendapat poin +4, salah -1 dan kosong +0.
5. Peserta dilarang untuk bekerjasama dengan peserta lain dalam bentuk
apapun, dengan cara apapun.
6. Untuk coretan, silahkan gunakan berkas soal ini. Peserta dilarang
menggunakan lembar jawaban untuk coretan.
7. Notasi algoritma menggunakan bahasa pseudopascal, yaitu bahasa mirip
pascal yang sudah disederhanakan.
8. Peserta tidak dibenarkan menggunakan alat bantu hitung apapun dan
menggunakan alat komunikasi apapun selama mengerjakan soal.
9. Pergunakan hasilnya sebagai bahan evaluasi kesiapan anda dalam
menghadapi OSK 2016 nanti.

Go Get Gold! Page 2


3 Soal Latihan Menuju OSK Informatika 2016

Bagian Aritmatika, Logika dan Matematika (30 soal)

1. Roni baru saja membeli sebuah gembok. Gembok tersebut menggunakan


kunci yang terdiri dari 5 digit angka (0-9). Apabila tidak ada digit yang
berulang, berapa banyak susunan kunci yang mungkin?
2. Pak Andri ingin membagikan 119 pulpen dan 51 pensil kepada n orang
murid di kelas. Apabila setiap orang mendapat bagian yang sama dan tidak
ada pulpen ataupun pensil yang tersisa, berapakah nilai n terbesar?
3. Jumlah semua bilangan bulat positif kelipatan 7 atau 11 yang kurang dari
100 adalah
4. Berapa banyak bilangan bulat positif kelipatan 17 yang kurang dari 2016?
5. Rudi dan Budi sedang bermain Tebak Angka. Rudi akan memikirkan
suatu bilangan, lalu Budi akan menebak bilangannya. Rudi hanya akan
menjawab Kurang, Kelebihan, atau Benar. Rudi menantang Budi
untuk dapat menebak sebuah bilangan bulat positif yang kurang dari 2016
dengan kurang dari n tebakan. Berapa nilai n minimal agar Budi pasti
menang?
6102
2017 2018
6. Digit terakhir dari 2016 adalah
7. Banyak susunan yang mungkin dari string SUKSESOSK dengan huruf
S di depan adalah
8. Hari ini adalah hari Jumat. 201.520.162.017 hari lagi adalah hari
9. Pada sebuah permainan, terdapat 7 orang yang berdiri melingkar dan
dinomori dari 1 sampai 7, searah jarum jam. Mereka menghitung 1, 2, 3,
dst searah jarum jam dan orang yang mendapat angka 7 keluar dari
permainan. Kemudian, permainan dilanjutkan dengan menghitung 1, 2, 3,
dst lagi mulai dari orang berikutnya yang belum keluar. Begitu pula
seterusnya hingga tersisa 1 orang, yang akan jadi pemenangnya. Orang
nomor keberapakah yang akan memenangkan permainan ini?
10. Andy memiliki kemungkinan menang 0,41 melawan Budi. Chandra
memiliki kemungkinan menang 0,72 melawan Denis. Berapakah peluang
Andy menang melawan Budi dan Denis menang melawan Chandra?

Go Get Gold! Page 3


4 Soal Latihan Menuju OSK Informatika 2016

11. Adi dan Tama sedang bermain Boom. Peraturannya sederhana : pemain
menyebutkan angka secara bergantian dan berurutan, mulai dari 1. Setiap
ada angka yang mengandung angka 7, atau habis dibagi 7, pemain harus
mengatakan Boom. Apabila permainan berhenti di 2017 karena lupa
menyebutkan Boom, berapa banyak Boom yang diucapkan selama
permainan berlangsung?
12. Tuliskan sebuah bilangan 8 digit terbesar yang terdiri dari angka 1, 1, 2, 2,
3, 3, 4, 4 dengan syarat kedua angka 1 harus dipisahkan satu buah angka,
kedua angka 2 harus dipisahkan dua buah angka, kedua angka 3 harus
dipisahkan tiga buah angka dan kedua angka 4 harus dipisahkan empat
buah angka!
13. Jika n adalah hasil kali antara 3+4+33+34+333+334+3333+3334++
333333333333333333333333333333
+333333333333333333333333333334 dengan 3, maka hasil kali dua digit
terakhir n adalah
14. Ekspresi logika ~ akan bernilai True apabila nilai p adalah
15. Sisa ketika 200220032004 201620172018 dibagi 9 adalah
16. Berapa banyak bilangan bulat positif kurang dari 100 yang tidak habis
dibagi dengan 3 atau 5?
17. Roni : Tepat satu orang dari kita berbohong.
Fitria : Setidaknya satu dari kita berbohong.
Imron : Roni berbohong.
Siapa yang berbohong?
18. Di sebuah kelompok terdapat 8 orang wanita dan 7 orang pria. Apabila
hendak dibuat sebuah tim yang terdiri atas 5 orang, dengan syarat satu
orang diantaranya harus pria, berapa banyak cara memilih anggota tim
tersebut?
19. 2 digit terakhir dari 1! + 2! + 3! + 4! + 5! + 6! + 7! + + 2016! adalah
20. Pada suatu malam yang amat gelap, Aditama, Nisa, Kevin dan Rama
hendak menyebrangi jembatan. Jembatan itu sudah tua, sehingga hanya
dapat menopang 2 orang saja. Apabila dinaiki lebih dari 2 orang, jembatan
tersebut akan runtuh. Aditama dapat menyebrang dalam 1 menit, Nisa

Go Get Gold! Page 4


5 Soal Latihan Menuju OSK Informatika 2016

dalam 3 menit, Kevin dalam 7 menit dan Rama dalam 11 menit. Apabila 2
orang menyebrang bersama, orang yang lebih cepat harus mengikuti
kecepatan yang lebih lambat. Karena gelap, orang yang menyebrang harus
membawa lampu. Sayangnya, mereka hanya memiliki 1 lampu yang hanya
dapat menerangi area kecil dan salah satu dari orang yang menyebrang
sebelumnya harus mengembalikan lampu tersebut apabila masih ada yang
belum menyebrang agar orang tersebut dapat menyebrang. Berapa waktu
minimal yang diperlukan mereka untuk menyebrang?
21. Pak Aditama mendapat warisan sebidang tanah. Akan tetapi, karena

kesalah pahaman, ia hanya mendapat area yang diarsir saja. Apabila

keseluruhan area tersebut merupakan persegi dengan panjang sisi 14 meter,

dan kedua potongan lingkaran tersebut tepat menyentuh persegi, hitunglah


22
luas area tanah yang didapat Pak Aditama! (Gunakan = , nyatakan
7

dalam meter persegi)

22. Aditama mengocok 2 buah dadu seimbang, lalu memberi tahu Rama hasil

penjumlahan dari kedua angka dadu tersebut dan memberi tahu Doni hasil

perkaliannya. Aditama kemudian menanyakan berapa angka yang ia dapat

kepada mereka. Lalu terjadilah percakapan.

Rama : Kamu tahu jawabannya?

Doni : Nggak, kamu tahu?

Rama : Tadi enggak sih. Tapi sekarang aku tahu.

Go Get Gold! Page 5


6 Soal Latihan Menuju OSK Informatika 2016

Apabila angka yang didapat adalah a dan b, berapakah ( + )2 ?

23. Jaringan mesh adalah jaringan yang menghubungkan setiap komputer

dalam jaringan dengan setiap komputer lainnya. Apabila terdapat 5

komputer, maka dibutuhkan 10 kabel. Apabila terdapat 2016 komputer,

banyak kabel yang diperlukan adalah

24. Banyaknya angka 0 berurutan dari belakang pada 2016! adalah

25. 1 + 2 + 3 + + n = 496. Nilai n adalah

26. Di dalam sebuah kotak terdapat 30 buah bola berwarna merah, 50 buah

bola berwarna biru dan 70 buah bola berwarna hijau. Berapa banyak

pengambilan minimum agar pasti mendapat 2 buah bola berwarna berbeda

dengan salah satunya adalah merah?

27. Digit terakhir dari 72015 32016 92017 adalah

28. Diberikan dua buah bilangan bulat positif x dan y. Didefinisikan sebuah

fungsi HEHE(x, y) yang bernilai x apabila x = y, bernilai HEHE(x-y, y)

jika x > y, atau bernilai HEHE(x, y-x) apabila x < y. Berapakah nilai dari

HEHE(36, 24)?

29. 11 22 33 3535 habis dibagi oleh 10 . Berapakah bilangan n

terbesar yang mungkin?

30. Berapakah banyaknya bilangan biner 7 digit yang tidak memiliki dua digit

0 yang saling bersisian?

Go Get Gold! Page 6


7 Soal Latihan Menuju OSK Informatika 2016

Bagian Algoritmika (20 soal)

31. Perhatikan potongan kode di bawah ini!

function apalahini(x:integer):integer;

begin

if(x<3) then apalahini:=1

else apalahini:=1+apalahini(x-1)+apalahini(x-3);

end;

Apabila fungsi di atas dipanggil dengan apalahini(16) maka keluarannya

adalah

32. Perhatikan kode di bawah ini!

for i:=1 to n do begin

for j:=1 to m do begin

for k:=1 to l do begin

writeln(GOLD!);

end;

end;

end;

Kata GOLD! akan dicetak sebanyak kali untuk berapapun nilai l,m,

dan n > 0.

33. Perhatikan kode di bawah ini!

Go Get Gold! Page 7


8 Soal Latihan Menuju OSK Informatika 2016

for i:=1 to n do writeln(SILVER!);

for j:=1 to m do writeln(SILVER!);

for k:=1 to l do writeln(SILVER!);

Untuk berapapun nilai n,m dan l > 0, kata SILVER! akan tercetak

sebanyak kali.

Kode di bawah ini untuk nomor 34-35

apaya := Init;

iniapa := 0;

for apalagi := 0 to apaya-1 do begin

iniapa := iniapa + 2*apalagi;

end;

writeln(iniapa);

34. Apabila Init pada awalnya bernilai 8, maka output program di atas adalah

35. Apabila output program adalah 156, maka nilai Init adalah

Kode di bawah ini untuk nomor 36 38


for x:= 1 to n do begin

if(x mod 3 = 0) then writeln(X ) else


writeln(x, );

end;

Go Get Gold! Page 8


9 Soal Latihan Menuju OSK Informatika 2016

36. Apabila nilai n adalah 16 maka output program adalah

37. Apabila nilai n adalah 2017 maka X akan tercetak sebanyak kali

38. Apabila baris ketika diganti dengan if((x mod 3 = 0) and (x mod

7 <> 0)) maka banyak X yang tercetak ketika n bernilai 4321 adalah

39. Perhatikan kode di bawah ini!

if (x mod 3 = 1) then begin

if (x mod 5 = 2) then

writeln(O)

else writeln(S);

end else writeln(K);

Apabila nilai x adalah 201620172018 maka keluaran program adalah

Kode di bawah ini untuk nomor 40-43

procedure plung(haha,hehe : integer):integer;

begin

haha:=haha+hehe;

hehe:=haha-hehe;

haha:=haha-hehe;

end;

var

pang : array[1..10]of integer;

ping,pong : integer;

begin

for ping := 1 to 10 do begin

for pong := ping+1 to 9 do begin

Go Get Gold! Page 9


10 Soal Latihan Menuju OSK Informatika 2016

if(pang[pong]>pang[pong+1]) then

plung(pang[pong],pang[pong+1]);

end;

end;

end.

40. Apabila dilakukan pemanggilan plung(x,y) dengan variable x bernilai

7277 dan variable y bernilai 7727 maka nilai variable x dan y setelah

pemanggilan adalah dan

41. Apabila array pang pada awalnya berisi {1,3,7,5,2,4,9,0,2,8} maka isi

array pang setelah eksekusi adalah

42. Apabila loop for ping dihilangkan dan ping-1 pada loop for pong diganti

dengan 1 , dengan isi array awal yang sama dengan nomor 40, maka isi

array pang setelah selesai eksekusi adalah

43. Apabila if(pang[pong]>pang[pong+1]) diganti dengan

if(pang[pong]<pang[pong+1]) maka isi array pang setelah eksekusi

dengan nilai awal array pang {1,1,1,2,3,5,7,3,4,12} adalah

44. Perhatikan kode di bawah ini

readln(aku,saya);

aku:=aku xor saya;

saya:=aku xor saya;

aku:=aku xor saya;

Apabila program di atas diberi masukan 4321 1234 maka nilai variable

aku setelah eksekusi adalah , dan nilai variable saya setelah eksekusi

adalah

Go Get Gold! Page 10


11 Soal Latihan Menuju OSK Informatika 2016

Kode di bawah ini untuk nomor 45-47

readln(n);

x:=0

while (x<n) do begin

x:=x+4;

for i:=1 to x do begin

writeln(Muehehe);

end;

end;

45. Apabila program di atas diberi masukan 3 maka Muehehe akan tercetak

sebanyak baris.

46. Apabila program di atas diberi masukan 2016 maka Muehehe akan

tercetak sebanyak baris.

47. Apabila program di atas diberi masukan n|n>4 maka Muehehe akan

tercetak sebanyak baris.

48. Perhatikan kode di bawah ini


function ox (m,n:integer):integer;

begin

if n=1 then ox := m

else if (n and 1)=0 then

ox := ox(m,n shr 1) * ox(m,n shr 1)

else

ox := ox(m,n shr 1) * ox(m,n shr 1) * m;

end;

Go Get Gold! Page 11


12 Soal Latihan Menuju OSK Informatika 2016

Operasi a shr b akan menggeser bit dari a sebanyak b kali ke kanan.

Keluaran program di atas apabila nilai m = 4 dan n = 10 adalah

49. Perhatikan kode di bawah ini

a:=7; b:=1;

while(a<=n) do begin

a:=a+b;

b:=b+1;

end;

writeln(a);

Apabila nilai n adalah 200, maka nilai b adalah

50. Perhatikan kode di bawah ini

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

begin

count := count + 1;

if (a > b) then apaitu := apaitu(b, a)

else if (a = 0) then apaitu := b

else apaitu := apaitu (b mod a, a)

end;

Apabila fungsi di atas dipanggil dengan writeln(apaitu(1000,5040)) maka

keluarannya adalah

~Selamat Berjuang~

Go Get Gold! Page 12