Jumat, 20 Desember 2019

ICPC 4 Tahun

Setelah menceritakan pengalaman menuju OSN/IOI, kini saya akan menceritakan pengalaman menuju ICPC World Final. Tujuannya adalah berbagi pengalaman. Berhubung rentang maksimal untuk karir ICPC adalah 4 tahun, yang lebih lama dari 2-3 tahun pada OSN/IOI, memutuskan untuk menginvestasikan sebagian dari 4 tahun kuliah ke ICPC merupakan komitmen yang panjang.


Partisipasi Pertama

Setelah masuk Fasilkom UI dan mengikuti berbagai orientasi, saya direkrut untuk ikut ICPC oleh Felik. Anggota tim satunya lagi adalah Rasmunandar Rustam, sehingga tim kami sepenuhnya adalah TOKI 2011. Nama tim yang disepakati adalah Vidina, dari Felik yang artinya "masa depan".

Sebenarnya saya hanya tahu kalau ICPC adalah kontes pemrograman seperti IOI, dengan ciri:
  • Partisipasi tim
  • Penilaian jawaban hanya ada benar atau salah
... dan saya tidak tahu bagaimana aturannya kualifikasinya bekerja. Apakah dipilih N tim terbaik di suatu negara? Atau suatu region? Bagaimana pembagian regionalnya bekerja? Berhubung baru mulai kuliah dan banyak aktivitas, saya tidak mencari tahu jawabannya (atau mungkin karena saya lupa).

Felik kemudian mengurus administrasi tim kami. Kami juga berkenalan dengan Pak Denny, yang merupakan coach untuk tim UI untuk urusan ICPC. Saya mempelajari bahwa biasanya UI mengirim sekitar 3 tim ke suatu regional di Asia. Kalau pada tahun itu diselenggarakan ICPC regional Jakarta juga, maka UI dapat mengirim segerombolan tim karena biaya yang jauh lebih murah. Sebagai catatan, ICPC hanya ada pada semester ganjil.

Berhubung tahun 2011 tidak ada ICPC regional Jakarta, berarti tahun ini hanya 3 tim yang akan ikut regional. Penentuan 3 tim ini diputuskan dengan INC (Indonesia National Contest) yang diselenggarakan Binus. Tim Vidina berhasil mengamankan posisi di INC sebagai salah satu dari 3 tim terbaik dari UI, sehingga kami akan dikirim ke ICPC regional.

Ternyata regional yang dipilih adalah Kuala Lumpur. Kami berangkat ke Malaysia berasama dengan Pak Denny dan 1 tim UI lainnya. Kontesnya akan diselenggarakan di IIUM (International Islamic University Malaysia).

Selama perjalanan, saya belajar dari Pak Denny kalau sekitar 3 tim terbaik di suatu regional akan terkualifikasi ke ICPC World Final (biasa disebut "WF" saja). Aturan sebenarnya lebih rumit, yang melibatkan regional quota, suatu rumus yang memusingkan, pertimbangan khusus, dan sebagainya. Rasanya yang penting bertanding sebaik mungkin, lalu serahkan WF atau tidak ke tangan panitia.

Sejujurnya saya tidak banyak persiapan untuk ICPC ini. Saya juga tak tahu apa harapan partisipasi ini. Rasanya untuk menduduki 3 besar tidaklah mungkin. Namun karena sudah jauh-jauh ke Malaysia, saya tidak pikir panjang dan berkompetisi sebaik mungkin.

Hasil kompetisinya tidak baik. Peringkat akhir Vidina adalah 25-an, yang sangatlah jauh dari 3 besar.

Rasanya tidak enak telah menghabiskan uang fakultas, lalu tidak berkompetisi dengan baik. Kami pulang ke Indonesia sambil memikirkan solusi soal kompetisinya.

Pada semester kedua, Rasmunandar mundur dari Vidina karena ingin fokus ke pemrograman yang lebih aplikatif (seperti website atau aplikasi HP). Felik kemudian merekrut Cakra, yang tahun depan akan masuk UI sebagai angkatan 2012, dan nama timnya menjadi Vidina 2.0.



Tahun Kedua yang Suram

Masuk semester ketiga, tim kami kembali mengikuti INC dan masuk ke dalam 3 tim terbaik UI. Tahun ini terdapat ICPC regional Jakarta, sehingga kami akan berpartisipasi di 2 kontes. Ternyata selain Jakarta, kami akan dikirim ke Hanoi. Sebagai catatan, kontes di Hanoi jauh lebih awal daripada Jakarta.

Hasil regional di Hanoi suram, lagi-lagi kami peringkat 25-an. Namun kali ini saya cukup sedih karena tidak ada kemajuan jika dibandingkan tahun sebelumnya, padahal sudah berlatih selama semester genap. Selain merasa bersalah kepada Pak Denny dan fakultas karena tidak memberikan hasil yang baik, saya mulai merasa untuk mendapat peringkat 3 besar tidaklah mungkin. Saingan dari Taiwan, Cina, Hongkong, Vietnam, atau Singapura (yang isinya teman-teman TOKI juga) terlalu tangguh untuk dikalahkan. Rasa suram ini membuat saya kehilangan semangat dan tidak ikut jalan-jalan ke Ha Long Bay. Setidaknya, pengalaman berkunjung Vietnam cukup menarik dan saya membeli caping khas sana.

Caping "Pandaren" (foto oleh Felik)
Kontes selanjutnya adalah INC 2012, yang mana Cakra tidak bisa ikut karena ada acara orientasi. Jadinya hanya saya dan Felik yang harus nge-tank dan carry. Namun secara mengejutkan, performa kami sangat baik dan memperoleh peringkat ke-3. Hasil yang lebih baik mungkin bisa dicapai kalau kami ber-3. Berkat hasil yang baik ini, moral berperang saya kembali bangkit, dan siap untuk menghadapi regional Jakarta.

Tim UI berbondong-bondong berangkat ke Binus dengan bis kuning untuk regional Jakarta. Ini kedua kalinya saya ke Binus, setelah BNPC HS 2011 pada Pelatnas 1 yang lalu. Berkat moral yang positif, kami bertanding dengan baik dan berhasil duduk di peringkat 10. Ada pencapaian pertama yang diraih, yaitu first solver untuk suatu soal dan kami mendapatkan balon bintang.

Foto dari Felik
Lebih jauh lagi, ternyata kami mendapat penghargaan tim lokal (Indonesia) terbaik ke-3 dan mendapat plakat. Tim lokal terbaik pertama dan ke-2 adalah "Dongskar Pedongi" (timnya Irvan Jahja) dan "+1 Saklar Lhompat" (timnya Ashar). Penghargaan ini juga tiba dengan hadiah berupa hard disk eksternal. Kebetulan saat itu saya perlu format komputer dan butuh media penyimpanan data yang besar, jadilah pucuk dicinta ulam pun tiba.

Walaupun hasil ICPC di Hanoi suram, tapi hasil di Jakarta memberikan harapan. Masih ada waktu 2 tahun untuk berlatih untuk mencapai WF!



Tahun Ketiga yang Menjanjikan

Mulai tahun ini, Pak Denny melakukan percobaan dengan menentukan komposisi tim. Tim yang dikirim ke luar negri dipilih berdasarkan suatu kontes yang diikuti secara individual. Lalu peringkat 1-3 menjadi tim 1, 4-6 menjadi tim 2, dan seterusnya. Untuk tim yang berpartisipasi di regional Jakarta (kebetulan tahun ini ada lagi), kami bebas membentuk tim.

Hasil akhirnya adalah saya berada di peringkat ke-3, setelah Ashar dan Aji. Terbentuklah tim, yang dinamakan "+1 2.0". Namanya memang aneh, tapi sebenarnya itu gabungan dari "+1 Saklar Lhompat" dan "Vidina 2.0". Kami akan bertanding di Phuket setelah regional Jakarta. Untuk regional Jakarta sendiri, saya masih dalam tim Vidina 2.0.

Tim UI kembali berbondong-bondong ke Binus menaiki bis kuning. Untuk kontes kali ini, tim Vidina 2.0 sangat berhati-hati. Dengan pengalaman yang terkumpul sejauh ini, kami membaca suatu soal, analisis, dan kalau sudah yakin baru menulis kode.

Awal dan pertengahan kontes berlangsung dengan baik, kami berhasil AC dengan 1-shot untuk berbagai soal. Pada jam ke-5, kami mulai tersendat. Saya menemui solusi untuk soal J, yang berjudul "Alien Abduction Again", tapi terus-terusan mendapat TLE. Rasanya tidak mungkin, karena algoritmanya sudah O(N log N). Sambil Felik dan Cakra memikirkan soal lain, saya mulai mengoptimisasi konstantanya secara habis-habisan. Setelah disubmit, saya ke toilet dan minum susu ultra. Kembali dari toilet, saya dikabari Cakra kalau solusinya AC! Sisa waktunya kami gunakan untuk menghadapi soal lain, tapi tidak ada AC lagi.

Akhir kontes yang berkesan (foto dari Felik)
Pada saat penutupan, saya terkejut karena tim kami berada di peringkat ke-6. Selain itu, kami menjadi best local team! Ini bagian yang paling mengharukan, karena untuk pertama kalinya bisa melampaui tim Saklar yang selalu saya kagumi. Selangkah lebih maju untuk WF!

Best Local Team! (foto dari panitia ICPC)
Secara total, tim Vidina 2.0 telah mendapatkan 3 plakat:
  1. Juara 3 INC 2012
  2. Juara 3 best local team regional Jakarta 2012
  3. Juara 1 best local team regional Jakarta 2013
Setelah pertandingan kami yang terakhir sebagai 1 tim, kami membagi ketiga plakat itu sehingga masing-masing memegang 1.

Perjuangan belum selesai karena masih ada ICPC di Phuket. Sebelum bertanding, saya ada latihan tim bersama Ashar dan Aji untuk beradaptasi di tim yang berbeda. Kami juga melakukan "persilangan" team notebook untuk saling melengkapi bagian yang kurang.

Rincian tentang pertandingan di Phuket bisa dibaca di blognya Ashar. Intinya kontes itu seperti perang, dengan Aji sebagai "mage" (menyelesaikan soal dengan solusi ajaib), Ashar sebagai "knight" (menyelesaikan soal secara sistematis), dan saya sebagai "berserker" (menyelesaikan soal secara gegabah).

Hasil akhirnya adalah kami berada di peringkat ke-6. Memang bukan 3 besar yang aman untuk ke WF, tapi Pak Denny menganalisis ada peluang kami terkualifikasi ke WF. Alasannya adalah tim di peringkat 1-5 ada yang berasal dari Cina, dan mereka tidak dapat menggunakan kuota kualifikasi WF di Phuket ini. Saya tidak paham betul tentang aturannya, jadi saya pasrahkan saja. Lalu karena performa yang memuaskan, tahun ini saya ikut untuk tur di Phuket ke "James Bond Island".

Foto dari Pak Denny
James Bond Island (foto dari Pak Denny)
Pembaca lama blog ini pasti sudah tahu kelanjutannya, yaitu +1 2.0 berhasil ke WF 2014 yang diadakan di Ekaterinburg, Rusia. Kami mengisi waktu semester genap dengan berlatih dengan keras. Ada juga sesi latihan "furious" pada liburan semester genap sebagai inisiatif dari Pak Denny (yang melahirkan "magic BIT").


Tahun Keempat yang Mengejutkan

Setelah terbantai di WF 2014, kami pulang ke Indonesia. Kontes individual menentukan bahwa saya akan satu tim dengan Soko dan Ammar, kali ini untuk regional Jakarta dan Bangkok. Untuk tahun 2015, saya kurang yakin apakah bisa lulus ke WF lagi. Namun motivasi saya lebih ditujukan untuk membantu Soko dan Ammar untuk ke WF juga.

Kami mengisi waktu dengan banyak berlatih bersama, dan juga melakukan "persilangan" team notebook. Berkat kreativitas Soko, tim kami bernama "BerinGAS", yang mana GAS merupakan gabungan nama kami bertiga.

Hasil pertandingan di Bangkok suram, seingat saya bahkan tidak 10 besar. Rasanya mengecewakan, tapi apa dayanya kalau nasib kurang beruntung. Satu-satunya kesempatan hanya ada di regional Jakarta.

Regional Jakarta 2014 akan menjadi ICPC regional terakhir saya. Tahun itu saya agak repot karena sebagai salah satu yang paling senior, saya menjadi warlord ketua kontingen untuk tim UI. Saya perlu menulis proposal ke fakultas untuk permohonan dana, dan mengurus administrasi peminjaman bis kuning. Untungnya saya ada pengalaman membantu Ashar membuat proposal ICPC tahun lalu. Selain itu juga saya menjadi ketua kontingen UI untuk Gemastik 2014, sehingga pengurusan bis bisa diatur bersamaan.

Hasil kontes untuk regional Jakarta ini adalah yang paling memuaskan. Kami berada di peringkat ke-4. Hal mengesankan lainnya adalah Ammar menjadi first solver untuk 2 soal, sehingga didapatkan 2 balon bintang.

Foto dari Soko

Foto dari panitia ICPC

Meskipun demikian, hampir tidak mungkin kami lulus ke WF 2015 karena tidak berada di 3 besar...
Pembaca lama blog ini pun akan tahu cerita selanjutnya, yaitu secara mengejutkan kami berhasil lulus ke WF 2015 yang akan diadakan di Marrakesh, Maroko.



Kesan Akhir

Seperti yang awalnya saya sampaikan, memutuskan untuk menginvestasikan sebagian dari 4 tahun kuliah ke ICPC merupakan komitmen yang panjang. Waktu tersebut mungkin dapat digunakan untuk mencari pengalaman di dunia kerja, bereksperimen dengan teknologi, mencari hobi, aktif di organisasi kampus, mencari uang dengan mengerjakan proyek, menjadi asisten riset, dan segudang aktivitas luar kuliah lainnya. Kalaupun sudah diputuskan untuk akan serius ICPC, mungkin ada kalanya akan "tergoda" dengan aktivitas lain yang hasil/kepuasannya dapat langsung dinikmati.

Mungkin tidak harus serius untuk mengejar WF. Saya juga melihat banyak rekan tim lain yang ikut ICPC sekedar untuk menikmatinya. Tentu saja ini tidak ada salahnya, dan kenyataannya mereka berkembang dari tahun ke tahun. Perkembangan dan pengalaman adalah proses yang paling penting!

Kontingen UI pada ICPC Regional Jakarta 2013
(foto dari Pak Denny)


Tidak ada komentar :

Posting Komentar