Konsultan IT KPU Harus Di BlackList Selamanya !!!
He…he…he… jangan kaget sama judul saya. Saya emang terkenal sebagai orang yang sering berlebihan dan sok tau, jadi mohon dimaklumi
Hari ini kita sebagai orang IT harus berduka karena kisruh DPT bukan lagi mencoreng muka praktisi IT, tapi sudah menyayat-yayat, menginjak-injak dan membuang kekubangan penuh lumpur dan sampah (—> berlebihan deh….)
Ok gini deh, semua pasti sudah tau dong kalo DPT dipermasalahin oleh Mega/Pro dan JK/Win. Kedua pasangan tadi menuduh ada ketidakberesan DPT dan berpotensi menimbulkan permasalahan sampai 25 juta suara (ini saya tonton wawancara pak prabowo di metrotv). Saya sendiri gak yakin yang bermasalah sampe sebesar itu, tapi yang bikin sedih adalah pernyataan ketua KPU, dalam penolakannya ketua KPU menyangsikan kalau DPT yang bermasalah sebesar itu, tapi dia tidak menutup kemungkinan ada data double untuk NIK yang sama. Oke, mendengar ini saya cukup bingung….. Trus diwawancara yang berbeda, perwakilan KPU menyatakan bahwa ada kesulitan untuk mengatur data sampai ratusan juta. Saya cuma manggut-manggut sambil nyoba-nyoba fasilitas searching google dan bing untuk nemuin data sampai milyaran ato bahkan triliunan record.
Oke kita simulasiin langkah pengelolaan data di KPU sebagai gambaran bagi anda yang enggak mendalami IT. Tapi sebelum mulai, saya mo bilang langkah ini bisa dilakukan oleh semua mahasiswa informatika yang sudah ambil mata kuliah database. Mungkin sebagian besar mahasiswa tersebut jauh lebih baik daripada saya yang biasanya cuma koding di daerah sistem dan komponen.
Pertama adalah kita harus mengelola data ratusan juta record, pilihan paling masuk akal tentu saja dengan menggunakan database. Database yang mana ? Saya sih enggak tau, tapi tahun 2004 KPU menggunakan SQLServer, kemungkinan tahun ini sama, lagi pula KPU seperti punya kedekatan dengan Microsoft. Langkah selanjutnya yang paling tepat adalah melakukan analisa data apa saja yang peru dicatat, fieldnya apa saja dan hubungan antar data bagaimana. Kalau kosultan IT sedikit profesional (cukup sedikit aja), pasti menelurkan diagram ER, saya gambarkan sedikit deh, hubungan antara pemilih dan TPS (ini yang dipermasalahin sekarang kan ?). Jadi sejelek-jeleknya kayak gini :

Maksud gambar diatas, ada data Pemilih dan data TPS yang memiliki hubungan 1 TPS terdaftar n (lebih dari 1) pemilih. Dari diagram diatas, kita bisa mengharapkan database kita bisa menjawab pertanyaan-pertanyaan seperti “Siapa saja pemilih yang terdaftar ?”, “Siapa sajakah yang terdaftar di TPS x ?”, “Pemilih x terdaftar di TPS mana ?” dan banyak pertanyaan lain yang berhubungan dengan pemilih dan TPS.
Langkah selanjutnya adalah mengimplementasikan ke dalam table fisik. Tentu aja yang paling gampang adalah Pemilih jadi satu table dan TPS jadi satu table. Untuk menghindari data double, maka table Pemilih dan TPS diberi primary key yaitu NIK dan TPS_ID. Sedangkan untuk menyimpan hubungan antara table Pemilih dangan table TPS, karena hubungannya 1 ke N, maka diimplentasikan dengan menitipkan ID table yang kecil di table yang besar, dalam hal ini kita menambahkan field TPS_ID di table Pemilih. Dengan demikian bisa tercapai database yang bisa menjawab semua pertanyaan diatas, dan membuang jauh-jauh pernyataan bahwa ada kemungkinan data double untuk NIK yang sama.
Sedangkan untuk menjawab pertanyaan ada tidak orang yang sama dicatat 2 kali (dengan 2 NIK), kita bisa melakukan query dengan contoh sebagai berikut :
select nik, count(*) from pemilih group by (nama+alamat) having count(*) > 0
Atau sql semacam diatas untuk membantu pengecekan data double.
Kemudian untuk menjawab kesulitan pengelolaan data ratusan juta record, ya jangan pesimis dulu… Google yang datanya super duper besar bisa menampilkan hasil dalam hitungan milidetik. Kalau ratusan juta sih bukan masalah. Lagi pula yang mengimplementasi database ratusan juta bukan cuma KPU, saya secara pribadi pernah mengimplementasikan yang datanya bertambah 800 ribu perhari, dan sistem tersebut harus membuat laporan bulanan (24 juta-an record) dan tahunan (280 juta-an record). Pengolahan data sebanyak itu tentu perlu kekuatan prosesor dan memori yang mumpuni, tapi bukan hambatan karena KPU punya dana cukup untuk beli server seperti itu (dan sepertinya sudah ada, karena punya kenalan yang ikutan tender server KPU di daerah, speknya cukup tinggi).
Desain database yang baik, seperti penggunaan index yang tepat dan penggunaan segmentasi data yang tepat akan membuat pengolahan data ratusan juta tersebut bukan masalah besar. Perlu waktu, tentu saja, tapi bukan hal yang tidak mungkin.
Saya sih tidak tahu cara kerja konsultan IT di KPU, mudah-mudahan jauh lebih baik dari pada simulasi amatiran saya ini. Sepertinya IT KPU harus meklarifikasikan cara kerja sendiri karena menurut saya pemberitaan yang beredar sudah sangat mencederai profesi konsultan IT. Mungkin yang berkembang saat ini cuma kecurangan, tapi saya yakin isu tersebut akan berkembang termasuk juga pada kapabilitas praktisi IT di indonesia dalam mengimplementasikan tugas-tugas yang sebenarnya sangat sederhana dan mudah untuk dilakukan.
Tapi mendengar pemberitaan sekarang, saya jadi menduga kalau konsultan IT KPU melakukan langkah yang berbeda, yaitu pada langkah pertama, jadi bukannya pakai database tapi pakai software pengolah data favorit sepanjang masa : MS Excel 
July 7th, 2009 at 1:18 am
katanya kalo pake software-software yg laen/ custom,
petugas entry data nya kurang mampu, trus internet lelet pak. . .
July 16th, 2009 at 1:05 pm
Bung Denny saya ingin bertanya, bagaimana jika kejadiannya..
Pemerintah membuka TPS di tempat2 umum contohnya seperti Pelabuhan, Bandara, Rumah Sakit, tentunya untuk para pemilih yang tidak bisa memilih di TPS di daerahnya karena berhalangan sedangkan pemilih tersebut juga terdaftar di TPS di daerahnya..
Kira2 bagaimana pemecahan terhadap masalah di atas? Apakah harus dibuat suatu kondisi yang menyatakan bahwa ID ini telah terdaftar di 2 TPS yang berbeda? Atau dibuat table baru? Terima kasih.
August 16th, 2009 at 7:12 pm
bukan cuma sistem komputernya yang bermasalah, sistem pemilunya juga tidak bagus, kita aja polisi yang pengamanan sering terdadak2 dengan berbagai perubahan jadwal . . . jadi wajar kalo ada yang bilang kpu tidak profesional.
October 28th, 2009 at 10:35 pm
saya salah satu korban dari kekacauan dot ituhhh, mosok alamat rw dan rtnya bisa pindah….
July 14th, 2010 at 9:22 pm
@peter
Tanya ato nguji?
Simplenya, mending history dicatet. Data sesepele apapun mending dicatat. Bisa aja relasi antara TPS dan pemilih diubah jadi many-to-many. Jadi ntar ditengah2nya ada tabel baru (secara fisik). Di tabel baru itu ntar ada attribut status, misalkan aja ntar diisi ‘permanen’, ’sementara’ ato apalah. Ntar sewaktu select/insert/hapus bisa dihandle pake trigger. Misalkan aja pemilih A pindah dari TPS 1 ke TPS 2, ntar ditriggernya diganti: pemilih A - TPS 1 status ’sementara’, pemilih A - TPS 2 status ‘permanen’. Klo ada pertanyan, pemilih A milih di TPS mana? berarti di triggernya select pemilih A - TPS status ‘permanen’. Toh kenyataanya, pemilih ’seharusnya’ memilih di ’satu’ TPS doank kan? Klo pemilih memilih di lebih dari 1 TPS, berarti emang sengaja bikin kasus.
Jujur aq sependapat sama bung denny. Ketidakprofessionalitas tim IT KPU yg diberitakan buruk secara tidak langsung memperburuk profesi IT di Indonesia, masyarakat umum yg awam langsung aja menilai tenaga kerja IT Indonesia tidak becus. Coba pikir, ketidakprofesionalitasan itu terjadi karena sengaja ato karena emang terkendala masalah fasilitas ato kemampuan. Klo dilihat dari fasilitas, kayaknya nggak mungkin, dananya besar banget. Jadi silakan pikir sendiri akibat yg ditimbulkan secara tidak langsung terhadap semua tenaga kerja IT Indonesia.