Silabus

OSN-K OSN

Tidak terdapat perbedaan dengan Silabus OSN 2022.


Mengacu pada silabus IOI 2023 dengan berbagai penyesuaian.

  1. Dasar-dasar Pemrograman
    • Sintaks dan semantik dasar dari bahasa yang diperbolehkan pada OSN yang bersangkutan
    • Variabel, tipe data, ekspresi, dan assignment
    • Masukan dan keluaran dasar
    • Percabangan dan perulangan
    • Fungsi dan parameter
  2. Operasi Logika dan Bitwise
    • Operator logika dasar (konjungsi, disjungsi, implikasi, biimplikasi, disjungsi eksklusif)
    • Tabel kebenaran
    • Modus Ponens dan modus Tollens
  3. Aritmetika
    • Bilangan bulat, operasi (termasuk perpangkatan), perbandingan
    • Sifat-sifat bilangan bulat (tanda, paritas, keterbagian)
    • Operasi-operasi modular dasar (penjumlahan, pengurangan, perkalian)
    • Perpangkatan modular
    • Bilangan prima
    • Bilangan pecahan, persentase
    • Teori bilangan
    • Teori himpunan
  4. Aturan Berhitung
    • Aturan penjumlahan dan perkalian
    • Barisan aritmetika dan geometri
    • Bilangan Fibonacci
    • Permutasi dan kombinasi
    • Probabilitas
    • Pigeonhole principle
    • Prinsip inklusi dan eksklusi
    • Segitiga Pascal, teorema binomial
  5. Rekursi
    • Konsep rekursi
    • Fungsi matematis rekursi
    • Prosedur rekursi sederhana
    • Divide-and-conquer
    • Backtracking
  6. Pencarian dan Pengurutan
    • Linear search
    • Binary search
    • Bubble sort, insertion sort
    • Quicksort, merge sort, heapsort
  7. Strategi Pemecahan Masalah
    • Brute-force
    • Greedy
    • Divide-and-conquer
    • Backtracking (rekursif dan bukan rekursif)
    • Dynamic programming
  8. Struktur Data
    • Tipe data primitif (boolean, integer, character, floating point numbers)
    • Array (termasuk multidimensi)
    • String dan operasinya
    • Stack dan queue
    • Binary heap
    • Disjoint set
    • Segment tree (point update range query)
  9. Graf dan Tree
    • Tree dasar (termasuk rooted tree)
    • Graf berarah dan graf tak berarah
    • Graf berbobot dan graf 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, algoritma Kruskal)
  10. Geometri Dasar
    • Garis, segmen garis, sudut
    • Segitiga, persegi, persegi panjang, lingkaran
    • Titik, koordinat pada bidang Kartesius 2 dimensi
    • Jarak Euclidean
    • Teorema Pythagoras
    • Convex Hull (algoritma Graham scan, algoritma Monotone chain)