diff --git a/app/Config/Routes.php b/app/Config/Routes.php index ff2cd57..0d21ce7 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -34,6 +34,7 @@ $routes->get('/persiapan/nasional', 'Preparation::national'); $routes->get('/persiapan/lain-lain', 'Preparation::others'); $routes->get('/silabus', 'Syllabus::national'); +$routes->get('/silabus/kota', 'Syllabus::city'); $routes->get('/olimpiade', 'Competition::listNational'); $routes->get('/olimpiade/internasional', 'Competition::listInternational'); $routes->get('/olimpiade/regional', 'Competition::listRegional'); diff --git a/app/Controllers/Syllabus.php b/app/Controllers/Syllabus.php index e337b1d..7bcb4f6 100644 --- a/app/Controllers/Syllabus.php +++ b/app/Controllers/Syllabus.php @@ -3,7 +3,15 @@ class Syllabus extends BaseController { public function national() { return view('syllabus_national', [ - 'menu' =>'syllabus', + 'menu' => 'syllabus', + 'submenu' => '/' + ]); + } + + public function city() { + return view('syllabus_city', [ + 'menu' => 'syllabus', + 'submenu' => '/kota' ]); } } diff --git a/app/Views/home.php b/app/Views/home.php index cece0cb..c41000e 100644 --- a/app/Views/home.php +++ b/app/Views/home.php @@ -2,7 +2,7 @@ section('content') ?>
-

Olimpiade yang baru saja selesai: Olimpiade Sains Nasional 2023 Bidang Informatika dan International Olympiad in Informatics 2023.

+

Silabus OSN-K 2024 sudah dirilis.


diff --git a/app/Views/syllabus.php b/app/Views/syllabus.php index 0a27889..86bf15c 100644 --- a/app/Views/syllabus.php +++ b/app/Views/syllabus.php @@ -3,7 +3,8 @@ section('content') ?>

Silabus

- OSN + OSN-K + OSN
renderSection('subcontent') ?> diff --git a/app/Views/syllabus_city.php b/app/Views/syllabus_city.php new file mode 100644 index 0000000..cad77ea --- /dev/null +++ b/app/Views/syllabus_city.php @@ -0,0 +1,99 @@ +extend('syllabus') ?> + +section('subcontent') ?> + +
+

Terakhir diperbarui: Januari 2024.

+
+
+
+

Materi

+

Materi yang diajukan mengacu kepada silabus OSN, yang terdiri atas, namun tidak terbatas pada:

+ +
+

Bentuk Soal

+

A. Berpikir Komputasional

+ +
+

B. Pemecahan Masalah

+ +
+

C. Algoritmika

+ + +

Tidak ada bentukan/tipe khusus untuk masing-masing soal.

+

Setiap soal bisa saja berupa pilihan ganda, isian singkat, atau benar/salah. Tidak ada soal esai pada OSN-K.

+
+

Contoh Soal

+
+

A. Berpikir Komputasional

+

1. Mesin Penerjemah Bentuk

+

Pak Dengklek memiliki sebuah mesin ajaib yang dapat menerjemahkan 26 huruf alfabet (dari A hingga Z) ke 26 bentuk berbeda. Huruf yang sama akan diterjemahkan ke bentuk yang sama, sedangkan huruf yang berbeda akan diterjemahkan ke bentuk yang berbeda.

+

Untuk menggunakan mesin ini, Pak Dengklek terlebih dahulu menuliskan kata yang ingin diterjemahkan. Kemudian, mesin akan mencetak bentuk-bentuk hasil terjemahan setiap huruf di kata tersebut. Pada akhirnya, bentuk-bentuk ini akan dikumpulkan di dalam sebuah wadah yang dilabeli kata yang diterjemahkan.

+

Berikut ini merupakan isi dari wadah hasil terjemahan kata "BEBEK" dan "BADAK".

+ +

Jika Pak Dengklek ingin menerjemahkan kata "KERA", manakah dari 5 pilihan berikut yang mungkin merupakan isi dari wadah hasil terjemahan?

+ +
+

2. Mengumpulkan Bola dalam Labirin

+

Pak Dengklek memiliki sebuah labirin yang terdiri dari 100 petak, yang tersusun atas 5 baris dan 20 kolom. Terdapat beberapa bola yang tersebar di beberapa petak. Berikut ini merupakan labirin milik Pak Dengklek tersebut.

+ +
+

Pak Dengklek ingin meletakkan bebeknya ke salah satu petak kosong. Kemudian, Pak Dengklek ingin bebeknya dapat mengumpulkan sebanyak mungkin bola yang dapat ia temukan. Perhatikan bahwa bebek Pak Dengklek tidak dapat menembus tembok.

+

Jika Pak Dengklek meletakkan bebeknya secara optimal, berapa maksimal banyak bola yang dapat dikumpulkan oleh bebeknya?

+
+

B. Pemecahan Masalah

+

3–5. 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.

+

Soal 3. Manakah dari 5 pilihan string berikut yang memiliki kemunculan subsekuens "OSN" paling banyak?

+ +

Soal 4. Dari seluruh kemungkinan string dengan panjang 9, tuliskan salah satu yang memiliki kemunculan subsekuens "OSN" paling banyak!

+

Soal 5. Pada string "SONOSONOSONOSONOSONOSONOSONO" (yakni penggabungan 7 kali string "SONO"), berapa kalikah subsekuens "OSN" muncul?

+
+

C. Algoritmika

+

6–8. Merah, Kuning, Hijau

+

Perhatikan fungsi-fungsi berikut!

+ +

Soal 6. Berapakah keluaran dari hijau(123, 456789, 10)?

+

Soal 7. Asumsikan x, y, dan z adalah bilangan bulat positif tidak lebih dari 100.

+

Manakah pernyataan yang salah? +

+

Soal 8. Asumsikan x, y, dan z adalah bilangan bulat positif tidak lebih dari 100.

+

Jika baris ke-2 diganti dari int hasil = x % z; menjadi hanya int hasil = x; saja, apakah fungsi hijau(x, y, z) selalu berjalan sebagaimana mestinya sebelum diganti?

+

Jawablah dengan "YA" atau "TIDAK".

+
+
+ +endSection() ?> diff --git a/public/images/osnk-a-1.png b/public/images/osnk-a-1.png new file mode 100644 index 0000000..959554e Binary files /dev/null and b/public/images/osnk-a-1.png differ diff --git a/public/images/osnk-a-2.png b/public/images/osnk-a-2.png new file mode 100644 index 0000000..edcb801 Binary files /dev/null and b/public/images/osnk-a-2.png differ diff --git a/public/images/osnk-a-3.png b/public/images/osnk-a-3.png new file mode 100644 index 0000000..70ce019 Binary files /dev/null and b/public/images/osnk-a-3.png differ diff --git a/public/images/osnk-c-1.png b/public/images/osnk-c-1.png new file mode 100644 index 0000000..023bc40 Binary files /dev/null and b/public/images/osnk-c-1.png differ