Mengenal Soal OSN · Pelajaran 1 dari 10
Mengenal OSN Informatika
7 menit baca · BelajarCode
Olimpiade Sains Nasional (OSN) bidang Informatika adalah lomba untuk siswa SMA dan sederajat. Lombanya berjenjang, mulai dari tingkat kabupaten atau kota, provinsi, sampai nasional. Peserta terbaik tingkat nasional dapat melanjutkan ke pembinaan Tim Olimpiade Komputer Indonesia (TOKI) untuk memilih wakil Indonesia di International Olympiad in Informatics (IOI).
Jenis soal yang umum
| Jenis | Yang diuji | Contoh |
|---|---|---|
| Logika dan analitika | Menalar dari beberapa pernyataan | Siapa yang berbohong, urutan antrean |
| Aritmetika | Pola bilangan, sisa bagi, berhitung cepat | Digit terakhir dari bilangan berpangkat |
| Algoritmika | Membaca dan menelusuri potongan kode | Berapa nilai x setelah perulangan bersarang |
| Pemrograman | Menulis program yang diuji otomatis | Program yang benar untuk semua kasus uji dalam batas waktu |
Babak awal umumnya berisi soal logika, aritmetika, dan algoritmika yang dikerjakan tanpa menulis program. Babak lanjutan meminta peserta menulis program yang dinilai otomatis dengan banyak kasus uji.
Selalu baca aturan resmi
Format soal, jumlah babak, dan bahasa pemrograman yang diizinkan bisa berubah dari tahun ke tahun. Selalu periksa pedoman resmi penyelenggara. Banyak peserta memakai C++ karena cepat. Di kursus ini, contoh ditulis dengan Python supaya kamu bisa fokus pada logikanya.
Cara berlatih
- Kuasai dasar pemrograman lebih dulu: percabangan, perulangan, list, fungsi, dan rekursi.
- Kerjakan soal tahun-tahun sebelumnya dengan batas waktu seperti lomba sungguhan.
- Berlatih di situs penilaian otomatis, misalnya TLX milik TOKI, supaya terbiasa dengan format masukan dan keluaran.
- Catat soal yang gagal, lalu pelajari pembahasannya. Ulangi seminggu kemudian tanpa melihat pembahasan.
- Berlatih bersama teman dan saling menjelaskan cara penyelesaian.
Cek pemahaman
Pada soal pemrograman OSN, bagaimana program peserta biasanya dinilai?
Latihan
Rencana latihan delapan minggu
Susun rencana latihan delapan minggu menjelang babak awal OSN. Bagi waktumu untuk dasar pemrograman, soal logika dan aritmetika, menelusuri algoritma, dan simulasi lomba.
Pembahasan
Contoh rencana:
- Minggu 1 dan 2: dasar Python atau C++, sampai lancar memakai list, perulangan, dan fungsi. Kerjakan 3 soal mudah per hari.
- Minggu 3: soal logika dan aritmetika (pelajaran 2 dan 3 kursus ini), 10 soal per hari.
- Minggu 4: menelusuri pseudocode dan kombinatorika dasar.
- Minggu 5: rekursi dan relasi rekurens.
- Minggu 6: soal pemrograman: simulasi, brute force, dan greedy.
- Minggu 7: dua kali simulasi lomba lengkap dengan soal tahun lalu, lalu pelajari kesalahan.
- Minggu 8: ulangi soal yang pernah gagal, istirahat cukup menjelang hari lomba.
Rencana yang realistis dan konsisten lebih baik daripada belajar semalaman menjelang lomba.
Jalankan contoh kode di pelajaran ini tanpa instalasi lewat compiler Python online.