Perkenalan “Fellowship” Ikatan Alumni TOKI

iatoki

Halo semua! Melaui blogpost ini, saya dan Jordan ingin menyosialisasikan kegiatan TOKI Fellowship yang diinisiasi pada tahun ini.

Jadi, semua bermula ketika Brian mengajar di Pelatnas 1 TOKI 2014. Selesai mengajar, Brian mengajak Jordan untuk ngopi-ngopi di Yellow Truck. Lalu, entah bagaimana berlangsunglah percakapan berikut ini:

Brian: “Jor, kayaknya ya, supaya TOKI Learning Center bisa dikelola dengan profesional, mesti ada full time beneran yang mengelola deh.”
Jordan: “Wah, ide bagus, tapi kayaknya jangan gw deh haha.”

Lalu bagaimana ceritanya Ashar dan Jordan tiba-tiba akhirnya menjadi full time di TOKI?

Ashar

Saya sendiri baru mendengar rencana full time ini saat TOKI Camp 2013 di Bandung. Saat penutupan, Brian mengatakan bahwa ia ingin agar tiap tahunnya ada full time yang mengurusi berbagai hal mengenai TOKI. Kerjaan full time ini disebut Brian dengan istilah fellowship, dan orangnya sendiri disebut dengan fellow.

Waktu itu, saya memang merasa ini merupakan hal yang menarik. Namun, saya masih belum merasa kalau saya mau melakukan fellowship tersebut. Brian lalu mengutarakan alasan-alasan untuk menjadi fellow, salah satunya sebagai bentuk give back terhadap TOKI secara profesional, dan bisa sebagai bekal yang bagus untuk karier ke depannya. Brian juga tidak ingin fellowship berjalan lebih dari setahun untuk tiap periodenya, agar tidak ‘menghambat’ karier yang bersangkutan juga.

Setelah mendengarkan penjelasan Brian, saya mulai agak tertarik, namun belum memutuskan apa-apa. Waktu itu juga merupakan tahun terakhir saya, saya mulai mencoba apply ke salah satu perusahaan software di US (sebut saja G) karena sudah tertarik dari dulu. Namun akhirnya, saya ditolak oleh G. Sehingga praktis saya masih belum punya rencana sehabis lulus mau apa.

Kemudian, suatu hari di Fasilkom ada seminar dari Google Student Ambassador. Salah satu pembicaranya adalah Koh Yansen dari KIBAR. Di situ beliau berkata (intinya) bahwa yang sebaiknya dikejar oleh orang jangan materi, tapi kebermanfaatan, terutama untuk Indonesia!

Sejak saat itu, saya memutuskan untuk ‘menerima’ tawaran Brian untuk menjadi fellow.

Jordan

Setelah pertemuan ‘sakral’ dengan Brian tersebut, Jordan kembali ke kehidupannya sebagai mahasiswa tingkat terakhir. Sebagaimana layaknya mahasiswa tingkat akhir pada umumnya, Jordan disibukkan dengan pengerjaan TA (Tugas Akhir). TA Jordan sendiri memiliki topik “Sistem autograder yang ekstensibel.”

Awalnya, Jordan merasa bingung topik ini mau dibawa ke mana. Lama-kelamaan, dengan banyaknya membaca referensi sana-sini, dan dengan tanggung jawabnya memegang TLC, akhirnya arah TA-nya semakin jelas: menjadikan TLC menjadi beberapa komponen yang modular.

Referensi yang paling menggugah Jordan adalah aplikasi CMS (Contest Management System) yang mulai digunakan untuk IOI. Aplikasi tersebut cukup fleksibel, dan dikembangkan oleh satu orang yang mendedikasikan waktunya untuk benar-benar menyelesaikan aplikasi tersebut. Ia merasa, kalau dia saja sendiri bisa, kenapa ia tidak? Kenapa Indonesia tidak bisa? Jordan merasa tertantang, sehingga pada akhirnya mencoba untuk menjadi fellow.

TA yang dibuat Jordan pun dibuat paper yang kemudian dikirimkan pada IOI 2014. Ternyata paper-nya diterima IOI, dan ia berangkat ke IOI 2014 di Taipei, Taiwan untuk mempresentasikan paper-nya. Presentasinya pun mendapat sambutan positif di sana. Jordan pun makin bersemangat untuk mewujudkan papernya menjadi kenyataan.

Impian pada Fellowship

Mengapa benar-benar diperlukan full time pada TOKI? Hal ini karena mimpi-mimpi di TOKI terlalu banyak, namun sulit untuk benar-benar mewujudkannya karena kita semua punya kewajiban dan kesibukan masing-masing. Ada yang kuliah, bekerja, maupun dosen di perguruan tinggi. Sepertinya sulit jika tidak diluangkan waktu full time untuk mengerjakan mimpi-mimpi tersebut.

Impian-impian tersebut sudah dikumpulkan selama setahun terakhir. Apabila terdapat foto-foto di Facebook dengan caption Konspirasi XXX, itu sebenarnya kami sengaja berkumpul di suatu tempat untuk membicarakan suatu ide. Contoh nyatanya, Jordan rela untuk datang jauh-jauh dari Bandung ke Depok semalam hanya untuk membahas masalah role pada kontes di TLC. Namun lagi-lagi ide-ide tersebut statusnya masih terkumpul karena keterbatasan waktu.

Pada fellowship ini, kebetulan kami berdua mewakili dua aspek besar pada kegiatan TOKI, yakni scientific dan technical. Mimpi-mimpi kami pada kedua aspek tersebut adalah sebagai berikut…

Scientific

Sudah bertahun-tahun lamanya, kurikulum Pelatnas TOKI dikoordinir sepenuhnya oleh alumni TOKI, tentu saja atas bimbingan dan masukan dari para pembina. Kurikulum ini meliputi rancangan materi-materi selama 3-4 minggu, komposisi pembobotan, pemastian ketersediaan soal-soal latihan setiap harinya, penyiapan soal-soal kuis dan simulasi, dan lain-lain.

Mengurusi aspek scientific dari kegiatan TOKI tidaklah mudah. Pelatnas-Pelatnas TOKI maupun OSN tidak akan bisa berjalan tanpa dedikasi super dari para alumni. Para alumni yang mengurusi scientific ini rela meluangkan waktu kuliahnya, bahkan waktu tidurnya (bila sudah menjelang simulasi), untuk membuat solusi, membuat test case, verifikasi soal, memperkirakan komposisi kesulitan set soal, bahkan memperdebatkan poin subsoal dari suatu soal.

Saya sendiri jadi nostalgia, waktu H-semalam simulasi Pelatnas 3 TOKI 2012, saya, Brian, dan Gozali sampai begadang semalaman di penginapan peserta (saya ketiduran sih :p). Begadang ini dalam rangka meng-generate dan menguji kekuatan test case soal K-means buatan Brian. Test case ini rencananya akan diadu dengan solusi brute force, sehingga harus dites dengan ditinggal berjam-jam (sampai semalaman) untuk menentukan bobot subsoal dan lain-lain. Besok paginya, kami pagi-pagi naik ojek lagi ke UI.

‘Ketua’ SC pun silih berganti, mulai dari Pak Suryana, Ilham & Roberto, Risan, saya, dan terakhir tahun ini saya serahkan ke Gozali. Pada setiap pergantian kepengurusan, banyak hal yang diwariskan secara mulut ke mulut saja. Misalnya, bagaimana mekanisme pembobotan pada suatu Pelatnas? Bagaimana mekanisme penentuan soal latihan Pelatnas? Bagaimana cara mempersiapkan soal-soal untuk OSN, seperti mekanisme call for task, testing, proofreading? Dan lain-lainnya.

Menurut saya hal yang tidak terdokumentasi seperti ini kurang baik, karena kita jadi tidak punya acuan yang pasti. Kenyataannya pun, setiap Pelatnas dan OSN memiliki mekanisme yang berbeda-beda tergantung host-nya, karena memang tidak adanya acuan penyelenggaraannya. Bukankah hal ini tidak baik karena kita tidak memiliki standar yang pasti?

Banyak juga mimpi-mimpi yang berasal dari luar Pelatnas, seperti penyempurnaan konsep TOKI Open Contest. Sama seperti masalah sebelumnya, TOKI Open contest belum ada aturan tertulis yang pasti. Bagaimana menentukan penulis soal pada bulan sekian? Bagaimana pembagian honor penulis soal? Tingkat kesulitan soal? Dan lain sebagainya. Bahkan ada pula mimpi untuk mengadakan konsep rating seperti TopCoder, sehingga bisa bergengsi dan yang ikut semakin banyak.

Oleh karena itu, kami ingin membuat sebuah knowledge base utama dan terpusat untuk hal-hal ini. Harapannya adalah, misalnya ada yang tertarik untuk bantu-bantu Pelatnas, kita bisa langsung katakan, “Silakan baca-baca dulu artikel ini dan ini, lalu apabila ada yang tidak mengerti, tanyakan ya.” Sesimpel itu. Para penerus-penerus pun tidak perlu memikirkan best practice dari nol karena bisa merujuk pada pengalaman-pengalaman sebelumnya yang didokumentasikan.

Dengan demikian, harapan besarnya adalah kegiatan-kegiatan TOKI bisa berjalan berkesinambungan dengan lebih smooth dan pergantian pengurus bisa lebih sering karena segalanya sudah ada panduannya. Implikasinya adalah semakin banyak alumni TOKI yang bisa berkontribusi dan tidak hanya orang yang itu-itu saja yang mengurus. Pengurus lama pun diharapkan bisa ‘pensiun’ dengan tenang :)

Technical

Pada awalnya, Pelatnas TOKI dilakukan pada sistem bernama Ranau yang ditulis sendiri oleh Pak Suryana. Seiring berjalannya waktu, kebutuhan akan fitur-fitur baru semakin bertambah, salah satunya adalah adanya subtask pada soal. Lalu, muncullah Petra dengan TA-nya berupa TLC dengan fitur-fitur yang dibutuhkan tersebut. Kehadiran TLC ini sangat membantu Pelatnas, dan datang pada waktu yang tepat karena untuk satu dan lain hal pengembangan Ranau dihentikan.

Hingga pada tahun-tahun terakhir, pengembangan TLC dipegang sepenuhnya oleh Jordan, Vincent, dan Mirza. Sejauh ini tidak ada masalah dalam penggunaan TLC, hanya saja tipe soal IOI semakin berkembang dan sudah tidak bisa di-handle oleh TLC yang sekarang, sehingga lagi-lagi perlu ditambahkan fitur baru pada TLC.

Namun, rupanya kami menemukan permasalahan yang lebih mendasar: pengembangan TLC terlalu tergantung dengan mereka bertiga. Bahkan bukan hanya pengembangan, tapi juga masalah sederhana seperti setup grader. Sehingga, kalau suatu saat tiba-tiba grader bermasalah atau mati, tim scientific pun tetap harus kontak mereka di manapun mereka berada, meskipun sampai harus via telepon. Hal ini disebabkan TLC yang ada sekarang ini belum terdokumentasi dengan baik, baik itu pada tingkatan source code maupun user manual.

Lalu, berhubung Jordan pada waktu itu sedang menulis TA mengenai sistem grader yang fleksibel, Jordan ingin membuat TLC generasi berikutnya. Karena berbagai alasan, TLC akan ditulis ulang dalam bahasa Java (sebelumnya PHP). Mimpi kami TLC generasi baru ini cukup besar karena sifatnya yang modular, yakni kira-kira seperti ini:

  • TLC dibuat seekstensibel mungkin sehingga bisa mengakomodasi kebutuhan soal-soal IOI zaman terbaru.
  • Setiap orang punya sebuah akun TOKI yang unik, yang bisa digunakan untuk OSN, Pelatnas, Open Contest, maupun kontes-kontes nasional yang menggunakan TLC.
  • Kontes-kontes nasional mulai menggunakan TLC sebagai platformnya.
  • Terdapat bank soal pusat yang menampung semua arsip soal-soal kontes-kontes nasional.
  • Dengan adanya akun TOKI unik dan kontes-kontes nasional yang menggunakan TLC, diharapkan kita dapat membangun statistik keikutsertaan dan performa setiap pengguna terhadap competitive programming di Indonesia.
  • Front-end TLC (yakni, selain grader) bisa dijadikan open source, sehingga para alumni bisa berkontribusi menambahkan fitur maupun memperbaiki bug dengan cepat dan nyaman.

Tentu saja, semuanya ditambah dengan satu hal terpenting: seluruh proses, rencana, dan desain didokumentasikan dengan baik sehingga memudahkan para alumni yang nantinya akan melanjutkan.

Epilog

Impian-impian di atas bisa kami rangkum menjadi berikut: dalam satu tahun, kami ingin menyelesaikan semua yang belum tuntas secara profesional, dan mempermudah suksesi kepengurusan kegiatan TOKI. Mengapa kami sebut belum tuntas? Karena ide-idenya sudah banyak terkumpul sejak lama, namun memang belum ada waktu dan komitmen yang dibutuhkan untuk mewujudkannya. Semoga setelah setahun fellowship kami, banyak aspek yang sudah stabil, terdokumentasi dengan baik, dan kami bisa meninggalkannya dengan tenang untuk mewujudkan mimpi kami berikutnya di kehidupan kami selanjutnya masing-masing :)

(N.B: mengenai apa yang telah kami lakukan pada fellowship selama sebulan ini, akan kami lanjutkan pada blogpost selanjutnya. Stay tuned!)

3 thoughts on “Perkenalan “Fellowship” Ikatan Alumni TOKI

  1. Emang gw pernah jadi ketua SC yah? Gak nyadar hahaha

    Bener banget itu soal lembur, pengorbanan waktu kuliah, dsb. Tapi semuanya itu dibayar dengan baik ketika anggota TOKI mencapai potensi terbaiknya pas IOI (short term), dan berkontribusi dalam pembangunan Indonesia (long term). The latter baru beberapa tahun terakhir mulai terasa :)

    Salah satu yang gw gagal lakukan memang bikin transisi yang smooth dari pas gw ngurus TOKI secara “penuh” (lembur) ke alumni berikutnya yg ngelatih. Jadi memang perlu hal ini dipastikan tidak terjadi lagi, apalagi sekarang udah gak single fighter lagi.

    Gw sangat setuju kalau front end TLC dibuat open source, dengan catatan API backendnya didokumentasi dengan jelas (atau setidaknya mengikuti konvensi yg predictable). Separation of concerns is always welcome, karena mempersingkat waktu untuk kolaborasi :)

    Mimpi yang belon kesampaian: ngebuat buku panduan TOKI.

    Good luck guys and keep us updated!

Leave a Reply