Anda di halaman 1dari 16

Edisi : Juli 2019

Tim Indonesia Persembahkan


3 Perak dan 1 Perunggu dari
IOI 2018 di Jepang

E
mpat siswa terbaik Indonesia yang Dalam dua hari pertandingan yang dis-
tergabung sebagai Tim Olimpiade elenggarakan, Steven Wijaya berhasil me-
Komputer Indonesia 2018 siap raih nilai 326, berada pada posisi 33 dari
bertanding di ajang International Olym- 335 peserta dan meraih medali Perak, se-
piad in Informatics ke 30 yang akan dis- dangkan Abdul Malik Nurrokhman me-
elenggarakan pada tanggal 1 s.d. 8 Septe- raih nilai 319, berada pada posisi 41 mer-
mber 2018 di Tsukuba, Jepang. aih medali Perak, Ahmad Haulian Yoga
Empat siswa terbaik Indonesia : Ab- Pratama, meraih niai 272 berada di posisi
dul Malik Nurrokhman (SMA Semesta 84 meraih medali Perak dan Muhammad
BBS Semarang), Steven Wijaya (SMAS Salman Al Farisi mengumpulkan nilai
Kanisius Jakarta(, Ahmad Haulian Yoga 230 dan meraih medali Perunggu.
Pratama (SMA Taruna Nusantara Mage- IOI ke 30 ini diikuti oleh 335 peser-
lang) dan Muhammad Salman Al-Farisi ta yang berasal dari 87 negara. Sebagian
(SMA Taruna Nusantara Magelang) ber- besar peserta memang mengakui bahwa
hasil mempersembahkan 3 medali perak soal-soal yang diberikan dalam IOI ini
dan 1 medali perunggu dalam ajang In- termasuk sulit. Nilai tertinggi diraih oleh
ternational Olimpiad in Informatics ke 30 Benjamin Qi dari Amerika Serikat yang
yang diselenggarakan di Tsukuba, Jepang memperoleh nilai 449 dari total skor 600.
pada tanggal 1 s.d. 8 September 2018 lalu. Setelah mengikuti 23 kali IOI total medali
Delegasi Indonesia didampingi oleh yang telah diraih Indonesia hingga saat ini
Team Leader Bpk. Dr. Yugo K. Isal (Dosen adalah 2 Medali Emas, 22 Medali Perak
Fasilkom UI dan Pembina TOKI) sebagai dan 37 Medali Perunggu.(fz)
leader dan Brian Marshall (Ikatan Alumni
TOKI) sebagai deputy leader.

1
Inggriani

Julio
Yudhi

KON
TRIBU
Fauzan
TOR Ammar

background imae : http://bgfons.com/download


Wahyono
Yugo

Adi Yonas

Agenda Kegiatan OSN 2019


Bidang Informatika/Komputer

30 Juni Kedatangan peserta ke Manado


1 Juli Pagi : Acara Pembukaan
Siang : Sesi Latihan di di SMA Rex Mundi, Manado
2 Juli Pertandingan Hari ke 1 di SMA Rex Mundi, Manado
3 Juli Pertandingan Hari ke 2 di SMA Rex Mundi, Manado
4 Juli Wisata Edukasi
5 Juli Upacara Penutupan, Pembagian Medali
6 Juli Kembali ke daerah masing-masing

2
Selamat Datang di OSN 2019
Selamat Datang (kembali) di Manado

Pada awal bulan Juli 2019 ini kota Manado, Sulawesi Utara akan menjadi sorotan
dunia pendidikan menengah di Indonesia. Ya, .. disinilah akan diselenggarakan
kegiatan olimpiade sains paling bergengsi di Indonesia yaitu Olimpiade Sains Na-
sional ke XVIII. Bagi kota Manado sendiri tahun ini merupakan kali ke dua men-
jadi tuan rumah acara bergengsi ini, setelah sebelumnya juga pernah menjadi
tuan rumah Olimpiade Sains Nasional ke X pada tahun 2011 lalu.

Terdapat 9 bidang lomba yang akan dilaksanakan dalam OSN bidang SMA kali ini,
yaitu Bidang Matematika, Fisika, Kimia, Biologi Astronomi, Informatika/Kom-
puter, Ilmu Kebumian, Geografi dan Ekonomi. Dalam kurun waktu satu minggu
ini lebih kurang 750 siswa dari seluruh Indonesia akan bertanding mengerahkan
segala kemampuannya untuk menunjukkan diri mereka sebagai siswa-siswa ter-
baik dari seluruh Indonesia yang berilmu, berkarya dan berprestasi.

Disela-sela lomba tentunya para siswa juga dapat menyempatkan diri untuk
menikmati keindahan alam dan kelezatan kuliner kota Manado yang sudah san-
gat terkenal hingga ke dunia Internasional.

Selamat bertanding dengan penuh semangat dan sportifitas.

SMA, Maju Bersama Hebat Semua !

3
25 Tahun Indonesia di IOI 2019
I nternational Olympiad in Informatics
(IOI) ke 31 tahun 2019 ini akan menjadi
acara yang bersejarah bagi Tim Olim-
piade Komputer Indonesia (TOKI) dalam
kiprahnya mengikuti ajang kompetisi pal-
medali dalam seleksi terbaik di tingkat na-
sional (OSN) berhak mengikuti pembinaan
dan seleksi lanjutan.
Pembinaan pertama dilaksanakan di
Kampus Institut Pertanian Bogor pada tang-
ing bergengsi di bidang Informatika yang gal 16 September - 15 Oktober 2018. Ta-
diselenggarakan setiap tahun di lokasi yang hap pembinaan ini lebih menekankan pada
berbeda-beda. Tahun 2019 adalah tahun ke pembekal-an kemampuan fundamental para
25 Indonesia berpartisipasi dalam kegiatan siswa dalam pembuatan program. Ditengah-
tersebut. tengah jadwal pembinaan dilakukan pula tes
Indonesia pertamakali ikut IOI tahun psikologi bagi seluruh siswa yang bertujuan
1995 ketika itu dilaksanakan di Eindhoven, untuk mendapatkan gambaran minat dan
Belanda dengan mengirimkan 1 orang kon- bakat serta memperoleh rekomendasi siswa
testan (Wirawan Purwanto) dan seorang dari para psiokolog. Diakhir pembinaan di-
pendam-ping (Bpk. J.W. Saputro). Dalam lakukan seleksi dan ditetapkan 16 siswa yang
keikutsertaan pertama ini, Wirawan secara lolos dan berhak mengikuti pembinaan dan
mengejutkan berhasil meraih medali Perak. seleksi selanjutnya.
Sejak saat itu, TOKI selalu mengirimkan Pembinaan tahap selanjutnya dilak-
delegasinya ke IOI setiap tahunnya, Indone- sanakan di Kampus Institut Teknologi Sepu-
sia pernah batal mengirimkan delegasinya luh November, Surabaya pada tanggal 24
ketika di tahun 2003 ketika IOI diselengga- Februari sampai 10 Maret 2019. Pembinaan
rakan di Amerika Serikat. dilaksanakan bertujuan memberikan bekal/
memperkuat pemahaman para siswa dengan
Indonesia Menuju IOI 2019 teknik-teknik pemrograman dan materi-
Tahun 2019 ini Tim Olimpiade Kom- materi algoritma lanjut melalui kegiatan
puter Indonesia akan mengirimkan lagi 4 pengayaan materi, latihan, simulasi dan dis-
siswa terbaiknya dalam IOI ke 31. Empat kusi. Pembinaan di-pimpin langsung oleh
siswa tersebut terpilih melalui proses pem- bapak Rully Soelaiman, S.Kom.,M.Kom.
binaan dan seleksi secara berjenjang sejak Diakhir pembinaan diumumkan 8 siswa
tingkat sekolah, kota/kabupaten, propinsi terbaik yang berhak lolos mengikuti pembi-
dan seleksi nasional dalam Olimpiade Sains naan dan seleksi tahap 3.
Nasional 2018 yang kala itu diselenggarakan Pembinaan Tahap 3 dilaksanakan di
di Kota Padang, Sumatra Barat. Para peraih Kampus Baru Fakultas Ilmu Komputer, Uni-

4
Tahun Medali Total
versitas Indonesia, Depok pada tanggal 12
sampai 26 Mei 2019. Pembinaan ini diikuti G TOKISdi IOI B
Peroleh Medali
oleh 9 orang siswa. Dilaksanakan dengan 2018 0 3 1 4
kegiatan Pengayaan materi dan latihan yang
banyak dibantu oleh para alumni TOKI yang 2017 0 1 3 4
sudah memiliki pengalaman dan kesiapan 2016 0 0 4 4
mental dalam bertanding lebih banyak. Di
tengah pelatnas para peserta juga mengikut 2015 0 2 1 3
kegiatan Asia Pasific Olympian in Informat- 2014 0 0 4 4
ics 2019 yang hasilnya juga dimanfaatkan
sebagai salah unsur penilaian seleksi. Diakh- 2013 0 2 2 4
ir pembinaan terpilih 4 siswa dengan nilai 2012 0 1 3 4
ter-tinggi yang secara otomatis berhak me-
wakili Indonesia dalam ajang IOI ke 31 yang 2011 0 0 2 2
akan diselenggarakan di Baku, Azerbaijan 2010 0 2 1 3
bulan Agustus yang akan datang, yaitu :
1. Abdul Malik Nurrohman, SMA Se- 2009 0 2 1 3
mesta BBS Semarang 2008 1 0 3 4
2. Vincent Ng, SMA Pribadi Bandung
3. Fausta Anugrah Dianparama, SMA 2007 0 0 4 4
Negeri 1 Yogyakarta 2006 0 1 0 1
4. Moses Mayer, SMA Jakarta Interna-
tional School 2005 0 2 1 3
Sebelum berangkat ke Baku, 4 siswa 2004 0 2 1 3
tersebut masih akan mengikuti pembinaan
tahap 4 yang akan lebih banyak berupa latih 2002 0 1 1 2
tanding (sparring) dengan para alumni yang 2001 0 0 1 1
secara pengalaman dan teknik jauh lebih
unggul yang bertujuan untuk meningkat- 2000 0 0 2 2
kan semangat dan menambah pengalaman 1999 0 0 0 0
para siswa dalam bertanding, Kita doakan
bersama 4 siswa terbaik Indonesia ini da- 1998 0 2 1 3
pat menghasilkan prestasi terbaiknya dalam 1997 1 0 1 2
ajang IOI ke 31 tahun 2019 di Baku, Azer-
baijan. 1996 0 0 0 0
Go TOKI, Go Get Golds !! 1995 0 1 0 1

5
Untuk Guru dan Sekolah
Kurikulum Nasional K-12 Informatika
Oleh : Dr. Inggriani
(Pembina TOKI dan Narasumber Pengembangan Kurikulum Informatika)

S
ejak dihapusnya mata pelajaran TIK bot (mesin terprogram) yang kinerjanya jauh
(Teknologi Informasi dan Komunikasi) lebih efisien. Kemampuan yang dibutuhkan
dari kurikulum 2013, banyak guru geli- di zaman Industri 4.0 dan Society 5.0 adalah
sah. Padahal di beberapa negara lain, TIK juga kemampuan penyelesaian persoalan kompleks
dihapus tetapi langsung digantikan dengan In- yang solusinya dilandasi kemampuan berpikir
formatika (istilah Informatika di sini, dipakai komputasional, pembentukan pengetahuan,
sebagai padanan dari “informatics”, “Computer dan penerapan teknologi. Kemampuan ber-
Science”, “Computing”). Perbedaan antara TIK pikir komputasional ini sangat diperlukan ka-
dengan Informatika perlu diperjelas. rena saat ini manusia hidup dalam dua belahan
TIK berkaitan dengan penggunaan dan dunia yaitu dunia nyata, dan sekaligus dunia
pemanfaatan perangkat/produk teknologi digital karena komputer dan IoT (Internet of
(informasi), sedangkan informatika berkaitan Think) yang hadir di mana-mana.
dengan disiplin ilmu, yang mencakup peng- Melalui Permendikbud 35, 36, 37 Tahun
olahan informasi simbolik (dalam bentuk 2018, Informatika menjadi mata pelajaran
simbol) dengan mesin terprogram (yaitu kom- pilihan untuk SMA, sebagai alternatif dari Pra-
puter), untuk menghasilkan teori, pendekatan,
Background Image : https://steemit.com

karya untuk SMP, serta dimasukkan sebagai


dan algoritma baru, serta produk teknologi, kegiatan tematik untuk SD. Mata Pelajaran In-
perangkat keras serta perangkat lunak mela- formatika bukanlah TIK yang muncul kembali
lui proses rekayasa yang didasari sains dan dengan nama berbeda. Muatan informatika
matematika. dirumuskan untuk membuat siswa mampu
Manusia yang hanya trampil meman- bersaing di dunia di abad ke-21, mengantisi-
faatkan TIK, tidak akan mampu bersaing di pasi perkembangan teknologi informasi di
dunia kerja abad 21 sebab ketrampilan tanpa masa depan, dengan tetap mengedepankan
kecerdasan berpikir dapat digantikan oleh ro- keilmuan, menumbuhkan daya pikir kritis dan

6
kreatif untuk mampu menyelesaikan perso- produk TIK serta berkomunikasi dan
alan-persoalan global yang semakin kompleks berkolaborasi di dunia digital dengan me-
secara efisien dan optimal, tanpa melupa- manfaatkan sarana TIK.
kan untuk memupuk kearifan sebagai insan 3. Berpengetahuan, yaitu kemampuan ten-
berkarakter yang mampu berkolaborasi dalam tang keilmuan Informatika yang men-
dunia nyata maupun dunia digital. cakup lima area pengetahuan Informatika
yaitu Teknik Komputer, Jaringan Kom-
Sekilas Tentang Kurikulum Informatika puter/Internet, Analisis Data, Algoritme
Kurikulum K-12 Informatika untuk dan Pemrograman, dan Dampak Sosial
Indonesia -dalam konteks Kurikulum 2013- Informatika.
dirancang berkesinambungan mulai dari kelas 4. Berkarakter, yaitu berkemampuan dalam
I s.d Kelas XII, dengan mengacu ke kerangka mendayagunakan teknologi untuk me-
kurikulum internasional [https://k12cs.org], nunjang kehidupan dan berkomunikasi.
dan standar yang dikeluarkan oleh ACM dan Secara ringkas, kurikulum K-12 Informa-
CSTA [https://csta.org]. tika dilandasi Berpikir Komputasional (BK);
Kurikulum K-12 informatika disesuaikan mencakup empat bidang ilmu penge-tahuan
dengan kondisi Indonesia, yaitu (a) mengako- informatika yaitu Teknik Komputer (TK),
modir pengenalan dan pelatihan keterampilan Jaringan Komputer dan Internet (JKI), Anali-
memanfaatkan TIK, yang masih dinilai perlu sis Data (AD), Algoritme dan Pemrograman
untuk disampaikan bukan hanya teknologinya (AP), dan Dampak Sosial Informatika (DSI);
tetapi juga best practices dalam pemanfaatan- dilengkapi dengan Praktika Lintas Bidang
nya, dan (b) memunculkan Berpikir Kom- (PLB) serta pemanfaatan Teknologi Informasi
putasional secara eksplisit, karena memben- dan Komunikasi (TIK). Semua komponen
tuk kemampuan “berpikir” selama ini kurang tersebut digambarkan sebagai berikut :
diperhatikan dalam pelaksanaan kurikulum.
Terlepas dari muatan informatika, kuri-
kulum informatika dirancang untuk mewujud-
kan siswa menjadi SDM dengan kemampuan
yang dirumuskan pada [https://p21.org], yaitu
kemampuan berpikir kritis, kreatif, berkolabo-
rasi, dan komunikatif untuk menyelesaikan
problema dunia yang semakin kompleks. Se-
lain itu, untuk memenuhi standar siswa yang
didefinisikan oleh International Society for
Technology in Education [https://iste.org] yaitu:
empowered learner, digital citizen, knowledge
constructor, innovative designer, computational
thinker, global collaborator, effective communi-
cator.
Muatan Informatika dijabarkan menjadi
seperangkat Kompetensi Inti (KI) dan Kompe-
tensi Dasar (KD) yang mencakup kemampuan
sebagai berikut.
1. Berpikir, yaitu berpikir komputasion-
al yang menjadi landasan dan prinsip Rancangan kurikulum K12-informatika
pemecahan persoalan yang akan disele- tetap memerhatikan bahwa tidak semua siswa
saikan dengan bantuan komputer. akan melanjutkan studi atau bekerja di bidang
2. Berkarya dan terampil, yaitu kemampuan komputing, karena bidang studi-bidang studi
dalam menggunakan dan menghasilkan lainnya juga terbuka luas. Informatika perlu

7
diberikan, karena bidang studi lanjut apapun
membutuhkan komputer, sehingga menun-
tut siswa mampu berpikir komputasional dan
trampil memanfaatkan teknologi informasi.
Rancangan kurikulum K-12 Informatika
bersifat umum, masih memberi ruang un-
tuk dikembangkan pada sekolah vokasi, yaitu
penambahan keterampilan yang siap pakai dan
pembentukan tenaga kerja profesional dengan
kualifikasi Teknisi Komputer dan Jaringan,
Teknisi di bidang Rekayasa Perangkat Lunak,
Programmer, Administrator Basis Data.

Bagaimana dengan Bim-TIK ?


Implementasi kurikulum K-12 Infor-
matika tidak menghapus pelaksanaan Bim- sumber : www.ignitemyfutureinschool.org
bingan TIK (Bim-TIK), yang selama ini diatur
melalui permendikbud 45 tahun 2015 tentang K-12 Informatika, di luar dari persyaratan ad-
peran guru TIK dan KKPI. Melalui Bim-TIK, ministratif yang ditetapkan oleh pemerintah.
diharapkan agar semua siswa dan guru, men- Sekolah perlu mulai membentuk tim
jadi warga yang tidak canggung hidup di dunia kurikulum, bekerja sama dengan perguruan
digital, yang saat ini menjadi kecakapan hidup tinggi dan perhimpunan guru mata pelajaran
yang penting. informatika. Para guru informatika berkolabo-
Disarankan, agar BimTIK dilaksanakan rasi dengan sesama guru dan perguruan tinggi,
dengan membuat paket pelajaran berisi muat- untuk merumuskan silabus sekolah, Program
an TIK, yang disertai praktek berpikir kom- Tahunan, Program Semester dan RPP.
putasional, ditambah dengan DSI, AD, dan Guru TIK harus bersiap menjadi guru In-
PLB, yang mengacu ke KI/KD Kurikulum K-12 formatika, sehingga perlu mempelajari kemba-
Informatika. li materi mata kuliah terkait dasar komputing,
Pemanfaatan TIK harus dilandasi ber- a.l.: organisasi dan arsitektur komputer, sistem
pikir dan kearifan agar tidak menimbulkan operasi, Jaringan Komputer, Pengolahan data
aspek destruktif, sehingga perlu memerhati- dan Basis Data, Algoritma dan Pemrograman,
kan dampak teknologi informasi dan produk- Struktur Data, Strategi Algoritma untuk Pe-
produknya terhadap diri sendiri, maupun ke- nyelesaian Persoalan, Analisis Kompleksitas,
hidupan bermasyarakat yang dicakup dalam Matematika Diskrit, Logika dan Aljabar, Pro-
DSI. Di era Big-data, sudah selayaknya insan babilitas dan Statistika, Sosio Informatika.
Indonesia mempunyai kepekaan terhadap Berbekal pengetahuan materi dasar kom-
makna data, pengolahan dan interpretasi data puting dan aspek pedagoginya, guru infor-
sehingga aspek AD perlu diperhatikan. TIK matika akan mampu mengkaitkannya ke KI/
tidak terlepas dari PLB di mana siswa berkreasi KD dan model silabus yang dirancang, me-
menggunakan teknologi dan aplikasi untuk nyesuaikan bahasanya sesuai usia siswa tanpa
menghasilkan produk-produk digital baik mengabaikan aspek kelilmuannya. KI/KD
yang berorientasi seni maupun rekayasa. dan model silabus yang dirumuskan oleh Pu-
sat Kurikulum dan Pembelajaran yang untuk
Persiapan Implementasi sementara, dapat diakses di http://aren.cs.ui.
Bagian ini berisi ringkasan persiapan ac.id/kikd/index.php.
yang perlu dilakukan oleh Sekolah dan guru Berbekal KI/KD dan model silabus yang
pengajar untuk mengimplementasi Kurikulum masih bersifat umum tersebut, guru menyusun

8
silabus spesifik yang paling cocok diterapkan tetapi pemrograman atau software development
sesuai untuk siswa sekolahnya, dan memilih hanya dapat dilakukan oleh manusia.
kasus-kasus yang sesuai keadaan sekitarnya Memang, tak dapat dipungkiri bahwa
(urban, pedesaan, pertanian, maritim, perta- koding merupakan kegiatan yang paling “ter-
mbangan, pegunungan, pariwisata, atau lain- lihat” dan dapat dinikmati hasilnya, sehingga
nya). Sistem telekomunikasi dan Internet, per- bagi pemula, koding adalah kegiatan yang pa-
angkat keras (smartphone, tablet, laptop, PC) ling menyenangkan.
serta perangkat lunak memang diperlukan, Pemrograman, bahkan koding dapat
tetapi yang lebih diutamakan adalah guru yang dipakai sebagai salah satu cara untuk belajar
kreatif, inovatif, mumpuni, yang mampu mem- berpikir komputasional. Maka, jangan ragu
bawa siswa ke dalam proses pembelajaran ber- mulai dengan belajar koding, tapi patut di-
nuansa keilmuan yang membumi dan berpusat ingat bahwa siswa tidak boleh berhenti sampai
ke siswa (Student Centered Learning), dengan dengan koding, harus meningkat menuju pro-
menerapkan Problem Based Learning dan Pro- gramming dan problem solving.
ject Based Learning, untuk mengarahkan siswa Ajang IOI (International Olympiad in
mengkonstruksi pengetahuan (constructivist). Informatics) yang diikuti oleh TOKI setiap ta-
Selama proses pembelajaran, siswa diajak aktif hun sejak tahun 1995, merupakan ajang lomba
dalam mengamati dan menggali pengetahuan problem solving tingkat tinggi yang solusinya
melalui pengamatan, eksplorasi, eksursi, main dalam bentuk program yang efisien dan op-
peran, games, simulasi, atau mengerjakan pro- timal, yang didasari berpikir komputasional.
jek-projek menarik bernuansa STE(A)M – Sci- Untuk menuju ke IOI, siswa mengikuti seleksi
ence, Technology, Engineering, Art, Mathemat- berjenjang dalam jalur Olimpiade Sains Na-
ics. Buku siswa akan dikonstruksi oleh siswa sional (OSN) yang dalam proses seleksinya
sendiri berdasarkan aktivitas yang dijalaninya. membutuhkan kemampuan berpikir kom-
Semua materi dan bahan belajar dihimpun putasional tingkat tinggi, dan penerapan ilmu
dalam sebuah repositori pengetahuan sekolah, pengetahuan informatika dalam kehidupan
yang akan menjadi “resources” (sumber daya) sehari-hari untuk tingkat SMA.
belajar yang berguna bagi semua pihak.
Di akhir semester, guru dan siswa me- Penutup
nyusun portfolio yang merekam muatan dan Pembekalan informatika, sebagai salah
proses pembelajaran yang sudah dilaksanakan, satu ilmu formal yang serumpun dengan ilmu
disertai dengan refleksi dan evaluasi diri. Port- matematika, sudah menjadi kebutuhan masa
folio guru berguna untuk perbaikan berkela- kini. Pendidikan yang bertumpu kepada pem-
njutan dari pelaksanaan proses pembelajaran. bentukan karakter baik, dilandasi kemampuan
Portfolio siswa akan merekam jejak digital dari berpikir komputasional, mengasah daya pikir
semua pengetahuan yang dialami dan dirajut kritis, kreatif dan inovatif, serta ketrampilan
oleh siswa menjadi pengetahuan yang akan menggunakan teknologi (bukan “dijajah” oleh
berguna untuk berbagai bidang ilmu lainnya. teknologi) akan membentuk insan Indonesia
yang mampu bersaing di dunia global yang
Bagaimana Koding dan Pemrograman ? teknologinya selalu berubah dan berkembang
Koding adalah menuliskan implementasi pesat, apapun profesinya.
suatu solusi menjadi program komputer dalam Mengingat pentingnya penguasaan infor-
bahasa pemrograman tertentu. Pemrograman matika, kalaupun karena alasan administratif
adalah kegiatan problem solving, termasuk di sekolah belum dapat melaksanakan secara pe-
dalamnya mewujudkan solusi dalam bentuk nuh, sebaiknya sekolah mengambil keputusan
program dengan melakukan kegiatan koding. untuk tetap memulai mengadopsi kurikulum
Jadi, koding adalah bagian dari pemrograman. K-12 informatika sebagai bagian dari kegiatan
Koding dapat digantikan oleh code generator, ekstra kurikuler.

9
Soal OSN 2018 : Jembatan Layang
Time limit: 1 s, Memory limit: 64 MB - Soal ini ditulis oleh Ammar Fathin Sabili.

D i kota Padang, terdapat sebuah kampus


terkenal bernama Universitas Dengklek.
Seluruh mahasiswa kampus tersebut ting-
gal pada sebuah gedung asrama setinggi N lantai.
Tahun ini, pihak kampus selesai membangun ge-
bagai berikut:


Panjang string tersebut adalah banyaknya
subsoal ditambah satu.
Karakter ke-0 (indeks dimulai dari 0) akan
berisi 0 jika kasus uji tersebut merupakan
dung asrama baru yang juga setinggi N lantai. contoh kasus uji, atau berisi ‘.’ (titik) jika bu-
Terdapat K buah jembatan layang di antara kan.
kedua gedung tersebut. Jembatan ke-i terletak • Untuk setiap nilai i di antara 1 hingga ban-
pada ketinggian lantai H[i]. Uniknya, setiap lan- yaknya subsoal, berlaku:
tai dari masing-masing gedung hanya terhubung • jika kasus uji tersebut memenuhi
pada tepat satu jembatan melalui sebuah ter- batasan subsoal ke-i, maka karakter
owongan khusus. Lantai i pada gedung lama han- ke-i berisi i, atau
ya terhubung pada jembatan ke-A[i], dan lantai • jika kasus uji tersebut tidak memenuhi
i pada gedung baru hanya terhubung pada jem- batasan subsoal ke-i, maka karakter
batan ke-B[i]. ke-i berisi karakter ‘.’ (titik).
Sekarang, pihak kampus akan merelokasi
seluruh mahasiswa ke gedung baru. Setiap lantai Sebagai contoh, apabila label sebuah kasus uji se-
di gedung lama akan direlokasi ke sebuah lantai buah soal adalah 0..345, maka:
di gedung baru. Tidak ada dua lantai di gedung • Soal tersebut memiliki 5 buah subsoal,
lama yang direlokasi ke lantai yang sama di ge- • Kasus uji tersebut merupakan contoh kasus
dung baru. Dengan kata lain, pihak kampus ingin uji, dan
mencari sebuah permutasi P dari {1, 2, ..., N} yang • Kasus uji tesebut memenuhi batasan subsoal
menyatakan bahwa penghuni lantai i di gedung ke-3, ke-4, dan ke-5.
lama akan direlokasi ke lantai P[i] di gedung baru.
Untuk alasan keamanan, pihak kampus me- Baris-baris berikutnya diberikan dalam format
nerapkan aturan untuk setiap relokasi lantai: berikut:
1. Penghuni lantai di gedung lama akan N K
menuju ke satu-satunya jembatan yang ter- H[1] H[2] .. H[K]
hubung, kemudian menyusuri jembatan A[1] A[2] A[3] .. A[N]
menuju gedung baru, lalu menuju ke salah B[1] B[2] B[3] .. B[N]
satu lantai di gedung baru yang terhubung
pada jembatan tersebut. Format Keluaran
2. Lantai di gedung lama dan lantai di gedung Sebuah baris berisi banyaknya permutasi yang
baru tidak boleh keduanya sekaligus lebih memenuhi syarat, modulo 1.000.000.007.
tinggi atau sekaligus lebih rendah daripada
jembatan yang menghubungkannya. Contoh Masukan 1
Atau dengan kata lain, secara formal, untuk setiap 0...45.7
i, seluruh syarat berikut harus dipenuhi: 6 1
• A[i] = B[P[i]] 3
• Jika i > H[A[i]], maka harus berlaku P[i] ≤ 1 1 1 1 1 1
H[A[i]]. 1 1 1 1 1 1
• Jika i < H[A[i]], maka harus berlaku P[i] ≥
H[A[i]]. Contoh Keluaran 1
Sekarang pihak kampus penasaran, sebenarnya 36
ada berapa permutasi berbeda yang mungkin?
Karena hasilnya bisa sangat besar, mereka hanya Penjelasan Contoh 1
penasaran pada hasilnya modulo 1.000.000.007. Terdapat 6 lantai, dan 1 jembatan layang
yang terletak pada ketinggian lantai 3. Setiap
Format Masukan lantai di gedung lama maupun gedung baru, ter-
Baris pertama akan berisi “label kasus uji”. Label hubung pada jembatan.
kasus uji adalah sebuah string yang dijelaskan se- Contoh ini diilustrasikan gambar berikut.

10
Gedung sebelah kiri adalah gedung lama, sedang- Perhatikan bahwa lantai 2 di gedung lama ter-
kan yang sebelah kanan adalah gedung baru. hubung pada jembatan yang berada pada keting-
gian lantai 1 (lantai lebih tinggi daripada jembat-
an), namun hanya lantai 3 dan 5 di gedung baru
yang terhubung pada jembatan tersebut (yang
juga lebih tinggi daripada jembatan). Pada kasus
ini, lantai 2 tidak dapat direlokasi ke manapun
tanpa melanggar aturan yang diberikan, sehingga
tidak ada permutasi yang mungkin.

Subsoal
Untuk semua subsoal, berlaku:
• 1 ≤ K ≤ N ≤ 100.000
Menurut aturan yang diberikan, maka: • 1 ≤ H[i] ≤ N
• Lantai 1 di gedung lama hanya bisa dire- • Nilai-nilai H[i] berbeda-beda.
lokasi ke lantai 3, 4, 5, atau 6 di gedung baru. • 1 ≤ A[i], B[i] ≤ K
• Lantai 2 di gedung lama hanya bisa dire- • A[i] mengandung setiap bilangan dari 1
lokasi ke lantai 3, 4, 5, atau 6 di gedung baru. hingga K.
• Lantai 3 di gedung lama bisa direlokasi ke • B[i] mengandung setiap bilangan dari 1
seluruh lantai di gedung baru. hingga K.
• Lantai 4 di gedung lama hanya bisa direloka- • Untuk setiap jembatan layang, banyaknya
si ke lantai 1, 2, atau 3 di gedung baru. lantai di gedung lama yang terhubung, sama
• Lantai 5 di gedung lama hanya bisa direloka- dengan banyaknya lantai di gedung baru
si ke lantai 1, 2, atau 3 di gedung baru. yang terhubung.
• Lantai 6 di gedung lama hanya bisa direloka-
si ke lantai 1, 2, atau 3 di gedung baru. Subsoal 1 (6 poin):
Perhatikan bahwa lantai-lantai 4, 5, dan 6 di ge- Hanya berisi kasus uji berikut:
dung lama pasti direlokasi ke lantai-lantai 1, 2, .1..45.7
dan 3 di gedung baru. Terdapat 3! = 6 cara. Si- 5 1
sanya, lantai-lantai 1, 2, 3 di gedung lama bisa 3
direlokasi ke lantai-lantai 4, 5, 6 di gedung baru. 1 1 1 1 1
Terdapat 3! = 6 cara. Dengan demikian, terdapat 1 1 1 1 1
total 6 × 6 = 36 permutasi yang mungkin.
Subsoal 2 (8 poin):
Contoh Masukan 2 Hanya berisi kasus uji berikut:
0...4..7 ..2.4..7
6 2 9 4
1 4 2 3 5 8
1 1 2 2 2 2 2 2 1 3 3 2 3 4 4
2 2 1 2 1 2 2 1 3 2 3 3 2 4 4

Contoh Keluaran 2 Subsoal 3 (10 poin):


0 • K=N

Penjelasan Contoh 2 Subsoal 4 (15 poin):


Contoh ini diilustrasikan oleh gambar berikut : • N ≤ 10

Subsoal 5 (23 poin):


• K=1

Subsoal 6 (18 poin):


• Untuk setiap i, H[A[i]] ≠ i
• Untuk setiap i, H[B[i]] ≠ i

Subsoal 7 (20 poin):


• Tidak ada batasan tambahan.

11
Pembahasan SOAL OSN 2019 Begitu pula apabila suatu lantai pada ge-
dung baru terhubung dengan jembatan dengan
Jembatan Layang ketinggian yang sama, maka lantai tersebut
Oleh : IA TOKI dapat menjadi tujuan relokasi dari semua lan-
tai pada gedung lama yang terhubung dengan
Subsoal 3 jembatan tersebut.
Karena banyaknya jembatan layang sama de- Terdapat 4 buah kasus yang memenuhi
ngan banyaknya lantai, maka setiap lantai yang aturan relokasi yang ada :
ada pada gedung lama dan gedung baru pasti 1. Pi + Qi = R’i + Q’i dan Ri = P’i
terhubung dengan tepat sebuah jembatan la- 2. Pi + Qi = R’i dan Ri = P’i + Q’i
yang. Maka hal ini mengakibatkan hanya ter- 3. Pi = R’i dan Ri + Qi = P’i + Q’i
dapat sebuah permutasi yang mungkin jika 4. Pi = R’i + Q’i dan Ri + Qi = P’i
dan hanya jika semua relokasi sudah meme- Perhatikan bahwa apabila Qi = 0 atau Q’i
nuhi syarat. Kompleksitas dari solusi ini adalah = 0 maka akan terdapat beberapa kasus yang
O(N). saling ekuivalen.
Dengan menggunakan kaidah penjum-
Subsoal 4 lahan, hitung banyaknya permutasi pada
Subsoal ini dapat diselesaikan menggunakan masing-masing kasus lalu jumlahkan untuk
complete search. Untuk setiap kemungkinan memperoleh jawaban yang diinginkan. Tetapi
permutasi yang ada, periksa apakah semua re- perhatikan pula bahwa himpunan penyele-
lokasi sudah memenuhi syarat. Kompleksitas saian kasus-kasus tersebut akan beririsan pada
dari solusi ini adalah O(N!). kasus berikut: Pi = P’i , Qi = Q’i, dan Ri = R0i
, yang menyebabkan kasus di atas terhitung 2
Subsoal 5 kali. Gunakan Prinsip Inklusi-Eksklusi untuk
Untuk mempermudah diskusi, mari kita guna- mengatasi kasus tersebut. Kompleksitas dari
kan denisi berikut: solusi ini adalah O(N).
• Denisi 1. Banyaknya lantai i pada gedung
lama yang terhubung dengan jembatan Subsoal 6
ke-j yang memenuhi i > H[j] dinyatakan Perhatikan bahwa banyaknya cara reloka-
dalam Pj . si berbeda yang melalui suatu jembatan layang
• Denisi 2. Banyaknya lantai i pada gedung tidak dipengaruhi oleh jembatan layang yang
baru yang terhubung dengan jembatan lain, sehingga kita dapat menghitung banyakn-
ke-j yang memenuhi i > H[j] dinyatakan ya cara relokasi berbeda untuk masing-masing
dalam P’j . jembatan layang lalu menggunakan kaidah
• Denisi 3. Banyaknya lantai i pada gedung perkalian untuk memperoleh jawaban akhir.
lama yang terhubung dengan jembatan Pada subsoal ini berlaku batasan Qi = 0
ke-j yang memenuhi i = H[j] dinyatakan dan Q’i = 0. Sehingga untuk setiap jembatan,
dalam Qj . hanya terdapat 1 buah kasus yang mungkin ter-
• Denisi 4. Banyaknya lantai i pada gedung jadi dan memenuhi aturan relokasi yang ada,
baru yang terhubung dengan jembatan yaitu: Pi = R’i dan Ri = P’i . Iterasi semua jembat-
ke-j yang memenuhi i = H[j] dinyatakan an yang ada, lalu kalikan banyaknya permutasi
dalam Q’j . pada masing-masing jembatan untuk memper-
• Denisi 5. Banyaknya lantai i pada gedung oleh jawaban yang diinginkan. Kompleksitas
lama yang terhubung dengan jembatan dari solusi ini adalah O(N).
ke-j yang memenuhi i < H[j] dinyatakan
Bacground : allwhitebackground.com

dalam Rj . Subsoal 7
• Denisi 6. Banyaknya lantai i pada gedung Subsoal ini merupakan gabungan dari
baru yang terhubung dengan jembatan Subsoal 5 dan Subsoal 6. Iterasi semua jem-
ke-j yang memenuhi i < H[j] dinyatakan batan yang ada, lalu untuk setiap jembatan,
dalam R’j. banyaknya permutasi yang mungkin dapat di-
Apabila suatu lantai pada gedung lama hitung dengan menggunakan solusi Subsoal 5.
terhubung dengan jembatan dengan keting- Kemudian kalikan banyaknya permutasi pada
gian yang sama, maka lantai tersebut dapat masing-masing jembatan untuk memperoleh
direlokasi ke semua lantai pada gedung baru jawaban yang diinginkan. Kompleksitas dari
yang terhubung dengan jembatan tersebut. solusi ini adalah O(N).

12
Bebras Indonesia
Oleh : DR. Inggriani dan Adi Mulyanto M.T. (Pembina TOKI)

T
antangan Bebras adalah sebuah ajang Apa Hubungan Kurikulum Informatika den-
lomba berpikir komputasional, yang di- gan Tantangan Bebras ?
adakan sejak tahun 2001, digagas oleh Siswa sekolah dasar dan menengah
Prof. Valentina Dagiene yang berasal dari Litu- membentuk dan mengasah kemampuan ber-
ania. Bebras adalah kata yang berarti “berang- pikir komputasional dengan menyelesaikan
berang” dalam bahasa Lituania, simbol bina- kasus-kasus persoalan terkait informatika,
tang yang cerdik dan banyak akal. dengan melakukan dekomposisi, abstraksi,
Tantangan Bebras diadakan secara rutin menuliskan algoritma, megembangkan model
setiap tahun pada minggu kedua bulan No- komputasi, mengenali pola solusi kasus-kasus.
vember. Tantangan disajikan dalam bentuk Dengan banyak latihan siswa bukan dilatih
soal menarik berlatar belakang informatika, menghafal, tetapi mengenali pola persoalan
tanpa secara eksplisit menggunakan istilah sehingga semakin efisien dalam proses meng-
informatika karena diperuntukkan bagi siswa- hasilkan solusi, dan solusinya juga semakin
siswi mulai berumur 5 tahun s.d. 18 tahun. efisien dan optimal pula.
Pada tahun 2019, tantangan bebras diadakan Setelah Tantangan berlalu, soal-soal
oleh lebih dari 54 negara dengan jumlah pe- dapat dipakai sebagai bahan belajar berpikir
serta lebih dari 2,78 juta anak. Informasi leng- komputasional dan topik-toik informatika
kap tentang Tantangan bebras dapat diakses di secara lebih sistematis. Melalui penyelesaian
https://www.bebras.org persoalan, siswa diajak untuk mendalami topik
informatika yang “tersembunyi” di balik soal.
Bebras Indonesia Siswa diharapkan mampu melihat dengan hati
Bebras Indonesia NBO bekerjasama dan menalar (seeing in the mind eyes) mengenai
dengan Biro Bebras, dengan dukungan dari ke- konsep informatika yang dipetakan dari cerita
mendikbud RI, telah mengadakan Tantangan keseharian kehidupan yang menjadi topik soal.
Bebras untuk ketiga kalinya sejak tahun 2016, Soal-soal dan pembahasan tantangan
bersama dengan negara anggota komunitas di Bebras dapat dijadikan sebagai bagian dari
seluruh dunia, yang hampir semuanya meru- unit pembelajaran Berpikir Komputasional
pakan negara peserta IOI, dengan tujuan untuk dalam kurikulum K-12 Informatika. Soal-soal
menumbuhkan kemampuan computational dapat dijadikan inspirasi bagi guru untuk dapat
thinking sejak dari usia dini, yang merupakan dikembangkan variasi dan kompleksitasnya
landasan penting dalam memecahkan persoal-
an pada IOI yang diadakan untuk siswa SMA. Apa Peran Biro Bebras ?
Biro Bebras merupakan sebuah lem-
Bagaimana Ikut Serta pada Tantangan Be- baga yang menjadi kepanjangan tangan dari
bras ? NBO yang berperan sebagai mitra beberapa
Guru sekolah mendaftarkan siswanya sekolah dalam menyelenggarakan tantangan
pada Biro bebras yang daftar dan kontaknya bebras. Kemitraan antara Biro Bebras dengan
dapat diakses di http://bebras.or.id/v3/bebras- sekolah di sekitarnya diharapkan memben-
biro/. Saat ini, sudah ada 50 Biro bebras yang tuk suatu jejaring sehingga guru secara rutin
tersebar di seluruh Indonesia. Sekolah juga mendapat informasi mengenai perkembangan
dapat mengusulkan Program studi komput- informatika yang sangat pesat, dan program
ing terdekatnya agar bergabung menjadi Biro studi yang menjadi Biro akan mendapatkan
Bebras. siswa yang sudah lebih baik pemahaman dan
Untuk mempersiapkan diri, siswa dapat pengetahuannya tentang informatika. Biro Be-
membuat akun dan latihan mandiri di situs bras juga dapat membantu untuk implementasi
https://olympia.id. kurikulum Informatika .

13
Algoritma String Matching Pada Mesin Pencarian
Oleh : Dr. Wahyono (TOKI Biro UGM)

G oogling”. adalah kata yang sudah tidak ingin dicari. Minimal ada tiga algoritma string
asing bagi milenial yang artinya mela- matching yang biasanya digunakan yaitu meng-
kukan pencarian data/dokumen/string gunakan pendekatan brute force, algoritma Boy-
dengan menggunakan kata kunci tertentu pada er-Moore, dan algoritma Knuth-Morris-Pratt.
laman Google. Coba diingat-ingat sudah berapa Di antara ketiga algoritma tersebut, pendekata
kali kita melakukan pencarian pada Google. brute force merupakan algoritma yang paling
Tentunya sudah tak terhitung karena semua in- mudah untuk diimplementasikan. Tetapi mem-
formasi yang kita ingin tahu selalu bisa didapat butuhkan waktu proses yang sa-ngat lama kare-
dengan mudah melalui Google. Pertanyaan- na harus mencocokan satu persatu setiap huruf
nya adalah kenapa mesin pencari Google (juga yang ada pada query ke string yang akan dicari.
berlaku untuk mesin lain seperti terlihat pada Oleh sebab itu pada ulasan ini akan dibahas al-
Gambar 1) begitu cepat prosesnya? goritma Knuth-Morris-Pratt (KMP).
Secara umum mesin pencarian dapat Algoritma KMP adalah merupakan
dibagi menjadi 3 bagian besar, yaitu web crawl- pengembangan dari algoritma brute force. Op-
ing, indexing, dan searching. Pada tahap web timasi yang dilakukan oleh algoritma KMP ini
crawling, mesin pencari akan menjelajahi adalah dengan cara melangkahi langkah yang
banyak halaman web dan mengambil setiap seharusnya tidak perlu dilakukan. Algoritma
(link) yang ada pada suatu web yang sedang di- ini dikembangkan secara terpisah oleh Donald
jelajahinya. Pada tahap indexing, isi dari setiap E. Knuth pada tahun 1967 dan James H. Mor-
halaman web yang dijelajahi akan dianalisis dan ris bersama Vaughan R. Pratt pada tahun 1966,
diberikan indeks berdasarkan isi yang diambil, namun keduanya mempublikasikannya secara
mungkin berupa judul, subjudul atau bagian bersamaan pada tahun 1977. Secara sistema-
khusus dari isi halaman. Pada tahap searching, tis, langkah-langkah yang dilakukan algoritme
mesin pencari akan menerima“kata kunci” Knuth-Morris-Pratt pada saat mencocokkan
dari pengguna yang berupa query, kemudian string:
mesin pencari akan mencari indeks dari kata 1. Algoritme Knuth-Morris-Pratt mulai
yang terdapat pada query tersebut. Pencarian mencocokkan pattern pada awal teks.
indeks ini dapat dilakukan dengan banyak cara 2. Dari kiri ke kanan, algoritme ini akan
pula, seperti membagi query menjadi beberapa mencocokkan karakter per karakter pat-
substring lalu melakukan pencocokan atau me- tern dengan karakter di teks yang ber-
la-kukan pencarian indeks per kata dari query. sesuaian, sampai salah satu kondisi berikut
Pada proses ketiga inilah biasanya algoritma dipenuhi:
background : 1001feedownloads.com

string matching dilakukan. Tentunya algoritme • Karakter di pattern dan di teks yang
yang digunakan harus sangat cepat sehingga dibandingkan tidak cocok (mis-
menghasilkan output pencarian dalam waktu match).
singkat. • Semua karakter di pattern cocok. Ke-
String Matching sendiri adalah suatu al- mudian algoritme akan memberita-
goritma yang digunakan untuk mencari suatu hukan penemuan di posisi ini.
string (pattern) apakah terdapat dalam suatu 3. Algoritme kemudian menggeser pattern
string lainnya (teks). Pencarian ini dilakukan berdasarkan tabel next, lalu mengulangi
dengan cara mencocokkan karakter yang ada langkah 2 sampai pattern berada di ujung
pada pattern dengan karakter pada teks yang teks.

14
Untuk memudahkan, mari sama-sama kita n di dalam teks dengan panjang m dengan kom-
bahas salah satu contoh pencarian string meng- pleksitas waktu O(m+n). Algoritme ini hanya
gunakan algoritma KMP. Namun sebelum itu membutuhkan O(n) ruang dari memory inter-
perlu memahami definisi prefix dan suffix pada nal jika teks dibaca dari file eksternal.
sebuah string yang nantinya akan dibutuhkan Demikiannya ulasan bagaimana algoritma
pada algoritma KMP. Prefix didefinisikan seba- string matching dapat diterapkan pada mesin
gai substring-substring dari sebuah string yang pencarian. Namun perlu diingat bahwa mesin
dimulai dari index awal dari string induk. Se- pencarian tidak hanya menerapkan algoritma
dangkan suffix adalah substring-subtring dari string matching. Masih ada langkah-langkah
sebuah string yang diakhiri dengan index akhir lainnya yang masih perlu dilakukan selain string
dari string sebagai contoh. Substring “a”, “ab”, matching. Dari sini kita bisa menyimpulkan
dan “abc” merupakan prefix dari string “abcda”, bahwa apa yang kita pelajari selama persiapan
sedangkan “da”, “cda” dan “bcda” merupakan Olimpiade Sains Nasional, nantinya akan sangat
suffix dari string “abcda”. Selanjutnya mari kita berguna dalam penerapan kehidupan sehari-
mencoba melihat bagaimana cara kerja algorit- hari.
ma KMP. Misal kita menginginkan melakukan
pencari-an dengan kata kunci P=“abacab” pada procedure preKMP(
input P: array[0..n-1] of char,
string T=“abacaabaccabacabaabb”, maka proses input n: integer,
pencarian kata kunci P diilustrasikan pada Ga- input/output kmpNext: array[0..n] of
mbar 2 dibawah:- integer
)
Deklarasi:
i,j: integer

Algoritme
i:= 0;
j:= kmpNext[0]:= -1;
while (i < n) {
while (j > -1 and not(P[i] = P[j]))
j:= kmpNext[j];
i:= i+1;
j:= j+1;
if (P[i] = P[j])
Gambar 2. Ilustrasi pencarian string dengan algoritma KMP. kmpNext[i]:= kmpNext[j];
else
Seperti terlihat pada Gambar 2, pada ilus- kmpNext[i]:= j;
trasi 1 proses pencocokan dilakukan pada setiap endif
endwhile
karaktar adalah katakunci dengan teks. Namun
pada indeks ke-6 karakter tidak sama (mis- procedure KMPSearch(
match) oleh sebab itu pencocokan dihentikan input m, n: integer,
yang selanjutnya adalah melakukan pergeseran. input P: array[0..n-1] of char,
input T: array[0..m-1] of char,
Proses pergesaran dilakukan dengan memper- output ketemu: array[0..m-1] of
timbangkan subtring yang sudah match dengan boolean
string T yaitu substring “abaca”. Oleh sebab itu )
pada definisi algoritma KMP, kita perlu men- Deklarasi:
cari prefix string “abaca” terpa-njang yang juga i, j,next: integer
merupakan suffix string “baca”. Dalam hal ini kmpNext: array[0..n] of interger
substring “a” merupakan prefix terpanjang string Algoritme:
“abaca” yang sekaligus suffix dari string “baca”, preKMP(n, P, kmpNext)
yang panjangnya 1. Oleh sebab itu pencocokan i:=0
pada iterasi berikutnya dimulai dari indeks 2 while (i<= m-n) do
j:=0
(yaitu karakter b pada kata kunci). Proses ini while (j < n and T[i+j] = P[j]) do
dilakukan terus menerus sampai interasi ke-5 di j:=j+1
mana didapatkan bahwa semua karakter pada endwhile
katakunci cocok secara berurutan pada string. if(j >= n) then
ketemu[i]:=true;
Selanjutnya algoritma akan mengeluarkan in- endif
formasi bahwa katakunci ditemukan. Lebih next:= j - kmpNext[j]
detail Gambar 3 adalah pseudocode algoritma i:= i+next
endwhile
KMP.
Secara umum, Algoritme ini menemukan
Gambar 3. Pseudocode Algoritma KMP (Wikipedia)
semua kemunculan dari pattern dengan panjang

15
HALL OF FAME

Abdul Malik Nurrokhman - SMA Semesta Bilingual Boarding School Semarang


Amnu sudah belajar programming sejak tahun 2016. Waktu itu, ia belajar melalui TLX yang dide-
velop para alumni TOKI. Ia belajar tentang competitive programming dengan berbekal installer
dev c++ dari kakak kelasnya ia belajar C++ secara otodidak. Melalui pembelajaran pemrograman
yang disediakan TLX, ia berlatih hingga akhirnya mendapat medali emas pada OSN 2017. Tahun
lalu, Amnu berkesempatan mengikuti IOI 2018 di Tsukuba, Jepang dan membawa pulang medali
perak untuk Indonesia. Setelah pengalaman IOI kemarin, ia belajar bahwa ia harus lebih siap
dalam menghadapai soal IOI, karena soal IOI tidak dapat diprediksi sama sekali. Namun dengan
persiapan yang lebih matang, Amnu siap untuk berjuang sebaik mungkin dalam IOI 2019 nanti
dan mengalahkan negara-negara lain hingga membawa medali emas untuk Indonesia.

Vincent Ling - SMA Pribadi Bandung


Sejak awal memasuki SMA, Vincent sudah tertarik dan mulai belajar pemrograman. Ia sering
belajar bersama teman-teman tim olimpiade bidang lain di SMA. Jika sedang belajar pemrogra-
man, ia bisa asyik sendiri bahkan tidak jarang hingga jam 2 pagi. Vincent pernah gagal lolos OSP.
Namun tak membuatnya putus asa, ia bangkit lagi dan makin serius belajar competitive program-
ming. Ternyata, kerja kerasnya membawa ia berhasil memperoleh medali emas pada OSN 2018 di
Padang. Vincent terus belajar dan rutin mengikut kontes pada berbagai online judge. Setelah OSN
ia masih terus rajin mengerjakan soal olimpiade informatika dari berbagai sumber, hingga akh-
irnya ia berhasil lolos menjadi 4 besar TOKI 2019. Ia menargetkan pada IOI nanti, ia dapat mem-
peroleh verdict Accepted sebanyak-banyaknya hingga membawa medali terbaik bagi Indonesia.

R. Fausta Anugrah Dianparama - SMA Negeri 1 Yogyakarta


Fausta belajar pemrograman sejak kelas 3 SMP. Ia memulai belajar dari bahasa Pascal.. Hingga
saat ini, Fausta sudah mengikuti dan memenangi banyak sekali lomba pemrograman, mulai dari
tingkat nasional seperti lomba CP yang diadakan UI, ITB, Binus, ITS, hingga tingkat internasional
seperti NOI dan APIO. Setelah mendapat medali perak pada OSN 2017, Fausta mengikuti pelat-
nas yang dilakukan secara bertahap dan berjenjang hingga dinyatakan lolong untuk mengikuti
IOI 2019 di Baku, Azerbaijan. Ia terus berlatih dengan mengikut kontes pada online judge secara
rutin dan memperdalam materi pelatnas. Ia berjanji akan mengerahkan usaha semaksimal dalam
IOI 2019.

Moses Mayer - SMA Jakarta Intercultural School


Star Backgrounf :123freevectorscom

Moses belajar HTML dan bahasa pemrograman python sejak kelas 3 SMP berkenalan dengan
competitive programming sejak kelas 2 SMA lalu. Dalam waktu beberapa bulan, ia mempelajari ba-
hasa C++ dan competitive programming melalui TLX. Ia juga rajin mengerjakan soal-soal yang ada
di online judge hingga akhirnya mendapat medali pada OSN 2018 di Padang. Tidak hanya dalam
competitive programming, Moses juga menggunakan pengetahuannya dalam pemrograman untuk
riset, hingga ia berkesempatan menjadi pembicara pada event TEDx mengenai pengaplikasian
Game Theory dalam penyelesaian masalah epidemi populasi di Indonesia. Pada IOI 2019 nanti, ia
akan berusaha semaksimal mungkin dan berharap mendapatkan hasil sebaik-baiknya.

16

Anda mungkin juga menyukai