tirto.id - Kumpulan contoh soal Olimpiade Sains Nasional (OSN) SMA bidang informatika dapat dipelajari sebagai latihan. Termasuk sebagai persiapan menghadapi OSN tingkat kabupaten/kota (OSN-K) 2025 yang akan digelar 24-25 Juni 2025.
Dalam bidang Informatika OSN-K SMA 2025, materi yang diujikan di antaranya: dasar-dasar pemrograman, operasi logika & bitwise, aritmetika, aturan berhitung, rekursi, pencarian dan pengurutan, strategi pemecahan masalah, struktur data, graf dan tree, hingga geometri dasar.
Kumpulan Soal OSN Informatika SMA Tingkat Kabupaten/Kota dan Jawabannya
Untuk menguasai materi dan memperdalam pemahaman, latihan soal dapat dilakukan para peserta OSN-K SMA. Berikut beberapa contoh soal OSN bidang Informatika yang dapat dijadikan latihan untuk menghadapi OSN-K SMA 2025 nanti:
Studi Kasus A: String Cantik OSN (NO, 1—3)
Deskripsi Cerita
Selamat kepada Anda yang telah lolos ke OSN-P Informatika 2024! Pak Dengklek ingin menyelamati dan juga menyemangati Anda dengan membuatkan Anda sebuah string cantik OSN.
Sebuah string dikatakan string cantik OSN jika dan hanya jika memenuhi 2 persyaratan berikut:
1. Memiliki panjang minimal 3 huruf.
2. Setiap 3 huruf yang berurutan harus terdiri dari tepat 1 huruf ‘O’, 1 huruf ‘S’, dan 1 huruf ‘N’.
Pada awalnya, Pak Dengklek memiliki sebuah string awal S. Pak Dengklek boleh menghapus beberapa huruf (mungkin saja nol) dari S dan tetap mempertahankan urutan huruf-huruf yang tidak dihapus. Pak Dengklek ingin string akhir setelah penghapusan tersebut adalah sebuah string cantik OSN, yang kemudian akan diberikan kepada Anda.
Carilah panjang string cantik OSN terpanjang yang mungkin Anda terima! Perlu diperhatikan bahwa bisa jadi Pak Dengklek tidak dapat membuatkan Anda sebuah string cantik OSN dari string awal S.
Soal Pemahaman
Soal A1 (NO. 1)
Manakah dari 5 pilihan string berikut yang bukan merupakan string cantik OSN?
- A. “NSO”
- B. “SNOS”
- C. “SONSO”
- D. “ONSONS”
- E. “NOSNOSO”
Soal A2 (NO. 2)
Ada berapa banyak string berbeda dengan panjang 100 huruf yang juga merupakan string cantik OSN? Tuliskan Jawaban dalam bentuk ANGKA.
Jawaban: 6
Soal A3 (NO. 3)
BENAR atau SALAH: Diberikan string awal berupa “CONTOHSTRINGUNTUKSOALBENARATAUSALAH”,
Pak Dengklek dapat membuatkan Anda string cantik OSN berupa “OSNOSN” dari string awal tersebut.
Jawaban: SALAH
Studi Kasus B: Berbagi Banyak Candil (NO, 4—6)
Deskripsi Cerita
Pak Dengklek memiliki sekian ekor bebek. Pak Dengklek memberitahu Anda bahwa ia memiliki setidaknya satu ekor bebek dan paling banyak B ekor bebek.
Pagi hari ini, Pak Dengklek telah membeli C butir jajanan candil untuk dibagikan ke bebek-bebeknya. Pak Dengklek ingin membagikan candil-candil tersebut sebanyak mungkin kepada bebek-bebeknya selama setiap bebeknya mendapatkan banyak butir candil yang sama rata. Setelah membagikan candil-candil tersebut, sisa candil akan dimakan oleh Pak Dengklek.
Pak Dengklek memberitahu Anda bahwa banyaknya candil yang akhirnya ia makan adalah D. Tugas Anda adalah menerka banyaknya bebek milik Pak Dengklek, dengan cara menghitung berapa banyak kemungkinan banyaknya bebek berbeda milik Pak Dengklek yang mungkin. Perhatikan bahwa Jawaban bisa saja 0 dikarenakan adanya kekeliruan informasi yang diberikan oleh Pak Dengklek.
Soal Pemahaman
Soal B1 (NO. 4)
Asumsikan Pak Dengklek membeli 100 butir candil dan banyaknya candil yang akhirnya dimakan oleh Pak Dengklek adalah 10. Dari 5 skenario berikut, manakah yang sebenarnya tidak mungkin?
- A. Pak Dengklek memiliki 9 ekor bebek
- B. Pak Dengklek memiliki 15 ekor bebek
- C. Pak Dengklek memiliki 18 ekor bebek
- D. Pak Dengklek memiliki 30 ekor bebek
- E. Pak Dengklek memiliki 45 ekor bebek
Soal B2 (NO. 5)
Asumsikan Pak Dengklek memiliki paling banyak 100 ekor bebek. Jika Pak Dengklek membeli 20 butir candil dan banyaknya candil yang akhirnya dimakan oleh Pak Dengklek adalah 2, maka berapa banyak kemungkinan banyaknya bebek berbeda milik Pak Dengklek yang mungkin?
Tuliskan Jawaban dalam bentuk ANGKA.
Jawaban: 4
Soal B3 (NO.6)
BENAR atau SALAH: Banyaknya kemungkinan banyaknya bebek berbeda milik Pak Dengklek yang mungkin pasti dijamin kurang dari atau sama dengan banyaknya butir candil yang Pak Dengklek beli.
Jawaban: SALAH
Studi Kasus C: Tebas Tebang Pohon (N0. 7—9)
Deskripsi Cerita
Di belakang rumah Pak Dengklek terdapat N buah pohon yang mana pohon ke-i memiliki ketinggian sebesar Ai. Pak Dengklek berencana untuk menebang pohon-pohon tersebut untuk membangun sebuah kandang untuk bebek-bebeknya.
Cara menebang Pak Dengklek cukup unik yakni sebagai berikut. Pak Dengklek pertama-tama akan menentukan sebuah bilangan bulat non-negatif X yang disebut sebagai batas ketinggian maksimum. Kemudian, Pak Dengklek akan menebang bagian atas seluruh pohon yang memiliki tinggi lebih dari X sehingga pohon tersebut pada akhirnya memiliki ketinggian tepat X.
Sehingga, apabila sebuah pohon dengan ketinggian Y ditebang karena Y > X, maka Pak Dengklek akan mendapatkan sebuah potongan pohon dengan panjang Y – X dari pohon tersebut. Berikut adalah penebangan Pak Dengklek jika terdapat 10 buah pohon dengan ketinggian masing-masing sebesar 4, 2, 9, 9, 5, 3, 6, 7, 2, 10; dengan batas ketinggian maksimum sebesar 3. Seluruh potongan pohon yang ditebang akan disatukan dan dijumlahkan panjangnya.
Agar dapat membangun kandang, Pak Dengklek membutuhkan jumlah panjang potongan pohon yang ditebang yakni setidaknya sebesar M. Karena Pak Dengklek ingin pohon-pohon di belakang rumahnya tetap menjulang tinggi, Pak Dengklek akan memilih batas ketinggian maksimum yang paling tinggi selama ia dapat membangun kandang untuk bebek-bebeknya. Bantulah Pak Dengklek!
Soal Pemahaman
Soal C1 (NO. 7)
Asumsikan terdapat 20 pohon dengan ketinggian sebesar 1, 2, 3, dan seterusnya hingga 20. Apabila Pak Dengklek menebang dengan batas ketinggian maksimum sebesar 7, maka berapa jumlah panjang potongan pohon yang ditebang oleh Pak Dengklek?
Tuliskan Jawaban dalam bentuk ANGKA.
Jawaban: 91
Soal C2 (NO. 8)
BENAR atau SALAH: Untuk setiap kemungkinan pohon-pohon di belakang rumah Pak Dengklek, apabila Pak Dengklek dapat membangun sebuah kandang jika ia menebang dengan batas ketinggian maksimum sebesar Z dengan Z > 0, maka Pak Dengklek juga pasti dapat membangun sebuah kandang jika ia menebang dengan batas ketinggian maksimum sebesar Z – 1.
Jawaban: BENAR
Soal C3 (NO.9)
Asumsikan terdapat 10 pohon dengan ketinggian sebesar 10, 20, 30, dan seterusnya hingga 100. Apabila Pak Dengklek membutuhkan minimal jumlah panjang potongan pohon yang ditebang sebesar 111, berapakah batas ketinggian maksimum yang paling tinggi yang dapat dipilih oleh Pak Dengklek?
Tuliskan Jawaban dalam bentuk ANGKA.
Jawaban: 57
Studi Kasus: Mencicipi Biskuit (NO. 10—12)
Pak Dengklek sedang belajar membuat biskuit. Ia membuat beberapa tipe biskuit berbeda yang masing-masing tipe diletakkan pada toples-toples yang berbeda. Karena bahan-bahan yang diperlukan untuk membuat masing-masing tipe biskuit berbeda, bisa jadi tiap toples berisi banyak butir biskuit yang berbeda pula.
Pak Dengklek kemudian mengundang bebek-bebeknya untuk mencicipi biskuit-biskuit buatannya. Satu per satu, para bebek bebas mengambil satu butir biskuit mana pun yang mereka ingin cicipi. Agar Pak Dengklek mendapatkan ulasan yang cukup konkret, ia ingin semua tipe biskuit pernah dicicipi oleh sekian ekor bebek. Pak Dengklek ingin mencari tahu minimal bebek yang perlu diundang untuk mencicipi biskuit-biskuitnya.
Tuliskan Jawaban dalam bentuk ANGKA. (NO.10)
Asumsikan Pak Dengklek sudah membuat 7 tipe biskuit berbeda, yang masing-masing terdiri dari 5 butir biskuit. Jika Pak Dengklek ingin semua tipe biskuit pernah dicicipi oleh setidaknya 1 ekor bebek, berapa minimal bebek yang perlu diundang oleh Pak Dengklek?
Jawaban: 31
Tuliskan Jawaban dalam bentuk ANGKA. (NO. 11)
Asumsikan Pak Dengklek sudah membuat 100 tipe biskuit berbeda. Biskuit tipe 1 terdiri dari 10 butir, biskuit tipe 2 terdiri dari 20 butir, biskuit tipe 3 terdiri dari 30 butir, dan seterusnya hingga biskuit tipe 100 terdiri dari 1000 butir. Jika Pak Dengklek ingin semua tipe biskuit pernah dicicipi oleh setidaknya 5 ekor bebek, berapa minimal bebek yang perlu diundang oleh Pak Dengklek?
Jawaban: 50495
Tuliskan Jawaban dalam bentuk ANGKA. (NO. 12)
Asumsikan Pak Dengklek sudah membuat 3 tipe biskuit berbeda. Biskuit tipe 1 terdiri dari A butir, biskuit tipe 2 terdiri dari B butir, dan biskuit tipe 3 terdiri dari C butir. Diketahui bahwa total biskuit yang dibuat Pak Dengklek adalah 25 (dengan kata lain, A + B + C = 25). Jika diketahui pula bahwa Pak Dengklek perlu mengundang minimal 20 ekor bebek agar semua tipe biskuit pernah dicicipi oleh setidaknya 1 ekor bebek, maka berapa banyak triplet berbeda yang mungkin?
Jawaban: 21
13. Pseudocode berikut menggambarkan algoritma untuk mencari nilai terbesar dalam sebuah array:
luaCopy code
function findMax(arr):
max = arr[0]
for each item in arr:
if item > max:
max = item
return max
Jika array yang diberikan adalah [3, 5, 1, 2, 4], nilai apa yang akan dikembalikan oleh fungsi?
- a. 1
- b. 2
- c. 3
- d. 4
- e. 5
14. Diberikan dua pernyataan: P “Hujan turun” dan Q “Jalan basah”. Jika ¬Q adalah benar, maka:
- a. P pasti salah
- b. P pasti benar
- c. P mungkin benar
- d. Tidak ada cukup informasi
- e. P dan Q tidak terkait
15. Diketahui nP3=60, berapakah nilai n?
- a. 5
- b. 6
- c. 7
- d. 8
- e. 9
16. Pseudocode berikut untuk menentukan apakah sebuah kata adalah palindrom:
arduinoCopy code
function isPalindrome(word):
return word == reverse(word)
Apakah output fungsi ketika dijalankan dengan input “radar”?
- a. True
- b. False
- c. Error
- d. None
- e. 0
17. Mana yang merupakan kontrapositif dari pernyataan “Jika hari hujan maka jalan basah”?
- a. Jika jalan tidak basah maka hari tidak hujan
- b. Jika jalan basah maka hari hujan
- c. Jika hari tidak hujan maka jalan basah
- d. Jika hari hujan maka jalan tidak basah
- e. Jika jalan basah maka hari tidak hujan
18. Berapa banyak bilangan prima yang kurang dari 50?
- a. 15
- b. 16
- c. 17
- d. 18
- e. 19
19. Berapakah nilai kebenaran dari (P∨Q)∧¬(P∧Q) jika P adalah salah dan Q adalah benar?
- a. Benar
- b. Salah
- c. Tidak pasti
- d. Selalu salah
- e. Selalu benar
20. Berapakah jumlah semua bilangan genap antara 1 dan 100?
- a. 2450
- b. 2500
- c. 2550
- d. 2600
- e. 2650
21. Dari 8 bola yang diberi nomor 1 hingga 8, berapa banyak cara memilih 3 bola tanpa memedulikan urutan?
- a. 56
- b. 120
- c. 336
- d. 56
- e. 70
22. Sebuah dadu dilempar satu kali. Berapakah peluang muncul angka yang lebih besar dari 4?
- a. 1/6
- b. 1/3
- c. 1/2
- d. 2/3
- e. 1/4
23. Berapa banyak cara untuk mengatur 4 buku berbeda pada 2 rak yang berbeda jika setiap rak harus memiliki setidaknya satu buku?
- a. 14
- b. 24
- c. 34
- d. 44
- e. 54
24. Sebuah kotak berisi 6 bola merah, 4 bola hijau, dan 5 bola biru. Jika satu bola diambil secara acak, berapakah peluang bola tersebut bukan merah?
- a. 1/3
- b. 1/2
- c. 2/3
- d. 3/4
- e. 3/5
25. Dalam sebuah kelas terdapat 6 siswa. Berapakah jumlah cara mengatur mereka dalam satu baris jika dua siswa tertentu harus selalu berdampingan?
- a. 240
- b. 480
- c. 720
- d. 120
- e. 360
Penulis: Umu Hana Amini
Editor: Dicky Setyawan
Masuk tirto.id






































