Ayo Jaga TPS, Prototipe Sistem Rekapitulasi Pemilu Berbasis Mobile

Praktisi Teknologi Informasi, berpengalaman 20 tahun di dunia IT dan Telco. Certified Chief Information Security Officer (CCISO) dan Certified Blockchain Professional (CBP) . Juga menjadi Direktur Eksekutif Indonesia Blockchain Society
Tulisan dari Mochamad James Falahuddin tidak mewakili pandangan dari redaksi kumparan

Perhatian : Tulisan cukup panjang, dan banyak mengandung istilah teknis :-)
Prolog
Dalam lima tahun terakhir, teknologi mobile phone berkembang sedemikian pesat. Kemampuan prosesor dari sejumlah mobile phone high end bahkan sudah mendekati kemampuan prosesor dari laptop. Untuk media penyimpanan pun demikian, sejumlah produsen sudah menjajalkan media penyimpanan hingga 512 GB ke dalam perangkat mobile yang dibesutnya.
Namun yang paling pesat perkembangannya adalah teknologi kamera yang disematkan di dalam mobile phone itu sendiri. Saat ini bahkan sudah ada pabrikan yang mengusung mobile phone dengan empat kamera, yang hasilnya sudah setara bahkan di beberapa aspek melebihi kualitas gambar dari kamera DSLR.
Atas dasar itu, juga dengan mempertimbangkan coverage dari layanan selular yang telah mencakup seluruh kabupaten di Indonesia, pada tanggal 10 April 2019 lalu kami meluncurkan sebuah platform mobile (android) "Ayo Jaga TPS" ( www.ayojagatps.com ), yang aplikasinya bisa diunduh di Google Play Store.
Dengan meng-install aplikasi "Ayo Jaga TPS" di android phone-nya, seorang kontributor bisa mengirimkan hasil rekapitulasi suara pilpres di TPS tempat dia terdaftar, dilengkapi dengan foto C1 Plano hasil rekap yang sudah ditandatangani.
Sebelumnya memang sudah ada sejumlah pihak yang juga meluncurkan aplikasi berbasis web yang ditujukan untuk melakukan rekapitulasi mandiri terhadap hasil pilpres. Baik yang sumbernya juga dari foto C1 Plano ataupun scan C1 yang diambil dari Situng KPU. Namun sepertinya hanya "Ayo Jaga TPS" yang menggunakan mobile apps yang dibangun khusus untuk fungsi pengiriman hasil rekapitulasi dari tiap TPS.
Dan diluar dugaan, sambutan masyarakat terhadap kehadiran aplikasi ini begitu luar biasa. Hanya dalam waktu kurang dari 2 minggu sejak diluncurkan tanggal 10 April 2019, aplikasi ini sudah diunduh oleh 50 ribu orang, di mana sekitar 243 ribu di antaranya menjadi kontributor. Berbekal partisipasi para kontributor , kami berhasil melakukan rekapitulasi atas hasil dari sekitar 124 ribu TPS dengan total suara sekitar 23 juta suara.
Walaupun jumlah TPS/suara yang berhasil direkap hanya sekitar 15 persen dari total suara, namun jika dilihat dari sudut pandang platform aplikasi mobile, keberhasilan "Ayo Jaga TPS" mendapatkan 500 ribu lebih downloader dengan 243 ribu kontributor adalah sesuatu yang luar biasa. Artinya, kepedulian masyarakat untuk secara aktif dan independen turut serta dalam mewujudkan pemilu yang berkualitas dengan memanfaatkan teknologi cukup besar.
Di sisi lain, kita menyaksikan bahwa pemilu kali ini, yang merupakan pemilu langsung serentak terbesar di dunia membawa sejumlah dinamika yang membuat kita harus mengelus dada.
Proses pemilu yang rumit ini ternyata begitu menguras energi hingga menyebabkan 600 lebih penyelenggara pemilu meninggal dunia dan ribuan lainnya jatuh sakit hingga harus dirawat di rumah sakit.
Selain itu, proses rekapitulasi suara secara manual ini, yang jenjangnya begitu panjang membuka ruang kesalahan cukup besar, seperti yang sudah di vonis oleh Bawaslu terkait kesalahan prosedur input Situng KPU.
Seperti disampaikan Mbak Titi dari PERLUDEM dalam acara "Ayo Jaga TPS Untuk Pemilu Damai" tanggal 14 April 2019, sesungguhnya sudah waktunya Indonesia sebagai negara demokrasi terbesar no 4 di dunia untuk mengadopsi sistem rekapitulasi elektronik dalam pemilu. Beliau mengakui untuk full e-voting masih akan sulit, tapi untuk proses rekapitulasinya dilakukan secara elektronik sangat memungkinkan.
Terkait rekapitulasi elektronik ini, "Ayo Jaga TPS" yang terbukti bisa meng-handle 500 ribu downloader dengan 243.333 kontributor dari seluruh Indonesia, hingga pulau terluar di lautan utara Sulawesi dekat Filipina, bisa menjadi prototipe bagi pengembangan Sistem Rekapitulai Pemilu Berbasis Mobile untuk diterapkan dalam pemilu-pemilu berikutnya, baik Pilkada ataupun Pemilu nasional.
Melalui medium ini, kami bermaksud untuk sedikit urun rembug terkait hal-hal yang perlu diperhatikan dalam pengembangan sistem tersebut, berdasarkan apa yang kami alami dalam mengelola "Ayo Jaga TPS" selama sebulan terakhir. Semoga bisa menjadi sumbangsih kami bagi penyelenggaraan Pemilu yang lebih baik ke depannya.
Design Aplikasi dan Infrastruktur
Pemilu di Indonesia ini melibatkan begitu banyak TPS, kali ini jumlahnya sekitar 813 ribu. Untuk itu aplikasi dan infrastruktur harus didesain untuk mampu melayani trafik yang sangat besar. Bukan hanya volume besar yang harus diantisipasi, tetapi juga velocity dari data yang masuk juga harus diantisipasi. Indonesia memiliki tiga time zone, WIB, WITA dan WIT, sehingga waktu dimulai dan berakhirnya rekapitulasi berbeda-beda. Jadi, setidaknya akan ada tiga periode waktu yang akan menyebabkan terjadinya lonjakan trafik data menuju ke sistem rekapitulasi ini. Dan tentu saja serbuan trafik data terbesar akan terjadi saat TPS di zona WIB sudah menyelesaikan rekapitulasinya. Tiga window waktu yang akan menjadi puncak trafik ini harus diwaspadai. Untuk mengantisipasi hal-hal seperti itu, aplikasi harus didesain hanya memuat fungsi-fungsi yang benar-benar dibutuhkan saja, core of the core . Fitur-fitur nice to have harus dibuang karena akan menambah beban aplikasi. Metode komunikasi dari API yang digunakan untuk menghubungkan front end Apps di mobile device, dengan backend di server harus dibuat seefisien mungkin. Jangan sampai untuk menyelesaikan satu task, harus melibatkan begitu banyak komunikasi mondar-mandir antara front end dan backend. Karena itu akan menjadi faktor multiplikasi terhadap trafik data dari dan ke arah server. Di sisi infrastruktur juga harus disiapkan konfigurasi server yang memiliki elastisitas dan skalabilitas yang mencukupi untuk menangani spike trafik data. Untuk itu wajib hukumnya untuk melibatkan penyedia/pengelola data center yang andal, karena hal ini tidak akan mungkin dilakukan menggunakan "data center" KPU seperti yang diperlihatkan saat sidak oleh Bawaslu beberapa waktu lalu.
Satu lagi, karena proses upload data akan menggunakan hasil foto terhadap form C1 yang difoto oleh kamera di mobile phone petugas, maka standarisasi dimensi dan ukuran foto juga harus dilakukan. Agar besar dari paket data yang ditransmisikan tidak membuat lemot aplikasi, apalagi kalau dikirim dari daerah yang kualitas jaringan selulernya terbatas. Hal ini juga untuk menghindari petugas yang punya mobile phone canggih, Huawei P30 Pro misalnya, sok-sokan ngirim foto dengan resolusi kelewat tinggi.
Integritas Data
Ini menjadi kunci utama dari keabsahan hasil yang akan dikeluarkan oleh sistem Rekapitulasi ini. Serta memastikan integritas data itu harus dimulai dari sumbernya yang paling ujung, yaitu mereka yang bertugas melakukan input data. "Ayo Jaga TPS" memastikan hal ini dengan mensyaratkan mereka yang ingin menjadi kontributor untuk memberikan informasi email, nomor handphone, NIK dan foto KTP nya. Dari NIK yang di submit, di cross dengan data DPT yang di publish oleh KPU, kontributor akan dialokasikan dan di lock ke TPS tempat dia terdaftar, dan dia hanya bisa mengirim data dari TPS nya, tidak bisa dari TPS lain. Dan untuk kebutuhan validasi, kami membolehkan satu TPS diisi oleh lebih dari satu kontributor. Prosedur seketat ini kami terapkan untuk memastikan bahwa sumber data benar-benar berasal dari TPS terkait dan dilakukan oleh orang yang benar hadir di TPS tersebut.
Jika nanti dibangun Sistem Rekapitulasi Pemilu Berbasis Mobile, hal seperti ini juga mesti diterapkan, dan harusnya akan lebih mudah. Karena sistem ini pengirim datanya bisa dipastikan adalah 1-2 petugas KPPS ditambah saksi yang semuanya pasti sudah terdaftar sebelumnya. Tinggal ditambahkan kode khusus misalnya untuk membedakan mana sumber data dari petugas KPPS dan mana dari saksi.
Verifikasi dan Validasi
Sesudah data masuk, tahapan krusial selanjutnya adalah verifikasi dan validasi data yang masuk.
Untuk tahap ini "Ayo Jaga TPS" dengan segala keterbatasan yang ada, menerapkan aturan sebagai berikut:
Setiap entri data harus ada Foto C1 yang valid, jika foto nya tidak valid maka data akan dibuang dari proses rekapitulasi
Dalam aturan KPU, satu TPS maksimum berisi 300 orang dengan 2 persen maksimal pemilih tambahan. Sehingga harusnya angka maksimal total suara dari satu TPS itu hanya 306. Itu mencakup suara sah dan tidak sah. Awalnya kami menerapkan threshold maksimal 400 dari tiap TPS terkait hal ini. Namun pada praktiknya ternyata ada keadaan tertentu yang menyebabkan satu TPS harus menampung lebih dari 500 orang, hingga kemudian kami mengubah threshold maksimal suara di tiap TPS adalah 600. Jika ada yang lebih dari itu data TPS tersebut juga kami keluarkan dari proses rekapitulasi.
Jika ada lebih dari satu entri untuk satu TPS, maka sistem akan membandingkan angka yang di submit. Jika angkanya berbeda, maka otomatis TPS itu akan kita drop, dan datanya tidak kita ikutsertakankan dalam rekapitulasi.
Dalam Sistem Rekapitulasi Pemilu Berbasis Mobile nanti, yang tentunya akan dibangun dalam waktu yang lebih panjang , fungsi validasi dan verifikasi ini harus diperhatikan dengan sangat serius dan tentu saja bisa memanfaatkan teknologi yang lebih canggih yang tersedia. Dimulai misalnya dengan desain form C1 yang mengandung fitur security, yang secara otomatis bisa dideteksi dan diterjemahkan oleh sistem dari foto yang di upload. Misalnya QR Code berisi informasi identitas dari TPS, untuk memastikan data berasal dari TPS yang benar. Selain itu bisa form C1 juga harus didesain untuk memudahkan teknologi optical recognition "membaca" isi dari form tersebut. Hasil "pembacaan" oleh sistem ini bisa menjadi pembanding dari angka yang di input oleh petugas secara manual ke dalam field yang disediakan.
Kemudian data yang dientri untuk satu TPS yang berasal dari petugas KPPS dan saksi harus dibandingkan dan ditetapkan langkah selanjutnya jika terjadi perbedaan. Apakah akan dilakukan model polling, data yang paling banyak di submit dia yang benar, atau metode lainnya. Yang jelas enggak mungkin data TPS itu tidak diikutkan dalam rekapitulasi, seperti yang dilakukan oleh Ayo Jaga TPS.
Hal penting berikutnya untuk proses validasi ini tentu saja validasi terhadap input. Seperti sudah disampaikan di atas, harusnya ada batas maksimal yang wajar terhadap total suara yang diinput untuk setiap TPS. Jangan sampai terulang lagi kesalahan di Situng KPU yang "membolehkan" angka-angka fantastis dimasukkan ke dalam sistem
Terakhir, sepertinya seluruh lokasi TPS perlu di tag posisi GPS nya, untuk menjadi data referensi di sistem. Sehingga nanti input data dari lokasi TPS juga harus menyertakan data location dari GPS mobile phone yang digunakan oleh petugas entri data. Hal ini untuk memastikan lokasi GPS input berada dalam range yang wajar dengan data lokasi GPS dari TPS yang sebelumnya sudah direkam.
Antisipasi Serangan Cyber
Untuk sebuah sistem berbasis elektronik serangan cyber akan menjadi momok utama yang harus diantisipasi dan dikelola dengan baik. Jenis-jenis serangan cyber yang harus diantisipasi cukup beragam, mulai dari serangan terhadap aplikasi seperti hacking yang dimaksudkan untuk merusak aplikasi atau mengganggu database, hingga serangan yang targetnya melumpuhkan infrastruktur seperti Distributed Denial of Service ( DDoS ) attack Entah mengapa, "Ayo Jaga TPS" ini juga menjadi target serangan cyber, bahkan dalam skala yang sangat besar. Selama seminggu, dari Senin tgl 15 April 2019 hingga Sabtu 20 April 2019, infrastruktur kami menjadi target serangan DDoS dengan jumlah hit total mencapai hampir 840 juta hit selama enam hari itu.
Puncaknya di tanggal 16-17 April selama 24 jam kami menerima 319 juta hit. Serangan ini berasal dari 20 negara dengan total zombie device yang digunakan sekitar 280 ribu unique IP. Sebagai ilustrasi, salah satu situs e-commerce terkemuka yang langganan jadi target DDoS , paling tinggi hanya menerima 190 juta hit untuk periode SEBULAN. Sementara kami menerima empat kali lipat jumlah serangan yang diterima e-commerce itu hanya dalam waktu enam hari. Beruntung tim infrastruktur kami yang andal, dibantu oleh tim teknis dari layanan anti DDoS terkemuka berhasil membuat kami bertahan dari serangan ini.
Dari sisi aplikasi sistem "Ayo Jaga TPS" sebetulnya bisa dibagi menjadi tiga bagian: Front end mobile, front end web dan backend. Untuk mengamankan komunikasi antar mobile front end dengan backend, kami melakukan enkripsi terhadap jalur API yang digunakan. Selain itu kami juga multiple channel untuk jalur API ini, untuk menghindari terjadinya gangguan dari saluran komunikasi selular yang menjadi backbone komunikasi. Karena pernah terjadi selama beberapa jam komunikasi antara front end mobile dengan backend "terputus" jika diakses dari salah satu operator.
Sementara antara front end web dan backend, akhirnya kami putuskan untuk pisahkan sama sekali pasca kami menerima serangan DDoS itu. Sehingga front end web hanya menampilkan informasi statis, terputus dengan backend system, untuk mengurangi kemungkinan saluran yang bisa digunakan untuk melakukan hacking terhadap sistem kami. Keputusan ini berbuah komplain dari sejumlah pihak yang menganggap kami kurang transparan. Tapi itu semata-mata kami lakukan dengan alasan security.
Nah, jika "Ayo Jaga TPS" yang "bukan apa-apa" saja mendapat serangan cyber yang begitu dahsyat, bisa dipastikan jika nanti dikembangkan Sistem Rekapitulasi Pemilu Berbasis Mobile , akan terjadi juga serangan semacam ini bahkan mungkin dengan skala yang jauh lebih besar. Tapi hal ini seharusnya tidak menyurutkan para pengampu kepentingan untuk mulai menerapkan mekanisme ini. Karena kami menunjukkan, bahwa serangan cyber itu bisa dimitigasi dan diatasi selama sejak fase perencanaan sudah berbagai resiko itu sudah "dihitung" dengan benar. Dan sebetulnya semua tools dan sumber daya tersedia untuk mengantisipasi dan menanggulangi ancaman cyber yang mungkin terjadi, selama bisa dikelola dengan baik.
Epilog
Demikian sedikit sharing dari kami, Ayo Jaga TPS. Semoga bisa memberikan sedikit sumbangsih bagi peningkatan kualitas demokrasi kita ke depannya. Agar kita bisa memiliki mekanisme pemilu yang hasilnya bisa selesai dalam waktu singkat. Sehingga tidak lagi terjadi pemilu harus memakan korban jiwa yang lebih banyak dari korban gempa bumi hanya karena proses nya yang panjang dan melelahkan.
