LAMPIRAN 1
Report Hasil Perhitungan Jumlah Suara
89
PRESENTASI TUGAS AKHIR – CI 1599
5 February 2009
SIMULASI E‐VOTING SYSTEM DENGAN MENGGUNAKAN METODE SCRATCH AND vOTE
Oleh: HELENA APRIZA Tohari Ahmad, SKOM. M.M Royanna M Ijtihadi, S.Kom, M.Kom
P E N D A H U L U A N
Latar Belakang g Tujuan Batasan Masalah
Latar Belakang
Konsep penggunaan banyak kartu identitas Pemilih salah dalam memberi tanda pada kertas suara, suara karena kententuan keabsahan penandaan yang kurang jelas Proses perhitungan suara yang dilakukan berjalan lambat Kurang terjaminnya kerahasiaan dari pilihan yang dibuat oleh seseorang. Tidak ada bukti autentik hasil pemilihan suara,
E-VOTING denganSOLUSI? METODE SCRATCH & VOTE
Tujuan
Berangkat dari latar belakang di atas, atas penulis kemudian merumuskan beberapa permasalahan yang akan diangkat yaitu adalah bagaimana membangun sebuah sistem perangkat lunak pemilihan suara yang efektif, efisien, high privacy dan ACCURATE( A Center for Correct, Usable, Reliable, Auditable dan Transparent Elections). Elections)
Batasan Masalah
Menggunakan Paillier cryptosystem untuk enkripsi dan dekripsi Menggunakan gg teknik homomorphics p untuk pembuktikan keaslian kertas suara Hanya untuk pemilihan dengan jumlah candidate maksimal k i l 4 calon l Pengecekan hasil suara menggunakan barcode code 39 ttipe pe linear ea . Bahasa pemrograman yang digunakan adalah J2SE, HTML dan JSP System hanya untuk jaringan lokal (LAN)
TINJAUAN PUSTAKA
Elektronik Voting g Metode Scratch and Vote Paillier Kriptosystem
El kt Elektronik ik V Voting ti
Elektronik voting pertama kali ditemukan oleh Thomas A. Edison pada tahun 1869[5]. Elektronik voting yang biasa disebut e-voting adalah salah satu bentuk pemilihan suara dari sejumlah option kandidat dengan memanfaatkan teknologi elektronisasi untuk membuat pekerjaan lebih cepat selesai [7]. Contoh teknologi e-voting adalah punch cards, optical scan voting system, dan touch screen system Teknologi ini dapat mentransmisikan kertas system. suara (ballot) dan hasil suara melalui telepon, jaringan komputer atau internet.
Metode Scratch and Vote
Metode scratch dan vote adalah sebuah metode pada system e-voting dengan tujuan untuk meminimalkan harga dan kompleksitas, yaitu dengan cara : M Menggunakan k teknik t k ik kriptografi ki t fi Berbentuk paper-based Kertas suara yang verifikasinya tanpa melibatkan petugas pemilihan suara Perhitungan hasil suara yang hanya mempercayakan pada proses dekripsi dan menggunakan homomorphic enkripsi Hasil suara dienkripsi dan dipublish pada sebuah bulletin board
Paillier Kriptosistem Sistem kriptografi Paillier adalah sebuah sistem yang berbasis algoritma asimetris probabilistik. Algoritma enkripsi yang digunakan adalah sebuah algoritma kriptografi kunci publik. Sistem ini ditemukan oleh Pascal Paillier pada tahun 1999[8].
Paillier Kriptosistem Homomorphic property. property Properti homomorfisme memungkinkan penjumlahan nilai yang dienkripsi dengan nilai lainnya, kemudian hasil penjumlahannya d dapat t didekripsi did k i i tanpa t mengetahui t h i nilai il i – nilai il i yang membentuknya. Karena properti semantic security dari kriptosistem Paillier ini, Properti malleability (kelenturan logika didalam pemrograman komputer)) yang dimiliki oleh kriptosistem Paillier ini.
Key Generation 1. Pilih 2 bilangan prima p dan q secara random 2. Hitung nilai n, dimana n =pq and λ = lcm(p − 1,q − 1) 3. Pilih bilangan integer g secara random 4 Bilangan basis g yang dipilih secara acak dari elemen4. elemen elemen yang ordenya dapat dibagi dengan n dengan mengecek modular multiplicative inverse Dimana fungsi L adalah sebagai berikut Keterangan : Lcm (Least Common Multiple) : Public key untuk enkripsi adalah (n,g) Private key untuk decryption adalah (λ,µ). Public key untuk enkripsi adalah (n,g) Private key untuk decryption adalah (λ,µ).
Enkripsi Algoritma enkripsi pada paillier kriptosistem : 1. Pesan m dienkripsi 2 Pilih r secara random 2. d 3. Perhitungan ciphertext :
Dekripsi Algoritma deskripsi pada paillier kriptosistem : 1. Ciphertext 2. Compute message:
Arsitektur Perangkat Lunak
Rancangan Aplikasi Secara Umum Aplikasi dibagi menjadi 3 adalah sebagai berikut : Aplikasi Admin, yaitu aplikasi yang digunakan oleh g kertas suara,, manage g data admin untuk manage pemilih dan manage data candidate. Aplikasi Ballot , yaitu aplikasi yang berbentuk website yang berfungsi b f i sebagai b i kertas k t suara sepertiti kertas k t suara pada umumnya. Aplikasi p as Bulletin u et Board, oa d, be berbentuk be tu website ebs te ya yang g berfungsi untuk menampilkan hasil perhitungan suara. PC yang digunakan sebagai device, harus didukung oleh internet sehingga dapat diakses oleh voter. voter
Use Case Diagram Aplikasi Admin Manage Data Candidate Extend
Registrasi data voter
Peneliti Admin
Manage Data Candidate
Extend
Login
Extend
E t d Extend
Cetak Barcode
Baca Barcode
Use Case Diagram Aplikasi Ballot
Pilih Candidate Extend
Login Peneliti Voter
Extend
Print Ballot
U Use C Case Di Diagram A Aplikasi lik i B Buletin l ti B Board d
View Voted
Peneliti User
KESIMPULAN DAN SARAN
Kesimpulan p Saran
KESIMPULAN Scratch S t h and d Vote, V t adalah d l h sebuah b h metode t d pada e-voting system yang menggunakan kriptografi yang bersifat dinamis dan bisa diterapkan pada e-voting system Dari ujicoba e-voting system yang dibangun mampu a pu memenuhi e e u fungsionalitas u gs o a tas yang ya g dibutuhkan yaitu system perangkat lunak pemilihan suara yang correctness, usable, reliable auditable dan transparent elections.
KESIMPULAN •Corectness,, karena ketepatan p dalam memproses p data inputan dan mampu mendekripsi kembali sebuah message yang telah terenkripsi. •Usable karena sifatnya yang mudah digunakan dan user •Usable, interaktif. Dengan maksud bila terjadi kesalahan akan mendapat konfirmasi langsung dari system. •Reliable, R li bl karena k sifatnya if t yang dapat d t dipercaya. di Si t Sistem i i ini menggunakan proses enkripsi untuk menjaga privacy data sehingga gg tidak sembarang g orang g dapat p mengubah g dan melihat datanya. •Transparant election, karena semua hasil pilihan voter akan ditampilkan di sebuah bulletin board. board •Auditable, karena hasil vote dapat diperiksa dan dicocokkan
SARAN Mengganti system keamanan database dengan menggunakan teknologi biometri, yaitu menggunakan pola sidik jari sebagai pengganti password dalam mengakses database.
M Menambahkan b hk fifirewallll untuk k kkeamanan b bulletin ll i b board. d Sering melakukan recovery data (upaya untuk mengembalikan basis data ke keadaaan yang dianggap benar setelah terjadinya suatu kegagalan
SARAN Type barcode yang digenerate dapat dipilih sesuai dengan type reader yang dipunya. Jumlah candidate yang dinputkan dapat berubah-rubah sesuai dengan keinginan.
TERIMA KASIH
Simulasi E-Voting Sistem Dengan Menggunakan Metode Scratch and Vote (S&V) Helena Apriza1, Tohari Ahmad2, Royyana Muslim I2 Mahasiswa Jurusan Teknik Informatika1, Dosen Pembimbing2 Jurusan Teknik Informatika, Fakultas Teknologi Informasi Institut Teknologi Sepuluh Nopember Kampus Teknik Informatika, Keputih Sukolilo (60111) Telp: +62 (031)5939214, Fax: +62 (031)5913804 Email:
[email protected]
ABSTRAK Penggunaan voting sebagai media untuk mencari keputusan yang berkaitan dengan hajat hidup orang banyak telah dimulai sejak lama. Dalam pelaksanaannya, banyak terjadi penyimpangan yang dilakukan oleh sebagian golongan masyarakat untuk kepentingan mereka sendiri. Hal ini menyebabkan timbulnya konflik di masyarakat, serta menurunnya tingkat kepercayaan masyarakat terhadap pihak penyelenggara voting dan pihak pemenang voting tersebut. Penggunaan teknologi informasi dalam proses voting diharapkan dapat membantu penyelesaian masalah-masalah tersebut. Aplikasi e-voting ini menggunakan metode Scratch andVote (S&V). Aplikasi e-voting ini yang menggunakan kriptografi dalam pengimplementasian sistemnya. Dengan metode enkripsi Paillier diharapkan dapat meningkatkan keamanan informasi datanya. Aplikasi yang menggunakan bahasa pemrograman Java untuk aplikasi admin dan JSP untuk aplikasi ballot ini dibangun dengan menggunakan jaringan lokal (LAN) untuk komunikasi antar PC demi kemudahan pertukaran informasi. Uji coba aplikasi e-voting ini dilakukan melalui beberapa skenario. Uji coba ini berhasil mewujudkan sebuah implementasi nyata aplikasi e-voting yang usable, high privacy, efektif dan transparent election meskipun harus menghadapi tantangan kehandalan performansi dan kejahatan elektronik. Kata kunci : E-Voting, Enkripsi, Dekripsi, Paillier kriptosistem,Scratch and Vote •
1. PENDAHULUAN Pemungutan suara (voting) adalah hal yang sangat penting dalam sistem demokratis. Voting biasanya menyiratkan adanya suatu pemilihan. Sistem yang biasa dilakukan oleh masyarakat pada umumnya adalah voting manual berbasis kertas. Dimana para pemilih dapat menentukan suara pilihannya dengan memberi tanda pada suatu kertas suara tertentu. Sistem ini banyak sekali kekurangannya. Berikut ini adalah beberapa permasalahan yang timbul dalam pelaksaan voting manual berbasis kertas: • Konsep penggunaan banyak kartu identitas menyebabkan banyaknya pemilih yang memiliki kartu suara lebih dari satu buah. Keadaan ini seringkali dikali dimanfaatkan oleh pihak-pihak tertentu untuk meningkatkan jumlah suara pilihannya sehingga dapat memenangkan voting tersebut
•
•
1
Pemilih salah dalam memberi tanda pada kertas suara, karena kententuan keabsahan penandaan yang kurang jelas, sehingga banyak kartu suara yang yang dinyatakan tidak sah. Pada tahapan verifikasi keabsahan dari kartu suara, sering terjadi kontroversi peraturan dan menyebabkan konflik dimasyarakat. Proses perhitungan suara yang dilakukan berjalan lambat karena proses tersebut harus menunggu semua kartu suara, sehingga pengumpulan tidak berjalan sesuai dengan rencana. Lebih lanjut lagi, proses tabulasi hasil penghitungan 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. Akibat
•
•
dari hal tersebut, maka pengumuman hasil voting akan memakan waktu yang lama. Permasalahan yang terpenting adalah kurang terjaminnya kerahasiaan dari pilihan yang dibuat oleh seseorang. Banyak pemillih mengalami tekanan dan ancaman pihak tertentu untuk memberikan suara mereka kepada pihak tertentu. Selain itu. Kurangnya verifiabilas dapat mendorong kearah penipuan pada pihak penyelenggara pemilihan atau pihak luar, dan kurangnya kerahasiaan dapat mendorong kearah pemaksaan[2]. Padahal ini adalah hal yang paling penting dalam pemilihan suara. Elektronik voting telah digunakan sejak tahun 1960[5]. Elektronik voting mengijinkan komputer untuk menghitung semua suara yang telah dipilih pada webpage kertas suara (ballot). Teknologi pemungutan suara secara elektronik ini dapat mempercepat perhitungan surat suara. Tetapi hal ini juga menimbulkan kontroversi karena ternyata memudahkan penipuan elektoral.
2. TUJUAN Berangkat dari latar belakang di atas, penulis kemudian merumuskan beberapa detil permasalahan yang akan diangkat yaitu adalah bagaiman membangun sebuah sistem perangkat lunak pemilihan suara yang efektif, efisien, high privacy dan ACCURATE( A Center for Correct, Usable, Reliable, Auditable, and Transparent Elections). 3. TINJAUAN PUSTAKA DAN TEORI 3.1 Elektronik Voting Elektronik voting pertama kali ditemukan oleh Thomas A. Edison pada tahun 1869[5]. Elektronik voting yang biasa disebut e-voting adalah salah satu bentuk pemilihan suara dari sejumlah option kandidat dengan memanfaatkan teknologi elektronisasi untuk membuat pekerjaan lebih cepat selesai [7]. Contoh teknologi e-voting adalah punch cards, optical scan voting system, dan touch screen system. Teknologi ini dapat mentransmisikan kertas suara (ballot) dan hasil suara melalui telepon, jaringan komputer atau internet. E-voting menggunakan protokol-protokol pemilihan yang disebut sebagai “secure election”. Protokol- protokol ini berisi aturanaturan yang harus dipatuhi untuk mendapatkan hasil sesuai dengan yang diinginkan. Adapun input dan output dari evoting dapat dilihat pada gambar dibawah ini :
Kriptografi dipilih sebagai solusi untuk pemungutan suara elektronik ini. Kriptografi digunakan untuk mengaburkan informasi rahasia sehingga tidak bisa dimengerti oleh orang lain yang tidak berhak[6]. Selain itu, kriptografi juga digunakan untuk autentikasi pesan. Banyak sistem elektronik voting menggunakan kriptografi untuk mengamankan data para pemilih suara. Salah satunya adalah Scratch dan Vote (S&V) yaitu sistem elektronik voting berbasis kertas suara dengan kriptografi yang didesain sederhana untuk kemudahan dalam penggunaan dan biaya pembangunan sistem yang minimal[1]. Dibandingkan dengan sistem voting yang modern seperti touch-screen, Scratch and Vote (S&V) ini mungkin kelihatannya lebih rendah teknologinya[3]. Tapi sistem ini memiliki keunggulan dibandingkan sistem yang lainnya yaitu sistem yang mengijinkan para pemberi suara untuk dapat melihat hasil suara yang telah dihitung pada sebuah buletin board dengan tetap menjamin kerahasiaan data pemberi suara[1].
Gambar 1 Skema Input dan output dari evoting 3.2 Metode Scratch and Vote Metode scratch dan vote adalah sebuah metode pada sistem pemilihan suara yang menggunakan teknik kriptografi untuk meminimalkan harga dan kompleksitas sistem, yaitu dengan cara: •
2
Kertas suara (ballot) yang bersifat paperbased dan dapat dicetak menggunakan teknologi yang sedang berkembang saat ini
•
Kertas suara yang verifikasinya tanpa melibatkan petugas pemilihan suara
•
Perhitungan hasil suara yang hanya mempercayakan pada proses dekripsi dan menggunakan homomorphic enkripsi
•
3.3 Paillier Kriptosistem Sistem kriptografi Paillier adalah sebuah sistem yang berbasis algoritma asimetris probabilistik. Algoritma enkripsi yang digunakan adalah sebuah algoritma kriptografi kunci publik. Sistem ini ditemukan oleh Pascal Paillier pada tahun 1999[8]. Sistem kriptografi Paillier dibuat berdasarkan pemikiran bahwa untuk menghitung kelas residu yang ke–n, perhitungan yang dibutuhkan sangat sulit. Hal ini dikenal sebagai asumsi Composite Residuosity (CR). Contohnya adalah penggunaan himpunan derajat pada sebuah bilangan n = pq yang sangat sulit untuk difaktorkan, dimana p dan q adalah dua buah bilangan prima. Dapat dilihat bahwa teknik trapdoor ini dapat menyediakan sebuah blok pembangun kriptografik untuk mendapat sebuah kriptosistem yang berbasis kunci publik[8]. Sistem kriptografi Paillier ini memiliki properti – properti seperti random-self-reducibility, additive homomorphic property, dan self – blinding. Properti – properti inilah yang menyebabkan kriptosistem Paillier ini dapat digunakan untuk berbagai keperluan, seperti pemungutan suara elektronik dan uang elektronik. Pada sistem pemilihan suara elektronik, kriptosistem paillier ini dapat merupakan pilihan yang cocok karena beberapa pertimbangan : 1. Homomorphic property. Kertas suara kriptografi tidak mendukung penulisan langsung calon pemilih. Umumnya, apabila Alice ingin menuliskan sebuah nama, ia akan memilih untuk menulis langsung pilihan kandidat – kandidat yang sudah ada, maka dari pada itu dapat digunakan homomorhic tallying. Properti homomorfisme ini sejalan dengan properti homomorfisme dari kriposistem Paillier, sehingga untuk properti homomorfisme dari Electronic Voting ini dapat digunakan kriptosistem Paillier. Properti homomorfisme memungkinkan penjumlahan nilai yang dienkripsi dengan nilai lain, kemudian hasil penjumlahannya dapat didekripsi tanpa mengetahui nilai – nilai yang membentuknya.
Kriptografi dipakai pada metode ini dikarenakan kriptografi dapat menggabungkan public auditability dan ballot secrecy. Hasil suara dienkripsi dan dipublish pada sebuah bulletin board dengan nama pemilih atau nomer identitas pemilih dalam bentuk asli (tanpa dienkripsi). Sehingga setiap orang dapat melihat bahwa Alice telah melakukan pemilihan tapi tidak tahu apa yang dia pilih. Adapun langkah-langkah pemilihan suara adalah sebagai berikut : •
Sign in : voter harus login terlebih dahulu kemudian baru mendapatkan webpage kertas suara dengan urutan list kandidat yang bersifat random untuk setiap kertas suaranya. Petugas pemilihan tidak mengetahui urutan kandidat yang telah dirandom disetiap webpage kertas suara. Webpage kertas suara memiliki garis pembatas secara vertikal ditengah kertas untuk memisahkan list kandidat yang terletak disebelah kiri dan checkbox yang terletak disebelah kanan. Selain itu juga garis pembatas secara horizontal untuk memisahkan dengan 1D-barcode[2].
•
Make selection : Pemilih mengisi webpage kertas suara kandidat yang telah disediakan.
•
Print Ballot : Webpage kertas suara yang telah diisi secara benar kemudian di print sehingga dapat dipakai sebagai barang bukti bagi voter bila terjadi kesalahan .
•
Detach ballot halves : Webpage kertas suara yang telah diprint, disobek berdasarkan garis pembatas kertas. Dimana kertas suara yang berisi list kandidat pilihan akan dibuang. Dengan catatan bagian yang dibuang tidak berisi informasi lain, hanya berisi urutan list kandidat. Casting : Setiap voter dapat memberikan kertas suara yang berisi barcode kepada petugas pemilihan untuk membaca arti dari image barcode nya. Barcode dibaca dengan menggunakan sebuah alat scanner.
•
Verification : Voter dapat log on ke website bulletin board untuk memverifikasi hasil pilihan voter yang telah dihitung.
3
2. Karena properti semantic security dari kriptosistem Paillier ini, maka suara yang masuk dapat dilindungi dari serangan yang bersifat Chosen Plaintext attack, namun karena sifatnya yang malleable, maka suara yang masuk masih dapat diserang melalui metode Chosen Ciphertext attack, kecuali apabila menggunakan skema ROM
4.2 Perancangan Proses 4.2.1 Perancangan Proses Aplikasi Admin Aplikasi admin adalah sebuah aplikasi desktop. Aplikasi ini secara garis besar berhubungan dengan proses management kertas suara. Semua data yang berhubungan dengan pemilihan akan dimanage oleh seorang admin dan disimpan dalam sebuah database server. Selain itu pada aplikasi ini juga terdapat proses enkripsi. Dimana pada proses enkripsi ini nanti akan menghasilkan private key dan public key yang digunakan untuk menjaga kerahasiaan data vote hasil pilihan voter.
3. Properti malleability (kelenturan logika didalam pemrograman komputer )yang dimiliki oleh kriptosistem Paillier ini. 4. PERANCANGAN APLIKASI 4.1 Perancangan Aplikasi secara umum Aplikasi dibagi menjadi 3 adalah sebagai berikut.
Manage Data Candidate (from Use Cases)
1. Aplikasi Admin, yaitu aplikasi yang digunakan oleh admin untuk manage kertas suara, manage data pemilih dan manage data candidate. Aplikasi ini berbasis desktop dan dibangun dengan menggunakan platform J2SE.
Registrasi Data Voter (from Use Cases)
<<extend>>
<<extend>>
Admin
2. Aplikasi Ballot (Kertas Suara), yaitu aplikasi yang berbentuk website yang berfungsi sebagai kertas suara seperti kertas suara pada umumnya. Voter yang telah terdaftar dapat memberikan hak suaranya dengan memilih kandidat yang tertera pada aplikasi ini. Aplikasi ini dibangun dengan menggunakan JSP.
(f rom Actors)
Manage Data Admin
<<extend>>
login (from Use Cases)
(from Use Cases)
<<extend>>
<<extend>> Cetak Barcode (from Use Cases)
Baca Barcode (from Use Cases)
3. Aplikasi Bulletin Board, berbentuk website yang berfungsi untuk menampilkan hasil perhitungan suara. Aplikasi ini berbasis website dan dibangun menggunakan platform JSP. Untuk menggunakan aplikasi bulletin board, PC yang digunakan sebagai device, harus didukung oleh internet sehingga dapat diakses oleh voter kapanpun dan dimanapun
Gambar 3Use Case Aplikasi Admin Diagram use case pada Gambar 3Use Case Aplikasi Admin menggambarkan bahwa admin selaku actor dapat menggunakan fungsi-fungsi yang ditawarkan sistem yaitu manage data candidate, registrasi data voter, manage data admin, cetak barcode dan baca barcode. Tetapi sebelum menggunakan fungsi-fungsi tersebut admin harus melakukan proses login terlebih dahulu. Adapun masing-masing fungsionalitas dari usecase yaitu: 1. manage data candidate, berfungsi untuk mengatur data candidate yang akan dipilih, 2. registrasi data voter, berfungsi untuk menginputkan data voter yang berhak memberikan suara, 3. manage data admin, berfungsi untuk mengatur hak akses admin, 4. cetak barcode, berfungsi untuk mengenerate gambar barcode yang akan ditampilkan pada kertas suara.
Secara garis besar, aliran kerja bisnis dari aplikasi ini dijelaskan dalam Gambar 2 Gambaran Umum Sistem.
Gambar 2 Gambaran Umum Sistem
4
5. baca barcode, berfungsi untuk membaca image barcode guna mencocokan hasil voted
4.2.3 Perancangan Proses Aplikasi Bulletin Board Aplikasi Bulletin Board adalah sebuah halaman web yang berfungsi sebagai papan pengumuman yang berisi daftar nama voter yang telah memilih kandidat dan hasil dari perhitungan suara. Halaman web ini bersifat read-only dan dapat diakses oleh siapapun
4.2.2 Perancangan Proses Aplikasi Ballot Aplikasi Ballot adalah sebuah aplikasi web yang berfungsi sebagai kertas suara yang berisi daftar nama kandidat yang dapat dipilih oleh voter. Bentuk dan fungsinya sama halnya dengan kertas suara biasa pada umumnya, tapi ini ditampilkan dalam sebuah webpage.
Pilih Candidate (from <Use Case Name>)
Gambar 5 Use Case Aplikasi Buletin Board <<extend>>
login
Voter
(from <Use Case Name>)
(f rom Actors)
<<extend>>
Print Ballot (from <Use Case Name>)
Gambar 4 Use Case Aplikasi Ballot Diagram use case aplikasi ballot diatas menggambarkan bahwa untuk masuk ke aplikasi ballot ini voter harus melakukan proses login terlebih dahulu. Bila voter telah berhasil masuk, voter dapat melakukan proses pilih kandidat. Proses print dapat dilakukan bila kedua proses diatas telah dilakukan. Adapun masing-masing fungsionalitas dari usecase yaitu: 1. Login Voter, sebelum voter dapat mengisi kertas suara yang diberikan, terlebih dahulu harus melalui proses autentikasi voter. Proses ini bertugas untuk mengecek apakah seorang voter mempunyai hak untuk mengisi kertas suara. Hal ini berguna agar seorang voter hanya dapat memberikan suara nya hanya satu kali saja. 2. Pilih Candidate, voter diberikan webpage pilih candidate yang berisi list daftar kandidat. Kemudian voter memilih salah satu kandidat yang telah ditampilkan pada layar. 3. Print Ballot, voter dapat mencetak webpage pilih kandidat yang telah dipilih sebelumnya yang mana nantinya dapat digunakan sebagai bukti bila terdapat kesalahan.
Diagram use case pada Gambar 5 Use Case Aplikasi Buletin Board menggambarkan bahwa pada aplikasi bulletin board voter hanya dapat melakukan proses view hasil suara. Aplikasi ini hanya menampilkan jumlah perhitungan suara yang telah masuk ke dalam database beserta daftar nama voter yang telah menggunakan hak pilihnya. Aplikasi bulletin board bersifat read-only. 5. UJI COBA Ujicoba dilakukan untuk mengetahui apakah semua fungsi pada simulasi e-voting sistem ini berjalan sesuai dengan yang diinginkan. Ujicoba disertai penjelasan mengenai parameter yang digunakan, cara pengujian dan hasil uji cobanya yang disertai analisa hasil dari uji coba tersebut. 5.1 Uji Coba Fungsionalitas Aplikasi Admin Ujicoba fungsionalitas pada aplikasi admin akan dilakukan pada semua aspek seperti yang terlihat pada Gambar 5 Interface Flow Diagram Aplikasi Admin
5
kandidat. Setelah button update dipilih untuk mengeksekusi input data kandidat yang diinputkan sebelumnya tadi maka akan muncul konfirmasi seperti pada Gambar 7 Skenario Ujicoba Update Data Candidate.
Gambar 7 Skenario Ujicoba Update Data Candidate Dari hasil uji coba dapat ditarik kesimpulan bahwa fungsionalitas login voter : Usable, karena sifatnya yang user interaktif. Setiap ada aksi dalam menginputkan data diberi konfirmasi untuk meyakinkan tindakan akan dilakukan selanjutnya.
Gambar 5 Interface Flow Diagram Aplikasi Admin
5.1.3 Proses Enkripsi 5.1.1 Ujicoba Registrasi Data Voter
Proses enkripsi sangat diperlukan dalam aplikasi ini untuk meningkatkan keamanan datanya. Dengan hanya memilih button enkripsi maka data inputan sebelumnya akan terenkripsi secara otomatis. Tetapi sebelum itu akan muncul konfirmasi seperti Gambar 8 Skenario Ujicoba Proses Enkripsi untuk memastikan eksekusi proses enkripsi, seperti yang terlihat pada Gambar 8
Dalam penginputan data voter pada form manage data voter semua textbox input harus diisi secara benar. Khusus untuk textbox input id ballot tidak boleh terjadi duplikasi data. Bila id ballot yang diinputkan admin ternyata sama maka akan muncul konfirmasi yang seperti yang terlihat pada Gambar 6 Skenario Ujicoba Input Id Ballot yang Sama. Hal ini dikarena id ballot bersifat unik, setiap voter harus memiliki id ballot yang berbeda.
Gambar 8 Skenario Ujicoba Proses Enkripsi Gambar 6 Skenario Ujicoba Input Id Ballot yang Sama
Dari proses enkripsi pada form diatas maka dapat dilihat contoh hasil enkripsi dan deskripsi dari algoritma Paillier dengan nilai plaintext yang random pada Gambar
Dari hasil uji coba dapat ditarik kesimpulan bahwa fungsionalitas registrasi data voter : Usable, karena sifatnya yang user interaktif. Setiap ada kesalahan dalam menginputkan data diberi konfirmasi sehinga menjadi tahu dimana letak kesalahannya data inputan. 5.1.2 Ujicoba Manage Data Candidate
Bagi admin yang ingin menginput data kandidat yang baru maka admin harus memilih data kandidat yang lama untuk diedit dengan data kandidat yang baru pada tabel data
Gambar 9 Skenario Ujicoba Create Enkripsi
6
Dari hasil ujicoba proses enkripsi dapat ditarik kesimpulan bahwa fungsionalitas pilih kandidat : Usable, karena sifatnya yang user interaktif. Setiap ada aksi dalam menginputkan data diberi konfirmasi untuk meyakinkan tindakan akan dilakukan selanjutnya.
Gambar 11 Skenario Ujicoba Baca Barcode Dari hasil uji coba dapat ditarik kesimpulan bahwa fungsionalitas baca barcode :
Reliable, karena sifatnya yang dapat dipercaya. Sistem ini menggunakan proses enkripsi untuk menjaga privacy data hasil pilih kandidat sehingga tidak sembarang orang yang dapat mengubah dan melihat datanya.
Usable, karena sifatnya yang user interaktif. Setiap ada aksi dalam menginputkan data diberi konfirmasi untuk meyakinkan tindakan yang akan dilakukan sela
5.1.4 Ujicoba Cetak Barcode
5.2 Uji Coba Fungsionalitas Aplikasi Ballot Ujicoba fungsionalitas pada aplikasi ballot akan dilakukan pada semua fungsi dan interface aplikasi ballot. Berikut aliran proses aplikasi ballot :
Admin dapat mencetak image barcode dengan mengklik button save. Tetapi sebelumnya harus memilih ballot id yang akan dibuat image barcode pada daftar message hasil enkripsi yang terdapat pada form cetak barcode. Bila button save dipilih maka akan muncul konfirmasi seperti Gambar 10 Skenario Ujicoba Save Image Barcode untuk memastikan eksekusi dari save image barcode.
Gambar 10 Skenario Ujicoba Save Image Barcode Dari hasil uji coba dapat ditarik kesimpulan bahwa fungsionalitas login voter : Usable, karena sifatnya yang user interaktif. Setiap ada aksi dalam menginputkan data diberi konfirmasi untuk meyakinkan tindakan yang akan dilakukan selanjutnya.
Gambar 12 Aliran proses aplikasi ballot Ujicoba-Login Voter Proses login voter terjadi pada halaman login ketika voter ingin memasuki aplikasi ballot. Antarmuka webpage untuk proses login tampak seperti Gambar 13 Dimana terdapat satu button submit dan dua textfield yang harus diisi secara benar oleh voter.
5.2.1
5.1.5 Ujicoba Baca Barcode
Baca barcode adalah proses membaca isi dari image barcode yang tertera disetiap kertas suara yang diterima oleh voter setelah melakukan pemilihan kandidat pada aplikasi ballot. Input dari proses baca barcode adalah image barcode yang discan. Outputnya adalah hasil suara pilihan voter. Bila data inputan belum discan maka akan muncul konfirmasi seperti Gambar 10 Skenario Ujicoba Save Image Barcode.
7
Gambar 13 Webpage Login voter
Gambar 16 Skenario ujicoba pemilihan candidate berhasil
Aplikasi akan menjalankan proses login ketika voter menekan button submit. Bila hasil dari proses login voter dinyatakan berhasil maka voter diijinkan untuk melanjutkan ke proses berikutnya. Tapi bila hasil dari proses login gagal maka voter tidak dapat melanjutkan ke proses berikutnya. Seperti pada Gambar 14, ini aplikasi yang muncul jika proses login voter dinyatakan berhasil.
Proses pemilihan kandidat dinyatakan berhasil bila hasil proses dekripsi sama dengan nilai awal sebelum dienkripsi (plaintext) dan jumlah data sebelum dienkripsi sama dengan jumlah data sesudah didekripsi. Ketepatan dalam proses deskripsi sangat diperlukan agar tidak terjadi kesalahan dalam proses perhitungan suara. Berikut Gambar 17 Skenario Ujicoba Proses Dekripsi Algoritma Paillier dan Perbandingan Jumlah Data Sebelum dan Sesudah Enkripsi.
Gambar 14 Skenario ujicoba login voter berhasil Ujicoba-Pilih Candidate Voter yang telah berhasil login akan memasuki webpage pemilihan candidate seperti Gambar 15 dibawah ini
5.2.2
Gambar 17 Skenario Ujicoba Proses Dekripsi Algoritma Paillier dan Perbandingan Jumlah Data Sebelum dan Sesudah Dienkripsi Dari hasil ujicoba dapat ditarik kesimpulan bahwa fungsionalitas pilih kandidat : Correctness, karena adanya proses autentikasi dari setiap voter yang akan menggunakan hak pilih suara nya. Bila voter tersebut telah melakukan pemilihan kandidat dengan data login yang sama pada proses sebelumnya maka voter tersebut tidak dapat melakukan pemilihan lagi.
Gambar 15 Webpage pemilihan candidate Voter dapat memilih kandidat dengan menklik salah satu radiobutton yang mewakili satu value dari kandidat sesuai dengan keinginannya. Setelah itu klik button ‘Submit’ untuk mengeksekusi pilihannya tadi. Bila proses eksekusi pilihan voter berhasil maka akan muncul halaman web seperti Gambar 16 dibawah ini
Usable, karena sifatnya yang user interaktif. Diberi konfirmasi kesalahan dimana letak kesalahan data inputan. Reliable, karena sifatnya yang dapat dipercaya. Sistem ini menggunakan proses enkripsi untuk menjaga privacy data hasil pilih kandidat sehingga tidak sembarang orang dapat mengubah dan melihat datanya. Jika ada tindakan jahat dari
8
pihak-pihak dengan secara sengaja mengubah data maka hasil pilih kandidat tersebut menjadi data gagal.
7. SARAN Dalam pembuatan Tugas Akhir ini, terdapat beberapa kemungkinan pengembangan aplikasi yang dilakukan, yaitu: • Mengganti sistem keamanan database dengan menggunakan teknologi biometri, yaitu menggunakan pola sidik jari sebagai pengganti password dalam mengakses database. • Menambahkan firewall untuk keamanan bulletin board. • Sering melakukan recovery data (upaya untuk mengembalikan basis data ke keadaaan yang dianggap benar setelah terjadinya suatu kegagalan) • Type barcode yang digenerate dapat dipilih sesuai dengan type reader yang dipunya. • Jumlah kandidat yang dinputkan dapat berubah-rubah sesuai dengan keinginan. admin.
High privacy, data hanya dapat dibaca bila telah melalui proses deskripsi. Semua uji coba fungsionalitas menghasilkan hasil yang positif. Semua fungsi yang dibutuhkan dapat berjalan sesuai skenario yang telah dicanangkan. Hanya saja, pada saat pengujian, penulis menemui permasalahan “problem with content” terkait dengan nilai random yang diciptakan pada proses enkripsi. Karena ada kemungkinan nilai random sama maka akan berpengaruh pada proses perhitungan. 6. KESIMPULAN Dari hasil pengamatan selama perancangan, implementasi, dan proses uji coba perangkat lunak yang dilakukan, penulis mengambil kesimpulan sebagai berikut:
8. DAFTAR PUSTAKA
a. Scratch dan Vote, sebuah kriptografi yang simple dan cocok untuk diterapkan pada evoting sistem b. E-voting sistem yang dibangun mampu memenuhi fungsionalitas yang dibutuhkan yaitu sistem perangkat lunak pemilihan suara yang correctness, usable, reliable dan transparent elections. Correctness, karena ketepatan dalam mendekripsi kembali sebuah message yang telah terenkripsi. Usable, karena sifatnya yang mudah digunakan dan user interaktif. Dengan maksud bila terjadi kesalahan akan mendapat konfirmasi langsung dari sistem. Reliable, karena sifatnya yang dapat dipercaya. Sistem ini menggunakan proses enkripsi untuk menjaga privacy data sehingga tidak sembarang orang dapat mengubah dan melihat datanya. Transparant election, karena semua hasil pilihan voter akan ditampilkan di sebuah bulletin board. Auditable, karena hasil suara voter dapat diperiksa dan dicocokkan.
[ 1 ] Chris Dellin dan Madge Donson. Secure And Verifiable Voting System. [ 2 ] Ben Adida dan Ronald L.Rivest. 2006. Scratch & Vote. [ 3 ] Mengenal dan Mempelajari Barcode
. [ 4 ] Pengenalan Bahasa Java. [ 5 ] The history of electronic voting. 2006. < URL : http://www.eucybervote.org/Reports/K UL-WP2-4V1-v1.001.htm#P323_14632, Visited February 20.2006. [6] Pradhana, Harindra Wisnu. 2006. Enkripsi Data.
Hasil pengujian performansi memperlihatkan hasil yang variatif. Tingkat kebaikan performansi dari aplikasi e-voting lebih cenderung ditentukan oleh perangkat yang digunakan.
[7] Azhari, Rakhmat. 2005. E-voting. < URL : http://www.cert.or.id/~bud i/ courses /ec7010/dikmenjur-
9
2004/kundiana-report.doc> [8] Gunawan, Andoko. 2006. Sistem Kriptografi Paillier.< URL : http://www.informatika.org/~rinaldi/Kr iptografi /20062007/Makalah2/Makalah-020.pdf [9] Team laboratorium . 2005. Modul Praktikum Pemrograman Internet (JSP)
9. DAFTAR RIWAYAT HIDUP Penulis, Helena Apriza, lahir di Tais, Bengkulu Selatan, pada tanggal 14 April 1985. Penulis adalah putra ketiga dari empat bersaudara dari pasangan Hadrin, S.Sos dan Zamzimi. Penulis menyelesaikan pendidikan Sekolah Dasar sampai dengan Sekolah Menengah Atas di Manna, Bengkulu Selatan. Selanjutnya, pertengahan tahun 2003 penulis memulai pendidikan D-3 Teknik Informatika di Universitas Padjajaran dan melanjutkan S-1 Lintas Jalur semester genap tahun 2006 di Institut Teknologi Sepuluh Nopember Surabaya. Email : [email protected] Phone : +62 813 21561969
10