OSP 2012 KOMPUTER

30
BAGIAN A: ARITMATIKA DAN LOGIKA 1. Dalam suatu deret bilangan bulat {x i , i > 0}, x i = i! x 1 . (bilangan berikutnya = i faktorial dari bilangan pertama). Jika jumlah delapan bilangan pertama berurutan adalah 416907 maka bilangan kesepuluhnya adalah ... Jawaban : “ “32659200” Pembahasan : 1! a + 2! a + 3! a +..+ 8! a = 416907; a=9. U10 = 10! * 9 = 3628800 * 9 = 32659200 2. Selisih jumlah umur Barnie dan Jecky 6 tahun yang lalu dan jumlah umur Barnie dan Jecky 5 tahun yang akan datang merupakan dua kali dari selisih umur Zeta 6 tahun yang lalu dan 5 tahun yang akan datang. Selisih umur Barnie dan Zeta adalah 31 . Jumlah umur Jecky dan Zeta 1 tahun yang lalu adalah 70. Umur Jecky 7 tahun yang lalu merupakan dua kali dari umur Barnie 7 tahun yang lalu. Berapa jumlah umur Barnie, Jecky, dan Zeta 3 tahun yang lalu? Jawaban : “79” Pembahasan: Kita misalkan Barnie adalah a, Jecky adalah b,dan Zeta adalah c. Dari informasi di atas, dapat diperoleh persamaan sebagai berikut c-a = 31 a = c 31 .… (i) (b-1)+(c-1) = 70 b+c = 72 b = 72-c …. (ii) (b-7) = 2* (a-7) 2a-b = 7 …. (iii) Dari persamaan di atas, dapat diperoleh persamaan (2*(c-31)) - (72-c) = 7. Maka diperoleh nilai c = 47; a = 16; b = 25. Maka jumlah umur Barnie, Jecky, dan Zeta 3 tahun yang lalu adalah (a-3) + (b-3) + (c-3) = 79 3. Agar mudah diingat, Pak Dengklek membuat password untuk komputernya berupa permutasi dari huruf-huruf pada namanya, yaitu ‘D’, ‘E’, ‘N’, ‘G’, ‘K’, ‘L’, ‘E’, dan ‘K’. Suatu ketika ia lupa password komputernya, dan memutuskan untuk mencoba-coba semua kemungkinan yang ada. Berapakah waktu yang dibutuhkan untuk mencoba semua kemungkinan password yang ada, jika sekali mencoba password waktu 10 detik? Jawaban : ”100800” Pembahasan : (C(8,8) / C(2,2) * C(2,2) ) = 10080, x10 = 100800 karena sekali mencoba password membutuhkan waktu 10 detik.

description

SOAL OSP TAHUN 2012 BIDANG KOMPUTER / INFORMATIKA

Transcript of OSP 2012 KOMPUTER

Page 1: OSP 2012 KOMPUTER

BAGIAN A: ARITMATIKA DAN LOGIKA

1. Dalam suatu deret bilangan bulat {xi, i > 0}, xi = i! x1. (bilangan berikutnya = i faktorial dari

bilangan pertama). Jika jumlah delapan bilangan pertama berurutan adalah 416907 maka

bilangan kesepuluhnya adalah ...

Jawaban : “ “32659200”

Pembahasan :

1! a + 2! a + 3! a +..+ 8! a = 416907; a=9. U10 = 10! * 9 = 3628800 * 9 = 32659200

2. Selisih jumlah umur Barnie dan Jecky 6 tahun yang lalu dan jumlah umur Barnie dan Jecky 5

tahun yang akan datang merupakan dua kali dari selisih umur Zeta 6 tahun yang lalu dan 5

tahun yang akan datang. Selisih umur Barnie dan Zeta adalah 31 . Jumlah umur Jecky dan

Zeta 1 tahun yang lalu adalah 70. Umur Jecky 7 tahun yang lalu merupakan dua kali dari

umur Barnie 7 tahun yang lalu. Berapa jumlah umur Barnie, Jecky, dan Zeta 3 tahun yang

lalu?

Jawaban : “79”

Pembahasan:

Kita misalkan Barnie adalah a, Jecky adalah b,dan Zeta adalah c. Dari informasi di atas, dapat

diperoleh persamaan sebagai berikut

c-a = 31 a = c – 31 .… (i)

(b-1)+(c-1) = 70 b+c = 72 b = 72-c …. (ii)

(b-7) = 2* (a-7) 2a-b = 7 …. (iii)

Dari persamaan di atas, dapat diperoleh persamaan (2*(c-31)) - (72-c) = 7. Maka diperoleh

nilai c = 47; a = 16; b = 25. Maka jumlah umur Barnie, Jecky, dan Zeta 3 tahun yang lalu

adalah (a-3) + (b-3) + (c-3) = 79

3. Agar mudah diingat, Pak Dengklek membuat password untuk komputernya berupa permutasi

dari huruf-huruf pada namanya, yaitu ‘D’, ‘E’, ‘N’, ‘G’, ‘K’, ‘L’, ‘E’, dan ‘K’. Suatu ketika

ia lupa password komputernya, dan memutuskan untuk mencoba-coba semua kemungkinan

yang ada. Berapakah waktu yang dibutuhkan untuk mencoba semua kemungkinan password

yang ada, jika sekali mencoba password waktu 10 detik?

Jawaban : ”100800”

Pembahasan :

(C(8,8) / C(2,2) * C(2,2) ) = 10080, x10 = 100800 karena sekali mencoba password

membutuhkan waktu 10 detik.

Page 2: OSP 2012 KOMPUTER

Berikut ini merupakan deskripsi untuk soal nomor 4-5

Sekumpulan pulau dihubungkan oleh beberapa buah jembatan. Ada jembatan yang kecil,

sehingga hanya muat untuk perjalanan satu arah, ada juga jembatan yang lebih besar yang

muat untuk perjalanan dua arah. Ada jembatan satu arah dari B ke A, dari E ke D, dan dari

C ke F. Sedangkan, ada jembatan dua arah antara A-F, B-E, dan C-D.

4. Tuliskan SEMUA pasangan pulau asal-pulau tujuan yang tidak mungkin ada perjalanan dari

pulau asal ke pulau tujuan. Misalnya “A-F”, berarti orang dari pulau A tidak bisa pergi menuju

pulau F.

Jawaban : A-B, A-C, A-D, A-E, D-B, D-E, C-B, C-E, F-B, F-C, F-D, F-E

Pembahasan :

Yang biru adalah jembatan satu arah, yang merah adalah jembatan dua arah.

Jadi, jawaban yang tepat adalah A-B, A-C, A-D, A-E, D-B, D-E, C-B, C-E, F-B, F-C, F-D,

F-E

5. Pemerintah memutuskan untuk meng-upgrade sebuah jembatan satu arah menjadi jembatan

dua arah, sehingga semua pulau bisa terhubung. Di antara pasangan B-A, E-D, dan C-F

(terhubung oleh jembatan satu arah), tentukan jembatan yang mana yang harus di-upgrade

sehingga semua pulau dapat terhubung (setiap orang dari satu pulau bisa pergi ke semua pulau

lainnya).

Jawaban : A-B

Pembahasan :

Yang biru adalah jembatan satu arah, yang merah adalah jembatan dua arah.

Jadi, jawaban yang tepat adalah A-B

A B C

DEF

A B C

DEF

Page 3: OSP 2012 KOMPUTER

6. Pada suatu desa, tersebar suatu surat horor berantai yang dimulai dari seorang pria yang

mengirimkan surat ke 10 orang lainnya. Setiap orang yang menerima surat tersebut diminta

untuk mengirim surat tersebut kepada 10 orang lainnya. Sebelum mengirim surat kepada 10

orang lainnya, si penerima surat tersebut harus menulis nama nya pada surat tersebut,

sehingga surat tersebut akan mengandung daftar nama para pengirim sebelumnya. Bila sudah

terdapat 5 buah nama, maka tiap orang yang menerima surat tersebut harus mengirimkan 1

bunga mawar ke nama yang berada pada urutan paling atas pada daftar tersebut. Nama

tersebut kemudian dihapus dan sang penerima menambahkan namanya pada urutan paling

bawah dari daftar nama itu. Asumsikan semua penerima surat akan mengirimkan surat

tersebut dan tidak ada yang menerima surat lebih dari sekali, berapakah bunga mawar yang

akan didapat seseorang bila mengikuti surat berantai tersebut?

Jawaban : 100000

Pembahasan :

Misalkan X adalah orang yang mengirimkan surat berantai. Maka, akan ada 10 orang yang

menerima surat dari X dengan keadaan dimana nama X berada pada urutan ke-5 di daftar

nama pengirim. Ke-10 orang tersebut masing-masing mengirimkan surat ke 10 orang lain.

Dengan kata lain, ada 100 orang yang akan menerima surat dimana nama X berada pada posisi

ke-4. Lalu, akan ada 1000 orang yang menerima surat dimana nama X berada pada posisi ke-

3. Begitu seterusnya, sehingga akan ada 100000 orang yang akan menerima surat dimana

nama X berada pada posisi-1. Dengan kata lain, akan ada 100000 orang yang masing-masing

mengirimkan 1 bunga mawar kepada X.

Berikut ini merupakan deskripsi untuk soal nomor 7-8

Pak Ali bingung. Istrinya baru saja melahirkan seorang anak. Ia sedang berpikir keras untuk

menemukan nama yang indah untuk anaknya. Pak Ali ingin nama anaknya terdiri dari 6

huruf. Sebagai peserta OSP yang cukup pintar, bantulah Pak Ali untuk menghitung

banyaknya kemungkinan nama anak jika :

7. Nama tersebut tidak mengandung huruf yang berulang dengan syarat nama dimulai dari huruf

S, atau memuat huruf TY di digit ke-2 dan ke-3, atau diakhiri dengan huruf ZEN.

Jawaban : “6630142”

Pembahasan :

Misal :

A adalah banyak kombinasi nama 6 huruf yang dimulai dengan huruf S

B adalah banyaknya kombinasi nama 6 huruf yang mengandung huruf TY di posisi ke-2 dan

ke-3

C adalah banyaknya kombinasi nama 6 huruf yang diakhiri dengan huruf ZEN.

Page 4: OSP 2012 KOMPUTER

Maka,

A = 1 x P(25,1) x P(24,1) x P(23,1) x P(22,1) x P(21,1) = 6375600

B = P(24,1) x 1 x 1 x P(23,1) x P(22,1) x P(21,1) = 255024

C = P(23,1) x P(22,1) x P(21,1) x 1 x 1 x 1 = 10626

AB = banyak kombinasi nama 6 huruf yang dimulai dengan huruf S dan mengandung

huruf TY di posisi ke-2 dan ke-3

= 1 x 1 x 1 x P(23,1) x P(22,1) x P(21,1)

= 10626

AC = banyak kombinasi nama 6 huruf yang dimulai dengan huruf S dan diakhiri dengan

huruf ZEN

= 1 x P(22,1) x P(21,1) x 1 x 1 x 1

= 462

BC = banyak kombinasi nama 6 huruf yang mengandung huruf TY di posisi ke-2 dan ke-

3 serta diakhiri oleh huruf ZEN

= P(21,1) x 1 x 1 x 1 x 1 x 1

= 21

ABC= banyaknya kombinasi nama 6 huruf yang diawali oleh huruf S, mengandung huruf

TY di posisi ke-2 dan ke-3, dan diakhiri oleh huruf ZEN

= 1 x 1 x 1 x 1 x 1 x 1

= 1

A + B + C – (AB) – (BC) – (AC) + (ABC)

= 6375600 + 255024 + 10626 – 10626 – 21 – 462 + 1

= 6630142

8. Nama tersebut boleh mengandung huruf yang berulang dengan syarat nama dimulai dari huruf

S, atau memuat huruf TY di digit ke-2 dan ke-3, atau diakhiri dengan huruf ZEN.

Jawaban : “12337651”

Pembahasan :

A = 1 x P(26,1) x P(26,1) x P(26,1) x P(26,1) x P(26,1) = 11881376

B = P(26,1) x 1 x 1 x P(26,1) x P(26,1) x P(26,1) = 456976

C = P(26,1) x P(26,1) x P(26,1) x 1 x 1 x 1 = 17576

AB = 1 x 1 x 1 x P(26,1) x P(26,1) x P(26,1)

= 17576

Page 5: OSP 2012 KOMPUTER

AC = 1 x P(26,1) x P(26,1) x 1 x 1 x 1

= 676

BC = P(26,1) x 1 x 1 x 1 x 1 x 1

= 26

ABC = 1 x 1 x 1 x 1 x 1 x 1

= 1

A + B + C – (AB) – (BC) – (AC) + (ABC)

= 11881376 + 456976 + 17576 – 17576 – 26 – 676 + 1

= 12337651

9. Diketahui persamaan sebagai berikut :

𝑀(𝑛) = {

1 , 𝑛 = 02𝑀(𝑛 − 3) , 𝑛 𝑔𝑎𝑛𝑗𝑖𝑙

3𝑀(𝑛 + 1) − 2 , 𝑛 𝑔𝑒𝑛𝑎𝑝

Berapakah nilai M(12)?

Jawaban : “27994”

Pembahasan :

10. Tiga orang dari kami membuat sebuah taruhan. Pertama, Pak Dengklek menang dari Pak

Ganesh sebanyak yang dimiliki Pak Dengklek pada mulanya. Selanjutnya, Pak Ganesh

menang dari Pak Blangkon sebanyak uang Pak Ganesh yang tadi tersisa pertama. Lalu, Pak

blangkon menang dari Pak Dengklek sebanyak uang yang dimiliki Pak Blangkon sebelumnya.

Permainan ini berakhir dengan nilai uang kami sama. Saya memulai permainan ini dengan 50

sen. Siapakah saya?

Jawaban : Pak Ganesh

Pembahasan :

(1)D = 2*D, G = G-D

(2)G = 2*(G-D), B = B-(G-D) =B+D-G

(3)B = 2*(B+D-G), W = 2*D-(B+D-G) = D+G-B

D = D+G-B; G=2*(G-D); B = 2*(B+D-G)

4*G = 5*B and 3*B = 4*D.

Hanya G = 50 yang dapat menghasilkan bilangan bulat. B = 40. D = 30. Maka ia adalah Pak

Ganesh

11. Jika 4! berarti 4.3.2.1=24. Tuliskanlah digit kedua terakhir dari 1! + 2! + 3! + …+ 9999!

Jawaban : “13”

Page 6: OSP 2012 KOMPUTER

Pembahasan :

Karena 10! , 11! , 12! , dst. digit kedua terakhirnya adalah 0, maka cukup menghitung 1!

sampai 9! = 409113.

Berikut ini merupakan deskripsi untuk soal nomor 12-13

Pada suatu pulau terpencil, terdapat dua suku penduduk asli yang hidup bersama-sama.

Salah satu suku terkenal sebagai suku yang selalu mengatakan kebenaran, sedangkan suku

yang lain adalah suku yang selalu mengatakan kebohongan. Anda tiba di pulau tersebut dan

bertanya kepada seorang penduduk apakah di pulau tersebut terdapat harta karun yang

terpendam atau tidak. Penduduk tersebut menjawab “Ada harta karun di pulau ini jika dan

hanya jika saya selalu mengatakan kebenaran”.

12. Berasal dari suku manakah orang yang menjawab pertanyaan tersebut?

Jawaban: Tidak dapat dipastikan

Pembahasan :

Tidak dapat dipastikan dari suku mana. Tetapi tidak mempengaruhi keberadaan harta karun

13. Apakah ada harta karun di pulau tersebut?

Jawaban : Ya

Pembahasan :

Ya, walaupun tidak dapat dipastikan suku mana yang menjawab pertanyaan.

Ada harta karun di pulau ini jika dan hanya jika saya selalu mengatakan kebenaran

Misalkan

p : saya selalu mengatakan kebenaran

q : ada harta karun di pulau ini

Maka ekspresi logikanya adalah p q

Terdapat 2 kemungkinan kasus :

Kasus 1 : Orang yang memberi jawaban adalah orang yang berasal dari suku yang selalu

mengatakan kebenaran.

Berarti, p bernilai benar dan p q juga bernilai benar. Karena itu, q juga bernilai benar.

Maka, benar bahwa ada harta karun di pulau itu.

Kasus 2 : Orang yang memberi jawaban adalah orang yang berasal dari suku yang selalu

mengatakan kebohongan

Berarti, p bernilai salah dan p q juga bernilai salah.

Dari tabel biimplikasi, terlihat bahwa :

p q p q

T T T

T F F

Page 7: OSP 2012 KOMPUTER

F T F

F F T

Terlihat bahwa jika p salah dan p q juga salah, maka q bernilai benar. Maka, benar bahwa

ada harta karun di pulau itu.

Dari 2 kasus, disimpulkan bahwa terdapat harta karun di pulau tersebut walaupun tidak dapat

dipastikan bahwa orang yang menjawab pertanyaan itu berasal dari suku mana.

14. Jika 4! berarti 4.3.2.1=24. Tuliskanlah berapa banyak digit 0 setelah digit bukan 0 terakhir

yang ada di 1000!

Jawaban : “249”

Pembahasan :

Angka 0 di belakang didapat dari faktorial yang pada faktorisasinya terdapat angka 5, 25, 125,

dst. Banyaknya 0 adalah ⌊1000

5⌋ + ⌊

1000

25⌋ + ⌊

1000

125⌋ + ⌊

1000

625⌋ = 200 + 40 + 8 + 1 = 249

Berikut ini merupakan deskripsi untuk soal nomor 15-19

Pada suatu ketika terdapat 5 orang yang terdampar di sebuah pulau terpencil yaitu Eddie,

Jendy, Laura, Nadine, dan Rainal. Masing-masing dari mereka memiliki profesi yang

berbeda yaitu dokter gigi, tukang kebun, pilot, polisi, pramugari. Ada yang berasal dari

Australia, Indonesia, Jerman,Vietnam, dan Zimbabwe. Masing – masing memiliki binatang

peliharaan yang berbeda yaitu anjing, burung, kucing, monyet, dan ular. Olahraga favorit

mereka juga berbeda-beda, yaitu basket, renang, sepakbola, tenis, dan voli. Selain itu juga

diketahui fakta-fakta sebagai berikut :

1. Orang yang berasal dari Zimbabwe tidak suka berenang

2. Nadine dan Laura tidak suka monyet

3. Orang yang memelihara ular berprofesi sebagai polisi

4. Laura adalah seorang pramugari

5. Orang yang berasal dari Jerman berprofesi sebagai pilot dan memelihara kucing

6. Eddie suka sepakbola sedangkan Nadine menyukai tenis

7. Orang yang olahraga favoritnya adalah basket tidak suka memelihara burung

8. Orang yang memelihara burung berasal dari Australia

9. Nadine berasal dari Indonesia

10. Orang yang berprofesi sebagai polisi berasal dari Zimbabwe

15. Olahraga favorit dari orang yang memelihara monyet adalah …

Jawaban : sepakbola

Pembahasan :

Jika direpresentasikan dalam tabel, maka fakta-fakta tersebut bisa dibentuk sbb

Nama Nadine Eddie Laura

Pekerjaan Pilot pramugari Polisi

Negara Asal Indonesia Jerman Zimbabwe

Page 8: OSP 2012 KOMPUTER

Olahraga favorit Tenis sepakbola

Binatang peliharaan kucing ular

Dari tabel di atas, yang mungkin memelihara monyet adalah Nadine, Eddie, dan Laura. Sesuai

dengan pernyataan no.2 maka yang mungkin memelihara monyet adalah Eddie. Oleh karena

itu, olahraga favoritnya adalah sepakbola.

16. Jika orang yang berasal dari Vietnam berprofesi sebagai tukang kebun, maka yang berprofresi

sebagai dokter gigi berasal dari …

Jawaban : Indonesia

Pembahasan :

Berdasarkan pernyataan yang berasal dari Vietnam berprofesi sebagai tukang kebun, yang

mungkin berasal dari Vietnam hanyalah Eddie, sehingga yang berprofesi sebagai dokter gigi

adalah Nadine yang berasal dari Indonesia

17. Jika yang berprofesi sebagai dokter gigi memelihara anjing, maka yang memelihara burung

memiliki profesi sebagai…

Jawaban : pramugari

Pembahasan :

Dari fakta-fakta di atas, yang mungkin memelihara anjing hanyalah Nadine atau Laura.

Karena profesi Laura telah diketahui, maka yang memelihara anjing adalah Nadine. Oleh

karena itu, yang memelihara burung adalah Laura yang berprofresi sebagai pramugari

18. Olahraga favorit orang yang berasal dari Australia adalah …

Jawaban : renang

Pembahasan :

Dari pernyataan no.7 dapat disimpulkan bahwa Laura tidak suka bermain basket. Berarti

olahraga favorit Laura mungkin renang atau voli. Dari pernyataan no.1 dapat disimpulkan

bahwa orang yang suka berenang adalah Laura. Berdasarkan pernyataan no.8, maka yang

mungkin berasal dari Australia hanyalah Laura.

19. Jika pernyataan no.7 dihilangkan, maka hal-hal yang masih dapat disimpulkan adalah

I. Olahraga favorit orang yang berasal dari Vietnam kemungkinannya adalah basket atau

berenang

II. Rainal kemungkinan berprofesi sebagai pilot atau polisi

III. Orang yang memelihara ular suka berenang

IV. Jendy berasal dari Zimbabwe atau Jerman

(tuliskan jawaban anda di lembar jawaban hanya huruf pilihan yang bersangkutan).

A. Hanya I & III yang benar

B. Hanya II & IV yang benar

Page 9: OSP 2012 KOMPUTER

C. Hanya I & IV yang benar

D. Hanya II & III yang benar

E. Tidak ada kesimpulan yang benar

Jawaban : B

Pembahasan :

Orang yang berasal dari Vietnam olahraga favoritnya adalah sepakbolah, jadi tidak mungkin

suka basket ataupun berenang. Orang yang memelihara ular berasal dari Zimbabwem

sehingga tidak mungkin suka berenang. Oleh karena itu pernyataan yang benar hanyalah II

dan IV.

20. Sebuah slot machine memiliki tiga roda undi. Di setiap roda ada 4 simbol, yaitu A, B, C, dan

D. Setiap kali pengguna menarik tuas, ketiga roda undi akan berputar dan masing-masingnya

berhenti di suatu simbol tertentu. Pengguna akan menang jika ketiga simbol yang ditunjukkan

roda undi semuanya sama. Berapakah peluang pengguna untuk menang di slot machine ini?

Jawaban : “0.0625”

Pembahasan :

Total kemungkinan hasil: 4 * 4 * 4 = 64. Kemungkinan roda undi semuanya sama: 4 (AAA,

BBB, CCC, DDD). Peluang: 4/64 = 1/16.

21. Sebuah slot machine memiliki tiga roda undi. Di setiap roda ada 4 simbol, yaitu A, B, C, dan

D. Setiap kali pengguna menarik tuas, ketiga roda undi akan berputar dan masing-masingnya

berhenti di suatu simbol tertentu. Pengguna akan menang jika ketiga simbol yang ditunjukkan

roda undi semuanya sama. Namun, slot machine yang ini sudah agak tua. Jika slot machine

dipukul, maka roda undi yang berbeda sendiri bisa berubah menjadi sama dengan yang

lainnya, misalnya A-A-D, kemudian dipukul, bisa berubah menjadi A-A-A. Berapakah

peluang pengguna untuk memang di slot machine ini?

Jawaban : “0.625”

Pembahasan :

Total kemungkinan hasil: 4 * 4 * 4 = 64. Kemungkinan roda undi semuanya sama: 4 (AAA,

BBB, CCC, DDD). Kemungkinan salah satu yang berbeda: (AA[BCD], A[BCD]A,

[BCD]AA, BB[ACD], B[ACD]B, [ACD]BB, CC[ABD], C[ABD]C, [ABD]CC, DD[ABC],

D[ABC]D, [ABC]DD). Peluang: 40/64 = 5/8.

22. Jika a, b, c, d dan e adalah bilangan-bilangan cacah (0,1,2, ...) dan diketahui pula a*b*c*d*e

= 864, berapakah banyaknya kemungkinan nilai-nilai kelima bilangan tersebut dapat dibuat

jika a*b harus sama dengan 12 dan setiap bilangan boleh digunakan lebih dari satu kali?

(Tuliskan jawabannya dalam bentuk angka)

Jawaban : “360”

Pembahasan :

Page 10: OSP 2012 KOMPUTER

Untuk a*b = 12, a dan b ada 6 pasang kemungkinan ({1,12}, {2,6}, {3,4},{4,3}, {6,2},{12,1})

dan c*d*e = 72 ada 60 kemungkinan ({1,1,72},...,{72,1,1}), sehingga total kemungkinan ada

6*60 = 360

Berikut ini merupakan deskripsi untuk soal nomor 23-24

Pak Dengklek mengadakan sebuah kompetisi makan kerupuk seIndonesia. Pada kompetsisi

tersebut terdapat m medali dan kontes tersebut dilaksanakan selama n hari. Pada hari

pertama, 1 medali diberikan kemudian 1/7 dari sisa medali diberikan

Pada hari kedua, 2 medali diberikan kemudian 1/7 dari sisa medali diberikan

Demikian terus berlangsung hingga pada hari ke n, n medali diberikan pada peserta

23. Tentukan lamanya kompetisi tersebut dilaksanakan!

Jawaban : “6”

Pembahasan :

36 medali selama 6 hari

Hari 1 : 1+(35/7) medali diberikan, sisa medali 30

Hari 2 : 2+(28/7) medali diberikan, sisa medali 24

Hari 3 : 3+(21/7) medali diberikan, sisa medali 18

Hari 4 : 4+(14/7) medali diberikan, sisa medali 12

Hari 5 : 5+(7/7) medali diberikan, sisa medali 6

Hari 6 : 6 medali diberikan

24. Tentukan banyaknya medali pada awal kompetisi!

Jawaban : “36”

Pembahasan :

36 medali selama 6 hari

Hari 1 : 1+(35/7) medali diberikan, sisa medali 30

Hari 2 : 2+(28/7) medali diberikan, sisa medali 24

Hari 3 : 3+(21/7) medali diberikan, sisa medali 18

Hari 4 : 4+(14/7) medali diberikan, sisa medali 12

Hari 5 : 5+(7/7) medali diberikan, sisa medali 6

Hari 6 : 6 medali diberikan

25. Pada suatu sekolah, terdapat 8 orang siswa (1, 2, …, 8) dan lima buah mata pelajaran yang

dapat dipilih (A, B, C, D, E). Tabel berikut merepresentasikan hubungan antara siswa dan

mata pelajaran. Angka 1 pada elemen (i, j) berarti siswa i memilih mata pelajaran j, sedangkan

angka 0 menyatakan siswa i tidak memilih mata pelajaran j.

A B C D E

1 0 1 0 0 1

2 0 1 0 1 0

Page 11: OSP 2012 KOMPUTER

3 0 0 1 1 0

4 1 1 0 0 0

5 0 1 0 1 0

6 0 0 1 1 0

7 1 0 1 0 0

8 0 0 1 1 0

Jika pihak sekolah akan mengatur jadwal untuk ujian kelima mata pelajaran tersebut sehingga

semua siswa dapat mengikuti ujian mata pelajaran yang diambilnya tanpa bertabrakan

waktunya dengan jadwal ujian pelajaran lain yang juga diambilnya, berapa jumlah minimum

hari yang dibutuhkan untuk mengadakan ujian?

Jawaban : 2 hari

Pembahasan :

Dibuat graf dengan simpul sebagai mata pelajaran (A..E) dan sisi yang melambangkan bahwa

ada siswa yang mengambil kedua mata pelajaran tersebut.

Dari graf tersebut, dapat disimpulkan bahwa :

Ujian untuk mata pelajaran A, D, dan E dapat dilaksanakan bersamaan. Dan mata pelajaran

B dan C dapat dilaksanakan bersamaan. Sehingga, diperlukan minimal 2 hari untuk

mengadakan ujian untuk lima mata pelajaran tersebut.

26. Bilangan berikutnya dari deret ini adalah:

0, 1, 2, 4, 7, 12, 20, 33, 54, 88, …

Jawaban : “143”

Pembahasan :

Selisih antara 2 bilangan pada deret ini sesuai dengan deret Fibonacci, sehingga angka

berikutnya adalah 88+55=143.

Berikut ini merupakan deskripsi untuk soal nomor 27-28

Page 12: OSP 2012 KOMPUTER

Dalam sebuah pertandingan renang antar RW terdapat 8 orang peserta, mereka adalah A,B,C,D,E,F,G, dan H. Setelah pertandingan dilakukan secara tertutup, Pak Lurah yang

merupakan juri mengumumkan hasilnya secara unik. Ia tidak mengumumkan urutan

peringkat dari 1 sampai 8, makin kecil peringkat seseorang tentunya semakin baik

peringkatnya, tetapi hanya memberikan beberapa fakta mengenai pertandingan, yaitu

sebagai berikut:

a. E berada 3 peringkat dibawah B dan 4 peringkat diatas F

b. Peringkat A lebih baik dari D, dan peringkat D lebih baik dari H

c. Selisih peringkat A dan D sama dengan selisih peringkat D dan H

d. Peringkat G lebih baik dari peringkat C

27. Ada berapa konfigurasi urutan peringkat yang mungkin?

Jawaban : “2”

Pembahasan :

Ada 2 konfigurasi yang mungkin, yaitu B,G,C,E,A,D,H,F; atau B,G,A,E,D,C,H,F.

28. Jika diketahui peringkat C lebih baik dari E, tuliskanlah urutan peringkat dari 1-8!

Jawaban : B,G,C,E,A,D,H,F.

Pembahasan :

29. Sebuah nomor telepon 7 digit dengan format d1d2d3 – d4d5d6d7. Sebuah digit telepon

dikatakan mudah untuk dihafal jika d1d2d3 sama persis dengan d4d5d6 dan d5d6d7. Digit

yang valid di adalah anatara 0 hingga 9. Ada berapa banyak nomor telepon yang berbeda yang

memenuhi persyaratan mudah untuk dihafal?

Jawaban : “19990”

Pembahasan :

Misalkan:

A = {kumpulan nomor telepon yang d1d2d3 sama dengan d4d5d6}

B = {kumpulan nomor telepon yang d1d2d3 sama dengan d5d6d7}

Sebuah nomor telepon A∩B jika dan hanya jika d1 = d2 = d3 = d4 = d5 = d6 = d7.

n(AᴒB) = n(A) + n(B) - n(A∩B)

= 1000x10 + 1000x10 – 10

= 19990

Berikut ini merupakan deskripsi untuk soal nomor 30-31

Empat orang laki-laki - Andi, Budi, Charlie and Doni – sedang berdiri lurus.

Hanya satu orang yang tampan, pintar dan tidak penakut

Dua orang yang tidak pintar, dan mereka berdiri di sebelah Andi

Budi adalah satu-satunya orang yang berdiri di sebelahnya satu-satunya orang tampan

Charlie adalah satu-satunya orang yang tidak berdiri di sebelahnya satu-satunya orang

penakut

Page 13: OSP 2012 KOMPUTER

30. Siapa yang pintar, tampan dan tidak penakut?

Jawaban : Charlie

Pembahasan :

Kemungkinan posisi mereka adalah: CHARLIE-BUDI-ANDI-DONI. Yang pintar, tampan,

dan tidak penakut adalah Charlie

31. Siapa saja yang dipastikan penakut?

Jawaban : Andi

Pembahasan :

Hanya ada 1 penakut menurut soal, yaitu Andi

Berikut ini merupakan deskripsi untuk soal nomor 32-34

Sebuah perusahaan manajemen membuat suatu tim yang terdiri dari 3 orang sarjana teknik

dan 2 orang sarjana sosial. Perusahaan itu memiliki 4 orang sarjana teknik, yaitu A, B, C,

dan D, serta 3 orang sarjana sosial, yaitu X, Y, dan Z. Ada beberapa ketentuan dalam

menyusun tim tersebut:

- A dan Z terikat kontrak, jadi harus dipilih keduanya jika salah satu ada dalam tim.

- Jika C ada dalam tim, maka Z harus dipilih, tetapi jika Z dipilih maka C tidak harus

dipilih.

- A tidak bisa bekerja sama dengan C.

- D tidak bisa bekerja sama dengan Y.

32. Tuliskan semua orang yang pasti masuk di dalam tim!

Jawaban : A, B, D, X, Z

Pembahasan :

Jika A tidak masuk, maka Z tidak masuk. Sisa B, C, D tidak mungkin, maka pasti A dan Z

masuk. Karena A pasti masuk, C pasti tidak masuk. Karena C pasti tidak masuk, pasti B dan

D yang masuk. Karena D masuk, maka Y pasti tidak masuk, maka X yang masuk dalam tim.

33. Tuliskan semua orang yang pasti tidak masuk di dalam tim!

Jawaban : C,Y

Pembahasan :

Jika A tidak masuk, maka Z tidak masuk. Sisa B, C, D tidak mungkin, maka pasti A dan Z

masuk. Karena A pasti masuk, C pasti tidak masuk. Karena C pasti tidak masuk, pasti B dan

D yang masuk. Karena D masuk, maka Y pasti tidak masuk, maka X yang masuk dalam tim.

Page 14: OSP 2012 KOMPUTER

34. Tim diperbesar menjadi 3 orang sarjana teknik dan 3 orang sarjana sosial. Kemudian datang

seorang sarjana sosial baru, yaitu W. Berapakah kemungkinan susunan tim yang bisa dibentuk

sekarang?

Jawaban : “1”

Pembahasan :

Kombinasi yang mungkin hanya 1, jika 3 teknik dan 2 sosial. Banyak kombinasi yang

mungkin jika 3 teknik dan 3 sosial tetap hanya 1, karena yang mengisi sosial yang ketiga pasti

W (Y tidak mungkin).

35. Apabila Listi hanya dapat melakukan loncatan dengan panjang 7 atau 9, berikan salah satu

cara ia dapat mencapai titik 72. Berikan sebagai urutan loncatan yang harus ia lakukan.

Jawaban : 9 – 18 – 27 – 36 – 45 – 54 – 63 – 72

Pembahasan :

36. Apabila Listi hanya dapat melakukan loncatan dengan panjang 7 atau 9, ada berapa cara

berbeda yang dapat ia lakukan untuk mencapai titik 72?

Jawaban : 11

Pembahasan :

f(72) = f(65) + f(63) = 9 + 2 = 11

f(65) = f(58) + f(56) = 8 + 1 = 9

f(63) = f(56) + f(54) = 1 + 1 = 2

f(58) = f(51) + f(49) = 7 + 1 = 8

f(56) = f(49) + f(47) = 1 + 0 = 1

f(54) = f(47) + f(45) = 0 + 1 = 1

f(51) = f(44) + f(42) = 6 + 1 = 7

f(49) = f(42) + f(40) = 1 + 0 = 1

f(47) = f(40) + f(38) = 0 + 0 = 0

f(45) = f(38) + f(36) = 0 + 1 = 1

f(44) = f(37) + f(35) = 5 + 1 = 6

f(42) = f(35) + f(33) = 1 + 0 = 1

f(40) = f(33) + f(31) = 0 + 0 = 0

f(38) = f(31) + f(29) = 0 + 0 = 0

f(36) = f(29) + f(27) = 0 + 1 = 1

f(37) = f(30) + f(28) = 4 + 1 = 5

f(35) = f(28) + f(26) = 1 + 0 = 1

f(33) = f(26) + f(24) = 0 + 0 = 0

f(31) = f(24) + f(22) = 0 + 0 = 0

f(29) = f(22) + f(20) = 0 + 0 = 0

f(27) = f(20) + f(18) = 0 + 1 = 1

f(30) = f(23) + f(21) = 3 + 1 = 4

f(28) = f(21) + f(19) = 1 + 0 = 1

Page 15: OSP 2012 KOMPUTER

f(26) = f(19) + f(17) = 0 + 0 = 0

f(24) = f(17) + f(15) = 0 + 0 = 0

f(22) = f(15) + f(13) = 0 + 0 = 0

f(20) = f(13) + f(11) = 0 + 0 = 0

f(18) = f(11) + f(9) = 0 + 1 = 1

f(23) = f(16) + f(14) = 2 + 1 = 3

f(21) = f(14) + f(12) = 1 + 0 = 1

f(19) = 0

f(17) = 0

f(15) = 0

f(13) = 0

f(11) = 0

37. Apabila Listi dapat melakukan loncatan dengan panjang 1 atau 2 saja, ada berapa cara berbeda

yang dapat ia lakukan untuk mencapai titik 12?

Jawaban : 233

Pembahasan : ini tinggal Fibonacci aja

f(0) = 1

f(1) = 1

f(2) = 2

f(3) = 3

f(4) = 5

f(5) = 8

f(6) = 13

f(7) = 21

f(8) = 34

f(9) = 55

f(10) = 89

f(11) = 144

f(12) = 233

38. Apabila Listi hanya dapat melakukan loncatan dengan panjang angka pangkat 1, 2, 4, 8, 16,

32, dan 64, berikan salah satu cara untuk mencapai titik 100 yang menggunakan jumlah

loncatan sesedikit mungkin.

Jawaban : 64 – 96 – 100

Pembahasan : pake greedy

64 + 32 + 4

39. Tentukan jumlah cara berbeda untuk mencapai titik 21 apabila Listi dapat melakukan loncatan

dengan panjang integer positif berapa pun juga.

Page 16: OSP 2012 KOMPUTER

Jawaban : 221 = 2 * 1024 * 1024 = 2097152

Pembahasan :

f(0) = 1

f(x) = f(x-1) + f(x-2) + … + f(0) = 2x-1, x > 0

40. 1,1,2,3,4,6,6,9,12,10,16,20,15,25,30,21,36,42,28,49,.. Tuliskan bilangan yang merupakan

suku berikutnya dari barisan ini.

Jawaban : “56”

Pembahasan :

Barisan ini terdiri dari 3 barisan yaitu

1,3,6,10,15,21,28,… (barisan segitiga);

1,4,9,16,25,36,… (barisan segiempat); dan

2,6,12,20,30,42,.. (2*1,3*2,4*3,…).

Maka bilangan yang merupakan suku berikutnya adalah 8*7=56

41. Bilangan berikutnya dari deret ini adalah:

0, 2, 4, 7, 12, 23, 42, …

Jawaban : “83”

Pembahasan :

Beda Xi dengan Xi+1 adalah bilangan prima ke-‘fibonacci(i)’, dengan f(1)=f(2)=1. Maka

bilangan berikutnya adalah 42+(bilangan prima ke f(7))=42+41=83.

42. (15 𝑚𝑜𝑑 11) + (25 𝑚𝑜𝑑 11) + (35 𝑚𝑜𝑑11) + ⋯ + (335 𝑚𝑜𝑑 11) =…

Jawaban : “165”

Pembahasan :

Bilangan-bilangan asli jika dipangkat5kan lalu dimod 11 hasilnya akan menunjukkan pola

berikut

1, 10, 1, 1, 1, 10, 10, 10, 1, 10, 0, 1, 10, 1, 1, 1, 10, 10, 10, 1, 0, dst. sehingga hasilnya adalah

55*3=165.

43. Diberikan sebuah segitiga sama sisi dengan panjang sisi R. Segitiga tersebut memiliki 3 titik

sudut (You don’t say? wkwkwk). Misalkan setiap titik sudut merupakan pusat dari

lingkarang dengan jari-jari R. Berapakah luas interseksi dari ketiga lingkaran yang terbentuk?

Jawaban boleh pecahan maupun bilangan. Konstanta PI dan akar boleh tidak dievaluasi. Jawaban : (pi – setengah akar tiga) kali R kuadrat

Pembahasan :

44. Diberikan sebuah poligon dengan 1000 sisi (oleh karenanya, poligon tersebut memiliki tepat

1000 titik). Setiap sisi memiliki panjang yang sama, dan setiap sudut dari poligon tersebut

memiliki ukuran yang sama. Diketahui bahwa panjang maximal dari sebuah segmen garis

yang dibentuk dengan memilih tepat 2 titik dari poligon tersebut ialah 20. Berapakah luas

Page 17: OSP 2012 KOMPUTER

poligon tersebut? Jawaban harus dievaluasi dan dibulatkan ke atas atau ke bawah (kedua

jawaban akan dianggap benar).

Jawaban : 314

Pembahasan :

45. Terdapat 100 titik, dinomori 1 sampai 100. Jarak antara dua titik adalah selisih dari kedua

bilangan titik tersebut. Titik X bersebelahan dengan titik Y apabila jarak mereka ialah 1.

Jawaban :

Pembahasan :

Berikut ini merupakan deskripsi untuk soal nomor 46-49

Setiap Gogo, Siti, Lisa, Rosid, dan Vina berada di salah satu titik. Kita akan

mengidentifikasi lokasi mereka dengan informasi-informasi sebagai berikut:

a) Kelima anak tersebut berada di titik yang berbeda-beda

b) Jarak antara Rosid ke Vina lebih kecil daripada jarak antara Gogo ke Vina

c) Gogo berada di titik 3.

d) Tidak terdapat orang di semua titik yang bersebelahan dengan Vina.

e) Jumlah dari jarak antara Siti dengan keempat orang lainnya ialah 32.

f) Rosid berada di titik bernomor prima

g) Lisa berjarak 10 dari Gogo.

h) Jarak Lisa ke Rosid prima

i) Jarak Vina dan Gogo tidak lebih dari 12.

j) Tidak ada orang yang berada di titik 2.

Titik 2 kosong (clue j)

Gogo berada di titik 3 (clue c)

Lisa ada di titik 13 (clue g)

Posisi Rosid : 11 (clue a, c, f, g, h, i)

V-3 > 11-V atau V > 11

2V > 14

V > 7

Posisi Vina yang mungkin : 8, 9, 15 (clue a, b, c, d, f, g, h, i)

Posisi Siti yang mungkin : 1, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 16, 17, 18, 19, 20, …

Tapi dengan clue e :

Posisi Vina yang mungkin : 9, 15

lalu

Posisi Siti yang mungkin : 1, 17

sehingga

Posisi Vina yang mungkin : 9

46. Sebutkan semua titik yang mungkin merupakan lokasi Lisa.

Jawaban : 13

Pembahasan :

Page 18: OSP 2012 KOMPUTER

47. Sebutkan semua titik yang mungkin merupakan lokasi Rosid.

Jawaban : 11

Pembahasan :

48. Sebutkan semua titik yang mungkin merupakan lokasi Vina.

Jawaban : 9

Pembahasan :

49. Sebutkan semua titik yang mungkin merupakan lokasi Siti.

Jawaban : 1 dan 17

Pembahasan :

BAGIAN B: ALGORITMIK

Potongan program berikut ini merupakan pseudocode untuk soal nomor 1-2

procedure Z (a1, a2, … an : integer; x : integer; idx : integer);

var

i,j,mid : integer;

ketemu : boolean;

begin

i := 1;

j :=n;

ketemu := false;

while ((not ketemu) and (i<= j)) do

begin

mid := (i+j) div 2;

if (amid = x) then

Page 19: OSP 2012 KOMPUTER

ketemu := true;

else

if (amid < x) then

i := mid +1;

else

j := mid -1;

end;

if (ketemu) then

idx := mid;

else

idx := 0;

end;

50. Apakah yang dilakukan oleh algoritma pada Procedure Z diatas?

Jawaban :

Pembahasan :

Procedure Z adalah algoritma untuk melakukan pencarian (dengan metode Binary Search)

51. Mengacu pada potongan algoritma di pertanyaan no 1, jika a1,a2,… an tidak ada yang bernilai

sama dengan x, berapa kalikah operasi perbandingan dilakukan?

A. n

B. 2 log n

C. n2

D. n log n

E. Tidak ada pilihan yang sesuai

(tuliskan jawaban anda di lembar jawaban hanya huruf pilihan yang bersangkutan).

Jawaban : B

Pembahasan :

Potongan program berikut ini merupakan pseudocode untuk soal nomor 3-5

//inisiasi semua T[..] sebagai true

for i := 2 to max do

begin

if (T[i]) then

begin

writeln(i);

j := i;

while (j*i <= n) do

begin

… //perintah yang hilang

j := j + 1;

end;

end;

end;

Page 20: OSP 2012 KOMPUTER

52. Algoritma tersebut bertujuan untuk mencetak 2,3,5,7,… seterusnya hingga nilai max

Agar algoritma bekerja sesuai dengan yang diharapkan, perintah apa yang harus dituliskan di

bagian “… //perintah yang hilang?” (hint : perintah hanya terdiri dari 1 baris).

Jawaban : T[i*j] := false;

Pembahasan :

53. Mengacu pada potongan algoritma di atas. Bila max bernilai 100, berapa kali perintah

writeln(i) dieksekusi?

Jawaban : “25”

Pembahasan :

54. Mengacu pada potongan algoritma di atas. Bila max bernilai 100, apa saja yang ditampilkan

saat perintah writeln(i) dieksekusi?

Jawaban : 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

Pembahasan :

Potongan program berikut ini merupakan pseudocode untuk soal nomor 6-8

var

x : array[1..1000] of boolean;

i,j : integer;

p,q : integer;

begin

for i := 1 to 1000 do x[i] := TRUE;

for i := 2 to 1000 do

begin

if x[i] then

begin

j := i + i;

while (j <= 1000) do

begin

x[j] := FALSE;

j := j + i;

end;

end;

end;

readln(p,q);

for i := p to q do if x[i] then write(i,',');

end.

55. Jika pada program pengguna memasukkan nilai p = 10 dan q = 20, Berapa jumlah dari angka-

angka yang dikeluarkan oleh program?

Jawaban : “60”

Pembahasan :

Program melakukan sedemikian rupa sehingga x[1 dan bilangan-bilangan prima] berisi

TRUE, dan lainnya FALSE. Pada bagian terakhir, program mencetak semua x[p..q] yang

isinya TRUE.

Page 21: OSP 2012 KOMPUTER

Jadi,jumlah angka yang dikeluarkan adalah 11 + 13 + 17 + 19 = 60

56. Jika pada program pengguna memasukkan nilai p = 5 dan q = 40, Berapa banyak angka yang

dikeluarkan oleh program?

Jawaban : “10”

Pembahasan :

Ada 10 bilangan: 5, 7, 11, 13, 17, 19, 23, 29, 31, 37

57. Jika pada program pengguna memasukkan nilai p = 1, berapakah nilai q minimum agar

dihasilkan tepat 10 buah angka dari program?

Jawaban : “23”

Pembahasan :

q = 23 (1, 2, 3, 5, 7, 11, 13, 17, 19, 23)

58. Perhatikan potongan program berikut ini

program soalA;

var m,i,a,b,c,d:longint;

begin

readln(m);

a:=1;b:=1;c:=1;

for i:=4 to m do begin

d:=a+b+c;

a:=b;

b:=c;

c:=d;

end;

writeln(c);

end.

Bila user memasukkan input 8, maka berapakah outputnya?

Jawaban : “31”

Pembahasan : Simulasikan

Potongan program berikut ini merupakan pseudocode untuk soal nomor 10-11

Page 22: OSP 2012 KOMPUTER

function campur(n : integer) : integer;

begin

campur := n * n;

end;

function aduk(x,y,z : integer) : integer;

begin

if (y = 0) then

aduk := 1

else if (y mod 2 = 0) then

aduk := campur(aduk(x,y div 2,z)) mod z

else

aduk := ( (x mod z) * aduk(x,y-1,z) ) mod z;

end;

var

a,b,c : integer;

begin

readln(a,b,c);

writeln(aduk(a,b,c));

end.

59. Jika program dijalankan dan pengguna memasukkan angka 2, 10, dan 10, berapakah angka

yang dikeluarkan program?

Jawaban : “4”

Pembahasan :

Program mencetak hasil dari a^b mod c

2^10 = 1024, 1024 mod 10 = 4

60. Jika program dijalankan dan pengguna memasukkan angka 4, 40, dan 5, berapakah angka

yang dikeluarkan program?

Jawaban : “1”

Pembahasan :

Program mencetak hasil dari a^b mod c

4^40 = berakhiran 6 (4^genap berujung 6), 6 mod 5 = 1

Potongan program berikut ini merupakan pseudocode untuk soal nomor 12-14

for i:=1 to n-1 do

for j:=i+1 to n do

… // perintah yang hilang

begin

swap(a,b);

end;

Page 23: OSP 2012 KOMPUTER

61. Jika kita bermaksud untuk membuat potongan program yang melakukan pengurutan

gelembung pada sebuah larik bilangan yang bernama DATA secara menaik, maka perintah

apakah yang harus dituliskan di bagian “… //perintah yang hilang”?

Jawaban : If DATA[i]>DATA[j] then

Pembahasan :

62. Tuliskanlah perintah–perintah penukaran nilai a dan b pada prosedur swap(a,b) dengan

menggunakan 1 variabel pembantu bernama ‘temp’!

Jawaban : temp:=A;

A:=B;

B:=temp;

Pembahasan :

63. Jika untuk N=1000 dibutuhkan 1 detik untuk mengeksekusi program diatas, dan program

berjalan konstan untuk berapapun N, maka jika N=10.000, waktu yang dibutuhkan adalah?

Jawaban : “100”

Pembahasan :

Potongan program berikut ini merupakan pseudocode untuk soal nomor 15-17

function g(a,b : integer) : integer;

begin

if (b = 0) then

g := // kosong

else

g := // kosong

end;

function l(a,b : integer) : integer;

begin

l := // kosong

end;

Fungsi g diharapkan akan menghasilkan Faktor Persekutuan Terbesar (FPB) dari dua buah

nilai integer a dan b, sedangkan fungsi l diharapkan akan menghasilkan Kelipatan Persekutuan

Terkecil (KPK) dari dua buah nilai integer a dan b.

64. Isilah bagian kosong di baris 4 dengan tepat.

Jawaban : g := a

Pembahasan :

65. Isilah bagian kosong di baris 6 dengan tepat.

Jawaban : g := g(b,a mod b);

Pembahasan :

Page 24: OSP 2012 KOMPUTER

66. Isilah bagian kosong di baris 11 dengan tepat.

Jawaban : l := (a * b) div g(a,b);

Pembahasan :

67. Perhatikan potongan program berikut ini

// Kode 1

for p := 1 to n do

for q := 1 to p do

for r := 1 to n do

writeln('GO GET GOLD!');

// Kode 2

for s := 1 to ___ do writeln('GO GET GOLD!');

Agar Kode 1 dan Kode 2 menghasilkan banyak tulisan ‘GO GET GOLD!’ yang sama, tuliskan

bagian kosong pada Kode 2 dengan ekspresi yang sesuai.

Jawaban :

Pembahasan :

68. Perhatikan potongan program berikut ini

// Kode 3

t := n;

while (t > 0) do

begin

for i := 1 to n do writeln('GO GET GOLD!');

t := t div 2;

end;

Jika dipilih nilai n dengan suatu angka yang cukup besar, maka apakah fungsi yang

proporsional dengan pertumbuhan banyaknya tulisan ‘GO GET GOLD!’ yang dihasilkan?

A. sqrt(N)

B. sqr(N)

C. log N

D. N Log N

E. N^2

F. N^3

(tuliskan jawaban anda di lembar jawaban hanya huruf pilihan yang bersangkutan).

Jawaban :

Pembahasan :

69. Perhatikan potongan program berikut ini

function an(n:longint):longint;

begin

if(n<4)then

an:=1

else

TITIK-TITIK

Page 25: OSP 2012 KOMPUTER

end;

Perintah apakah yang harus diisikan pada TITIK-TITIK agar output fungsi tersebut sama

seperti output program soal 2!

Jawaban : an:=an(n-1) + an(n-2) + an(n-3)

Pembahasan :

Potongan program berikut ini merupakan pseudocode untuk soal nomor 20-21

var

i,j:longint;

begin

for j:=1 to 15 do

for i:=1 to 16-j do

if (i mod j=0) then writeln(‘*’);

end.

70. Jika program diatas dijalankan, maka banyaknya bintang yang akan ditampilkan ke layar

adalah?

Jawaban : “34”

Pembahasan :

71. Jika ’16-j’ diubah menjadi 16, maka banyaknya bintang yang akan ditampilkan ke layar

adalah?

Jawaban : “49”

Pembahasan :

Potongan program berikut ini merupakan pseudocode untuk soal nomor 23-26

a:=2;

b:=3;

for i:=p to q do

begin

b:=i*(a+b);

end;

72. Apabila rumus pada baris ke-5 program di atas diubah menjadi b:=a*(a+b) dan nilai b setelah

program dijalankan adalah 108, maka berapa nilai q-p?

Jawaban : “3”

Pembahasan :

Menghitung nilai q-p sama dengan menghitung jumlah pengulangan yang terjadi dikurangi

Perubahan nilai b dapat diamati dari tabel berikut

Perulangan Perhitungan Nilai b

0 3

Page 26: OSP 2012 KOMPUTER

1 2*(2+3) 10

2 2*(2+10) 24

3 2*(2+24) 52

4 2*(2+52) 108

Karena nilai b diperoleh pada perulangan ke-4, maka dapat dipastikan nilai q-p = 3

73. Apabila diketahui p=3 dan nilai b setelah program dijalankan adalah 350, maka berapa nilai

q pada saat inisialisasi?

Jawaban : “5”

Pembahasan :

Perhitungan dari potongan kode di atas dapat dituliskan sebagai berikut

Nilai i Perhitungan Nilai b

3 3*(2+3) 15

4 4*(2+15) 68

5 5*(2+68) 350

Karena nilai b=350 pada saat i bernilai 5, maka q=5

74. Apabila diberi inisialisasi awal a=8, p=3,q=7, berapakah nilai b sebelum program dijalankan

agar nilai b setelah program dijalankan menjadi 44072?

Jawaban : “6”

Pembahasan :

Perhitungan dari potongan kode di atas dapat dituliskan sebagai berikut

Nilai i Perhitungan Nilai b

3 3*(8+ba) 24 + (3*ba)

4 4*(8+(24+(3*ba)))) 128 + (12*ba)

5 5*(8+(128 + (12*ba))) 680 + (60*ba)

6 6 *(8+(680 + (60*ba))) 4128 + (360*ba)

7 7*(8+(4128 + (360*ba)))) 28952 + (2520*ba)

Jika diketahui ba merupakan nilai b sebelum program dijalankan, dan diketahui nilai b setelah

program dijalankan = 44072, maka 28952 + (2520*ba ) = 44072, sehingga ba = 6

75. Apabila nilai b dan p sebelum program dijalankan secara berturut-turut adalah 5 dan 2, dan

diketahui pada saat i=5, nilai b = 1420, pada saat i=8, nilai b= 478720, berapakah nilai a?

Jawaban : “4”

Pembahasan :

Perhitungan dari potongan kode di atas dapat dituliskan sebagai berikut

Nilai i Perhitungan Nilai b

2 2*(a+5) (2*a)+10

3 3*(a+ (2*a)+10) (9*a)+30

4 4*(a+(9*a)+30) (40*a)+120

5 5*(a+(40*a)+120) (205*a)+600

6 6*(a+(205*a)+600) (1236*a)+3600

Page 27: OSP 2012 KOMPUTER

7 7*(a+(1236*a)+3600) (8659*a)+25200

8 8*(a+(8659*a)+25200) (69280*a)+201600

Dari soal diketahui bahwa (205*a)+600=1420 dan (69280*a)+201600 = 478720. Dari kedua

persamaan tersebut diperoleh bahwa nilai a=4

Potongan program berikut ini merupakan pseudocode untuk soal nomor 27-29

var

tab: array [1..200,1..200]of integer;

tab2: array [1..200,1..200]of boolean;

i,j,k,n,m:integer;

procedure adaapa(x,y,z:integer);

begin

if ((x<=m) and (x>=1) and (y<=n) and (y>=1) and not(tab2[x,y]))

then

begin

k:=k+1;

tab[x,y] := z;

tab2[x,y] := true;

adaapa(x-1,y,z+1);

adaapa(x+1,y,z+1);

adaapa(x,y-1,z+1);

adaapa(x,y+1,z+1);

end;

end;

begin

for i:=1 to 200 do

for j:=1 to 200 do

tab2[i,j] := false;

k:=17;

n:=15;

m:=8;

adaapa(1,1,0);

writeln(k);

end.

76. Berapakah nilai yang tercetak pada akhir program?

Jawaban : “137”

Pembahasan :

77. Agar output program tersebut menjadi 834, maka baris n:=15 harus diganti dengan n:=a.

Tentukan nilai a yang sesuai!

Jawaban : “117”

Pembahasan :

Page 28: OSP 2012 KOMPUTER

78. Apabila writeln(k) pada akhir program diganti dengan writeln(tab[4,3]), maka berapa nilai

yang tercetak?

Jawaban : “19”

Pembahasan :

Potongan program berikut ini merupakan pseudocode untuk soal nomor 30-31

function xxx(x:longint):longint;

begin

xxx:=x*x;

end;

function xyz(x,y:longint):longint;

begin

if(y = 1)then

xyz:=x

else if ((y mod 2) = 0) then

xyz:=xxx(xyz(x, y div 2))

else

xyz:=x*xyz(x,y-1);

end;

79. Untuk pemanggilan xyz(2,13) akan menghasilkan nilai berapa?

Jawaban : “8192”

Pembahasan :

80. Tentukan kompleksitas dari fungsi xyz tersebut dengan x adalah sembarang nilai dan y

adalah n!

A. O(1)

B. O(log n)

C. O(n)

D. O(n log n)

E. O(n2)

F. O(n2 log n)

G. O(n!)

H. O(nn)

(tuliskan jawaban anda di lembar jawaban hanya huruf pilihan yang bersangkutan).

Jawaban : B

Pembahasan

81. Perhatikan potongan pseudocode berikut ini procedure func(x: array[1..100] of integer);

for i := 1 to 100 do

swap(x[i], x[101 - i]);

Apabila kita memanggil func(y), jelaskan apa yang terjadi dengan y!

Jawaban : nilai y sebelum pemanggilan func(y) sama dengan nilai y setelah pemanggilan

func(y)

Page 29: OSP 2012 KOMPUTER

Pembahasan :

Waktu i =1, swap (x[1], x[100])

..

Waktu i =50, swap (x[50], x[51])

Waktu i =51, swap (x[51], x[50])

..

Waktu i =100, swap (x[100], x[1])

Potongan program berikut ini merupakan pseudocode untuk soal nomor 33-37

function func(x:integer):integer;

var

i : integer;

b : boolean;

begin

b:= true;

i := 1;

while b=true do

begin

if (x mod i) <> 0 then

begin

func := i;

b:=false;

end;

inc(i);

end;

end;

82. Tentukan nilai dari func(4620)!

Jawaban : 8

Pembahasan :

Pengulangan tersebut berhenti saat i-1 tidak habis membagi x

4620 = 42 * 110 = 2*2*3*5*7*11

habis jika dibagi 1, 2, 3, 4, 5, 6, 7, 10, ….

Nilai kembaliannya adalah i-1, yaitu 8

83. Tentukan nilai x positif terkecil di mana func(x) = 11!

Jawaban : 2520

Pembahasan :

Agar kembaliannya 11, x harus habis dibagi 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 dan tidak habis

dibagi 11. KPK(2, 3, 4, 5, 6, 7, 8, 9, 10) = KPK( 5, 7, 8, 9) = 5*7*8*9 = 2520.

84. Tentukan lima nilai x positif terkecil di mana func(x) = 11!

Jawaban : 2520, 5040, 7560, 10080, 12600

Pembahasan :

Page 30: OSP 2012 KOMPUTER

Agar kembaliannya 11, x harus habis dibagi 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 dan tidak habis

dibagi 11. KPK(2, 3, 4, 5, 6, 7, 8, 9, 10) = KPK( 5, 7, 8, 9) = 5*7*8*9 = 2520. 5 bilangan

positif terkecil : 2520, 2520*2, 2520*3, 2520*4, 2520*5

85. Tentukan bilangan x positif terkecil ke-11 di mana func(x) = 11!

Jawaban : 30240

Pembahasan :

Yang jelas bukan 11*2520, karena func(11*2520) pasti bukan 11. Jadi seharusnya

12*2520.

86. Berikan sepuluh nilai x positif terkecil di mana tidak ada angka positif y sehingga func(y) =

x!

Jawaban : 1, 6, 12, 14, 15, 18, 20, 21, 22, 24

Pembahasan :

Semua bilangan pasti habis dibagi 1, jadi tidak mungkin f(y)=1. Lalu jika x bilangan

komposit dan bukan kuadrat sempurna, tidak mungkin juga f(y) = x karena jika

pengulangan sampai ke x, pasti semua bilangan yang kurang dari x habis membagi y.

Artinya, semua faktor x habis membagi y, demikian juga x. jadi 10 nilai positif terkecil :

1, 6, 12, 14, 15, 18, 20, 21, 22, 24.