• Tidak ada hasil yang ditemukan

PERANCANGAN APLIKASI 1 Perancangan Aplikasi secara umum

Simulasi E-Voting Sistem Dengan Menggunakan Metode Scratch and Vote (S&V)

4. PERANCANGAN APLIKASI 1 Perancangan Aplikasi secara umum

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 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.

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.

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.

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

Secara garis besar, aliran kerja bisnis dari aplikasi ini dijelaskan dalam Gambar 2

Gambaran Umum Sistem.

Gambar 2 Gambaran Umum Sistem

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.

Manage Data Candidate

(from Use Cases)

Registrasi Data Voter

(from Use Cases)

Manage Data Admin

(from Use Cases)

Cetak Barcode

(from Use Cases)

Admin

(f rom Actors)

Baca Barcode

(from Use Cases)

login

(from Use Cases)

<<extend>> <<extend>> <<extend>> <<extend>>

<<extend>>

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.

5

5. baca barcode, berfungsi untuk membaca image barcode guna mencocokan hasil voted

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.

Print Ballot

(from <Use Case Name>)

Pilih Candidate

(from <Use Case Name>)

Voter

(f rom Actors)

login

(from <Use Case Name>)

<<extend>>

<<extend>>

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.

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

Gambar 5 Use Case Aplikasi Buletin Board 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

6

Gambar 5 Interface Flow Diagram Aplikasi Admin

5.1.1 Ujicoba Registrasi Data Voter

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 6 Skenario Ujicoba Input Id Ballot yang Sama

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

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.

5.1.3 Proses Enkripsi

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

Gambar 8 Skenario Ujicoba Proses Enkripsi Dari proses enkripsi pada form diatas maka dapat dilihat contoh hasil enkripsi dan deskripsi dari algoritma Paillier dengan nilai

plaintext yang random pada Gambar

7

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.

™ 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.

5.1.4 Ujicoba Cetak Barcode

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.

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.

Gambar 11 Skenario Ujicoba Baca Barcode Dari hasil uji coba dapat ditarik kesimpulan bahwa fungsionalitas baca barcode :

™ Usable, karena sifatnya yang user interaktif. Setiap ada aksi dalam menginputkan data diberi konfirmasi untuk meyakinkan tindakan yang akan dilakukan sela

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 :

Gambar 12 Aliran proses aplikasi ballot

5.2.1 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.

8

Gambar 13 Webpage Login voter 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.

Gambar 14 Skenario ujicoba login voter berhasil

5.2.2 Ujicoba-Pilih Candidate

Voter yang telah berhasil login akan memasuki

webpage pemilihan candidate seperti Gambar 15 dibawah ini

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

Gambar 16 Skenario ujicoba pemilihan candidate 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 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.

™ 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

9

pihak-pihak dengan secara sengaja mengubah data maka hasil pilih kandidat tersebut menjadi data gagal.

™ 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:

a. Scratch dan Vote, sebuah kriptografi yang simple dan cocok untuk diterapkan pada e-voting 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. Hasil pengujian performansi memperlihatkan hasil yang variatif. Tingkat kebaikan performansi dari aplikasi e-voting lebih cenderung ditentukan oleh perangkat yang digunakan.

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.

Dokumen terkait