tirto.id - Pendaftaran Olimpiade Sains Nasional (OSN) 2025 jenjang SMA telah dibuka sejak Maret dengan mencakup berbagai cabang, salah satunya Informatika/Komputer. Berikut ini silabus dan contoh soal untuk olimpiade Informatika tingkat SMA tahun 2025.
Tahapan Olimpiade dimulai dari seleksi di tingkat sekolah. Siswa yang lolos akan maju ke OSN tingkat Kabupaten/Kota (OSN-K), lalu ke tingkat Provinsi (OSN-P), dan akhirnya ke tingkat nasional.
Jumlah soal dan waktu pengerjaan cabang Informatika/Komputer di setiap tingkatan OSN berbeda-beda. Dikutip dari juknis resmi Panduan Olimpiade Sains Nasional 2025, pada OSN-K, peserta mengerjakan 30–50 soal dalam waktu 2 jam 30 menit.
Kemudian pada OSN-P, jumlah soal berkisar antara 20–32 dengan durasi pengerjaan 3 jam. Sementara itu, di tingkat nasional, kompetisi berlangsung selama dua hari, masing-masing dengan 3 soal dan waktu pengerjaan 5 jam per hari.
Silabus Olimpiade Cabang Informatika OSN Tingkat SMA 2025
Berdasarkan informasi resmi dari Kementerian Pendidikan Dasar dan Menengah (Kemdikdasmen), OSN cabang Informatika tingkat SMA tahun 2025 mencakup sepuluh materi yang dipecah menjadi berbagai lingkup. Berikut selengkapnya.
1. Dasar-dasar Pemrograman
- Sintaks dan semantik dasar dari bahasa pemrograman yang diperbolehkan pada OSN yang bersangkutan
- Variabel, tipe data, ekspresi, dan assignment
- Masukan dan keluaran dasar
- Percabangan dan perulangan
- Fungsi dan parameter
- Operator logika dasar (konjungsi, disjungsi, implikasi, biimplikasi, disjungsi eksklusif)
- Tabel kebenaran
- Modus Ponens dan Modus Tollens
- Bilangan bulat, operasi dasar, perpangkatan, dan perbandingan
- Sifat bilangan bulat (tanda, paritas, keterbagian)
- Operasi modular (penjumlahan, pengurangan, perkalian)
- Perpangkatan modular
- Bilangan prima, pecahan, persentase
- Teori bilangan dan teori himpunan
- Aturan penjumlahan dan perkalian
- Barisan aritmetika dan geometri
- Bilangan Fibonacci
- Permutasi dan kombinasi
- Probabilitas
- Pigeonhole principle
- Prinsip inklusi dan eksklusi
- Segitiga Pascal dan teorema binomial
- Konsep rekursi
- Fungsi matematis rekursi
- Prosedur rekursi sederhana
- Divide-and-conquer
- Backtracking
- Linear search dan binary search
- Bubble sort, insertion sort
- Quicksort, merge sort, heapsort
- Brute-force
- Greedy
- Divide-and-conquer
- Complete search (Brute force dan strategi prunning)
- Dynamic programming
- Tipe data primitif: boolean, integer, character, floating point
- Array (termasuk multidimensi)
- String dan berbagai operasinya
- Stack dan queue
- Binary heap dan disjoint set
- Point update dan range query (misalnya menggunakan Fenwick tree atau Segment tree)
- Tree dasar (termasuk rooted tree)
- Graf berarah dan tak berarah
- Graf berbobot dan tak berbobot
- Representasi graf (adjacency List, adjacency matrix, edge list)
- Penjelajahan graf (BFS, DFS, keterhubungan)
- Shortest path (algoritma Dijkstra, algoritma Bellman-Ford, algoritma Floyd-Warshall)
- Minimum spanning tree (algoritma Jarník-Prim dan Kruskal)
- Garis, segmen garis, dan sudut
- Segitiga, persegi, persegi panjang, lingkaran
- Titik dan koordinat di bidang Kartesius 2D
- Jarak Euclidean
- Teorema Pythagoras
- Definisi ConvexHull
Contoh Soal Olimpiade Cabang Informatika OSN Tingkat SMA 2025
Di bawah ini sejumlah contoh soal OSN Informatika SMA 2025.
A. Menghitung Subsekuens OSN
Diberikan sebuah string yang hanya terdiri dari huruf-huruf 'O', 'S', dan 'N'; Anda diminta untuk menghitung berapa banyak kemunculan subsekuens "OSN" dari string tersebut.
Secara persisnya, Anda diminta untuk menghitung banyaknya cara memilih huruf 'O', 'S', dan 'N' dari string yang diberikan sehingga huruf 'O' yang dipilih berada sebelum huruf 'S' yang dipilih, dan huruf 'S' yang dipilih berada sebelum huruf 'N' yang dipilih.
Sebagai contoh, ada 2 kemunculan subsekuens "OSN" pada string "SONOSONO", yakni dengan memilih huruf ke-2, 5, dan 7; serta dengan memilih huruf ke-4, 5, dan 7.
A1. Pada string "SONOSONOSONOSONOSONOSONOSONO" (yakni penggabungan 7 kali string "SONO"), berapa kalikah subsekuens "OSN" muncul?
A2. Manakah dari 5 pilihan string berikut yang memiliki kemunculan subsekuens "OSN" paling banyak?
a. "OSNOSN"
b. "OSSNNN"
c. "OSSSSSN"
d. "ONNNSOOON"
e. "NONONONONON"
A3. Dari seluruh kemungkinan string dengan panjang 9, tuliskan salah satu yang memiliki kemunculan subsekuens "OSN" paling banyak!
B. Berbagi Candil
Pak Bari memiliki N ekor bebek. Pagi hari ini, Pak Bari telah membeli M butir candil untuk dibagikan ke bebek-bebeknya. Perhatikan bahwa nilai M ini bisa saja 0 yang artinya Pak Bari sebenarnya tidak membeli candil.
Pak Bari 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 Bari.
Tugas Anda adalah menentukan banyaknya candil yang akhirnya dimakan oleh Pak Bari.
B1. Asumsikan Pak Bari memiliki 10 ekor bebek. Dari 5 skenario berikut, manakah yang menyebabkan Pak Bari akhirnya memakan butir candil paling banyak?
a. Pak Bari membeli 8 butir candil
b. Pak Bari membeli 12 butir candil
c. Pak Bari membeli 27 butir candil
d. Pak Bari membeli 64 butir candil
e. Pak Bari membeli 101 butir candil
B2. BENAR atau SALAH: Banyak candil yang akhirnya dimakan oleh Pak Bari selalu lebih kecil dari N.
Tuliskan jawaban dalam bentuk BENAR/SALAH dengan huruf kapital.
B3. Jika Pak Bari membeli 100 butir candil untuk dibagikan ke 7 ekor bebeknya, berapakah banyaknya candil yang akhirnya dimakan oleh Pak Bari?
Tuliskan jawaban dalam bentuk ANGKA.
Disclaimer: Soal di atas hanya merupakan contoh, bukan soal resmi dari Kemdikbud/Kemdikdasmen.
Penulis: Nisa Hayyu Rahmia
Editor: Beni Jo