OLIMPIADE SAIN PROVINSI (OSP) BIDANG INFORMATIKA 2006 Untuk dikerjakan Selama 150 menit (2 ½ jam)

Ukuran: px
Mulai penontonan dengan halaman:

Download "OLIMPIADE SAIN PROVINSI (OSP) BIDANG INFORMATIKA 2006 Untuk dikerjakan Selama 150 menit (2 ½ jam)"

Transkripsi

1 OLIMPIADE SAIN PROVINSI (OSP) BIDANG INFORMATIKA 2006 Untuk dikerjakan Selama 150 menit (2 ½ jam) Bagian Informasi Sistem penilaian: Jawaban benar = 4, jawaban salah = 1, jawaban kosong = 0, jawaban ganda= 1. penjelasan sejumlah notasi yang digunakan dalam naskah soal. Bilangan 2 n adalah bilangan pangkat dari 2 sebanyak n kali. N! adalah bilangan faktorial N yang berharga hasil perkalian semua bilangan bulat mulai dari 1 sampai dengan N. Bilangan non-negatif adalah bilangan yang tidak berharga negatif (nol termasuk bilangan non-negatif). 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 A div B, dengan A dan B bilangan-bilangan bulat menghasilkan hasil pembagian A dengan B, dengan hanya mengambil bilangan bulatnya saja misalnya 10 div 3 = 3 karena 10 dibagi 3 berharga 3,333 dan bilangan bulatnya 3. Notasi abs(a) dengan A bilangan nyata akan menghasilkan harga positif dari bilangan tersebut. Misalnya abs(-4.5) = 4.5 dan abs(3.2) = 3.2. Notasi trunc(a) dengan A bilangan nyata akan menghasilkan bilangan bulatnya saja, misalnya trunc(4.5) = 4, dan trunc(-4.5) = -4. Notasi sqrt(a) dengan A bilangan nyata non-negatif maka menghasilkan akar dari A (atau A), misalnya sqrt(9) = 3. Notasi length(a) dengan A merupakan string menghasilkan panjang dari string tersebut (termasuk semua karakter di dalamnya), misalnya length( Viva TOKI 2008 ) = 14. Operasi boolean adalah operasi logika. Untuk membantu mengingatnya berikut ini table opersi-operasi yang muncul dalam naskah soal.. A B not A A and B A or B FALSE FALSE TRUE FALSE FALSE FALSE TRUE TRUE FALSE TRUE TRUE FALSE FALSE FALSE TRUE TRUE TRUE FALSE TRUE TRUE Ekspresi Boolean adalah ekspresi yang dibentuk atas satu atau lebih operasi Boolean dari satu atau lebih variable Boolean. Sejumlah soal (atau jawaban) dituliskan dalam dua kolom, maka perhatikan penomoran soal dan jawabannya. Soal Bidang Informatika Halaman 1 OSP TOKI XIII 2007

2 BAGIAN A: ARITMATIKA (12 SOAL) 1 1. Seorang wanita menerima warisan sebesar 3 dari harta suaminya seorang pengusaha yang meninggal dunia karena kecelakaan pesawat. Dan tiga orang 1 putranya juga menerima masing-masing dari 3 sisanya. Jika wanita tersebut dan salah seorang anaknya menerima total sebesar Rp. 6 milyar, berapakah total harta yang ditinggalkan oleh pengusaha tersebut? (A) Rp. 9 milyar (B) Rp. 9,6 milyar (C) Rp milyar (D) Rp milyar (E) Rp. 18 milyar 2. Jika x = 0.888, y = , dan z = (0.888) 2, manakah pernyataan berikut yang paling benar? (A) x < y < z (B) x < z < y (C) y < x < z (D) y < z < x (E) z < x < y 3. Jika n adalah nilai rata-rata dari tiga buah angka yaitu 6, 9, dan k berapakah nilai k sesungguhnya? (A) 3n 15 (B) n 5 (C) n 15 n 15 (D) 3 n 15 (E) 3 4. Mini memiliki uang 3 ribu rupiah lebih banyak dari pada Budi, tapi lebih sedikit 5 ribu dari pada yang dimiliki Yuli, Jika Mini memiliki x ribu rupiah, berapakah jumlah uang yang dimiliki oleh Budi dan Yuli? (A) 2x 8 (B) 2x 5 (C) 2x 2 (D) 2x + 2 (E) 2x Seorang Pedagang membeli buku dari penyalur di kawasan Pasar Cikapundung, Bandung seharga Rp , dia harus menyisakan biaya ongkos sebesar 10%. Selain itu dia juga harus menyisakan keuntungan sebesar Rp per bukunya. Harga jual buku tersebut akan naik berapa persen jika dibandingkan harga belinya? (A) 27.5 % (B) 35 % (C) 45 % (D) 25 % (E) 15 % 6. Ibu Dina sedang mencoba untuk membuka usaha bakery disebuah ruko di perumahan elit di kawasan Cibubur. Dari resep yang ia pelajari, untuk suatu campuran adonan brownies kukus diperlukan 1½ cangkir terigu dan 4½ cangkir air. Bila ternyata sisa tepung terigu yang tersisa di lemari tinggal ¾ cangkir, berapa cangkirkah air yang diperlukan? (A) 2 cangkir (B) 2 ¼ cangkir (C) 3 ½ cangkir (D) 2 ¼ cangkir (E) Sesuai dengan resep 7. Hitunglah (80! 38!) /(77! 40!) (A) 316 (B) 2023 (C) 871 (D) 412 (E) Jumlah dua digit pertama dari bilangan hasil perkalian adalah (A) 16 (B) 6 (C) 14 (D) 10 (E) 8 9. Dalam suatu deret bilangan bulat {x i, i > 0}, x i+1 = 2 x i. (bilangan berikutnya = dua kali bilangan sebelumnya). Jika jumlah enam bilangan pertama berurutan adalah 693 maka bilangan ketiganya adalah (A) 121 (B) 100 (C) 77 (D) 44 (E) 11 Untuk nomor soal perhatikan penjelasan ini Ingat bahwa perkalian tiga matriks A.B.C dapat dilakukan dengan cara (A.B).C, yaitu A.B terlebih dahulu kemudian hasilnya dengan C atau A.(B.C), yaitu B.C diperkalikan terlebih dahulu kemudian Soal Bidang Informatika Halaman 2 OSP TOKI XIII 2007

3 A dikalikan dengan hasilnya. Jika suatu fungsi perkalian matriks dihargai sbb. Dua matriks A berukuran baris x kolom = m x n dikalikan matriks B berukuran = n x p maka harga perkalian matriks tersebut adalah m x n x p. 10. Diberikan matriks-matriks A, B, C, dan D masingmasing berukuran 20x200, 200x20, 20x100, 100x10. Berapakah harga untuk urutan perkalian (A.B).(C.D)? (A) (B) (C) (D) (E) Diberikan perkalian dari empat matriks A.B.C.D yang masing-masing berukuran 20x200, 200x20, 20x100, 100x10. Manakah urutan perkalian matriks yang membutuhkan biaya paling murah? (A) ((A.B).C).D (B) (A.B).(C.D) (C) (A.(B.C)).D (D) A.((B.C).D) (E) A.(B.(C.D)) 12. Diberikan perkalian dari empat matriks A.B.C.D yang masing-masing berukuran 20x200, 200x 20, 20x 100, 100x10. Manakah urutan yang memberikan harga paling mahal dari kemungkinan-kemungkinan berikut ini? (A) ((A.B).C).D (B) (A.B).(C.D) (C) (A.(B.C)).D (D) A.((B.C).D) (E) A.(B.(C.D)) BAGIAN B: ANALITIKA DAN LOGIKA (15 SOAL) Untuk nomor soal perhatikan penjelasan ini Di suatu pertemuan ada 4 orang pria dewasa, 4 wanita dewasa, dan 4 anak-anak. Keempat pria dewasa itu bernama: Santo, Markam, Gunawan, dan Saiful. Keempat wanita dewasa itu bernama Ria, Gina, Dewi, dan Hesti. Keempat anak itu bernama Hadi, Putra, Bobby dan Soleh. Sebenarnya mereka berasal dari 4 keluarga yang setiap keluarga terdiri dari seorang ayah, seorang ibu dan satu orang orang anak, namun tidak diketahui yang mana yang menjadi ayah dan mana yang menjadi ibu dan mana yang menjadi anak dari masing-masing keluarga itu. Kecuali, beberapa hal diketahui sebagai berikut. 1) Ibu Ria adalah ibu dari Soleh. 2) Pak Santo adalah ayah dari Hadi. 3) Pak Saiful adalah suami dari Ibu Dewi, tapi bukan ayah dari Bobby. 4) Pak Gunawan adalah suami Ibu Hesti. 13. Putra adalah (A) Anak dari Pak Markam (B) Anak dari Pak Saiful (C) Anak dari Pak Santo (D) Anak dari Pak Gunawan (E) Anak dari Ibu Ria 14. Ibu Gina adalah (A) Isteri Pak Saiful dengan anak bernama Bobby (B) Isteri Pak Gunawan dengan anak bernama Bobby (C) Isteri Pak Markam dengan anak bernama Hadi (D) Isteri Pak Gunawan dengan anak bernama Putra (E) Isteri Pak Santo dengan anak bernama Hadi 15. Ibu Hesti dan Ibu Dewi dan masing-masing keluarganya tinggal di kota Bandung, sementara kedua keluarga lainnya tinggal di kota Jakarta. Siapakah yang tinggal di kota Jakarta (A) Pak Markam (B) Putra (C) Pak Saiful (D) Bobby (E) Pak Gunawan 16. Jika pernyataan (1) di atas dihilangkan, periksalah apakah masih bisa disimpulkan bahwa I. Ibu Ria kemungkinannya bersuamikan Pak Markam atau Pak Santo II. Soleh kemungkinannya anak dari Pak Markam atau Pak Santo III. Ibu Dewi kemungkinannya adalah ibu dari Soleh atau Putra (A) Hanya I yang benar (B) Hanya II yang benar (C) Hanya III yang benar (D) Hanya I dan III yang benar (E) Ketiganya benar Soal Bidang Informatika Halaman 3 OSP TOKI XIII 2007

4 Untuk nomor soal perhatikan penjelasan ini Dua permuataan relasi logika: X mengakibatkan Y berarti kalau X terjadi, Y pasti/harus terjadi. Y terjadi hanya jika X terjadi kalau X terjadi, Y mungkin/bisa terjadi tetapi Y hanya bisa terjadi jika X terjadi. Berikut ini A, B, C, D, E, F, G dan H adalah peristiwaperistiwa yang memiliki relasi logika sbb. (1) A mengkibatkan B atau C, tapi tidak keduanya (2) F terjadi hanya jika B terjadi (3) D terjadi jika B atau C terjadi (4) E terjadi hanya jika C terjadi (5) J terjadi hanya jika E atau F terjadi (6) D mengakibatkan G atau H atau keduanya (7) H terjadi jika E terjadi (8) G terjadi jika F terjadi 17. Jika A memang terjadi, periksalah kebenaran dari pernyataan-pernyataan berikut ini. I. F dan G bisa terjadi II. E dan H bisa terjadi III. D bisa terjadi (A) Hanya I yang benar (B) Hanya II yang benar (C) Hanya III yang benar (D) I dan III bersama, atau II dan III bersama, tetapi tidak keduanya (E) Semua (I, II, dan III) benar 18. Jika B benar terjadi manakah yang juga harus terjadi? (A) D (B) F dan G (C) D dan G (D) G dan H (E) J 19. Jika J terjadi, manakah yang juga harus terjadi? (A) E (B) Baik E dan F (C) Salah satu dari B atau C (D) G (E) Baik B dan C 20. Dari tiga peristiwa A, D, dan F, manakah yang bisa terjadi tanpa bergantung pada relasi-relasi di atas (A) Hanya D (B) Hanya A (C) Hanya A dan D (D) Hanya A dan F (E) A, D, dan F Untuk nomor soal perhatikan penjelasan ini Sebuah kontraktor bermaksud membangun 5 ruko pada sebidang lahan kosong dipinggiran sebuah jalan protokol. Kontraktor tersebut sedang bingung untuk memilih diantara 7 rumah yang ada : T, U, V, W, X, Y dan Z. Dinas Tata Kota setempat telah memberikan peraturan bagi kontraktor tersebut : Tidak boleh ada satu modelpun yang dibangun lebih dari satu kali Salah satu model W ataupun model Z harus dibangun, namun dilarang membangung kedua model tersebut semuanya Jika model Y dipilih, maka model V juga harus dipilih Jika model U dipilih, maka model W tidak dapat dipilih 21. Jika model U telah dipilih sebagai salah satu model bangunan, maka model manakah berikut ini yang juga harus ikut dibangun? (A) T (B) W (C) X (D) Y (E) Z 22. Jika T, U, dan X telah ditentukan sebagai 3 model yang akan dibangun, maka dua model manakah yang juga harus dibangun? (A) V dan W (B) V dan Z (C) V dan Y (D) W dan Y (E) Y dan Z 23. Manakah diantara berikut ini yang merupakan kombinasi model yang tidak melanggar aturan dari pihak Dinas Tata Kota? (A) T, U, V, X, Y (B) T, U, X, Y, Z (C) T, V, X Y, Z (D) U, V, W, X, Y (E) Y, U, X, Y, Z 24. Jika model Z adalah salah satu model yang tidak terpilih untuk dibangun, maka model mana lagi yang juga tidak akan dibangun dalam proyek tersebut? (A) T (B) U Soal Bidang Informatika Halaman 4 OSP TOKI XIII 2007

5 (C) V (D) W (E) X Untuk nomor soal perhatikan penjelasan ini Di sebuah bandara internasional di negara antah berantah. Pengelola bandara tersebut menyediakan shutlle bus yang berjalan keliling dari terminal A, terminal B dan terminal Parkir. Bis tersebut berhenti secara berurutan di 4 titik terminal A yaitu terminal A1, terminal A2, terminal A3, terminal A4 yang melayani penerbangan-penerbangan domestik. Kemudian bis tersebut secara berurutan berhenti di 3 titik terminal B yaitu terminal B1, terminal B2 dan terminal B3 yang melayani penerbangan-penerbangan internasional. Dari terminal B 3 bis tersebut menuju terminal Parkir untuk berhenti sejenak, dan kemudian menuju kembali ke terminal A1 dan seterusnya berulang-ulang Di airport tersebut juga disediakan layanan dua buah kereta listrik, salah satunya hanya berjalan dari terminal A3 ke terminal parkir pulang pergi, dan kereta lainnya hanya berjalan dari terminal B2 ke terminal parkir pulang pergi. Alat transportasi tersebut merupakan layanan dari pihak pengelola bandara, dan tidak ada alat transportasi lain di lingkungan bandara tersebut yang dapat dipergunakan. Semua moda tersebut berjalan terus menerus selama 24 jam dan tidak dikenakan biaya bagi siapapun yang ingin memanfaatkannya. 25. Untuk dapat mencapai terminal A4 dari terminal Parkir dengan hanya menjumpai titik pemberhentian yang paling sedikit, seseorang harus menempuh perjalanan dengan : (A) Shuttle bus (B) Kereta listrik ke terminal A (C) Shuttle bus dan kemudian berganti kereta listrik ke terminal A (D) Kereta listrik ke terminal A dan kemudian berganti shuttle bus (E) Kereta listrik ke terminal B dan kemudian berganti shuttle bus 26. Manakah diantara berikut ini yang dapat menjadi pemberhentian kedua bagi seseorang yang pergi dari terminal A2 ke terminal B3? (A) A3 (B) B1 (C) B2 (D) B3 (E) Terminal Parkir 27. Jika semua rute perjalanan berikut ini dibuat dengan kemungkinan titik pemberhentian yang paling sedikit, perjalanan yang perlu memanfaatkan kedua kereta listrik dan shutle bus adalah : (A) Dari A2 ke A3 (B) Dari A4 ke B1 (C) Dari Terminal Parkir ke A2 (D) Dari Terminal Parkir ke A4 (E) Dari Terminal Parkir ke B2 BAGIAN C: ALGORITMIKA (23 SOAL) Untuk nomor soal perhatikan penjelasan ini Suatu robot berdasarkan harga a bilangan positif yang diberikan, akan menjalankan sederetan perintah berikut: (1) melangkah dengan jarak a ke depan (2) memutar arah ke kanan tegak lurus, (3) melangkah sepanjang 2a, (4) memutar ke arah kiri tegak lurus, (5) melangkah sepanjang ½ a, (6) memutar ke arah kiri tegak lurus, (7) melangkah sepanjang 3½ a, (8) memutar ke arah kiri tegak lurus, (9) melangkah sepanjang a. (10) memutar ke arah kanan tegak lurus. 28. Jika posisi awal ada di (0, 0) dan robot sedang menghadap ke arah sumbu-y positif, deretan perintah tersebut dijalankan dengan a = 2 maka posisi akhir robot adalah (A) (3, 1) (B) (-1, 3) (C) (-3, 1) (D) (-1, -3) (E) (3, -1) 29. Jika posisi awal ada di (0, 0) dan robot sedang menghadap ke arah sumbu-y positif, deretan perintah tersebut dijalankan berulang sebanyak 2 kali dengan a = 2 maka posisi akhir robot adalah (A) (-6, 2) (B) (-4, 2) (C) (4, -2) (D) (-4, -2) Soal Bidang Informatika Halaman 5 OSP TOKI XIII 2007

6 (E) (0, 0) 30. Jika posisi awal ada di (0, 0) dan robot sedang menghadap ke arah sumbu-x positif, deretan perintah tersebut dilakukan secara berulang sebanyak 7 kali dengan a = 1 maka posisi akhir robot adalah (A) (1½, ½) (B) (1½, -½) (C) (-½, 1½) (D) (-½, -1½) (E) (-1½, ½) 31. Jika posisi awal ada di (0, 0) dan robot sedang menghadap ke arah sumbu-x positif, deretan perintah tersebut dilakukan berulang sebanyak 3 kali dengan harga a pertama = 2, harga a kedua = 4 dan harga a ketiga = 1. Dimanakan posisi akhir robot? (A) (-5.5, 3.5) (B) (-5, 5) (C) (5.5, 2) (D) (6, 3.5) (E) (0, 0) 32. Jika posisi akhir ada di (0,0) dengan robot sedang menghadap ke arah sumbu-y positif setelah deretan perintah tersebut dilakukan berulang sebanyak 5 kali dengan a=4, berada di manakah robot itu sebelumnya? (A) (-2, -6) (B) (6, 2) (C) (6, -2) (D) (6, 6) (E) (0, 0) Untuk nomor soal perhatikan penjelasan ini Dalam suatu sistem koordinat terdapat titik-titik pada posisi-posisi bulat integer. Titik-titik tersebut adalah A di (0, 0), B di (10, 2), C di (7, 9), dan D di (5, 12). D C A Anda diminta menghubungkan titik-titik tersebut dengan suatu garis lintasan tunggal, dengan syarat: I. garis lintasan tersebut tidak bercabang, B II. dimulai dari suatu posisi titik tertentu yang diberikan dan berakhir di salah satu titik lainnya setelah melewati setiap titik yang diberikan satu kali, III. lintasan hanya boleh membentuk garisgaris vertikal atau horisontal saja (tidak boleh diagonal, hanya menyusuri garisgaris grid tsb), dan IV. Lintasan antara dua posisi titik tersebut adalah kemungkinan lintasan terpendek 33. Jika dimulai dari A maka lintasan yang paling panjang yang mungkin akan berakhir di (A) D dengan panjang lintasan 46 (B) B dengan panjang lintasan 32 (C) C dengan panjang lintasan 42 (D) D dengan panjang lintasan 41 (E) C dengan panjang lintasan Jika dimulai dari C maka lintasan yang paling pendek yang mungkin akan berakhir di (A) A dengan panjang lintasan 30 (B) A dengan panjang lintasan 32 (C) B dengan panjang lintasan 30 (D) B dengan panjang lintasan 27 (E) D dengan panjang lintasan Jika dimulai dari A kemudian menerapkan algoritma berikut urutkan titik-titik menurut kenaikan harga x dari setiap titik buat lintasan sesuai urutan tersebut maka lintasan yang terbentuk di antara semua lintasan yang dimulai dari A memiliki panjang yang (A) Terpendek (B) Kedua terpendek (C) Terpanjang (D) Kedua terpanjang (E) Ketiga terpanjang 36. Jika dimulai dari C lalu menerapkan algoritma terdekat terlebih dahulu sbb. 1 : X := C 2 : Selama kondisi masih ada titik yang belum masuk dalam lintasan, lakukan: dari semua titik yang belum masuk dalam lintasan, dapatkan titik terdekat dari X dan diperoleh Y hubungkan X dengan Y X := Y 3 : Selesai Soal Bidang Informatika Halaman 6 OSP TOKI XIII 2007

7 Maka, lintasan yang terbentuk di antara semua lintasan yang dimulai dari A memiliki panjang yang (A) Terpendek (B) Kedua terpendek (C) Terpanjang (D) Kedua terpanjang (E) Ketiga terpanjang Untuk nomor soal perhatikan penjelasan ini Si Toki senang mencari suatu kata di dalam kamus. Cara mencarinya cukup unik yaitu sbb. 1) membuka bagian tengah buku kamus kemudian melihat apakah kata yang dicari ada di halamanhalaman tersebut, 2) jika tidak ada ia membandingkan kata ysb dengan kata-kata dalam halaman yang ia lihat untuk mengetahui apakah kata tersebut berada di paruh pertama buku tersebut (sebelah kiri dari halaman yang terbuka) atau diparuh kedua (sebelah kanan), 3) pada paruh mana saja, maka ia akan kembali mengulagi langkah (1) namun pecarian hanya pada paruh tsb, dan seterusnya berulang-ulang hingga ia mendapatkan halaman yang berisi kata yang dimaksud. 37. Jika buku kamus berisi 1000 halaman, berapa kali kah kemungkinan paling banyak ia membuka-buka dengan cara di atas hingga kata yang dicari ditemukan (pilih jumlah yang paling mendekati, dan dengan asumsi kata tersebut ada dalam kamus) (A) 10 kali (B) 40 kali (C) 100 kali (D) 250 kali (E) 500 kali 38. Jika si Tono menggunakan cara yang lain dari si Toki yaitu dengan membuka-buka setiap lembar kertas dalam buku itu dari lembar pertama hingga mendapatkan halaman yang berisi kata yang dicari, berapa kali kah paling banyak ia membuka lembar kertas buku kamus yang berisi 1000 halaman itu (pilih jumlah yang paling mendekati, dan dengan asumsi kata tersebut ada dalam kamus). (A) 10 kali (B) 40 kali (C) 100 kali (D) 250 kali (E) 500 kali 39. Diberikan potongan program (Pseudo Pascal) berikut procedure Zz1(t: integer); var k: integer; k := 10; while k <= t do write( * ); k := k + 10; Dengan suatu harga pada variabel N dan memanggil Zz1(N) maka jumlah karakter * yang akan dicetak sebagai fungsi dari N: (dengan c adalah suatu bilangan konstan positif) (A) N/10 (B) (c log N) 2 (C) cn (D) c log N (E) N c log N 40. Diberikan potongan program (Pseudo Pascal) berikut procedure Zz2(t: integer); var k: integer; k := 1; while k < t do j := 1; while j < 100 do write( * ); j := j * 10; k := k + 1; Dengan suatu harga pada variabel N dan memanggil Zz2(N) maka jumlah karakter * yang akan dicetak sebagai fungsi dari N: (dengan c adalah suatu bilangan konstan positif) (A) N/10 (B) (c log N) 2 (C) cn (D) c log N (E) N c log N 41. Diberikan potongan program (Pseudo Pascal) berikut procedure Zz3(t: integer); Soal Bidang Informatika Halaman 7 OSP TOKI XIII 2007

8 var k: integer; k := 1; while k < t do write( * ); k := k * 7; Dengan suatu harga pada variabel N dan memanggil Zz3(N) maka jumlah karakter * yang akan dicetak sebagai fungsi dari N: (dengan c adalah suatu bilangan konstan positif) (A) N/10 (B) (c log N) 2 (C) cn (D) c log N (E) N c log N 42. Diberikan potongan program (Pseudo Pascal) berikut procedure Zz4(t: integer); var k, j: integer; k := t; while k > 0 do for j := 1 to t do write( * ); k := k div 2; Dengan suatu harga pada variabel N dan memanggil Zz4(N) maka jumlah karakter * yang akan dicetak sebagai fungsi dari N: (dengan c adalah suatu bilangan konstan positif) (A) N/10 (B) (c log N) 2 (C) cn (D) c log N (E) N c log N Untuk nomor soal perhatikan penjelasan ini Perhatikan array (larik) berikut. Array tsb adalah array integer bernama X yang berdimensi satu dan berisikan 15 elemen array dengan indeks dari 0, 1, 14. Isi dari masing-masing elemen array itu berturut-turut adalah: I X[I] Selain itu, terdapat suatu prosedur/fungsi (Pseudo Pascal) procedure Zaff(var a, b: integer); var tmp: integer; tmp := a; a := b; b := tmp; 43. Pemanggilan Zaff(a,b) untuk variabel a dan b yang sudah berisi harga berlainan menyebabkan (A) Kedua variabel berharga nol (B) Kedua variabel berharga sama yaitu b (C) Kedua variabel berharga sama yaitu a (D) Kedua variabel tidak berubah harga (E) Kedua variabel bertukar harga 44. Jika diberikan potongan program (Pseudo Pascal) berikut procedure Atur1(I: integer): integer; var j: integer; for j := I to 13 do if (X[j] > X[j+1]) then Zaff(X[j],X[j+1]); write(x[j], ); maka keluaran dari pemanggilan Atur1(10) adalah: (A) (B) (C) (D) (E) Soal Bidang Informatika Halaman 8 OSP TOKI XIII 2007

9 45. Jika diberikan potongan program (Pseudo Pascal) berikut function yyy(a: integer): integer; if (a >= 0) then yyy := a else yyy := -a; function zzz: integer; var tmp1,tmp2,j: integer; tmp1 := yyy(x[0]-x[1]); for j := 1 to 13 do tmp2 := yyy(x[j]-x[j+1]); if (tmp2 > tmp1) then tmp1 := tmp2; zzz := tmp1; fungsi zzz ini akan melakukan pencarian: (A) Mencari jumlah terbesar dua X berturutturut (B) Mencari harga X terbesar (C) Mencari harga X terkecil (D) Mencari selisih terbesar dua X berturutturut (E) Mencari selisih terkecil dua X berturutturut 46. Jika diberikan potongan program (Pseudo Pascal) berikut Procedure Anehsaja(a,b: integer); var j,k: integer; for j := a to b-1 do for k := j+1 to b do if X[j] > X[k] then Zaff(X[j],X[k]); Dengan dua variabel s dan t yang sebelumnya sudah berisi harga sbb.: s=0 dan t = 14. Pemanggilan fungsi Anehsaja(s,t) akan melakukan: (A) Mengurutkan menaik (B) Mengacak posisi harga-harga dalam X tanpa arti (C) Tidak terjadi apa-apa (D) Mengurutkan menurun (E) Setiap harga X yang berindeks dari 0 sampai dengan t lebih kecil dari setiap harga X yang berindeks dari s hingga Jika diberikan potongan program (Pseudo Pascal) berikut Procedure Paz(s, t, m: integer); var tmp: integer; tmp := X[m]; while l < r do while X[l] < tmp do s := s + 1; while tmp < X[r] do t := t 1; Zaff(X[s],X[t]); Dengan tiga variabel m, s dan t yang sebelumnya sudah berisi harga sbb.: m=8, s=0 dan t = 14. Pemanggilan fungsi Paz(s, t, m) akan melakukan: (A) Mengurutkan menaik (B) Mengacak posisi harga-harga dalam X tanpa arti (C) Tidak terjadi apa-apa (D) Mengurutkan menurun (E) Setiap harga X yang berindeks dari 0 sampai dengan t lebih kecil dari setiap harga X yang berindeks dari s hingga Jika diberikan potongan program (Pseudo Pascal) berikut function Apakahitu(I: integer): integer; var tmp: integer; if (I < 15) then tmp := X[I]; Apakahitu := tmp; X[I] := (X[I] + Apakahitu(I+1)) div 2; write(x[i], ' '); end else Apakahitu := 0; maka keluaran dari pemanggilan Apakahitu(10) adalah: (A) (B) (C) (D) (E) Jika diberikan potongan program (Pseudo Pascal) berikut procedure Datangi(I: integer); if (I < 15) then Datangi(I * 2 + 1); Soal Bidang Informatika Halaman 9 OSP TOKI XIII 2007

10 write(x[i], ); Datangi(I * 2 + 2); maka keluaran dari pemanggilan Datangi(5) adalah: (A) (B) (C) (D) (E) Jika diberikan potongan program (Pseudo Pascal) berikut procedure Kocok(I: integer); var j: integer; if (I >= 0) and (I < 15) then for j := I+1 to 14 do if (X[j] < X[I]) then Zaff(X[j], X[I]); Kocok(I+1); write(x[i], ); end maka keluaran dari pemanggilan Kocok(10) adalah: (A) (B) (C) (D) (E) Soal Bidang Informatika Halaman 10 OSP TOKI XIII 2007

11 OLIMPIADE SAIN PROVINSI (OSP) BIDANG INFORMATIKA 2008 Untuk dikerjakan Selama 150 menit (2 ½ jam) Bagian Informasi Sistem penilaian: Jawaban benar = 4, jawaban salah = 1, jawaban kosong = 0, jawaban ganda= 1. penjelasan sejumlah notasi yang digunakan dalam naskah soal. Bilangan 2 n adalah bilangan pangkat dari 2 sebanyak n kali. N! adalah bilangan faktorial N yang berharga hasil perkalian semua bilangan bulat mulai dari 1 sampai dengan N. Bilangan non-negatif adalah bilangan yang tidak berharga negatif (nol termasuk bilangan non-negatif). 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 A div B, dengan A dan B bilangan-bilangan bulat menghasilkan hasil pembagian A dengan B, dengan hanya mengambil bilangan bulatnya saja misalnya 10 div 3 = 3 karena 10 dibagi 3 berharga 3,333 dan bilangan bulatnya 3. Notasi abs(a) dengan A bilangan nyata akan menghasilkan harga positif dari bilangan tersebut. Misalnya abs(-4.5) = 4.5 dan abs(3.2) = 3.2. Notasi trunc(a) dengan A bilangan nyata akan menghasilkan bilangan bulatnya saja, misalnya trunc(4.5) = 4, dan trunc(-4.5) = -4. Notasi sqrt(a) dengan A bilangan nyata non-negatif maka menghasilkan akar dari A (atau A), misalnya sqrt(9) = 3. Notasi length(a) dengan A merupakan string menghasilkan panjang dari string tersebut (termasuk semua karakter di dalamnya), misalnya length( Viva TOKI 2008 ) = 14. Operasi boolean adalah operasi logika. Untuk membantu mengingatnya berikut ini table opersi-operasi yang muncul dalam naskah soal.. A B not A A and B A or B FALSE FALSE TRUE FALSE FALSE FALSE TRUE TRUE FALSE TRUE TRUE FALSE FALSE FALSE TRUE TRUE TRUE FALSE TRUE TRUE Ekspresi Boolean adalah ekspresi yang dibentuk atas satu atau lebih operasi Boolean dari satu atau lebih variable Boolean. Sejumlah soal (atau jawaban) dituliskan dalam dua kolom, maka perhatikan penomoran soal dan jawabannya. Soal Bidang Informatika Halaman 1 OSP TOKI XIV 2008

12 Bagian Analitika (Logika) dan Arimatika (30 soal) 1. Di suatu kampung terdapat sekian rumah. Setiap rumah didiami satu keluarga. Setiap keluarga terdiri dari tepat 2 orang tua (dewasa) dan sejumlah anak-anak yang kebetulan semuanya belum dewasa (apalagi menikah!). Pada suatu sensus diketahui jumlah dewasa lebih banyak dari jumlah anak laki-laki, jmlah anak laki-laki lebih banyak dari jumlah anak perempuan, dan jumlah anak perempuan lebih banyak dari jumlah keluarga itu. Paling sedikitnya (tidak bisa lebih sedikit lagi) ada berapa orang-orang di kampung itu? (A) 15 orang (B) 100 orang (C) 20 orang (D) 50 orang (E) 10 orang 2. Berapakah digit keempat dari kanan pada bilangan ? (A) 3 (B) 5 (C) 6 (D) 8 (E) 9 3. Biji-biji catur hendak ditempatkan pada papan catur dengan syarat, tidak ada biji catur pada baris (jalur horisontal) yang sama, tidak ada biji catur pada kolom (jalur vertikal) yang sama, dan tidak ada biji catur pada kedua diagonalnya. Ukuran papan catur 8 baris 8 kolom. Berapa banyak biji catur yang bisa ditempatkan? (A) 6 (B) 7 (C) 8 (D) 9 (E) Jika a dan b adalah bilangan bulat, dan a+b adalah bilangan genap. Manakah berikut ini yang pasti tidak mungkin menghasilkan bilangan ganjil: (A) 2*a+b (B) a *a + b*b (C) a b (D) a * b (E) a a * a b 5. Andi menaruh ke dalam 10 gelas 44 buah kelereng. Gelas-gelas semula kosong. Ia ingin membagikannya sedemikian rupa agar sebanyak mungkin gelas-gelas berisikan kelereng dalam jumlah yang berbeda satu sama lain (unik). Berapa banyak gelas yang tidak unik itu minimal? (A) 0 (B) 1 (C) 2 (D) 3 (E) 4 6. Jika a dan b masing-masing adalah sebuah angka antara 0 sampai dengan 9 (termasuk 9), a dan b boleh sama, tentukan bilangan mana kah yang tidak mungkin merupakan hasil dari perkalian 5a3b x 63: (A) (B) (C) (D) (E) Bila z bilangan bulat positif terkecil yang memberikan sisa 5 jika dibagi dengan 13 dan memberikan sisa 3 jika dibagi dengan 18, berapa sisanya jika dibagi dengan 7? (A) 8 (B) 5 (C) 11 (D) 3 (E) 1 8. Seorang pedagang barang elektronik menjual sebuah televisi berwarna layar datar seharga Rp , jika tarif pajak barang elektronik yang tergolong barang mewah tersebut adalah antara 5 % sampai 8 %, maka harga yang paling mungkin untuk televisi tersebut setelah ditambah pajak adalah : (A) Rp (B) Rp (C) Rp (D) Rp (E) Rp Suatu bilangan pecahan, bila pembilangnya dikali dua dan penyebutnya dibagi dua maka nilai bilangan itu akan : (A) sama dengan nilai awal dari pecahan itu (B) mempunya nilai dua kali lipat dari nilai awal (C) mempunyai nilai setengah dari nilai awal (D) mempunyai nilai seperempat dari nilai awal (E) mempunya nilai empat kali dari nilai awal 10. Jika x 2 + 2xy + y 2 = 9 maka (x + y) 4 adalah : (A) 3 (B) 18 Soal Bidang Informatika Halaman 2 OSP TOKI XIV 2008

13 (C) 27 (D) 36 (E) 81 Deskripsi berikut adalah untuk menjawab soal no Berikut ini suatu permainan yang akan anda mainkan berdua dengan lawan anda. Dengan saling berhadapan, ditengah-tengah terdapat mangkuk berisi 50 kelereng. Anda dan lawan anda secara bergantian akan mengambil satu sampai dengan lima butir kelereng sekali raih dari mangkuk (tidak boleh lebih dari 5 butir, dan minimal satu butir). Pemain yang melakukan pengambilan terakhir (yang menyebabkan mangkuk kosong) adalah pemenang permainan ini. Lawan anda adalah seorang yang ahli dalam permainan ini sehingga tidak akan membuat kesalahan yang dapat menyebabkan ia menjadi kalah kecuali kondisi yang anda berikan sehingga ia tidak memiliki pilihan untuk menang. 11. Kini giliran anda untuk mengambil pertama kali. Berapakan yang anda ambil pertama kali agar anda akhirnya menang? (A) 1 (B) 2 (C) 3 (D) 4 (E) Anda mendapat giliran pertama untuk mengambil dan anda selama ini menjaga situasi agar anda akhirnya menang. Jika permainan berlangsung hingga lawan telah anda mengambil berturut-turut 3, 1, 5, 5, dan 4, dan berikutnya giliran anda. Berapakah jumlah kelereng yang sudah anda ambil sebelum pengambilan anda yang berikutnya (tidak termasuk yang akan anda ambil)? (A) 7 (B) 10 (C) 12 (D) 15 (E) Anda mendapat giliran pertama untuk mengambil dan anda selama ini menjaga situasi agar anda akhirnya menang. Jika selama permainan lawan selalu mengambil sebanyak-banyaknya. Berapakah jumlah kelereng yang akhirnya anda kumpulkan hingga selesai (dan anda menang tentunya)? (A) 7 (B) 10 (C) 12 (D) 15 (E) Jika banyaknya kelereng semula diperbanyak dan anda tetap sebagai pemain yang mendapat giliran pertama mengambilnya, berapakah jumlah awal kelereng berikut ini yang dapat menyebabkan anda kalah? (A) 102 (B) 121 (C) 77 (D) 155 (E) 82 Deskripsi berikut adalah untuk menjawab soal no Enam orang bernama A, B, C, D, E, F melakukan perjalanan bersama dalam satu kendaraan. Mereka masingmasing berasal dari kota yang berlainan. Tidak diketahui asal kota masing-masing, yang diketahui kota-kota itu adalah N, C, T, S, M, dan A. Selain itu diketahui juga fakta-fakta berikut. Masing-masing berprofesi tunggal (tidak ada yang memiliki profesi lebih dari satu). A bersama dengan pria yang berasal dari kota N, keduanya dokter. E dan wanita yang dari kota C adalah guru. C dan orang yang dari Tulsa adalah insinyur, B dan F dulu pernah bekerja di luar negeri, tapi orang yang dari Tulsa tidak pernah Orang yang dari M lebih tua dari A Orang yang dari A lebih tua dari C Di kota X, B dan pria dari N turun untuk tidak meneruskan perjalanan Berikutnya, di kota Y, C dan pria dari kota M juga turun untuk tidak meneruskan perjalanan 15. Siapakah pasangan insinyur dan dokter berikut ini (A) A dan B (B) B dan C Soal Bidang Informatika Halaman 3 OSP TOKI XIV 2008

14 (C) A dan C (D) E dan F (E) D dan E 16. Yang dapat diketahui jenis kelaminnya dari statemen di atas adalah: (A) A (B) B (C) C (D) D (E) E 17. Orang yang dipastikan pernah bekerja di luar negeri menurut fakta-fakta tersebut adalah (A) Orang yang dari kota A (B) Orang yang dari kota M (C) Orang yang dari kota T (D) Orang yang dari kota S (E) Orang yang dari kota P 18. Orang yang dipastikan lebih tua dari A menurut fakta-fakta tersebut adalah (A) Seorang guru (B) Seorang dokter (C) Seorang insinyur (D) Seorang wanita (E) Seorang pria Deskripsi berikut adalah untuk menjawab soal no Seorang koki kue senang iseng-iseng memainkan masakan kuenya ketika sedang memasak. Ia senang sekali membalik-balikkan tumpukan kue-kuenya yang sedang dimasak tersebut. Sebuah pembalikkan kue berarti menaruh kue yang berada pada spatula (alat masak) kemudian membalik seluruh kue dari atas sampai pada kue tersebut sehingga posisi kue teratas dan kue terbawah pada spatula menjadi bertukar beserta seluruh kue yang ada. Karena sang koki sangat ahli, berapa pun kue yang ada di permukaan spatula dapat dibalikkan tanpa jatuh. Tujuan iseng-iseng sang koki adalah untuk mengurutkan kue-kue yang ukurannya tidak ada yang sama tersebut sehingga kue terbesar berada paling bawah dan tersaji rapi ketika diantarkan ke meja pelanggan. 19. Diberikan ukuran diameter kue dari yang paling atas: 1cm, 5cm, 3cm, 4cm, dan 2cm. Jumlah terkecil pembalikkan yang dibutuhkan adalah (A) 1 (B) 2 (C) 5 (D) 7 (E) Diberikan ukuran diameter kue dari yang paling atas: 3cm, 1cm, 4cm, 2cm, 5cm, dan 6cm. Jumlah terkecil pembalikkan yang dibutuhkan adalah (A) 4 (B) 10 (C) 8 (D) 3 (E) Diberikan 3 buah kue yang belum terurut, dengan diameter: 1cm, 2cm, dan 3cm. Dari semua kemungkinan urutan kue semula, angka jumlah terkecil pembalikkan untuk situasi pengurutan awal yang paling buruk (menyebabkan pembalikan terkecil yang terbesar di antara semua kemungkinan penguruan awal) adalah (A) 0 (B) 1 (C) 2 (D) 3 (E) 4 Deskripsi berikut adalah untuk menjawab soal no Tiga orang dewasa Roni, Susi, dan Vina bersama dengan lima anak-anak Fredi, Heru, Jono, Lisa dan Marta akan pergi berdarmawisata ke Kebun Binatang dengan menggunakan sebuah kendaraan minibus. Soal Bidang Informatika Halaman 4 OSP TOKI XIV 2008

15 Minibus tersebut memiliki satu tempat di sebelah pengemudi, dan dua buah bangku panjang dibelakang yang masing-masing terdiri dari 3 tempat duduk, sehingga total terdapat delapan tempat duduk di dalam minibus tersebut, termasuk pengemudi. Setiap peserta wisata harus duduk sendiri, masing-masing di sebuah kursi yang ada dan susunan tempat duduk harus disesuaikan dengan beberapa ketentuan sebagai berikut : Pada masing-masing bangku harus terdapat satu orang dewasa yang duduk Salah satu diantara Roni dan Susi harus duduk sebagai pengemudi Jono harus duduk bersebelahan dengan Marta 22. Manakah diantara nama berikut ini yang dapat duduk disebelah pengemudi? (A) Lisa (B) Jono (C) Roni (D) Susi (E) Vina 23. Jika Fredi duduk bersebelahan dengan Vina, manakah pernyataan berikut ini yang tidak benar? (A) Jono duduk berdampingan disebelah Susi (B) Lisa duduk berdampingan disebelah Vina (C) Heru duduk di bangku paling depan (D) Fredi duduk di bangku yang sama dengan Heru (E) Heru duduk di bangku yang sama dengan Roni (A) Heru duduk di bangku sebelah depan bangku tempat Marta duduk (B) Lisa duduk di bangku sebelah depan bangku tempat Fredi duduk (C) Fredi duduk di bangku yang sama dengan Heru (D) Lisa duduk di bangku yang sama dengan Sarah (E) Marta duduk di bangku yang sama dengan Vina 25. Manakah diantara kelompok berikut ini yang dapat duduk bersama dalam satu bangku? (A) Fredi, Jono, dan Marta (B) Fredi, Jono dan Vina (C) Fredi, Susi dan Vina (D) Heru, Lisa dan Susi (E) Lisa, Marta dan Roni 24. Jika Susi duduk di bangku yang berada dibelakang bangku Jono, manakah yang paling benar dari pernyataan berikut ini? Deskripsi berikut adalah untuk menjawab soal no Ekspresi logika berikut menggunakan operator and, or, dan not. Operator and mensyaratkan kedua operand harus berharga benar untuk menjadikan ekspresi bernilai benar dan selain itu ekspresi bernilai salah. Operator or hanya mensyaratkan salah satu berharga benar (termasuk boleh keduanya benar) untuk menjadikan ekspresi bernilai benar, jika kedua operand salah maka ekspresi menjadi salah. Operator not adalah untuk menegasikan (yang benar menjadi salah dan yang salah menjadi benar) operand yang tertulis setelahnya. 26. Dari nilai- nilai berikut, pernyataan mana yang bernilai salah jika C, D, E, F bernilai benar. A, B bernilai salah? (A) (A and B) or ((C and D) or E) and F (B) (A or B) and ((C or D) and E) or F (C) (A and B) and ((C or D) or E) or F (D) (A and B) and ((C and D) and E) and F (E) ((A or B) or (C or D) or E) and F Soal Bidang Informatika Halaman 5 OSP TOKI XIV 2008

16 27. Dari nilai- nilai berikut, pernyataan mana yang bernilai benar jika C, D, E, F bernilai salah. A, B bernilai benar? (A) (A and B) or ((C and D) or E) and F (B) (A or B) and ((C or D) and E) or F (C) (A and B) and ((C or D) or E) or F (D) (A and B) and ((C and D) and E) and F (E) ((A or B) or (C or D) or E) and F 28. Dari nilai- nilai berikut, pernyataan mana yang bernilai salah jika A, C, D, E bernilai benar. B, F bernilai salah? (A) (A and B) or ((C and D) or E) and F (B) (A or B) and ((C or D) and E) or F (C) (A and B) and ((C or D) or E) or F (D) (A and B) and ((C and D) and E) and F (E) ((A or B) or (C or D) or E) and F 29. Dari nilai- nilai berikut, pernyataan mana yang bernilai benar jika B, C, D, E bernilai benar. A, F bernilai salah? (A) (A and B) or ((C and D) or E) and F (B) (A or B) and ((C or D) and E) or F (C) (A and B) and ((C or D) or E) or F (D) (A and B) and ((C and D) and E) and F (E) ((A or B) or (C or D) or E) and F 30. Ekspresi not((not(a))or(b)) sama dengan (A) (a)and(not(b)) (B) (a)or(not(b)) (C) (not(a))and(not(b)) (D) TRUE (E) FALSE Bagian Algoritmika (30 soal) Potongan algoritma berikut untuk menjawab pertanyaan Procedure kocok(d: integer; kata: string); var i: integer; c : char; i:=1; repeat c := kata[i]; kata[i] := kata[i+d]; kata[i+d] := c; i:= i+1; until (i=length(kata)-1); Soal Bidang Informatika Halaman 6 OSP TOKI XIV 2008

17 writeln(kata); 31. Apa yang dicetaknya pada pemanggilan kocok(1, 'GO GET GOLD')? (A) GO GET GOLD (B) O GET GOLDG (C) DGO GET GOL (D) GET GOLDOG (E) go get gold 32. Apa yang dicetaknya pada pemanggilan kocok(2, 'GO GET GOLD')? (A) GO GET GOLD (B) O GET GOLDG (C) DGO GET GOL (D) GET GOLDOG (E) go get gold Potongan algoritma berikut untuk menjawab pertanyaan c := 0; d := 0; while (a>b) do a:= a-b; c:= c+1; d:= d+b; writeln(c,,,d); 33. Jika nilai a=23, b=4, maka keluaran dari algoritma di atas adalah: (A) 3, 33 (B) 1, 4 (C) 0, 0 (D) 6, 23 (E) 5, Jika nilai a=34, b=11, maka keluaran dari algoritma di atas adalah: 35. Jika nilai a=11, b=50, maka keluaran dari potongan program di atas tesebut adalah: (A) 3, 33 (B) 1, 4 (C) 0, 0 (D) 6, 23 (E) 5, 20 (A) 3, 33 (B) 1, 4 (C) 0, 0 (D) 6, 23 (E) 5, 20 Potongan algoritma berikut un tuk menjawab pertanyaan procedure panjang (p: integer); var z : array[0..9] of integer; a, b, c, d : integer; x : integer; for a:= 0 to 9 do case (a mod 5) of 0 : z[a] := 3; 1 : z[a] := 1; Soal Bidang Informatika Halaman 7 OSP TOKI XIV 2008

18 2 : z[a] := 4; 3 : z[a] := 2; 4 : z[a] := 0; for b:= 9 downto 0 do x:= 3*z[b]; z[b]:= a - b; for c:= 0 to 9 do if (c mod 2 = 0) then z[c]:= z[c] + 5; for d:= 9 downto 0 do if (z[d] < 0) then z[d] := z[d] * -1; writeln(z[p]); 36. Apakah keluaran yang dihasilkan algoritma di atas dalam pemanggilan panjang(9)? (A) 8 (B) 6 (C) 4 (D) 2 (E) Apakah keluaran yang dihasilkan algoritma di atas dalam pemanggilan panjang(5)? (A) 8 (B) 6 (C) 4 (D) 2 (E) Apakah keluaran yang dihasilkan kode di atas dalam pemanggilan panjang(8)? (A) 8 (B) 6 (C) 4 (D) 2 (E) Apakah keluaran yang dihasilkan kode di atas dalam pemanggilan panjang(7)? (A) 8 (B) 6 (C) 4 (D) 2 (E) 0 Potongan algoritma berikut untuk menjawab pertanyaan {Note: array Tabel berindeks dari 1 s.d. 10} for i:=1 to 10 do Tabel[(i*7 mod 10)+1] := (5+i*3) div 4; 40. Berapakah nilai dari elemen Tabel dengan indeks pertama? (A) 1 (B) 3 (C) 7 (D) 8 (E) Berapakah nilai dari elemen Tabel dengan indeks ketujuh? (A) 1 (B) 3 (C) 7 (D) 8 (E) Elemen array Tabel dengan nomor indeks berapakah dengan nilai terkecil dari berikut ini? (A) 1 (B) 3 (C) 7 (D) 8 (E) Elemen array Tabel dengan nomor indeks berapakah dengan nilai terbesar dari berikut ini? (A) 1 (B) 3 (C) 7 (D) 8 (E) 10 Soal Bidang Informatika Halaman 8 OSP TOKI XIV 2008

19 Potongan algoritma berikut untuk menjawab pertanyaan function f (x, a: integer) : boolean; if (x <= a) then if (x = a) then f := true else f := false else f := f (x-a, a); 44. Dengan ketentuan awal bahwa x dan a adalah integer positif (>0). Manakah pemanggilan berikut yang akan mencetak harga true? (A) writeln(f(57, 3) and f(62, 7)); (B) writeln(f(53, 7) or f(62, 7)); (C) writeln(f(24, 3) and f(42, 7)); (D) writeln(f(24, 3) and f(47, 2)); (E) writeln(f(43, 2) and f(72, 8)); 45. Dengan ketentuan awal bahwa x dan a adalah integer positif (>0). Manakah pemanggilan berikut yang akan mencetak harga true? (A) writeln(not f(57, 3) and f(62, 7)); (B) writeln(f(53, 7) and f(62, 7)); (C) writeln(f(24, 3) and not f(42, 7)); (D) writeln(not f(24, 3) or f(47, 2)); (E) writeln(not f(43, 2) and f(72, 8)); Potongan algoritma berikut untuk menjawab pertanyaan jdata := n; jml := 1; for i := 0 to jdata-1 do jml := 3*jml-1; writeln(jml); 46. Jika sebelumnya n berharga 3 berapakah yang dicetak oleh potongan program itu. (A) 58 (B) 42 (C) 14 (D) 26 (E) Jika sebelumnya n berharga 1 berapakah yang dicetak oleh potongan program itu. (A) 1 (B) 2 (C) 3 (D) 4 (E) Secara umum, dengan n bulat positif apakah harga yang dicetak oleh program itu sebagai fungsi dalam a. (A) 5n 2 (B) 3 n 3 n (C) 3 n (D) n (E) 3 n n Potongan algoritma berikut un tuk menjawab pertanyaan Perhatikan prosedur coba(n) berikut. procedure coba(var n: integer); if n > 0 then n := n div 3; Soal Bidang Informatika Halaman 9 OSP TOKI XIV 2008

20 write(n mod 3); coba(n); 49. Apa yang akan dicetak saat pemanggilan coba(z) dengan z sebelumnya sudah memiliki harga 49? (A) 0001 (B) 1211 (C) 0121 (D) 1120 (E) Apa yang akan dicetak saat pemanggilan coba(z) dengan z sebelumnya sudah memiliki harga 81? (A) (B) (C) (D) (E) Potongan algoritma berikut un tuk menjawab pertanyaan procedure jalan(n: integer); if n > 0 then jalan(n div 5); write(n mod 5 + 1); 51. Pada pemanggilan jalan(49) pada procedure di atas ini apa yang akan dicetaknya kemudian? (A) 222 (B) 52 (C) 49 (D) 255 (E) Untuk pemanggilan jalan(100) berapa kalikah perintah write(n mod 5 + 1) akan dilakukan? (A) 6 (B) 2 (C) 9 (D) 10 (E) 5 Potongan algoritma berikut untuk menjawab pertanyaan function ubah(var n: integer; d: integer): integer; if n > 0 then ubah := n div d; n := n mod d; 53. Apa yang akan dicetak setelah pemanggilan writeln(ubah(z, 3),' ',z) jika sebelumnya z berisi harga 49? (A) (B) 16 1 (C) 1 49 (D) (E) Apa yang akan dicetak setelah pemanggilan writeln(ubah(z, 50),' ',z) jika sebelumnya z berisi harga 49? (A) (B) 16 1 (C) 1 49 (D) (E) Potongan algoritma berikut untuk menjawab pertanyaan Soal Bidang Informatika Halaman 10 OSP TOKI XIV 2008

21 procedure call(x:integer); if x<>0 then write( * ); x := x 1; call(x); x := x + 1; 55. Apakah output dari pemanggilan call(3)? (A) *** (B) * (C) ** (D) ********... (banyak tak terhingga) (E) ****** 56. Apakah output dari pemanggilan call(-1)? (A) *** (B) * (C) ** (D) ********... (banyak tak terhingga kemudian eror) (E) ****** Dua buah algoritma berikut untuk menjawab pertanyaan Procedure satu (a: integer); var i: integer; i := abs(a); // fungsi absolute while i < 128 do i := i * 2; writeln ( i ); Procedure dua (a: integer); var i: integer; i := abs(a); // fungsi absolute repeat i := i * 2; until i >= 128; writeln ( i ); 57. Pilih pendapat yang benar dari berikut ini: (A) Yang dicetak kedua prosedur itu selalu mencetak bilangan yang berbeda untuk semua harga a yang digunakan ada pemanggilan satu(a) dan dua(a) (B) Kedua prosedur itu akan selalu mencetakkan bilangan berbeda jika dipanggil dengan satu(x) dan satu(y) dengan harga x berbeda dari y. (C) Kedua prosedur itu sama-sama tidak dapat bekerja untuk harga a bilangan negatif (D) Kedua prosedur tidak akan melakukan perintah i := i * 2 untuk a = 128 karena kondisi tidak terpenuhi. (E) Kedua prosedur itu sama-sama mendapatkan harga a.2 k terkecil yang lebih besar atau sama dengan dari 128, jika a berharga 1 s.d Agar kedua tidak terjadi infinite loop untuk pemanggilan dengan harga a = 0, maka apa yang perlu dilakukan (bilangan yang dicetak untuk a yang lain tetap sama): (A) Mengganti perintah i := abs(a) dengan perintah i := abs(a) + 1 di kedua prosedur (B) Menambahkan pemeriksaan if (i > 0) then sebelum perintah writeln di kedua prosedur (C) Menambahkan pemeriksaan if (i >= 0) then sebelum perintah while di prosedur satu dan sebelum perintah repeat sebelum prosedur dua. (D) Menambahkan pemeriksaan if (i < 0) then exit; sebelum perintah while di prosedur satu dan sebelum perintah repeat sebelum prosedur dua. (E) Mengganti i< 128 dengan i <= 128 pada pemeriksaan kondisi loop while prosedur satu dan mengganti i>= 128 dengan i > 128 pada pemeriksaan kondisi loop repeat-until prosedur dua. 59. Perhatikan deretan perintah berikut: Soal Bidang Informatika Halaman 11 OSP TOKI XIV 2008

22 a := b + a; b := a b; a := a b; Manakah dari pilihan berikut yang akibatnya sama dengan deretan di atas? (A) b := b - a; a := b + a; a := b - a; (B) a := b + a; a := b - a; b := b - a; (C) a := b - a; b := b - a; a := b - a; (D) a := b - a; b := b - a; a := b + a; (E) a := b + a; b := b + a; a := b + a; 60. Perhatikan algoritma berikut: Procedure geser(i: integer); i := (((i shl 4) shr 6) shl 2); writeln(i); Apakah output dari pemanggilan geser(9) di atas? (A) 1 (B) 0 (C) 2 (D) 3 (E) 4 Akhir dari berkas soal Soal Bidang Informatika Halaman 12 OSP TOKI XIV 2008

23 OLIMPIADE SAIN PROVINSI (OSP) BIDANG INFORMATIKA 2008 Untuk dikerjakan Selama 150 menit (2 ½ jam) Bagian Informasi Sistem penilaian: Jawaban benar = 4, jawaban salah = 1, jawaban kosong = 0, jawaban ganda= 1. penjelasan sejumlah notasi yang digunakan dalam naskah soal. Bilangan 2 n adalah bilangan pangkat dari 2 sebanyak n kali. N! adalah bilangan faktorial N yang berharga hasil perkalian semua bilangan bulat mulai dari 1 sampai dengan N. Bilangan non-negatif adalah bilangan yang tidak berharga negatif (nol termasuk bilangan non-negatif). 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 A div B, dengan A dan B bilangan-bilangan bulat menghasilkan hasil pembagian A dengan B, dengan hanya mengambil bilangan bulatnya saja misalnya 10 div 3 = 3 karena 10 dibagi 3 berharga 3,333 dan bilangan bulatnya 3. Notasi abs(a) dengan A bilangan nyata akan menghasilkan harga positif dari bilangan tersebut. Misalnya abs(-4.5) = 4.5 dan abs(3.2) = 3.2. Notasi trunc(a) dengan A bilangan nyata akan menghasilkan bilangan bulatnya saja, misalnya trunc(4.5) = 4, dan trunc(-4.5) = -4. Notasi sqrt(a) dengan A bilangan nyata non-negatif maka menghasilkan akar dari A (atau A), misalnya sqrt(9) = 3. Notasi length(a) dengan A merupakan string menghasilkan panjang dari string tersebut (termasuk semua karakter di dalamnya), misalnya length( Viva TOKI 2008 ) = 14. Operasi boolean adalah operasi logika. Untuk membantu mengingatnya berikut ini table opersi-operasi yang muncul dalam naskah soal.. A B not A A and B A or B FALSE FALSE TRUE FALSE FALSE FALSE TRUE TRUE FALSE TRUE TRUE FALSE FALSE FALSE TRUE TRUE TRUE FALSE TRUE TRUE Ekspresi Boolean adalah ekspresi yang dibentuk atas satu atau lebih operasi Boolean dari satu atau lebih variable Boolean. Sejumlah soal (atau jawaban) dituliskan dalam dua kolom, maka perhatikan penomoran soal dan jawabannya. Soal Bidang Informatika Halaman 1 OSP TOKI XIV 2009

24 Bagian Analitika (Logika) dan Arimatika (30 soal) 1. Pepen berdiri sejauh 18 meter di sebelah utara Tugu Pemuda, Fanny berdiri 24 meter di sebelah barat Tugu yang sama. Berapakah jarak terdekat antara Fanny dan Pepen yang dapat ditempuh? a. 30 meter b. 900 meter c. 6 meter d. 42 meter e. 90 meter 2. Apabila dua buah bilangan 2 n dan 5 n (di mana n adalah bilangan bulat positif) dimulai dengan digit yang sama, maka digit tersebut adalah... (Catatan: bilangan dituliskan dengan notasi desimal, tanpa diawali nol.) a 9 b 5 c 6 d 7 e 3 3. Manakah yang nilainya paling besar? a b c d e Jika a, b, c, d dan e adalah bilangan-bilangan bulat yang tidak nol dan tidak negatif serta tidak ada yang sama, dan diketahui pula a+b+c+d=10, berapakah harga terbesar yang mungkin dari ab+cd? a. 10 b. 32 c. 25 d. 14 e. > Di dalam suatu kotak terdapat 2N buah bola dan di antaranya terdapat N bola berwarna putih dan N bola beraneka warna secara unik (satu bola satu warna, tidak ada yang sama) dan tidak putih. Berapa banyak kombinasi untuk memilih N bola dari 2N bola itu? (Catatan: Dalam perhitungan kombinasi, AAB dan ABA dianggap sama.) a. 2N b. (2 N / 2) c. 2 N d. N! e. (2N)! / N! 6. Pak Dengklek memiliki buku yang bernomor halaman mulai 1 s.d. N. Jika semua nomor halaman buku tersebut ditulis secara berderet dibutuhkan 552 digit. Berapakah N? a. 205 b. 210 c. 211 d. 212 e Berapa banyak segi empat yang terbentuk dari tabel berukuran 3x3? a. 36 b. 27 c. 30 d. 40 e Pak Ganesh menulis angka 1 s.d Berapa banyak angka 1 yang muncul pada hasil tulisan Pak Ganesh? a b c d e Di suatu provinsi, diadakan lomba voli tiap 3 tahun sekali, lomba bulutangkis tiap 4 tahun sekali, lomba sepak bola tiap 7 tahun sekali, dan lomba tenis tiap 6 tahun sekali. Pada tahun 2000 semua lomba tersebut diadakan. Berapa kali terdapat lebih dari satu lomba dalam setahun dalam periode antara tahun 2005 dan tahun 2017? a. Kurang dari 8 kali b. 8 kali c. 9 kali d. 10 kali e. Lebih dari 10 kali Soal Bidang Informatika Halaman 2 OSP TOKI XIV 2009

25 10. Tahun "semi-kabisat" adalah tahun yang bukan merupakan tahun kabisat, tetapi jika tiap bilangan penyusun angka tahunnya dijumlahkan, hasilnya habis dibagi dengan 4. Ada berapa tahun "semi-kabisat" semenjak tahun 1901 hingga 1960? a. 10 b. 12 c. 15 d. 16 e Jika n adalah sebuah bilangan bulat ganjil, maka: (i) n 3 n 2 pasti ganjil (ii) n 2 n pasti genap (iii) n 3 n pasti ganjil (iv) n 4 n 2 pasti genap Pernyataan yang benar adalah: a. (i), (iii) b. (i), (ii), (iii) c. (ii), (iv) d. (ii), (iii), (iv) e. (iv) 12. Pak Dengklek pertama kali pergi ke pasar Kliwon tanggal 3 Januari 2008 dan kemudian 4 hari sekali setelah itu (7 Januari 2008, 11 Januari 2008, dst). Pak Ganesh pertama kali pergi ke pasar Kliwon tanggal 4 Januari 2008 dan kemudian 5 hari sekali setelah itu (9 Januari 2008, 14 Januari 2008, dst). Pak Blangkon pertama kali pergi ke pasar Kliwon tanggal 5 Januari 2008 dan kemudian 6 hari sekali setelah itu (11 Januari 2008, 17 Januari 2008, dst). Jika bertepatan pada hari yang sama, mereka selalu pergi ke pasar Kliwon bersama-sama. Pada tanggal berapa ketiga orang tersebut pergi bersama-sama untuk kedua kalinya? a. 27 April 2008 b. 28 April 2008 c. 29 April 2008 d. 30 April 2008 e. 1 Mei Si Upik pandai menjumlahkan, namun ia hanya dapat menulis angka 1 dan 2. Oleh karena itu, saat Upik ingin menuliskan sebuah angka yang lebih dari 2, ia menuliskan beberapa angka 1 dan beberapa angka 2 sedemikian sehingga jika dijumlahkan jumlahnya adalah bilangan tersebut. Contohnya, untuk menuliskan angka 3, Upik memiliki tepat 3 cara yaitu 12, 21, atau 111 (1+2=3 ; 2+1=3 ; 1+1+1=3). Untuk menuliskan angka 2, sebenarnya Upik memiliki 2 cara yaitu 2 dan 11 (2=2; 1+1=2), tapi hanya ada 1 cara untuk menuliskan angka 1. Berapa banyak cara Upik untuk menuliskan angka 8? a. 21 b. 25 c. 30 d. 34 e Pak Dengklek ingin membagikan buku tulis kepada 100 anak panti asuhan. Masing-masing anak mendapat setidaknya satu buku tulis, dan tidak ada anak yang mendapat lebih dari lima buku tulis. Tidak ada seorang anak pun yang mendapat buku tulis lebih banyak dari jumlah buku tulis yang dimiliki dua orang anak lainnya. Jika Aseng, Adi, dan Ujang adalah anak panti asuhan dan Aseng mendapat tiga buku tulis, maka pernyataan manakah yang benar di bawah Soal Bidang Informatika Halaman 3 OSP TOKI XIV 2009 ini: (i) Ujang mungkin hanya mendapat satu buku tulis. (ii) Jika diketahui Ujang mendapat empat buku tulis, maka Adi tidak mungkin mendapat satu buku tulis. (iii) Tidak mungkin ada anak yang mendapat tepat lima buku tulis. a. (i) dan (ii) benar b. (i) dan (iii) benar c. (ii) dan (iii) benar d. (i), (ii), dan (iii) benar e. Pilihan a sampai d salah semua 15. Pak Dengklek mempunyai anak-anak asuh yang terdiri dari 38 anak laki-laki dan 48 anak perempuan. Tiap kelompok dua anak laki-laki dan satu anak perempuan bisa bermain lompat tali, sementara tiap kelompok dua anak perempuan dan satu anak laki-laki bisa bermain petak umpet. Jika ada anak yang tidak dapat membentuk kelompok, maka mereka tidak bermain. Manakah sisa anak yang tidak bermain yang mungkin: (i) 1 anak laki-laki dan 1 anak perempuan (ii) 2 anak laki-laki

26 (iii) 2 anak perempuan a. (i) dan (ii) benar b. (i) dan (iii) benar c. (ii) dan (iii) benar d. (i), (ii), dan (iii) benar e. Pilihan a sampai d salah semua 16. Suatu hari Pak Dengklek mengajak Pak Ganesh bermain. Mula-mula Pak Dengklek memberikan sebuah kertas yang sudah bergambar segi empat berukuran 8 cm x 9 cm lalu meminta Pak Ganesh menggambar N buah titik di atas kertas itu sedemikian sehingga tidak ada dua buah titik yang berjarak kurang dari 5 cm (semua titik yang digambar tidak boleh berada di luar segi empat yang sudah tergambar sebelumnya, tetapi boleh di dalam atau tepat pada garis segi empat tersebut). Pak Dengklek menang jika Pak Ganesh tidak mampu menggambar N buah titik dengan syarat tersebut. Berapa N minimal agar Pak Dengklek pasti menang? a. 5 b. 6 c. 7 d. 8 e Pada suatu hari, empat alumni TOKI (berinisial A, B, M, dan P) bertemu. Dua diantaranya membawa pasangan masing-masing makan bersama di warung makan. Kursi yang digunakan bernomor 1 sampai N (secara berurutan) dan meja yang digunakan berbentuk lingkaran sehingga kursi 1 selain bersebelahan dengan kursi 2 juga bersebelahan dengan kursi N. Terdapat satu kursi pemisah antara kursi yang diduduki A dan kursi yang diduduki M. P duduk tepat di sebelah A. Yang membawa pasangan, duduk bersebelahan dengan pasangannya masing-masing. A membawa pasangannya pada pertemuan tersebut. B duduk tepat di sebelah M. Tidak ada kursi kosong. (i) Keempat alumni TOKI duduk di kursi yang nomornya berurutan (ii) A duduk di sebelah B (iii) M tidak membawa pasangannya pada pertemuan tersebut (iv) (v) B tidak duduk di sebelah P M tidak duduk di sebelah P atau P tidak duduk di sebelah B a. 3 b. 1 c. 4 d. 2 e Pada suatu hari di bulan Juli 2007, Pak Dengklek bertamu ke rumah Pak Ganesh. Pak Dengklek berkata, "Aku datang dengan membawa hadiah ulang tahun untukmu. Tetapi maaf, terlambat delapan minggu dan tiga hari." Pak Ganesh menjawab, "Terima kasih. Aku juga sudah menyiapkan kado untuk ulang tahunmu, enam minggu dan enam hari lagi." Kapankah ulang tahun Pak Ganesh berikutnya? a. 258 hari lagi b. 259 hari lagi c. 306 hari lagi d. 307 hari lagi e. 365 hari lagi 19. Perhatikan tabel berikut: A, W, X, Y, Z adalah bilangan bulat. Bilangan-bilangan di kolom terkanan adalah jumlah dari bilangan-bilangan di sebelah kirinya pada baris yang sama. Bilangan-bilangan di baris terbawah adalah jumlah dari bilangan-bilangan di sebelah atasnya pada kolom yang sama. Berapakah A? X X X X 28 X X Y Y 30 Y Z W X 20 W W Z Y 16 A a. 23 b. 25 Berapa banyak pernyataan yang pasti benar? c. 28 d. 30 Soal Bidang Informatika Halaman 4 OSP TOKI XIV 2009

27 e Di dalam sebuah kotak terdapat 10 bola merah, 9 bola kuning, dan 8 bola biru. Pak Dengklek membuang satu persatu bola dari dalam kotak secara acak. Berapa jumlah maksimal bola yang boleh dibuang oleh Pak Dengklek sehingga di dalam kotak tetap terdapat 3 bola dengan warna yang sama? a. 17 b. 18 c. 19 d. 20 e Jika dari sebuah kotak Anda hanya boleh melangkah ke kotak lain yang bersebelahan secara vertikal atau horizontal (tidak boleh diagonal), berapa banyak jalur berbeda dari kotak A untuk sampai ke kotak Z dengan jumlah langkah minimal? 21. Jika bilangan x habis dibagi 7 dan bilangan y habis dibagi 21, pernyataan-pernyataan manakah yang benar? (i) x dan y kemungkinan adalah bilangan yang sama (ii) y-x akan berupa bilangan non-negatif (iii) Faktor persekutuan terbesar dari x dan y adalah 7 a. Pernyataan (i) dan (ii) benar b. Pernyataan (i) dan (iii) benar c. Pernyataan (ii) dan (iii) benar d. Pernyataan (i), (ii), dan (iii) benar e. Pilihan a sampai d salah semua (v) Digit kedua (ribuan) merupakan bilangan prima, tetapi tidak habis membagi digit pertama (puluh ribuan) (vi) Hasil perkalian digit ketiga (ratusan) dan keempat (puluhan) adalah bilangan ganjil a. 8 Berapakah X mod 4? Z b. 10 c. 12 a. 0 d. 18 b. 1 A e. 20 c. 2 d. 3 e. Tidak dapat ditentukan 23. Jika dari sebuah kotak Anda hanya boleh 25. Pak Dengklek sedang mempelajari rute melangkah ke kotak lain yang bersebelahan penerbangan domestik di Indonesia. Ada secara vertikal atau horizontal (tidak boleh penerbangan dari Bandung ke Jakarta, dari diagonal), berapa banyak jalur berbeda dari Bandung ke Cirebon, dari Cirebon ke Denpasar, kotak A untuk sampai ke kotak Z dengan dari Banten ke Flores, dari Flores ke Jakarta, dari jumlah langkah minimal dan tanpa melalui kotak Bandung ke Denpasar, dari Denpasar ke Jakarta, X? dari Jakarta ke Medan, dari Medan ke Aceh, dari Aceh ke Flores. a. 8 X Z Jika ada penerbangan dari kota X ke kota Y b. 10 X bukan otomatis berarti ada penerbangan dari c. 12 kota Y ke kota X. Jika ada penerbangan dari d. 18 A X X kota X ke kota Y dan ada penerbangan dari kota e. 20 Y ke kota Z maka ada penerbangan dari kota X ke kota Z (bisa diatur dengan penerbangan dari kota X ke kota Y dahulu kemudian disambung 24. Sebuah bilangan bulat positif X memiliki ciri-ciri dari kota Y ke kota Z). sebagai berikut: (i) Terdiri dari 5 digit, dan dapat dibagi (i) Tidak ada penerbangan dari Jakarta ke habis dengan 5 Banten. (ii) Digit pertama (puluh ribuan) bukanlah (ii) Tidak ada penerbangan dari Bandung ke 0, dan bukanlah bilangan prima Banten. (iii) Digit kedua (ribuan) lebih besar dari (iii) Tidak ada penerbangan dari Bandung ke digit ketiga (ratusan) Flores. (iv) Jumlah digit ketiga (ratusan) dan kelima (iv) Tidak ada penerbangan dari Cirebon ke (satuan) berupa bilangan ganjil Aceh. Soal Bidang Informatika Halaman 5 OSP TOKI XIV 2009

28 (v) Tidak ada penerbangan dari Aceh ke Denpasar. Berapa banyak pernyataan yang benar? a. 3 b. 2 c. 1 d. 4 e Pak Dengklek menggambar persegi panjang dengan panjang P cm dan lebar L cm. Lalu ia bagi-bagi persegi panjang tersebut ke dalam P x L buah persegi dengan ukuran masing-masing 1cm x 1cm, dan diberinya koordinat kartesian (1, 1) hingga (P, L). Persegi dengan hasil penjumlahan koordinat x dan y berupa bilangan ganjil akan dicat warna merah, sedangkan sisanya dicat warna biru. Pernyataan manakah yang paling tepat di bawah ini? a. Jumlah persegi yang dicat warna merah akan selalu lebih sedikit dari yang dicat warna biru. b. Jumlah persegi yang dicat warna merah akan selalu lebih sedikit atau sama dengan yang dicat warna biru. c. Jumlah persegi yang dicat warna merah akan selalu lebih banyak atau sama dengan yang dicat warna biru. d. Jumlah persegi yang dicat warna merah akan selalu lebih banyak dari yang dicat warna biru. e. Pilihan a sampai d salah semua Deskripsi untuk soal no. 27 dan 28 Pak Dengklek dan Pak Ganesh pada awalnya berada di titik A. Pak Dengklek berjalan lurus sejauh 30 meter. Lalu Pak Dengklek berputar ke arah yang tidak diketahui, lalu berjalan lurus sejauh 50 meter. Setelah itu, Pak Dengklek berputar ke arah yang tidak diketahui lagi, lalu berjalan lurus sejauh 40 meter. Posisi akhir Pak Dengklek diberi nama titik B. Dari titik A, Pak Ganesh berjalan lurus ke arah yang tidak diketahui sejauh 70 meter. Lalu ia berputar ke arah yang tidak diketahui dan berjalan lurus sejauh 25 meter. Posisi akhir Pak Ganesh diberi nama titik C. 27. Berapa jarak terdekat yang mungkin antara titik B dan titik C? a. 0 meter b. 5 meter c. 15 meter d. 25 meter e. 50 meter 28. Berapa jarak terjauh yang mungkin antara titik B dan titik C? a. 0 meter b. 15 meter c meter d. 215 meter e. 225 meter Deskripsi soal no 29 s.d 30 Pada suatu permainan terdapat empat kantung, masing-masing berisi beberapa kelereng. Di awal permainan, pemain mengeluarkan kelereng dari kantung pertama, lalu memasukkan satu kelereng ke kantung kedua, satu ke kantung ketiga, satu ke kantung keempat, satu ke kantung pertama, satu ke kantung kedua, dan seterusnya hingga semua kelereng sudah masuk kembali ke kantung-kantung. Setelah itu, pemain mengeluarkan semua kelereng dari kantung yang terakhir kali dimasuki kelereng, lalu mengulangi proses yang sama. Permainan terus berlanjut hingga jumlah kelereng yang dikeluarkan pemain dari suatu kantung tepat sebanyak satu buah. Soal Bidang Informatika Halaman 6 OSP TOKI XIV 2009

29 29. Jika isi awal kantung pertama adalah 5 kelereng, isi kantung kedua adalah 3 kelereng, isi kantung ketiga adalah 4 kelereng, dan isi kantung keempat adalah 2 kelereng, saat permainan berakhir, kantung manakah yang kelerengnya baru saja dikeluarkan? a. Kantung pertama b. Kantung kedua c. Kantung ketiga d. Kantung keempat e. Permainan tidak akan pernah berakhir 30. Jika isi awal kantung pertama adalah 5 kelereng, kantung kedua adalah 3 kelereng, kantung ketiga adalah 5 kelereng, berapa jumlah kelereng dalam kantung keempat supaya permainan tidak pernah berakhir? a. 0 kelereng b. 1 kelereng c. 2 kelereng d. 3 kelereng e. Pilihan a sampai d salah semua. Bagian Algoritmika (30 soal) 31. Perhatikanlah potongan kode program sebagai berikut: a := 10; b := 5; a := b a; b := b a; a := a + b; Berapakah harga a dan b setelah perintah-perintah berikut ini dijalankan? a a = 15, b = 5 b a = 5, b = 10 c a = 5, b = 5 d a = 10, b = 10 e a = 5, b = Perhatikanlah potongan kode program sebagai berikut: a := 100; b := 5; repeat b := b + 1; a := a b; until a > b; writeln(a,b); Manakah pasangan nilai (a, b) yang dicetak di akhir program? a 94 dan 6 b 100 dan 5 c 10 dan 14 d 10 dan 15 e 5 dan 14 Untuk dua (2) pertanyaan berikutnya perhatikanlah potongan kode program sebagai berikut: program Coba; var Soal Bidang Informatika Halaman 7 OSP TOKI XIV 2009

30 i,j,k,x,y : integer; read(x); i := 0; y := 0; while (i < x) do for j:=0 to i do y := y + (2 * i); i := i + 1; for k:=0 to y do write( a ); end. 33. Berapakah y yang dihasilkan di akhir program jika x adalah 3? a 13 b 14 c 15 d 16 e Berapakah nilai x minimum yang diperlukan supaya di layar tertulis yang lebih dari 80 huruf a di akhir program? a 2 b 4 c 5 d 10 e 15 Untuk enam (6) pertanyaan berikutnya perhatikanlah potongan kode program sebagai berikut: function HitungJuga (m : integer; n : integer) : integer; if (n=0) then HitungJuga := m else HitungJuga := HitungJuga(n, m mod n) procedure Hitung (x, y : integer; var z : integer); if ((x > 0) and (y > 0)) then z := HitungJuga(x,y) else z := 0; 35. Berapakah hasil fungsi HitungJuga jika n = 72 dan m = 84? a 1 b 8 c 12 d 72 e Manakah dari nilai-nilai n di bawah ini yang bisa menghasilkan 15 pada fungsi HitungJuga jika diketahui nilai m = 105? a 75 b 105 c 50 d 10 e Berapakah nilai z pada prosedur Hitung jika x = -8 dan y = 12? a 0 b -4 c 4 d 8 e 12 Soal Bidang Informatika Halaman 8 OSP TOKI XIV 2009

31 38. Semua kombinasi x dan y di bawah ini menghasilkan z yang habis dibagi 3 pada prosedur Hitung kecuali: a x = 36, y = 12 b x = 6, y = 24 c x = 75, y = 105 d x = 100, y = 75 e x = 90, y = 18 Untuk tiga (3) pertanyaan berikutnya perhatikanlah kode program lengkap sebagai berikut: Program CobaCoba; var x, y, z, i, k : integer; (*** function Hitung ****) function Hitung (i : integer) : integer; var j, hasil : integer; hasil := 0; j := 1; while (j <= i) do hasil := hasil + j; j := j + 1; Hitung := hasil; (*** Program Utama ***) x := -1; y := 4; read(z); write(hitung(x)); for i:=15 downto Hitung(y) do write( y ); if (Hitung(z) > 0) then for i:=1 to z do for k:=1 to i do write( * ); end. 39. Angka berapakah yang pertama kali tertulis di layar, jika program tersebut dijalankan? a 0 b 1 c 2 d 3 e 4 Soal Bidang Informatika Halaman 9 OSP TOKI XIV 2009

32 40. Berapa banyakah huruf y yang akan tertulis di layar? a 15 b 5 c 0 d 10 e 6 c 5 d 6 e Berapakah z yang harus dimasukkan pengguna untuk menuliskan 15 karakter * di layar? a 2 b 4 Untuk tiga (3) pertanyaan berikutnya, perhatikanlah potongan kode program sebagai berikut: function ABC (a, b : integer) : integer; var hasil : integer; if (a mod b = 0) then ABC := b else ABC := ABC(a, b-1); function XYZ (X : integer) : integer; if (X < 1) then XYZ := -1 else if (X = 1) then XYZ := 0 else XYZ := ABC(X,X-1); 42. Berapakah hasil ABC(12, 4)? a -1 b 0 c 1 d 2 e Berapakah hasil XYZ(17)? a -1 b 0 c 1 d 2 e Berapakah hasil fungsi XYZ jika X = 100? a 10 b 20 c 30 d 40 e 50 Untuk dua (2) pertanyaan berikutnya, perhatikanlah potongan kode program sebagai berikut: function sum(n:integer):integer; if (n>0) then sum:=n+sum(n-1) else Soal Bidang Informatika Halaman 10 OSP TOKI XIV 2009

33 sum:=n; 45. Hasil dari sum(11) adalah... a. 55 b. 66 c. 11 d. 78 e Agar keluaran fungsi sum(n) > 100, berapakah harga n terkecil? a. 11 b. 12 c. 13 d. 14 e. 15 Untuk dua (2) pertanyaan berikutnya, perhatikanlah potongan kode program sebagai berikut: var i,j,k:integer; k:=1; (*inisialisasi*) for i:=1 to 4 do k:=k*i; for j:=i+1 to 2*i do k:=k+j; writeln(abs(k)); (*keluaran program*) end. 47. Keluaran dari program di atas adalah... a. 242 b c. 54 d. 1 e Agar program menghasilkan keluaran minimum, nilai k harus diinisialisasi dengan... a. 0 b. -1 c. -9 d. -10 e. -11 Untuk dua (2) pertanyaan berikutnya, gunakan tabel berikut untuk 4 soal berikutnya: I bil[i] if bil[i] > a 49. Perhatikan pseudopascal berikut: then a := bil[i] else b := bil[i]; a := 0; b := 100; pb := 0; pa := 0; Setelah pseudopascal di atas dijalankan, berapakah for i := 0 to 9 do nilai a+b? Soal Bidang Informatika Halaman 11 OSP TOKI XIV 2009

34 a. 110 b. 0 c. 10 d. 2 e Perhatikan pseudopascal berikut: a := 0; b := 100; pa := 0; pb := 0; for i := 0 to 9 do if bil[i] > a then 51. Perhatikan pseudopascal berikut: a := bil[i]; pa := i; end else if bil[i]<b then b := bil[i]; pb := i; Setelah pseudopascal di atas dijalankan, berapakah nilai pa+pb? a 2 b 8 c 10 d 17 e 18 function fun2(a:string;b:integer):string; var tmp:string; if (length(a) = 10) then fun2 := a else fun2 := fun2(a[(b*b) mod length(a)+1] + a,((b*b) mod length(a))+1); Manakah pasangan berikut yang menghasilkan keluaran yang sama? a. fun2('toki09',1) dan fun2('toki09',4) b. fun2('toki09',2) dan fun2('toki09',5) c. fun2('toki09',3) dan fun2('toki09',1) d. fun2('toki09',4) dan fun2('toki09',2) e. fun2('toki09',5) dan fun2('toki09',3) 52. Perhatikan pseudopascal berikut: function fun3(a,b,c,d,x:integer):integer; var tmp,i:integer; for i:=3 to x do tmp:=b; b:=d*a+c*b; a:=tmp; fun3:=b; Manakah yang menghasilkan bilangan genap? a. fun3(1,1,1,1,10) b. fun3(3,3,1,2,11) c. fun3(3,4,4,5,7) d. fun3(3,4,4,5,7) e. fun3(2,3,1,3,4) Soal Bidang Informatika Halaman 12 OSP TOKI XIV 2009

35 53. Perhatikan pseudopascal berikut: function tes1(n:integer):boolean; var ok:boolean; i:integer; ok := true; for i := 2 to trunc(sqrt(n))+1 do if (n mod i) = 0 then ok := false; tes1:=ok; Manakah pemanggilan yang menghasilkan false? a. tes1(43) b. tes1(51) c. tes1(53) d. tes1(59) e. tes1(67) 54. Perhatikan pseudopascal berikut: function tes2(n:integer):boolean; var ok:boolean; j,i:integer; ok := true; j := 0; for i := 1 to (n div 2) do if (n mod i) = 0 then j := j+i*2; tes2 := (j=2*n); Manakah pemanggilan yang menghasilkan true? a. tes2(12) b. tes2(24) c. tes2(28) d. tes2(29) e. tes2(36) 55. Perhatikan pseudopascal berikut: function tes3(n,m:integer):boolean; var i,j,tmp:integer; tmp := n; i := 0; while (tmp > 0) do if (tmp mod 2) = 1 then i := i+1; tmp := tmp div 2; tmp := m; j := 0; while (tmp > 0) do if (tmp mod 2) = 1 then j := j+1; tmp := tmp div 2; tes3 := i=j; Manakah yang menghasilkan true? Soal Bidang Informatika Halaman 13 OSP TOKI XIV 2009

36 a. tes3(99,100) b. tes3(100,120) c. tes3(56,121) d. tes3(89,156) e. tes3(80,173) 56. Perhatikan pseudopascal berikut readln(a); b := 4; while a > 0 do b := b + (a mod 10); a := a div 10; if ((b mod 3) > 0) or ((b mod 9) > 0) then writeln('angin bertiup') else writeln('angin semilir'); Berapakah nilai a yang akan menghasilkan keluaran Angin semilir? a. 23 b. 20 c. 24 d. 21 e Mana pseudopascal di bawah ini yang jika dijalankan dapat mengurutkan tabel berikut: i data[i] menjadi berisi sebagai berikut (N=10): i data[i] a. for i:=1 to N-1 do for j:=i+1 to N do if data[i]<data[j] then data[i]:=data[j]; data[j]:=data[i]; b. for i:=1 to N do for j:=i+1 to N-1 do if data[i]>=data[j] then temp:=data[i]; data[i]:=data[j]; data[j]:=temp; c. for i:=1 to N-1 do Soal Bidang Informatika Halaman 14 OSP TOKI XIV 2009

37 for j:=i+1 to N do if data[i]<data[j] then temp:=data[i]; data[i]:=data[j]; data[j]:=temp; d. for i:=1 to N do for j:=n downto i+1 do if data[j-1]>data[j]then temp:=data[j]; data[j]:=data[j-1]; data[j-1]:=temp; e. for i:=1 to N-1 do for j:=i to N-1 do if data[i]<data[i+1]then temp:=data[i]; data[i]:=data[i+1]; data[i+1]:=temp; 58. Mana pseudopascal di bawah ini yang paling tepat jika ingin melakukan pengecekan apakah bil merupakan bilangan 2 N (dengan 0<N<30, contohnya : 2, 4, 8, 16, dst.) atau bukan? Jika benar, akan menghasilkan keluaran Benar. Jika salah, akan menghasilkan keluaran Salah. a. readln(bil); duaan:=false; for i:=1 to 30 do if (bil=2^i) then duaan:=true; if duaan then writeln( Benar ) else writeln( Salah ); b. readln(bil); duaan:=false; while (bil>0) do duaan:= (1=(bil mod 2))xor duaan; bil:= bil div 2; if duaan then writeln( Benar ) else writeln( Salah ); c. readln(bil); duaan:=false; while (bil>0) do duaan:= (1=(bil mod 2))or duaan; bil:=bil div 2; if duaan then writeln( Benar ) else writeln( Salah ); d. readln(bil); duaan:=false; temp:=1; while (bil>0) do temp:=2*temp; if (bil=temp) then duaan:=true; if duaan then writeln( Benar ) else writeln( Salah ); e. readln(bil); duaan:=false; temp:=1; while ((bil-temp)>0) do temp:=temp*2; if (bil=temp) then duaan:=true; if duaan then writeln( Benar ) else writeln( Salah ); Soal Bidang Informatika Halaman 15 OSP TOKI XIV 2009

38 59. Nilai dari ekspresi boolean (not A) or (B and C) or (A and (not B) and C) or (A and B) akan selalu sama dengan ekspresi: a (not (C or (not A))) and (not B) or (not A) b (A and (B or C)) or C or ((not A) and (not C)) c (A and (B or C)) or C or (A and C) d (not B) or (not (A and B and (not C))) e (not (C or (not A))) and (not B) 60. Nilai dari ekspresi boolean (not A) or (B and C) or (A and (not B) and C) or (A and B) akan selalu berlawanan dengan ekspresi: a (not (C or (not A))) and (not B) or (not A) b (A and (B or C)) or C or ((not A) and (not C)) c (A and (B or C)) or C or (A and C) d (not B) or (not (A and B and (not C))) e (not (C or (not A))) and (not B) Akhir Dari Naskah Soal Soal Bidang Informatika Halaman 16 OSP TOKI XIV 2009

39 OLIMPIADE SAIN PROVINSI (OSP) BIDANG INFORMATIKA 2009 Untuk dikerjakan Selama 150 menit (2 ½ jam) Bagian Informasi Sistem penilaian: Jawaban benar = 4, jawaban salah = 1, jawaban kosong = 0, jawaban ganda= 1. penjelasan sejumlah notasi yang digunakan dalam naskah soal. Bilangan 2 n adalah bilangan pangkat dari 2 sebanyak n kali. N! adalah bilangan faktorial N yang berharga hasil perkalian semua bilangan bulat mulai dari 1 sampai dengan N. Bilangan non-negatif adalah bilangan yang tidak berharga negatif (nol termasuk bilangan non-negatif). 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 A div B, dengan A dan B bilangan-bilangan bulat menghasilkan hasil pembagian A dengan B, dengan hanya mengambil bilangan bulatnya saja misalnya 10 div 3 = 3 karena 10 dibagi 3 berharga 3,333 dan bilangan bulatnya 3. Notasi abs(a) dengan A bilangan nyata akan menghasilkan harga positif dari bilangan tersebut. Misalnya abs(-4.5) = 4.5 dan abs(3.2) = 3.2. Notasi trunc(a) dengan A bilangan nyata akan menghasilkan bilangan bulatnya saja, misalnya trunc(4.5) = 4, dan trunc(-4.5) = -4. Notasi sqrt(a) dengan A bilangan nyata non-negatif maka menghasilkan akar dari A (atau A), misalnya sqrt(9) = 3. Notasi length(a) dengan A merupakan string menghasilkan panjang dari string tersebut (termasuk semua karakter di dalamnya), misalnya length( Viva TOKI 2008 ) = 14. Operasi boolean adalah operasi logika. Untuk membantu mengingatnya berikut ini table opersi-operasi yang muncul dalam naskah soal.. A B not A A and B A or B FALSE FALSE TRUE FALSE FALSE FALSE TRUE TRUE FALSE TRUE TRUE FALSE FALSE FALSE TRUE TRUE TRUE FALSE TRUE TRUE Ekspresi Boolean adalah ekspresi yang dibentuk atas satu atau lebih operasi Boolean dari satu atau lebih variable Boolean. Sejumlah soal (atau jawaban) dituliskan dalam dua kolom, maka perhatikan penomoran soal dan jawabannya. Soal Bidang Informatika Halaman 1 dari 12 OSP 2009

40 Bagian Analitika (Logika) dan Arimatika (30 soal) 1. Apabila dua buah bilangan 2 n dan (1+3 n ) (di mana n adalah bilangan bulat positif) diakhiri dengan digit yang sama, maka digit tersebut adalah... (Catatan: bilangan dituliskan dengan notasi desimal, tanpa diawali nol.) A. 6 B. 7 C. 8 D. 5 E Dalam dua keranjang terdapat total 22 buah bola. Bola-bola dalam keranjang pertama masing-masing beratnya 15 gram, sementara bola-bola dalam keranjang kedua masing-masing beratnya 20 gram. Berapa selisih perbedaan berat isi kedua keranjang yang mungkin bila diketahui bahwa berat seluruh bola adalah antara 380 hingga 400 gram? A. 90 gram B. 65 gram C. 75 gram D. 105 gram E. 85 gram 3. Nilai dari = A. 431 B. 472 C. 371 D. 351 E Jika 4! berarti =24. Digit terakhir dari 1! + 2! + 3! ! adalah A. 1 B. 3 C. 5 D. 7 E Berapa persen bilangan antara 1 hingga 50 yang jika dikuadratkan, digit terakhirnya sama dengan 1? A. 1 B. 5 C. 10 D. 11 E Jumlah digit-digit pada bilangan 124 = = 7. Berapakah jumlah digit-digit pada bilangan ? A. 1 B. 3 C. 5 D. 7 E Manakah yang nilainya paling besar? A B C D E Jika a, b, c, dan d adalah bilangan-bilangan bulat yang tidak nol dan tidak negatif serta tidak ada yang sama, dan diketahui pula a+b+c+d=18, berapakah harga terbesar yang mungkin dari (ab cd)? A. 32 B. 25 C. 28 D. 18 E Ali ingin membuat 800 cc larutan alcohol 15% dengan mencampur laruan alkohol 20% dan 4%. Berapakah beda volume larutan alcohol 20% dan volume 4% yang diperlukan? A. 110 cc B. 106 cc C. 280 cc D. 24 cc E. 300 cc 10. Berikut ini 4 pernyataan yang salah kecuali salah satu yang benar: (1) Sekarang bukan hari Rabu ; (2) Besok hari Jumat ; (3) Kemarin hari Minggu ; (4) Pernyataan 2 dan 3 salah. Hari apakah sekarang? A. Selasa B. Rabu C. Kamis D. Jumat E. Sabtu Soal Bidang Informatika Halaman 2 dari 12 OSP 2009

41 11. Si Ableh dan si Bento adalah dua orang tukang cat yang bekerja mencat sebuah ruangan. Suatu ketika saat mereka telah melalui 6 jam bekerja bersama di sebuah ruangan, si Ableh minta pulang karena jatuh sakit. Si Bento terpaksa meneruskannya sendiri dan baru selesai dalam 12 jam berikutnya. Biasanya mereka berdua dapat menyelesaikannya dalam 10 jam saja. Bila si Bento mengerjakannya sendirian dari awal berapa lama waktu yang perlukan hingga selesai? A. 15 jam B. 36 jam C. 30 jam D. 24 jam E. 20 jam 12. Jika Amir, Budi, dan Dodo adalah tiga anak yang bersahabat. Biasanya mereka diberi uang jajan beberapa lembaran uang ribuan, paling sedikit 1 lembar dan paling banyak 5 lembar. Pada suatu hari Amir mendapatkan 3 lembar dan diketahui hari itu tidak ada yang mendapatkan uang jajan lebih banyak dari dua yang lainnya bila dijumlahkan. Pernyataan manakah yang benar di bawah ini pada hari itu: (i) Dodo mungkin hanya mendapatkan satu lembar ribuan. (ii) Jika diketahui Dodo mendapat empat lembar ribuan, maka Budi tidak mungkin mendapat satu lembar ribuan. (iii) Tidak mungkin ada anak yang mendapat tepat lima lembar ribuan. A. (i) dan (ii) benar. B. (i) dan (iii) benar. C. (ii) dan (iii) benar. D. (i), (ii), dan (iii) benar. E. Hanya satu pernyataan yang benar. 13. Pak Guru Umar menerima kertas hasil dari fotocopy menggunakan mesin yang agak rusak dan bertuliskan =??5. Seharusnya tanda.. di ruas kiri adalah lambang penjumlahan ( + ) atau pengurangan ( - ) dan tanda? di ruas kanan adalah berisi masingmasing satu dijit bilangan yang mungkin berbeda. Berapakah seharusnya digit pertama dari bilangan yang ada di ruas kanan? A. 3 B. 4 C. 5 D. 6 E Jika n adalah sebuah bilangan bulat ganjil, maka: (i) (n 2) 3 (n 2 + 2) pasti ganjil (ii) (n 2 + 4) n pasti genap (iii) n 3 3n pasti ganjil (iv) 11n 4 (n 2) 2 pasti genap Pernyataan yang benar adalah: A. (i) dan (iv) saja. B. (i) dan (iii) saja. C. (i), (ii) dan (iii) saja. D. (ii) dan (iii) saja. E. (i) dan (ii) saja. 15. A, C, D, E masing-masing bernilai TRUE, sementara B dan F masing-masing bernilai FALSE. Dari kenyataan itu pernyataan mana dari berikut ini yang bernilai FALSE? A. ((A and B) or ((C and D) or E)) and F B. ((A or B) and ((C or D) and E)) or F C. ((A and B) and ((C or D) or E)) or F D. (A and B) and ((C and D) and E) and F E. ((A or B) or (C or D) or E) and F 16. Pak Udin setiap 6 tahun sekali mencat ulang rumahnya, setiap 3 tahun sekali ia mengganti dekorasi ruang tamunya, setiap 7 tahun sekali ia mengganti mobilnya, dan setiap 4 tahun sekali ia merayakan ulang tahunnya. Diketahui bahwa pada tahun 2000 semua kegiatan itu dilakukan bersamaan. Berapa kali dilakukan lebih dari satu kegiatan dalam setahunnya dalam periode antara tahun 2005 dan tahun 2017? A. 8 kali B. 9 kali C. 10 kali D. Kurang dari 8 kali E. Lebih dari 10 kali 17. Terdapat 3 buah bilangan yang berbeda. Jika setiap pasangan daripadanya dijumlahkan menghasilkan 25, 37, dan 40. Beda antara dua bilangan terbesar adalah? A. 3 B. 8 C. 10 D. 12 E. 15 Soal Bidang Informatika Halaman 3 dari 12 OSP 2009

42 18. Dari posisi 0 sumbu-x satu demi satu katak robot berlompatan ke kanan (sumbu-x positif). Setiap katak robot melompat dengan jarak tertentu dan sama tapi berbeda lompatannya satu katak dengan katak lainnya. Jarak lompatan katak-katak adalah salah satu dari bilangan bulat antara 2 sampai dengan 25. Di antara posisiposisi bilangan bulat antara 50 dan 60 ada berapa banyak posisi yang pasti tidak diinjak katak-katak itu? A. 2 B. 3 C. 5 D. 7 E Jika dari sebuah kotak pada gambar di samping ini, Anda hanya boleh melangkah ke kotak lain yang bersebelahan secara vertikal atau horizontal (tidak boleh diagonal). Kotak bertanda X tidak boleh dilalui. Berapa banyak jalur berbeda dari kotak A untuk sampai ke kotak Z dengan jumlah langkah minimal? A. 12 B. 36 C. 8 D. 28 E A sedang bertanding catur melawan B. A lebih banyak memenangkan pertandingan daripada B. Jika pertandingan ini dimenangkan oleh B, manakah dari pernyataan berikut yang PALING TIDAK MUNGKIN? X A A. A dan B memenangkan pertandingan yang sama banyaknya. B. A lebih banyak memenangkan pertandingan daripada B. C. A dan B sama-sama pernah kalah oleh C. D. B lebih banyak memenangkan pertandingan daripada A. E. C lebih banyak memenangkan pertandingan daripada A dan B. X X Z 21. Lima orang A, B, C, D, dan E tinggal di sebuah kampung yang terdiri atas 5 rumah dengan nomor terurut dari kiri ke kanan: 1, 2, 3, 4, dan 5. Masing-masing orang memiliki hobi yang berbeda-beda yaitu: memasak, memancing, membaca buku, olahraga, dan berkebun. Jika diketahui hal-hal sebagai berikut: (i) rumah 2 ditinggali oleh orang yang suka membaca buku. (ii) C tinggal di antara A dan D. (iii) A tidak bersebelahan dengan B dan B tinggal tepat di sebelah kiri E. (iv) C menyukai berkebun dan D tidak suka memancing. (v) Orang yang menyukai berolahraga tidak bersebelahan dengan orang yang senang membaca buku. Hobi B adalah: A. Memasak B. Memancing C. Membaca buku D. Olahraga E. Berkebun 22. Jika diketahui a, b, dan c adalah bilangan bulat, maka yang manakah pernyataan berikut ini yang tidak benar: A. Jika a habis membagi b dan a habis membagi c, maka a habis membagi b+c. B. Jika a habis membagi b, maka bc habis dibagi a untuk semua bilangan bulat c. C. a habis membagi c jika a habis membagi b dan b habis membagi c. D. Jika a habis membagi b dan b habis membagi c maka ab habis membagi c. E. Jika b = ac dan a 0, maka a habis membagi b untuk semua bilangan bulat c. 23. Tiga orang bersaudara dilahirkan dalam keluarganya dengan selang waktu 2 tahun. Dua tahun yang lalu jika ketiga bilangan umur mereka dikalikan menghasilkan angka setengah dari ketiga bilangan umur mereka dikalikan pada saat ini. Berapakah ketiga bilangan umur mereka dijumlahkan jika tahun lalu? A. 20 B. 27 C. 32 D. 45 E. 58 Soal Bidang Informatika Halaman 4 dari 12 OSP 2009

43 Deskripsi berikut ini untuk menjawab 3 pertanyaan berikutnya (no 24 26). Seorang pedagang keliling berkeliling di 5 kota: K, L, M, N dan O. Minimal satu hari ia akan berada di satu kota dan keesokan harinya mungkin ia masih berada di kota yang sama atau berpindah ke kota lainnya. Ia memiliki aturan sbb. Jika sekarang ia berada di K, keesokan harinya ia bias tetap di K atau pindah ke L atau M. Jika sekarang ia berada di L, keesokan harinya ia pindah ke N atau O. Jika sekarang ia berada di M, keesokan harinya ia masih di M atau pindah ke K atau O. Jika sekarang ia berada di N, keesokan harinya ia pindah ke kota L atau kota O. Jika sekarang ia berada di O, keesokan harinya ia pindah ke kota K atau teap di kota O. 24. Jika hari ini ia berada di kota L maka paling cepat berapa hari lagi ia akan berada di kota M? A. 1 hari lagi B. 3 hari lagi C. 2 hari lagi D. 5 hari lagi E. 4 hari lagi 25. Jika sekarang ia berada di kota N, maka berada dimanakah 4 hari yang lalu jika diketahui selama seminggu sebelumnya ia tidak berada di N dan O, dan selalu mengunjungi kota yang berbeda pada setiap harinya? A. Pasti di K. B. Pasti di M. C. Pasti di L. D. Antara L atau K. E. Antara K atau M. 26. Diketahui bahwa hari ini ia berada di kota K dan 7 hari kemudian ia kembali ke kota K. Diketahui pula bahwa sepanjang perjalanannya itu ia hanya kembali ke kota K di hari ke 7 saja dan ia melalui kota N sebanyak dua kali, serta ia selalu mengunjungi kota yang berbeda pada setiap harinya (satu hari di satu kota pasti besoknya berada di kota lain). Pada hari keberapakah ia berada di kota N untuk terakhir kalinya dalam perjalanan itu? A. 2 B. 6 C. 4 D. 3 E. 5 Deskripsi berikut ini untuk menjawab 4 pertanyaan berikutnya (no 27 30). Berikut ini ada 6 pernyataan: (1) Semua P dan X adalah N. (2) Semua N kecuali P adalah X. (3) Tidak ada P yang merupakan M. (4) Tidak ada R yang merupakan N. (5) Semua M adalah salah satu dari X atau R. (6) Tidak ada Q yang merupakan X. 27. Pernyataan tambahan manakah dari berikut ini yang PASTI benar jika keenam pernyataan di atas benar? (i) Tidak ada R yang merupakan P. (ii) Beberapa dari X juga adalah P. (iii) Beberapa dari X adalah juga M. A. Hanya (i) B. Hanya (i) dan (ii) C. Hanya (i) dan (iii) D. (i), (ii) dan (iii) E. Tidak ada satu pun yang benar dari ketiganya. Soal Bidang Informatika Halaman 5 dari 12 OSP 2009

44 28. Manakah yang akan PASTI salah berdasar keenam pernyataan di atas? A. Beberapa R adalah X. B. Semua R merupakan M. C. Beberapa X bukanlah M. D. tidak ada Q yang merupakan P. E. Sejumlah Q bukan N, juga bukan R. 29. Dari keenam pernyataan tsb pernyataan manakah yang dapat secara lojik merupakan deduksi dari satu atau lebih pernyataan lainnya? 30. Jika pernyataan (2) ternyata SALAH, manakah dari berikut ini yang HARUS benar? A. Sejumlah P bukanlah N. B. Sejumlah Q bukanlah X. C. Sejumlah M bukanlah X atau pun R. D. Sejumlah N bukanlah P atau pun X. E. Salah satu dari Beberapa dari X merupakan P, atau beberapa dari N bukanlah P ataupun X adalah benar, atau keduanya benar. A. Pernyataan (2) B. Pernyataan (3) C. Pernyataan (4) D. Pernyataan (5) E. Pernyataan (6) Bagian Algoritmika (30 soal) 31. perhatikan algoritma berikut for a:= 1 to 10 do case (a mod 5) of 0 : z[a] := 3; 1 : z[a] := 1; 2 : z[a] := 4; 3 : z[a] := 2; 4 : z[a] := 0; for b:= 10 downto 1 do x:= 3*z[b]; z[b]:= a - b; for c:= 1 to 10 do if (c mod 2 = 0) then z[c]:= z[c] + 5; for d:= 10 downto 1 do if (z[d] < 0) then z[d] := z[d] * -1; writeln(z[5]); Apakah keluaran yang dihasilkan kode diatas? A. 9 B. 7 C. 5 D. 3 E Perhatikan deretan perintah berikut: a := b + a; b := a b; a := a b; Manakah dari pilihan berikut yang akibatnya sama dengan deretan tsb? A. b := b - a; a := b + a; a := b - a; B. a := b + a; a := b - a; b := b - a; C. a := b - a; b := b - a; a := b + a; D. a := b - a; b := b - a; a := b - a; E. a := b + a; b := b + a; a := b + a; 33. Perhatikan algoritma berikut. c := 0; d := 0; while (a>b) do a := a - b; c := c + 1; d := d + b; writeln(c,,,d); Jika nilai a=34, b=11, maka keluaran dari algoritma di atas adalah: A. 3, 33 B. 1, 4 C. 0, 0 D. 6, 23 E. 5, 20 Soal Bidang Informatika Halaman 6 dari 12 OSP 2009

45 34. Perhatikan potongan program berikut for i := 1 to n do for j := 1 to n do for k := 1 to n do writeln('*'); dengan sembarang harga n > 0, keluaran '*' akan dicetak berulang-ulang dalam sejumlah baris yang A. merupakan fungsi kuadrat dari n B. merupakan fungsi linier dari n C. merupakan konstanta D. merupakan fungsi pangkat empat dari n E. merupakan fungsi kubik (pangkat 3) dari n 35. Perintah writeln((not A) or (B and C) or (A and (not B) and C) or (A and B)); untuk semua kemungkinan harga boolean A, B, C akan selalu mencetaakan keluaran yang sama dengan: A. writeln(((not (C or (not A))) and (not B)) or (not A)); B. writeln((a and (B or C)) or C or (A and C)); C. writeln((not B) or (not (A and B and (not C)))); D. writeln((not (C or (not A))) and (not B)); E. writeln((a and (B or C)) or C or ((not A) and (not C))); 36. berikut ini struktur if-then-else if (a and not (not c and not b)) or not ((c and b) or not a) then writeln('merah') else writeln('putih'); Agar algoritma itu selalu menuliskan 'merah' maka kondisi yang tepat adalah A. a berharga true yang lain tidak penting B. c berharga true yang lain tidak penting C. b berharga false yang lain tidak penting D. b berharga true yang lain tidak penting E. a dan c keduanya harus true sementara b tidak penting 37. Suatu array X berindeks dari 1 s.d. 10 dan setiap elemennya berisi huruf-huruf berurutan dari 'a' sampai 'j'. Suatu algoritma bekerja pada array X tersebut sbb. for i := 2 to 9 do swap(x[i-1],x[i+1]); //swap: menukarkan kedua isi array tsb for i := 1 to 10 do write(x[i]); Keluaran yang dituliskannya adalah: A. cdefghijab B. ebacdhfgij C. abcdefghij D. jihgfedcba E. fghijabcde 38. Perhatikan algoritma berikut. for i:=1 to 10 do Tabel[(i*7 mod 10)+1] := (5+i*3) div 4; Berapakah nilai dari Tabel[1] pertama? A. 1 B. 3 C. 7 D. 8 E Perhatikan fungsi berikut function f (x, a: integer) : boolean; if (x <= a) then if (x = a) then f := true else f := false else f := f (x-a, a); Manakah perintah berikut yang berisi pemanggilan-pemanggilan fungsi f diatas yang akan mencetak harga true? A. writeln(f(57, 3) and f(62, 7)); B. writeln(f(53, 7) or f(62, 7)); C. writeln(f(24, 3) and f(42, 7)); D. writeln(f(24, 3) and f(47, 2)); E. writeln(f(43, 2) and f(72, 8)); Soal Bidang Informatika Halaman 7 dari 12 OSP 2009

46 40. Perhatikan pseudopascal berikut readln(a); b := 4; while a > 0 do b := b + (a mod 10); a := a div 10; if ((b mod 3) > 0) or ((b mod 9) > 0) then writeln('angin bertiup') else writeln('angin semilir'); Dua buah algoritma berikut untuk menjawab pertanyaan Procedure satu (a: integer); var i: integer; i := abs(a); // fungsi absolute while i < 128 do i := i * 2; writeln ( i ); Berapakah nilai a yang akan menghasilkan keluaran Angin semilir? A. 20 B. 24 C. 21 D. 22 E. 23 Procedure dua (a: integer); var i: integer; i := abs(a); // fungsi absolute repeat i := i * 2; until i >= 128; writeln ( i ); 41. Bila masing-masing dipanggil dengan perintah satu(47) dan dua(47) maka yang benar mengenai keluaran keduanya adalah: A. Keduanya mencetak bilangan yang sama. B. satu(47) mencetak bilangan yang besarnya dua kali yang dicetak dua(47). C. satu(47) mencetak bilangan lebih kecil dari yang dicetak dua(47). D. Keduanya tidak mencetak apapun juga E. Salah satu atau keduanya mencetak bilangan Pilih pendapat yang benar dari berikut ini: A. Kedua prosedur itu selalu mencetak bilangan yang berbeda untuk semua harga a B. Kedua prosedur itu selalu mencetak bilangan yang sama untuk semua harga a C. Kedua prosedur itu sama-sama tidak dapat bekerja untuk harga a bilangan negatif D. Kedua prosedur tidak akan melakukan perintah i := i * 2 untuk a = 128 karena kondisi tidak terpenuhi. E. Kedua prosedur itu sama-sama mendapatkan harga (2 k.a) terkecil yang lebih besar atau sama dengan dari 128, jika a berharga 1 s.d Algoritma berikut untuk menjawab pertanyaan jdata := n; jml := 1; for i := 0 to jdata-1 do jml := 3*jml-1; writeln(jml); 43. Jika sebelumnya n berharga 3 berapakah yang dicetak oleh potongan algoritma itu. A. 58 B. 42 C. 14 D. 26 E Secara umum, dengan n bulat positif apakah harga yang dicetak oleh program itu sebagai fungsi dalam n. A. 5n 2 B. 3 n 3 n C. 3 n D. n E. 3 n n Soal Bidang Informatika Halaman 8 dari 12 OSP 2009

47 Algoritma berikut untuk menjawab pertanyaan procedure ulangulang (var n: integer); if n > 0 then write(n mod 3); n := n div 3; ulangulang (n); 45. Pernyatan yang paling tepat mengenai algoritma ulangulang di atas adalah: A. Bilangan basis 3 dari bilangan desimal yang diberikan. B. Deretan bilangan 0, 1, dan 2 yang tidak berpola. C. Urutan dibaca dari belakang sama dengan bilangan berbasis 3 dari n. D. Prosedur yang menghasilkan sepertiga dari bilangan n yang diberikan. E. Prosedur yang menghasilkan bilangan sisa hasil pembagian n oleh Apa yang akan dicetak saat pemanggilan ulangulang (z) dengan z sebelumnya sudah memiliki harga 49? A B C D E Jika perintah ulangulang(10000) dijalankan maka akan menghasilkan keluaran yang terdiri atas A. < 7 dijit B. 7 dijit C. 8 dijit D. 9 dijit E. > 9 dijit Algoritma berikut untuk menjawab pertanyaan function apaini(a: longint; b: longint): longint; var x,y,r: longint; x := a; y := b; while (y <> 0) do r := x mod y; x := y; y := r; apaini := x; 48. Jika fungsi tsb dipanggil dengan writeln(apaini(414, 662)); berapakah yang dicetaknya? A. 1 B. 8 C. 26 D. 414 E Jika fungsi tsb dipanggil dengan writeln(apaini(12345, 54321)); berapakah yang dicetaknya? A. 2 B. 3 C. 13 D. 7 E. 11 Soal Bidang Informatika Halaman 9 dari 12 OSP 2009

48 Algoritma berikut untuk menjawab pertanyaan function apaitu(a: integer; b: integer;count: integer): integer; count := count + 1; if (a > b) then apaitu := apaitu(b, a,count) else if (a = 0) then apaitu := count else apaitu := apaitu (b mod a, a,count) 50. Jika fungsi tsb dipanggil dengan writeln(apaitu(1001, 1331,9)); berapakah yang dicetaknya? A. 2 B. 7 C. 3 D. 11 E Jika fungsi tsb dipanggil dengan writeln(apaitu(1000, 5040,7)); berapakah yang dicetaknya? A. 100 B. 50 C. 40 D. 10 E. 5 Deskripsi dan algoritma berikut untuk menjawab pertanyaan Algoritma dengan pseudopascal berikut dimaksudkan untuk menjumlahkan bilangan-bilangan dalam suatu array tabeldata hanya pada elemen array bernomor indeks kelipatan 3 (yaitu: 3, 6, 9, dst...) sampai dengan elemen ke 30 dan mencetak hasilnya ke layar. Diketahui, array tabeldata berindeks dari 1 sampai dengan 40. sum := 0; I :=.... // inisialisasi I while I < hargabatas do sum := sum + tabeldata[i]; //increment I writeln(sum); 52. Berapakah harga inisialisasi I pada baris bertanda "// inisialisasi i" agar algoritma bekerja seperti yang diharapkan? A. 0 B. 1 C. 2 D. 3 E Perintah apakah yang harus diisikan pada baris bertanda " // increment I"? A. I := 3 B. I := I + 1 C. I := I 1 D. I := I + 2 E. I := I Berapakah harga yang diberikan pada variabel hargabatas agar algoritma bekerja seperti yang diharapkan? A. 31 B. 25 C. 30 D. 35 E. 40 Soal Bidang Informatika Halaman 10 dari 12 OSP 2009

49 Algoritma berikut untuk menjawab pertanyaan // array X berisi n bilangan dengan index dari 1 s.d. n // fungsi Max(a,b) adalah mencari bilangan terbesar dari a atau b ts := 0; ms := 0; for i := 1 to n do ts := Max(0, X[i] + ts); ms := Max(ts, ms); writeln(ms); 55. Jika array X berisi harga-harga sebagai berikut: 1, 3, 4, -2, -1, 6 (berarti juga n berharga 6) maka algoritma akan mencetak harga? A. -6 B. 4 C. 2 D. 6 E Jika array X berisi harga-harga sebagai berikut: 1, -1, 1, -1, 1, -1, 1 (berarti juga n berharga 7) maka algoritma akan mencetak harga? A. -1 B. 4 C. 1 D. -3 E. 7 Algoritma berikut untuk menjawab pertanyaan procedure Bingo(t); if (t < 2) then writeln('bingo!') else Bingo(t-1); Bingo(t-2) 57. Berapa kalikah 'Bingo!' dituliskan jika procedure tersebut dipanggil dengan Bingo(6)? A. 6 B. 1 C. 13 D. 20 E Untuk menghasilkan tulisan 'Bingo!' antara kali procedure tsb harus dipanggil dengan cara bagaimana? A. Bingo(100) B. Bingo(11) C. Bingo(5) D. Bingo(10) E. Bingo(15) 59. Mana pseudopascal di bawah ini yang jika dijalankan dapat mengurutkan tabel berikut: i data[i] menjadi berisi sebagai berikut (N=10): i data[i] Soal Bidang Informatika Halaman 11 dari 12 OSP 2009

50 A. for i:=1 to N-1 do for j:=i+1 to N do if data[i]<data[j] then data[i]:=data[j]; data[j]:=data[i]; B. for i:=1 to N do for j:=n downto i+1 do if data[j-1]>data[j]then temp:=data[j]; data[j]:=data[j-1]; data[j-1]:=temp; C. for i:=1 to N do for j:=i+1 to N-1 do if data[i]>=data[j] then temp:=data[i]; data[i]:=data[j]; data[j]:=temp; D. for i:=1 to N-1 do for j:=i+1 to N do if data[i]<data[j] then temp:=data[i]; data[i]:=data[j]; data[j]:=temp; E. for i:=1 to N-1 do for j:=i to N-1 do if data[i]<data[i+1]then temp:=data[i]; data[i]:=data[i+1]; data[i+1]:=temp; 60. Mana pseudopascal di bawah ini yang paling tepat jika ingin melakukan pengecekan apakah bil merupakan bilangan 2 N (dengan 0<N<30, contohnya : 2, 4, 8, 16, dst.) atau bukan? Jika benar, akan menghasilkan keluaran Benar. Jika salah, akan menghasilkan keluaran Salah. A. readln(bil); duaan:=false; z := 2; for i:=1 to 30 do if (bil = z*2) then duaan:=true; else z := z*2; if duaan then writeln( Benar ) else writeln( Salah ); B. readln(bil); duaan:=false; while (bil>0) do duaan:= (1=(bil mod 2))xor duaan; bil:= bil div 2; if duaan then writeln( Benar ) else writeln( Salah ); C. readln(bil); duaan:=false; while (bil>0) do duaan:= (1=(bil mod 2)) or duaan; bil:=bil div 2; if duaan then writeln( Benar ) else writeln( Salah ); D. readln(bil); duaan:=false; temp:=1; while (bil>0) do temp:=2*temp; if (bil=temp) then duaan:=true; if duaan then writeln( Benar ) else writeln( Salah ); Soal Bidang Informatika Halaman 12 dari 12 OSP 2009

51 E. readln(bil); duaan:=false; temp:=1; while ((bil-temp)>0) do temp:=temp*2; if (bil=temp) then duaan:=true; if duaan then writeln( Benar ) else writeln( Salah ); Akhir Dari Naskah Soal Soal Bidang Informatika Halaman 13 dari 12 OSP 2009

52 OLIMPIADE SAINS TINGKAT PROVINSI (OSP) 2010 BIDANG INFORMATIKA Untuk dikerjakan Selama 150 menit (2½ jam) Bagian Informasi Sistem penilaian Nilai benar 1 dan nilai salah 0. Tuliskan jawaban anda sesingkat-singkatnya lembar jawaban di nomor soal yang bersesuaian. Jawaban yang diminta merupakan ANGKA tuliskan juga dengan ANGKA TANPA SATUAN!!! [Penulisan angka 5 dengan N tulisan lima tidak diperkenankan.] 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. Bilangan non-negatif adalah bilangan yang tidak berharga negatif (nol termasuk bilangan nonnegatif). 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 A div B, dengan A dan B bilangan-bilangan bulat menghasilkan hasil pembagian A dengan B, dengan hanya mengambil bilangan bulatnya saja misalnya 10 div 3 = 3 karena 10 dibagi 3 berharga 3,333 dan bilangan bulatnya 3. Notasi abs(a) dengan A bilangan nyata akan menghasilkan harga positif dari bilangan tersebut. Misalnya abs(-4.5) = 4.5 dan abs(3.2) = 3.2. Notasi trunc(a) dengan A bilangan nyata akan menghasilkan bilangan bulatnya saja, misalnya trunc(4.5) = 4, dan trunc(-4.5) = -4. Notasi sqrt(a) dengan A bilangan nyata non-negatif maka menghasilkan akar dari A (atau A), misalnya sqrt(9) = 3. Notasi length(a) dengan A merupakan string menghasilkan panjang dari string tersebut (termasuk semua karakter di dalamnya), misalnya length( Viva TOKI 2008 ) = 14. Operasi boolean adalah operasi logika. Untuk membantu mengingatnya berikut ini table opersioperasi yang muncul dalam naskah soal.. A B not A A and B A or B FALSE FALSE TRUE FALSE FALSE FALSE TRUE TRUE FALSE TRUE TRUE FALSE FALSE FALSE TRUE TRUE TRUE FALSE TRUE TRUE Ekspresi Boolean adalah ekspresi yang dibentuk atas satu atau lebih operasi Boolean dari satu atau lebih variable Boolean.

53 Olimpiade Sains Tingkat Provinsi 2010 Bagian Pertanyaan Analitika/Logika (20 pertanyaan) 1. Udin sudah bisa menjumlah bilangan, tetapi baru saja belajar menulis angka. Udin baru bisa menulis angka 1, 2, 3 dan 4. Tetapi dia tidak menyadari bahwa angka 1 dan 4 berbeda, bagi Udin angka 4 adalah cara lain untuk menuliskan angka 1. Selain itu bilangan beberapa dijit seperti 132 adalah bilangan yang bernilai sama dengan hasil penjumlahan dari digit-digit itu sendiri. Contoh : 132 = = 6 dan = = 9 (ingat, Udin menganggap 4 adalah 1). Sekarang, Udin ingin tahu berapa banyak cara yang dapat dilakukannya untuk menuliskan sebuah bilangan bernilai tertentu. Misalnya 2, Udin dapat menuliskan 5 bilangan yaitu : 11, 14, 41, 44 dan 2. Ada berapa banyak kemungkinan bilangan beberapa digit yang menurut Udin bernilai 3? 2. Panitia penyelenggara OSN bagian akomodasi mengatur penempatan para delegasi wakil-wakil provinsi di sebuah hotel. Delegasi-delegasi itu masing-masing dengan anggota yang jumlahnya bervariasi, dan rencana kedatangannya pun tidak bersamaan. Para anggota delegasi yang sama diasumsikan datang bersamaan. Karena jumlah kamar di hotel itu agak terbatas, panitia menetapkan suatu pengaturan. Selama kamar-kamar kosong masih tersedia, setiap kamar kosong ditempati oleh dua orang dari delegasi yang sama. Jika jumlahnya ganjil, yang satu orang itu akan ditentukan belakangan setelah yang berdua-berdua selesai ditempatkan. Selama masih ada kamar kosong, yang satu orang itu pun ditempatkan di kamar yang kosong. Saat tidak ada kamar kosong tesisa, setiap orang yang baru datang akan ditempatkan di kamar yang baru ditempati sendirian. Jika ada beberapa pilihan kamar kosong, selalu dipilih kamar dengan nomor yang paling kecil. Jika tidak ada lagi kamar kosong, tapi ada beberapa kamar yang masih satu orang, juga dipilih mulai dari kamar dengan nomor terkecil. Sekarang anda ketahui ada 8 kamar di hotel itu dan ada 8 delegasi yang akan datang yang jumlahnya berturut-turut sesuai dengan urutan waktu kedatangan adalah 3, 1, 3, 2, 1, 3, 2, 1. Jika kamar dinomori dari 1 sampai dengan 8, dan delegasi dinomori sesuai dengan urutan kedatangan dari 1 sampai 8, dengan siapakah anggota delegasi provinsi ke 8 akan sekamar? Deskripsi berikut adalah untuk menjawab pertanyaan no.3 sampai dengan no.7. Terdapat N buah lampu b 1, b 2, b n dan tombolnya masing-masing di bawah setiap lampu itu. Tombol itu berperilaku aneh, jika tombol suatu lampu b i ditekan sekali, lampu b i berubah dari mati menjadi terang atau dari terang menjadi mati. Selain itu, ada beberapa lampu yang ikut berubah, mati menjadi terang atau terang menjadi mati. Hubungan lampu-lampu lain yang ikut berubah dinyatakan dengan relasi (i, j). Jika relasi (i, j) itu ada, maka penekanan tombol di b i akan berdampak juga pada lampu di b j selain b i itu sendiri, dan sebaliknya, penekanan tombol di b j berdampak juga pada lampu di b i. 3. Ada 5 buah lampu: b 1, b 2, b 3, b 4,dan b 5, dan terdapat relasi (1, 2), (1, 5), (2, 3), (2, 4), (3, 5), (4, 5). Jika mula-mula seluruh lampu mati, apa yang terjadi dengan b 1 dan b 2 jika dilakukan penekanan berturut-turut pada tombol-tombol b 1, b 2, dan b 3, dan b 5, masing-masing sekali? Jawab dengan memilih: [tuliskan jawaban anda dalam lembar jawaban hanya huruf pilihannya]. (A) keduanya mati, (B) keduanya terang, (C) b 1 terang dan b 2 mati, atau (D) mati dan b 2 terang Bidang Informatika Halaman 2 dari 10 OSP TOKI 2011

54 Olimpiade Sains Tingkat Provinsi Jika mula-mula seluruh lampu mati, tuliskan berapa banyak penekanan sesedikit-sedikitnya untuk membuat semua lampu menjadi terang dilakukan? [tuliskan hanya anga atau jika tidak ada sebutkan TIDAK ADA ). 5. Jika ditambahkan relasi (2, 4) dengan pertanyaan yang sama dengan no 4, bagaimana jawaban anda sekarang? 6. Seperti pada pertanyaan no. 5 yaitu adanya relasi tambahan (2, 4), kecuali hanya satu yang terang yaitu b 2, tuliskan jumlah penekanan minimal (sesedikit mungkin) untuk membuat semua terang? 7. Untuk 8 lampu dengan relasi-relasi: (5, 8), (1, 5), (8, 6), (1, 2), (7, 3), ( 8, 3), (6, 7), (2, 6), (7, 5),(5, 4),(4, 2),(3, 4). Semula semua mati, berapa penekanan yang dilakukan sesedikitsedikitnya agar semua lampu menjadi terang? Deskripsi berikut adalah untuk menjawab pertanyaan no.0 sampai dengan no.10. A dan B melakukan permainan batu. Terdapat N buah tumpukan batu. Di bagian bawah tumpukan terdapat kertas bertuliskan suatu bilangan bulat positif menyatakan nilai tumpukan. Setiap pemain bergantian mengambil satu batu. Setiap pemain yang mengambil batu terakhir dari suatu tumpukan akan mendapatkan skor sebesar nilai tumpukan ybs. Di awal permainan, jumlah batu setiap susunan diketahui, dan nilai-nilai tumpukannya juga diketahui. 8. Berikut ini ada 4 tumpukan seperti pada table di bawah ini. A hendak melakukan langkah pertama kalinya. Dengan asumsi B adalah pemain yang tidak pernah melakukan kesalahan dalam memilih langkahnya, hitunglah berapa skor akhir maksimum yang dapat ia kumpulkan. No Tumpukan Nilai Tumpukan Jumlah Batu pada tumpukan Berikut ini ada 8 tumpukan. A hendak melakukan langkah pertama kalinya. Dengan asumsi B adalah pemain yang tidak pernah melakukan kesalahan dalam memilih langkahnya, hitunglah berapa skor akhir maksimum yang dapat ia kumpulkan. No Tumpukan Nilai Tumpukan Jumlah Batu pada tumpukan Mengacu pada table di pertanyaan no. 0, seandainya aturan diubah: seorang pemain dapat mengambil 1 atau 2 batu pada setiap gilirannya dan A akan jalan pertama kali, siapakah yang akan mendapatkan nilai tumpukan ke empat? Bidang Informatika Halaman 3 dari 10 OSP TOKI 2011

55 Olimpiade Sains Tingkat Provinsi 2010 Deskripsi berikut adalah untuk menjawab pertanyaan no.11 sampai dengan no.12. Suatu papan catur N x N setiapnya berisi bilangan nonnegatif. Di awal suatu bidak berada kotak (1, 1) atau yang di pojok kiri atas. Berikutnya secara berulang bidak dapat dipindahkan (1) horizontal ke kanan, atau (2) vertikal ke bawah sekian kotak sebanyak dengan bilangan pada kotak terakhir bidak itu berada, kecuali kalau membawa bidak keluar dari papan. Tujuan akhir adalah kotak (N, N) atau yang pojok kanan bawah. Bila bilangan terakhir adalah 0 dan bukan di pojok maka bidak berhenti (tidak dapat melanjutkan langkah kecuali kalau sudah mencapai tujuan). 11. Untuk papan catur berukuran 4x4 berikut ini temukanlah ada berapa lintasan langkah-langkah yang berbeda untuk membawa bidak dari posisi awal (kotak (1, 1)) ke tujuan (kotak (4,4)). Posisi awal Tujuan 12. Untuk papan catur berukuran 4x4 berikut ini temukanlah ada berapa lintasan langkah-langkah yang berbeda untuk membawa bidak dari posisi awal (kotak (1, 1)) ke tujuan (kotak (10, 10)). Posisi awal Tujuan Deskripsi berikut adalah untuk menjawab pertanyaan no.13 sampai dengan no.15. Pak Umar menaruh barang berharganya di sebuah brankas (lemari besi) dengan kunci kombinasi 7 digit setiap digit adalah bilangan 0 sampai dengan Suatu ketika Pak Umar mengatur kombinasinya sedemikian rupa sehingga tidak ada digit yang digunakan berulang (setiap digit maksimum satu kali). Suatu ketika ia lupa bilangan kombinasi tersebut dan meminta anda untuk mencoba-coba berbagai kemungkinan. Ada berapa kemungkinan kombinasi yang mungkin anda harus coba? 14. Supaya tidak mudah kelupaan lagi ia men-set 3 digit berharga 0 (tidak tahu digit yang mana!) dan lainnya seperti sebelumnya maksimum hanya muncul 1 kali dalam kode (kecuali yang 0 tsb). Anda berancang-ancang kalau suatu ketika Pak Umar lupa kembali maka anda berhitung ada berapa kemungkinan kombinasi yang nanti harus dicoba. Bidang Informatika Halaman 4 dari 10 OSP TOKI 2011

56 Olimpiade Sains Tingkat Provinsi Supaya semakin lebih mudah untuk diingatnya, maklum makin hari tambah pelupa saja, Pak Umar mensetnya kembali sedemikian rupa sehingga bilangan-bilangan itu tidak ada yang sama dan meningkat harganya dari kiri ke kanan. Ada berapa kemungkinan kombinasi? Deskripsi berikut adalah untuk menjawab pertanyaan no.16 sampai dengan no.17. Dalam satu keluarga tedapat 8 bersaudara.kandung mereka adalah S, T, U V, W, X, Y dan Z. Urutan nama ini tidak berarti menunjukkan urutan umur, yang diketahui, orang-tua mereka melahirkan anak-anak itu dengan perbedaan hanya 1 tahun berturut-turut. Diketahui juga bahwa: Umur W lebih tua 4 tahun dari Z dan 3 tahun lebih muda dari X Sedangkan S lebih tua dari T, dan lebih muda dari X Umur U adalah umur rata-rata dari umur V dan X 16. Jika yang paling muda diketahui berumur 8, berapakah umur W? 17. Jika V lebih muda dari W, manakah urutan yang paling mungkin dari pilihan di bawah ini jika diurutkan mulai dari yang tertua hingga yang termuda? (di lembar jawaban, anda hanya menuliskan huruf pilihannya ) (A) X, S, U, W, V, T, Y, Z (B) X, S, T, W, V, U, Y, Z (C) Z, S, T, W, U, V, Y, X (D) X, T, S, V, W, U, Z, Y (E) X, U, S, T, W, V, Y, Z Deskripsi berikut adalah untuk menjawab pertanyaan no.18 sampai dengan no. 20. Dalam suatu acara jamuan makan malam yang diikuti oleh delapan orang (enam tamu ditambah tuan rumah dan nyonya rumah), mereka duduk di sekeliling meja memanjang. Para tamu, masing-masing tiga orang duduk di sisi-sisi meja. Tuan rumah duduk di salah satu ujung meja dan nyonya 18. Dari informasi di atas satu orang lagi yaitu Eko, periksalah apakah ia: I. tuan rumah II. duduk di sebelah kanan Diana III. duduk di seberang Cindy Berapa banyak dari ketiga pernyatan itu mana yang benar? (Jawab dengan menuliskan hanya angka-angka romawi dari pernyataan yang anda anggap benar, jika tidak ada yang benar jawab dengan TIDAK ADA ). Bidang Informatika Halaman 5 dari 10 OSP TOKI 2011

57 Olimpiade Sains Tingkat Provinsi Jika diketahui bahwa setiap orang duduk berseberangan dengan suami atau isterinya, mana di antara yang berikut ini yang pasti adalah pasangan suami isteri? (tuliskan jawaban anda di lembar jawaban hanya huruf pilihan yang bersangkutan). (A) Gunawan dan Helena (B) Brigitta dan Firman (C) Cindy dan Firman (D) Gunawan dan Brigitta (E) Eko dan Helena 20. Di antara Ali, Brigitta, Cindy, Diana dan Eko, siapa dari mereka yang tidak duduk berdampingan dengan orang yang jenis kelaminnya sama dengannya? Bagian Pertanyaan Algoritmika (20 pertanyaan) 21. Berikut ini ada dua potong algoritma pseupascal. // pertama readln(x); repeat writeln(x); x := x + 1; Until x > 10; //kedua readln(x); while x <= 10 do writeln(x); x := x + 1; Apakah kedua potong algoritma itu berperilaku sama?jika jawaban anda tidak, maka apa yang harus diharus dilakukan? Jawablah dengan memilih salah satu dari pilihan berikut dan menuliskan huruf pilihannya di lembar jawaban: (A) sama, tidak perlu diapa-apakan lagi. (B) tidak, pindahkan readln(x) ke dalam loop-while (sebelum writeln(x) ). (C) tidak, tambahkan writeln(x) setelah readln(x) dan sebelum loop-while. (D) tidak, tambahkan if x > 10 then writeln(x); setelah readln(x) (E) tidak, tambahkan if x >= 10 then writeln(x); setelah readln(x) (F) ttidak, tapi tidak ada yang bisa dilakukan karena memang loop-repeat tidak bisa digantikan loop-while 22. Perhatikan potongan algoritma berikut. for i := 1 to n do for j := 1 to n do XX(i,j); Misalnya XX(i,j) dijalankan dengan harga berapapun bersifat konstan, dan potongan algoritma itu dengan harga n = 100, diperlukan waktu rata-rata 1 detik kira-kira berapa detik potongan algoritma ini dijalankan untuk nilai n = 2000? 23. Perhatikan potongan algoritma berikut. Bidang Informatika Halaman 6 dari 10 OSP TOKI 2011

58 Olimpiade Sains Tingkat Provinsi 2010 i := 1; while i <= n do j := 1; while j <= n do writeln('*'); J := j * 10 i := i * 2; Berapa kali karakter * dituliskan untuk n = 1000? 24. Mengacu pada potongan algoritma di pertanyaan no 23, jika n adalah suatu harga N yang cukup besar maka jumlah karakter * yang dituliskan proporsional dengan fungsi mana dari pilihan berikut ini? Jawablah dengan memilih dari pilihan ini lalu tuliskan huruf dari pilihan itu pada lembar jawaban. (A) N (B) N 2 (C) log N (D) N log N (E) (F) Tidak ada pilihan yang sesuai. 25. Perhatikan potongan algoritma berikut funtion Z(l: integer; r: integer); if l < r then z := z(l, ((l+r) div 2) - 1) + z(((l+r) div 2) + 1, r) + 1 else z := 1; Berapakah yang akan dicetak pada pemanggilan fungsi Z(1, 10)? Berikut ini adalah suatu algoritma dalam pseudopascal untuk menjawab pertanyaan no. 26 s.d. no.29. Bidang Informatika Halaman 7 dari 10 OSP TOKI 2011

59 Olimpiade Sains Tingkat Provinsi 2010 Tujuan dari algoritma ini adalah mencetak deret bilangan: 1, 2, 5, 10, 17, 26, 37, dan seterusnya selama hingga pertama kali mencetak angka yang > i := 1; j := 1; while (i <= 1000) do writeln(i);... // perintah yang hilang j := j + 2; writeln(i); 26. Agar algoritma bekerja sesuai dengan yang diharapkan, perintah apakah yang harus dituliskan di bagian..... // perintah yang hilang. 27. Bila pada ekspresi pemeriksaan kondisi loop-while (perintah while (i <= 1000) do ) variable i diganti dengan pemeriksaan variabel j menjadi while (j <= M) do berapakah harga yang terkecil yang mungkin untuk menggantikan M agar algoritma bekerja secara identik? 28. Bila angka 1000 pada ekspresi pemeriksaan kondisi loop-while (perintah while (i <= 1000) do ) diganti dengan angka 10000, berapakah angka yang akan dicetak oleh perintah writeln(i) pada baris terakhir? 29. Bila angka yang terakhir dicetak diharapkan adalah angka terbesar yang lebih kecil dari 500, maka angka ke berapakah itu dalam deret yang dicetak (catatan: yang pertama adalah 1, kedua adalah 2, dst)? Berikut ini adalah suatu algoritma dalam pseudopascal untuk menjawab pertanyaan no. 30 s.d. no.33. function hitung(a: integer): integer; if (a < 0) then write('-'); hitung(-a); end else if (a > 1) then tmp := hitung(a/2); write(a mod 2) end else writeln(a); 30. Apa yang akan dicetakkan pada pemanggilan hitung(100)? 31. Apa yang akan dicetakkan pada pemanggilan hitung(-150)? Bidang Informatika Halaman 8 dari 10 OSP TOKI 2011

60 Olimpiade Sains Tingkat Provinsi Pada pemanggilan hitung(1000) berapa kali perintah write(a mod 2) akan dijalankan? 33. Untuk pemanggilan hitung(m) menghasilkan keluaran berupa bilangan berdigit 8 berapa bilangan terkecil M yang mungkin? Berikut ini adalah suatu algoritma dalam pseudopascal untuk menjawab pertanyaan no. 34 sampai dengan no.37. var D:array[0..6] of char = ('A','B','C','D','E','F','G'); // procedure untuk menukarkan isi array D[a] dan D[b] procedure swap(a: integer; b: integer); var tmp: char;... // perintah-perintah untuk menukarkan // procedure untuk mencetak isi array dalam satu baris. procedure printarray; var i: integer;... // perintah-perintah untuk mencetak procedure ZZ(m: integer); var i: integer; if (m <= 0) then printarray else ZZ(m-1); for i := m-2 downto 0 do swap(i,m-1); ZZ(m-1); swap(i,m-1); 34. Jika swap(a,b) dimaksudkan untuk menukarkan isi array D[a] dengan D[b], tuliskan perintahperintah yang seharusnya ada di bagian di dalam procedure swap tersebut. 35. Pada pemanggilan ZZ(3), berapa kali procedure printarray akan dipanggil? 36. Misalkan ZZ(8) dijalankan di suatu computer selama 1 detik, kira-kira berapa lama ZZ(10) dijalankan? Bidang Informatika Halaman 9 dari 10 OSP TOKI 2011

61 Olimpiade Sains Tingkat Provinsi Sebutkan SATU KATA saja yang menunjukkan proses apa yang dilakukan pseudocode ini pada data dalam array? Berikut ini adalah suatu algoritma dalam pseudopascal untuk menjawab pertanyaan no. 38 s.d.no.40. procedure cek(a: Boolean; b:boolean; c: Boolean; d:boolean); write(a,' ',b,' ',c,' ',d,' '); if ((a and not b) or c ) and not ((c and b) or (d and not a)) then writeln('kasus 1') else if ((not c and b) or (a and b and not c and d)) then writeln('kasus 2') else if ((not a and not b and (c or d)) and (c and d)) then writeln('kasus 3') else writeln('kasus 4'); 38. Dengan suatu kombinasi harga a, b, c, d, prosedur mencetak kasus 3, dengan kombinasi yang sama perintah writeln(a and b, ' - ',c and d) akan mencetak dua harga boolean apakah? 39. Dengan suatu kombinasi harga a, b, c, d, prosedur mencetak kasus 1, dan diketahui a berharga true. dengan kombinasi yang sama perintah writeln(a and not b,, ' - ',not (c and d)) akan mencetak dua harga boolean apakah? 40. Bila (b and c) berharga true, maka keluaran yang dicetak adalah? Akhir Berkas Soal Selamat Mengerjakan, semoga sukses Bidang Informatika Halaman 10 dari 10 OSP TOKI 2011

62 Olimpiade Sains Tingkat Provinsi 2011 OLIMPIADE SAINS TINGKAT PROVINSI (OSP) 2011 BIDANG INFORMATIKA 40 Soal untuk dikerjakan Selama 150 menit (2½ jam) Peserta hanya dibolehkan membawa tanda pengenal, alat tulis dan penghapus saat memasuki ruang ujian. Bagian Informasi Sistem penilaian Nilai benar 1 dan nilai salah 0. Tuliskan jawaban anda sesingkat-singkatnya pada lembar jawaban di nomor soal yang bersesuaian. Jika jawaban yang diminta merupakan ANGKA tuliskan dengan ANGKA TANPA SATUAN [Contoh: penulisan angka 5 dengan tulisan lima tidak diperkenankan.] 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. Bilangan non-negatif adalah bilangan yang tidak berharga negatif (nol termasuk bilangan nonnegatif). 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 A div B, dengan A dan B bilangan-bilangan bulat menghasilkan hasil pembagian A dengan B, dengan hanya mengambil bilangan bulatnya saja misalnya 10 div 3 = 3, karena 10 dibagi 3 berharga 3,333 dan bilangan bulatnya 3. Contoh lain, untuk 10 div 4, hasilnya adalah 2, karena mengambil bilangan bulat dari 2,5. Notasi abs(a) dengan A bilangan nyata akan menghasilkan harga positif dari A tersebut. Misalnya abs(-4.5) = 4.5 dan abs(3.2) = 3.2. Notasi trunc(a) dengan A bilangan nyata akan menghasilkan bilangan bulatnya saja dengan membuang bagian pecahan, misalnya trunc(4.5) = 4, dan trunc(-4.5) = -4. Notasi sqrt(a) dengan A bilangan nyata non-negatif maka menghasilkan akar dari A (atau A), misalnya sqrt(9) = 3. Notasi length(a) dengan A adalah string menghasilkan panjang dari string tersebut (termasuk semua karakter di dalamnya), misalnya length( Viva TOKI 2012 ) = 14. Operasi boolean adalah operasi logika. Berikut ini tabel hasil operasi boolean (not, and, or) yang muncul dalam naskah soal. A B not A A and B A or B FALSE FALSE TRUE FALSE FALSE FALSE TRUE TRUE FALSE TRUE TRUE FALSE FALSE FALSE TRUE TRUE TRUE FALSE TRUE TRUE Ekspresi Boolean adalah ekspresi yang dibentuk atas satu atau lebih operasi Boolean dari satu atau lebih variable Boolean. Bidang Informatika Halaman 1 dari 10 OSP 2011

63 Olimpiade Sains Tingkat Provinsi 2011 Bagian Pertanyaan Analitika/Logika (20 pertanyaan) 1. Jika a, b, c, d dan e adalah bilangan-bilangan cacah (0,1,2,...) dan diketahui pula a+b+c+d+e=15, berapakah banyaknya kemungkinan nilai-nilai kelima bilangan tersebut dapat dibuat jika a+b harus sama dengan 5 dan setiap bilangan boleh digunakan lebih dari satu kali? Tuliskan jawabannya dalam bentuk angka. Jawab: Dalam suatu deret bilangan bulat {x i, i > 0}, x i+1 = 2 x i. (bilangan berikutnya = dua kali bilangan sebelumnya). Jika jumlah sebelas bilangan pertama berurutan adalah maka bilangan kelimabelasnya adalah Sejumlah biji catur hendak ditempatkan pada papan catur dengan syarat, tidak ada biji catur pada baris (jalur horisontal) yang sama, tidak ada biji catur pada kolom (jalur vertikal) yang sama, dan tidak ada biji catur pada kedua diagonalnya. Ukuran papan catur 8 baris 8 kolom. Berapa jumlah biji catur paling banyak yang bisa ditempatkan? (untuk persoalan ini tidak dipedulikan jenis dan warna biji caturnya) Jawab:... Deskripsi persoalan Untuk soal 4 s/d 5: Tiga orang dewasa Roni(pria), Susi(wanita), dan Vina(wanita) bersama dengan lima anak-anak Fredi(pria), Heru(pria), Jono(pria), Lisa(wanita) dan Marta(wanita) akan pergi berdarmawisata ke Kebun Binatang dengan menggunakan sebuah kendaraan minibus. Minibus tersebut memiliki satu tempat di sebelah pengemudi, dan dua buah bangku panjang di belakang yang masing-masing terdiri dari 3 tempat duduk, sehingga total terdapat delapan tempat duduk di dalam minibus tersebut, termasuk pengemudi. Setiap peserta wisata harus duduk sendiri, masing-masing di sebuah kursi yang ada dan susunan tempat duduk harus disesuaikan dengan beberapa ketentuan sebagai berikut: Pada masing-masing bangku harus terdapat satu orang dewasa yang duduk Salah satu di antara Roni dan Susi harus duduk sebagai pengemudi Jono harus duduk bersebelahan dengan Marta 4. Jika Fredi duduk bersebelahan dengan Vina, siapakah penumpang pria yang duduk di paling depan? Jawab: Jika Susi duduk di salah satu bangku dan Fredi duduk di bangku lainnya, siapakah dua orang yang sebangku dengan Susi? Jawab:...,... Deskripsi persoalan Untuk soal 6 s/d 10: Enam orang bernama A, B, C, D, E, F melakukan perjalanan bersama dalam satu kendaraan. Mereka masing-masing berasal dari negara yang berlainan. Negara-negara itu adalah Indonesia, Malaysia, Singapura, Thailand, Laos, dan Myanmar. Ada 2 orang untuk tiap profesi yang sama dan tiap orang berprofesi tunggal (tidak ada yang memiliki profesi lebih dari satu). Selain itu diketahui juga fakta-fakta berikut. A yang berasal dari Singapura dan pria yang berasal dari negara Indonesia, keduanya adalah dokter E dan wanita yang dari negara Malaysia adalah guru C dan orang yang dari Singapura adalah insinyur B dan F dulu pernah bekerja di luar Asia, tapi orang yang dari Singapura tidak pernah bekerja di luar Asia Orang yang dari Laos lebih tua dari A Orang yang dari Myanmar lebih tua dari C Di kota X, B dan pria dari Indonesia turun untuk tidak meneruskan perjalanan Berikutnya, di kota Y, C dan pria dari negara Laos juga turun untuk tidak meneruskan perjalanan 6. Yang dapat diketahui jenis kelaminnya perempuan dari statemen di atas adalah... Bidang Informatika Halaman 2 dari 10 OSP 2011

64 Olimpiade Sains Tingkat Provinsi Seorang dokter yang dipastikan pernah bekerja di luar Asia menurut fakta-fakta tersebut adalah Orang yang dipastikan lebih tua dari A menurut fakta-fakta tersebut bekerja sebagai Dari manakah asal negara C? Jawab: Setelah melewati kota Y, apa sajakah profesi dari orang yang masih di dalam kendaraan? Jawab:... Deskripsi persoalan Untuk soal 11 s/d 13: Di suatu pertemuan ada 4 orang pria dewasa, 4 wanita dewasa, dan 4 anak-anak. Keempat pria dewasa itu bernama: Santo, Markam, Gunawan, dan Saiful. Keempat wanita dewasa itu bernama Ria, Gina, Dewi, dan Hesti. Keempat anak itu bernama Hadi, Putra, Bobby dan Soleh. Sebenarnya mereka berasal dari 4 keluarga yang setiap keluarga terdiri dari seorang ayah, seorang ibu dan satu orang orang anak, namun tidak diketahui yang mana yang menjadi ayah dan mana yang menjadi ibu dan mana yang menjadi anak dari masing-masing keluarga itu. Kecuali, beberapa hal diketahui sebagai berikut: Ibu Ria adalah ibu dari Soleh. Pak Santo adalah ayah dari Hadi. Pak Saiful adalah suami dari Ibu Dewi, tapi bukan ayah dari Bobby. Pak Gunawan adalah suami Ibu Hesti. 11. Putra adalah anak dari Pak Anak dari Pak Gunawan adalah Jika pernyataan (1) di atas dihilangkan, periksalah apakah masih bisa disimpulkan bahwa I. Ibu Ria kemungkinannya bersuamikan Pak Markam atau Pak Santo II. Soleh kemungkinannya anak dari Pak Markam atau Pak Santo III. Ibu Dewi kemungkinannya adalah ibu dari Soleh atau Putra (tuliskan jawaban anda di lembar jawaban hanya huruf pilihan yang bersangkutan). (A) Hanya I yang benar (B) Hanya II yang benar (C) Hanya III yang benar (D) Hanya I dan III yang benar (E) Ketiganya benar Deskripsi persoalan Untuk soal 14 s/d 16: Di sebuah bandara internasional di negara antah berantah, pengelola bandara tersebut menyediakan bis yang berjalan keliling dari terminal A, terminal B dan terminal Parkir. Bis tersebut berhenti secara berurutan di 4 titik di terminal A yaitu terminal A1, terminal A2, terminal A3, terminal A4 yang melayani penerbangan-penerbangan dalam negeri. Kemudian bis tersebut secara berurutan berhenti di 3 titik terminal B yaitu terminal B1, terminal B2 dan terminal B3 yang melayani penerbanganpenerbangan internasional. Dari terminal B 3 bis tersebut menuju terminal Parkir untuk berhenti sejenak, dan kemudian menuju kembali ke terminal A1 dan seterusnya berulang-ulang. Di airport tersebut juga disediakan layanan dua buah kereta listrik, salah satunya hanya berjalan dari terminal A3 ke terminal parkir pulang pergi, dan kereta lainnya hanya berjalan dari terminal B2 ke terminal parkir pulang pergi. Alat transportasi tersebut merupakan layanan dari pihak pengelola bandara, dan tidak ada alat transportasi lain di lingkungan bandara tersebut yang dapat dipergunakan. Semua transportasi tersebut berjalan terus menerus selama 24 jam dan tidak dikenakan biaya bagi siapapun yang ingin memanfaatkannya. Bidang Informatika Halaman 3 dari 10 OSP 2011

65 Olimpiade Sains Tingkat Provinsi Untuk dapat mencapai terminal A4 dari terminal Parkir dengan hanya menjumpai titik pemberhentian yang paling sedikit, terminal-terminal yang akan dilalui berturut-turut adalah? Jawab: Di manakah tempat pemberhentian kedua bagi seseorang yang pergi dari terminal A2 ke terminal B3 yang melalui jalur paling sedikit? Jawab: Jika semua rute perjalanan berikut ini dibuat dengan kemungkinan titik pemberhentian yang paling sedikit, perjalanan yang perlu memanfaatkan kedua kereta listrik dan bis adalah : (tuliskan jawaban anda di lembar jawaban hanya huruf pilihan yang bersangkutan). (A) Dari A2 ke A3 (B) Dari A4 ke B1 (C) Dari Terminal Parkir ke A2 (D) Dari Terminal Parkir ke A4 (E) Tidak Ada. 17. Jika x = 0.888, y = , dan z = (0.888) 2, maka urutan x, y dan z dari yang paling kecil ke paling besar adalah...,..., Bila z bilangan bulat positif terkecil yang memberikan sisa 5 jika dibagi dengan 13 dan memberikan sisa 3 jika dibagi dengan 18, berapa sisanya jika dibagi dengan 11? Jawab: Seorang wanita menerima warisan sebesar 3 dari harta suaminya seorang pengusaha yang meninggal dunia karena kecelakaan pesawat. Tiga orang anaknya juga menerima masing-masing 1 dari sisanya. Jika jumlah yang diterima wanita tersebut dan salah seorang anaknya adalah Rp milyar, berapakah total harta yang ditinggalkan oleh pengusaha tersebut? Jawab: Ibu Dina sedang mencoba untuk membuka usaha bakery di sebuah ruko di perumahan elit di kawasan Cibubur. Dari resep yang ia pelajari, untuk suatu campuran adonan kue diperlukan 2½ cangkir terigu dan 4½ cangkir air. Bila ternyata sisa tepung terigu yang tersisa di lemari tinggal ¾ cangkir, berapa cangkirkah air yang diperlukan? Jawab:... Bidang Informatika Halaman 4 dari 10 OSP 2011

66 Olimpiade Sains Tingkat Provinsi 2011 Bagian Pertanyaan Algoritmika (20 pertanyaan) Petunjuk: Jika program tidak bisa dicompile, isilah jawaban dengan compile error Jika program lulus compile, tapi error saat program berjalan, isilah jawaban dengan runtime error Jika program lulus compile, tidak ada error saat program berjalan, tapi eksekusi program tidak pernah berakhir, isilah jawaban dengan time limit exceeded Jawab dengan sesingkat mungkin tanpa penjelasan jika algoritma dapat dieksekusi dengan baik dan menghasilkan output sesuai dengan perintah writeln. 21. Perhatikan potongan program berikut: var x,y : integer; procedure XYZ(var a,b:integer); var c: integer; c := a; a := b; b: = c; x = x+10; x:=10; y:= 5; XYZ(x,y); writeln(x); end. Berapakah nilai angka yang tampil di output? Jawab :. 22. Perhatikan potongan program berikut: for i:=1 to n do for j:= 1 to i do //... Jika n = 100, maka potongan program tersebut akan berjalan dalam waktu 1 detik. Berapakah lamanya program berjalan jika n=10000? (bulatkan ke bilangan bulat terdekat). Dengan catatan: kode program/ algoritma dalam loop dapat dieksekusi dengan waktu konstan. Jawab :. Untuk 23 dan 24 perhatikan potongan program berikut. { ubah adalah fungsi yang menerima masukan integer i dengan rumus: ubah(1) = A ; ubah(2) = B ; ubah(3) = C, dst. } var kalimat : array[ ] of string; hitung : integer; procedure berulang(idx,n: integer; kata:string); var i:integer; if (idx = n) then hitung := hitung+1; kalimat[hitung] := kata; end else Bidang Informatika Halaman 5 dari 10 OSP 2011

67 Olimpiade Sains Tingkat Provinsi 2011 for i:=1 to 5 do berulang(idx+1,n, kata+ubah(i)); 23. Jika diberikan program utama ini: berulang(0,5, ); writeln(hitung); end. Apakah output yang tampil di layar? Jawab: Jika diberikan program utama ini: berulang(0,5, ); writeln(kalimat[1],,kalimat[10],,kalimat[hitung]); end. Apakah output yang tampil di layar? Jawab: Perhatikan potongan program berikut: hasil := 1; for i:=3 to 10 do if (i mod 2 <> 0) then hasil := hasil*i; hasil := hasil*(-1); end else hasil := hasil div 2; hasil := hasil*(-1); writeln(hasil) Apakah output yang tampil di layar? Jawab:... Untuk soal 26 dan 27 perhatikan potongan program berikut: hitung:=0; n:=10; for i:=1 to n do if (i mod 2 = 0) then for j:=1 to 10 do if (j mod 2 = 0) then hitung := hitung + j else hitung := hitung + i; writeln(hitung); 26. Apakah output yang tampil di layar? Jawab: Jika kode di baris ke 2 diganti dengan n:=1000 Apakah output yang tampil di layar? Jawab: Perhatikan potongan program berikut: var nilai : array[1..10] of integer = (1,7,9,23,12,6,12,7,8,10); function rata2(n: integer):real; var sum:real; i:=1; sum := 0; Bidang Informatika Halaman 6 dari 10 OSP 2011

68 Olimpiade Sains Tingkat Provinsi 2011 repeat sum := sum+nilai[i]; until (i=n); rata2:=sum/n; Berapakah nilai yang dikembalikan jika dilakukan pemanggilan fungsi rata2(10)? Jawab:... Untuk soal 29 dan 30 perhatikan potongan program berikut: var lolo: array[0..10] of integer = (1,0,10,3,4,6,-1,14,-10,25,1); procedure tukar(var a,b: integer); var c: integer; c:=a; a:=b; b:=c; procedure lele(lili,lala: integer); var i,a,e : integer; i := lili; a := lala; e := (i+a) div 2; while (i<a) do while lolo[i] <= lolo[e] do i:=i+1; while lolo[a] >= lolo[e] do a:=a-1; if (i<a) then tukar(lolo[i],lolo[a]); i:=i+1; a:=a-1; if lili < a then lele(lili,e); if i < lala then lele(e,lala); 29. Jika dilakukan pemanggilan lele(0,7), maka di akhir program berapakah nilai lolo[0]+lolo[3]+lolo[7]+lolo[10]? Jawab: Berapakah kompleksitas untuk pemanggilan lele (lili lala), dengan nilai (lili-lala) = n? (tuliskan jawaban anda di lembar jawaban hanya huruf pilihan yang bersangkutan). A. O(1) E. O(n 2 ) B. O(log n) F. O(n 2 log n) C. O(n) G. O(n!) D. O(n log n) H. O(n n ) Bidang Informatika Halaman 7 dari 10 OSP 2011

69 Olimpiade Sains Tingkat Provinsi 2011 Untuk soal 31, 32, dan var i,j:integer; A: array[0..9,0..10] of integer; qr,qc: array[ ] of integer; mr: array[0..3] of integer = (0,1,0,-1); mc: array[0..3] of integer = (1,0,-1,0); area: array[0..9,0..10] of char = ( ('o','l','i','m','p','i','a','d','e','s','a'), ('i','n','s','t','i','n','g','k','a','t','p'), ('r','o','v','i','n','s','i','2','0','1','1'), ('.','i','o','i','2','0','1','1','d','i','a'), ('d','a','k','a','n','d','i','t','h','a','i'), ('l','a','n','d','.','g','o','g','e','t','g'), ('o','l','d','s','i','n','d','o','n','e','s'), ('i','a','.','b','e','p','r','e','p','a','r'), ('e','d','f','o','r','i','o','i','2','0','1'), ('1','.','i','n','d','o','n','e','s','i','a') ); procedure init; var i:integer; j:integer; for i:=0 to 9 do for j:=0 to 10 do A[i,j]:= 9999; procedure S_B; var i,h,t: integer; init; h:=0; t:=0; qr[t] := 2; qc[t] := 1; A[qr[t],qc[t]] := 0; t:=t+1; while (h<t) do for i:=0 to 3 do if ((0<=qr[h]+mr[i]) and (qr[h]+mr[i]<=9) and (0<=qc[h]+mc[i]) and (qc[h]+mc[i]<=10)) and {soal 33} {soal 33} h:=h+1; (area[qr[h]+mr[i],qc[h]+mc[i]] <> 'i') and (A[qr[h]+mr[i],qc[h]+mc[i]] > A[qr[h],qc[h]]) then qr[t] := qr[h]+mr[i]; qc[t] := qc[h]+mc[i]; A[qr[t],qc[t]] := A[qr[h],qc[h]]+1; t:=t+1; 31. Setelah procedure S_B dipanggil, berapakah nilai A[0][10]? Jawab: Berapakah nilai maksimum di antara semua nilai yang tersimpan pada matriks A? Jawab: Jika baris 43 dan 44 diganti dengan (area[qr[h]+mr[i],qc[h]+mc[i]] <> i ) then Berapakah nilai A[9][0] saat procedure S_B dipanggil? Jawab:... Bidang Informatika Halaman 8 dari 10 OSP 2011

70 Olimpiade Sains Tingkat Provinsi Perhatikan fungsi berikut function coba(a:integer):string; var b : integer; str : string; if (a=0) then coba:= '' else b := a mod 2; if (b=0) then str:= 0 else str:= 1 ; coba:= coba(a div 2)+str; nilai yang dikembalikan oleh pemanggilan fungsi coba(155) adalah? Jawab:... Untuk soal 35, 36, dan 37 perhatikan potongan program berikut: var mm,r,x,h : integer; larik : array[1..10] of integer; { dengan instruksi sebagai berikut: } function D(y,z:integer):boolean; forward; procedure C(r:integer); forward; procedure B(r:integer); forward; procedure A; forward; procedure main(m: integer); forward; { pemanggilan function / procedure dapat dilakukan dengan benar tanpa memperdulikan urutan penulisan fungsi } function D(y,z:integer):boolean; r:=32767; if ((y=0) or (z=0)) then D:= (y=0) else if (r=32767) then D:=D(y+1,z+1); procedure C(r:integer); x:=larik[r]; if D(x-mm,h-mm) then h:=x; B(r-1); procedure B(r:integer); if (r<>0) then C(r); procedure A; B(r); writeln(h); procedure main(m: integer); mm:=m; h:=-m; r:=10; A; Bidang Informatika Halaman 9 dari 10 OSP 2011

71 Olimpiade Sains Tingkat Provinsi Misalkan variable larik yang merupakan array dan setiap elemennya diisi sehingga bernilai sebagai berikut: 2,3,1,4,9,-1,7,-9,-2,5. Pada program berikut ini, apakah output yang tampil di layar? Jawab:... main(10); end. 36. Misalkan setiap elemen larik diisi sehingga bernilai sebagai berikut: 12,33,1,49,9,-11,7,-91,-2,53. dengan program utama berikut ini, apakah output yang tampil di layar? Jawab:... main(10); end. 37. Asumsikan larik adalah array dengan ukuran tak hingga. Tentukan nilai r yang membuat program tidak berhenti dengan benar untuk larik dengan nilai sembarang! Jawab:... Perhatikan kode berikut untuk soal 38 dan Var end. a: array[1..100] of integer n, jumlah, rata2: integer; sum:=0; readln(n); for i:=1 to n do readln(a[i]); for i:=1 to n do { Soal No. 38: tuliskan kode untuk menghitung jumlah semua elemen array a... } { Soal No. 39: tuliskan kode untuk menghitung rata2 nilai elemen array a... } 38. Tuliskan kode untuk menghitung hasil penjumlahan semua nilai yang disimpan pada array a dan disimpan pada variable jumlah di baris 13. Jawab: Tuliskan kode untuk menghitung hasil nilai rata-rata semua nilai yang ada pada array a dan disimpan pada variable rata2 di baris 16. Jawab:... var a: array[0..100] of integer; function maksimum(n: integer): integer; var i: integer; { Soal 40: lengkapi kode dengan algoritma untuk menentukan nilai maksimum dari semua nilai yang disimpan pada a[0] s.d. a[n-1], dengan N>0 dan N<101 } 40. Lengkapilah fungsi maksimum di atas, agar menghasilkan nilai maksimum dari array A dari indeks 0 sampai ke N-1, N>0 Tuliskan kodenya! Jawab:... Akhir Berkas Soal Selamat Mengerjakan, semoga sukses Bidang Informatika Halaman 10 dari 10 OSP 2011

72 Olimpiade Sains Tingkat Provinsi 2012 BIDANG INFORMATIKA/KOMPUTER 50 Soal untuk dikerjakan Selama 150 menit (2½ jam) Peserta hanya dibolehkan membawa tanda pengenal, alat tulis dan penghapus saat memasuki ruang ujian. Bagian Informasi Model ujian ini adalah isian singkat. Tuliskan jawaban anda sesingkat-singkatnya pada lembar jawaban di kolom nomor soal yang bersesuaian. Jika jawaban yang diminta merupakan ANGKA tuliskan dengan ANGKA TANPA SATUAN [Contoh: penulisan angka 5 dengan tulisan lima tidak diperkenankan.] Jawaban BENAR bernilai 1, jawaban SALAH bernilai 0. Jumlah Soal 50, untuk dikerjakan dalam 2½ JAM (atau 150 menit). Notasi algoritma pada bagian algoritmika menggunakan pseudopascal yang pada intinya seperti pascal tetapi tidak serinci pascal karena diutamakan pada konsep logika di dalam algoritma. Halaman-halaman yang berisi pertanyaan ada di halaman no 2 sampai dengan 10. Jika berkas anda tidak lengkap/rusak/cacat/tak terbaca, mintalah kepada panitia untuk penggantian berkas. Peserta DILARANG: 1. menggunakan perangkat komputasi (laptop, kalkulator, komputer) 2. menggunakan alat komunikasi (handphone, pager, PDA, dll) selama mengerjakan ujian ini, 3. menggunakan buku/referensi/catatan selain berkas soal ini, serta 4. bekerja sama dengan atau mencontek hasil pekerjaan peserta lain. Peserta yang melakukan pelanggaran akan dibatalkan dari keiutsertaan ujian dan dinyatakan gugur. 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. Berkas soal TIDAK BOLEH dibawa pulang dan panitia setempat harus menghancurkannya atau menyimpannya hingga seluruh propinsi di Indonesia selesai melaksanakan OSP 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. Bilangan positif adalah bilangan yang tidak berharga negatif (nol termasuk bilangan positif). 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 A div B, dengan A dan B bilangan-bilangan bulat menghasilkan hasil pembagian A dengan B, dengan hanya mengambil bilangan bulatnya saja misalnya 10 div 3 = 3, karena 10 dibagi 3 berharga 3,333 dan bilangan bulatnya 3. Contoh lain, untuk 10 div 4, hasilnya adalah 2, karena mengambil bilangan bulat dari 2,5. Bidang Informatika/Komputer Halaman 1 dari 10 OSP 2012

73 Olimpiade Sains Tingkat Provinsi 2012 Bagian Pertanyaan Analitika/Logika (25 pertanyaan) 1. 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. Selain itu, diketahui umur Barinie, Jecky, dan Zeta saat ini adalah bilangan bulat. Berapa jumlah umur Barnie, Jecky, dan Zeta 3 tahun yang lalu? 2. Agar mudah diingat, Pak Dengklek membuat password untuk komputernya dengan mengacak hurufhuruf pada namanya, yaitu D, E, N, G, K, L, E, dan K. Suatu ketika ia lupa password komputernya, dan memutuskan untuk mencoba semua kemungkinan pengacakan yang ada tanpa pengulangan. Berapakah waktu yang dibutuhkan untuk mencoba semua kemungkinan pengacakan tersebut, jika sekali mencoba suatu kemungkinan membutuhkan waktu 10 detik? 3. Pak Dengklek memiliki 1000 ekor bebek, yang diberi nomor 1 sampai dengan Pak Dengklek yang sedang berbaik hati, ingin memberikan Anda sebagian bebek yang dimilikinya. Anda bebas memilih beberapa bebek yang mana saja, asalkan memenuhi satu syarat khusus yang diminta Pak Dengklek: jika Anda memilih bebek bernomor x, Anda tidak boleh memilih bebek bernomor 3x. Misalnya, jika Anda memilih bebek bernomor 5, Anda tidak boleh memilih bebek bernomor 15. Berapa banyak maksimal bebek yang bisa Anda terima dari Pak Dengklek? 4. Pak Dengklek memiliki 1000 buah kartu. Setiap kartu terdiri dari dua sisi yang tampak identik. Pada kedua sisi setiap kartu, Pak Dengklek dapat memilih untuk menuliskan sebuah angka, atau tidak menuliskan apa-apa. Seribu buah kartu tersebut diletakkan oleh Pak Dengklek di atas meja, sehingga Anda dapat melihat bahwa pada sisi yang terbuka, semua kartu telah ditulisi angka yang berbeda, mulai dari 1 hingga Anda tidak dapat melihat sisi yang tertutup. Pak Dengklek mengatakan bahwa: Jika pada satu sisi kartu tertulis bilangan ganjil, maka pada sisi lainnya pasti tertulis bilangan yang habis dibagi 3, DAN jika satu sisi sebuah kartu tidak terdapat tulisan apa-apa (kosong), maka pada sisi lainnya pasti tertulis bilangan yang habis dibagi 5. Berapa minimal kartu yang harus Anda balik untuk mengetahui apakah Pak Dengklek berkata benar atau tidak? 5. Didefinisikan n! = n x (n-1) x (n-2)... x 2. x 1. Berapakah banyaknya digit 0 beruntun di akhir 500!? 6. 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-masing roda 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? 7. Pak Dengklek sangat sayang dengan bebek-bebeknya. Ia mencatat hari ulang tahun setiap bebekbebeknya (hari, tanggal, dan bulan), sebagai contoh (Rabu, 2, Mei). Pak Dengklek tahu bahwa jika ia memiliki minimal 366 ekor bebek, maka pasti ada dua ekor bebek yang berulang tahun pada tanggal dan bulan yang sama, namun belum tentu harinya sama (asumsikan bahwa setahun selalu memiliki 365 hari). Pak Dengklek bertanya, berapakah jumlah minimal bebek yang harus ia miliki, agar ia yakin bahwa pasti ada 5 bebek yang berulang tahun pada hari, tanggal dan bulan yang sama? Bidang Informatika/Komputer Halaman 2 dari 10 OSP 2012

74 Olimpiade Sains Tingkat Provinsi Bilangan bulat positif terkecil yang memiliki tepat 6 pembagi (termasuk 1 dan dirinya sendiri) adalah 12. Bilangan bulat positif terkecil yang memiliki tepat 30 pembagi adalah... Berikut ini merupakan deskripsi untuk soal nomor 9 dan 10 Tiga orang sahabat, Ari, Budi, dan Cici terdampar di sebuah pantai bersama seekor kucing. Mereka berusaha mengumpulkan makanan, dan yang berhasil mereka temukan hanyalah ikan-ikan kecil, namun dengan jumlah cukup banyak. Karena kelelahan, mereka memutuskan untuk beristirahat dan membangun tenda. Mereka berencana untuk memasak ikan keesokan harinya bersamasama. Malamnya, ketika semua sedang tertidur, Ari bangun dari tidurnya. Karena ia kuatir pada keesokan harinya teman-temannya akan curang pada saat membagi ikan untuk sarapan, Ari mencoba mengamankan bagiannya. Ia membagi ikan-ikan tersebut ke dalam 3 bagian sama rata. Ternyata tersisa satu ekor ikan. Ari mengambil salah satu dari 3 bagian, dan memberikan sisa satu ekor ikan tadi ke kucingnya, dan kemudian tidur lagi. Tidak disangka, ternyata kedua temannya yang lain mempunyai pikiran untuk melakukan hal yang sama seperti Ari: bangun, membagi ikan (yang tersisa) ke dalam tiga bagian, dan mengambil bagiannya. Pada setiap pembagian, selalu tersisa satu ekor ikan yang kemudian diberikan kepada si kucing. Keesokan paginya, mereka semua terbangun, dan tanpa saling memberitahu apa yang mereka lakukan pada malam harinya, mereka membagi ikan-ikan tersebut untuk bertiga. Sama seperti sebelumnya, pembagian dengan 3 menyisakan satu ekor ikan, yang diberikan kepada si kucing. 9. Berapakah jumlah minimum ikan yang terkumpul mula-mula? 10. Secara berturut-turut, berapakah jumlah ikan yang dimiliki oleh masing-masing Ari, Budi dan Cici pada akhirnya? 11. Dengan menggunakan hanya simbol 0, 1 dan 2, kita ingin membentuk string sedemikian rupa hingga selisih antara satu simbol dengan simbol di sebelahnya tidak lebih dari satu. Sebagai contoh, kita dapat membentuk string dan , tetapi tidak boleh membentuk string 102. Berapakah banyaknya string seperti ini yang panjangnya tepat 10 simbol? 12. Beberapa anak berbaris dalam satu barisan. Sang Guru memerintahkan mereka untuk mengubah posisi barisan mereka, dengan aturan: setiap anak boleh memilih untuk tetap di posisinya semula, atau bertukar dengan orang yang berdiri tepat di depan atau tepat di belakangnya (apabila ada dan belum pernah bertukar). Jika ada 3 orang anak yang berbaris, dengan urutan awal A, B, C, maka ada 3 kemungkinan hasil setelah perintah Guru dijalankan, yaitu: tetap, berubah menjadi B,A,C, atau berubah menjadi A,C,B. Berapa kemungkinan hasil yang mungkin apabila ada 15 anak yang berbaris? 13. Anda memiliki sebuah neraca yang dapat digunakan untuk membandingkan bobot dua obyek dan mengetahui mana yang lebih berat. Jika Anda memiliki 128 benda, berapa kali minimal Anda harus menggunakan neraca tersebut untuk menentukan mana benda terberat DAN benda terberat kedua dari 128 benda tadi? 14. Dalam papan catur ukuran 3x3, dua kuda putih berada pada posisi pojok atas (kanan dan kiri), sedangkan kedua kuda hitam berada pada posisi pojok bawah (kanan dan kiri). Diketahui tidak boleh ada dua kuda berada di petak yang sama pada saat apapun. Tentukan, dengan minimal berapa Bidang Informatika/Komputer Halaman 3 dari 10 OSP 2012

75 Olimpiade Sains Tingkat Provinsi 2012 gerakan menggunakan langkah kuda catur, posisi kuda hitam dan putih saling bertukar (kuda-kuda hitam di pojok atas, kuda-kuda putih di pojok bawah)? (Sebagai keterangan, pada catur, satu langkah kuda dilakukan dengan menggeser kuda satu petak secara horizontal (baik ke kiri maupun ke kanan) dan dua petak secara vertikal (baik ke atas maupun ke bawah), maupun menggeser kuda dua petak secara horizontal dan satu petak secara vertikal). 15. Pak Dengklek memiliki 2 buah takaran air, A dan B, masing-masing volumenya adalah 35 ml dan 48 ml. Jika Pek Dengklek ingin mengambil tepat 22 ml air, maka Pak Dengklek dapat melakukannya dengan menggunakan tiga langkah penakaran, yaitu: takar 2 kali dengan takaran A (2x35=70 ml) lalu kurangkan dengan 1 kali takaran B (70-48=22). Jika Pak Dengklek ingin mengukur tepat 10 ml air, berapakah minimal penakaran yang diperlukan? 16. Pak Dengklek memiliki 80 buah koin emas, semuanya dengan bentuk dan rupa yang sama. Sayangnya, di antara 80 koin tadi, diketahui ada satu koin yang palsu. Pak Dengklek tidak tahu yang mana yang palsu, akan tetapi ia mengetahui bahwa koin yang palsu pasti lebih ringan dari yang asli. Pak Dengklek memiliki sebuah neraca yang bisa ia gunakan untuk membandingkan berat dua buah benda. Pak Dengklek kemudian memilih sebuah strategi yang memastikan banyak penimbangan pada kasus terburuk adalah sesedikit mungkin. Berapakah banyak penimbangan yang Pak Dengklek perlukan pada kasus terburuk apabila ia menggunakan strategi tersebut? Berikut ini merupakan deskripsi untuk soal nomor 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. 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: E berada 3 peringkat di bawah B dan 4 peringkat di atas F Peringkat A lebih baik dari D, dan peringkat D lebih baik dari H Selisih peringkat A dan D sama dengan selisih peringkat D dan H Peringkat G lebih baik dari peringkat C 17. Ada berapa konfigurasi urutan peringkat yang mungkin? 18. Jika diketahui peringkat C lebih baik dari E, tuliskanlah urutan peringkat dari 1 sampai dengan 8. Berikut ini merupakan deskripsi untuk soal nomor Terdapat 100 titik, dinomori 1 sampai 100. Seekor kelinci bernama Listi berada di titik 1. Listi dapat berpindah lokasi dengan meloncat. Apabila Listi meloncat sejauh X, maka apabila ia sebelumnya berada di titik Y, ia akan sampai di titik Y+X. Tentu saja Listi tidak dapat melakukan loncatan tersebut apabila Y+X lebih besar dari 100. Sebuah cara bagi Listi untuk berpindah dari titik X ke titik Y didefinisikan sebagai urutan panjang loncatan yang ia lakukan. Dengan kata lain, dua cara dianggap berbeda apabila: a) Jumlah loncatan di kedua cara berbeda, atau b) Ada indeks i di mana loncatan ke-i di cara pertama berbeda dengan loncatan ke-i di cara kedua. Bidang Informatika/Komputer Halaman 4 dari 10 OSP 2012

76 Olimpiade Sains Tingkat Provinsi 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. 20. Apabila Listi hanya dapat melakukan loncatan dengan panjang 7 atau 9, ada berapa cara berbeda yang dapat ia lakukan untuk mencapai titik 72? 21. Apabila Listi dapat melakukan loncatan dengan panjang 1 atau 2 saja, ada berapa cara berbeda yang dapat ia lakukan untuk mencapai titik 12? 22. Apabila Listi hanya dapat melakukan loncatan yang panjangnya adalah angka pangkat 1, 2, 4, 8, 16, 32, dan 64, berikan salah satu cara untuk mencapai titik 100 yang menggunakan jumlah loncatan sesedikit mungkin. 23. Diberikan sebuah barisan bilangan bulat yang mana untuk i > 0, bilangan ke-i pada barisan ini merupakan hasil kali dari (1 x 2 x x (i-1) x i) dengan bilangan pertama pada barisan ini. Jika jumlah delapan bilangan pertama pada barisan ini adalah , maka bilangan kesepuluhnya adalah Jika 4! berarti 4 x 3 x 2 x 1 = 24. Tuliskanlah kedua digit terakhir dari 1! + 2! + 3! ! 25. Jika a, b, c, d dan e adalah bilangan-bilangan cacah (0,1,2,...) dan diketahui pula a x b x c x d x e = 864, berapakah banyaknya kemungkinan nilai-nilai kelima bilangan tersebut dapat dibuat jika a x b harus sama dengan 12 dan setiap bilangan boleh digunakan lebih dari satu kali? Bidang Informatika/Komputer Halaman 5 dari 10 OSP 2012

77 Olimpiade Sains Tingkat Provinsi 2012 Bagian Pertanyaan Algoritmika (25 pertanyaan) 26. Diketahui definisi fungsi sebagai berikut. Jika max(a,b) adalah fungsi yang mengembalikan nilai maksimum dari a dan b, berapakah nilai dari F1(4,3)? function F1(i, j : integer) : integer; if (i < 0) or (j < 0) then F1 := max(i, j) + 1 else if i = j then F1 := F1(i + 1, j - 1) else F1 := F1(i - 2, j - 1) + F1(i - 1, j - 2); 27. Dari definisi fungsi sebagai berikut, berapakah nilai dari F2(6,2)? function F2(n, k : integer) : integer; var i, x : integer; x := 1; for i := n downto k + 1 do x := x * i; for i := n - k downto 2 do x := x div i; F2 := x; 28. Tentukanlah berapa banyak tanda bintang dihasilkan sebagai output jika fungsi F4(n) dijalankan. (notasikan jawaban anda dalam n) procedure F4(n : integer); if n = 1 then write('*') else write('*'); F4(n - 1); write('*'); 29. Dari definisi fungsi berikut, berapa kalikah F5(4) dieksekusi pada pengeksekusian F5(8)? function F5(n : integer) : integer; if (n = 1) or (n = 2) then F5 := 1 else F5 := F5(n - 1) + F5(n - 2); 30. Gunakan F5 pada soal nomor 29, berapa kalikah F5(n-k) dieksekusi pada pengeksekusian F5(n) (dengan n>k>2, notasikan jawaban anda dalam F5, n dan k)? Bidang Informatika/Komputer Halaman 6 dari 10 OSP 2012

78 Olimpiade Sains Tingkat Provinsi Jika a dan b memiliki nilai kebenaran yang sama maka outputnya adalah... if not((not a and b) or (a and not b)) then writeln('merah') else writeln('putih'); 32. Jika nilai yang mungkin baik untuk a, b, maupun c adalah salah satu bilangan bulat yang berkisar antara {1,2,3,4} berapakah nilai maksimum d yang mungkin? if a > b then if b < c then b := a + 2 * c else c := b + 2 * c else a := b + c; d := a + b + c; Potongan program berikut ini merupakan pseudocode untuk soal nomor //inisiasi semua T[..] sebagai true for i := 2 to max do if (T[i]) then writeln(i); j := i; while (j*i <= max) do... // perintah yang hilang j := j + 1; 33. Agar algoritma tersebut dapat menampilkan semua bilangan prima 2,3,5,7, dan seterusnya hingga nilai max, perintah apa yang harus dituliskan di bagian //perintah yang hilang? (hint : perintah hanya terdiri dari 1 statement). 34. Mengacu pada potongan algoritma di atas. Bila max bernilai 100, berapa kali perintah writeln(i) dieksekusi? Bidang Informatika/Komputer Halaman 7 dari 10 OSP 2012

79 Olimpiade Sains Tingkat Provinsi 2012 Potongan program berikut ini merupakan pseudocode untuk soal nomor function campur(n : integer) : integer; campur := n * n; function aduk(x,y,z : integer) : integer; 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; var a,b,c : integer; readln(a,b,c); writeln(aduk(a,b,c)); end. 35. Jika program dijalankan dan pengguna memasukkan angka 2, 10, dan 10, berapakah angka yang dikeluarkan program? 36. Jika program dijalankan dan pengguna memasukkan angka 4, 40, dan 5, berapakah angka yang dikeluarkan program? Potongan program berikut ini merupakan pseudocode untuk soal nomor : 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: function g(a,b : integer) : integer; if (b = 0) then g := // kosong else g := // kosong function h(a,b : integer) : integer; h := // kosong Fungsi g diharapkan akan menghasilkan Faktor Persekutuan Terbesar (FPB) dari dua buah nilai integer a dan b, sedangkan fungsi h diharapkan akan menghasilkan Kelipatan Persekutuan Terkecil (KPK) dari dua buah nilai integer a dan b. 37. Isilah bagian kosong di baris 4 dengan tepat. 38. Isilah bagian kosong di baris 6 dengan tepat. 39. Isilah bagian kosong di baris 11 dengan tepat. Bidang Informatika/Komputer Halaman 8 dari 10 OSP 2012

80 40. Perhatikan potongan program berikut ini: Olimpiade Sains Tingkat Provinsi 2012 var m,i,a,b,c,d:longint; readln(m); a:=1;b:=1;c:=1; for i:=4 to m do d:=a+b+c; a:=b; b:=c; c:=d; writeln(c); end. Bila user memasukkan input 8, maka berapakah outputnya? Potongan program berikut ini merupakan pseudocode untuk soal nomor function xxx(x:longint):longint; xxx:=x*x; function xyz(x,y:longint):longint; 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); 41. Untuk pemanggilan xyz(2,12) akan menghasilkan nilai berapa? 42. Jika fungsi xyz dipanggil dengan nilai argumen y=100, berapa kalikah fungsi xyz ini akan dieksekusi? Potongan program berikut ini merupakan pseudocode untuk soal nomor a:=2; b:=3; for i:=p to q do b:=i*(a+b); 43. 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? 44. Apabila diketahui p=3 dan nilai b setelah program dijalankan adalah 350, maka berapa nilai q pada saat inisialisasi? Bidang Informatika/Komputer Halaman 9 dari 10 OSP 2012

81 Olimpiade Sains Tingkat Provinsi 2012 Potongan program berikut ini merupakan pseudocode untuk soal nomor function func(x:integer):integer; var i : integer; b : boolean; b:= true; i := 1; while b=true do if (x mod i) <> 0 then func := i; b:=false; inc(i); 45. Tentukan nilai dari func(4620). 46. Tentukan nilai x positif terkecil di mana func(x) = Tentukan bilangan x positif terkecil ke-11 di mana func(x) = Dengan mengasumsikan tipe integer adalah tipe bilangan bulat yang tidak memiliki batasan, berikan sepuluh nilai x positif terkecil di mana tidak ada angka positif y sehingga func(y) = x. Potongan program berikut ini merupakan pseudocode untuk soal nomor var i,j:longint; for j:=1 to 15 do for i:=1 to 16-j do if (i mod j=0) then writeln( * ); end. 49. Jika program di atas dijalankan, maka banyaknya bintang yang akan ditampilkan ke layar adalah Jika 16-j diubah menjadi 16, maka banyaknya bintang yang akan ditampilkan ke layar adalah... Akhir Berkas Soal Selamat mengerjakan, semoga sukses Bidang Informatika/Komputer Halaman 10 dari 10 OSP 2012

82 Olimpiade Sains Tingkat Provinsi 2013 BIDANG INFORMATIKA/KOMPUTER SESI 2 50 Soal untuk dikerjakan Selama 150 menit (2½ jam) Peserta hanya dibolehkan membawa tanda pengenal, alat tulis dan penghapus saat memasuki ruang ujian. Bagian Informasi Model ujian ini adalah isian singkat. Tuliskan jawaban anda sesingkat-singkatnya pada lembar jawaban di kolom nomor soal yang bersesuaian. Jika jawaban yang diminta merupakan ANGKA tuliskan dengan ANGKA TANPA SATUAN [Contoh: penulisan angka 5 dengan tulisan lima tidak diperkenankan.] Jawaban BENAR bernilai 1, jawaban SALAH bernilai 0. Jumlah Soal 50, untuk dikerjakan dalam 2½ JAM (atau 150 menit). Notasi algoritma pada bagian algoritmika menggunakan pseudopascal yang pada intinya seperti pascal tetapi tidak serinci pascal karena diutamakan pada konsep logika di dalam algoritma. Halaman-halaman yang berisi pertanyaan ada di halaman no 2 sampai dengan 17. Jika berkas anda tidak lengkap/rusak/cacat/tak terbaca, mintalah kepada panitia untuk penggantian berkas. Peserta DILARANG: 1. menggunakan perangkat komputasi (laptop, kalkulator, komputer) 2. menggunakan alat komunikasi (handphone, pager, PDA, dll) selama mengerjakan ujian ini, 3. menggunakan buku/referensi/catatan selain berkas soal ini, serta 4. bekerja sama dengan atau mencontek hasil pekerjaan peserta lain. Peserta yang melakukan pelanggaran akan dibatalkan dari keiutsertaan ujian dan dinyatakan gugur. 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. Berkas soal TIDAK BOLEH dibawa pulang dan panitia setempat harus menghancurkannya atau menyimpannya hingga seluruh propinsi di Indonesia selesai melaksanakan OSP ini. Sesi 2: Bidang Informatika/Komputer Halaman 1 dari 17 OSP 2013

83 Olimpiade Sains Tingkat Provinsi 2013 Sesi 2: Bagian Pertanyaan Analitika/Logika Bagian 2 (25 pertanyaan) 1. Gnegus berhasil menangkap 100 ekor tikus yang selalu mencuri makanannya. Karena dia kesal, dia bergumam I want to play a game. Tikus-tikus tersebut diletakkan di dalam satu kotak, tanpa diberikan makanan. Karena tikus-tikus tersebut sangat lapar, mereka mulai memakan sesamanya. Seekor tikus akan memakan seekor tikus setiap minggu untuk bertahan hidup. Bila seekor tikus tidak bisa makan seekor tikus yang lain, maka tikus tersebut akan mati. Tikus yang masih hidup setelah 5 minggu berlalu sejak Gnegus meletakkan tikus-tikus tersebut di dalam kotak berjumlah {tuliskan dalam bentuk angka} 2. Terdapat 8 buah jeruk dan 3 buah apel. Buah-buah tersebut akan diletakkan pada suatu garis lurus. Tetapi 2 apel tidak boleh bersebelahan satu sama lain. Banyak kemungkinan meletakkan buah-buah tersebut adalah {tuliskan dalam bentuk angka} Perhatikan deskripsi berikut ini untuk soal no. 3 s.d. 6 PT. TOKI, sebuah perusahaan manufaktur prosesor komputer, membuat 2 macam prosesor untuk dijual. Masing-masing prosesor dibuat melalui 2 tahap dengan menggunakan mesin tahap 1 dan mesin tahap 2. Detil kebutuhannya adalah seperti berikut: Silikon Besi Profit (rb) Waktu produksi Mesin 1 Mesin 2 A 50 gr 70 gr Rp B 40 gr 30 gr Rp *Memproduksi 1 prosesor A membutuhkan 50gr Silikon, 70gr Besi, dan 7 jam. *Prosesor yang bisa mendapatkan profit hanyalah yang sudah jadi secara keseluruhan. 3. Jika tidak ada batas waktu untuk memproduksi barang tapi hanya memiliki 4670gr Silikon dan 5950gr Besi, maka profit (keuntungan) maksimum yang bisa didapat dengan membuat hanya produk A adalah sebesar Rp. {tuliskan dalam bentuk angka} 4. Jika Mesin 1 memiliki batas waktu 49 jam sebelum akhirnya rusak, maka profit maksimum yang bisa didapat adalah sebesar Rp {tuliskan dalam bentuk angka} 5. Pak Dengklek, Sang Bos, menginginkan keuntungan setidaknya Rp3,393,000 dan meminimalkan penggunaan silikon. Banyak silikon minimum yang dibutuhkan untuk memenuhi keinginan Pak Dengklek tersebut adalah gram {tuliskan dalam bentuk angka} 6. Terdapat sebuah segitiga sama sisi seperti gambar di samping. N buah titik hendak diletakkan di dalam segitiga. Maka N maksimum yang mungkin jika tidak ada 2 titik yang berjarak kurang dari sama dengan x adalah {tuliskan dalam bentuk angka} 2x Sesi 2: Bidang Informatika/Komputer Halaman 2 dari 17 OSP 2013

84 Olimpiade Sains Tingkat Provinsi Terdapat denah perumahan sebagai berikut: Garis merupakan jalan, sedangkan angka merupakan nomor rumah. Penduduk di perumahan tersebut suka memberi hadiah kepada tetangga spesialnya. Tetangga spesial adalah nomor rumah yang terdapat di seberang jalan yang memisahkan keduanya dan lebih dekat ke rumah pak RT dibanding dengan dirinya. Rumah Pak RT adalah rumah bernomor 1. Contoh: tetangga spesial dari 28 adalah 11, tetangga spesial dari 16 adalah 5, tetangga spesial dari 18 adalah 5. Tentu saja tidak semua rumah memiliki tetangga spesial, contohnya rumah nomor 1, 3, 17, dll. Siapakah tetangga spesial dari 99? {tuliskan dalam bentuk angka} 8. Terdapat kurs mata uang di planet Bebek sebagai berikut: 1 dolar A = 2 dolar B 1 dolar A = 1.8 dolar C 1 dolar A = 2.5 dolar D 1 dolar B = 0.5 dolar C 1 dolar B = 1.3 dolar D 1 dolar C = 1.5 dolar D Bemi ingin menukarkan 1000 dolar A ke dolar D. Berapa uang maksimal hasil penukaran uang yang dapat diperoleh Bemi? {tuliskan dalam bentuk angka dan jenis dolarnya} 9. Empat pasang suami istri sedang mengadakan pesta. Diantaranya adalah Adam, Budi, Chandra, Dani, Enni, Fitri, Gina, dan Hanny. Mereka kemudian dipasangkan menjadi 4 pasang untuk mengadakan permainan catur. Budi vs Enni Adam vs istrinya Chandra Fitri vs suaminya Gina Dani vs istrinya Adam Gina vs suaminya Enni *Catatan: Adam, Budi, Chandra, Dani adalah laki-laki dan Enni, Fitri, Gina, Hanny adalah wanita. Dalam setiap pasang suami istri, sang suami pasti laki-laki dan sang istri pasti wanita. Dengan demikian, istri Budi adalah. {tulis namanya, tidak case sensitive} Sesi 2: Bidang Informatika/Komputer Halaman 3 dari 17 OSP 2013

85 Olimpiade Sains Tingkat Provinsi Besok, Raja Dengklek akan mengadakan pesta yang sangat besar. Raja Dengklek telah memesan 2013 botol anggur untuk pestanya tersebut. Namun berdasarkan laporan, salah satu dari botol anggur tersebut telah diberi racun. Racun ini diketahui tidak akan menunjukkan tanda-tanda keracunan sampai orang yang meminumnya mati. Kematian terjadi antara jam setelah racun terminum, walaupun hanya terminum setetes. Raja Dengklek memiliki 2013 orang tahanan yang rencananya akan dieksekusi. Raja Dengklek harus berhasil menemukan botol anggur yang mengandung racun tersebut dalam waktu 24 jam. Berapa minimal banyaknya tahanan yang harus minum dari botol-botol anggur yang ada untuk memastikan botol mana yang mengandung racun? {tuliskan dalam bentuk angka} Deskripsi berikut ini akan digunakan pada soal 11 s.d 13. Pada grid 4 x 4 di atas, akan diletakkan N buah koin, di mana tiap kotak dapat menampung maksimal satu koin. Untuk tiap baris, atau kolom, atau diagonal dengan dua buah kotak atau lebih (yang diberi garis panah di atas), jika terdapat sejumlah genap koin pada garis tersebut, maka Anda akan mendapatkan satu poin (Ingat bahwa nol adalah genap). Total poin adalah jumlah dari semua poin pada semua garis. Sebagai contoh, jika N = 4, konfigurasi berikut mendapatkan total poin 14 (garis tebal menunjukkan garis tersebut mendapatkan satu poin) 11. Jika N = 8, maka maksimal total poin yang dapat diperoleh adalah {tuliskan dalam bentuk angka} 12. Jika N = 9, maka maksimal total poin yang dapat diperoleh adalah {tuliskan dalam bentuk angka} 13. Jika N = 10, maka maksimal total poin yang dapat diperoleh adalah {tuliskan dalam bentuk angka} Sesi 2: Bidang Informatika/Komputer Halaman 4 dari 17 OSP 2013

86 Olimpiade Sains Tingkat Provinsi 2013 Deskripsi berikut ini akan digunakan pada soal 14 dan 15 Enam musisi bernama Ali, Berty, Cakra, Denis, Eric, dan Felik, akan memainkan tiga buah lagu dalam sebuah konser. Tiap lagu membutuhkan dua biola, sebuah cello, dan sebuah piano. Tentu saja tiap orang harus bermain dalam minimal satu lagu, dan tiap orang hanya bisa memainkan satu instrumen dalam tiap lagu (jika dia bermain di lagu itu). Karena takut performanya berkurang, jika seseorang memainkan dua lagu berurutan, maka instrumen yang dimainkan dalam kedua lagu tersebut tidak boleh sama. Ali hanya bisa bermain biola, dan harus memainkan lagu pertama; Berty dan Eric keduanya dapat bermain biola dan piano; Cakra dapat bermain biola dan cello; Denis hanya dapat bermain cello; sedangkan Felik hanya dapat bermain piano. 14. Dari keenam musisi tersebut, siapa sajakah yang tidak dapat bermain di lagu kedua? {tuliskan namanya, tidak case sensitive} 15. X ternyata tidak bisa bermain di konser karena tangannya terjepit pintu. Ternyata kelima musisi sisanya tetap dapat menjalankan konser sesuai syarat-syarat di atas. Siapakah X? {tuliskan namanya, tidak case sensitive} 16. Bayu memiliki koin uang 200, 300, 500, dan 700 yang sangat banyak. Ia berniat untuk membeli buku pemrograman seharga Karena koin uang tersebut cukup berat apabila ditaruh dalam kantung celana, ia hanya ingin membawa uang seminimal mungkin. Untuk itu, koin yang seharusnya ia bawa sebanyak... keping. {tuliskan dalam bentuk angka}. 17. Perhatikan aturan-aturan berikut ini: 1<x,y,z<9 x^3 bilangan ganjil x(x+1) > 20 y^3 bilangan genap x*y <50 z bilangan genap x+y+z<17 Berapakah nilai x*(y+z) maksimal yang bisa dibentuk? {tuliskan dalam bentuk angka} 18. Pak Dengklek sedang mengajari bebek-bebeknya menulis huruf. Ia meminta bebek-bebeknya bergantian memilih 26 huruf (a sampai dengan z) dan menuliskannya di papan tulis yang disediakan. Pak Dengklek akan mengakhiri sesi belajar menulis ini apabila 26 huruf tersebut minimal masingmasing sudah dituliskan sebanyak 10 kali. Selain itu, ia membuat aturan bahwa, apabila sebuah huruf sudah dituliskan sebanyak 26 kali, maka bebek selanjutnya yang hendak menuliskan huruf tersebut harus memilih huruf yang lain yang belum dituliskan sebanyak 26 kali. Berapakah paling Sesi 2: Bidang Informatika/Komputer Halaman 5 dari 17 OSP 2013

87 Olimpiade Sains Tingkat Provinsi 2013 banyak huruf yang bisa dituliskan bebek-bebek Pak Dengklek sebelum sesi belajar menulis berakhir? {tuliskan dalam bentuk angka} 19. Andi setiap hari pergi ke sekolah menggunakan sepeda dengan kecepatan a km/jam. Namun, di daerah tersebut terdapat angin yang berhembus terus menerus dari arah rumah ke sekolah dengan kecepatan b km/jam. Angin ini mempengaruhi kecepatan sepeda yang dikayuh oleh Andi dengan aturan Bila berjalan searah angin maka kecepatan menjadi a + b km/jam Bila berjalan berlawanan dengan angin maka kecepatan menjadi a-b km/jam. Ia membutuhkan waktu 3 jam untuk berangkat dari rumah ke sekolah, sedangkan dalam perjalanan pulang ia membutuhkan waktu 4 jam. Apabila tidak ada angin yang berhembus, maka berapa jam yang dibutuhkan untuk menempuh perjalanan dari rumah ke sekolah? {tuliskan dalam bentuk angka} 20. Sebuah kotak berisi 6 bola merah dan 5 bola kuning. Budi, lalu Andi, dan kemudian Didi mengambil masing-masing satu bola secara berurutan. Berapa kemungkinan bola yang diambil Andi berwarna sama dengan salah satu atau kedua bola yang diambil oleh dua orang lainnya? {tuliskan dalam bentuk angka} 21. Shintia memiliki 5 botol air berukuran 61 ml, 25 ml, 13 ml, 7 ml dan 3 ml. Awalnya ia memiliki X ml air di baskom dan hendak mendapatkan Y ml air dengan cara menakar air (penakaran harus bulat) tersebut ke botol-botol dan tidak boleh ada air tersisa di baskom. Contoh: pada baskom terdapat 10 ml air dan ia hendak mendapatkan 3 ml air. Pertama 10 ml tersebut akan dituangkan ke dalam botol berkapasitas 13 ml, lalu akan dituangkan 3 ml air ke botol yang berkapasitas 3 ml sampai full dan akhirnya ia mendapatkan 3 ml air (2 penuangan) dan tersisa 7 ml air pada botol berkapasitas 13 ml. Sekarang ia memiliki 31 ml air di baskom dan hendak mendapatkan 6 ml air. Jika total penuangan yang dilakukan tidak lebih dari 5 kali dan harus ada air dalam tiap botol, berapakah ml jumlah air pada dua botol dengan air tersedikit pada akhir penuangan? (catatan : penuangan dilakukan sampai botol yang dituangkan air penuh atau isi botol/baskom yang menuangkan air sudah habis) {tuliskan dalam bentuk angka} Deskripsi berikut ini akan digunakan pada soal 22 s.d. 23 Terdapat N kota dengan N nama berbeda. Setiap kota memiliki populasi penduduk masing-masing. Pemerintah negara tersebut pusing karena terdapat terlalu banyak kota. Pemerintah tersebut berencana menggabungkan kota-kota tersebut hingga hanya tersisa satu kota. Caranya i. Selama masih ada 2 kota atau lebih, pemerintah memilih 2 kota sesuka dia, kemudian menggabungkan kedua kota tersebut. Nama kota yang baru tersebut ialah nama salah satu kota dari kedua kota asalnya yang memiliki jumlah penduduk lebih banyak. Apabila jumlah penduduknya sama, namanya boleh yang mana saja. Tugas Anda pada soal ini ialah menghitung ada berapa nama kota berbeda dari kota terakhir yang mungkin terjadi dengan asumsi pemerintahnya memilih kedua kota tersebut secara acak? Sesi 2: Bidang Informatika/Komputer Halaman 6 dari 17 OSP 2013

88 Olimpiade Sains Tingkat Provinsi Misalkan N = 8, dan jumlah penduduk masing-masing kota adalah 2, 50, 24, 21, 1, 9, 15, dan 5 orang. Setelah seluruh kota berhasil digabung menjadi 1 kota, ada berapa nama kota berbeda dari kota yang mungkin? {tuliskan dalam bentuk angka} 23. Misalkan N = 100, dan tiap kota diberi nomor 1 sampai 100. Jumlah penduduk di kota i adalah i*i. Ada berapa nama kota berbeda dari kota yang mungkin? {tuliskan dalam bentuk angka} 24. Dalam sebuah turnamen, setiap orang akan berlomba dengan semua peserta lain tepat satu kali. Dalam turnamen tersebut 3 orang mengundurkan diri setelah menjalani 2, 4, dan 6 perlombaan. Diketahui sepanjang turnamen telah diadakan 103 perlombaan, berapa orang yang berpartisipasi pada awal turnamen tersebut? {tuliskan dalam bentuk angka} 25. Ada berapa himpunan bagian dari {1,2,...,9} sedemikian sehingga tidak ada 2 anggota yang berurutan? (misal himpunan {1,4,5} dilarang karena memiliki dua anggota 4 dan 5, sementara 4 dan 5 adalah 2 bilangan yang berurutan, sedangkan himpunan {2,4,8} boleh) {tuliskan dalam bentuk angka} Sesi 2: Bidang Informatika/Komputer Halaman 7 dari 17 OSP 2013

89 Olimpiade Sains Tingkat Provinsi Perhatikan potongan program berikut! Sesi 2: Bagian Pertanyaan Algoritmika (25 pertanyaan) var N,hasil: integer; procedure solve(x:integer); if (X>1) then hasil:=hasil+1; solve(x div 2 + X mod 2); end. readln(n); hasil:=0; solve(n); writeln(hasil); Bila diberi masukan bilangan 77, maka program akan memberikan keluaran 27. Perhatikan potongan program di bawah ini! base := QWERTYUIOPLKJHGFDSAZXCVBNM ; kata := ; readln(kalimat); for i:= length(kalimat) downto 1 do if pos(kalimat[i], base) > 0 then kata:= kata & kalimat[i]; writeln(kata); Fungsi pos (CC:char, str:string) adalah fungsi yang akan menghasilkan posisi CC di suatu string str, jika suatu CC tidak terdapat di string, fungsi pos akan menghasilkan 0. Operator & adalah sebuah operator untuk menambahkan sebuah karakter di akhir sebuah string. Jika program di atas diberi masukan s4ya-buk4n+orang alay!?, maka keluarannya adalah 28. Perhatikan potongan program berikut! function kibo(n: integer):integer; if (n = 2) or (n = 1) or (n = 0) then kibo := n else kibo := kibo(n-1) + kibo(n-3); Berapa kalikah kibo(3) dipanggil saat pemanggilan kibo(7)? {tuliskan angkanya} Sesi 2: Bidang Informatika/Komputer Halaman 8 dari 17 OSP 2013

90 Olimpiade Sains Tingkat Provinsi Perhatikan potongan program berikut! var we: longint; Z: array[1..15] of longint = (64, 19, 56, 67, 66, 82, 31, 20, 67, 10, 94, 100, 57, 14, 86); function f(x: longint; y: longint): longint; var a, b: longint; if (x = y) then f := Z[y] else a := f(x, (x+y) div 2); b := f((x+y) div 2+1, y); if (a < b) then f := a else f := b end we := f(3,11); writeln(we); end. Apakah keluaran dari program tersebut? Potongan program berikut ini akan digunakan pada soal 5 dan 6 var s:string; cl,cr:integer; procedure right(l, r : integer); forward; procedure swap(l, r : integer); var c : char; if (l>=1) and (r<=length(s)) then c:=s[l]; s[l]:=s[r]; s[r]:=c; Sesi 2: Bidang Informatika/Komputer Halaman 9 dari 17 OSP 2013

91 Olimpiade Sains Tingkat Provinsi 2013 procedure left(l, r : integer); inc(cl); swap(l,r); if (r<length(s)) then right(l,r+1); procedure right(l, r : integer); inc(cr); swap(l,r); if (l>1) then left(l-1,r); s:='gogetgold'; left(9,1); writeln(s); writeln(cl,',',cr); end. 30. Apakah yang akan tercetak dari hasil pemanggilan perintah writeln(cl,',',cr)? 31. Jika perintah left(9,1) diganti dengan left(5,5), apakah yang akan tercetak dari hasil pemanggilan perintah writeln(s)? Potongan program berikut ini akan digunakan pada soal 7 dan 8 procedure tulis(n,m:integer); var i,j,k:integer; for i:=1 to n do for j:=1 to (n div m) do for k:=1 to m do writeln('*'); for j:=1 to (n mod m) do writeln('-'); 32. Bila kita memanggil prosedur tulis(30,30), berapakah jumlah * yang tertulis? {tuliskan angkanya} Sesi 2: Bidang Informatika/Komputer Halaman 10 dari 17 OSP 2013

92 Olimpiade Sains Tingkat Provinsi Bila kita memanggil prosedur tulis(n,m), berapakah jumlah simbol ( * maupun - ) yang tertulis? {tuliskan/nyatakan dalam m atau n} 34. Perhatikan potongan program di bawah ini! var T:array[1..13] of integer = (32, 6, 12, 64, 68, 100, 214, 120, 30, 80, 24, 22, 88); function q(c,d:integer):integer; var e:integer; if (d=0) then q:=c else e:=c mod d; q:=q(d,e); function p(a,b:integer):integer; var i:integer; p:=t[a]; for i:=a to b do p:=q(p,t[i]); end writeln(p(1,13)); end. Berapakah output dari program di atas? 35. Jika a[] adalah array berindex 0..9 dengan isi {1,-1,-2,-1,-1,1,-1,2,-1,3}, maka berapakah nilai tot di akhir program? Sesi 2: Bidang Informatika/Komputer Halaman 11 dari 17 OSP 2013

93 Olimpiade Sains Tingkat Provinsi 2013 Potongan program berikut ini akan digunakan pada soal 10 dan 11 function hap(x,t: integer): integer; if t = 1 then hap := x mod 5 else hap := 5*x; function hip(x,y: integer): integer; if x < y then hip := hip(y,x) else hip := hap(x,1) + hap(y,2); function hop(x,y,z: integer): integer; if y > z then hop := hop(x,z,y) else if x > y then hop := hop(y,x,z) else hop := hip(x,y) + z; 36. Apakah output dari pemanggilan writeln(hop(18, 3, 1993))? 37. Apakah output dari pemanggilan writeln(hip(hop(201,320,12), hop(20,1120,10)) + hap(21,30))? Sesi 2: Bidang Informatika/Komputer Halaman 12 dari 17 OSP 2013

94 Olimpiade Sains Tingkat Provinsi Diberikan potongan program berikut ini: program hahaha; var n, i, j, hehe : integer; a, hoho : array [ ] of integer; read(n); for i := 1 to n do read(a[i]); for i := 1 to n do hoho[i] := 1; for i := 1 to n do for j := 1 to i-1 do if (a[j] < a[i]) and (hoho[j] + 1 > hoho[i]) then hoho[i] := hoho[j] + 1; hehe := 0; for i := 1 to n do if (hoho[i] > hehe) then hehe := hoho[i]; write(hehe); end. Berapakah nilai keluaran dari program tersebut, jika diberi masukan sebagai berikut? Perhatikan potongan program di bawah ini! for i:=1 to n do for k:=i to n-1 do write(' '); for j:=1 to (2*i-1) do if (i=n) or (i mod 2=1) then write('*') else if j mod 2=1 then write('*') else write('0'); writeln; for l:=n downto 2 do for m:=l to n do write(' '); for o:=(2*l-1) downto 3 do if o mod 2=1 then write('*') else write('0'); writeln; Apabila diberi masukan n=7, maka berapakah banyaknya * yang dicetak pada layar? Sesi 2: Bidang Informatika/Komputer Halaman 13 dari 17 OSP 2013

95 Olimpiade Sains Tingkat Provinsi 2013 Perhatikan potongan program di bawah ini, untuk digunakan pada soal no 15 dan 16: function mencari(n:integer):integer; var i,j,z:integer; mencari:=0; for i:=1 to N do j:=1; z:=0; while (j <= i) do if (i mod j = 0) then inc(z); inc(j); if (z mod 2 <> 0) then mencari:=mencari+1; 40. Berapakah nilai yang dihasilkan dari pemanggilan mencari(50)? 41. Berapakah nilai yang dihasilkan dari pemanggilan mencari(9000)? 42. Perhatikan potongan program di bawah ini! var data1 : array[1..10] of integer = (3,9,2,2,1,5,7,5,5,8); data2,data3 : array[1..10] of integer; i : integer; for i:= 1 to 10 do data2[i] := 0; for i:= 1 to 10 do inc(data2[data1[i]]); for i:= 2 to 10 do data2[i] := data2[i] + data2[i-1]; for i:= 10 downto 1 do data3[data2[data1[i]]] := data1[i]; dec(data2[data1[i]]); for i:= 1 to 10 do write(data3[i]); end. Keluaran dari program di atas adalah... Sesi 2: Bidang Informatika/Komputer Halaman 14 dari 17 OSP 2013

96 Olimpiade Sains Tingkat Provinsi Perhatikan potongan program di bawah ini! var i,j,x: integer; x := 0; for i:=1 to 5 do for j:= 5 downto 1 do x := x + i + j; writeln(x); end. Apakah keluaran dari program di atas? Perhatikan program di bawah ini, untuk soal no 19 dan 20: var x,y:integer; procedure abc(a:integer;var b:integer); var c:integer; if not((a=0)or(b=0)) then if (a>b) then a:=a mod b; abc(b,a); end else b:=b mod a; abc(a,b); write(a,' '); x:=219; y:=168; abc(x,y); end. 44. Apa keluaran yang dihasilkan dari program tersebut? 45. Jika perintah write(a,' '); diubah menjadi write(b,' '); maka keluaran yang dihasilkan menjadi? Sesi 2: Bidang Informatika/Komputer Halaman 15 dari 17 OSP 2013

97 Olimpiade Sains Tingkat Provinsi Perhatikan program di bawah ini var sum, i, j, n, c : integer; readln(n); sum := 0; for i := 2 to n do c := 0; j := i; while (j > 0) do if (j mod 2 = 1) then c := c + 1; j := j div 2; if (c = 1) then sum := sum + 1; writeln(sum); end. Jika potongan program dijalankan dengan masukan n = 2013, maka program akan menuliskan keluaran 47. Perhatikan potongan program di bawah ini! procedure f(x: longint; y: longint; z: longint); if (y = 0) then writeln(z) else if (y mod 2 = 1) then z := z + x; f(2*x, y div 2, z) Berapakah bilangan yang tercetak dilayar jika dilakukan pemanggilan f(15,97,0)? Sesi 2: Bidang Informatika/Komputer Halaman 16 dari 17 OSP 2013

98 Olimpiade Sains Tingkat Provinsi 2013 Perhatikan potongan program di bawah ini, untuk soal no 23 dan 24 function flop(a,b:longint):longint; forward; function flip(a,b:longint):longint; if (a = 0) then flip:=0 else flip:=a+flop(a-1,b); function flop(a,b:longint):longint; if (b = 0) then flop:=0 else flop:=b+flip(a,b-1); 48. Berapakah nilai yang dihasilkan dari pemanggilan fungsi flip(4,7)? 49. Berapakah nilai yang dihasilkan dari pemanggilan fungsi flop(100,200)? 50. Misalkan terdapat sebuah array bernama a berisi N elemen, yang diisi di indeks 0 s.d. N-1. for i := 0 to N-1 do for j := i+1 to N-1 do buffer := a[i]; a[i] := a[j]; a[j] := buffer; Apa yang dilakukan oleh prosedur itu terhadap array a? SELAMAT MENGERJAKAN Sesi 2: Bidang Informatika/Komputer Halaman 17 dari 17 OSP 2013

99 Hak Cipta Dilindungi Undang-undang SOAL UJIAN SELEKSI CALON PESERTA OLIMPIADE SAINS NASIONAL 2014 TINGKAT PROVINSI INFORMATIKA/KOMPUTER SESI-2 Waktu: 160 menit KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN DIREKTORAT JENDERAL PENDIDIKAN MENENGAH DIREKTORAT PEMBINAAN SEKOLAH MENENGAH ATAS TAHUN 2014

100 KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN DIREKTORAT JENDERAL PENDIDIKAN MENENGAH DIREKTORAT PEMBINAAN SEKOLAH MENENGAH ATAS OLIMPIADE SAINS 2014 TINGKAT PROVINSI BIDANG INFORMATIKA/KOMPUTER Lembar Peraturan dan Peringatan Selama Ujian 50 Soal untuk dikerjakan Selama 160 menit Peserta hanya dibolehkan membawa tanda pengenal, alat tulis dan penghapus saat memasuki ruang ujian. Bagian Informasi Model ujian untuk nomor 1 sd 48 adalah isian singkat. Tuliskan jawaban anda sesingkatsingkatnya pada lembar jawaban di kolom nomor soal yang bersesuaian. Jika jawaban yang diminta merupakan ANGKA tuliskan dengan ANGKA TANPA SATUAN [Contoh: penulisan angka 5 dengan tulisan lima tidak diperkenankan.] Soal nomor 49 dan 50 adalah menyusun program komputer/algoritmika. Jawaban BENAR bernilai 3, jawaban SALAH bernilai 0. Jumlah Soal 50, untuk dikerjakan dalam 160 menit. Notasi algoritma pada soal bagian algoritmika menggunakan pseudopascal yang pada intinya seperti pascal tetapi tidak serinci pascal karena diutamakan pada konsep logika di dalam algoritma. Halaman-halaman yang berisi pertanyaan ada di halaman no 1 sampai dengan 16. Jika berkas anda tidak lengkap/rusak/cacat/tak terbaca, mintalah kepada panitia untuk penggantian berkas. Peserta DILARANG: 1. menggunakan perangkat komputasi (laptop, kalkulator, komputer) 2. menggunakan alat komunikasi (handphone, pager, PDA, dll) selama mengerjakan ujian ini, 3. menggunakan buku/referensi/catatan selain berkas soal ini, serta 4. bekerja sama dengan atau mencontek hasil pekerjaan peserta lain. Peserta yang melakukan pelanggaran akan dibatalkan dari keiutsertaan ujian dan dinyatakan gugur. 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. Berkas soal TIDAK BOLEH dibawa pulang dan panitia setempat harus menghancurkannya atau menyimpannya hingga seluruh propinsi di Indonesia selesai melaksanakan OSP ini.

101 Olimpiade Sains Tingkat Provinsi 2014 Bagian Pertanyaan Analitika/Logika (25 pertanyaan) 1. TOKI Camp 2014 kali ini diadakan di sebuah bukit. Seorang alumni TOKI mendaki bukit tersebut dengan berjalan dengan kecepatan 1,5 km/jam. Ketika menuruni bukit tersebut, ia berjalan tiga kali lebih cepat. Jika waktu yang dibutuhkan untuk melakukan perjalanan bolak-balik dari kaki bukit ke puncak bukit dan kembali ke kaki bukit adalah 6 jam, maka jarak antara kaki bukit dan puncak bukit (dalam km) adalah {tuliskan dalam bentuk angka} 2. Pada sebuah toples, terdapat 1 juta ekor bakteri. Pada setiap detiknya, setiap bakteri membelah diri menjadi tepat dua ekor bakteri, kemudian toples tersebut dimasukkan 1 juta ekor bakteri tambahan. (Pada detik pertama, ada 3 juta bakteri. Pada detik kedua, ada 7 juta bakteri.) Berapakah banyak (dalam juta) bakteri pada detik ke 14? {tuliskan dalam bentuk angka} Perhatikan deskripsi berikut ini untuk soal no. 3 s.d. 5 Dari 100 orang peserta OSN komputer, diketahui 40 orang menyukai soal kombinatorika, 40 orang suka soal teori bilangan, dan 48 orang suka teka-teki silang. Diketahui pula 4 orang suka ketiganya. 3. Jika peserta yang hanya suka dengan satu jenis soal saja ada 50 orang, berapa orang yang hanya suka dengan dua jenis soal?. {tuliskan dalam bentuk angka} 4. Berdasarkan jawaban soal sebelumnya, jika yang hanya menyukai soal kombinatorika adalah 14 orang, berapa orang yang suka kombinatorika dan teori bilangan, atau suka kombinatorika dan teka-teki silang, namun tidak ketiganya? {tuliskan dalam bentuk angka} 5. Bila peserta yang menyukai persis hanya 2 jenis soal adalah 31 orang, berapa orang yang tidak suka satupun dari ketiga jenis soal tersebut? {tuliskan dalam bentuk angka} 6. Diberikan sebuah fungsi F(x) = 1-2x - 3x 2-4x 3 dengan x bilangan bulat dimulai dari 1 sampai dengan 30. Berapakah x yang memenuhi F(x) = ? {tuliskan dalam bentuk angka} Petunjuk: semakin besar nilai x, maka semakin kecil nilai F(x). 7. Dewangga memiliki 2 ekor semut dan 2 ekor anak semut. Suatu hari, para semut dan anaknya ingin menyeberangi sungai dengan menggunakan perahu daun. Namun, perahu daun tersebut hanya cukup menampung 2 ekor anak semut atau seekor semut dewasa. Hebatnya, para semut Dewangga sudah terlatih untuk mendayung perahu daun, sehingga tiap kali menyeberang minimal harus ada 1 ekor semut atau 1 ekor anak semut yang mendayung. Untuk menyeberangkan keempat ekor semut, berapa kali minimum perahu tersebut harus menyeberangi sungai (bolak-balik dihitung 2 kali penyeberangan)? {tuliskan dalam bentuk angka} Sesi 2 : Bidang Informatika/Komputer Halaman 1 dari 16 OSP 2014

102 Olimpiade Sains Tingkat Provinsi 2014 Perhatikan deskripsi berikut ini untuk soal no. 8 dan 9 Budi ingin bermain Loncat Berhadiah. Permainan dimainkan pada sebuah kotak berukuran R x C petak. Petak kiri atas dinomori (1, 1) dan petak kanan bawah dinomori (R, C). Pada setiap petak terdapat sebuah bilangan. Budi memulai permainan dengan memilih salah satu petak pada kolom 1. Dari suatu petak (r, c), Budi harus berpindah ke petak (r, c+1), (r+1, c+1), atau (r-1, c+1). Apabila Budi sudah berada pada kolom C, permainan berakhir. Budi mendapat poin berupa jumlah seluruh bilangan yang terdapat pada petak-petak yang dilalui Budi. 8. Berapa poin maksimum yang dapat diperoleh Budi pada kotak permainan di bawah ini? {tuliskan dalam bentuk angka} Berapa poin maksimum yang dapat diperoleh Budi pada kotak permainan di bawah ini? {tuliskan dalam bentuk angka} Heru selalu berkata jujur pada hari Senin, Selasa, dan Rabu. Heru selalu berkata bohong pada hari Kamis, Jumat, dan Sabtu. Pada hari Minggu, ia bisa berkata jujur atau bohong. Pada suatu hari, teman Heru, Kudo ingin menanyakan suatu informasi yang penting pada Heru. Sayangnya, Kudo lupa melihat kalender sehingga lupa tanggal dan hari pada saat itu. Tentu saja Kudo yang cerdas tidak langsung menanyakan pertanyaannya pada Heru. Setelah Kudo menanyakan beberapa pertanyaan, Heru menjawab, Hari ini saya sedang berkata jujur, begitu pula esok hari. Hari ini bukan hari Kamis maupun Senin. Kemarin saya berkata bohong. Kemarin adalah hari Minggu. Pada hari apakah Kudo bertemu Heru? {tulis nama harinya, tidak case sensitive } 11. N orang berdiri membentuk lingkaran, dan menunggu pembagian hadiah. Penghitungan dimulai pada suatu titik dan disebut posisi pertama, posisi selanjutnya mengikuti arah jarum jam. Pada setiap penghitungan, K-1 orang akan dilewati dan orang ke K akan keluar dari lingkaran. Proses ini dilakukan berulang-ulang hingga tinggal 1 orang dalam lingkaran dan orang tersebut yang akan mendapatkan hadiah. Jika diberikan N = 20 dan K = 14, orang pada posisi berapa yang akan mendapatkan hadiah? {tuliskan dalam bentuk angka} Contoh : N = 5 dan K = 2, maka urutan orang yang keluar mulai dari yang paling awal adalah 2, 4, 1, 5, sehingga yang akan mendapatkan hadiah adalah orang pada posisi 3. Sesi 2 : Bidang Informatika/Komputer Halaman 2 dari 16 OSP 2014

103 Olimpiade Sains Tingkat Provinsi Di sebuah kota yang terdiri dari 13 persimpangan (yang diberi angka), terdapat jalan-jalan yang menghubungkan beberapa persimpangan. Fathin ingin berjalan-jalan dari tempat tinggalnya di persimpangan berlabel X ke suatu persimpangan berlabel Y. Y bisa saja sama dengan X. Tanpa dia sadari, rute yang dia tempuh dalam perjalanannya melewati semua jalan (bukan persimpangan) tepat satu kali. Berapakah label X terkecil yang mungkin? {tuliskan dalam bentuk angka} Deskripsi berikut ini akan digunakan pada soal 13 dan 14. Suatu hari Pak Dengklek sedang membangun rumah baru, ia ingin membuat dekorasi berupa sebuah persegi panjang dengan lebar 1 satuan. Ia memiliki dua jenis segitiga, yang pertama segitiga siku-siku sama kaki dengan panjang kaki 1 satuan, dan segitiga yang kedua berupa segitiga sama kaki gabungan dua segitiga yang pertama. 13. Jika pak Dengklek membuat dekorasi dengan panjang 3 satuan, ada berapa cara untuk membuat dekorasi tersebut? {tuliskan dalam bentuk angka} 14. Selanjutnya pak Dengklek ingin membuat dengan panjang 8 satuan, ada berapa cara untuk membuat dekorasi tersebut? {tuliskan dalam bentuk angka} 15. Terdapat 6 siswa dan 8 siswi di dalam sebuah kelas. Apabila suatu tim yang beranggotakan 5 orang akan dibentuk dari kelas tersebut. Berapa banyak kemungkinan komposisi isi tim apabila minimum terdapat 1 siswa dan 1 siswi di dalam tim tersebut? {tuliskan dalam bentuk angka} Sesi 2 : Bidang Informatika/Komputer Halaman 3 dari 16 OSP 2014

104 Olimpiade Sains Tingkat Provinsi 2014 Deskripsi berikut ini akan digunakan pada soal 16 s.d 18. Walikota Budi ingin membuat sebuah rute transonjek di sebuah provinsi Bagus. Sebuah rute transojek harus memenuhi beberapa kriteria di bawah ini : Sebuah rute harus menghubungkan semua kota-kota yang berada pada provinsi Bagus Dari setiap kota hanya boleh terdapat tepat 1 jalur menuju setiap kota lainnya Jumlah jalur yang dipakai harus berjumlah N-1 (N adalah jumlah kota) Tidak diperbolehkan membuat jalur baru (hanya diperbolehkan menggunakan jalur yang telah disediakan) Apabila sebuah kota x terhubung dengan kota y, maka kota y juga terhubung dengan kota x 16. Apabila dalam provinsi Bagus terdapat 7 kota A,B,C,D,E,F,G berapa banyak konfigurasi rute yang memenuhi jika jalur yang ada sebagai berikut?... {tuliskan dalam bentuk angka} Kota A terhubung dengan kota B dan C Kota D terhubung dengan kota B, C, dan E Kota E terhubung dengan kota F dan G Kota F terhubung dengan G 17. Apabila dalam provinsi Bagus terdapat 12 kota A,B,C,D,E,F,G,H,I,J,K, dan L berapa banyak konfigurasi rute yang memenuhi jika jalur yang ada sebagai berikut?... {tuliskan dalam bentuk angka} Kota B terhubung dengan kota A dan C Kota D terhubung dengan kota C dan I Kota E terhubung dengan kota C,F,G, dan H Kota F terhubung dengan kota G Kota I terhubung dengan kota H,J,dan L Kota K terhubung dengan kota J dan L 18. Apabila pada provinsi Bagus semua kota yang ada saling terhubung dengan kota lainnya berapa banyak konfigurasi rute transojek yang dapat dibentuk apabila jumlah kota yang ada dalam provinsi Bagus berjumlah 4?... {tuliskan dalam bentuk angka} 19. Perhatikan pola bangun berikut ini. Jika untuk n=3 terdapat 5 macam ukuran persegi panjang yang dapat dibentuk, {2 1, 3 1, 4 1, 5 1, 2 3}. Bujur sangkar tidak termasuk sebagai persegi panjang yang dimaksud di sini. Tentukan berapa banyak macam ukuran persegi panjang yang dapat dibentuk untuk n=100?... {tuliskan dalam bentuk angka} Catatan: a b dan b a, a b, dianggap sebagai ukuran persegi panjang yang sama. Sesi 2 : Bidang Informatika/Komputer Halaman 4 dari 16 OSP 2014

105 Olimpiade Sains Tingkat Provinsi Pada suatu permainan kartu, terdapat 2 jenis kartu: kartu emas dan kartu perak. Permainan dilakukan oleh 1 orang pemain dengan tujuan mendapatkan kartu emas sebanyak-banyaknya. Berikut adalah aturan permainan tersebut: Pada setiap putaran, pemain hanya dapat mengambil selembar kartu Pemain tidak dapat mengambil 5 kartu perak secara berturut-turut Jika pada p+1 putaran sebelumnya pemain telah mengambil p+1 kartu perak secara berturut-turut, maka paling banyak p kartu emas baru boleh diambil secara berturutturut Berapa jumlah maksimal kartu emas yang dapat diambil jika pemain bermain selama 613 putaran?... {tuliskan dalam bentuk angka} 21. Ammar, Soko, Salvian, Ivan dan Rakina bermain ayam-bebek. Setiap anak menjadi ayam atau bebek, tetapi tidak kedua-duanya. Ayam selalu jujur, sementara bebek selalu berdusta. Ammar berkata bahwa Soko adalah ayam. Salvian berkata bahwa Ivan adalah bebek. Rakina berkata Ammar bukan bebek. Soko berkata Salvian bukan ayam. Ivan berkata bahwa Rakina dan Ammar adalah binatang yang berbeda. Berapakah banyaknya bebek dalam permainan ini?... {tuliskan dalam bentuk angka} Deskripsi berikut ini akan digunakan pada soal 22 dan 23. Pada suatu sore hari Budi sedang amat teramat bosan sehingga ia menciptakan sebuah permainan yang sangat inovatif yaitu Lempar bola. Tujuan permainan ini sangat sederhana yaitu Budi hanya ingin memasukkan satu-satunya bola yang ia pegang sekarang ke dalam keranjang-keranjang yang terdapat dalam suatu tempat. Ketika dia berhasil memasukkan bola ke dalam suatu keranjang, maka Budi akan berjalan ke koordinat keranjang yang dia masukkan dan mengambil bola tersebut dan melemparkan bola tersebut ke keranjang lain yang belum dimasukkan dari posisi Budi sekarang. Budi ingin berjalan seminimum mungkin. Bantulah Budi untuk menghitung jarak minimum untuk memasukan bola ke semua keranjang. 22. Berapa jarak minimum yang dapat ditempuh untuk memasukan bola ke semua keranjang apabila koordinat Budi sekarang dan koordinat keranjang seperti gambar dibawah ini?... {tuliskan dalam bentuk angka} 23. Berapa jarak minimum yang dapat ditempuh untuk memasukan bola ke semua keranjang apabila koordinat Budi sekarang terdapat di titik 0 dan koordinat Keranjang terdapat di titik -20, -15, -9, -5, -3, 2, 3, 10, 13, 20?... {tuliskan dalam bentuk angka} Sesi 2 : Bidang Informatika/Komputer Halaman 5 dari 16 OSP 2014

106 Olimpiade Sains Tingkat Provinsi String adalah kumpulan dari karakter, sedangkan substring adalah string yang berturutan yang merupakan bagian dari string lain. Misal, ABCDEF, BCDE, dan ABEC adalah string. CBBC merupakan substring dari ACBBCA namun CBCA bukan merupakan substring dari ACBBCA. Berapa banyak string yang terdiri dari huruf A, B dan C, yang memiliki panjang 8 dan tidak mengandung substring AB?... {tuliskan dalam bentuk angka} 25. Di sebuah peternakan terdapat beberapa jenis hewan. Ada yang pemakan tumbuh-tumbuhan, daging dan pemakan segala. Ada yang berkaki 2, berkaki 4 dan tidak berkaki. Jika suatu saat dipilih secara acak seekor hewan, kemungkinan terpilih hewan berkaki empat atau pemakan tumbuhan adalah 51/62, kemungkinan terpilih berkaki dua atau pemakan tumbuhan adalah 11/62, dan tidak mungkin terpilih hewan tanpa kaki yang pemakan segala ataupun pemakan tumbuhan yang berkaki. Jika di antara hewan tanpa kaki dipilih secara acak, kemungkinan didapatkan hewan yang pemakan tumbuhan adalah 1/2. Terakhir, peluang didapatkan hewan tanpa kaki atau pemakan tumbuhan adalah 1/31. Berapa peluang mendapatkan hewan berkaki empat?... {tuliskan dalam bentuk angka} Sesi 2 : Bidang Informatika/Komputer Halaman 6 dari 16 OSP 2014

107 Olimpiade Sains Tingkat Provinsi 2014 Bagian Pertanyaan Algoritmika (23 pertanyaan) 26. Perhatikan potongan program berikut! var end. i, j, total : integer; total := 0; for i := 1 to 100 do for j := 1 to 100 do total := total + i - j; writeln(total); Berapakah nilai total di akhir program? {tuliskan angkanya} Berikut adalah potongan kode program untuk soal nomor 27 dan 28. function cimi(x,y:integer):integer; if (x + y = 0) then cimi := 0; end else if (x > y) then cimi := y + cimi(x-1,y); end else cimi := x + cimi(x,y-1); 27. Berapakah nilai dari fungsi cimi(5,7)?... {tuliskan angkanya} 28. Berapakah nilai dari fungsi cimi(29,13)?... {tuliskan angkanya} Sesi 2 : Bidang Informatika/Komputer Halaman 7 dari 16 OSP 2014

108 Olimpiade Sains Tingkat Provinsi 2014 Berikut adalah potongan kode program untuk soal nomor 29 dan 30. function blossom(x : integer) : integer; var ans,i : integer; ans := 0; for i := 1 to x do ans := ans + i; blossom := ans; function bubble(x : integer) : integer; var ans,i : integer; ans := 0; for i := 1 to x do ans := ans + blossom(i); bubble := ans; function buttercup(x : integer) : integer; var ans,i : integer; ans := 0; for i := 1 to x do ans := ans + bubble(i); buttercup := ans; 29. Berapakah nilai dari buttercup(3)?... {tuliskan angkanya} 30. Berapakah nilai dari buttercup(6)?... {tuliskan angkanya} Berikut adalah potongan kode program untuk soal nomor 31 dan 32. function kandang(ayam, kambing:integer):integer; var rumput, sapi: integer; rumput:=(kambing-ayam) div 3; sapi:=rumput*2; if ayam > kambing then kandang:= 0 else if (kambing-ayam < 3) then kandang:= 2*(kambing-ayam) else kandang:= kandang(ayam,ayam+rumput)+ kandang(ayam+rumput,ayam+sapi)+ kandang(ayam+sapi,kambing); Sesi 2 : Bidang Informatika/Komputer Halaman 8 dari 16 OSP 2014

109 Olimpiade Sains Tingkat Provinsi Berapakah nilai dari kandang(2,6)?... {tuliskan angkanya} 32. Berapakah nilai dari kandang(2014,3021)?... {tuliskan angkanya} Berikut adalah potongan kode program untuk soal nomor 33 dan 34 var i,j,x,baa:longint; x:=0; baa:=10; for i:=1 to baa do for j:= 1 to i do if i mod 2=1 then x:=x-j else x:=x+j; writeln(x); end. 33. Apakah keluaran dari program di atas?... {tuliskan angkanya} 34. Jika nilai baa pada awalnya diganti menjadi baa:=1000; maka keluaran program menjadi {tuliskan angkanya} Berikut adalah potongan kode program untuk soal nomor 35 dan 36 var x,n,lala,lili,i:integer; x:=7; n:=x; lala:=10; lili:=12345; for i:=0 to lili do x:=(x*n) mod lala; writeln(x); end. 35. Apakah output dari program di atas?... {tuliskan angkanya} 36. Apabila pada baris ke-4 diganti lala:=100; dan x bernilai awal 9, maka, output apa yang akan dihasilkan?... {tuliskan angkanya} Sesi 2 : Bidang Informatika/Komputer Halaman 9 dari 16 OSP 2014

110 Olimpiade Sains Tingkat Provinsi 2014 Berikut adalah potongan kode program untuk soal nomor 37 dan 38 var x:integer; function lala(lili:integer):integer; var abc,i:integer; abc:=0; if (lili mod 5 = 0) then for i:=1 to 7 do abc:=abc+lala(lili div 5); end else if (lili mod 3 = 0) then for i:=1 to 5 do abc:=abc+lala(lili div 3); end else if (lili mod 2 = 0) then abc:=lala(lili div 2)+lala(lili div 2); if (lili=1) then lala:=1 else lala:=abc; end. x:=25; writeln(lala(x)); 37. Apakah output dari program di atas?... {tuliskan angkanya} 38. Apabila x bernilai 35, maka apakah output yang dihasilkan?... {tuliskan angkanya} Perhatikan potongan program di bawah ini! var aku,sayang,kamu:integer; aku:=1; sayang:=0; kamu:=1; while (sayang<=100) do aku:=aku+kamu; inc(sayang); inc(kamu); inc(kamu); writeln(aku); end. 39. Apakah output yang akan dihasilkan?... {tuliskan angkanya} Sesi 2 : Bidang Informatika/Komputer Halaman 10 dari 16 OSP 2014

111 Olimpiade Sains Tingkat Provinsi 2014 Perhatikan potongan program di bawah ini! var i,j:integer; lala:boolean; for i:=2 to 100 do lala:=true; j:=2; while (j*j<=i) do if (i mod j = 0) then lala:=false; inc(j); if (lala=true) then write(i); end. 40. Apabila masing-masing digit dari seluruh output dijumlahkan, berapakah hasil penjumlahan digit-digit tersebut?... {tuliskan angkanya} Perhatikan potongan program di bawah ini! function iseng(x, y:integer):integer; if (y <= 0) then iseng := x else if (y mod 2 = 0) then iseng := iseng(x-y, y-1) else iseng := iseng(x+2*y, y-1); 41. Berapakah hasil yang dikembalikan fungsi tersebut pada pemanggilan iseng(500,100)?... {tuliskan angkanya} Berikut adalah potongan kode program untuk soal nomor 42 dan 43 count := 0; for i := 1 to n do x := i; while (x > 0) do if (x mod 10 = 1) then inc(count); x := x div 10; writeln(count); Sesi 2 : Bidang Informatika/Komputer Halaman 11 dari 16 OSP 2014

112 Olimpiade Sains Tingkat Provinsi Apakah output dari program apabila n = 12?... {tuliskan angkanya} 43. Apakah output dari program apabila n = 10000?... {tuliskan angkanya} Berikut adalah potongan kode program untuk soal nomor 44 dan 45 function gembel(x,y : integer) : integer; if y=0 then gembel := x else gembel := gembel(y,x mod y); function wedhus(n : integer) : integer; var pedhet : integer; pedhet := 0; for i:= n-1 downto 1 do if gembel(n,i)=1 then pedhet := pedhet+1; wedhus := pedhet; 44. Jika pada program utama terdapat statement untuk mencetak hasil dari wedhus(30), maka output yang ditampilkan adalah... {tuliskan angkanya} 45. Jika p adalah suatu bilangan prima, x adalah bilangan bulat positif, dan pangkat(p,x) adalah fungsi p pangkat x (p x ), maka fungsi wedhus(pangkat(p,x)) akan menghasilkan output sesuai dengan rumus... {tuliskan rumusnya sesederhana mungkin} (Gunakan variabel p, x, dan fungsi pangkat). Sesi 2 : Bidang Informatika/Komputer Halaman 12 dari 16 OSP 2014

113 Olimpiade Sains Tingkat Provinsi 2014 Berikut adalah potongan kode program untuk soal nomor 46 dan 47 var i,j: integer; var board: array[0..5] of longint; function kepo():integer; var n:integer = 0; for i := 5 downto 0 do n := n shl 1; n := n + (board[i] mod 2); kepo:=n; procedure tambah(); for i := 0 to 17 do for j := 0 to 5 do board[j] := board[j] + sqr(j+i); for i := 0 to 5 do board[i] := i; tambah(); writeln(kepo()); end. 46. Berapakah output yang dihasilkan bila program tersebut dijalankan?... {tuliskan angkanya} 47. Berapakah nilai board[1] pada akhir program?... {tuliskan angkanya} Sesi 2 : Bidang Informatika/Komputer Halaman 13 dari 16 OSP 2014

114 Olimpiade Sains Tingkat Provinsi 2014 Perhatikan potongan program di bawah ini! var end. data1 : array[1..10] of integer = (4,11,2,5,1,9,7,5,6,8); data2,data3 : array[1..10] of integer; i : integer; for i:= 1 to 10 do data2[i] := 1; for i:= 1 to 10 do inc(data2[data1[i]]); for i:= 2 to 10 do data2[i] := data2[i] + data2[i-1]; for i:= 10 downto 1 do data3[data2[data1[i]]] := data1[i]; dec(data2[data1[i]]); for i:= 1 to 10 do write(data3[i]); 48. Keluaran dari program di atas adalah... {tuliskan angkanya} Sesi 2 : Bidang Informatika/Komputer Halaman 14 dari 16 OSP 2014

115 Olimpiade Sains Tingkat Provinsi 2014 Bagian Pemrograman (2 pertanyaan) Untuk menjawab soal pemrograman, perhatikan beberapa hal berikut: 1. Diberikan suatu persoalan, dan Anda diminta menuliskan program komputer dengan menggunakan pseudopascal atau bahasa pemrograman Pascal, C, atau C Program komputer atau pseudopascal yang ditulis harus dapat menghasilkan output yang diminta dengan batasan yang sudah ditentukan. 3. Setiap persoalan terdiri atas deskripsi soal, batasan (waktu eksekusi, input, dan output), contoh input, dan contoh output. 4. Dalam pemrograman komputer, diasumsikan bahwa satu detik waktu eksekusi setara dengan perulangan 10 3 kali instruksi. 49. JUMLAH DERET Deskripsi: Pada suatu hari, Pak Dengklek menemukan suatu pola penjumlahan dari N bilangan berikut: 1/3 + 2/21 + 3/91 + 4/ Dengan menggunakan kalkulator, Pak Dengklek mulai menghitung. Untuk N=1, dihitung 1/3= Untuk N=2, dihitung 1/3+2/21= Nah, Pak Dengklek mulai pusing jika menghitung untuk N= (satu juta). Untuk itu, Pak Dengklek minta bantuan Anda membuatkan program menghitung deret tersebut. Batasan: Waktu eksekusi: 1 detik Input: Input berupa sebuah bilangan bulat N dengan batasan 1<N<10 7. Output: Sebuah bilangan Riil hasil perhitungan jumlah deret dari N bilangan, yang ditulis dengan 5 digit desimal. Contoh Input: 5 Contoh Output: Sesi 2 : Bidang Informatika/Komputer Halaman 15 dari 16 OSP 2014

116 Olimpiade Sains Tingkat Provinsi MEMOTONG PIPA Deskripsi: Pak Dengklek memiliki pipa sepanjang N meter, dan dia ingin memotongnya menjadi beberapa bagian sebanyak-banyaknya. Setiap potongan pipa harus memiliki panjang p meter, dimana 1<p<N, dan p adalah bilangan bulat. Hal ini menunjukkan bahwa panjang minimal potongan pipa adalah 1 meter. Disyaratkan bahwa tidak ada 3 potongan pipa manapun yang dapat membentuk segitiga. Pak Dengklek meminta bantuan Anda untuk membuat program menghitung maksimum banyaknya potongan pipa sesuai dengan syarat-syarat tersebut. Batasan: Waktu eksekusi: 1 detik Input: Input berupa sebuah bilangan bulat N yang menunjukkan panjang pipa dalam satuan meter, dengan batasan 1<N<10 5. Output: Sebuah bilangan bulat banyaknya potongan pipa sesuai persyaratan dalam deskripsi soal. Contoh Input: 7 Contoh Output: 4 SELAMAT MENGERJAKAN Sesi 2 : Bidang Informatika/Komputer Halaman 16 dari 16 OSP 2014

117 Hak Cipta Dilindungi Undang-undang SOAL UJIAN SELEKSI CALON PESERTA OLIMPIADE SAINS NASIONAL 2015 TINGKAT PROVINSI INFORMATIKA/KOMPUTER SESI-2 Bagian Tes Analitika & Algoritmika Waktu: 160 menit KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN DIREKTORAT JENDERAL PENDIDIKAN MENENGAH DIREKTORAT PEMBINAAN SEKOLAH MENENGAH ATAS TAHUN 2015

118 KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN DIREKTORAT JENDERAL PENDIDIKAN MENENGAH DIREKTORAT PEMBINAAN SEKOLAH MENENGAH ATAS OLIMPIADE SAINS 2015 TINGKAT PROVINSI BIDANG INFORMATIKA/KOMPUTER Lembar Peraturan dan Peringatan Selama Ujian 50 Soal untuk dikerjakan Selama 160 menit Peserta hanya dibolehkan membawa tanda pengenal, alat tulis dan penghapus saat memasuki ruang ujian. Bagian Informasi Model ujian untuk nomor 1 sd 47 adalah isian singkat. Tuliskan jawaban anda sesingkatsingkatnya pada lembar jawaban di kolom nomor soal yang sesuai. Jika jawaban yang diminta merupakan ANGKA tuliskan dengan ANGKA TANPA SATUAN [Contoh: penulisan angka 5 dengan tulisan lima tidak diperkenankan.] Soal nomor 48, 49, dan 50 adalah menyusun program komputer/algoritmika. Soal untuk bagian penyusunan program ini akan disusun dalam bundel yang terpisah yang sekaligus sebagai lembar jawab. Total jumlah soal 50, untuk dikerjakan dalam waktu 160 menit. Notasi algoritma pada soal bagian algoritmika menggunakan pseudo pascal yang pada intinya seperti pascal tetapi tidak serinci pascal karena diutamakan pada konsep logika di dalam algoritma. Halaman-halaman yang berisi pertanyaan ada di halaman no 1 sampai dengan 16. Jika berkas tidak lengkap/rusak/cacat/tak terbaca, mintalah kepada panitia untuk penggantian berkas. Peserta HANYA diperkenankan membawa tanda pengenal serta peralatan tulis, yaitu: pensil, balpoin, pulpen, serta penghapus ke dalam ruang ujian untuk mengerjakan soal. Peralatan lain seperti perangkat elektronik dan perangkat komunikasi tidak diperkenankan dibawa ke dalam ruang ujian. Ujian bersifat closed book. Peserta harus mengerjakan sendiri soal tanpa dibantu oleh pihak lain maupun memanfaatkan perangkat lain ataupun buku/catatan. Peserta yang melakukan pelanggaran akan dibatalkan dari keikutsertaan ujian dan dinyatakan gugur. 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. Berkas soal TIDAK BOLEH dibawa pulang dan panitia setempat harus menghancurkannya atau menyimpannya hingga seluruh propinsi di Indonesia selesai melaksanakan OSP ini.

119 Olimpiade Sains Tingkat Provinsi 2015 Bagian Pertanyaan Analitika/Logika (30 pertanyaan) 1. Raja Putih akan memberikan penghargaan kepada 10 pion. Raja akan memberikan 3 jenis penghargaan, yaitu: a. Penghargaan Pion Jujur (PPJ) kepada 6 pion paling jujur. b. Penghargaan Pion Kuat (PPK) kepada 8 pion paling kuat. c. Penghargaan Pion Lucu (PPL) kepada 8 pion paling lucu. Setiap pion dapat menerima lebih dari 1 penghargaan. Pion yang mendapatkan ketiga perhargaan sekaligus akan dinaikkan pangkatnya menjadi benteng. Berapa jumlah minimal pion yang pasti naik pangkat? Jawaban:. {tuliskan jawaban dalam bentuk angka saja} 2. Kuda-kuda milik raja hitam sedang makan di suatu papan catur berukuran 4 x 4 petak. Semua kuda milik raja hitam adalah kuda perang yang akan menyerang apapun yang terletak pada daerah serang mereka. Jika kuda terletak pada posisi (x,y), maka daerah serang kuda tersebut adalah petak pada posisi (x+1,y+2),(x-1,y+2),(x+1,y-2),(x-1,y-2),(x+2,y+1),(x-2,y+1),(x+2,y-1), dan (x-2,y-1). Dengan catatan posisi-posisi tersebut berada dalam area papan catur. Para pengawal kerajaan telah mengatur letak tiap kuda sehingga tidak ada satupun kuda yang akan saling menyerang. Berapa jumlah maksimal kuda milik raja hitam? Jawaban:. {tuliskan jawaban dalam bentuk angka saja} 3. Harga Bahan Bakar Minyak (BBM) di sebuah negara naik sebesar 25%. Beberapa hari kemudian, harga BBM di negara tersebut turun sebesar 20%. Apakah harga BBM setelah mengalami penurunan menjadi LEBIH MURAH, LEBIH MAHAL, atau SAMA DENGAN harga BBM sebelum mengalami kenaikan? Jawaban:. {tuliskan salah satu dari tiga pilihan: LEBIH MURAH/LEBIH MAHAL/SAMA DENGAN} 4. Sebelas tim sepak bola akan bertanding satu dengan yang lain dalam sebuah turnamen. Setiap tim akan bertanding dengan sepuluh tim yang lain sebanyak tepat satu kali. Tim yang menang dalam sebuah pertandingan akan mendapatkan 5 poin, sedangkan yang kalah mendapatkan 0 poin. Bila seri maka kedua tim akan mendapatkan 1 buah poin. Berapa banyak total point yang mungkin terjadi jika jumlah dari poin yang didapatkan oleh semua tim tersebut antara 100 sampai dengan 210? Jawaban:. {tuliskan jawaban dalam bentuk angka saja} 5. Di sebuah desa, tinggallah seorang gadis cantik yang hobi melompat-lompat. Di suatu pagi yang cerah, sang gadis akan berangkat ke sekolah dengan berjalan atau melompat-lompat. Sesi 2 : Bidang Informatika/Komputer Halaman 1 dari 16 OSP 2015

120 Olimpiade Sains Tingkat Provinsi 2015 Sekolah Rumah Gambar di atas adalah peta desa dimana sang gadis cantik tinggal. Peta dinyatakan dalam petakpetak 6x6. Sekolah sang gadis terletak di petak [6,6], sedangkan rumah tempat tinggal sang gadis terletak di petak [1,1]. Dari suatu petak, sang gadis boleh memilih antara berjalan sejauh 1 petak ke arah utara atau timur, atau melompat sejauh 2 petak ke arah utara atau timur. Ada berapa cara agar sang gadis bisa sampai ke sekolah dengan selamat tanpa terjebur ke sungai? Jawaban:. {tuliskan jawaban dalam bentuk angka saja} 6. Pada suatu hari, Dedew dan Thony sedang bermain sebuah game bilangan. Kedua pemain bergantian mengucapkan bilangan asli secara berurutan (dari 1), hingga permainan berhenti. Jika sebuah bilangan mengandung angka 7, atau merupakan kelipatan 7, maka pemain harus mengucapkan "Up!", bukan bilangannya. Game ini berhenti jika ada pemain yang melakukan kesalahan (mengucapkan "Up!" pada saat yang kurang tepat, atau tidak mengucapkan "Up!" pada saat bilangan itu mengandung angka 7 atau merupakan kelipatan 7). Jika game ini berhenti di bilangan 178, berapa banyak jumlah "Up!" yang telah diucapkan oleh kedua pemain? Jawaban:. {tuliskan jawaban dalam bentuk angka saja} 7. Ada 4 buah tanaman yang harus dipanen. Tanaman ke-i memiliki tinggi T i cm pada hari pertama ketika akan dipanen dan jika tidak dipanen akan menyusut sebanyak S i cm setiap malam hari. Diketahui bahwa: Tanaman ke-i T i S i Artinya, apabila tanaman ke-1 dipanen pada hari ke-1, tingginya adalah 30 cm. Apabila dipanen pada hari ke-2, tingginya adalah 27 cm. Apabila dipanen pada hari ke-3, tingginya adalah 24 cm, dan seterusnya. Jika dalam 1 hari hanya dapat memanen habis 1 tanaman saja, berapakah JUMLAH tinggi keempat tanaman hasil panen MAKSIMAL yang mungkin didapat? Jawaban:. {tuliskan jawaban dalam bentuk angka saja} Sesi 2 : Bidang Informatika/Komputer Halaman 2 dari 16 OSP 2015

121 Olimpiade Sains Tingkat Provinsi Bebek-bebek pak Dengklek membentuk pertemanan seperti diilustrasikan pada gambar di bawah ini, dengan bulatan hitam adalah bebek dan garis adalah hubungan pertemanan antara dua bebek A Pak Dengklek biasa memberikan berita ke salah satu bebek, dan berita tersebut menyebar melalui hubungan pertemanan. Ada sejumlah bebek yang jika keluar dari hubungan pertemanan mengakibatkan terputusnya komunikasi. Contoh: Jika A meninggalkan pertemanan, akan mengakibatkan terputusnya komunikasi sejumlah bebek. Untuk menghindari hal tersebut, pak Dengklek meminta para bebek untuk menambah hubungan pertemanan. Berapa minimal hubungan pertemanan baru yang perlu dibuat supaya hubungan komunikasi tetap terjaga ketika salah satu bebek meninggalkan kelompok tersebut. Jawaban:. {tuliskan jawaban dalam bentuk angka saja} Berikut adalah deskripsi untuk soal nomor 9 dan 10 Raja putih baru saja mendapatkan jenis pasukan baru yaitu 150 ekor Naga. Naga menyerang dengan cara menyemburkan api atau menyemburkan es. Agar dapat menyemburkan api, sebelumnya naga harus diberi makan dengan daging. Jika naga diberi makan sayuran maka Naga akan menyemburkan es. Ada 3 jenis daging yang dapat dimakan oleh naga yaitu; Daging sapi, ayam, bebek. Diketahui ada 60 naga yang menyukai daging sapi, 72 naga yang menyukai daging ayam, 80 naga yang menyukai daging bebek, dan 7 naga vegetarian yang tidak makan daging (menyemburkan es). 9. Jika ada 55 naga yang menyukai daging sapi dan bebek, berapa jumlah naga yang hanya menyukai daging ayam? Jawaban:. {tuliskan jawaban dalam bentuk angka saja} 10. Jika ternyata ada 9 naga yang yang tidak makan daging maupun sayuran (mereka hanya minum), dan ada 40 naga yang menyukai daging ayam dan bebek, berapa jumlah naga yang menyukai daging sapi dan (bebek atau ayam)? Jawaban:. {tuliskan jawaban dalam bentuk angka saja} Sesi 2 : Bidang Informatika/Komputer Halaman 3 dari 16 OSP 2015

122 Olimpiade Sains Tingkat Provinsi Pak Dengklek sedang membagi kertas ujian di kelasnya. Tumpukan kertas sebanding banyaknya lembar kertas ujian. Karena malas, Pak Dengklek langsung memberikan sebuah tumpukan kertas ujian ke seorang murid. Kemudia Pak Dengklek menyuruh murid itu untuk mencari kertas ujiannya sendiri, dan membagi tumpukan kertas ujian itu menjadi dua tumpukan yang sama tinggi seusai murid itu mendapatkan kertas ujiannya. Kedua tumpukan itu diberikan ke dua murid lain yang belum mendapatkan kertas ujiannya. Jika tinggi tumpukan adalah x, maka seorang murid perlu x detik untuk mendapatkan kertas ujiannya dari tumpukan tersebut. Lalu, seorang murid perlu 10 detik untuk menyerahkan dua tumpukan ke dua murid lain. Jika Dedew, seorang murid Pak Dengklek, menerima hanya 1 lembar kertas dan dia telah menunggu selama 50 detik, berapa banyak murid Pak Dengklek? Jawaban:. {tuliskan jawaban dalam bentuk angka saja} 12. Pak Dengklek, Bu Dengklek, Ammar dan Rakina ingin melewati sebuah jembatan. Karena sudah berumur 1000 tahun, jembatan tersebut hanya bisa dilewati oleh maksimal 2 orang. Karena hari sudah malam, maka untuk dapat melewati jembatan tersebut diperlukan senter sebagai sumber penerangan. Namun, mereka hanya membawa sebuah senter. Diketahui untuk melewati jembatan tersebut Pak Dengklek membutuhkan waktu selama 10 detik, Bu Dengklek membutuhkan waktu 5 detik, Ammar membutuhkan waktu 2 detik dan Rakina membutuhkan waktu selama 1 detik. Apabila terdapat 2 orang yang melewati jembatan disaat yang bersamaan, maka orang yang lebih cepat akan menyesuaikan kecepatannya dengan orang yang lebih lambat. Waktu minimal yang dibutuhkan untuk mereka melewati jembatan tersebut adalah.. detik {tuliskan jawaban dalam bentuk angka saja} 13. Ada berapa banyak angka diantara 0-80 yang memiliki tepat 4 angka 1 dalam representasi binernya? Jawaban:. {tuliskan jawaban dalam bentuk angka saja} Berikut adalah deskripsi untuk soal nomor 14 dan 15 Vin membawa sekarung tromino berbentuk L dan sebuah monomino. Ia lalu menantang Van untuk menempatkan tromino dan monomino tersebut sehingga papan itu tertutupi penuh. Sebelum Van mulai, Vin ingin tahu berapa banyak petak di papan tersebut yang mungkin akan ditutupi oleh monomino? Jika papan Vin berukuran 2x2, ada 4 petak berbeda yang mungkin ditutupi oleh monomino: Yang diwarnai abu adalah sebuah tromino berbentuk L, dan yang diwarnai putih adalah sebuah monomino. 14. Petak Vin berukuran 5x5, Van akan menempatkan 8 tromino dan sebuah monomino, berapa banyak petak berbeda di papan tersebut yang mungkin ditutupi oleh monomino? Jawaban:. {tuliskan jawaban dalam bentuk angka saja} Sesi 2 : Bidang Informatika/Komputer Halaman 4 dari 16 OSP 2015

123 Olimpiade Sains Tingkat Provinsi Petak Vin berukuran 8x8, Van akan menempatkan 21 tromino dan sebuah monomino, berapa banyak petak berbeda di papan tersebut yang mungkin ditutupi oleh monomino? Jawaban:. {tuliskan jawaban dalam bentuk angka saja} Berikut adalah deskripsi untuk soal nomor 16 dan 17 Ammar sangat gemar makan. Sebuah restaurant menyediakan 3 jenis makanan yaitu ayam, kangkung dan sambal. Tidak hanya gemar makan, Ammar juga gemar bermain teka-teki. Ammar membuat beberapa peraturan untuk dirinya sendiri saat makan. Sambal hanya boleh dimakan setelah memakan ayam atau kangkung. Kangkung hanya boleh dimakan setelah memakan ayam. Ayam boleh dimakan setelah memakan ayam atau kangkung atau sambal. Untuk mengawali rangkaian makannya, Ammar harus memakan ayam. 16. Jika Ammar memesan 3 ayam dan 2 kangkung, banyaknya kemungkinan Ammar menghabiskan makanannya adalah... {tuliskan jawaban dalam bentuk angka saja} 17. Jika Ammar memesan 3 ayam, 2 kangkung dan 2 sambal, banyaknya kemungkinan Ammar menghabiskan makanannya adalah.. {tuliskan jawaban dalam bentuk angka saja} 18. Pak Dengklek akan membagikan 20 bingkisan kepada 4 orang temannya, Van, Vin, Va, Vi, tentunya masing-masing setidaknya mendapat 1 bingkisan, uniknya Pak Dengklek tidak ingin ada sebuah bilangan bulat x (x > 1), yang dapat habis membagi banyak bingkisan yang diterima Van, Vin, Va, dan Vi. Berapa banyak cara Pak Denglek dapat membagi bingkisannya? Jawaban:. {tuliskan jawaban dalam bentuk angka saja} 19. Pak Dengklek sedang menyusun ubin untuk menutupi lantai berukuran 4x7 dengan ubin berukuran 1x2. Ubin boleh disusun vertikal atau horisontal tanpa memotongnya. Ada berapa banyak cara untuk memenuhi lantai tersebut? Jawaban:. {tuliskan jawaban dalam bentuk angka saja} 20. Pada kesempatan kali ini, Astrid dan Bonita (nama samaran, bukan nama asli) sedang bosan dan menciptakan sebuah permainan baru. Game nya sangat simple. Mula-mula disediakan N buah batu, lalu pemain secara bergantian mengambil beberapa batu. Pemain yang kehabisan langkah (kehabisan batu) dinyatakan kalah. Namun kali ini aturan permainan ini berbeda. Dalam 1 giliran, pemain hanya boleh mengambil sejumlah tepat 3, 5, 7, atau 9 batu. Karena Astrid lebih tua dari Bonita, Astrid mendapat kesempatan giliran pertama. Apabila mereka berdua mampu bermain secara optimal, berapa banyaknya batu (N) dengan N lebih besar dari 1000, agar Bonita menang di dalam permainan tersebut? Jawaban:. {tuliskan jawaban dalam bentuk angka saja} Sesi 2 : Bidang Informatika/Komputer Halaman 5 dari 16 OSP 2015

124 Olimpiade Sains Tingkat Provinsi Diberikan deret bilangan: X Y Berapakah nilai X dan nilai Y? Jawaban: X =.. dan Y =.. Tuliskan jawaban dengan mengganti dengan angka. Contoh jika X=10 dan Y=10, maka anda menulis: X=10 dan Y= Temukan suatu bilangan 10 digit sehingga: Digit pertama adalah banyaknya angka 0 pada bilangan tersebut Digit kedua adalah banyaknya angka 1 pada bilangan tersebut Digit ketiga adalah banyaknya angka 2 pada bilangan tersebut Digit kesepuluh adalah banyaknya angka 9 pada bilangan tersebut Jawaban:. {tuliskan jawaban dalam bentuk angka 10 digit} Berikut adalah deskripsi untuk soal nomor 23 dan 24 Pada suatu hari, bebek-bebek Pak Dengklek yang bernama Kwak, Kwik, Kwek, dan Kwok ingin mengikuti lomba lari. Karena sudah bekerja keras, Pak Dengklek ingin menghadiahkan sepasang sepatu baru untuk masing-masing bebek-bebeknya. Akan tetapi, masing-masing bebek memiliki warna kesukaan yang berbeda-beda. Berikut ini adalah beberapa informasi terakhir yang diingat Pak Dengklek: Tinggi bebek-bebek Pak Dengklek adalah 30 cm, 31 cm, 32 cm, dan 33 cm (sayangnya Pak Dengklek lupa urutan tinggi untuk Kwak, Kwik, Kwek, dan Kwok) Warna-warna yang disukai Pak Dengklek adalah merah, putih, hijau, hitam (lagi-lagi Pak Dengklek lupa urutan warna kesukaan untuk Kwak, Kwik, Kwek, dan Kwok) Tinggi Kwek yang menyukai warna hijau adalah 32 cm, yang juga lebih tinggi dari Kwik Bebek yang menyukai warna merah lebih tinggi dari Kwak Bebek yang menyukai warna hitam memiliki tinggi 31 cm Kwik tidak menyukai warna putih Kwok menyukai warna merah 23. Bagaimana urutan tinggi bebek-bebek Pak Dengklek diurutkan dari yang paling pendek? Jawaban:,...,,. {tuliskan jawaban nama-nama bebek yang dipisahkan tanda koma dan spasi} Contoh: abc,def, ghi, jkl 24. Siapa bebek yang menyukai warna putih? Jawaban:. {tuliskan jawaban sebuah nama bebek} Sesi 2 : Bidang Informatika/Komputer Halaman 6 dari 16 OSP 2015

125 Olimpiade Sains Tingkat Provinsi Seorang peternak memiliki sejumlah binatang yang terdiri atas kelinci, kuda, dan sapi. Pernyataan yang diketahui adalah: Semua binatang peternak tersebut, kecuali 4 ekor, adalah kelinci Semua binatang peternak tersebut, kecuali 4 ekor, adalah kuda Semua binatang peternak tersebut, kecuali 4 ekor, adalah sapi Berapa banyak binatang yang dimiliki peternak tersebut? Jawaban:. {tuliskan jawaban dalam bentuk angka saja} 26. Bebek Pak Dengklek berulang tahun. Pak Dengklek memberi kue ulang tahun berbentuk tanda tambah: Berapa maksimal potongan kue yang dapat peroleh Pak Dengklek dengan melakukan 2x pemotongan. Satu pemotongan harus berupa garis lurus, dan tidak boleh memindahkan posisi kue? Jawaban:. {tuliskan jawaban dalam bentuk angka saja} 27. Diberikan dua buah angka A dan B dengan ketentuan bilangan A dan B merupakan bilangan real. Tulislah rumusan yang menghasilkan nilai terbesar dari dua bilangan tersebut dengan operator bilangan biasa (+, -,, ) dan fungsi ABS (nilai absolut 2 buah nilai real) tanpa memakai operator perbandingan (<, >, =,,, ). Jawaban:. {tuliskan jawaban dalam rumus}. Contoh: abs(c+b)-axb C 28. Di sebuah perumahan yang rumah-rumahnya tersusun berjajar, terdapat 8 rumah. Beberapa keterangan yang terdapat di dalam perumahan tersebut yakni: Rumah D dan E terletak tepat bersebelahan Di antara Rumah A dan F terdapat 3 rumah lainnya. Rumah H berada di sebelah barat Rumah G Rumah G berjarak 5 rumah dari Rumah C Rumah B merupakan rumah kedua paling barat. Rumah A tepat terletak di tengah-tengah Rumah E dan H. Sebutkan urutan rumah tersebut dari rumah yang letaknya paling barat hingga paling timur. Jawaban:. {tuliskan jawaban berupa urutan huruf nama rumah yang dipisahkan dengan spasi}. Contoh: A B C D E F G H I J Sesi 2 : Bidang Informatika/Komputer Halaman 7 dari 16 OSP 2015

126 Olimpiade Sains Tingkat Provinsi Athin dan Ayos sedang bermain tebak-tebakan bilangan dan terjadilah percakapan berikut: Athin : "Aku memikirkan sebuah bilangan bulat antara 1 sampai dengan 10 " Ayos : "Apakah bilangan tersebut bilangan prima?" Athin : "..." (Athin menjawab dengan ya / tidak, tapi hanya Ayos yang mendengar ucapannya) Ayos : "Apakah bilangan tersebut bilangan ganjil?" Athin : "..." (Athin menjawab dengan ya / tidak, tapi hanya Ayos yang mendengar ucapannya) Ayos : "Oh, dengan ini barulah aku tahu bilangan yang kamu tebak adalah X" Athin : Ya Benar, X adalah... {tuliskan jawaban dalam bentuk angka saja} Catatan: 1 bukan bilangan prima. 30. Athin dan Ayos sedang bermain tebak-tebakan bilangan dan terjadilah percakapan berikut: Athin : "Aku memikirkan sebuah bilangan bulat antara 1 sampai dengan 10" Ayos : "Apakah bilangan tersebut bilangan prima?" Athin : "..." (Athin menjawab dengan ya / tidak, tapi hanya Ayos yang mendengar ucapannya) Ayos : "Apakah bilangan tersebut bilangan ganjil?" Athin : "..." (Athin menjawab dengan ya / tidak, tapi hanya Ayos yang mendengar ucapannya) Ayos : "Apakah bilangan tersebut huruf depannya S?" Athin : "..." (Athin menjawab dengan ya / tidak, tapi hanya Ayos yang mendengar ucapannya) Ayos : "Oh, dengan ini barulah aku tahu bilangan yang kamu tebak adalah Y" Athin : Ya, bilangan Y adalah... {tuliskan jawaban dalam bentuk angka saja} Catatan : 1 bukan bilangan prima. Sesi 2 : Bidang Informatika/Komputer Halaman 8 dari 16 OSP 2015

127 Olimpiade Sains Tingkat Provinsi 2015 Bagian Pertanyaan Algoritmika (17 pertanyaan) 31. Tuliskan output dari program pseudo code di bawah ini jika input x = 9. {tuliskan jawabannya sesuai dengan output yang dihasilkan} function jarak(km:integer): integer; if (km <= 2) then jarak := 1 else jarak := jarak(km-1) + jarak(km-2); var i, x :integer; readln(x); for i := x downto 1 do write(jarak(i), ' '); end. 32. Tuliskan output dari program pseudo code di bawah ini jika input b = 4 dan k = 27. {tuliskan jawabannya sesuai dengan output yang dihasilkan} var b, k : int64; s : int64; i : byte; readln(b); readln(k); k := k - b; s := 1; for i := 1 to 61 do s := s * 2; while k > 0 do if (k >= s) then write(s, ); k := k mod s; s := s div 2; end. Sesi 2 : Bidang Informatika/Komputer Halaman 9 dari 16 OSP 2015

128 Olimpiade Sains Tingkat Provinsi Tuliskan output dari program pseudo code di bawah ini jika input n = 11 dan k = 3. {tuliskan jawabannya sesuai dengan output yang dihasilkan} var n, k, i : byte; readln(n, k); for i := 1 to n do if i mod (k+1) = 0 then write('* ') else write(i, ' '); writeln( # ); end. 34. Tuliskan output dari program pseudo code di bawah ini. {tuliskan jawabannya sesuai dengan output yang dihasilkan} var end. ss : string; i,j,sz : integer; boo : boolean; tmp : char; ss := 'TOKITOKI'; i := 1; sz := length(ss); {length adalah fungsi untuk mengembalikan panjang string} while(i<=sz) do j:=i; while ( (ss[j] <> ss[j+1]) and (j < sz) ) do tmp := ss[j]; ss[j]:= ss[j+1]; ss[j+1]:= tmp; j := j + 1; i := i + 1; writeln(ss); Sesi 2 : Bidang Informatika/Komputer Halaman 10 dari 16 OSP 2015

129 Olimpiade Sains Tingkat Provinsi Tuliskan output dari program pseudo code di bawah ini jika input x = 20 dan y = 14. {tuliskan jawabannya sesuai dengan output yang dihasilkan} readln(x,y); z := 0; while (x > y) do z := z + x; z := z - y; x := x - 2; y := y - 1; writeln(z); 36. Tuliskan output dari program pseudo code di bawah ini. {tuliskan jawabannya sesuai dengan output yang dihasilkan} end. lala:=10; x:=2; haha:=0; for i:=1 to lala do j:=i; lili:=true; while (j>1) do if (j mod x = 1) then lili:=false; j:=j div x; if (lili=true) then haha:=haha+i; else haha:=haha+1; writeln(haha); Sesi 2 : Bidang Informatika/Komputer Halaman 11 dari 16 OSP 2015

130 Olimpiade Sains Tingkat Provinsi 2015 Berikut adalah potongan program pseudo code untuk soal nomor 37 dan 38. var a : array [ ] of longint; i, j, n : longint; readln(n); for i := 1 to n do a[i] := 0; for i := 2 to n do if (a[i] = 0) then j := i; while (j <= n) do a[j] := a[j] + 1; j := j + i; end. 37. Apabila n = 16, berapa nilai dari elemen array a[9]? {tuliskan jawaban dalam bentuk angka saja} 38. Apabila n = 300, berapa nilai i terkecil dimana 1 <= i <= n dan a[i] >= 11? {tuliskan jawaban dalam bentuk angka saja} Berikut adalah potongan program pseudo code untuk soal nomor 39 dan 40. const satu=1; var lala, x, haha, i:integer; lala:=10; x:=10; haha:=0; for i:=0 to x do if ((lala & (satu shl i)) <> 0) then haha:=haha+1; { A shl B adalah operator menggeser bit-bit A ke kiri sejumlah B kali} writeln(haha); end. Sesi 2 : Bidang Informatika/Komputer Halaman 12 dari 16 OSP 2015

131 Olimpiade Sains Tingkat Provinsi 2015 Keterangan: Operator '&' melambangkan operasi bitwise AND dimana operasi tersebut akan membandingkan setiap bit biner dari dua buah bilangan bulat/integer dengan mengikuti kaidah AND (bernilai 1 jika kedua operan bernilai 1 dan 0 jika tidak). Contoh: 5 & 6 = 4. Cara menghitungnya dengan merepresentasikan kedua operan dalam basis biner dan membandingkan setiap digitnya AND Tuliskan output dari program pseudo code di atas. {tuliskan jawabannya sesuai dengan output yang dihasilkan} 40. Apabila baris keempat dari kode di atas ( lala:=10; ) diubah menjadi "lala:=2000;" dan baris kelima diubah menjadi "x:=30;", maka output dari program pseudo code di atas adalah... {tuliskan jawabannya sesuai dengan output yang dihasilkan} 41. Tuliskan output dari program pseudo code di bawah ini. {tuliskan jawabannya sesuai dengan output yang dihasilkan} var a: array[0..15] of integer = (1, 0, 2, 0, 4, 0, 3, 2, 6, 2, 5, 3, 7, 3, 6, 5); b: array[0..7] of integer = (4, 1, 8, 12, 5, 14, 15, 13); c: array[0..15] of integer = (-1, -1, 0, -1, 2, -1, 3, -1, 6, - 1, 7, -1, 10, -1, 11, 9); d: array[0..7] of integer = (-1, -1, -1, -1, -1, -1, -1, -1); procedure kemanamana(y, z: integer); var e: integer; e := b[y]; d[y] := z; while(e > -1) do if(d[a[e]] = -1) then kemanamana(a[e], z + 1); e := c[e]; end. kemanamana(0, 0); writeln(d[7]); Sesi 2 : Bidang Informatika/Komputer Halaman 13 dari 16 OSP 2015

132 Olimpiade Sains Tingkat Provinsi Penjumlahan dari tiga angka terakhir yang tercetak oleh program pseudo code di bawah adalah.. {tuliskan jawabannya sesuai dengan output yang dihasilkan} var end. aku, kamu, dia, saya, anda : integer; aku:=2; kamu:=10; for saya:=aku to kamu do dia:=saya; for anda := 1 to saya-1 do writeln(dia); dia := dia * (saya-anda) div (anda+1); Berikut adalah potongan program pseudo code untuk soal nomor 43 dan 44. function D(X,Y : integer) : integer; if (Y = 0) then D := 1 else D := Y+1; function C(X,Y : integer) : integer; if (Y = 0) then C := X else C := D(X,C(X,Y-1)); function B(X,Y : integer) : integer; if (Y = 0) then B := 0 else B := C(X,B(X,Y-1)); function A(X,Y : integer) : integer; if (Y = 0) then A := 1 else A := B(X,A(X,Y-1)); end. writeln(a(4,2)); Sesi 2 : Bidang Informatika/Komputer Halaman 14 dari 16 OSP 2015

133 Olimpiade Sains Tingkat Provinsi Tuliskan output dari program pseudo code di atas. {tuliskan jawabannya sesuai dengan output yang dihasilkan} 44. Jika kode program "writeln(a(4,2));" diganti dengan "writeln(a(3,6));", Tuliskan output dari program pseudo code tersebut. {tuliskan jawabannya sesuai dengan output yang dihasilkan} 45. Tuliskan output dari program pseudo code di bawah ini. {tuliskan jawabannya sesuai dengan output yang dihasilkan} var apaini: array[1..4, 1..10] of char = (('T', 'I', 'M', ' ', 'O', 'L', 'I', 'M', 'P', 'I'), ('A', 'D', 'E', ' ', 'K', 'E', 'G', 'A', 'N', 'T'), ('E', 'N', 'G', 'A', 'N', ' ', 'I', 'N', 'D', 'O'), ('N', 'E', 'S', 'I', 'A', ' ', 'Y', 'E', 'A', '!')); hah: array[1..4] of integer = (1, 0, -1, 0); huh: array[1..4] of integer = (0, 1, 0, -1); hoh: array[1..4, 1..10] of boolean; hihi: integer; function heh(b, y: integer): boolean; heh:=((1 <= b) and (b <= 4) and (1 <= y) and (y <= 10)); procedure iniapalagi(a, z: integer); var i: integer; b, y: integer; hihi := hihi + 1; hoh[a][z] := true; for i := 1 to 4 do b := a + hah[i]; y := z + huh[i]; if (heh(b,y)) and (not hoh[b][y]) and (apaini[b][y]<>' ') and (apaini[b][y]<>'e') and (apaini[b][y]<>'t') then iniapalagi(b, y); iniapalagi(1, 3); writeln(hihi); end. Sesi 2 : Bidang Informatika/Komputer Halaman 15 dari 16 OSP 2015

134 Olimpiade Sains Tingkat Provinsi 2015 Berikut adalah potongan program pseudo code untuk soal nomor 46 dan 47. var mola : array[1..10] of integer = (5,9,4,3,10,1,6,2,7,8); pos : array[1..10] of integer; dah : array[1..10] of boolean; function molamola(): integer; var i, tempe, hihi, skr:integer; m:integer; m:=0; for i:=1 to 10 do pos[mola[i]] := i; dah[i] := false; for i:=1 to 10 do if not dah[i] then skr := i; repeat dah[skr] := true; hihi := pos[skr]; if not dah[hihi] then tempe := mola[skr]; mola[skr] := mola[hihi]; mola[hihi] := tempe; molamola:=m; skr := hihi; m:=m+1; until dah[skr]; m:=m-1; 46. Jika pada program utama pseudo code di atas terdapat statement untuk mencetak hasil dari molamola() maka output yang ditampilkan adalah.. {tuliskan jawabannya sesuai dengan output yang dihasilkan} 47. Berapa nilai mola[5] pada akhir program {tuliskan jawabannya sesuai dengan output yang dihasilkan} ~ akhir lembar soal ~ Sesi 2 : Bidang Informatika/Komputer Halaman 16 dari 16 OSP 2015

135 Hak Cipta Dilindungi Undang-undang SOAL UJIAN SELEKSI CALON PESERTA OLIMPIADE SAINS NASIONAL 2015 TINGKAT PROVINSI INFORMATIKA/KOMPUTER SESI-2 SOAL & LEMBAR JAWAB Bagian Tes Pemrograman Sederhana KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN DIREKTORAT JENDERAL PENDIDIKAN MENENGAH DIREKTORAT PEMBINAAN SEKOLAH MENENGAH ATAS TAHUN 2015

136 KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN DIREKTORAT JENDERAL PENDIDIKAN MENENGAH DIREKTORAT PEMBINAAN SEKOLAH MENENGAH ATAS OLIMPIADE SAINS 2015 TINGKAT PROVINSI BIDANG INFORMATIKA/KOMPUTER SESI 2 Bagian Tes Pemrograman Sederhana Lembar Peraturan dan Peringatan Selama Ujian Peserta hanya dibolehkan membawa tanda pengenal, alat tulis dan penghapus saat memasuki ruang ujian. Bagian Informasi Model ujian ini adalah essay. Tuliskan ide penyelesaian dan/atau program/pseudocode langsung pada lembar soal di dalam kotak yang telah disediakan, segala bentuk tulisan yang berada diluar area kotak tidak akan diperiksan/dinilai. Halaman-halaman yang berisi pertanyaan dan lembar jawaban ada di halaman no 1 sampai dengan 6. Jika berkas anda tidak lengkap/rusak/cacat/tak terbaca, mintalah kepada panitia untuk penggantian berkas. Peserta HANYA diperkenankan membawa tanda pengenal serta peralatan tulis, yaitu: pensil, balpoin, pulpen, serta penghapus ke dalam ruang ujian untuk mengerjakan soal. Peralatan lain seperti perangkat elektronik dan perangkat komunikasi tidak diperkenankan dibawa ke dalam ruang ujian. Ujian bersifat closed book. Peserta harus mengerjakan sendiri soal tanpa dibantu oleh pihak lain maupun memanfaatkan perangkat lain ataupun buku/catatan. Peserta yang melakukan pelanggaran akan dibatalkan dari keiutsertaan ujian dan dinyatakan gugur. Berkas soal BOLEH digunakan untuk coretan, kecuali pada area lembar jawaban dan TIDAK BOLEH dilepas dari bundelnya. Jika bundel terlepas secara tidak disengaja, pengawas diharapkan membundelnya kembali atau diganti dengan berkas baru. Berkas soal dan jawaban dikumpulkan lagi kepada pengawas untuk dikoreksi oleh tim juri.

137 Olimpiade Sains Tingkat Provinsi 2015 Bagian Tes Pemrograman Sederhana (3 pertanyaan) Kode/Nama Propinsi : No Urut : Nama Peserta : 1. Berikut ini adalah pseudocode dari operasi penukaran nilai dua variabel yang berbeda: //nilai variabel a dan b sudah di set temp := a; a := b; b := temp; //nilai variabel a dan b telah ditukar Nah sekarang kalian harus membuat sebuah pseudocode operasi penukaran nilai dua variabel hanya dengan dua variabel saja. *Hint : artinya kalian hanya boleh memakai variabel a dan b tanpa tambahan variabel lain seperti temp //nilai variabel a dan b sudah di set //nilai variabel a dan b telah ditukar IDE PENYELESAIAN SOAL (dalam bahasa Indonesia) : Sesi 2 : Bagian Pemrograman Singkat Halaman 1 dari 6 OSP 2015

138 Olimpiade Sains Tingkat Provinsi 2015 PROGRAM / PSUDOCODE: Sesi 2 : Bagian Pemrograman Singkat Halaman 2 dari 6 OSP 2015

139 Olimpiade Sains Tingkat Provinsi 2015 Kode/Nama Propinsi : No Urut : Nama Peserta : 2. Diberikan sebuah string S yang karakternya hanya berupa digit-digit angka. S memiliki panjang minimal 1 karakter dan maksimal 200 karakter. Apabila kita menukar-nukar posisi karakter-karakter pada S, apakah kita dapat menghasilkan sebuah string angka dengan kelipatan 25? Contoh Masukan Contoh Keluaran Catatan 0 YA 0 adalah angka kelipatan YA adalah angka kelipatan YA 521 bisa ditukar karakter-karakternya menjadi 125 yang merupakan angka kelipatan TIDAK 659 bisa ditukar karakter-karakternya menjadi 569, 596, 659, 695, 956, dan 965, tetapi tidak ada yang merupakan angka kelipatan TIDAK 010 YA 010 menjadi YA 758 menjadi YA 0561 menjadi 1650 atau YA salah satunya menjadi TIDAK IDE PENYELESAIAN SOAL (dalam bahasa Indonesia): Sesi 2 : Bagian Pemrograman Singkat Halaman 3 dari 6 OSP 2015

140 Olimpiade Sains Tingkat Provinsi 2015 PROGRAM / PSUDOCODE: Sesi 2 : Bagian Pemrograman Singkat Halaman 4 dari 6 OSP 2015

141 Olimpiade Sains Tingkat Provinsi 2015 Kode/Nama Propinsi : No Urut : Nama Peserta : 3. Pak Dengklek memiliki sebuah array berisi N bilangan bulat non-negatif. Pak Dengklek pun menantang Anda untuk memilih angka-angka dari arraynya yang jika dijumlahkan habis dibagi N. Tentu saja angka di suatu index tidak boleh dipilih lebih dari sekali. Apabila hal ini mungkin, beritahu Pak Dengklek berapa banyak angka yang Anda ambil dan apa saja angka-angkanya. Apabila hal ini tidak mungkin, katakan "Tidak mungkin". Format Input : Baris pertama berisi sebuah bilangan bulat N (2 <= N <= ) Baris kedua berisi N bilangan bulat non-negatif yang menyatakan isi array Pak Dengklek Format Output : Apabila mungkin, pada baris pertama keluarkan sebuah angka yang menyatakan banyaknya angka yang Anda ambil dari array Pak Dengklek, dan pada baris kedua keluarkan angka-angka yang Anda ambil dipisahkan oleh sebuah spasi. Apabila tidak mungkin, pada baris pertama keluarkan sebuah string "Tidak mungkin" tanpa tanda petik Contoh Masukan Contoh Keluaran IDE PENYELESAIAN SOAL (dalam bahasa Indonesia : Sesi 2 : Bagian Pemrograman Singkat Halaman 5 dari 6 OSP 2015

142 Olimpiade Sains Tingkat Provinsi 2015 PROGRAM / PSUDOCODE : Sesi 2 : Bagian Pemrograman Singkat Halaman 6 dari 6 OSP 2015

143 Hak Cipta Dilindungi Undang-undang SOAL UJIAN SELEKSI CALON PESERTA OLIMPIADE SAINS NASIONAL 2016 TINGKAT PROVINSI INFORMATIKA/KOMPUTER SESI-2 Bagian A: Tes Analitika & Algoritmika, dan Bag B: Menyusun Program/Algoritmika Sederhana Waktu: 160 menit KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN DIREKTORAT JENDERAL PENDIDIKAN MENENGAH DIREKTORAT PEMBINAAN SEKOLAH MENENGAH ATAS TAHUN 2016

144 KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN DIREKTORAT JENDERAL PENDIDIKAN MENENGAH DIREKTORAT PEMBINAAN SEKOLAH MENENGAH ATAS OLIMPIADE SAINS 2016 TINGKAT PROVINSI BIDANG INFORMATIKA/KOMPUTER Lembar Peraturan dan Peringatan Selama Ujian Dikerjakan Selama 160 menit Peserta hanya dibolehkan membawa tanda pengenal, alat tulis dan penghapus saat ujian. Bagian Informasi Model ujian Bagian A: tes Analitika & Algoritmika nomor 1 sd 45 adalah isian singkat. Tuliskan jawaban anda sesingkat-singkatnya pada LJK pada kolom nomor soal yang sesuai. Jika jawaban yang diminta merupakan ANGKA tuliskan dengan ANGKA TANPA SATUAN [Contoh: penulisan angka 5 dengan tulisan lima tidak diperkenankan.] Soal Bagian B (3 soal) adalah menyusun program komputer/algoritmika. Lembar jawaban untuk bagian B ini ada di lembar jawab yang terpisah dengan LJK Bagian A. Seluruh soal dikerjakan dalam waktu 160 menit. Notasi algoritma pada soal bagian algoritmika menggunakan pseudo pascal yang pada intinya seperti pascal tetapi tidak serinci pascal karena diutamakan pada konsep logika dari algoritma. Halaman-halaman yang berisi pertanyaan ada di halaman no 1 sampai dengan 14. Jika berkas anda tidak lengkap/rusak/cacat/tak terbaca, mintalah kepada panitia untuk penggantian berkas. Peserta HANYA diperkenankan membawa tanda pengenal serta peralatan tulis, yaitu: pensil, balpoin, pulpen, serta penghapus ke dalam ruang ujian untuk mengerjakan soal. Peralatan lain seperti perangkat elektronik dan perangkat komunikasi tidak diperkenankan dibawa ke dalam ruang ujian. Ujian bersifat closed book. Peserta harus mengerjakan sendiri soal tanpa dibantu oleh pihak lain maupun memanfaatkan perangkat lain ataupun buku/catatan. Peserta yang melakukan pelanggaran akan dibatalkan dari keikutsertaan ujian dan dinyatakan gugur. 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. Berkas soal TIDAK BOLEH dibawa pulang dan panitia setempat harus menghancurkannya atau menyimpannya hingga seluruh propinsi di Indonesia selesai melaksanakan OSP ini

145 Bagian A: Pertanyaan Analitika/Logika (30 pertanyaan) 1. Tentukan bilangan bulat positif terkecil x yang memenuhi fungsi f(x) = (4 + x) 20 sehingga nilai digit terkanan dari nilai fungsi tersebut adalah 1. Jawaban:. {tuliskan jawaban dalam bentuk angka saja} 2. Gambar sebagai berikut adalah peta jalan antar kota di negeri 1001 Malam. Karena banyak wisatawan yang mengagumi keindahan negeri 1001 Malam, sang raja berencana untuk membangun beberapa jalan tambahan supaya para wisatawan dapat bertamasya mengunjungi setiap kota dengan melewati setiap jalan hanya satu kali saja. Sebuah jalan tambahan yang dibangun hanya dapat menghubungkan tepat dua buah kota, dan dua buah kota dapat dihubungkan oleh lebih dari 1 (satu) jalan. Berapakah minimum banyak jalan tambahan yang perlu dibangun agar seorang wisatawan yang berawal dari sebuah kota dapat menggunakan setiap jalan antar kota tepat sekali (tidak harus kembali ke kota asal)? Jawaban:. {tuliskan jawaban dalam bentuk angka saja} 3. Pada suatu hari, terdapat seekor semut yang terperangkap di dalam sebuah kaleng yang terbuka. Semut tersebut mula-mula berada pada posisi awal yaitu titik A, dan ingin mencapai titik keluar (titik B) seperti pada gambar dengan merayap pada dinding kaleng. Jika diketahui jari-jari kaleng adalah 7 cm dan tinggi kaleng adalah 15 cm, berapakah jarak minimum yang perlu ditempuh oleh semut tersebut dari titik A untuk mencapai titik B? Tuliskan hasil jawaban dalam bentuk π (pi) jika perlu. Jawaban:. {tuliskan jawaban dalam bentuk angka saja} 4. Pada sebuah arisan, jumlah orang yang hadir adalah 2016 orang, diberi identitas 1 sampai dengan Orang-orang tersebut akan dikelompokkan. Orang ke-i akan ditaruh sekompok dengan orang beridentitas i 2 dan i 3 kecuali jika i 2 >2016 atau i 3 > 2016 Tentukan berapa banyak kelompok yang ada pada arisan tersebut. Jawaban:. {tuliskan jawaban dalam bentuk angka saja} 5. Pak Dengklek memiliki 6 buah pot bunga yang disusun berjajar dan siap ditanami 3 (tiga) jenis bunga yaitu melati, mawar, dan anggrek di pekarangan rumahnya. Ada berapa banyak cara pengisian 6 pot bunga tersebut sehingga pada 3 buah pot yang bersebelahan yang manapun, tidak ada 3 jenis bunga yang ketiganya berbeda? Jawaban:. {tuliskan jawaban dalam bentuk angka saja} 6. Pada sebuah permainan, seorang ksatria mula-mula berada pada posisi (1,1) dan hendak pergi ke posisi (6,6) untuk menyelamatkan seorang putri yang cantik. Setiap petak permainan dapat berisi vitamin atau racun. Petak yang berisi vitamin dilambangkan dengan bilangan positif pada peta, yaitu ramuan yang akan menambah kekuatan ksatria, atau Petak yang berisi racun dilambangkan dengan bilangan negatif pada peta, yaitu ramuan yang akan mengurangi kekuatan ksatria. Sesi 2 : Bidang Informatika/Komputer Halaman 1 dari 14 OSP 2016

146 Pada permainan ini, ksatria hanya bisa berjalan ke arah timur atau selatan (tidak bisa melangkah secara diagonal). Ksatria tidak pernah boleh kehabisan kekuatan (kekuatan bernilai negatif atau 0) selama permainan berlangsung, termasuk pada awal permainan, dan semua ramuan pada petak-petak yang dilewati ksatria harus diminum. Tentukan jumlah kekuatan awal minimum yang harus dimiliki ksatria pada awal permainan agar ksatria tersebut dapat menyelamatkan sang putri dan memenangkan permainan! Jawaban:. {tuliskan jawaban dalam bentuk angka saja} 7. Berapakah banyak bilangan bulat positif berbeda yang habis membagi ? Jawaban:. {tuliskan jawaban dalam bentuk angka saja} 8. Pada sebuah pesta, terdapat 5 jenis pasangan makanan dan minuman yaitu jenis A, B, C, D, dan E. Setiap makanan jenis A, akan mempunyai pasangan minuman jenis A. Demikian juga untuk B, C, D, E. Pak Dengklek mendapat kesempatan untuk mencicipi semua jenis makanan dan minuman. Namun, terdapat aturan bahwa setiap minuman jenis X hanya dapat diminum jika dan hanya jika makanan jenis X sudah dimakan. Sebagai contoh, minuman jenis A hanya dapat diminum apabila makanan jenis A sudah dimakan. Berapa banyak kemungkinan urutan makan dan minum semua jenis makanan yang disediakan pada pesta tersebut? Anda dapat menuliskan jawaban dalam bentuk angka, atau dalam bentuk kombinasi, permutasi, dan faktorial. Jawaban:. {tuliskan jawaban dalam bentuk angka atau persamaan yang mengandung notasi kombinasi, permutasi, atau faktorial} 9. Diberikan sebuah larik (array) yang berisi 7 buah bilangan bulat yaitu: {42, 16, 40, 33, 0, 28, 41}. Pak Dengklek menginginkan sekumpulan bilangan (satu atau beberapa bilangan) yang jika dilakukan operasi XOR (exclusiveor terhadap representasi bit suatu bilangan) terhadap elemen-elemen larik tersebut satu demi satu, hasilnya adalah bernilai 0 (nol). Pak Dengklek boleh menambahkan satu atau beberapa bilangan bulat ke dalam larik tersebut supaya keinginannya dapat tercapai. Namun ternyata, terdapat biaya yang perlu dibayar untuk menambahkan sekumpulan bilangan bulat, yaitu sebesar bilangan terbesar yang terdapat pada kumpulan bilangan tersebut. Sebagai contoh, bilangan bulat yang ingin ditambahkan = {25, 17, 1} maka biaya yang perlu dibayar adalah 25. Berapakah biaya terkecil yang perlu dibayar Pak Dengklek? (Jika ternyata Pak Dengklek tidak perlu menambahkan apa-apa, tuliskan 0). Jawaban:. {tuliskan jawaban dalam bentuk angka saja} 10. Ini adalah gambar Pak Dengklek dengan teman-temannya yang terdaftar di media sosial bernama TokiBook. Sesi 2 : Bidang Informatika/Komputer Halaman 2 dari 14 OSP 2016

147 Pada TokiBook tersebut, sebuah garis menandakan adanya pertemanan antara dua orang. Pada media tersebut, seseorang dapat mengunggah sebuah foto, like sebuah foto, ataupun share foto yang diunggahnya. Peraturannya adalah sebagai berikut: Seseorang yang mengunggah foto, dapat memilih mau share ke teman yang mana, secara spesifik. Jika seseorang me-like foto anda, seluruh temannya dapat melihat foto anda. Pak Dengklek ingin mengunggah sebuah foto, tetapi foto tersebut berbahaya apabila dilihat oleh Bu Dengklek. Kepada siapa saja Pak Dengklek dapat meng-share fotonya sehingga Bu Dengklek tidak melihat foto tersebut? Tuliskan nama-nama orang yang dapat melihat foto yang dikirim oleh Pak Dengklek dan tidak dapat dilihat oleh bu Dengkle, dipisahkan dengan koma. Jawaban:. {tuliskan jawaban dalam bentuk string} 11. Ada suatu negara yang bernama negara TOKI. Mata uang negara TOKI tersebut unik, yaitu berbentuk koin yang masing-masing bernilai 2 n (1, 2, 4, 8, 16,. s.d. 2048). Pak Dengklek ingin membeli suatu barang dengan harga 714 dan harus membayar dengan uang pas. Berapa banyakkah pecahan mata uang minimum yang dibutuhkan untuk dapat membeli barang tersebut? Jawaban:. {tuliskan jawaban dalam bentuk angka saja} 12. Pak Dengklek adalah seseorang yang sangat suka dengan teka-teki. Pada suatu hari, ia membeli 10 bola, yang terdiri dari 3 warna putih, 4 warna merah, dan 3 warna hijau. Ia ingin mengambil beberapa bola tersebut secara bersamaan (boleh berapapun). Berapa banyaknya bola minimum yang diperlukan, agar dapat dijamin bahwa pak Dengklek mengambil minimal 2 bola untuk setiap warna? Jawaban:. {tuliskan jawaban dalam bentuk angka saja} 13. Pak Dengklek adalah orang yang suka teka-teki. Suatu hari ia berpikir untuk menghitung dari 1 sampai 2016 dengan menggunakan jari-jarinya. Pak Dengklek menghitung dengan menggunakan jari, dengan cara sebagai berikut: Proses menghitung diimulai dari 1, yaitu dengan jari kelingking; 2 dengan jari manis; 3 dengan jari tengah; 4 dengan jari telunjuk; 5 dengan jempol; 6 dengan jari telunjuk; 7 dengan jari tengah; 8 dengan jari manis; 9 dengan jari kelingking; 10 dengan jari manis; dan seterusnya. Jari apakah yang akan direpresentasikan saat Pak Dengklek menghitung angka 2016? Jawaban:. {tuliskan jawaban dalam bentuk string, bukan angka} Sesi 2 : Bidang Informatika/Komputer Halaman 3 dari 14 OSP 2016

Bagian A: Analisa dan Logika (30 soal)

Bagian A: Analisa dan Logika (30 soal) Bagian A: Analisa dan Logika (30 soal) 1. Di suatu kampung terdapat sekian rumah. Setiap rumah didiami satu keluarga. Setiap keluarga terdiri dari tepat 2 orang tua (dewasa) dan sejumlah anak-anak yang

Lebih terperinci

OLIMPIADE SAIN PROVINSI (OSP) BIDANG INFORMATIKA 2008 Untuk dikerjakan Selama 150 menit (2 ½ jam)

OLIMPIADE SAIN PROVINSI (OSP) BIDANG INFORMATIKA 2008 Untuk dikerjakan Selama 150 menit (2 ½ jam) OLIMPIADE SAIN PROVINSI (OSP) BIDANG INFORMATIKA 2008 Untuk dikerjakan Selama 150 menit (2 ½ jam) Bagian Informasi Sistem penilaian: Jawaban benar = 4, jawaban salah = 1, jawaban kosong = 0, jawaban ganda=

Lebih terperinci

OLIMPIADE SAIN PROVINSI (OSP) BIDANG INFORMATIKA 2006 Untuk dikerjakan Selama 150 menit (2 ½ jam)

OLIMPIADE SAIN PROVINSI (OSP) BIDANG INFORMATIKA 2006 Untuk dikerjakan Selama 150 menit (2 ½ jam) OLIMPIADE SAIN PROVINSI (OSP) BIDANG INFORMATIKA 2006 Untuk dikerjakan Selama 150 menit (2 ½ jam) Bagian Informasi Sistem penilaian: Jawaban benar = 4, jawaban salah = 1, jawaban kosong = 0, jawaban ganda=

Lebih terperinci

OLIMPIADE SAINS PROVINSI 2006 BIDANG INFORMATIKA-KOMPUTER

OLIMPIADE SAINS PROVINSI 2006 BIDANG INFORMATIKA-KOMPUTER OLIMPIADE SAINS PROVINSI 006 BIDANG INFORMATIKA-KOMPUTER JAWABAN DAN PEMBAHASAN UPDATE: 7/06/006 BAGIAN A: ARITMATIKA ( SOAL). Seorang wanita menerima warisan sebesar 3 dari harta suaminya seorang pengusaha

Lebih terperinci

OLIMPIADE SAINS TINGKAT PROVINSI (OSP) 2010 BIDANG INFORMATIKA. Untuk dikerjakan Selama 150 menit (2½ jam) Bagian Informasi

OLIMPIADE SAINS TINGKAT PROVINSI (OSP) 2010 BIDANG INFORMATIKA. Untuk dikerjakan Selama 150 menit (2½ jam) Bagian Informasi OLIMPIADE SAINS TINGKAT PROVINSI (OSP) 2010 BIDANG INFORMATIKA Untuk dikerjakan Selama 150 menit (2½ jam) Bagian Informasi Sistem penilaian Nilai benar 1 dan nilai salah 0. Tuliskan jawaban anda sesingkat-singkatnya

Lebih terperinci

Contoh Soal Olimpiade Sains BIDANG INFORMATIKA/KOMPUTER dan Pembahasan

Contoh Soal Olimpiade Sains BIDANG INFORMATIKA/KOMPUTER dan Pembahasan Buku Panduan Olimpiade Sains Bidang Komputer Contoh Soal Olimpiade Sains BIDANG INFORMATIKA/KOMPUTER dan Pembahasan Disusun Oleh: Tim Pembina Olimpiade Sains Bidang Komputer dan Alumni TOKI A. Soal Aritmatika,

Lebih terperinci

OLIMPIADE SAIN PROVINSI (OSP) BIDANG INFORMATIKA 2009 Untuk dikerjakan Selama 150 menit (2 ½ jam)

OLIMPIADE SAIN PROVINSI (OSP) BIDANG INFORMATIKA 2009 Untuk dikerjakan Selama 150 menit (2 ½ jam) OLIMPIADE SAIN PROVINSI (OSP) BIDANG INFORMATIKA 2009 Untuk dikerjakan Selama 150 menit (2 ½ jam) Bagian Informasi Sistem penilaian: Jawaban benar = 4, jawaban salah = 1, jawaban kosong = 0, jawaban ganda=

Lebih terperinci

OLIMPIADE SAIN PROVINSI (OSP) BIDANG INFORMATIKA 2009 Untuk dikerjakan Selama 150 menit (2 ½ jam)

OLIMPIADE SAIN PROVINSI (OSP) BIDANG INFORMATIKA 2009 Untuk dikerjakan Selama 150 menit (2 ½ jam) OLIMPIADE SAIN PROVINSI (OSP) BIDANG INFORMATIKA 2009 Untuk dikerjakan Selama 150 menit (2 ½ jam) Bagian Informasi Sistem penilaian: Jawaban benar = 4, jawaban salah = 1, jawaban kosong = 0, jawaban ganda=

Lebih terperinci

OLIMPIADE SAIN PROVINSI (OSP) BIDANG INFORMATIKA 2008 Untuk dikerjakan Selama 150 menit (2 ½ jam)

OLIMPIADE SAIN PROVINSI (OSP) BIDANG INFORMATIKA 2008 Untuk dikerjakan Selama 150 menit (2 ½ jam) OLIMPIADE SAIN PROVINSI (OSP) BIDANG INFORMATIKA 2008 Untuk dikerjakan Selama 150 menit (2 ½ jam) Bagian Informasi Sistem penilaian: Jawaban benar = 4, jawaban salah = 1, jawaban kosong = 0, jawaban ganda=

Lebih terperinci

BAGIAN A : TES KEMAMPUAN ARITMATIK,ANALITIK DAN LOGIKA

BAGIAN A : TES KEMAMPUAN ARITMATIK,ANALITIK DAN LOGIKA BAGIAN A : TES KEMAMPUAN ARITMATIK,ANALITIK DAN LOGIKA 1. Ali, Budi, Cery dan Devi membagi 144 apel. Ali menerima 10 lebih banyak daripada yang diterima Budi, 26 lebih banyak daripada yang diterima Cery

Lebih terperinci

OLIMPIADE SAINS PROVINSI (OSP) BIDANG INFORMATIKA 2008 Untuk dikerjakan Selama 150 menit (2 ½ jam)

OLIMPIADE SAINS PROVINSI (OSP) BIDANG INFORMATIKA 2008 Untuk dikerjakan Selama 150 menit (2 ½ jam) OLIMPIADE SAINS PROVINSI (OSP) BIDANG INFORMATIKA 2008 Untuk dikerjakan Selama 150 menit (2 ½ jam) Bagian Informasi Sistem penilaian: Jawaban benar = 4, jawaban salah = 1, jawaban kosong = 0, jawaban ganda=

Lebih terperinci

Olimpiade Sains Tingkat Provinsi 2011 OLIMPIADE SAINS TINGKAT PROVINSI (OSP) 2011 BIDANG INFORMATIKA

Olimpiade Sains Tingkat Provinsi 2011 OLIMPIADE SAINS TINGKAT PROVINSI (OSP) 2011 BIDANG INFORMATIKA Dapatkan soal-soal lainnya di http://forum.pelatihan-osn.com Olimpiade Sains Tingkat Provinsi 2011 OLIMPIADE SAINS TINGKAT PROVINSI (OSP) 2011 BIDANG INFORMATIKA 40 Soal untuk dikerjakan Selama 150 menit

Lebih terperinci

OLIMPIADE SAINS 2012 TINGKAT KABUPATEN/KOTA BIDANG INFORMATIKA/KOMPUTER. Lembar Peraturan dan Peringatan Selama Ujian

OLIMPIADE SAINS 2012 TINGKAT KABUPATEN/KOTA BIDANG INFORMATIKA/KOMPUTER. Lembar Peraturan dan Peringatan Selama Ujian 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

Lebih terperinci

OLIMPIADE SAINS 2012 TINGKAT KABUPATEN/KOTA BIDANG INFORMATIKA/KOMPUTER. Lembar Peraturan dan Peringatan Selama Ujian

OLIMPIADE SAINS 2012 TINGKAT KABUPATEN/KOTA BIDANG INFORMATIKA/KOMPUTER. Lembar Peraturan dan Peringatan Selama Ujian 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

Lebih terperinci

OLIMPIADE SAINS 2012 TINGKAT KABUPATEN/KOTA BIDANG INFORMATIKA/KOMPUTER. Lembar Peraturan dan Peringatan Selama Ujian

OLIMPIADE SAINS 2012 TINGKAT KABUPATEN/KOTA BIDANG INFORMATIKA/KOMPUTER. Lembar Peraturan dan Peringatan Selama Ujian Dapatkan soal-soal lainnya di http://forum.pelatihan-osn.com OLIMPIADE SAINS 2012 TINGKAT KABUPATEN/KOTA BIDANG INFORMATIKA/KOMPUTER Lembar Peraturan dan Peringatan Selama Ujian 1. Model ujian ini adalah

Lebih terperinci

SOAL SELEKSI CALON ANGGOTA International Olympiad in Informatich ( IOI ) SMA N 1 PADANG (Waktu 120 Menit) Benar : 4 Salah : -1 Tidak Dijawab : 0

SOAL SELEKSI CALON ANGGOTA International Olympiad in Informatich ( IOI ) SMA N 1 PADANG (Waktu 120 Menit) Benar : 4 Salah : -1 Tidak Dijawab : 0 Soal Matematika dan analitik 1. Berapa banyak kemungkinan untuk x+y+z=11, jika x,y,z adalah bilangan bulat positif yang tidak sama harganya? a) 5 b) 10 c) 30 d) 45 e) 21 2. Berapa banyak kemungkinan untuk

Lebih terperinci

OLIMPIADE SAINS TERAPAN NASIONAL 2008

OLIMPIADE SAINS TERAPAN NASIONAL 2008 OLIMPIADE SAINS TERAPAN NASIONAL 008 JENIS SOAL : PILIHAN GANDA WAKTU : 10 MENIT DEPARTEMEN PENDIDIKAN NASIONAL DIREKTORAT JENDRAL MANAJEMEN PENDIDIKAN DASAR DAN MENENGAH DIREKTORAT PEMBINAAN SEKOLAH MENENGAH

Lebih terperinci

OLIMPIADE SAINS NASIONAL VII

OLIMPIADE SAINS NASIONAL VII SOAL SESI 1 OLIMPIADE SAINS NASIONAL VII BIDANG INFORMATIKA 10 AGUSTUS 2008 MAKASSAR, SULAWESI SELATAN Selamat Bekerja, Berkompetisi, Jadilah Yang Terbaik! OSN2008: Olimpiade Sain Nasional 2008 Pilihan

Lebih terperinci

a. TRUE b. FALSE c. Jawaban A dan B keduanya dimungkinkan benar d. Tidak dapat ditentukan e. Tidak ada jawaban di antara A, B, C, D yang benar

a. TRUE b. FALSE c. Jawaban A dan B keduanya dimungkinkan benar d. Tidak dapat ditentukan e. Tidak ada jawaban di antara A, B, C, D yang benar Bidang Studi : Informatika / Komputer Kode Berkas : KOM-L01 (solusi) 1. Jika : A bernilai FALSE B bernilai TRUE Maka pernyataan di bawah bernilai? ((A and B) or (B and not A)) xor (A and B) a. TRUE b.

Lebih terperinci

Pembahasan X = Rp Tarif Pajak = 5% 8% Harga televisi + pajak 5% = % = % = % =

Pembahasan X = Rp Tarif Pajak = 5% 8% Harga televisi + pajak 5% = % = % = % = 1. Seorang pedagang barang elektronik menjual sebuah televisi berwarna layar datar seharga Rp.3.000.000, jika tarif pajak barang elektronik yang tergolong barang mewah tersebut adalah antara 5 % sampai

Lebih terperinci

BNPC-HS 2010 BABAK PENYISIHAN (PILIHAN GANDA)

BNPC-HS 2010 BABAK PENYISIHAN (PILIHAN GANDA) 1 Sejumlah burung akan menempati 4 buah sangkar. Setiap sangkar maksimal ditempati oleh 5 burung. Berapa jumlah burung yang diperlukan agar 3 sangkar pasti ditempati oleh minimal 3 ekor burung? A. 11 B.

Lebih terperinci

OLIMPIADE SAINS TERAPAN NASIONAL 2008

OLIMPIADE SAINS TERAPAN NASIONAL 2008 OLIMPIADE SAINS TERAPAN NASIONAL 2008 JENIS SOAL : ISIAN SINGKAT WAKTU : 120 MENIT DEPARTEMEN PENDIDIKAN NASIONAL DIREKTORAT JENDRAL MANAJEMEN PENDIDIKAN DASAR DAN MENENGAH DIREKTORAT PEMBINAAN SEKOLAH

Lebih terperinci

OLIMPIADE SAINS 2009 TINGKAT KABUPATEN/KOTAMADYA BIDANG INFORMATIKA-KOMPUTER. Peraturan dan Peringatan Selama Ujian

OLIMPIADE SAINS 2009 TINGKAT KABUPATEN/KOTAMADYA BIDANG INFORMATIKA-KOMPUTER. Peraturan dan Peringatan Selama Ujian OLIMPIADE SAINS 2009 TINGKAT KABUPATEN/KOTAMADYA BIDANG INFORMATIKA-KOMPUTER Peraturan dan Peringatan Selama Ujian 1. Model ujian ini adalah pilihan berganda: memilih maksimum SATU jawaban untuk setiap

Lebih terperinci

Soal hari Jumat (16/10) Latihan 10 MS

Soal hari Jumat (16/10) Latihan 10 MS hari Jumat (16/10) Latihan 10 MS count, sum, i adalah variabel tunggal bertipe data integer i 1 count 0 sum 0 while (i < 30) do sum sum + i count count + 1 i i + i 1. Berapakah final state variabel sum?

Lebih terperinci

OLIMPIADE SAINS NASIONAL VIII

OLIMPIADE SAINS NASIONAL VIII SOAL SESI 1 OLIMPIADE SAINS NASIONAL VIII BIDANG INFORMATIKA 5 AGUSTUS 2009 DKI JAKARTA Selamat Bekerja, Berkompetisi, Jadilah Yang Terbaik! 1. Ada 27 buah bola tenis. 1 di antaranya lebih berat dibanding

Lebih terperinci

BNPC-HS 2010 BABAK PENYISIHAN (PILIHAN GANDA)

BNPC-HS 2010 BABAK PENYISIHAN (PILIHAN GANDA) 1 Sejumlah burung akan menempati 4 buah sangkar. Setiap sangkar maksimal ditempati oleh 5 burung. Berapa jumlah burung yang diperlukan agar 3 sangkar pasti ditempati oleh minimal 3 ekor burung? A. 11 B.

Lebih terperinci

STRATEGI PENYELESAIAN MASALAH (PROBLEM SOLVING STRATEGIES) EDDY HERMANTO

STRATEGI PENYELESAIAN MASALAH (PROBLEM SOLVING STRATEGIES) EDDY HERMANTO STRATEGI PENYELESAIAN MASALAH (PROBLEM SOLVING STRATEGIES) EDDY HERMANTO Strategi Penyelesaian Masalah Beberapa Strategi Penyelesaian Masalah : 1. Membuat daftar Yang Teratur 2. Memisalkan Dengan Suatu

Lebih terperinci

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN PERCABANGAN DAN PENGULANGAN Pada BAB ini akan membahas tentang PERCABANGAN dan PERULANGAN. PERCABANGAN : a) IF THEN b) CASE OF PENGULANGAN: a) REPEAT N TIMES b) REPEAT UNTIL c) WHILE DO d) ITERATE STOP

Lebih terperinci

OLIMPIADE SAINS 2011 TINGKAT KABUPATEN/KOTAMADYA BIDANG INFORMATIKA-KOMPUTER. Lembar Peraturan dan Peringatan Selama Ujian

OLIMPIADE SAINS 2011 TINGKAT KABUPATEN/KOTAMADYA BIDANG INFORMATIKA-KOMPUTER. Lembar Peraturan dan Peringatan Selama Ujian OLIMPIADE SAINS 2011 TINGKAT KABUPATEN/KOTAMADYA BIDANG INFORMATIKA-KOMPUTER Lembar Peraturan dan Peringatan Selama Ujian 1. Model ujian ini adalah pilihan berganda: memilih maksimum SATU jawaban untuk

Lebih terperinci

ALGORITMA TUGAS 2 RESUME ALGORITMA PERCABANGAN DAN ALGORITMA PERULANGAN. Disusun Oleh : Sakina Mawardah Teknik Informatika. Dosen : Asep M. Yusuf, S.

ALGORITMA TUGAS 2 RESUME ALGORITMA PERCABANGAN DAN ALGORITMA PERULANGAN. Disusun Oleh : Sakina Mawardah Teknik Informatika. Dosen : Asep M. Yusuf, S. ALGORITMA TUGAS 2 RESUME ALGORITMA PERCABANGAN DAN ALGORITMA PERULANGAN Disusun Oleh : Sakina Mawardah Teknik Informatika Dosen : Asep M. Yusuf, S.T UNIVERSITAS NASIONAL PASIM DAFTAR ISI A. Algoritma Percabangan...

Lebih terperinci

SELEKSI OLIMPIADE TINGKAT PROVINSI 2007 TIM OLIMPIADE MATEMATIKA INDONESIA 2008

SELEKSI OLIMPIADE TINGKAT PROVINSI 2007 TIM OLIMPIADE MATEMATIKA INDONESIA 2008 Dapatkan soal-soal lainnya di http://forum.pelatihan-osn.com SELEKSI OLIMPIADE TINGKAT PROVINSI 2007 TIM OLIMPIADE MATEMATIKA INDONESIA 2008 Bidang Matematika Bagian Pertama Waktu : 90 Menit DEPARTEMEN

Lebih terperinci

OLIMPIADE SAINS NASIONAL IX

OLIMPIADE SAINS NASIONAL IX SOAL SESI 1 OLIMPIADE SAINS NASIONAL IX BIDANG INFORMATIKA 3 AGUSTUS 2010 MEDAN, SUMATERA UTARA Selamat Bekerja, Berkompetisi, Jadilah Yang Terbaik! 1. Gudang olah raga X memiliki aturan penyimpanan bola

Lebih terperinci

SOAL LATIHAN OLIMPIADE KOMPUTER

SOAL LATIHAN OLIMPIADE KOMPUTER SOAL LATIHAN OLIMPIADE KOMPUTER Persiapan Olimpiade Sains Provinsi dan Nasional PILIHAN GANDA (PILIHLAH SATU JAWABAN YANG PALING TEPAT!!!) Soal 1-3. Ada suatu tangga yang tersusun atas beberapa anak tangga

Lebih terperinci

ALGORITMA PERULANGAN

ALGORITMA PERULANGAN Pertemuan 08 ALGORITMA PERULANGAN Pada Bab ini anda akan mempelajari 1. Pengertian algoritma perulangan 2. Perulangan for-do 3. Perulangan while-do 4. Perulangan repeat-until Algoritma Perulangan Ada kalanya

Lebih terperinci

SOAL SIMULASI SELEKSI OLIMPIADE SAINS TINGKAT PROVINSI 2013 CALON TIM OLIMPIADE KOMPUTER INDONESIA Waktu: 150 menit

SOAL SIMULASI SELEKSI OLIMPIADE SAINS TINGKAT PROVINSI 2013 CALON TIM OLIMPIADE KOMPUTER INDONESIA Waktu: 150 menit SOAL SIMULASI SELEKSI OLIMPIADE SAINS TINGKAT PROVINSI 2013 CALON TIM OLIMPIADE KOMPUTER INDONESIA 2014 Waktu: 150 menit PROGRAMMING CLUB SMP/SMA SUTOMO 1 MEDAN TAHUN 2013 SIMULASI OLIMPIADE SAINS NASIONAL

Lebih terperinci

BIDANG INFORMATIKA/KOMPUTER

BIDANG INFORMATIKA/KOMPUTER BIDANG INFORMATIKA/KOMPUTER 50 Soal untuk dikerjakan Selama 150 menit (2½ jam) Peserta hanya dibolehkan membawa tanda pengenal, alat tulis dan penghapus saat memasuki ruang ujian. Bagian Informasi Model

Lebih terperinci

Bundel Soal Sesi 1 Bidang Informatika Olimpiade Sains Nasional X

Bundel Soal Sesi 1 Bidang Informatika Olimpiade Sains Nasional X Bundel Soal Sesi 1 Bidang Informatika Olimpiade Sains Nasional X Manado - Sulawesi Utara - 13 September 2011 Anda dilarang membuka dan membaca isi bundel soal ini sebelum dipersilakan oleh juri. Bundel

Lebih terperinci

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR 1 PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR Siti Mukaromah, S.Kom TEKNIK PENYAJIAN ALGORITMA Teknik Tulisan Structure English Pseudocode Teknik Gambar Structure Chart HIPO Flowchart 2 PSEUDOCODE Kode

Lebih terperinci

Olimpiade Sains Tingkat Kabupaten/Kotamadya

Olimpiade Sains Tingkat Kabupaten/Kotamadya Test Kemampuan Algoritmika, Analitika dan Logika Untuk Seleksi Tingkat Kabupaten Kotamadya Olimpiade Bidang Informatika Berkas berisi 60 soal Pilihan Ganda dalam 20 halaman Penilaian: benar=4; salah=-1,

Lebih terperinci

INFORMATIKA/KOMPUTER

INFORMATIKA/KOMPUTER SOAL UJIAN SELEKSI CALON PESERTA OLIMPIADE SAINS NASIONAL 201 TINGKAT KABUPATEN/KOTA INFORMATIKA/KOMPUTER Waktu: 150 menit KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN DIREKTORAT JENDERAL PENDIDIKAN MENENGAH

Lebih terperinci

Bab 1. Bilangan Bulat. Standar Kompetensi. 1. Memahami sifat-sifat operasi hitung bilangan dan pengunaannya dalam pemecahan masalah.

Bab 1. Bilangan Bulat. Standar Kompetensi. 1. Memahami sifat-sifat operasi hitung bilangan dan pengunaannya dalam pemecahan masalah. Bab 1 Bilangan Bulat Standar Kompetensi 1. Memahami sifat-sifat operasi hitung bilangan dan pengunaannya dalam pemecahan masalah. Kompetensi Dasar 1.1. Melakukan operasi hitung bilangan pecahan. 1.2. Menggunakan

Lebih terperinci

SOAL ARITMETIKA / ANALITIKA / LOGIKA

SOAL ARITMETIKA / ANALITIKA / LOGIKA SOAL ARITMETIKA / ANALITIKA / LOGIKA 1. Bilangan selanjutnya dari barisan 4, 5, 8, 13, 20, 29,... adalah: a. 38 b. 39 c. 40 d. 42 e. 49 2. Berapakah nilai dari? a. 1 b. 2/3 c. 30/11 d. 2 e. tidak ada pilihan

Lebih terperinci

Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom

Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom Pengantar Bahasa Pemrograman Pascal Page 1 / 11 Pengenalan Pascal Pascal merupakan salah satu bahasa pemrograman tingkat tinggi. Pemrograman

Lebih terperinci

Kisi-Kisi dan Materi Uji Olimpiade Sains BIDANG INFORMATIKA/KOMPUTER

Kisi-Kisi dan Materi Uji Olimpiade Sains BIDANG INFORMATIKA/KOMPUTER Kisi-Kisi dan Materi Uji Olimpiade Sains BIDANG INFORMATIKA/KOMPUTER II.2. Tingkat OSK/OSP Oleh sebab itu, materi uji IOI diterjemahkan ke dalam materi yang menguji potensi akademis/skolastik tinggi yang

Lebih terperinci

Hari 1 / Soal 1: Bukit dan Lembah

Hari 1 / Soal 1: Bukit dan Lembah Hari 1 / Soal 1: Bukit dan Lembah Kode Soal: bukit Batas Run-time: 1 detik / test-case Batas Memori: 1 MB : Standard input : Standard output Deskripsi Diberikan data ketinggian yang di catat dalam perjalanan

Lebih terperinci

PENGANTAR ALGORITMA DAN PEMROGRAMAN

PENGANTAR ALGORITMA DAN PEMROGRAMAN PENGANTAR ALGORITMA DAN PEMROGRAMAN Asal kata Algoritma Algorism atau Algorithm berarti proses menghitung. Al-Khuwarizmi dalam buku berjudul Kitab Al Jabar Wal-Muqabala yang artinya Buku pemugaran dan

Lebih terperinci

Perulangan. Bentuk Proses. 1. Perulangan For positif contoh 1 : perulangan positif untuk satu statement :

Perulangan. Bentuk Proses. 1. Perulangan For positif contoh 1 : perulangan positif untuk satu statement : Perulangan Bentuk bentuk Perulangan Dalam hampir setiap program yang kompleks mutlak memerlukan suatu perulangan. Tujuan perulangan disini adalah untuk mengulang statement atau blok statement berulang

Lebih terperinci

1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada.

1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada. Semester : 4 Pengenalan Algoritma dan Program 200 menit No. : LST/EKA/EKA259/01 Revisi : 01 Tgl. : 10-2-2014 Hal. 1 dari 2 hal. 1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada. 2.

Lebih terperinci

Teori Algoritma. Struktur Algoritma

Teori Algoritma. Struktur Algoritma Alam Santosa Teori Algoritma Runtunan Struktur Algoritma Seperti telah dijelaskan sebelumnya, sebuah algoritma terbagi tiga bagian, yaitu: Judul Deklarasi Deskripsi Judul Judul program digunakan untuk

Lebih terperinci

OLIMPIADE SAINS TERAPAN SMK PROPINSI JAWA TENGAH 2009

OLIMPIADE SAINS TERAPAN SMK PROPINSI JAWA TENGAH 2009 OLIMPIADE SAINS TERAPAN SMK PROPINSI JAWA TENGAH 009 Mata pelajaran Matematika Teknologi Kerjasama Dengan FMIPA Universitas Diponegoro Dan Dinas Pendidikan Propinsi Jawa Tengah OLIMPIADE SAINS TERAPAN

Lebih terperinci

Penggunaan Graf dalam Pemodelan Matematis Permainan Delapan Jari

Penggunaan Graf dalam Pemodelan Matematis Permainan Delapan Jari Penggunaan Graf dalam Pemodelan Matematis Permainan Delapan Jari Evan 1) 1) Program Studi Teknik Informatika ITB, Bandung, email: evangozali@yahoo.com Abstract Makalah ini membahas aplikasi graf dalam

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-7 (Pengulangan atau Looping [2]) Noor Ifada noor.ifada@if.trunojoyo.ac.id S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Struktur WHILE Struktur REPEAT WHILE vs REPEAT

Lebih terperinci

VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI. Pemrograman Dasar Kelas X Semester 2

VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI. Pemrograman Dasar Kelas X Semester 2 VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI Tujuan Pembelajaran 1. Siswa mampu memahami penulisan Tipe data, variabel dan konstanta dalam pascal 2. Siswa mampu menerapkan penggunaan Tipe data,

Lebih terperinci

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek.

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek. LAB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Percabangan Komplek dan case of 200 menit No. : LST/EKA/EKA 305/03 Revisi : Tgl. : Hal. 1 dari 3 hal. 1. Kompetensi Mengenal dan memahami algoritma percabangan

Lebih terperinci

Konstruksi Dasar Algoritma

Konstruksi Dasar Algoritma Konstruksi Dasar Algoritma ALGORITMA DAN PEMROGRAMAN [IF6110202] Yudha Saintika, S.T., M.T.I. Sub-Capaian Pembelajaran MK Pendahuluan Instruksi dan Aksi Algoritma merupakan deskripsi urutan pelaksanaan

Lebih terperinci

Chapter 5 Choice. repeatedly if tanda 2 on label: lakukan proses potong 2 if tanda 3 on label: lakukan proses potong 3 until switched off program 5.

Chapter 5 Choice. repeatedly if tanda 2 on label: lakukan proses potong 2 if tanda 3 on label: lakukan proses potong 3 until switched off program 5. 5.1 Pengantar Chapter 5 Choice Program yang telah menggunakan repetition dan procedure merupakan program yang agak rumit, namun jalannya program masih dapat ditebak dan diketahui karena selalu mengerjakan

Lebih terperinci

Solusi Soal Seleksi Olimpiade Tingkat Kabupaten / Kota 2010 Tim Olimpiade Komputer Indonesia 2011 versi 2, 28 Mei 2010

Solusi Soal Seleksi Olimpiade Tingkat Kabupaten / Kota 2010 Tim Olimpiade Komputer Indonesia 2011 versi 2, 28 Mei 2010 Solusi Soal Seleksi Olimpiade Tingkat Kabupaten / Kota 2010 Tim Olimpiade Komputer Indonesia 2011 versi 2, 28 Mei 2010 1. D 6 buah keran air membutuhkan waktu 8 jam. Dalam 1 jam, 6 buah keran air mengeluarkan

Lebih terperinci

Struktur Perulangan. Sesi. 3.1 Pernyataan while do. 3.2 Pernyataan repeat... until

Struktur Perulangan. Sesi. 3.1 Pernyataan while do. 3.2 Pernyataan repeat... until Struktur Perulangan Sesi 3 Bentuk pengulangan (looping) dalam Delphi sesuai dengan bahasa Pascal yakni ada tiga antara lain: For, While do dan Repeat until. 3.1 Pernyataan while do Pada pernyataan while,

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-2 (Teks Algoritma) Noor Ifada noor.ifada@if.trunojoyo.ac.id S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Judul Algoritma Deklarasi Deskripsi Translasi

Lebih terperinci

IMPLEMENTASI ALGORITMA GREEDY PADA PERMAINAN OTHELLO

IMPLEMENTASI ALGORITMA GREEDY PADA PERMAINAN OTHELLO IMPLEMENTASI ALGORITMA GREEDY PADA PERMAINAN OTHELLO Nur Fajriah Rachmah NIM 13506091 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung Jalan Ganesha nomor

Lebih terperinci

SELEKSI OLIMPIADE MATEMATIKA INDONESIA 2004 TINGKAT PROVINSI

SELEKSI OLIMPIADE MATEMATIKA INDONESIA 2004 TINGKAT PROVINSI SELEKSI OLIMPIADE MATEMATIKA INDONESIA 2004 TINGKAT PROVINSI Bidang Matematika Bagian Pertama Waktu : 90 Menit DEPARTEMEN PENDIDIKAN NASIONAL DIREKTORAT JENDERAL PENDIDIKAN DASAR DAN MENENGAH DIREKTORAT

Lebih terperinci

PETUNJUK PENGERJAAN. (Babak I) Tanggal : 6 April Waktu :

PETUNJUK PENGERJAAN. (Babak I) Tanggal : 6 April Waktu : PANITIA LOMBA ARITMATIKA TINGKAT SMP SE EKS-KARISIDENAN SURAKARTA HIMPUNAN MAHASISWA PENDIDIKAN MATEMATIKA FAKULTAS KEGURUAN DAN ILMU PENDIDIKAN UNIVERSITAS SEBELAS MARET SURAKARTA Sekretariat : Lantai

Lebih terperinci

Bundel Pembahasan Soal Olimpiade Sains Informatika

Bundel Pembahasan Soal Olimpiade Sains Informatika Bundel Pembahasan Soal Olimpiade Sains Informatika Disusun Oleh: Alumni Tim Olimpiade Komputer Indonesia 25-26 Mei 2012 Kata Pengantar Segala puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa.

Lebih terperinci

Refreshing Materi Kuliah Semester Pendek 2010/2011. Logika dan Algoritma. Heri Sismoro, M.Kom.

Refreshing Materi Kuliah Semester Pendek 2010/2011. Logika dan Algoritma. Heri Sismoro, M.Kom. Refreshing Materi Kuliah Semester Pendek 2010/2011 Logika dan Algoritma Heri Sismoro, M.Kom. STMIK AMIKOM YOGYAKARTA 2011 Materi 1. Logika Informatika Adalah logika dasar dalam pembuatan algoritma pada

Lebih terperinci

OLIMPIADE SAINS NASIONAL VII

OLIMPIADE SAINS NASIONAL VII SOAL SESI 1 OLIMPIADE SAINS NASIONAL VII BIDANG INFORMATIKA 10 AGUSTUS 2008 MAKASSAR, SULAWESI SELATAN Selamat Bekerja, Berkompetisi, Jadilah Yang Terbaik! OSN2008: Olimpiade Sain Nasional 2008 Pilihan

Lebih terperinci

Brigida Arie Minartiningtyas, M.Kom

Brigida Arie Minartiningtyas, M.Kom Brigida Arie Minartiningtyas, M.Kom Pseudocode Pseudo berarti imitasi atau mirip atau menyerupai Code menunjukkan kode dari program Pseudocode adalah kode yang mirip dengan instruksi kode program yang

Lebih terperinci

I. KATA PENGANTAR. Modul Algoritma Pemrograman. Modul Ke-4 - Hal 1

I. KATA PENGANTAR. Modul Algoritma Pemrograman. Modul Ke-4 - Hal 1 I. KATA PENGANTAR Dewasa ini sudah banyak berkembang bahasa-bahasa pemrograman tingkat tinggi yang pemakaiannya sudah sangat mudah, hanya klik dan drag saja. Namun meskipun demikian tetap saja programmer

Lebih terperinci

WORKSHOP PEMBIMBINGAN OLIMPIADE MATEMATIKA & SAINS BIDANG MATEMATIKA SMP

WORKSHOP PEMBIMBINGAN OLIMPIADE MATEMATIKA & SAINS BIDANG MATEMATIKA SMP WORKSHOP PEMBIMBINGAN OLIMPIADE MATEMATIKA & SAINS BIDANG MATEMATIKA SMP Ilham Rizkianto FMIPA Universitas Negeri Yogyakarta Ilham_rizkianto@uny.ac.id Wonosari, 9 Mei 2014 MASALAH KOMBINATORIK Mengecoh,

Lebih terperinci

Teori Algoritma. Algoritma Perulangan

Teori Algoritma. Algoritma Perulangan Alam Santosa Teori Algoritma Perulangan Algoritma Perulangan Seperti pernah dibahas sebelumnya, kemampuan komputer adalah melakukan pekerjaan yang sama tanpa merasa lelah maupun bosan. Syarat utama memanfaatkan

Lebih terperinci

Strategi Algoritma Penyelesaian Puzzle Hanjie

Strategi Algoritma Penyelesaian Puzzle Hanjie Strategi Algoritma Penyelesaian Puzzle Hanjie Whilda Chaq 13511601 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia

Lebih terperinci

A. Pengantar. 1. Olimpiade Sains Nasional

A. Pengantar. 1. Olimpiade Sains Nasional Contoh contoh dan Pembahasan Materi Uji Olimpiade Sains Bidang Informatika/Komputer Versi: (alpha 07 05 19) Oleh: Suryana Setiawan, Koordinator Pembina TOKI Pusat A. Pengantar 1. Olimpiade Sains Nasional

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-7 (Pengulangan atau Looping [2]) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Struktur WHILE Struktur REPEAT S1 Teknik Informatika-Unijoyo 2 Struktur

Lebih terperinci

2.4. Struktur Branching

2.4. Struktur Branching 2.4. Struktur Branching Branching atau percabangan adalah diagram yang alurnya ada/banyak terjadi alih kontrol berupa percabangan dan terjadi apabila kita dihadapkan pada kondisi dengan dua pilihan yaitu

Lebih terperinci

Definisi Percabangan

Definisi Percabangan Pertemuan 2 Percabangan Sederhana MK. Algoritma dan Struktur Data Bekti Wulandari, M.Pd. TE KELAS B 2014 Definisi Percabangan Percabangan adalah suatu suatu perintah (pernyataan) yang memungkinkan suatu

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-2 (Teks Algoritma) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Judul Algoritma Deklarasi Deskripsi Translasi Teks Algoritma ke dalam

Lebih terperinci

KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN

KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN Hak Cipta Dilindungi Undang-undang SOAL UJIAN OLIMPIADE SAINS NASIONAL 2013 CALON PESERTA INTERNATIONAL OLYMPIAD IN INFORMATICS (IOI) 2014 HARI KE-2 INFORMATIKA Waktu : 5 jam KEMENTERIAN PENDIDIKAN DAN

Lebih terperinci

MODUL 1. Struktur Bahasa PASCAL secara umum

MODUL 1. Struktur Bahasa PASCAL secara umum MODUL 1 Struktur Bahasa PASCAL secara umum Pascal mempunyai struktur sebagai berikut: 1. Bagian Judul Program 2. Bagian Deklarasi e a. Deklarasi tipe data (TYPE) b. Deklarasi variabel (VAR) c. Deklarasi

Lebih terperinci

Teori Algoritma TIPE DATA

Teori Algoritma TIPE DATA Alam Santosa Teori Algoritma Dasar Algoritma TIPE DATA Program komputer adalah deretan perintah untuk memanipulasi data input menjadi informasi yang bermanfaat bagi pengguna (user). Data yang diinput dapat

Lebih terperinci

STATEMEN GO TO DAN IF-THEN. Pertemuan IX

STATEMEN GO TO DAN IF-THEN. Pertemuan IX STATEMEN GO TO DAN IF-THEN Pertemuan IX Statemen Alih Kontrol Pada bahasa pemrograman BASIC tidak hanya melakukan eksekusi baris demi baris atau secara berurutan yang tiap barisnya dieksekusi hanya satu

Lebih terperinci

Olimpiade Sains Nasional XI Bidang Komputer/Informatika

Olimpiade Sains Nasional XI Bidang Komputer/Informatika Berkas Kompetisi Soal Hari 2 Olimpiade Sains Nasional XI Bidang Komputer/Informatika 2-7 September 2012, Jakarta www.tokilearning.org www.siswapsma.org BARISAN BILANGAN Batas Waktu Batas Memori 1 detik

Lebih terperinci

Latihan-Latihan OSN Bidang Informatika/Komputer. Pembinaan Olimpiade Sains Nasional dan Bimbingan Belajar. SMA di Kabupaten Simalungun

Latihan-Latihan OSN Bidang Informatika/Komputer. Pembinaan Olimpiade Sains Nasional dan Bimbingan Belajar. SMA di Kabupaten Simalungun Latihan-Latihan OSN Bidang Informatika/Komputer Pembinaan Olimpiade Sains Nasional dan Bimbingan Belajar SMA di Kabupaten Simalungun Provinsi Sumatera Utara Pen yusun: Tim Departemen Ilmu Komputer, FMIPA,

Lebih terperinci

PROSES PENJUALAN BUKU

PROSES PENJUALAN BUKU PROSES PENJUALAN BUKU MAKALAH Makalah ini disusun guna untuk memenuhi tugas TIK akhir tahun kelas XI semester 2 yang membahas tentang Proses Penjualan Buku. OLEH : Ida Mariyatuz Zulfa ( 14 ) Mar atu Sholekhah

Lebih terperinci

BAB-2 : TIPE DATA, VARIABEL DAN OPERATOR

BAB-2 : TIPE DATA, VARIABEL DAN OPERATOR BAB-2 : TIPE DATA, VARIABEL DAN OPERATOR Setelah selesai pembahasan pada bab ini, diharapkan Anda dapat : Mengenal dan dapat menggunakan tipe data Mengenal dan menggunakan variable Mengenal dan menggunakan

Lebih terperinci

Decission : if & if else

Decission : if & if else PRAKTIKUM 5 Decission : if & if else A. TUJUAN PEMBELAJARAN 1. Menjelaskan tentang operator kondisi (operator relasi dan logika) 2. Menjelaskan penggunaan pernyataan if 3. Menjelaskan penggunaan pernyataan

Lebih terperinci

INFORMATIC LOGIC PROGRAMMING CONTEST

INFORMATIC LOGIC PROGRAMMING CONTEST INFORMATIC LOGIC PROGRAMMING CONTEST PENYISIHAN TAHAP 1 16 FEBRUARI 2011 1. Di toko Serba Untung, untuk setiap 8 buah baterai sisa, bisa ditukarkan dengan 1 buah baterai baru. Jika saat ini, anda mempunyai

Lebih terperinci

Soal hari Selasa (13/10) Latihan 7 AN

Soal hari Selasa (13/10) Latihan 7 AN hari Selasa (13/10) Latihan 7 AN Kamus Data X, Y adalah variabel tunggal bertipe data integer if X > 4 then Y 5 1. Pernyataan yang salah tentang algoritma di atas adalah... a. X dan Y pasti bilangan bulat

Lebih terperinci

SOAL SIMULASI SELEKSI OLIMPIADE SAINS TINGKAT KABUPATEN/KOTA 2013 CALON TIM OLIMPIADE KOMPUTER INDONESIA Waktu: 150 menit

SOAL SIMULASI SELEKSI OLIMPIADE SAINS TINGKAT KABUPATEN/KOTA 2013 CALON TIM OLIMPIADE KOMPUTER INDONESIA Waktu: 150 menit SOAL SIMULASI SELEKSI OLIMPIADE SAINS TINGKAT KABUPATEN/KOTA 2013 CALON TIM OLIMPIADE KOMPUTER INDONESIA 2014 Waktu: 150 menit PROGRAMMING CLUB SMP/SMA SUTOMO 1 MEDAN TAHUN 2013 SIMULASI OLIMPIADE SAINS

Lebih terperinci

Bab 2 DASAR-DASAR ALGORITMA

Bab 2 DASAR-DASAR ALGORITMA Bab 2 DASAR-DASAR ALGORITMA Pada bab ini anda akan mempelajari 1. Nama (pengenal) 2. Nilai 3. Variabel dan Konstanta 4. Penugasan (Assignment) 5. Jenis-jenis tipe data 6. Jenis-jenis operasi dan kaitannya

Lebih terperinci

MODUL 3 ALGORITMA PEMROGRAMAN

MODUL 3 ALGORITMA PEMROGRAMAN MODUL 3 ALGORITMA PEMROGRAMAN Pada Modul ini anda akan mempelajari 1. Pengenal 2. Nilai 3. Variabel dan Konstanta 4. Penugasan (Assignment) 5. Jenis-jenis tipe data 6. Jenis-jenis operasi dan kaitannya

Lebih terperinci

STRUKTUR DASAR ALGORITMA

STRUKTUR DASAR ALGORITMA STRUKTUR DASAR ALGORITMA Pertemuan 5 Muhamad Haikal, S.Kom., MT Struktur Dasar Algoritma 1. Struktur Sequence (Runtunan) 2. Struktur Selection (Pemilihan) 3. Struktur Repetition (Perulangan) Struktur Sequence

Lebih terperinci

BAGIAN A: ARITMATIKA DAN LOGIKA (31 SOAL)

BAGIAN A: ARITMATIKA DAN LOGIKA (31 SOAL) BAGIAN A: ARITMATIKA DAN LOGIKA (31 SOAL) BAGIAN A: ARITMATIKA DAN LOGIKA (31 SOAL) 1. Jika w, x, y, dan z adalah ekspresi bilangan bulat, masing-masing persamaan berikut ini memiliki nilai yang sama,

Lebih terperinci

CCH1A4 / Dasar Algoritma & Pemrogramanan

CCH1A4 / Dasar Algoritma & Pemrogramanan CCH1A4 / Dasar & Pemrogramanan Yuliant Sibaroni M.T, Abdurahman Baizal M.Kom KK Modeling and Computational Experiment FUNGSI Overview Fungsi Konsep Fungsi Fungsi Sederhana Fungsi dengan Analisa Kasus If...Then...Else

Lebih terperinci

LOMBA MATEMATIKA NASIONAL KE-26

LOMBA MATEMATIKA NASIONAL KE-26 LOMBA MATEMATIKA NASIONAL KE-26 Babak Penyisihan Tingkat SMP Minggu, 8 November HIMPUNAN MAHASISWA MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS GADJAH MADA SEKIP UTARA UNIT III

Lebih terperinci

TIPE, NAMA, DAN NILAI

TIPE, NAMA, DAN NILAI TIPE, NAMA, DAN NILAI Dian Palupi Rini, M.Kom Tipe Dasar Bilangan Logika Nama Tipe adalah boolean (diambil dari nama matematikawan Inggris George Boole). Ranah Nilai : true (benar) dan false (salah). Konstanta

Lebih terperinci

Tipe Data dan Operator dalam Pemrograman

Tipe Data dan Operator dalam Pemrograman Diktat Pelatihan Olimpiade Komputer Oleh Fakhri Pertemuan ke 2 : Tipe Data dan Operator dalam Pemrograman 2.1 Tipe Data Tipe data adalah jenis dari suatu nilai pada pemrograman, baik itu angka, tulisan,

Lebih terperinci

Olimpiade Sains Nasional XI Bidang Komputer/Informatika

Olimpiade Sains Nasional XI Bidang Komputer/Informatika Berkas Kompetisi Soal Hari 1 Olimpiade Sains Nasional XI Bidang Komputer/Informatika 2-7 September 2012, Jakarta www.tokilearning.org www.siswapsma.org Bundel Soal Hari 1 OSN XI Bidang Informatika SEGITIGA

Lebih terperinci

LOMBA MATEMATIKA NASIONAL KE-27

LOMBA MATEMATIKA NASIONAL KE-27 LOMBA MATEMATIKA NASIONAL KE-27 Babak Penyisihan Tingkat SMP Minggu, 0 Oktober 2016 HIMPUNAN MAHASISWA MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS GADJAH MADA SEKIP UTARA UNIT

Lebih terperinci

OLIMPIADE SAINS NASIONAL IX

OLIMPIADE SAINS NASIONAL IX SOAL SESI 3 OLIMPIADE SAINS NASIONAL IX BIDANG INFORMATIKA 4 AGUSTUS 2010 MEDAN, SUMATERA UTARA Selamat Bekerja, Berkompetisi, Jadilah Yang Terbaik! Shuffle Kode soal: osn1013.pas/c/ CPP Batas Run-time:

Lebih terperinci

BAB VI SEARCHING (PENCARIAN)

BAB VI SEARCHING (PENCARIAN) BAB VI SEARCHING (PENCARIAN) 7. 1 Pencarian Beruntun (Sequential Search) Prinsip kerja pencarian beruntun adalah membandingkan setiap elemen larik satu per satu secara beruntun, mulai dari elemen pertama

Lebih terperinci

SOAL MATEMATIKA - SMP

SOAL MATEMATIKA - SMP SOAL MATEMATIKA - SMP OLIMPIADE SAINS NASIONAL TINGKAT KABUPATEN/KOTA KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN DIREKTORAT JENDERAL PENDIDIKAN DASAR DIREKTORAT PEMBINAAN SEKOLAH MENENGAH PERTAMA TAHUN 01 BAGIAN

Lebih terperinci