BAB V
PROTOTYPE DAN PENGUJIAN
Bab ini membahas mengenai implementasi pembuatan prototype sistem e-voting berbasis web. Pembuatan prototype berisi dua macam hal yaitu perancangan kelas dan perancangan interaksi sistem. Pembuatan prototype digunakan untuk mempermudah dalam pemahaman model yang telah dijelaskan pada bab IV. Selain itu, bab ini juga berisi pengujian terhadap prototype maupun model sistem yang telah dihasilkan pada bab IV. Pengujian prototype digunakan untuk membuktikan bahwa prototype yang dikembangkan telah sesuai dengan hasil analisis kebutuhan fungsional yang dinyatakan dalam bentuk diagram use case pada bab III. Sedangkan pengujian model digunakan untuk membuktikan bahwa model yang telah diutarakan pada bab IV sudah memenuhi kebutuhan fungsional maupun non fungsional hasil analisis pada bab III.
V.1 Prototype Prototype Web-Vote terdiri dari empat buah modul. Berikut ini adalah modul-modul yang ada pada prototype dan penjelasan dari setiap modul tersebut. 1. Modul legislative Modul legislative digunakan untuk melakukan pemungutan suara pada pemilihan umum legislatif. Pemilihan umum legislatif meliputi pemilihan anggota DPR, anggota DPRD tingkat 1, anggota DPRD tingkat 2, dan anggota DPD. Modul ini hanya dapat diakses pada saat pemilihan umum legislatif di TPS-TPS. 2. Modul president Modul president digunakan untuk melakukan pemungutan suara pada pemilihan umum presiden dan wakil presiden. Modul ini hanya dapat diakses pada saat pemilihan umum presiden di TPS-TPS. 3. Modul result Modul result digunakan untuk melihat hasil perhitungan suara setelah proses pemungutan suara selesai dilakukan. Modul ini dapat diakses secara bebas oleh masyarakat melalui jaringan internet.
V-1
4. Modul admin Modul admin adalah modul tambahan yang digunakan oleh panitia di TPS-TPS untuk mencatat para pemilih yang melakukan pemungutan suara secara konvensional menggunakan kertas suara. Pencatatan tersebut dimaksudkan untuk menghindari seseorang melakukan pemungutan suara lebih dari satu kali. Sedangkan bagi pemilih yang memilih dengan menggunakan e-voting datanya langsung tercatat dalam sistem. Modul ini hanya boleh diakses oleh panitia pemilihan umum (anggota KPU di TPS) dan selalu dalam pengawasan anggota pengawas pemilihan umum (Banwaslu) untuk menghindari praktek kecurangan.
V.1.1 Perancangan Kelas Sub bab ini berisi rancangan kelas pada prototype sistemWeb-Vote. Rancangan kelas yang ada pada gambar V-1 merupakan tinjauan logik (logical view). Tinjauan logik bersifat statik, menggambarkan kelas-kelas konseptual yang membangun sistem dan keterhubungan antara kelas-kelas konseptual. Kelas konseptual tersebut dibagi menjadi tiga tipe kelas, yaitu kelas entity, kelas control, dan kelas boundary. Kelas entity adalah kelas yang hanya mengetahui hal-hal terkait kelas itu sendiri. Kelas control merupakan kelas yang bertugas melakukan manipulasi terhadap kelas lain. Sedangkan kelas boundary adalah kelas yang menghubungkan dengan sistem lain dan termasuk juga menghubungkan dengan tampilan pada layar. Gambar V-1 berisi paket-paket (packages) yang ada pada sistem Web-Vote.
Gambar V-1 Package Sistem Web-Vote
V-2
Berikut ini adalah penjelasan dari setiap package yang ada pada sistem Web-Vote. 1. admin - Package ini berisi kelas-kelas yang menangani modul admin. 2. includes - Package ini digunakan untuk menangani kelas-kelas entity. Kelas-kelas tersebut bertugas untuk melakukan akses ke basis data dan memanipulasi data pada basis data 3. president - Package ini digunakan untuk menangani modul president. 4. legislative - Package ini digunakan untuk menangani modul legislative. 5. result - Package ini digunakan untuk menangani modul result. Detail diagram kelas dari setiap package dapat dilihat pada Lampiran B tentang diagram kelas admin, lampiran C tentang diagram kelas includes, lampiran D tentang diagram kelas president, lampiran E tentang diagram kelas legislative, dan lampiran F tentang diagram kelas result.
V.1.2 Perancangan Basis Data Sub bab ini berisi rancangan basis data pada prototype sistem Web-Vote. Rancangan basis data mengacu pada hasil perancangan kelas yang telah didefinisikan sebelumnya. Perancangan basis data disesuaikan dengan kelas-kelas bertipe entity yang telah didefinisikan sebelumnya. Perancangan basis data sistem Web-Vote dapat dilihat pada Lampiran G.
V.1.3 Perancangan Interaksi Sistem Sub bab ini berisi rancangan interaksi pada prototype sistem Web-Vote. Rancangan interaksi tersebut terdiri dari dua macam bagian. Pertama adalah perancangan sitemap, perancangan sitemap digunakan untuk menunjukkan alur interaksi sistem Web-Vote. Perancangan sitemap sistem Web-Vote dapat dilihat pada Lampiran H. Kedua adalah perancangan antarmuka, perancangan antarmuka digunakan untuk menunjukkan antarmuka sistem ke pengguna. Lampiran I berisi beberapa contoh bentuk tampilan atau antarmuka sistem Web-Vote.
V-3
V.2 Pengujian V.2.1 Pengujian Prototype Pengujian prototype digunakan untuk membuktikan bahwa prototype yang dikembangkan telah sesuai dengan hasil analisis kebutuhan fungsional yang dinyatakan dalam bentuk diagram use case pada bab III. Pengujian prototype dilakukan secara black box testing, yaitu pengujian fungsional tanpa memperhatikan alur eksekusi program, hanya untuk membuktikan hasil eksekusi program sesuai dengan harapan. Pengujian tersebut dilakukan dengan cara membuat test case (kasus uji) sesuai dengan diagram use case. Hasil pengujian prototype dapat dilihat pada Lampiran J.
V.2.2 Pengujian Model Pengujian model digunakan untuk membuktikan bahwa model yang telah diutarakan pada bab IV sudah memenuhi kebutuhan fungsional maupun non fungsional hasil analisis pada bab III. Berikut ini adalah validasi model terhadap kebutuhan fungsional yang telah didefinisikan pada bab III. 1. FR-01. Sistem harus mampu memfasilitasi proses pemilihan umum di Indonesia yang terbagi menjadi dua tahap, yaitu pemilihan legislatif (anggota DPR atau DPRD1 atau DPRD 2 dan anggota DPD) dan pemilihan kepala negara atau kepala daerah. Pembuktian: Pembuatan modul legislative dan modul president secara terpisah telah mengakomodasi kebutuhan tersebut. Modul legislative dan modul president hanya dapat diakses sesuai dengan waktu pemungutan suara masing-masing. Jadi pada saat pemungutan suara legislative, modul president belum dapat diakses. Begitu juga sebaliknya, modul legislative sudah tidak dapat diakses kembali pada saat periode pemungutan suara presiden. 2. FR-02. Sistem harus mampu melakukan verifikasi data pemilih (voter) pemilihan umum dan mencatat status pemilih apakah telah melakukan proses pemungutan suara atau belum. Sistem harus dapat membuktikan apakah seseorang telah melakukan proses pemilihan atau belum. Kebutuhan ini harus sesuai dengan persyaratan verifiable participation. Pembuktian:
V-4
Pada model ini, verifikasi hanya dilakukan dengan calon pemilih memasukkan data nomor identitas diri (nomor KTP atau Kartu Tanda Penduduk) dan password. Data password tersebut diperoleh pada saat pendataan calon pemilih untuk melakukan pembuatan DPT (Daftar Pemilih Tetap). DPT adalah daftar pemilih tetap yang berhak melakukan pemilihan umum. Model ini tidak menangani tahapan tersebut. Jadi dengan mengasumsikan bahwa kerahasiaan data password yang diperoleh tersebut terjaga dengan baik, maka hanya calon pemilih yang berhak saja yang dapat mengakses sistem ini. 3. FR-03. Pemilih dapat memasukkan pilihannya ke dalam sistem. Kebutuhan ini harus memenuhi persyaratan democracy yaitu seorang pemilih hanya berhak memasukkan suara sebanyak satu kali. Pembuktian: Setelah pemilih melakukan pemungutan suara, dia memperoleh kode acak sebagai tanda terima bahwa pemilih telah melakukan pemungutan suara. Kode tanda terima tersebut bersifat unik untuk setiap pilihan. Setelah pemilih tersebut selesai melakukan pemungutan suara, dia dapat melakukan pengecekan apakah suara yang telah dia masukkan tersebut benar-benar tercatat di sistem dan tidak ada manipulasi dengan cara memasukkan kode tanda terima yang telah dia peroleh. Setiap pemilih yang telah melakukan pemungutan suara datanya telah dicatat sehingga apabila pemilih tersebut mengakses kembali sistem e-voting, dia sudah tidak boleh memasukkan data kembali. Bagi pemilih yang melakukan pemungutan suara dengan cara konvensional, setiap akan keluar dari lokasi TPS datanya langsung dicatat. Jadi setelah pemilih tersebut keluar dari lokasi TPS maka pemilih tersebut tidak akan diperbolehkan masuk kembali karena pada pintu masuk TPS dilakukan pemeriksaan, jika seseorang telah melakukan pemungutan suara maka dia tidak berhak masuk ke lokasi TPS kembali. 4. FR-04. Sistem harus dapat menjumlahkan hasil pemilihan. Pembuktian: Setiap suara yang masuk akan dicatat dalam sistem. Suara tersebut kemudian akan dihitung dan ditampilkan hasil rekapitulasinya. Jadi untuk membuktikan apakah sistem berhasil dalam menjumlahkan hasil pemilihan maka dapat dilihat pada pembuktian terkait rekapitulasi data hasil pemilihan.
V-5
5. FR-05. Sistem harus dapat menampilkan data hasil pemilihan secara detail, tetapi kerahasisaan pemilih tetap terjaga. Kebutuhan ini harus sesuai dengan persyaratan privacy yaitu hasil pemungutan suara harus tidak dapat dihubungkan dengan siapa yang melakukan pemilihan. Selain itu seorang pemilih tidak dapat membuktikan hasil pilihannya. Kebutuhan ini harus sesuai dengan persyaratan receipt freeness. Pembuktian: Setelah pemilih melakukan pemilihan dan memperoleh nomor tanda terima, nomor tanda terima tersebut pada basis data tidak mempunyai keterkaitan apapun dengan identitas pemilih. Jadi setiap orang tidak dapat membuktikan hasil pemilihan seseorang. 6. FR-06. Sistem harus dapat menampilkan rekapitulasi data hasil pemilihan. Data hasil perhitungan suara harus harus dapat diverifikasi dan dibuktikan bahwa tidak ada manipulasi terhadap hasil perhitungan suara. Kebutuhan ini sesuai dengan persyaratan verifiability. Selain itu kebutuhan ini harus sesuai dengan persyaratan fairness. Setiap orang tidak boleh mengetahui hasil perhitungan suara sebelum proses pemungutan suara selesai dilakukan. Pembuktian: Rekapitulasi data dapat dibuktikan dengan melihat hasil detail dari data pemilihan serta dengan membandingkan hasil pemilihan dengan jumlah pemilih yang telah melakukan proses pemilihan. Jika detail data yang dimunculkan itu valid, dan jumlah pemilih sesuai dengan data yang masuk maka data hasil rekapitulasi dapat dianggap valid. Sistem yang menampilkan rekapitulasi data hanya boleh diakses jika proses pemungutan suara telah selesai. Pada prototype yang dihasilkan, proses penampilan rekapitulasi data ditangani oleh modul yang berbeda, sehingga penyelenggara dapat mengatur waktu kapan modul tersebut dapat diakses. 7. FR-07. Penyelenggara dan pengawas dapat melakukan validasi hasil perhitungan suara. Validasi tersebut digunakan untuk membuktikan bahwa hasil perhitungan suara dilakukan dengan tepat atau akurat. Kebutuhan ini harus memenuhi dengan persyaratan e-voting yaitu accuracy. Pembuktian: Penyelenggara dan pengawas dapat memverifikasi data hasil pemungutan suara dengan cara melakukan pengecekan terhadap detail suara yang masuk serta dengan
V-6
membandingkan kesesuaian jumlah data yang masuk dengan jumlah pemilih yang telah melakukan proses pemilihan. Berikut ini adalah validasi model terhadap kebutuhan non fungsional yang telah didefinisikan pada bab III. 1. Usability a. NR-01. Sistem e-voting mempunyai tampilan (antarmuka) dan mekanisme pemungutan suara yang mudah untuk dipahami. Pembuktian: Tampilan antarmuka pada prototype yang telah dibuat, disesuaikan dengan tampilan pemungutan suara menggunakan kertas suara. Contoh desain antarmuka sistem Web-Vote dapat dilihat pada Lampiran I. b. NR-02. Memfasilitasi pemilih yang sebenarnya mempunyai hak pilih namun mempunyai keterbatasan secara fisik. Pembuktian: Metode pemilihan umum ini masih mengadopsi aturan-aturan yang berlaku saat jika, jika pemilih mempunyai keterbatasan fisik maka pemilih tersebut berhak didampingi oleh orang yang dia percayai untuk melakukan proses pemungutan suara. 2. Reliability a. NR-03. Sistem harus dapat berjalan terus tanpa kegagalan akses selama proses pemungutan suara sampai dengan perhitungan hasil. Pembuktian: Jika sistem ini digunakan, sistem ini harus menggunakan perangkat keras, perangkat lunak, dan jaringan yang tingkat kegagalannya mendekati nol. Selain itu, sistem tersebut juga harus mempunyai sistem cadangan sehingga jika sistem pertama tidak bisa digunakan, maka sistem cadangan tersebut langsung menggantikannya. b. NR-04. Aspek keamanan (security) harus terjamin. Keamanan sistem ini harus mampu menjamin integritas (integrity) dan kerahasiaan (privacy) data. Selain keamanan data, keamanan server, client, dan jaringan secara fisik juga harus benar-benar terjaga.
V-7
Pembuktian: Integritas dan kerahasiaan data dijaga dengan cara membatasi hak akses terhadap sistem baik secara fisik maupun non fisik dengan mekanisme pengaturan mengenai hukum dan prosedur kerja sistem yang telah didefinisikan pada bab IV. Sedangkan dari sudut pandang teknologi, integritas dan kerahasiaan dijamin dengan pemanfaatan server, clienti, dan jaringan komunikasi yang aman. 3. Portability a. NR-05. Sistem dapat diakses dari berbagai lokasi. Pembuktian: Sistem Web-Vote dapat diakses dari beberapa macam web browser yang tersedia di pasaran, misalnya yang telah digunakan pada pengujian adalah Internet Explorer 7 dan Mozilla Firefox 3. Kedua web browser tersebut merupakan web browser yang paling umum digunakan di seluruh dunia dan dapat dijalankan pada komputer dengan spesifikasi standar. Jadi selama komputer client dapat mengakses jaringan internet dan berhak mengakses server Web-Vote maka sistem tersebut masih dapat diakses. Tetapi pada desain Web-Vote ini, sistem ini hanya dapat diakses di KPU-KPU untuk proses pemilihan umumnya. Sedangkan pada saat melihat hasil perhitungan suara, sistem ini dapat diakses dari semua lokasi. b. NR-06. Perangkat client yang digunakan mengakses sistem dapat bermacam-macam jenis baik dari segi perangkat lunak maupun perangkat keras yang digunakan. Pembuktian: Sistem Web-Vote dapat diakses dari bermacam-macam web browser, misalnya Internet Explorer 7 dan Mozilla Firefox 3 yang digunakan pada saat pengujian. Secara umum web browser dapat dijalankan di berbagai spesifikasi perangkat keras komputer standar dan juga di bermacam-macam sistem operasi misalnya Windows XP, Windows Vista, MacOS, Linux Ubuntu, dan lain-lain.
V-8
4. Supportability a. NR-07. Sistem e-voting harus mempunyai dokumentasi teknis. Pembuktian: Pada pembuatan model e-voting ini, dokumen teknis masih belum dibuat karena sistem yang dikembangkan masih bersifat prototype. b. NR-08. Sistem e-voting harus mempunyai dokumen manual penggunaan. Pembuktian: Pada pembuatan model e-voting ini, dokumen manual penggunaan sistem masih belum dibuat. c. NR-09. Ada dukungan teknis jika diperlukan. Pembuktian: Dukungan
teknis
harus
diberikan
jika
model
ini
benar-benar
diimplementasikan. Tetapi karena hasil akhir dari tesis ini hanya sebuah model maka hal-hal terkait dukungan teknis masih belum bisa dibuktikan.
V-9