SEKOLAH PASCASARJANA
INSTITUT PERTANIAN BOGOR
BOGOR
2014
PERNYATAAN MENGENAI TESIS DAN
SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA*
Dengan ini saya menyatakan bahwa tesis berjudul Fingerprint sebagai
Otentikasi Voter pada Pengembangan Sistem E-Voting Menggunakan Protokol
Two Central Facilities adalah benar karya saya dengan arahan dari komisi
pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi
mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan
maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan
dicantumkan dalam Daftar Pustaka di bagian akhir tesis ini.
Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut
Pertanian Bogor.
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan
atau menyebutkan sumbernya. Pengutipan hanya untuk kepentingan pendidikan,
penelitian, penulisan karya ilmiah, penyusunan laporan, penulisan kritik, atau
tinjauan suatu masalah; dan pengutipan tersebut tidak merugikan kepentingan
IPB
Dilarang mengumumkan dan memperbanyak sebagian atau seluruh karya tulis ini
dalam bentuk apa pun tanpa izin IPB
FINGERPRINT SEBAGAI OTENTIKASI VOTER PADA
PENGEMBANGAN SISTEM E-VOTING MENGGUNAKAN
PROTOKOL TWO CENTRAL FACILITIES
Tesis
sebagai salah satu syarat untuk memperoleh gelar
Magister Ilmu Komputer
pada
Program Studi Ilmu Komputer
SEKOLAH PASCASARJANA
INSTITUT PERTANIAN BOGOR
BOGOR
2014
Penguji luar Komisi pada Ujian Tesis : Dr Heru Sukoco, SSi MT
Judul Tesis : Fingerprint sebagai Otentikasi Voter pada Pengembangan Sistem
E-Voting Menggunakan Protokol Two Central Facilities
Nama : Muhammad Ilyas Sikki
NIM : G651100051
Disetujui oleh
Komisi Pembimbing
Diketahui oleh
Halaman
RINGKASAN ii
SUMMARY iii
PRAKATA v
DAFTAR ISI vii
DAFTAR GAMBAR viii
DAFTAR LAMPIRAN viii
1 PENDAHULUAN 1
Latar Belakang 1
Rumusan Masalah 2
Tujuan Penelitian 2
Manfaat Penelitian 2
Ruang Lingkup Penelitian 3
2 TINJAUAN PUSTAKA 4
Sistem Pemilu di Indonesia 4
Pemungutan Suara 6
Permasalahan Pemilu 6
Keamanan Komputer 7
Kriptografi 8
Protokol Two Central Facilities 9
Central Legitimization Agency (CLA) 10
Skema E-voting 11
Secure Voting Requirement 12
Sidik Jari (fingerprint) 13
3 METODE PENELITIAN 15
Alur Proses Penelitian 15
Identifikasi Masalah dan Studi Pustaka 15
Identifikasi Kebutuhan Sistem 16
Disain Sistem 16
Implementasi Sistem 16
Pengujian Sistem 17
4 HASIL DAN PEMBAHASAN 18
Identifikasi Masalah dan Studi Pustaka 18
Identifikasi Kebutuhan Sistem 19
Disain Sistem 23
Implementasi Sistem 259
Pengujian Sistem 34
5 SIMPULAN DAN SARAN 37
Simpulan 37
Saran 37
DAFTAR PUSTAKA 38
LAMPIRAN 39
RIWAYAT HIDUP 53
DAFTAR GAMBAR
Halaman
1 Pihak yang terkait pemilu (Shalahuddin, 2009) 5
2 Skema pemilihan two central facilities 10
3 Skema e-voting two central facilities 11
4 Contoh sampel sidik jari 13
5 Mesin fingerprint scanner 14
6 Alur proses penelitian 15
7 Ilustrasi pengujian metode blackbox 17
8 Tipe patern sidik jari 20
9 Minutiae sidik jari 20
10 Searching minutiae 21
11 Before match 21
12 Match minutiae 21
13 Matched result 22
14 Diagram alir proses registrasi pemilih 24
15 Diagram alir proses otentikasi pemilih 24
16 Menu utama fingerprint 29
17 Menu registrasi pemilih 30
18 Menu verifikasi pemilih 30
19 Proses registrasi sidik jari pemilih 31
20 Proses verifikasi berhasil 31
21 Proses verifikasi gagal 32
22 Login untuk proses otentikasi pemilih 32
23 Proses otentikasi sidik jari pemilih yang terdaftar di database 33
24 Proses otentikasi sidik jari pemilih yang tidak terdaftar 33
25 Proses otentikasi sidik jari pemilih yang sudah memilih 34
DAFTAR LAMPIRAN
Halaman
1 Source code menu registrasi pemilih 39
2 Source code menu utama fingerprint 39
3 Source code menu verifikasi pemilih 42
4 Source code otentikasi pemilih 46
5 Source code koneksi ke database 51
6 Halaman surat suara 52
7 Halaman pertanyaan keyakinan pemilih terhadap kandidat 52
8 Halaman bukti elektronik telah memilih kandidat 52
1 PENDAHULUAN
Latar Belakang
Pemilihan umum (Pemilu) disebut juga dengan “Political Market” (Dr.
Indria Samego), artinya bahwa pemilu adalah pasar politik tempat
individu/masyarakat berinteraksi untuk melakukan kontrak sosial (perjanjian
masyarakat), antara peserta pemilu (partai politik) dengan pemilih (rakyat) yang
memiliki hak pilih setelah terlebih dahulu melakukan serangkaian aktivitas politik
yang meliputi kampanye, iklan politik melalui media massa cetak, audio (radio)
maupun audio visual (televisi) serta media lainnya seperti spanduk, pamflet,
selebaran bahkan komunikasi antar pribadi yang berbentuk face to face (tatap
muka) atau lobi-lobi yang berisi penyampaian pesan mengenai program, platform,
asas, ideologi serta janji-janji politik lainnya, guna meyakinkan pemilih sehingga
pada pencoblosan dapat menentukan pilihannya terhadap salah satu partai politik
yang menjadi peserta pemilu untuk mewakilinya dalam badan legislatif maupun
eksekutif.
Pemilu di Indonesia pada awalnya ditujukan untuk memilih anggota
lembaga perwakilan, yaitu DPR, DPRD Provinsi, dan DPRD Kabupaten/Kota.
Setelah amandemen keempat UUD 1945 pada 2002, pemilihan presiden dan wakil
presiden (pilpres), yang semula dilakukan oleh MPR, disepakati untuk dilakukan
langsung oleh rakyat sehingga pilpres pun dimasukkan ke dalam rezim pemilu.
Pilpres sebagai bagian dari pemilu diadakan pertama kali pada Pemilu 2004.
Pada 2007, berdasarkan Undang-Undang Nomor 22 Tahun 2007, pemilihan
kepala daerah dan wakil kepala daerah (pilkada) juga dimasukkan sebagai bagian
dari rezim pemilu. Di tengah masyarakat, istilah "pemilu" lebih sering merujuk
kepada pemilu legislatif dan pemilu presiden dan wakil presiden yang diadakan
setiap 5 tahun sekali.
Sepanjang sejarah Indonesia, telah diselenggarakan 10 kali pemilu yaitu
pada tahun 1955, 1971, 1977, 1982, 1987, 1992, 1997, 1999, 2004, dan 2009.
Sistem pemilu yang digunakan selama ini menggunakan cara penyoblosan atau
penyontrengan. Cara konvensional seperti ini ternyata dapat menimbulkan
masalah seperti pemilih ganda, penggelembungan suara dan kesalahan lainnya
serta lamanya waktu rakapitulasi suara. Untuk mengatasi hal tersebut, salah satu
solusi yang dapat dilakukan adalah menggunakan electronic voting (e-voting)
dengan mengadakan sistem pemilu secara online yang dibangun menggunakan
suatu protokol yang aman.
Seperti halnya dengan sistem pemilu yang diadakan secara konvensional,
pelaksanaan sistem pemilu secara online pun pasti tidak akan terhindar dari
berbagai ancaman kecurangan yang mungkin terjadi. Oleh karena itu, sistem yang
dibuat harus memenuhi standar secure voting requirements menurut paparan
Bruce Schneier (1996) untuk dapat mengatasi dan menjamin keamanan setiap
ancaman yang akan terjadi. Salah satu protokol yang dapat memenuhi sebagian
standar kriteria secure voting requirements dan memiliki tingkat keamanan yang
cukup baik adalah Two Central Facilities Protocol, dimana terdiri dari Central
Legitimazation Agency (CLA) untuk pengesahan pemilih dan Central Tabulating
Facility (CTF) untuk perhitungan suara (Bruce Schneier, 1996).
Beberapa penelitian terdahulu tentang pengembangan protokol keamanan
untuk online voting diantaranya, DuFeu dan Harris (2001) telah memberikan
2
Rumusan Masalah
Bagaimana mengembangkan protokol keamanan data dan informasi yang
dapat digunakan dalam sistem pemilu secara online untuk mengatasi masalah-
masalah kecurangan yang mungkin timbul dalam sistem pemilu secara
konvensional seperti pemilih ganda, penggelembungan suara, kesalahan
perhitungan suara, kesalahan penetapan kandidat terpilih dan lain-lain terkait
rekapitulasi suara pemilu.
Tujuan Penelitian
Penelitian ini bertujuan untuk mengembangankan protokol keamanan
sistem otentikasi voter dengan protokol Two Central Facilities dan otentikasi
voter pada mesin voting menggunakan fingerprint untuk implementasi sistem
pemilu yang diselenggarakan secara online.
Manfaat Penelitian
Manfaat yang diharapkan dari hasil penelitian ini adalah :
1. Menghasilkan prototipe e-voting untuk penyelenggaraan pemilu secara online
pada proses otentikasi pemilih dalam rangka implementasi asas pemilu
LUBER dan JURDIL.
3
2 TINJAUAN PUSTAKA
Penyelenggara Pemilihan Umum. Berikut ini adalah penjelasan setiap bagian pada
Gambar 1 terhadap pihak yang terkait pada pemilu.
12. Pemilih adalah warga negara Indonesia yang telah berusia 17 tahun atau
telah/sudah pernah menikah dan tidak sedang dicabut hak pilihnya.
13. Peserta Pemilu ada beberapa macam.
a. Pada pemilihan anggota DPR, DPRD Provinsi, dan DPRD
Kabupaten/Kota peserta Pemilu adalah partai politik.
b. Pada Pemilu anggota DPD, peserta Pemilu adalah perorangan.
c. Pada pemilihan presiden/wakil presiden, peserta Pemilu adalah wakil
partai politik.
d. Sedangkan pada pemilihan kepala daerah /wakil kepala daerah, peserta
Pemilu adalah wakil partai politik atau perorangan.
Pemungutan Suara
Pemungutan suara (voting) adalah salah satu tahap pelaksanaan pemilihan
umum. Secara umum, di banyak negara, pemungutan suara dilaksanakan secara
rahasia pada tempat yang khusus dipersiapkan untuk pelaksanaan pemungutan
suara. Proses pemungutan suara di Indonesia masih menggunakan cara
konvensional, yaitu menggunakan kertas suara. Berikut ini adalah urutan proses
pada saat pemungutan suara di Indonesia.
1. Calon pemilih datang ke TPS (Tempat Pemungutan Suara). TPS adalah
tempat melakukan pemungutan suara yang disediakan oleh panitia pemilihan
umum.
2. Calon pemilih memberikan kartu pemilih. Kartu pemilih ini digunakan
sebagai tanda bahwa calon pemilih telah terdaftar sebagai calon pemilih.
3. Calon pemilih mengambil kertas suara dan kemudian melakukan pencoblosan
di dalam bilik suara.
4. Kertas suara dimasukkan ke dalam kotak suara.
5. Salah satu jari pemilih diberi tanda dengan tinta sebagai penanda bahwa
pemilih tersebut telah melakukan pemungutan suara.
6. Setelah waktu untuk memasukkan suara selesai, maka kemudian dilakukan
perhitungan suara.
7. Kertas suara dikeluarkan dari kotak suara dan kemudian dihitung bersama-
sama dengan diawasi oleh saksi dari berbagai pihak antara lain panitia dan
perwakilan partai politik.
8. Hasil perhitungan tersebut kemudian dikirimkan ke kantor KPU untuk
dilakukan rekapitulasi hasil pemungutan suara.
Permasalahan Pemilu
Dalam pelaksanaan pemilu, sering terjadi kesalahan-kesalahan yang
disebabkan oleh human error, atau disebabkan karena sistem pendukung
pelaksanaan voting yang tidak berjalan dengan baik. Berikut ini adalah beberapa
permasalahan yang timbul dalam pelaksanaan pemilu di Indonesia selama ini :
1. Banyak terjadi kesalahan dalam proses pendataan dan pendaftaran pemilih.
Kesalahan ini terjadi karena sistem kependudukan yang masih belum berjalan
dengan baik. Konsep penggunaan banyak kartu identitas menyebabkan
banyaknya pemilih yang memiliki kartu suara lebih dari satu buah. Keadaan
ini bisa dimanfaatkan oleh pihak-pihak tertentu untuk meningkatkan jumlah
suara sehingga dapat memenangkan pemilihan tersebut, misalnya suara
7
pemilih diwakili oleh orang lain atau pemilih dapat melakukan pemilihan
lebih dari satu kali.
2. Kurang akuratnya hasil perhitungan suara. Oleh karena proses pemungutan
suara dilakukan dengan cara pencoblosan atau pencontrengan pada kertas
suara, sehingga sering kali muncul perdebatan mengenai sah atau tidaknya
sebuah kertas suara.
3. Pemilih salah dalam memberi tanda pada kertas suara. Ketentuan keabsahan
pada penandaan kertas suara yang kurang jelas, sehingga banyak kartu suara
yang dinyatakan tidak sah. Pada tahapan verifikasi keabsahan dari kartu suara,
sering terjadi kontroversi peraturan dan menyebabkan konflik di masyarakat.
4. Proses penghitungan suara yang dilakukan di setiap daerah berjalan lambat
karena proses tersebut harus menunggu semua kartu suara terkumpul terlebih
dahulu. Keterlambatan yang terjadi pada proses pengumpulan akan berimbas
kepada proses penghitungan suara. Lebih jauh lagi, pengumuman hasil
perhitungan akan meleset dari perkiraan sebelumnya.
5. Keterlambatan dalam proses tabulasi hasil penghitungan suara dari daerah.
Kendala utama dari proses tabulasi ini adalah kurangnya variasi metode
pengumpulan hasil penghitungan suara. Hal ini disebabkan oleh masih
lemahnya infrastruktur teknologi komunikasi di daerah. Oleh karena itu,
seringkali pusat tabulasi harus menunggu data penghitungan yang dikirimkan
dari daerah dalam jangka waktu yang lama. Akibat dari hal tersebut, maka
pengumuman hasil pemilu akan memakan waktu yang lama.
6. Tidak adanya salinan terhadap kertas suara. Hal ini menyebabkan jika terjadi
kerusakan terhadap kertas suara, panitia pemilihan umum sudah tidak
mempunyai bukti yang lain sehinnga menyulitkan untuk diadakaan
perhitungan kembali jika terjadi ketidakpercayaan terhadap hasil perhitungan
suara.
7. Rawan konflik. Pemilihan umum di Indonesia saat ini sering menimbulkan
konflik. Hal tersebut dipicu adanya ketidakpercayaan terhadap hasil
perhitungan suara. Konflik ini dapat disaksikan sering terjadi pada setiap
pelaksanaan penyelengaraan pemilihan umum kepala daerah.
8. Besarnya anggaran yang dilalukan untuk melakukan proses pemungutan
suara. Berdasarkan data terakhir KPU (Komisi Pemilihan Umum), yaitu
lembaga pemerintah yang bertugas melakukan pelaksanaan pemilihan umum
di Indonesia, pemerintah telah menyetujui anggaran pemilu mencapai Rp 10,4
triliun untuk pelaksanaan pemilihan umum tahun 2009 sampai dengan tahun
2014. Anggaran yang sangat besar tersebut digunakan untuk proses
pencetakan kertas suara, distribusi kertas suara, gaji panitia, pengawas, dan
lain-lain.
9. Kurang terjaminnya kerahasiaan dari pilihan yang dibuat oleh seseorang.
Banyak pemilih mengalami tekanan dan ancaman dari pihak tertentu untuk
memberikan suara mereka kepada pihak tertentu. Lebih buruk lagi, terjadi
“jual-beli suara“ di kalangan masyarakat tertentu, sehingga hasil voting tidak
mewakili kepentingan seluruh golongan masyarakat.
Keamanan Komputer
Bishop (2003) mengemukakan bahwa keamanan komputer mencakup tiga
aspek utama, yaitu kerahasian (confidentiality), integritas (integrity) dan
8
Kriptografi
Kriptografi berasal dari gabungan kata kripto yang berarti rahasia dan grafi
yang berarti tulisan. Definisi kriptografi merupakan seni dan ilmu untuk menjaga
keamanan pesan (Schneier, 1996). Kriptografi juga dapat didefinisikan sebagai
studi matematik yang berkaitan dengan aspek keamanan informasi seperti
kerahasiaan, integritas data, autentikasi entitas, dan autentikasi asal data
(Guritman, 2003). Terdapat empat tujuan utama dari kriptografi sebagai berikut :
1. Kerahasiaan adalah suatu layanan yang digunakan untuk menjaga isi
informasi dari semua pihak yang tidak berwenang memilikinya. Dengan
demikian informasi hanya akan dapat diakses oleh pihak-pihak yang berhak
saja.
2. Integritas adalah suatu layanan yang berkaitan pengubahan data atau
informasi dari pihak-pihak yang tidak berwenang. Untuk menjamin integritas
data, harus mampu mendeteksi manipulasi data dari pihak-pihak yang tidak
9
telah dihitung. Tentu saja semua pesan yang keluar/masuk telah dienkripsi dan
ditandatangani untuk menghindari peniruan terhadap identitas orang lain atau
menghindari adanya penangkapan transmisi.
Central Tabulating Facility (CTF) tidak dapat memodifikasi suara karena
setiap pemilih akan melihat nomor identifikasi yang dimilikinya. Jika seseorang
pemilih tidak berhasil menemukan nomor identifikasinya, atau ditemukan nomor
identifikasi pada kandidat yang tidak dipilih, pemilih akan menyadari bahwa telah
terjadi kecurangan. Central Tabulating Facility (CTF) tidak dapat memanipulasi
kotak perhitungan suara karena kegiatan tersebut berada dalam pengawasan
Central Legitimazation Agency (CLA). Central Legitimazation Agency (CLA)
mengetahui berapa banyak pemilih yang telah terdaftar dan nomor validasinya,
dan akan mendeteksi jika terdapat modifikasi.
ValidationID dan melakukan pemilihan lebih dari satu kali (DuFeu dan Harris,
2001).
Skema E-voting
Sistem protokol e-voting Two Central Facilities termasuk protokol yang
paling memenuhi sebagian besar persyaratan untuk menjalankan secure election
dan memiliki tingkat keamanan yang paling tinggi yang dijelaskan oleh Schneier
(1996). Sireesha dan Chakchai pada tahun 2005 telah melakukan penelitian yang
mengembangkan sistem e-voting dengan protokol Two Central Facilities tersebut
sedemikian rupa sehingga memiliki alur seperti pada Gambar 3 yang telah
dimodifikasi pada penelitian Fitrah, dkk. (2012). Berdasarkan skema e-voting
pada Gambar 3, alur kerja online voting terbagi menjadi empat tahapan dengan
penjelasan sebagai berikut :
3 METODE PENELITIAN
Disain Sistem
Implementasi Sistem
Pengujian Sistem
Disain Sistem
Pada penelitian ini, langkah awal dalam disain sistem dengan menentukan
protokol kriptografi yang akan digunakan. Protokol kriptografi yang digunakan
adalah protokol Two Central Facilities (TCF) yang terdiri dari tiga komponen,
yaitu :
Mesin Voting
Client/GUI untuk interaksi dengan pemilih
Central Legitimization Agency (CLA)
Server untuk otentikasi dan otorisasi pemilih
Central Tabulating Facility (CTF)
Server untuk hasil rekapitulasi suara pemilih
Pada tahap ini juga, sistem e-voting yang akan dikembangkan dari
penelitian sebelumnya hanya terfokus pada proses otentikasi pemilih yaitu
komunikasi yang terjadi antara Mesin Voting dengan Central Legitimization
Agency (CLA) menggunakan sidik jari melalui pembacaan sensor mesin
fingerprint scanner tipe U are. U4500 dengan spesifikasi sebagaimana yang telah
disebutkan sebelumnya dalam bagian tinjauan pustaka. Adapun tahapan
perancangan pada sistem e-voting yang akan dikembangkan adalah terdiri dari :
Registrasi dan verifikasi pemilih
Pada tahapan ini, setiap pemilih yang sudah memenuhi persyaratan untuk
memilih terlebih dahulu didaftar untuk mendapatkan database pemilih.
Selanjutnya dilakukan verifikasi untuk menyakinkan pemilih yang
bersangkutan dapat melakukan pemilihan.
Otentikasi pemilih
Tahapan ini digunakan untuk proses pelaksanaan pemungutan suara dimana
pemilih sebelum diarahkan ke halaman kotak untuk menggunakan hak
pilihnya terlebih harus terotentikasi oleh sistem dengan sidik jari dikenal.
Implementasi Sistem
Tahapan implementasi menghasilkan aplikasi sistem yang sesuai dengan
disain yang diinginkan. Pada tahap ini, disain akan diimplementasikan menjadi
sistem dengan lingkungan implementasi sebagai berikut:
1. Sistem Operasi Microsoft Windows 7.
2. Apache Friends XAMPP sebagai server, MySQL sebagai pangkalan data, dan
PHP sebagai bahasa pemrograman.
3. Google chrome sebagai browser yang digunakan dalam menjalankan sistem.
17
Pengujian Sistem
Tahap Pengujian dilakukan untuk melihat apakah sistem yang dibangun
memberi hasil keluaran seperti yang diharapkan dan dapat memenuhi standar
secure voting requirements serta standar persyaratan pemilu dari KPU. Pengujian
pada penelitian ini dilakukan dengan metode Blackbox. Ilustrasi dari metode
pengujian blackbox dapat dilihat pada Gambar 9 berikut.
Input yang
Pengujian ini merupakan pendekatan
Input Data
menyebabkan yang dilakukan untuk mengecek
hasil yang
menyimpan
kesalahan-kesalahan performa sistem,
antara lain :
- Fungsional sistem yang mengacu pada
Sistem secure voting requirement oleh Schneier
dan persyaratan KPU.
- Inisialisasi dan terminasi sistem.
- Kemampuan kinerja sistem dalam
Output Hasil
Hasil tes keluaran
otentikasi pemilih.
- Kemampuan sistem dalam akses basis
Gambar 7 Ilustrasi pengujian data pemilih
metode blackbox
18
Pattern
Secara umum, sidik jari dapat dibedakan menjadi beberapa tipe
menurut Henry Classification System, yaitu:
Minutiae
Minutiae merupakan rincian sidik jari yang tidak penting bagi manusia,
tetapi bagi sebuah mesin sidik jari itu adalah detail yang sangat diperhatikan.
Before Match
Setelah itu, mesin sidik jari akan mengumpulkan titi-titik minutiae tersebut untuk
dicocokkan.
Match Minutiae
Langkah berikutnya, mesin sidik jari akan mencari kecocokan pola pada minutiae-
minutiae yang telah terkumpul tersebut. Pada Gambar 12 dapat dilihat bahwa
tidak semua minutiae harus digunakan atau memiliki kesamaan baik pada Gambar
kiri maupun kanan.
22
Matched Result
Jika mesin sidik jari mendapatkan pola yang sama (dalam contoh Gambar 13 di
atas terdapat ada kesamaan), maka proses identifikasi sudah berhasil (dapat dilihat
pada Gambar 13 bahwa letak pola tersebut tidak harus sama).
Dari ilustrasi di atas, bisa mendapatkan Gambaran yang jelas mengenai
bagaimana mesin sidik jari bekerja. Oleh karena tidak semua minutiae harus
digunakan dan juga karena letak pola yang ditemukan tidak harus sama, maka
dapat disimpulkan bahwa posisi jari pada saat identifikasi pada mesin sidik jari
tidak harus persis sama dengan pada saat menyimpan data sidik jari pertama kali
pada mesin tersebut. (Ibnu Fajar, 2011).
Hal yang perlu juga diperhatikan dalam pengembangan sistem e-voting
adalah spesifikasi dari kebutuhan sistem. Secara umum sistem otentikasi voter
yang terajadi pada komunikasi antara mesin voting dengan server Central
legitimization Agency (CLA) menggunakan media fingerprint scanner yang
dibangun dapat memenuhi spesifikasi umum sebagai berikut :
1. Sistem mampu memfasilitasi proses pemilu yang disesuaikan dengan kondisi
di Indonesia.
Pemilu di Indonesia dilaksanakan untuk pemilihan anggota legislatif
(DPR Pusat, DPRD Provinsi, DPRD Kabupaten/Kota, dan DPD) dan
pemilihan kepala negara (pasangan Presiden dan wakil Presiden) atau
kepala daerah (pasangan Gubernur dan Wakil Gubernur, pasangan Bupati
dan Wakil Bupati, atau Walikota dan Wakil Walikota).
Sistem yang dikembangkan merupakan prototype untuk pilkada, dimana
dalam sistem ini tersedia halaman untuk memilih salah satu kandidat.
2. Sistem mampu melakukan verifikasi data pemilih (voter) dan mencatat status
pemilih apakah telah melakukan proses pemungutan suara atau belum.
Verifikasi pemilih dapat dilakukan setelah pemilih terdaftar dengan
hanya menggunakan sidik jari sehingga dapat meyakinkan bahwa
pemilih yang berhak saja yang dapat melakukan proses pemungutan
suara.
Sistem mampu membuktikan apakah pemilih yang bersangkutan benar-
benar telah melakukan proses pemilihan atau belum.
Pemilih yang sudah melakukan pemilihan akan diubah statusnya oleh
sistem telah melakukan pemilihan.
3. Hanya sidik jari pemilih yang terdaftar pada sistem yang diizinkan melakukan
pemilihan.
Terdapat Kode yang berisi NIK, Nama sebagai identitas pemilih dengan
enkripsi sidik jari pemilih yang bersifat unique
23
Disain Sistem
Perancangan yang dikembangkan dari sistem e-voting ini dengan protokol
Two Central Facilities menggunakan fingerprint (sidik jari) dimana difokuskan
pada komunikasi antara mesin voter dan server Central legitimization Agency
(CLA) meliputi proses registrasi database pemilih dan proses otentikasi pemilih.
Diagram alir proses registrasi database sidik jari pemilih dapat dilihat pada
Gambar 14. Pada proses ini, data masukan sidik jari yang didapat dari hasil
akuisisi oleh mesin sensor sidik jari, akan melalui tahapan verifikasi yang
24
Ya
Selesai
Mulai
Ya Tidak
Sidik jari cocok?
Selesai
terhadap data di database karena tidak semua user diperbolehkan mengakses data
yang ada. MySQL memungkinkan mengatur hak akses user sampai pada tingkat
kolom, artinya dapat mengatur kolom tertentu yang boleh diakses oleh user siapa
saja.
Semua pengaturan hak akses (privilege) tersimpan di database MySQL
yang secara default sudah ada di sistem MySQL. Cara kerja sistem privilege (Ihya,
2011) :
1. Sistem privilege MySQL memastikan bahwa user dapat melakukan hanya
hal-hal yang diperbolehkan. Ketika connect ke server MySQL, identitas user
ditentukan oleh host tempat melakukan koneksi dan username yang ingin
digunakan. Sistem memberikan privilege sesuai dengan identitas user dan apa
yang ingin dilakukan.
2. MySQL mempertimbangkan baik hostname dan username dalam
mengidentifikasi karena mungkin ada alasan untuk menganggap bahwa
username yang diberikan adalah milik orang yang sama dimanapun di
internet. Sebagai contoh, user Bill yang connect dari whitehouse.gov tidak
harus orang yang sama denga user Bill yang connect dari microsoft.com.
MySQL menangani hal ini dengan mengijinkan untuk menentukan user dari
host yang berbeda yang mungkin namanya sama.
Kendali akses MySQL melibatkan dua tingkat :
- Tingkat 1: server mengecek apakah user diijinkan untuk connect ke server.
- Tingkat 2: dianggap user dapat connect, server mengecek tiap permintaan
yang user jalankan untuk melihat apakah privilege user cukup untuk
menjalankannya. Contohnya, jika user mencoba untuk memilih baris dari
tabel dalam database atau menghapus sebuah tabel dari database, server
memastikan bahwa user memiliki privilege select untuk tabel tersebut atau
privilege drop untuk database.
Dalam database MySQL terdapat lima buah tabel yang dapat digunakan untuk
mengatur user dan izin akses masing-masing user-user privileges yaitu:
a. Tabel user
Tabel user merupakan tabel grant utama dalam database MySQL. Tabel
ini mengontral siapa yang dapat terhubung ke MySQL, dari host mana
mereka dapat terhubung, dan hak akses global (global privileges)apa yang
mereka punyai. Berisi data user yang mendapatkan izin akses MySQL,
asal koneksi dan izin koneksi kepada user. Tingkatan akses : Global.
b. Tabel db
Tujuan dari tabel db adalah memberikan hak akses database secara spesifik
pada user. Hak-hak akses yang diterapkan pada tabel db juga secara spesifik
pada database tertentu. Mengatur database apa saja yang dapat diakses oleh
seorang user dan jenis izin aksesnya. Tingkatan akses : Database.
c. Tabel host
Tabel host berkaitan dengan tabel db dan diperiksa hanya ketika seseorang
user terdaftar dalam tabel db namun kolom host kosong. Kombinasi dari dua
27
tabel ini mengijinkan untuk menerapkan hak akses ke user yang terkoneksi
dari banyak host. Mengatur asal host yang diperkenankan bagi user untuk
mengakses MySQL, jika lebih dari satu host. Tingkatan akses : Database.
d. Tabel tables_priv
Tabel ini lebih spesifik ke hak akses tingkat tabel. Hak-hak akses yang
terdapat di tabel ini diterapkan hanya pada tabel yang dispesifikkan pada
tables_priv. Mengatur tabel apa saja yang dapat diakses oleh seorang user
dan jenis izin aksesnya. Tingkatan akses : Tabel.
e. Tabel columns_priv
Tabel ini menunjukkan hak-hak akses yang berhubungan dengan kolom-
kolom secara individu. Mengatur kolom (field) apa saja yang dapat diakses
oleh seorang user dan jenis izin aksesnya. Tingkatan akses : kolom.
Izin akses bagi user (user privileges) terdiri dari tiga bagian, yaitu :
1. Tingkatan akses user biasa, mencakup izin akses kedalam database atau
kolom, yaitu :
ALTER : Untuk mengubah tabel dan indeks yang sudah ada,
misalnya menambah kolom baru atau menghapus
kolom (pada tabel).
CREATE : Untuk membuat database atau tabel yang baru.
DELETE : Untuk menghapus record.
DROP : Untuk menghapus tabel dan database.
INDEX : Untuk membuat indeks baru atau menghapus sebuah
indeks
INSERT : Untuk menambah record pada tabel.
SELECT : Untuk menampilkan data dari suatu tabel (beberapa
tabel sekaligus).
UPDATE : Untuk peremajaan data (updating) pada tabel,
password maka user tersebut dapat mengakses dapat mengakses database tanpa
password. Penyertaan With Grant Option akan memberikan hak penuh kepada
user sehingga user tersebut juga mampu melakukan perintah Grant tertentu pada
user lainnya.
Untuk menghapus atau mencabut kembali izin akses user MySQL yang
sebelumnya diberikan menggunakan perintah REVOKE. Tingkat pilihan yang
dapat digunakan juga sama dengan perintah GRANT sehinga semua izin akses
dengan grant dapat dicabut kembali.
Bentuk umum :
REVOKE jenis_akses ON nama_database
FROM nama_user
Perintah ini membuat salah satu user tidak mempunyai izin akses lagi. Meski
sudah sudah dicabut aksesnya, user tersebut masih dapat login ke database
MySQL tetapi tidak perlu kuatir karena user tersebut tidak bisa lagi berbuat apa-
apa lagi terhadap database.
Implementasi Sistem
Aplikasi yang digunakan dalam implementasi sistem untuk proses
registrasi dan proses otentikasi pemilih yang mendukung mesin fingerprint
scanner menggunakan bahasa pemograman visual basic 6.0 (VB6) dan
diintegrasikan dengan sistem e-voting yang telah dikembangkan oleh Fitrah, dkk
(2012) yang berbasis web menggunakan bahasa pemrograman PHP serta MySQL
sebagai pangkalan database.
Pengujian Sistem
Pengujian terhadap sistem e-voting ini yang difokuskan pada pemanfaatan
sidik jari untuk otentikasi pemilih dalam pemilu dilakukan menggunakan
blackbox testing. Pengujian yang dilakukan meliputi tahapan sebagai berikut :
1. Tahap pengujian pada proses registrasi pemilih dengan menggunakan mesin
fingerprint scanner yang sebelumnya telah dikonfigurasikan dengan sistem
yang dikembangkan oleh Fitrah, dkk (2012) untuk memperoleh citra databese
sidik jari dari pemilih yang akan melakukan pemilihan. Pada tahap ini akan
dilihat apakah sensor dari mesin fingerprint scanner yang digunakan dapat
mengakuisisi sidik jari pemilih yang diregister dengan kondisi bagus melalui
empat tahap mengambilan. Pada tahap ini juga akan dilihat apakah sistem
dapat menyimpan identitas pemilih yang berupa Kode dan Nama yang
dimasukkan saat registrasi pemilih untuk pengambilan data sidik jari.
2. Tahap pengujian pada proses verifikasi pemilih untuk menguji apakah sistem
dapat menangkap dan membaca citra sidik jari pemilih yang akan melakukan
pemilihan melalui sensor dari mesin fingerprint scanner yang digunakan.
Pada tahap ini akan dilihat sistem akan menampilkan Nama dari pemilih yang
dapat diverifikasi sesuai dengan Nama yang tersimpan dari database sidik
jari pemilih yang bersangkutan. Pada tahap ini juga akan dilihat apakah
sistem gagal menverifikasi pemilih yang tidak sesuai dengan database sidik
jari pemilih atau sidik jari pemilih yang tidak terdaftar.
35
3. Tahap pengujian pada proses otentikasi pemilih dimana saat pemilih akan
melakukan pemilihan melalui sistem e-voting yang dikembangkan untuk
memberikan suaranya. Pada tahap ini dilakukan pengujian terhadap sistem
untuk menunjukkan apakan sistem dapat bekerja dengan baik sesuai performa
sistem yang diharapkan untuk melakukan otentikasi kepada pemilih yang
akan menggunakan hak pilihnya dalam pemilu. Dalam pengujian ini, sistem
dapat memperlihatkan bahwa otentikasi bisa dilakukan terhadap pemilih yang
sudah terdaftar sidik jarinya dalam database pemilih, sehingga pemilih yang
terotentikasi dapat diperbolehkan untuk memberikan suaranya oleh sistem
dengan diarahkannya pemilih ke halaman surat suara. Dalam pengujian ini
pula sistem dapat memperlihatkan bahwa pemilih yang sidik jarinya tidak
terdaftar dalam database pemilih, maka sistem tidak mengenal sidik jari
pemilih tersebut sehingga tidak dapat melakukan pemilihan karena sistem
tidak mengarahkannya ke halaman surat suara. Sedangkan pemilih yang akan
melakukan pemilihan lebih dari satu kali pada periode yang sama, sistem juga
tidak mengarahkannya ke halaman surat suara dan sistem memberikan
informasi kepada pemilih tersebut bahwa sudah melakukan pemilihan. Proses
otentikasi juga tidak bisa dilakukan terhadap orang yang akan menggunakan
sidik jari palsu dengan memanfaatkan hasil foto copy sidik jari atau sidik jari
yang telah diambil menggunakan lakban dari pemilih yang sah dan terdaftar
dalam database untuk tujuan berbuat curang demi kepentingan pribadi atau
golongan (untuk memenangkan salah satu kandidat atau parpol).
Simpulan
Pengembangan sistem e-voting dengan protokol two central facilities yang
telah ada dapat dikembangkan dan disesuaikan dengan sistem implementasikan
penyelenggaraan pemilihan di wilayah Indonesia dan juga dapat memenuhi
spesifikasi persyaratan dari secure voting.
Sistem e-voting yang dikembangkan ini merupakan prototype yang apabila
akan diimplementasikan untuk menggantikan sistem penyelenggaraan pemilihan
secara konvensional (paper based) dapat mengeliminir permasalahan-
permasalahan yang mungkin timbul dalam pelaksanaan pemungutan suara selama
ini dengan adanya pemanfaatan teknologi biometric untuk verifikasi dan
otentikasi pemilih.
Penggunakan sidik jari untuk proses otentikasi pemilih yang akan
melakukan proses pemilihan dalam penyelengaraan pemilu akan memastikan
bahwa pemilih yang bersangkutan yang diperbolehkan memberikan suaranya
tanpa bisa diwakili atau ditipkan ke orang lain sehingga dapat membantu
meningkatkan keabsahan dari pemungutan suara yang dilakukan.
Saran
Pada penelitian ini sistem yang dikembangkan belum sempurna masih
memiliki kelemahan dan kekurangan sehingga diharapkan dapat terus
dikembangkan dan diperbaiki pada penelitian selanjutnya. Beberapa rekomendasi
saran yang bisa dijadikan acuan untuk penelitian ke depan diantaranya adalah :
1. Penggunaan teknologi biometric retina mata untuk proses otentikasi pemilih
dalam pemungutan suara pada penyelenggaraan pemilu. Ataupun dapat juga
digunakan kedua teknologi biometric sidik jari dan retina mata dalam proses
otentikasi pemilih untuk meningkatkan protokol keamanan terhadap pemilih
yang akan memberikan suaranya.
2. Dilakukan penelitian lebih mendalam pengembangan dan penerapan sistem
e-voting ini yang dapat ditinjau dari aspek ekonomi, sosial, hukum, dan
politik untuk mendukung reliabilitas sistem jika akan diimplementasikan.
3. Diperlukan pengembangan protokol pemilu yang didisain sendiri dan diuji
disesuaikan dengan undang-undang tentang pemilu dan tahapan-tahapan
proses pelaksanaan pemilu sehingga memudahkan apabila akan
diimplementasikan di lapangan.
4. Apabila pemerintah akan mengimplemetasikan sistem e-voting dengan
otentikasi fingerprint, sebaiknya database penduduk yang sudah memenuhi
syarat berhak memilih yang telah direkam sebelumnya dapat dimigrasi
kedalam sistem sehingga tidak diperlukan lagi untuk perekaman data baru
bagi pemilih yang sudah terdaftar.
38
DAFTAR PUSTAKA
LAMPIRAN
For a = 0 To 3
register.Add Template(a), bDone
Next a
Lampiran 2 Lanjutan
regTemplate.Export blob
blobarray = blob
Conn.Execute "Insert into users values('" & Text1.Text & "','" & Text2.Text
& "','" & ArrayToHex(blobarray) & "')"
www:
If Err.Number = -2147467259 Then
MsgBox "Nama Users Telah Ada !!!", vbInformation, "Peringatan"
Text2.SetFocus
Else
MsgBox Err.Description, vbInformation, Err.Number
End If
End Sub
Lampiran 2 Lanjutan
Sample.PictureOrientation = Or_Portrait
Sample.PictureWidth = Picture1.Width / Screen.TwipsPerPixelX
Sample.PictureHeight = Picture1.Height / Screen.TwipsPerPixelY
Picture1.Picture = Sample.Picture
Text10(N).Text = Kualitas(qt)
If qt = 0 Then
N=N+1
Konfir.Caption = ""
If N = 4 Then
ftrex.Process Sample, Tt_Verification, verTemplate, qt
If qt = 0 Then
ScanOke = True
Konfir.Caption = "Semua Tahap Sudah Lengkap !!!"
Sta.Visible = False
Else
N=N-1
Text10(N).Text = Kualitas(qt)
Konfir.Caption = "Scan Tahap " & (N + 1) & " diulangi, Letakkan
Jari Anda dg Benar !!!"
End If
End If
42
Lampiran 2 Lanjutan
Else
Konfir.Caption = "Scan Tahap " & (N + 1) & " di-ulangi, Letakkan Jari
Anda dg Benar !!!"
End If
Sta.Caption = "Process Selesai"
End If
End Sub
Label3.ForeColor = vbBlack
Rec.Open "select * from users", Conn
Do Until Rec.EOF
blob = Rec.Fields("finger")
HexToArray blob, blobarray
Set regTemplate = New FPTemplate
regTemplate.Import blobarray
verify.Compare regTemplate, verTemplate, result, score, threshold, learn,
sec
Lampiran 3 Lanjutan
Mulai = True
Exit Sub
Keluar:
MsgBox Err.Description, vbInformation + vbSystemModal, "Informasi"
End Sub
44
Lampiran 3 Lanjutan
Sample.PictureOrientation = Or_Portrait
Sample.PictureWidth = Picture1.Width / Screen.TwipsPerPixelX
Sample.PictureHeight = Picture1.Height / Screen.TwipsPerPixelY
Picture1.Picture = Sample.Picture
DoEvents
Else
C=0
Timer1.Enabled = True
Label3.Caption = "Hasil Scan Tidak Bagus, Letakan Jari Anda Dengan
Benar"
End If
Text1.SetFocus
End Sub
45
Lampiran 3 Lanjutan
Label3.ForeColor = vbBlack
Rec.Open "select * from users", Conn
Do Until Rec.EOF
blob = Rec.Fields("finger")
HexToArray blob, blobarray
Set regTemplate = New FPTemplate
regTemplate.Import blobarray
verify.Compare regTemplate, verTemplate, result, score, threshold, learn,
sec
Kode = ""
Nama = ""
LogOke = False
If result = True Then
Kode = Rec.Fields("code")
Nama = Rec.Fields("name")
LogOke = True
Exit Do
End If
Set regTemplate = Nothing
Rec.MoveNext
Loop
Rec.Close
Lampiran 4 Lanjutan
SQL = "SELECT `status` FROM voterlist WHERE code='" & Kode & "'"
rs.Open SQL, Conn, adOpenStatic
If Not rs.EOF Then
If rs!Status = 2 Then
CekSudahMemilih = True
Else
CekSudahMemilih = False
End If
End If
End Function
WindowState = vbMaximized
DoEvents
fraLogin.Left = (Screen.Width - fraLogin.Width) / 2
lblJudul.Left = (Screen.Width - lblJudul.Width) / 2
cmdSelesai.Left = Screen.Width - cmdSelesai.Width - 120
browser1.Left = 0
browser1.Top = Picture2.Height
browser1.Width = Screen.Width
browser1.Height = Screen.Height - Picture2.Height
browser1.Silent = True
Mulai = False
Lampiran 4 Lanjutan
Open_DB
Set myDevices = New FPDevices
If myDevices.Count <> 0 Then
For Each x In myDevices
Set dev = x
Next
dev.SubScribe Dp_StdPriority, Me.hWnd
Label1.Caption = "Letakkan jari anda pada fingerprint"
Else
Label1.Caption = "FingerPrint belum terpasang!"
End If
Mulai = True
Exit Sub
Keluar:
MsgBox Err.Description, vbInformation + vbSystemModal, "Informasi"
End Sub
Lampiran 4 Lanjutan
Lampiran 4 Lanjutan
Label3.Visible = True
C=C+1
If C = 5 Then
Timer1.Enabled = False
Label3.Visible = False
If LogOke Then
UpdateStatus Nama, 2
DoEvents
fraLogin.Visible = False
DoEvents
browser1.Visible = True
browser1.Navigate2 "http://localhost/skrip/suratsuara?kode=" & Kode
cmdSelesai.Visible = True
End If
End If
End Sub
SQL = "UPDATE voterlist SET status=" & Status & " WHERE name='" &
fingerprint & "'"
Conn.Execute SQL
End Sub
51
RIWAYAT HIDUP