OLIMPIADE KOMPUTER SMA NEGERI 1 TRENGGALEK
Pembina : Budi Rianto, S.ST.
Perkembangan teknologi dan era industri 4.0 menjadi tantangan nyata yang kini kita hadapi. Kita, bukan saja dituntut untuk beradaptasi, melainkan juga harus mampu menaklukkannya. Dunia Bukan hal yang mudah tentu, tapi bukan pula hal mustahil bagi kita untuk mampu berperan di dalamnya.
Yang jelas, harus kita pahami, revolusi teknologi selalu diawali dengan revolusi pemahaman sains. Teknologi adalah hasil penerapan dari pemahaman sains yang baru dan lebih mendalam. Karena itu, jangan sampai kita merasa ilmu murni tak membawa manfaat langsung pada keseharian kita. Persepsi yang tak jarang membuat banyak pihak lebih memilih mengutamakan ilmu dan riset terapan. Padahal, keduanya perlu dipadupadankan, diselaraskan, dan diimplementasikan.
Tim Olimpiade Sains Nasional Bidang Informatika / Komputer SMA Negeri 1 Trenggalek adalah Tim yang terdiri dari siswa – siswi yang masih aktif sebagai peserta didik di SMA Negeri 1 Trenggalek yang dipersiapkan untuk mengikuti atau mewakili sekolah dalam Lomba OSN Bidang Komputer / Informatika dengan seleksi mulai Tingkat Sekolah, Kabupaten, Provinsi, Nasional yang diselenggarakan oleh Pusat Prestasi Nasional Kementerian Pendidikan, Kebudayaan, Riset dan Teknologi maupun Internasional ( IOI ).
Materi OSN bidang Informatika / Komputer yang akan dipelajari :
- 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
- Operasi Logika dan Bitwise
- Operator logika dasar (konjungsi, disjungsi, implikasi, biimplikasi, disjungsi eksklusif)
- Tabel kebenaran
- Modus Ponens dan modus Tollens
- 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
- 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
- Rekursi
- Konsep rekursi
- Fungsi matematis rekursi
- Prosedur rekursi sederhana
- Divide-and-conquer
- Backtracking
- Pencarian dan Pengurutan
- Linear search
- Binary search
- Bubble sort, insertion sort
- Quicksort, merge sort, heapsort
- Strategi Pemecahan Masalah
- Brute-force
- Greedy
- Divide-and-conquer
- Backtracking(rekursif dan bukan rekursif)
- Dynamic programming
- Struktur Data
- Tipe data primitif (boolean, integer, character, floating point numbers)
- Array(termasuk multidimensi)
- Stringdan operasinya
- Stackdan queue
- Binary heap
- Disjoint set
- Graf dan Tree
- Treedasar (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(algoritme Dijkstra, algoritme Bellman-Ford, algoritme Floyd-Warshall)
- Minimum spanning tree(algoritme Jarník-Prim, algoritme Kruskal)
- Geometri Dasar
- Garis, segmen garis, sudut
- Segitiga, persegi, persegi panjang, lingkaran
- Titik, koordinat pada bidang Kartesius 2 dimensi
- Jarak Euclidean
- Teorema Pythagoras