FINGERPRINT SEBAGAI OTENTIKASI VOTER PADA PENGEMBANGAN SISTEM E-VOTING MENGGUNAKAN PROTOKOL TWO CENTRAL FACILITIES
MUHAMMAD ILYAS SIKKI
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. Bogor, Februari 2014
Muhammad Ilyas Sikki NIM G651100051
RINGKASAN
MUHAMMAD ILYAS SIKKI. Fingerprint sebagai Otentikasi Voter pada Pengembangan Sistem E-Voting Menggunakan Protokol Two Central Facilities. Dibimbing oleh SUGI GURITMAN dan HENDRA RAHMAWAN. Electronic voting (e-voting) merupakan pelaksanaan pemungutan suara secara elektronik dan dapat memanfaatkan teknologi informasi berbasis web agar dapat mengimplementasikan sistem pemilihan secara online dalam rangka menggantikan pemilihan yang dilakukan secara konvensional (berbasis kertas) dengan tujuan membantu menyelesaikan permasalahan-permasalahan yang ada, seperti pemilih ganda, pembelian suara, banyaknya suara tidak sah, dan lain-lain. Sistem e-voting yang dikembangkan menggunakan protokol two central facilities (TCF) terdiri dari tiga komponen yakni mesin voting sebagai client untuk interaksi dengan pemilih, central legitimization agency (CLA) sebagai server untuk otentikasi pemilih, dan central tabulating facility (CTF) sebagai server untuk hasil rekapitulasi perhitungan suara pemilih. Pada penelitian dalam tesis ini hanya difokuskan pada proses otentikasi pemilih pada mesin voting terhadap database pemilih yang disimpan pada Central Legitimazation Agency (CLA) dengan menggunakan teknologi biometrik sidik jari. Teknologi biometrik sidik jari digunakan untuk proses pendaftaran, proses verifikasi, dan otentikasi pemilih yang akan melakukan pemilihan. Proses pendaftaran untuk memperoleh database citra sidik jari pemilih, proses verifikasi untuk memastikan database pemilih dapat diverifkasi atau tidak, dan proses otentikasi untuk mengotorisasi pemilih yang diperbolehkan dan tidak oleh sistem memberikan suaranya dalam pemilihan. Dalam proses otentikasi pemilih dari sistem ini, pemilih yang diperbolehkan oleh sistem memberikan suaranya akan diarahkan ke halaman surat suara hanya kepada pemilih yang citra sidik jarinya dikenal oleh sistem. Sedangkan pemilih dimana citra sidik jarinya tidak dikenal oleh sistem, maka sistem tidak akan mengarahkan ke halaman surat suara sehingga pemilih tersebut tidak bisa memberikan suaranya dalam pemilihan. Kata kunci: e-voting, two central facilities, central legitimization agency, otentikasi, sidik jari.
SUMMARY
MUHAMMAD ILYAS SIKKI. Fingerprint as Voter Authentication for Development of E-Voting System Using Two Central Facilities Protocol. Supervised by SUGI GURITMAN and HENDRA RAHMAWAN.
Electronic voting (e-voting) is carrying out of balloting in a eletronic manner and can to utilizing information technology web-based in order that be able implementation election system in accordance with online in order to substitute election that be done conventionally (paper based) with a purpose to help problems solve at hand, such as elector of double, vote puschasing, the number of vote is illegal, etc. The e-voting system which developed using two central facilities protocol consist of three component that is voting machine as client for interaction with voter, central legitimization agency (CLA) as server voter authentication, and central tabulating facility (CTF) as server for result recapitulation voter vote count. Research in this thesis just focused to voter authentication process on voting machine toward database of voter that stored in CLA with using fingerprint biometric technology. Fingerprint biometric technology used for voter registration process, voter verification process, and voter authentication process who will doing election. Registration process for acquire voter fingerprint image database, verification process to be sure voter database can be verificated or not, and authentication process for voter authorization who can be permitted or not by system give of vote in election. In the voter authentication from this system, who voter can be permitted by system give of her/his vote will be directed to ballot page only voter who her/his fingerprint image recognizable by system. Whereas voter which her/his fingerprint image cannot recognized by system, so system will not direction to ballot page with the result that voter cannot give of her/his vote in election. Keywords: e-voting, two central facilities, central legitimization agency, authentication, fingerprint.
© Hak Cipta Milik IPB, Tahun 2014 Hak Cipta Dilindungi Undang-Undang 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
MUHAMMAD ILYAS SIKKI
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
Dr Sugi Guritman Ketua
Hendra Rahmawan, SKom MT Anggota
Diketahui oleh
Ketua Program Studi Ilmu Komputer
Dekan Sekolah Pascasarjana
Dr Wisnu Ananta Kusuma, ST MT
Dr Ir Dahrul Syah, MScAgr
Tanggal Ujian: 22 Nopember 2013
Tanggal Lulus:
PRAKATA Segala Puji dan syukur penulis panjatkan kehadirat Allah subhanahu wa ta’ala atas segala rahmat dan karunia yang dilimpahkan-Nya sehingga karya ilmiah ini berhasil diselesaikan. Tema yang dipilih dalam penelitian yang dilaksanakan sejak bulan Oktober 2012 ini ialah sistem keamanan e-voting, dengan judul Fingerprint sebagai Otentikasi Voter pada Pengembangan Sistem EVoting Menggunakan Protokol Two Central Facilities. Penelitian ini diharapkan dapat memberikan sumbangan pemikiran bagi penyelenggaraan pemilu yang nantinya dapat terus dikembangkan secara luas di masa mendatang. Laporan dari tesis ini tidak akan terselesaikan tanpa bantuan dari berbagai pihak. Oleh karena itu, penulis ingin menyampaikan ucapan terimah kasih yang sebesar-besarnya kepada nama-nama yang tercantum di bawah atas bantuan yang diberikan. 1. Bapak Dr Sugi Guritman selaku ketua komisi pembimbing yang memberikan pemikiran awal sebagai topik untuk mengerjakan penelitian sistem e-voting dan membimbing sampai penelitian ini selesai. 2. Bapak Hendra Rahmawan, SKom MT selaku anggota komisi pembimbing yang telah memberikan arahan, bimbingan serta saran dalam penyelesaian tesis ini. 3. Bapak Dr Heru Sukoco, SSi MT selaku dosen penguji dan Ibu Dr Yani Nurhadryani, SSi MT selaku moderator yang telah memberikan masukan, arahan, dan saran untuk kesempurnaan dalam penulisan laporan tesis ini. 4. Ibu Dr Ir Sri Nurdiati, MSc selaku dekan FMIPA, Bapak Dr Ir Agus Buono, MSi MKom selaku ketua Departemen Ilmu Komputer, Bapak Dr Wisnu Ananta Kusuma, ST MT selaku ketua Program Studi Ilmu Komputer yang telah membekali kami pengetahuan komputer dan senantiasa memberikan motivasi, dukungan serta arahan dalam penyelesaian studi. 5. Bapak Prof Dr Ir Kudang Boro Seminar, MSc terima kasih atas ilmu yang telah diberikan, motivasi, spirit, supporting, bimbingan, serta arahan menjadi seorang yang berpengetahuan dengan memiliki moral yang berkarakter Islam. 6. Bapak Sony H Wijaya, SKom MKom, Bapak Toto Haryanto, SKom MSi, Bapak Aziz Kustiyo, SSi MKom, Bapak Dr Yandra Arkeman, Bapak Endang P Giri, SKom MKom, Ibu Ir Sri Wahjuni, MT, Ibu Dr Yeni Herdiyeni, SSi MKom, Ibu Shelvie Nidya Neyman, SKom MSi, serta seluruh dosen lainnya yang telah berbagi ilmu, filosofi, dan cerita-cerita menarik sehingga mempelajari ilmu komputer menjadi menyenangkan. Terima kasih pula atas dukungan, arahan, motivasi, dan keramahan dalam mengisi hari-hari penulis di Departemen Ilmu Komputer FMIPA. 7. Bapak Yadi, Ibu Ning serta seluruh staff administrasi, perpustakaan, dan pendukung Departemen Ilmu komputer FMIPA yang telah memberikan bantuan selama ini. 8. Kodarsyah dan Asep Taufik Muharram sebagai rekan satu topik pada penelitian ini yang senantiasa memberikan bantuan, semangat, dan motivasi untuk penyelesaian tesis. 9. Rekan-rekan lainnya seperjuangan angkatan XII S2 Sekolah Pacasarjana Ilmu Komputer IPB: Ami, Ana, Dedi, Dian, Fikri, Gibtha, Husna, Imam, Irwan,
Kania, Komar, Mila, Safar, Sari, Vera, Yudhit, Yustin ditambah Mr. Ghani from Thailand. Persaudaraan, kekompakan, dan team work senantiasa terjaling dalam mengisi hari-hari selama di Departemen Ilmu komputer memberikan kesan tersendiri yang akan teringat selalu. 10. Bapak Dr Ir Nandang Najmulmunir, MS sebagai Rektor Unisma Bekasi yang telah memberikan ijin studi lanjut dan Bapak Dindin Abidin, SPd MSi sebagai Wakil Rektor III yang ikut merekomendasaikan serta memberikan dukungan studi lanjut. Seluruh rekan sejawat di Unisma Bekasi, terima kasih atas dukungan dan do’a yang diberikan dalam penyelesaian studi. 11. Bapak Agus, Mas Yuggo, dan rekan-rekan di Program Studi Teknik Informatika Fakultas Teknik, UIKA Bogor yang telah memberikan dukungan dan bantuan agar terselesainya tesis ini. 12. Semua pihak yang tidak bisa disebutkan satu persatu yang telah turut memberikan do’a, semangat, dan bantuan selama penyelesian studi baik langsung maupun tidak langsung. Penulis menyadari sepenuhnya bahwa dalam karya ilmiah ini masih terdapat kekurangan dan kelemahan dalam berbagai hal karena keterbatasan kemampuan penulis. Oleh karena itu, dengan segala kerendahan hati penulis menerima masukan berupa saran atau kritik yang bersifat membangun dari pembaca demi kesempurnaan karya ilmiah ini. Penulis berharap semoga karya ilmiah ini dapat memberikan manfaat. Amien. .
Bogor, Februari 2014
Muhammad Ilyas Sikki
DAFTAR ISI Halaman RINGKASAN SUMMARY PRAKATA DAFTAR ISI DAFTAR GAMBAR DAFTAR LAMPIRAN 1 PENDAHULUAN Latar Belakang Rumusan Masalah Tujuan Penelitian Manfaat Penelitian Ruang Lingkup Penelitian 2 TINJAUAN PUSTAKA Sistem Pemilu di Indonesia Pemungutan Suara Permasalahan Pemilu Keamanan Komputer Kriptografi Protokol Two Central Facilities Central Legitimization Agency (CLA) Skema E-voting Secure Voting Requirement Sidik Jari (fingerprint) 3 METODE PENELITIAN Alur Proses Penelitian Identifikasi Masalah dan Studi Pustaka Identifikasi Kebutuhan Sistem Disain Sistem Implementasi Sistem Pengujian Sistem 4 HASIL DAN PEMBAHASAN Identifikasi Masalah dan Studi Pustaka Identifikasi Kebutuhan Sistem Disain Sistem Implementasi Sistem Pengujian Sistem 5 SIMPULAN DAN SARAN Simpulan Saran DAFTAR PUSTAKA LAMPIRAN RIWAYAT HIDUP
ii iii v vii viii viii 1 1 2 2 2 3 4 4 6 6 7 8 9 10 11 12 13 15 15 15 16 16 16 17 18 18 19 23 259 34 37 37 37 38 39 53
DAFTAR GAMBAR
1 Pihak yang terkait pemilu (Shalahuddin, 2009) 2 Skema pemilihan two central facilities 3 Skema e-voting two central facilities 4 Contoh sampel sidik jari 5 Mesin fingerprint scanner 6 Alur proses penelitian 7 Ilustrasi pengujian metode blackbox 8 Tipe patern sidik jari 9 Minutiae sidik jari 10 Searching minutiae 11 Before match 12 Match minutiae 13 Matched result 14 Diagram alir proses registrasi pemilih 15 Diagram alir proses otentikasi pemilih 16 Menu utama fingerprint 17 Menu registrasi pemilih 18 Menu verifikasi pemilih 19 Proses registrasi sidik jari pemilih 20 Proses verifikasi berhasil 21 Proses verifikasi gagal 22 Login untuk proses otentikasi pemilih 23 Proses otentikasi sidik jari pemilih yang terdaftar di database 24 Proses otentikasi sidik jari pemilih yang tidak terdaftar 25 Proses otentikasi sidik jari pemilih yang sudah memilih
Halaman 5 10 11 13 14 15 17 20 20 21 21 21 22 24 24 29 30 30 31 31 32 32 33 33 34
DAFTAR LAMPIRAN
1 Source code menu registrasi pemilih 2 Source code menu utama fingerprint 3 Source code menu verifikasi pemilih 4 Source code otentikasi pemilih 5 Source code koneksi ke database 6 Halaman surat suara 7 Halaman pertanyaan keyakinan pemilih terhadap kandidat 8 Halaman bukti elektronik telah memilih kandidat
Halaman 39 39 42 46 51 52 52 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 pemaparan tentang sistem pemilu online. Dalam pemaparan tersebut menjelaskan persyaratan untuk desain protokol dan asumsi-asumsi dalam implementasi pemilu secara online, komponen-komponen yang terkait, fungsi dari Central Legitimazation Agency (CLA) dan Central Tabulating Facility (CTF) serta mendeskripsikan protokol proses interaksi antara CLA dan CTF. Sireesha dan Chakchai (2005) yang telah mengembangkan protokol keamanan pemilihan untuk secure online voting dengan menggunakan protokol Two Central Facilities yang mengimplementasikan pengembangan Central Legitimization Agency (CLA) dan Central Tabulating Facility (CTF) untuk menghasilkan pemilu virtual yang aman. Dengan mengkombinasikan kunci publik/simetrik dan fungsi hashing. Penelitian yang dilakukan oleh Wardhani, dkk. (2009) yang mengembangkan sistem online voting pada IPB dengan berbasis protokol Two Central Facilities (CTF) yang hanya memanfaatkan jaringan sebatas cakupan satu departemen di IPB, dan penelitian yang dilakukan oleh Fitrah, dkk. (2012) dengan pengembangan desain e-voting pilkada Kota Bogor menggunakan protokol Two Central Facilities, dimana sistem otentikasi pada Voter menggunakan media smart card. Namun, apabila hasil penelitian Fitrah, dkk. ini diimplementasikan masih memiliki kelemahan misalnya pemilih yang datang saat pemungutan suara memungkinkan bukan pemilik kartu yang sah sehingga masih memungkinkan ada masalah dalam proses pemilihan. Oleh karena itu, penelitian ini merupakan penelitian lanjutan yang difokuskan pada pengembangan e-voting menggunakan protokol Two Central Facilities penyelenggaraan sistem pemilu online untuk proses otentikasi voter menggunakan fingerprint yang disesuaikan dengan kebijakan dan kebutuhan sistem e-voting di Indonesia. Penggunaan fingerprint ini juga untuk mendukung akan adanya kebijakan pemerintah dalam pemanfaatan e-ktp untuk segala proses ketatanegaraan termasuk pada pelaksanaan pemungutan suara dalam penyelenggaraan pemilu nantinya. Dengan pemanfaatan sidik jari, sudah dapat dipastikan bahwa yang akan memberikan suaranya adalah pemilih yang sah. Rumusan Masalah Bagaimana mengembangkan protokol keamanan data dan informasi yang dapat digunakan dalam sistem pemilu secara online untuk mengatasi masalahmasalah 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.
Memberikan pemikiran baru dan solusi dalam layanan penyelenggaraan pemilu legislatif dan pilpres secara langsung yang lebih baik, mudah, cepat, akurat, aman dan akuntabel.
Ruang Lingkup Penelitian Ruang lingkup dari penelitian ini difokuskan kepada proses identifikasi pemilih (voter) menggunakan fingerprint untuk otentikasi voter pada Central Legitimazation Agency (CLA) dari mesin voting. Dengan penggunaan fingerprint ini, maka hanya pemilih yang sah yang dapat memberikan suaranya pada mesin voting.
4
2 TINJAUAN PUSTAKA Sistem Pemilu di Indonesia Pemilihan umum sudah menjadi bagian yang tidak terpisahkan dari suatu negara demokrasi, hampir semua negara demokrasi melaksanakan pemilihan umum. Pemilihan umum adalah proses pemilihan wakil rakyat di parlemen dan kepala pemerintahan berdasarkan suara terbanyak. Di Indonesia, Pemilu merupakan bagian yang sangat penting dalam kegiatan bernegara. Peraturan tertinggi mengenai pemilu secara jelas telah diatur dalam Undang-Undang Dasar (UUD) 1945 hasil amandemen pada perubahan IV, bab VIIB tentang Pemilihan Umum, pasal 22E. Berikut ini adalah isi dari pasal tersebut. 1. Pemilihan umum dilaksanakan secara langsung, umum, bebas, rahasia, jujur, dan adil setiap lima tahun sekali. 2. Pemilihan umum diselenggarakan untuk memilih anggota Dewan Perwakilan Rakyat, Dewan Perwakilan Daerah, Presiden dan Wakil Presiden dan Dewan Perwakilan Rakyat Daerah. 3. Peserta pemilihan umum untuk memilih anggota Dewan Perwakilan Rakyat dan anggota Dewan Perwakilan Rakyat Daerah adalah partai politik. 4. Peserta pemilihan umum untuk memilih anggota Dewan Perwakilan Daerah adalah perseorangan. 5. Pemilihan umum diselenggarakan oleh suatu komisi pemilihan umum yang bersifat nasional, tetap, dan mandiri. 6. Ketentuan lebih lanjut tentang pemilihan umum diatur dengan undangundang. Pada Undang-Undang Nomor 8 Tahun 2012 Tentang Pemilihan Umum Anggota Dewan Perwakilan Rakyat, Dewan Perwakilan Daerah, dan Dewan Perwakilan Rakyat Daerah dinyatakan pemilihan umum secara langsung oleh rakyat merupakan sarana perwujudan kedaulatan rakyat guna menghasilkan pemerintahan negara yang demokratis berdasarkan Pancasila dan UUD 1945. Pemilu di Indonesia menganut asas langsung, umum, bebas, rahasia, jujur, dan adil. Pelaksanaan Pemilu diselenggarakan dalam beberapa tahapan sebagai berikut : 1. Perencanaan program dan anggaran, serta penyusunan peraturan pelaksanaan penyelanggaraan pemilu. 2. Pemutakhiran data pemilih dan penyusunan daftar pemilih. 3. Pendaftaran dan verifikasi peserta Pemilu. 4. Penetapan peserta Pemilu. 5. Penetapan jumlah kursi dan penetapan daerah pemilihan. 6. Pencalonan anggota DPR, DPD, DPRD Provinsi, dan DPRD Kabupaten/Kota. 7. Masa kampanye. 8. Masa tenang. 9. Pemungutan dan penghitungan suara. 10. Penetapan hasil Pemilu. 11. Pengucapan sumpah/janji anggota DPR, DPD, DPRD Provinsi, dan DPRD Kabupaten/Kota. Pelaksanaan pemilihan umum di Indonesia melibatkan beberapa pihak yang terkait. Gambar 1 menunjukkan pihak-pihak yang terkait dengan pelaksanaan pemilu sesuai dengan Undang-Undang No. 15 Tahun 2011 Tentang
5 Penyelenggara Pemilihan Umum. Berikut ini adalah penjelasan setiap bagian pada Gambar 1 terhadap pihak yang terkait pada pemilu.
Gambar 1 Pihak yang terkait pemilu (Shalahuddin, 2009) 1.
Komisi Pemilihan Umum (KPU) adalah lembaga penyelenggara Pemilu yang bersifat nasional, tetap, dan mandiri. 2. KPU Provinsi dan KPU Kabupaten/Kota adalah penyelenggara Pemilu ditingkat provinsi dan kabupaten/kota. 3. Panitia Pemilihan Kecamatan (PPK) adalah panitia yang dibentuk oleh KPU Kabupaten/Kota untuk menyelenggarakan Pemilu di tingkat kecamatan. 4. Panitia Pemungutan Suara (PPS) adalah panitia yang dibentuk oleh KPU Kabupaten/Kota untuk menyelenggarakan Pemilu di tingkat desa/kelurahan. 5. Panitia Pemilihan Luar Negeri (PPLN) adalah panitia yang dibentuk oleh KPU untuk menyelenggarakan Pemilu di luar negeri. 6. Kelompok Penyelenggara Pemungutan Suara (KPPS) adalah kelompok yang dibentuk oleh PPS untuk menyelenggarakan pemungutan suara di tempat pemungutan suara. 7. Kelompok Penyelenggara Pemungutan Suara Luar Negeri (KPPSLN) adalah kelompok yang dibentuk oleh PPLN untuk menyelenggarakan pemungutan suara di tempat pemungutan suara di luar negeri. 8. Badan Pengawas Pemilu (Banwaslu) adalah badan yang bertugas mengawasi penyelenggaraan Pemilu di seluruh Indonesia. 9. Panitia Pengawas Pemilu (Panwaslu) Provinsi dan Panwaslu Kabupaten/Kota adalah panitia yang dibentuk oleh Banwaslu untuk mengawasi penyelenggaran Pemilu di tingkat provinsi dan kabupaten/kota. 10. Panwaslu Kecamatan adalah panitia yang dibentuk oleh Panwaslu Kabupaten/Kota untuk mengawasi penyelenggaraan Pemilu di tingkat kecamatan. 11. Pengawas Pemilu Lapangan adalah petugas yang dibentuk oleh Panwaslu Kecamatan untuk mengawasi penyelenggaraan Pemilu di desa/kelurahan.
6 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 bersamasama 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
2.
3.
4.
5.
6.
7.
8.
9.
pemilih diwakili oleh orang lain atau pemilih dapat melakukan pemilihan lebih dari satu kali. 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. 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. 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. 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. 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. 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. 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. 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 ketersediaan (availability). Interpretasi dari setiap aspek pada lingkungan suatu organisasi ditentukan oleh kebutuhan dari individu yang terlibat, kebiasaan dan hukum yang berlaku dalam organisasi tersebut. Kerahasiaan merupakan suatu usaha untuk menjaga kerahasian informasi dan pribadi atau sumber daya. Mekanisme kontrol akses dalam penyediaan informasi dapat memberikan aspek kerahasiaan. Salah satu mekanisme kontrol akses yang menyediakan kerahasiaan adalah kriptografi, dimana mekanisme pengacakan data sehingga sulit dipahami oleh pihak yang tidak berwenang. Mekanisme kontrol akses terkadang lebih mengutamakan kerahasiaan keberadaan data dari pada isi dari data itu sendiri. Aspek integritas menekankan pada tingkat kepercayaan kebenaran dengan penjagaan terhadap perubahan yang dilakukan dengan cara diluar standar atau oleh pihak yang tidak berwenang. Integritas meliputi data integritas (isi informasi) dan originalitas integritas (sumber data, sering disebut otentikasi). Mekanisme integritas terbagi dalam dua kelas, yaitu mekanisme pencegahan (prevention) dan mekanisme deteksi (detection) dengan tujuan integritas yang berbeda. Mekanisme pencegahan menghalangi seorang pemakai berusaha mengubah suatu data, dimana tidak mempunyai wewenang untuk mengubah data tersebut. Mekanisme deteksi menghalangi seorang pemakai yang mempunyai wewenang untuk mengubah data diluar cara standar. Aspek ketersediaan berhubungan dengan ketersediaan informasi atau sumber daya ketika dibutuhkan. Sistem yang diserang keamanannya dapat menghambat atau meniadakan akses ke informasi. Usaha untuk menghalangi ketersediaan informasi disebut denial of service (DoS Attack), contohnya suatu server menerima permintaan (biasanya palsu) yang bertubi-tubi atau diluar perkiraan sehingga tidak dapat melayani permintaan lain atau bahkan server tersebut menjadi down atau crash. NIST (National Institute of Standards and Technology) Komputer Security Handbook dalam Stalling (2011) mendefinisikan keamanan komputer sebagai perlindungan yang diberikan kepada sistem informasi secara otomatis dalam rangka untuk mencapai yang dapat diaplikasikan untuk menjaga integritas, ketersediaan, dan kerahasiaan dari sumber daya sistem informasi (termasuk hardware, software, firmware, informasi/data, dan telekomunikasi). 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 berwenang. Manipulasi data yang dimaksud disini diartikan sebagai hal-hal yang berkaitan dengan penghapusan, penyisipan, dan pergantian data. 3. Otentikasi adalah suatu layanan yang berhubungan dengan identifikasi entitas dan informasi itu sendiri. Dua pihak yang terlibat dalam komunikasi seharusnya mengidentikasi dirinya satu sama lain. Informasi yang disampaikan melalui satu saluran (channel) seharusnya dapat diidentifikasikan asalnya, isinya, tanggal dan waktunya. Atas dasar ini otentikasi terbagi menjadi dua kelas besar, yaitu otentikasi entitas dan otentikasi asal data. 4. Non-repudiasi adalah suatu layanan yang ditujukan untuk mencegah terjadinya pelanggaran kesepakatan yang telah dibuat sebelumnya oleh entitas. Apabila sengketa muncul ketika suatu entitas mengelak telah melakukan komitmen tertentu, maka suatu alat untuk menangai situasi tersebut diperlukan. Misalnya, suatu entitas mendapatkan wewenang dari entitas lainnya untuk melakukan aksi tertantu, kemudian mengingkari wewenang yang diberikan, maka suatu prosedur yang melibatkan pihak ketiga yang dipercaya untuk menyelesaikan sengketa itu. Protokol Two Central Facilities Pemilihan menggunakan protokol Two Central Facilities dilakukan dengan membagi Central Legitimazation Agency (CLA) dan Central Tabulating Facility (CTF) menjadi dua bagian yang berbeda. Menurut Sireesha dan Chakchai (2005) pemilihan dengan Two Central Facilities adalah sebagai berikut : 1. Setiap pemilih mengirim pesan kepada Central Legitimazation Agency (CLA) dan meminta nomor validasi. 2. Central Legitimazation Agency (CLA) mengirim nomor validasi acak kepada pemilih dan menyimpan daftar setiap nomor validasi. Central Legitimazation Agency (CLA) juga menyimpan sebuah daftar dari nomor validasi penerima, untuk mengantisipasi seseorang memilih dua kali. 3. Central Legitimazation Agency (CLA) mengirim daftar nomor validasi kepada Central Tabulating Facility (CTF). 4. Setiap pemilih memilih nomor identifikasi secara acak lalu membuat pesan dengan nomor tersebut, yaitu nomor validasi yang diperoleh dari Central Legitimazation Agency (CLA) dan suaranya. Pesan ini kemudian dikirimkan kepada Central Tabulating Facility (CTF). 5. Central Tabulating Facility (CTF) memeriksa dan membandingkan nomor validasi dengan daftar yang diterima dari Central Legitimazation Agency (CLA). Jika nomor validasi terdapat pada daftar maka nomor tersebut akan disilang untuk menghindari pemilih memilih dua kali. Central Tabulating Facility (CTF) menambahkan nomor identifikasi pada daftar pemilih yang telah memberikan suara pada kandidat tertentu dan menambahkan satu suara pada kandidat tersebut. 6. Setelah semua suara diterima, Central Tabulating Facility (CTF) mempublikasikan keluaran seperti daftar nomor identifikasi dan untuk siapa suara tersebut diberikan. Skema pemilihan dengan komunikasi Two Central Facilities dapat dilihat pada Gambar 2. Pada sistem ini setiap pemilih dapat melihat daftar nomor identifikasi dan mencari nomor miliknya untuk membuktikan bahwa pilihannya
10 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.
Gambar 2 Skema pemilihan two central facilities Central Legitimazation Agency (CLA) dapat menyatakan pemilih yang tidak memiliki hak pilih. Central Legitimazation Agency (CLA) juga dapat mengawasi pemilih yang melakukan kecurangan seperti memilih lebih dari satu kali. Hal ini dapat diantisipasi dengan cara menerbitkan daftar pemilih yang telah disertifikasi. Jika nomor pemilih dalam daftar tidak sama dengan jumlah suara, maka dicurigai telah terjadi kesalahan atau kecurangan. Sebaliknya jika jumlah peserta yang ada pada daftar lebih banyak dari hasil tabulasi artinya beberapa pemilih tidak menggunakan hak suaranya (Wardhani, dkk. 2009). Central Legitimization Agency (CLA) Central Legitimization Agency (CLA) merupakan bagian yang bertugas untuk melakukan sertifikasi pemilih. Fungsi utama dari Central Legitimazation Agency (CLA) adalah untuk melakukan otentikasi dan otorisasi pemilih. Setiap pemilih akan mengirim sebuah pesan aman kepada Central Legitimazation Agency (CLA) untuk meminta sebuah ValidationID. Central Legitimazation Agency (CLA) akan membangkitkan sebuah ValidationID, mendaftarkannya secara aman kepada Central Tabulating Facility (CTF), dan mengembalikannya secara aman kepada pemilih. ValidationID bernilai sangat kompleks sehingga secara komputasi tidak memungkinkan seorang penyerang untuk memproduksi sebuah ID yang valid. Central Legitimization Agency (CLA) memiliki daftar sejumlah ValidationID yang valid serta daftar identifikasi pemilih dari setiap ValidationID dalam rangka untuk mencegah pemilih menerima lebih dari satu
11 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 :
Gambar 3 Skema e-voting two central facilities Tahap 1 1. Pengiriman kunci publik oleh masing-masing mesin voting kepada Central Legitimization Agency (CLA). 2. Central Legitimization Agency (CLA) mengirimkan kunci simetri yang telah dienkripsi menggunakan kunci publik yang diterima dari masing-masing mesin voting dan diberikan kepada masing-masing mesin voting sesuai alamat IP address masing-masing mesin voting. Tahap 2 1. Pemilih mengirimkan permintaan untuk memilih melalui mesin voting dengan cara menempelkan kartu identitasnya. 2. Mesin voting akan mengirimkan data kartu identitas pemilih yang telah dienkripsi kepada Central Legitimization Agency (CLA). 3. Central Legitimization Agency (CLA) akan melakukan proses dekripsi terhadap data yang diterima. 4. Central Legitimization Agency (CLA) akan melakukan autentikasi pemilih dengan database. 5. Apabila pemilih dinyatakan berhak memilih dengan ketentuan pemilih telah terdaftar di database dan belum memilih sebelumnya, pemilih akan diarahkan kepada halaman pemilihan dan status pemilih akan diubah menjadi status
12 telah melakukan autentikasi. Namun, apabila pemilih dinyatakan tidak berhak memilih, pemilih langsung diarahkan ke halaman gagal memilih. 6. Setelah pemilih melakukan pemilihan, pilihan pemilih akan disimpan pada mesin voting dan status pemilih akan diubah menjadi status telah melakukan pemilihan. Mesin akan terus menerus melakukan proses yang sama sampai pada waktu pemilihan selesai. Tahap 3 1. Pengiriman kunci publik oleh masing masing mesin voting kepada Central Tabulating Facility (CTF). 2. Central Tabulating Facility (CTF) mengirimkan kunci simetri yang telah dienkripsi menggunakan kunci publik yang diterima dari tiap-tiap mesin voting dan dikirimkan kepada masing-masing mesin sesuai alamat IP address mesin voting. Tahap 4 1. Mesin voting secara periodik akan melakukan permintaan kepada Central Legitimization Agency (CLA) untuk mengirimkan data ke Central Tabulating Facility (CTF) dengan mengirimkan informasi identitas mesin yang dienkripsi. 2. Central Legitimization Agency (CLA) akan melakukan proses autentikasi dan mengirimkan suatu random key mesin kepada mesin voting dan Central Tabulating Facility (CTF) yang dienkripsi. 3. Mesin voting akan mengirimkan identitas mesin, data hasil pemilihan, dan juga nilai random kepada Central Tabulating Facility (CTF) yang didapatkan dari Central Legitimization Agency (CLA) yang telah dienkripsi. 4. Central Tabulating Facility (CTF) melakukan pencocokan nilai random key yang diberikan mesin dengan random key yang diterima dari Central Legitimization Agency (CLA) untuk mesin tersebut. 5. Jika sah, Central Tabulating Facility (CTF) akan melakukan pengecekan data yang dikirim dari masing-masing mesin voting. 6. Apabila random key yang dikirimkan mesin dan Central Legitimization Agency (CLA) sesuai, jumlah suara yang diberikan mesin kepada Central Tabulating Facility (CTF) akan disimpan ke dalam Central Tabulating Facility (CTF). 7. Mesin akan terus menerus melakukan proses yang sama sampai pada waktu pemilihan selesai. Secure Voting Requirement Kebijakan yang akan diterapkan dalam membangun sistem e-voting mengacu pada buku Schneier (1996). Secure voting requirement yang dibangun secara komputerisasi dapat digunakan jika terdapat protokol yang menjamin dua hal dibawah ini, yaitu : 1. Privasi individu. 2. Pencegahan terhadap kecurangan. Suatu protokol yang ideal harus memiliki 6 persyaratan sebagai berikut : 1. Hanya pemilih yang berhak yang dapat memberikan suara (otentikasi). 2. Tidak boleh memberikan lebih dari satu suara. 3. Tidak boleh menentukan orang lain harus memilih untuk siapa. 4. Tidak ada yang bisa menduplikasi suara orang lain.
13 5. 6.
Tidak boleh mengubah pilihan orang lain. Setiap pemilih dapat memastikan bahwa suara mereka sudah dikirimkan dan terhitung dalam penghitungan akhir.
Sidik Jari (fingerprint) Sidik jari atau fingerprint adalah hasil reproduksi tapak jari baik yang sengaja diambil maupun bekas yang ditinggalkan pada benda karena pernah tersentuh kulit telapak tangan atau kaki. Sidik jari merupakan karakteristik alami manusia yang digunakan dalam identifikasi personal sejak lama. Sidik jari yang terdiri dari pola alur (ridge) dan lembah (valley), yang unik untuk tiap individu, bahkan bagi mereka yang kembar sekalipun (Iqbal dan Sigit).
Gambar 4 Contoh sampel sidik jari Sistem kerja mesin sidik jari terbilang sangat signifikan dan sensitif. Sensor yang digunakan untuk mendeteksi sidik jari menggunakan sistem optikal, dimana pendeteksian dilakukan dengan pembacaan kontur atau tinggi rendahnya permukaan sidik jari dan listrik statis tubuh. Hal ini menghasilkan tingkat keamanan yang tinggi, karena tidak bisa dipalsukan dengan foto copy sidik jari, sidik jari tiruan bahkan dengan cetak lilin yang detail dengan guratan-guratan kontur sidik jari sekalipun. Sistem kerja absensi sidik jari dengan komputer atau yang lebih dikenal absensi sidik jari ”online” ini sangat bergantung dengan komputer. Jadi absensi ini harus bekerja bersama komputer dan tidak dapat berdiri sendiri. Seluruh proses record verifikasi jari dilakukan di komputer, sedang sensor U.are.U atau sensor sidik jari yang digunakan hanya untuk mengambil sidik jari saja. Selanjutnya data akan langsung diinput kedalam database yang sudah terintergrasi dengan sensor. Pada umumnya absensi sidik jari online atau terhubung dengan komputer mempunyai minimal konfigurasi sistem komputer sebagai berikut (sidikjari.com) : a. Minimal Pentium 200Mhz b. 64MB Memory c. Slot USB untuk sensor sidik jari d. Windows ME/XP/Vista
14
Gambar 5 Mesin fingerprint scanner Spesifikasi : Type : U are. U4500 Menggunakan sensor digital personal PC Based, memerlukan komputer pada saat operasional Kapasitas User : Tidak Terbatas Kapasitas Transaksi Log : Tidak Terbatas Media Komunikasi ke Komputer : USB Cable Waktu respon : <= 1 detik Jenis Matching : 1:1 dan 1:N Kompatibel dengan semua jenis sistem operasi windows
15
3 METODE PENELITIAN Alur Proses Penelitian Metode penelitian yang digunakan adalah model alur proses yang dapat diperlihatkan pada Gambar 6 berikut. Identifikasi Masalah dan Studi Pustaka
Identifikasi Kebutuhan Sistem
Disain Sistem
Implementasi Sistem
Pengujian Sistem
Gambar 6 Alur proses penelitian Identifikasi Masalah dan Studi Pustaka Pada tahapan ini dilakukan identifikasi masalah yang mungkin timbul dalam penyelenggaraan pemilu untuk implementasi evoting menggunakan mifare card reader (smart card) yang telah dikembangkan pada penelitian sebelumnya. Identifikasi masalah dilakukan melalui : - Diskusi dan tanya jawab dengan peneliti sebelumnya tentang sistem evoting yang dikembangkannya terkait kelemahan sistem jika diimplementasikan yang disesuaikan dengan kondisi di Indonesia. - Diskusi dan wawancara dengan anggota KPUD Kota Bogor untuk memperoleh informasi yang jelas tentang sistem pemilu di Indonesia dan masalah yang timbul selama penyelenggaraan pemilu. Dalam melakukan identifikasi tersebut diperoleh informasi kemungkinan masalah yang akan timbul antara lain : - Pemilih memungkinkan berpura-pura menjadi pemilih yang lain. - Pemilih yang tidak sah memungkinkan memberikan suaranya. - Pemilih yang berhak memilih masih memungkinkan menitipkan kartunya atau mewakilkan kepada orang lain untuk memberikan suaranya. Pada tahapan ini juga dilakukan studi pustaka atau riset jurnal penelitian sebelumnya dengan tujuan untuk mengetahui perkembangan informasi penelitian di bidang ilmu sistem keamanan komputer khususnya protokol keamanan, serta mempelajari berbagai teori yang mendasari penelitian ini dimana referensi penelitian ini diperoleh dari jurnal ilmiah, tugas akhir berupa skripsi ataupun tesis, dan buku literatur.
16 Identifikasi Kebutuhan Sistem Pada tahapan ini dilakukan identifikasi kebutuhan sistem untuk pemecahan masalah yang mungkin timbul pada proses pemungutan suara apabila implementasi sistem evoting menggunakan mifare card reader (smart card) sebagai otentikasi pemilih yang telah dikembangkan pada penelitian sebelumnya. Pada penelitian ini, kebutuhan sistem yang digunakan untuk proses otentikasi pemilih tersebut adalah mesin fingerprint scanner, dimana pemilih yang bersangkutan yang harus memberikan suaranya dan tidak memungkinkan akan diwakilkan orang lain dalam proses pemilihan suara. Hal yang perlu diperhatikan juga disini adalah kebutuhan fungsional dan non fungsional 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 4. 5.
Aplikasi Visual Basic 6.0 (VB6) sebagai bahasa pemrograman yang mendukung mesin fingerprint scanner yang digunakan. Fingerprint scanner U are.U4500 untuk alat registrasi dan otentikasi pemilih.
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. Pengujian ini merupakan pendekatan Input yang yang dilakukan untuk mengecek menyebabkan Input Data hasil yang kesalahan-kesalahan performa sistem, menyimpan antara lain : - Fungsional sistem yang mengacu pada secure voting requirement oleh Schneier Sistem dan persyaratan KPU. - Inisialisasi dan terminasi sistem. - Kemampuan kinerja sistem dalam Output Hasil otentikasi pemilih. Hasil tes keluaran - Kemampuan sistem dalam akses basis Gambar 7 Ilustrasi pengujian data pemilih metode blackbox
18
4 HASIL DAN PEMBAHASAN Protokol ini memiliki tiga komponen utama dalam implementasi penyelenggaraan pemilu yakni mesin voting, Central legitimization Agency (CLA), dan Central Tabulating Facilities (CTF). Mesin voting merupakan komponen yang berinteraksi langsung dengan pemilih, dimana pemilih dapat melakukan proses pemberian suara untuk kandidat yang dipilihnya. Central Legitimization Agency (CLA) adalah server pertama yang merupakan badan sertifikasi pemilih yang memiliki tugas utama mengotentikasi dan mengotorisasi pemilih, CLA mempunyai pangkalan data yang menyimpan data. Pangkalan data ini tidak dapat diperlihatkan pada pihak lain sekalipun Central Tabulating Facilities (CTF). Setiap proses yang membutuhkan data pemilih, contohnya login dan verifikasi pilihan, harus melakukan pengecekan langsung dengan Central legitimization Agency (CLA) melalui mesin voting. Central Tabulating Facilities (CTF) adalah server kedua yang merupakan badan tabulasi atau penghitungan suara. Pangkalan data yang terdapat pada Central Tabulating Facilities (CTF) berisi suara atau pilihan pemilih dan perhitungannya untuk masing-masing kandidat. Identifikasi Masalah dan Studi Pustaka Penelitian yang telah dilakukan oleh Fitrah, dkk. (2012) mencoba mengembangkan sistem e-voting (online voting) untuk memberikan alternatif solusi pemecahan atas permasalahn-permasalan yang mungkin timbul dalam penyelenggaraan pemilu secara konvensional di Indonesia selama ini. Dalam penelitiannya, mengembangkan protokol e-voting Two Central Facilities untuk proses otentikasi pemilih menggunakan mifare card reader (smart card) sebagai media Personal Identity (ID) bagi pemilih yang akan melakukan proses pemberian suara atau pemilihan pada penyelenggaraan pemilu. Berdasarkan data informasi dari pakar pemilu bahwa hasil dari penelitian Fitrah, dkk. (2012) apabila diterapkan dalam proses pemungutan suara, maka masih memungkinkan adanya kecurangan atau memungkinkan timbul permasalahan dilapangan pada saat pelaksanaan pemilihan (pemungutan suara). Permasalan-permasalahan yang mungkin timbul tersebut adalah : o Kurang terjaminnya keabsahan pemilih yang akan memberikan suara. Dengan media kartu : Pemilih yang datang saat pemungutan suara yang akan memberikan suaranya tidak bisa dijamin bahwa pemilih yang sah dan sudah terdaftar sebagai pemilih karena masih menggunakan kartu sebagai media identifikasi. Pemilih yang akan memberikan suaranya apabila kartu yang dimiliki terotentikasi oleh sistem e-voting maka bisa dipastikan dapat memberikan suaranya. Dengan media sidik jari : Hanya pemilih yang sudah terdaftar dalam database yang dapat memberikan suaranya. o Pemilih yang akan memberikan suaranya masih memungkinkan berpura-pura menjadi pemilih yang lain.
19
o
o
Dengan media kartu : Pemegang kartu saat akan melakukan pemilihan memungkinkan bukan pemilik yang sebenarnya, tetapi dapat digunakan orang lain. Dengan media sidik jari : Setiap orang memiliki sidik jari yang unik dan tidak sama untuk semua orang walaupun kembar. Pemilih yang tidak sah dan belum memenuhi persyaratan sebagai warga negara yang memiliki hak untuk memilih masih memungkinkan memberikan suaranya. Dengan media kartu : Persyaratan setiap warga negara untuk berhak memilih telah ditetapkan dalam undang-undang, tetapi warga negara yang belum memenuhi masih memungkinkan memberikan suaranya dalam pemilihan. Dengan media sidik jari : Setiap warga negara yang sah dan memenuhi persyaratan saja yang boleh memilih dalam pemilihan. Warga negara yang sah dan memenuhi persyaratan untuk memilih saja yang disimpan ke dalam database pemilih. Pemilih yang berhak memilih masih memungkinkan menitipkan kartunya atau mewakilkan kepada orang lain untuk memberikan suaranya. Dengan media kartu : Pada saat pemungutan suara, pemilih yang memegang kartu memungkin bukan miliknya tetapi milik orang lain yang digunakan karena pemilik kartu yang sah berhalangan. Pemegang kartu dapat menjual suaranya dengan mewakilkan hak suaranya kepada orang lain. Dengan sidik jari : Sistem hanya memperbolehkan pemilih yang sah untuk memberikan suaranya sesuai dengan sidik jari yang terdaftar.
Identifikasi Kebutuhan Sistem Sistem ini terdiri dari tiga entitas yaitu mesin voting, server Central legitimization Agency (CLA), dan server Central Tabulating Facilities (CTF). Pemilihan dilakukan pada mesin voting, pengecekan hak pemilih dilakukan pada server Central legitimization Agency (CLA), dan proses penghitungan suara dilakukan pada server Central Tabulating Facilities (CTF). Sistem hanya dapat bekerja melalui entitas yang telah ditetapkan sebelumnya. Central Tabulating Facilities (CTF) maupun Central legitimization Agency (CLA) harus dapat diakses oleh tiap-tiap mesin voting sehingga pemakaian databasenya dapat dilakukan secara terpusat. Kebutuhan sistem untuk proses otentikasi pemilih menggunakan mesin fingerprint scanner, dimana proses otentikasi ini berlangsung pada komunikasi antara mesin voting dengan server Central legitimization Agency (CLA) sehingga pemilih yang bersangkutan yang harus memberikan suaranya. Cara kerja mesin fingerprint scanner dapat dijelaskan sebagai berikut :
20 Pattern Secara umum, sidik jari dapat dibedakan menjadi beberapa tipe menurut Henry Classification System, yaitu:
Gambar 8 Tipe patern sidik jari Dimana hampir 2/3 manusia memiliki sidik jari dengan Loop Pattern, hampir 1/3 lainnya memiliki sidik jari dengan Whorl Pattern, dan hanya 5-10% yang memiliki sidik jari dengan Arch Pattern. Pola-pola seperti ini digunakan untuk membedakan sidik jari secara umum, namun untuk mesin sidik jari, pembedaan seperti ini tidaklah cukup. Karena itulah mesin sidik jari diperlengkapi dengan metode pengenalan Minutiae. Minutiae Minutiae merupakan rincian sidik jari yang tidak penting bagi manusia, tetapi bagi sebuah mesin sidik jari itu adalah detail yang sangat diperhatikan.
Gambar 9 Minutiae sidik jari Minutiae pada sidik jari adalah titik-titik yang mengacu kepada : Crossover : persilangan dua garis. Core : putar-balikan (U turn) sebuah garis.u Bifurcation : percabangan sebuah garis. Ridge ending : berhentinya sebuah garis. Island : sebuah garis yang sangat pendek. Delta : pertemuan dari tiga buah garis yang membentuk sudut. Pore : percabangan sebuah garis yang langsung diikuti dengan menyatunya kembali percabangan tersebut sehingga membentuk sebuah lingkaran kecil. Mesin sidik jari akan mencari titik-titik ini dan membuat pola dengan menghubung-hubungkan titik-titik ini. Pola yang didapat dengan menghubungkan titik-titik inilah yang nantinya akan digunakan untuk melakukan pencocokan bila ada jari yang menempel pada mesin sidik jari. Jadi, sebenarnya mesin sidik jari tidak mencocokkan Gambar, tetapi mencocokkan pola yang di dapat dari minutiae-minutiae ini. Untuk lebih jelasnya, dapat diilustrasikan di bawah ini :
21
Gambar 10 Searching minutiae Searching Minutiae Pada Gambar 10 di atas, Gambar di sebelah kiri adalah Gambar sidik jari yang telah tersimpan pada mesin sidik jari, sedangkan Gambar di sebelah kanan adalah hasil scan jari yang akan dicocokkan. Pertama-tama sistem akan mencari titik-titik minutiae pada keduanya.
Gambar 11 Before match Before Match Setelah itu, mesin sidik jari akan mengumpulkan titi-titik minutiae tersebut untuk dicocokkan.
Gambar 12 Match minutiae Match Minutiae Langkah berikutnya, mesin sidik jari akan mencari kecocokan pola pada minutiaeminutiae 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
Gambar 13 Matched result 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 benarbenar 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
4.
5.
6.
7.
8.
Hanya Kode dan Nama yang terdapat pada Central legitimization Agency (CLA) yang dapat melakukan proses pemilihan. Pemilih dapat memasukkan pilihannya ke dalam sistem, dimana seorang pemilih hanya berhak melakukan pemungutan suara sebanyak satu kali. Pemilih dapat melakukan pemilihan sesuai kandidat yang diinginkan, karena terdapat halaman kotak suara pada sistem. Pemilih yang telah melakukan pemilihan, status pemilih berubah menjadi telah melakukan pemilihan sehingga apabila akan melakukan kembali pemilihan maka sistem akan menampilkan pesan dimana pemilih tidak bisa lagi melakukan pemilihan karena sistem tidak mengarahkan lagi ke halaman surat suara Setiap pemilih yang telah melakukan pemilihan tidak dapat melakukan pemilihan lagi. Sidik jari dari pemilih yang terbaca oleh mesin fingerprint scanner yang telah melakukan pemilihan dicatat pada Central legitimization Agency (CLA). Proses otentikasi tidak akan dilakukan oleh CLA untuk sidik jari yang telah berstatus “2” yang berarti sudah melakukan pemilihan sehingga setiap pemilih hanya dapat memberikan satu suara. Tidak boleh memberikan lebih dari satu kali suara. Jika pemilih yang telah melakukan pemilihan akan memberikan suara untuk pemilihan kembali pada periode pemilu yang sama, maka mesin voting akan mengembalikan pesan ke layar bahwa “ID voter sudah melakukan pemilihan” dan tidak lagi diarahkan ke halaman surat suara oleh sistem. Tidak ada yang bisa mengubah pilihan orang lain. Sebelum memilih, setiap mesin voting akan membaca sidik jari pemilih yang bersifat unique dari mesin fingerprint scanner yang digunakan. Identitas pemilih akan diotentikasi dan dilakukan proses check terhadap status pemilihanya apakah sudah memilih atau belum. Setiap pemilih, mesin voting, dan Central legitimization Agency (CLA) tidak dapat mengetahui dan mengganti pilihan setiap pemilih. Setiap pemilih dapat memastikan bahwa suara mereka sudah dikirimkan dan terhitung dalam penghitungan akhir. Setiap kali pemilih memberikan suara kepada salah seorang kandidat, mesin voting akan mencatat sementara hasil voting dan menampilkan pesan “ Anda telah memilih kandidat nomor 1, 2 atau 3”. Apabila pesan konfirmasi pemilihan telah muncul ke layar, protokol menjamin bahwa hasil pemilihan telah tercatat di database kandidat.
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 selanjutnya saat data telah dikenali dilanjutkan meregistrasi data tersebut ke database. Mulai
Memasukkan Kode dan Nama pemilih
Mengambil citra sidik jari pemilih
Sidik jari dalam kondisi bagus?
Ya Membaca citra sidik jari pemilih
Menyimpan sidik jari pemilih ke database
Selesai
Gambar 14 Diagram alir proses registrasi pemilih Mulai
Meletakkan sidik jari pemilih pada sensor fingerprint
Menangkap citra sidik jari pemilih
Mencocokkan sidik jari masukan dengan sidik jari database CLA
Ya
Sidik jari cocok?
Tidak
Proses otentikasi berhasil
Proses otentikaasi gagal
Diperbolehkan melakukan pemilihan
Tidak diperbolehkan melakukan pemilihan
Selesai
Gambar 15 Diagram alir proses otentikasi pemilih
25 Proses otentikasi pemilih merupakan proses membandingkan sidik jari yang dicocokkan satu-satu dimana setiap sidik jari masukan dibandingkan dengan satu template sidik jari tertentu yang tersimpan dalam database Central legitimization Agency (CLA). Keluaran dari program ini adalah keputusan apakah proses otentikasi pemilih berhasil atau gagal. Jika proses otentikasi berhasil maka sistem memperbolehkan pemilih untuk memilih kandidat yang diinginkan. Jika proses otentikasi gagal maka sistem tidak memperbolehkan pemilih melakukan pemilihan. Diagram alir proses otentikasi pemilih dapat dilihat pada Gambar 15. Adapun daftar tabel database yang berhubungan dengan pengembangan sistem e-voting ini dapat dilihat pada Tabel 1 dengan menggunakan database MySQL. Tabel 1 Daftar tabel database Nama Tabel
Jumlah Kolom
Tipe Data
Keterangan
Voterlist
Code Name Status Fingerprint
Varchar Varchar Integer Boolean
Database pemilih digunakan untuk otentikasi pemilih. Primary key: code
yang proses
Kandidat
No_urut Nama_kandidat Foto Hasil
Integer Varchar Varchar Integer
Database untuk memilih kandidat yang dinginkan. Pilihan terekam dihasil. Primary key: nama_kandidat
Waktu
Start_time End_time
Datetime Datetime
Menunjukkan waktu mulai dan akhir dari voting.
Masalah keamanan (security) database di MySQL merupakan hal yang juga harus diperhatikan, tidak boleh dianggap sepele apalagi dikesampinkan. MySQL merupakan software database yang bersifat client-server, yang memungkinkan beberapa user dapat mengakses server MySQL dari manapun. Untuk itu, server MySQL harus benar-benar aman dari akses (serangan) orang-orang yang tidak berhak. Berikut beberapa hal yang harus diperhatikan dalam menggunakan server MySQL : a. Jangan pernah memberi akses ke semua user kecuali user root untuk dapat mengakses database MySQL. Jika seseorang dapat mengakses database ini, maka maka dapat melihat informasi user (termasuk user, password dan host) MySQL dan dapat menambah atau mengubah informasi tersebut. b. Membatasi mengenai hak akses database di MySQL. Perintah GRANT dan REVOKE digunakan untuk mengatur hak akses di MySQL. c. Jangan pernah menyimpan password dalam bentuk teks biasa di MySQL (gunakan fungsi enkripsi). d. Hati-hati dalam memilih password. Menggunakan password yang mudah diingat tetapi sulit ditebak orang lain, menggunakan kombinasi huruf dan angka. e. Memasang firewall di server untuk mencegah penyusup. MySQL pada dasarnya merupakan sistem database yang aman. Untuk keamanan pada MySQL, harus mengatur hak akses (privilege) dari setiap user
26 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 kolomkolom 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, 2.
Tingkatan akses administrator (Global administrative), hanya digunakan oleh user setingkat root atau administrator dan tidak diberikan kepada user biasa, yaitu : FILE : Untuk membaca dan menulis file di dalam server MySQL. PROCESS : Untuk menampilkan dan menghentikan suatu proses yang sedang dilakukan user. SHUTDOWN : Untuk mematikan srver MySQL. CREATE : Untuk membuat tabel temporer. TEMPORARY TABLE RELOAD : Untuk membaca ulang tabel izin
28 akses (grant tables), melakukan proses flush pada file log, dan sebagainya. EXECUTE : Untuk menjalankan perintah. LOCK TABLES : Untuk mengunci tabel. REPLICATION : Untuk proses replikasi database pada CLIENT klien. REPLICATION SLAVE : Untuk proses replikasi database sebagai database sekunder (slave). SHOW DATABASES : Untuk menampilkan seluruh database yang ada di server MySQL. 3. Tingkatan akses khusus (special privileges), dapat diterapkan pada setiap user dengan izin akses sebagai berikut : ALL : Untuk memberikan semua izin akses sehingga user tersebut memiliki hak seperti layaknya seorang root. USAGE : Untuk membuat user saja tetapi tidak memberikan izin akses apapun kepada user tersebut (user bisa masuk ke dalam MySQL server dengan password yang ditentukan, tetapi tidak bisa melakuklan hal lain. Memberikan password untuk root dapat dilakukan dengan menggunakan perintah UPDATE : update user set password : password(‘xxxxxxxxxxxxx’) where user = ‘root’; Kemudian lanjutkan dengan perintah FLUSH : Flush privileges Fungsi flush : MySQL membaca grant tables hanya satu kali pada saat server pertama kali dijalankan, perintah flush akan memerintahkan kepada sistem untuk membaca ulang kelima grant tables tanpa harus merestart server MySQL. Perintah GRANT merupakan perintah untuk memberikan hak akses bagi user di MySQL agar dapat mengakses database, tabel dan kolom. Selain itu juga dapat menambahkan user baru dengan perintah grant ini. Hal yang perlu diperhatikan apabila melakukan perubahan izin akses pada user MySQL yang masih aktif bekerja tidak langsung bisa menerapkan perubahan meskipun sudah melaukan flush privileges. Konfigurasi ini berlaku ketika user sudah menutup koneksi kemudian melakukan koneksi kembali. Izin akses penuh ini digunakan untuk mengakses seluruh database dalam server. Bentuk umum : GRANT jenis_akses (nama_kolom) ON nama_database TO nama_user IDENTIFIED BY “nama_password” [WITH GRANT pilihan_akses] Perintah tersebut di atas memberikan hak izin akses setara dengan root. Klausa GRANT menetukan tipe dari hak akses yang harus diberikan pada akun user. Klausa ON menspesifikasikan ke tabel atau database mana yang pernyataan grant diterapkan. Klausa TO menspesifikasikan hak akses kepada user yang diinginkan. Option Identified By nama_password akan menerapkan user tersebut agar tetap memasukkan password saat mengakses darabase. Jika tidak memberikan option
29 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 apaapa 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. 1.
Proses Registrasi Pemilih Proses registrasi ini diakukan dengan pengambilan citra sidik jari dari pemilih yang telah memenuhi persyaratan untuk berhak memilih dalam pemilu sesuai dengan undang-undang yang berlaku. Pengambilan citra sidik jari dilakukan dengan menempelkan sidik jari pada sensor mesin fingerprint scanner U are. U4500. Menu utama fingerprint untuk proses awal ke menu registrasi pemilih dan verifikasi data citra sidik jari pemilih yang telah diambil diperlihatkan pada Gambar 17. Sedangkan Gambar 18 dan Gambar 19 memperlihatkan menu registrasi pemilih untuk proses pengambilan citra sidik jari pemilih yang akan disimpan ke database dan menu verifikasi pemilih untuk proses verifikasi pemilih yang telah diambil (direkam) citra sidik jarinya sebagai pengaktifan sidik jari pemilih agar dapat digunakan dalam proses otentikasi saat akan dilakukan pemilihan.
Gambar 16 Menu utama fingerprint
30
Gambar 17 Menu registrasi pemilih
Gambar 18 Menu verifikasi pemilih Pada proses registrasi sidik jari pemilih, sebelum pengambilan citra sidik jari pemilih diawali dengan memasukkan Kode dan Nama pemilih sebagai identitas pemilih. Terdapat 4 tahap proses pengambilan citra sidik jari dimana setiap tahap mesin fingerprint scanner membaca sidik jari pemilih, secara otomatis aplikasi dari mesin akan mengaktifkan sensor pembaca. Setelah data berhasil didapat maka sensor pembaca dari mesin fingerprint scanner U are.U4500 akan tidak aktif lagi, data yang diperoleh pada ke empat tahap pembacaan tersebut akan dicocokkan satu sama lain dan hasil akuisisi data dalam kondisi bagus, tahap selanjutnya akan disimpan kedalam database. Proses pengambilan registrasi citra sidik jari pemilih ditunjukkan pada Gambar 20.
31
Gambar 19 Proses registrasi sidik jari pemilih Gambar 21 memperlihatkan proses verifikasi data sidik jari pemilih yang telah diambil (terekam ke dalam database) untuk memastikan apakah sidik jari tersebut dapat diaktifkan dan digunakan dalam proses otentikasi pemilih pada proses pemilihan. Sedangkan Gambar 22 memperlihatkan bahwa proses verifikasi pemilih yang gagal karena data sidik jari pemilih yang bersangkutan tidak terdaftar.
Gambar 20 Proses verifikasi berhasil
32
Gambar 21 Proses verifikasi gagal 2.
Proses Otentikasi Pemilih Proses otentikasi ini dilakukan sebagai langkah awal sebelum pemilih yang memenuhi peryaratan dan berhak melakukan pemilihan suara diperkenankan memberikan pilihannya. Pada proses ini juga dilakukan untuk memastikan bahwa hanya pemilih yang sudah terdaftar pada database sistem yang diperbolehkan memberikan suaranya. Halaman antarmuka untuk login proses otentikasi pemilih dapat ditunjukkan pada Gambar 23. Setiap pemilih agar dapat masuk ke halaman surat suara pada sistem evoting untuk memberikan pilihannya terlebih dahulu harus melakukan login pada menu halaman voting client sebagaimana diperlihatkan pada Gambar 23. Tahap awal untuk proses otentikasi pemilih dimana pemilih yang akan melakukan pemilihan meletakkan sidik jarinya pada sensor mesin fingerprint yang sudah terkoneksi dengan mesin voting yang digunakan.
Gambar 22 Login untuk proses otentikasi pemilih
33 Setelah pemilih menempelkan sidik jarinya pada mesin fingerprint scanner, maka aplikasi dari mesin fingerprint scanner akan mengaktifkan sensor secara otomatis untuk membaca dan menangkap citra sidik jari pemilih yang bersangkutan. Selanjutnya citra sidik jari tersebut sebagai masukan oleh sistem yang akan dicocokkan dengan sidik jari pada database CLA yang telah diambil dan disimpan saat proses registrasi pemilih untuk proses otentikasi pemilih. Proses selanjutnya, sistem melakukan proses otentikasi pemilih dan apabila sidik jari pemilih dikenal oleh sistem maka sistem akan membuka halaman surat suara sehingga pemilih diperbolehkan melakukan pemilihan. Sebaliknya, apabila sistem tidak mengenal sidik jari yang sedang diotentikasi maka sistem tidak membuka halaman surat suara sehingga pemilih tidak bisa melakukan pemilihan. Proses otentikasi terhadap sidik jari pemilih yang dikenal dan tidak dikenal oleh sistem ditunjukkan pada Gambar 24 dan Gambar 25.
Gambar 23 Proses otentikasi sidik jari pemilih yang terdaftar di database
Gambar 24 Proses otentikasi sidik jari pemilih yang tidak terdaftar di database
34 Sedangkan pada Gambar 26 berikut, sistem memperlihatkan proses otentikasi terhadap pemilih yang terdaftar pada database CLA dan telah melakukan proses pemilihan sebelumnya. Namun pemilih yang bersangkutan akan melakukan pemilihan kembali pada periode yang sama, tetapi sistem juga tidak membuka halaman surat suara sehingga tidak dapat melakukan pemilihan lebih dari satu kali.
Gambar 25 Proses otentikasi sidik jari pemilih yang akan memilih kembali 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).
Hasil pengujian terhadap tahapan proses registrasi pemilih, proses verifikasi pemilih, dan proses otentikasi pemilih tersebut di atas dapat diperlihatkan pada Tabel 2. Tabel 2 Hasil pengujian N Skenario Uji
Hasil yang diharapkan
Hasil Uji
No.
Deskripsi Uji
Kondisi Awal
1.
Mengambil citra sidik jari pemilih, memasukkan Kode dan Nama dari pemilih menggunakan mesin fingerprint scanner
Jari pemilih belum diletakan pada sensor dari mesin fingerprint scanner yang digunakan
Pemilih meletakkan jarinya pada sensor mesin fingerprint scanner
Sistem merekam dan menyimpan citra sidik jari pemilih, Kode dan Nama ke dalam database
Berhasil
2.
Menangkap dan membaca citra sidik jari dari pemilih yang telah terdaftar dalam database
Jari pemilih belum diletakan pada sensor dari mesin fingerprint scanner yang digunakan
Pemilih meletakkan jarinya pada sensor mesin fingerprint scanner
Sistem mencocokkan citra sidik jari pemilih dengan database yang ada untuk diverifikasi
Berhasil sidik jari diverifika si
3.
Menangkap dan membaca citra sidik jari dari pemilih yang belum terdaftar dalam database
Jari pemilih belum diletakan pada sensor dari mesin fingerprint scanner yang digunakan
Pemilih meletakkan jarinya pada sensor mesin fingerprint scanner
Sistem mencocokkan citra sidik jari pemilih dengan database yang ada untuk diverifikasi
Berhasil sidik jari gagal diverifi kasi
36 4.
Menangkap dan membaca citra sidik jari dari pemilih yang telah terdaftar dalam database yang akan melakukan pemilihan Menangkap dan membaca citra sidik jari dari pemilih yang tidak terdaftar dalam database yang akan melakukan pemilihan
Jari pemilih belum diletakan pada sensor dari mesin fingerprint scanner yang digunakan
Pemilih meletakkan jarinya pada sensor mesin fingerprint scanner
Sistem mencocokkan citra sidik jari pemilih dengan database yang ada untuk diotentikasi
Berhasil sidik jari diotentika si
Jari pemilih belum diletakan pada sensor dari mesin fingerprint scanner yang digunakan
Pemilih meletakkan jarinya pada sensor mesin fingerprint scanner
Sistem mencocokkan citra sidik jari pemilih dengan database yang ada untuk diotentikasi
Berhasil sidik jari tidak dikenal
6.
Menangkap dan membaca citra sidik jari dari pemilih yang telah terdaftar dalam database yang akan melakukan pemilihan kembali
Jari pemilih belum diletakan pada sensor dari mesin fingerprint scanner yang digunakan
Pemilih meletakkan jarinya pada sensor mesin fingerprint scanner
Sistem mencocokkan citra sidik jari pemilih dengan database yang ada untuk diotentikasi
Berhasil sidik jari dikenal dan tidak boleh memilih kembali
7.
Menangkap dan membaca citra sidik jari palsu dari pemilih yang akan melakukan pemilihan
Sidik jari palsu pemilih belum diletakan pada sensor dari mesin fingerprint scanner yang digunakan
Pemilih meletakkan foto copy sidik jari pada sensor mesin fingerprint scanner
Sistem membaca dan mencocokkan citra sidik jari pemilih dengan database yang ada untuk diotentikasi
Berhasil sidik jari palsu tidak dibaca
8.
Menangkap dan membaca citra sidik jari palsu dari pemilih yang akan melakukan pemilihan
Sidik jari palsu pemilih belum diletakan pada sensor dari mesin fingerprint scanner yang digunakan
Pemilih meletakkan bekas sidik jari yang telah diambil dari lakban pada sensor mesin fingerprint scanner
Sistem membaca dan mencocokkan citra sidik jari pemilih dengan database yang ada untuk diotentikasi
Berhasil sidik jari palsu tidak dikenal
5.
37
5 SIMPULAN DAN SARAN 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 permasalahanpermasalahan 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 Bishop M. 2003. Computer Security : Art and Science, Boston : Addison-Wesley, Pearson Educaation, Inc. D. Ashok K, T, Ummal SB. 2011. A Novel Design of Electronic Voting System Using Fingerprint, Department of Computer Science, V.S.S. Government Art College, India. DuFeu D, Harris J. 2001. Online Election System, 95.413 Project Report, Carleton University. Fajar, Ibnu. 2011. Cara Kerja Mesin Scanner Fingerprint. Tersedia dari : http://forinsight.wordpress.com/2011/12/19/cara-kerja-mesin-scannerfingerprint. Fitrah. 2012. Disain Evoting pada Pilkada Kota Bogor Menggunakan Protokol two Central Facilities yang Termodifikasi, Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor, Bogor. Iqbal, Sigit. Implementasi dan Analisis Performansi Autentikasi Sistem Biometrik Sidik Jari, Departemen Teknik Telemomunikasi, ITB Bandung. Prayanta. 2012. Pengembangan Sistem Otentikasi Voter pada Central Legitimization Agency Menggunakan Media Mifare Smart Card, Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor, Bogor. Schneier B. 1996. Applied Cryptography, second edition : Protocols, Algorithms, and Source Code in C, John Wiley & Sons, Inc. Shalahuddin, Muhammad.2009. Pembuatan Model E-Voting Berbasis Web. Studi Kasus Pemilu Legislatif dan Preside Indonesia. Sekolah Teknik Elektro dan Informatik, Institut Teknologi Bandung, Bandung. Sireesha J, Chakchai SI. 2005. Secure Virtual Election Both with Two Central Facilities, Department of Komputer Science Washington University in St. Louis, USA. Stallings W. 2011. Network Security Essentials : Applicatiuons and Standard, Fourth Edition, Prentice Hall, Pearson Education, Inc. Wardhani, dkk. 2009. Analisis dan Pengembangan IPB Online Voting Berbasis Protokol Two Central Facilities, Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor, Bogor.
39
LAMPIRAN
Lampiran 1 Source code menu utama fingerprint Private Sub Command1_Click() Form4.Show End Sub Private Sub Command3_Click() Form3.Show End Sub Private Sub Form_Load() Set myDevices = New FPDevices Open_DB End Sub Private Sub Form_Unload(Cancel As Integer) Close_DB Set myDevices = Nothing End Sub
Lampiran 2 Source code menu registrasi pemilih Private Sub Command1_Click() If ScanOke = False Then MsgBox "Lengkapi 4 Tahap Scan Sidik Jari !!!", vbInformation, "Informasi" Exit Sub End If Set register = New FPRegister register.NewRegistration Rt_Verify For a = 0 To 3 register.Add Template(a), bDone Next a If bDone = False Then MsgBox "Sidik Jari pada Tiap Tahap Tidak Sama !!!" & Chr(13) & "Scan Ulang Dari Awal ....", vbInformation, "Informasi" Siap2x Exit Sub End If
40 Lampiran 2 Lanjutan Set regTemplate = register.RegistrationTemplate regTemplate.Export blob blobarray = blob Conn.Execute "Insert into users values('" & Text1.Text & "','" & Text2.Text & "','" & ArrayToHex(blobarray) & "')" MsgBox "Data Users Sudah Disimpan !!!", vbInformation, "Information" Siap2x Text1.Text = "" Text2.Text = "" Text1.SetFocus Exit Sub 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 Private Sub Form_Load() If myDevices.Count = 0 Then MsgBox "FingerPrint Tidak Ditemukan !!!" End Else For Each x In myDevices Set dev = x Next dev.SubScribe Dp_StdPriority, Me.hWnd End If Me.Move (Screen.Width - Me.Width) / 2, (Screen.Height - Me.Height) / 3 Set Rec = New ADODB.Recordset Sta.Caption = "Letakkan Jari Anda Pada FingerPrint" N=0 ScanOke = False End Sub Private Sub Form_Unload(Cancel As Integer) Set Rec = Nothing Set dev = Nothing End Sub
41 Lampiran 2 Lanjutan Private Sub dev_FingerLeaving() Sta.Caption = "Letakan Jari Anda Pada FingerPrint" End Sub Private Sub dev_FingerTouching() Sta.Caption = "Sidik Jari di-Process" End Sub Private Sub dev_SampleAcquired(ByVal pRawSample As Object) If ScanOke = False Then Set smpPro = New FPRawSamplePro smpPro.Convert pRawSample, Sample Sample.PictureOrientation = Or_Portrait Sample.PictureWidth = Picture1.Width / Screen.TwipsPerPixelX Sample.PictureHeight = Picture1.Height / Screen.TwipsPerPixelY Picture1.Picture = Sample.Picture Set ftrex = New FPFtrEx ftrex.Process Sample, Tt_PreRegistration, Template(N), qt 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 Private Sub Siap2x() N=0 ScanOke = False Sta.Visible = True Konfir.Caption = "" Picture1.Picture = LoadPicture("") For a = 0 To 3 Text10(a).Text = "" Next a End Sub Lampiran 3 Source code verifikasi pemilih Private Sub Cek() Set verify = New FPVerify 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 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
43 Lampiran 3 Lanjutan If LogOke = True Then Label3.ForeColor = vbBlue Label3.Caption = Nama & " Berhasil Diidentifikasi !!!" Else Label3.Caption = "Identifikasi Gagal, Ulangi !!!" Label3.ForeColor = vbRed End If C=0 Timer1.Enabled = True Lbl_Kode.Caption = "" Label7.Caption = "" End Sub Private Sub Form_KeyPress(KeyAscii As Integer) On Error Resume Next If KeyAscii = 13 Or KeyAscii = 27 Then Text1.SetFocus End If End Sub Private Sub Form_Load() Mulai = False Label1.Caption = "FingerPrint Sedang Diaktifkan ...." On Error GoTo Keluar 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 = "Letakan 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
44 Lampiran 3 Lanjutan Private Sub Form_Unload(Cancel As Integer) On Error Resume Next Set dev = Nothing Set myDevices = Nothing Set Rec2 = Nothing Set Rec = Nothing End Sub Private Sub dev_FingerLeaving() Label1.Caption = "Letakan Jari Anda pada FingerPrint" End Sub Private Sub dev_FingerTouching() Label1.Caption = "Sidik Jari diproses" End Sub Private Sub dev_SampleAcquired(ByVal pRawSample As Object) If Mulai = False Then Exit Sub On Error Resume Next Set smpPro = New FPRawSamplePro smpPro.Convert pRawSample, Sample Sample.PictureOrientation = Or_Portrait Sample.PictureWidth = Picture1.Width / Screen.TwipsPerPixelX Sample.PictureHeight = Picture1.Height / Screen.TwipsPerPixelY Picture1.Picture = Sample.Picture DoEvents Set ftrex = New FPFtrEx ftrex.Process Sample, Tt_Verification, verTemplate, qt Label1.Caption = "Proses Selesai !!!" If qt = Sq_Good Then Cek 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 Private Sub myDevices_DeviceConnected(ByVal serNum As String) If myDevices.Count <> 0 Then Set dev = Nothing For Each x In myDevices Set dev = x dev.SubScribe Dp_StdPriority, Me.hWnd Next Label1.Caption = "Letakan Jari Anda pada FingerPrint" End If End Sub Private Sub myDevices_DeviceDisconnected(ByVal serNum As String) Label1.Caption = "FingerPrint Belum Terpasang !!!" On Error Resume Next For Each x In myDevices Set dev = x dev.UnSubScribe Next Set dev = Nothing End Sub Private Sub Timer1_Timer() Label3.Visible = True C=C+1 If C = 10 Then Timer1.Enabled = False Label3.Visible = False End If End Sub
46 Lampiran 4 Source code otentikasi pemilih Set verify = New FPVerify 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 If Kode <> "" Then If Not CekSudahMemilih(Kode) Then Label3.ForeColor = vbBlue Label3.Caption = "Selamat datang " & Nama & "!" LogOke = True Else Label3.ForeColor = vbRed Label3.Caption = "Anda sudah melakukan pemilihan!" End If Else Label3.Caption = "Sidik jari tidak dikenal" Label3.ForeColor = vbRed End If C=0 Timer1.Enabled = True Lbl_Kode.Caption = "" Label7.Caption = "" End Sub
47 Lampiran 4 Lanjutan Private Function CekSudahMemilih(ByVal Kode As String) As Boolean Dim rs As New ADODB.Recordset Dim SQL As String 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 Private Sub cmdSelesai_Click() browser1.Visible = False fraLogin.Visible = True End Sub Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer) If KeyCode = 27 Then End End If End Sub Private Sub Form_Load() 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 Label1.Caption = "FingerPrint sedang diaktifkan..." On Error GoTo Keluar
48 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 Private Sub Form_Unload(Cancel As Integer) On Error Resume Next Close_DB Set dev = Nothing Set myDevices = Nothing Set Rec2 = Nothing Set Rec = Nothing End Sub Private Sub dev_FingerLeaving() Label1.Caption = "Letakkan jari anda pada fingerprint" End Sub Private Sub dev_FingerTouching() Label1.Caption = "Sidik jari sedang diproses..." End Sub Private Sub dev_SampleAcquired(ByVal pRawSample As Object) If Mulai = False Then Exit Sub On Error Resume Next Set smpPro = New FPRawSamplePro smpPro.Convert pRawSample, Sample Sample.PictureOrientation = Or_Portrait Sample.PictureWidth = Picture1.Width / Screen.TwipsPerPixelX Sample.PictureHeight = Picture1.Height / Screen.TwipsPerPixelY Picture1.Picture = Sample.Picture DoEvents
49 Lampiran 4 Lanjutan Set ftrex = New FPFtrEx ftrex.Process Sample, Tt_Verification, verTemplate, qt Label1.Caption = "Proses Selesai !!!" If qt = Sq_Good Then Cek Else C=0 Timer1.Enabled = True Label3.Caption = "Hasil scan tidak bagus, letakkan jari anda dengan benar!" End If Text1.SetFocus End Sub Private Sub myDevices_DeviceConnected(ByVal serNum As String) If myDevices.Count <> 0 Then Set dev = Nothing For Each x In myDevices Set dev = x dev.SubScribe Dp_StdPriority, Me.hWnd Next Label1.Caption = "Letakkan jari anda pada fingerprint" End If End Sub Private Sub myDevices_DeviceDisconnected(ByVal serNum As String) Label1.Caption = "FingerPrint belum terpasang!" On Error Resume Next For Each x In myDevices Set dev = x dev.UnSubScribe Next Set dev = Nothing End Sub
50 Lampiran 4 Lanjutan Private Sub Timer1_Timer() 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 Private Sub UpdateStatus(ByVal NIK As String, ByVal Status As Integer) SQL = "UPDATE voterlist SET status=" & Status & " WHERE name='" & fingerprint & "'" Conn.Execute SQL End Sub
51 Lampiran 5 Source code koneksi ke database Public myDevices As FPDevices Public Conn As ADODB.Connection Public Sub Open_DB() Dim strConnect As String Set Conn = New ADODB.Connection strConnect = "DRIVER={MySQL ODBC 5.2a Driver};" _ & "SERVER=localhost;" _ & "DATABASE=skrip;" _ & "UID=root;" _ & "PWD=;""" Conn.Open strConnect End Sub Public Sub Close_DB() Conn.Close Set Conn = Nothing End Sub Function ArrayToHex(arr() As Byte) As String templatestr = "" For i = LBound(arr) To UBound(arr) tempstr = Hex$(arr(i)) If Len(tempstr) = 1 Then tempstr = "0" + tempstr templatestr = templatestr + tempstr Next i ArrayToHex = templatestr End Function Public Sub HexToArray(inphex As String, outarray() As Byte) ReDim outarray(0 To Len(inphex) / 2) As Byte Dim i As Integer For i = 1 To Len(inphex) Step 2 outarray(((i + 1) / 2) - 1) = Val("&H" + Mid$(inphex, i, 2)) Next i End Sub Function Kualitas(x As AISampleQuality) If x = Sq_Good Then Kualitas = "Hasil Bagus" Else Kualitas = "Hasil Jelek" End If End Function
52 Lampiran 3 Halaman surat suara
Lampiran 4 Halaman pertanyaan keyakinan pemilih terhadap kandidat
Lampiran 5 Halaman bukti elektronik telah memilih kandidat
53
RIWAYAT HIDUP Muhammad Ilyas Sikki, dilahirkan di Makassar pada tanggal 9 Januari 1971 sebagai anak kelima dari delapan bersaudara, penulis dilahirkan dari pasangan Bapak Tanni Sikki (Alm) dan Ibu Sitti Aisyah (Almh). Tahun 1990 penulis lulus dari SMAN 7 Makassar dan pada tahun yang sama melanjutkan pendidikan ke jenjang Strata Satu (S1) di Universitas Hasanuddin (UNHAS) Makassar melalui jalur Ujian Masuk Perguruan Tinggi Negeri (UMPTN) pada Jurusan Teknik Elektro Fakultas Teknik. Pada tahun 2010 penulis melanjutkan pendidikan ke jenjang Strata Dua (S2) di Sekolah Pascasarjana Program Studi Magister Ilmu Komputer Institut Pertanian Bogor. Penulis saat ini sebagai dosen pada Program Studi Teknik Elektronika, Fakultas Teknik, Universitas Islam “45” (UNISMA) Kota Bekasi jenjang pendidikan Diploma III (D3). Jabatan yang pernah diamanahkan oleh lembaga adalah Kepala Laboratorium Elektronika, Manajer Kemahasiswaan, dan Direktur Direktorat Kemahasiswaan dan Alumni UNISMA Bekasi.