• Tidak ada hasil yang ditemukan

ANALISIS DAN PENGEMBANGAN SISTEM TABULASI CTF BERBASIS PROTOKOL TWO CENTRAL FACILITIES BOYKE FADHLIY

N/A
N/A
Protected

Academic year: 2021

Membagikan "ANALISIS DAN PENGEMBANGAN SISTEM TABULASI CTF BERBASIS PROTOKOL TWO CENTRAL FACILITIES BOYKE FADHLIY"

Copied!
23
0
0

Teks penuh

(1)

ANALISIS DAN PENGEMBANGAN SISTEM TABULASI CTF

BERBASIS PROTOKOL TWO CENTRAL FACILITIES

BOYKE FADHLIY

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

(2)

ii

ANALISIS DAN PENGEMBANGAN SISTEM TABULASI CTF

BERBASIS PROTOKOL TWO CENTRAL FACILITIES

BOYKE FADHLIY

Skripsi

Sebagai salah satu syarat untuk memperoleh gelar

Sarjana Komputer pada

Departemen Ilmu Komputer

Fakultas Matematika dan Ilmu Pengetahuan Alam

Institut Pertanian Bogor

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

(3)

ABSTRACT

BOYKE FADHLIY. Analysis and Development of Tabulation System Two Based on Central Facilities Protocol. Under the supervision of SUGI GURITMAN

An Elections is a form of democracy by which a society appreciate freedom to vote. In many countries such as Indonesia elections are still held conventionally. The Elections that Indonesia has just held to choose a leaders of state and nation are still requiring a very large cost and other strategic resources such as human resources, place, and time. One solution that can reduce this problem is by holding online voting. However, as the conventional election, this online voting system cannot be completely free from all forms of cheating threats that may occur. Therefore, the system which will be built should fulfill secure voting requirements in order to ensure every threats can be prevented. One protocol that can fulfill most secure voting requirements and have very good security level is the Two Central Facilities Protocol. This protocol has two facilities, one of it is the Central Tabulating Facilities (CTF). CTF is the central tabulation of electoral votes which play a very important role in elections. CTF is also responsible for publishing the election results to the audience. A Good and interesting publication by CTF may also attract attention and help the audiences to understand the published message easier.

Keywords: online voting, cryptographic, cryptographic protocol, Central Tabulating Facilities, Central Legitimization Agency, Two Central Facilities protocol.

(4)

Judul : Analisis dan Pengembangan Sistem Tabulasi CTF Pada Protokol Two Central Facilites Nama : Boyke Fadhliy

NRP : G64050946 Menyetujui: Pembimbing Dr. Sugi Guritman NIP 196209271992031004 Mengetahui:

Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Pertanian Bogor

Dr. drh. Hasim, DEA NIP 196103281986011002

(5)

RIWAYAT HIDUP

Penulis lahir di Lhokseumawe, Nanggroe Aceh Darussalam pada tanggal 27 Juli 1987 dari pasangan ayahanda Asra Dinata Syukur dan ibunda Amna Djasinar, SH. Penulis merupakan anak pertama dari tiga besaudara (Dek Jasmine dan Dek Ajeng).

Pada tahun 2005 penulis menyelesaikan pendidikan menengah atas di SMA Swasta Yapena Lhokseumawe dan pada tahun yang sama penulis lulus seleksi masuk IPB melalui jalur Undangan Masuk Seleksi IPB (USMI). Penulis diterima sebagai mahasiswa di Departemen Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam pada tahun berikutnya.

Selama mengikuti perkulian, penulis aktif di berbagai organisasi ekstra kampus di antaranya kepengurusan Himpunan Mahasiswa Ilmu Komputer Staf Divisi Programming (2006-2007) dan Unit Kegiatan Mahasiswa Catur (2006). Penulis juga aktif menjadi asisten praktikum Algoritme dan Pemrograman (2008) dan Pemrosesan Paralel (2009) Departemen Ilmu Komputer IPB. Penulis melakukan praktik kerja lapangan di Pusat Statistik Data dan Informasi Departemen Kelautan dan Perikanan. Penulis terpilih menjadi salah satu wakil IPB pada PIMNAS XXI untuk lomba Applied

Programming. Penulis juga terpilih menjadi salah satu wakil pada Kejurnas Catur Mahasiswa

(6)

PRAKATA

Alhamdulillahirobbil’alamin, segala puji syukur penulis panjatkan ke hadirat Allah SWT atas limpahan ramat, karunia, dan hidayah-Nya sehingga penulis memperoleh kekuatan untuk menyelesaikan tugas akhir ini. Shalawat serta salam penulis haturkan kepada Nabi Besar Muhammad saw, kepada keluarga, dan sahabat-sahabatnya, semoga penulis tergolong dalam kaumnya yang akan mendapatkan syafaatnya di hari akhirat kelak. Penulis sadar bahwa tugas akhir ini tidak akan pernah terwujud bila tidak ada bantuan dari berbagai pihak. Oleh karena itu, pada kesempatan ini penulis ingin menucapkan terima kasih dan penghargaan yang setinggi-tingginya kepada:

1 Kedua orang tua tercinta: ayahanda Asra Dinata dan ibunda Amna Djasinar, SH atas limpahan doa, kasih sayang, semangat, dan pengorbanannya selama hidup penulis.

2 Saudara tersayang Dek Jasmine dan Dek Ajeng atas doa dan dukungannya. 3 Yth. Bapak Dr. Sugi Guritman selaku dosen pembimbing tugas akhir.

4 Yth. Ibu Dr. Sri Nurdiati, MSc, Bapak Ir. Julio Adisantoso, M.Kom, Ibu Yeni Herdiyeni, S.Si, M.Kom, Sony H. Wijaya, S.Kom, M.Kom, Bapak Hari Agung, S.Kom, M.Kom, Bapak Toto Haryanto, S.Kom, Mas Irvan, Pak Soleh, Pak Pendi,serta bapak dan ibu dosen lainnya atas nasehat, dukungan, dan keramahan yang senantiasa mengisi hari-hari penulis di Departemen Ilmu Komputer FMIPA.

5 Orang tua kedua: Oom Mursyid Lubis dan Tante Ade Mina Karmina serta putra-putranya Fariz dan Rifki atas dukungan, perhatian, dan kasih sayang yang diberikan kepada penulis.

6 Pratiwi Retno atas doa, dukungan, dan keceriaan yang senantiasa mengisi hari-hari penulis. 7 Fajri, Medri, dan Dina teman satu bimbingan atas dukungan, masukan, dan sarannya.

8 Teman-teman di Pondok Aa yang selalu senantiasa mengajak penulis menuju jalan yang lurus. 9 Auriza, Tanto, dan teman-teman Ilmu Komputer angkatan 42 lainnya, serta seluruh pihak yang

turut membantu baik secara langsung maupun tidak langsung.

Penulis sangat menyadari bahwa dalam penulisan tugas akhir ini masih terdapat banyak 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 tugas akhir ini. Penulis berharap semoga tulisan ini dapat bermanfaat bagi siapapun yang membaca.

Bogor, Agustus 2009

(7)

DAFTAR ISI Halaman DAFTAR GAMBAR ... v DAFTAR LAMPIRAN ... v PENDAHULUAN ... 1 Latar Belakang ... 1 Tujuan ... 1 Ruang Lingkup ... 1 TINJAUAN PUSTAKA ... 1 Kriptografi (Cryptography)... 1 Algoritme Kriptografi ... 2 Protokol Kriptografi ... 2

Kunci Simetri (Session Key) ... 3

Kunci Publik (Public Key) ... 3

Certificate Authority (CA) ... 3

Algoritme RSA ... 3

Blowfish ... 3

Secure Hash Algorithm (SHA) ... 3

Secure Voting Requirements ... 4

Central Legitimization Agency (CLA) ... 4

Central Tabulating Facilities (CTF) ... 4

Protokol Two Central Facilities ... 4

Java Web Start ... 5

Object Relational Map (ORM) ... 5

Metode Pengujian Blackbox... 5

METODE PENELITIAN ... 5 Ancaman (Threat) ... 6 Kebijakan (Policy) ... 6 Spesifikasi (Specification) ... 6 Perancangan (Design) ... 6 Implementasi (Implementation) ... 6 Pengujian... 7

HASIL DAN PEMBAHASAN ... 7

Ancaman (Threat) ... 7

Kebijakan (Policy) ... 7

Spesifikasi (Specification) ... 7

Perancangan (Design) ... 8

Perancangan pemilihan online dengan Java Web Start ... 8

Perancangan basis data CTF dan sistem visualisasi hasil perolehan suara ... 8

Implementasi (Implementation) ... 9

Implementeasi pemilihan online dengan Java Web Start ... 9

Implementasi basis data CTF dan sistem visualisasi hasil perolehan suara ... 9

Pengujian... 9

KESIMPULAN DAN SARAN ... 9

Kesimpulan ... 9

Saran ... 10

DAFTAR PUSTAKA ... 10

(8)

v DAFTAR GAMBAR

Halaman

1 Skema umum enkripsi dan dekripsi. ... 2

2 Skema enkripsi dan dekripsi dengan kunci ... 2

3 Skema pengujian blackbox... 5

4 Skema Security Life Cycle. ... 6

5 Arsitektur infrastrukur jaringan wireless pemilihan online. ... 8

6 ERD Sistem IPB Online Voting. ... 8

7 Visualisasi hasil pemilihan terkini pada sistem IPB Online Voting. ... 9

DAFTAR LAMPIRAN Halaman 1 Skema pemilihan dengan Two Central Facilities ... 12

2 Tabel basis data CTF ... 12

(9)

PENDAHULUAN Latar Belakang

Pemilihan umum (pemilu) merupakan suatu bentuk demokrasi yang mencerminkan masyarakat yang menghargai kebebasan untuk memilih. Pemilu yang baru saja kita laksanakan untuk memilih pemimpin bangsa dan negara kita, masih diadakan dengan cara konvensional. Hal ini selain memerlukan biaya yang sangat besar, juga memerlukan sumber daya strategis lainnya yang besar pula. Seperti halnya sumber daya manusia, tempat, waktu, dan lain sebagainya. Salah satu solusi agar dapat menekan sumber daya yang sangat besar tersebut yaitu dengan mengadakan pemilu secara online.

Pemilu secara online sudah dilakukan di sebagian negara maju di dunia. Dengan cara ini selain sumber daya yang dibutuhkan menjadi jauh lebih sedikit, waktu yang diperlukan pun tentu menjadi jauh lebih singkat untuk pengumpulan serta perhitungan hasil pemilihan suaranya. Seperti halnya pemilu konvensional, pemilu yang diadakan secara online pun tidak akan lepas dari berbagai ancaman kecurangan yang dapat terjadi. Oleh karena itu, sistem yang dibuat pun harus memenuhi secure voting

requirements yang dipaparkan oleh Schneier

(1996) agar dapat mengatasi dan menjamin bahwa setiap ancaman yang ada tidak dapat terjadi.

Salah satu protokol yang dapat memenuhi sebagian besar kriteria secure voting requirements dan memiliki tingkat keamanan

yang sangat baik adalah protokol Two Central

Facilities. Seiring dengan kemajuan teknologi

dan teknik kriptografi penyelenggaraan pemilu secara online di Indonesia, khususnya pada lingkup instansi pendidikan seperti kampus, sangat mungkin untuk diwujudkan.

Pada protokol Two Central Facilities ini terdapat dua badan yang salah satunya adalah CTF. CTF berfungsi sebagai pusat tabulasi perolehan suara pada pemilu yang merupakan salah satu aspek penting pada pemilu. CTF juga bertanggung jawab untuk mempublikasikan hasil pemilu pada khalayak. Publikasi yang baik dan menarik dapat menarik perhatian serta memudahkan khalayak untuk memahami pesan yang dipublikasikan. Hal inilah yang melatarbelakangi penelitian ini untuk membangun sebuah sistem publikasi hasil perolehan suara yang baik, menarik, dan aman dari segala bentuk ancaman yang dapat terjadi.

Tujuan

Tujuan umum dari penelitian ini adalah untuk mengembangkan sistem pemilihan online dengan menerapkan protokol Two Central

Facilities serta menyempurnakan beberapa

kekurangan pada protokol tersebut sesuai rekomendasi dari penelitian sebelumnya. Penelitian ini juga bertujuan untuk menganalisis kemungkinan penerapannya pada pemilu yang diadakan di ruang lingkup Institut Pertanian Bogor (IPB). Adapun tujuan utama dari penelitian ini adalah mengembangkan sistem publikasi hasil perolehan suara yang baik dan aman .

Ruang Lingkup

Ruang lingkup penelitian ini secara umum adalah mengembangkan sebuah sistem pemilihan online dengan menerapakan protokol

Two Central Facilities serta menyempurnakan

protokol tersebut. Ruang lingkup secara khusus yaitu difokuskan pada pengembangan basis data CTF yang aman serta membangun sistem untuk memublikasikan hasil perolehan suara.

TINJAUAN PUSTAKA Kriptografi (Cryptography)

Menurut Schneier (1996), kriptografi adalah seni dan ilmu untuk menjaga kerahasiaan pesan. Empat tujuan utama dari kriptografi, yaitu: 1 Kerahasiaan (confidentiality)

Kerahasiaan adalah layanan yang digunakan untuk menjaga informasi dari setiap pihak yang tidak berwenang untuk mengaksesnya. Dengan demikian informasi hanya akan dapat diakses oleh pihak-pihak yang berhak saja.

2 Keutuhan (integrity)

Integritas data merupakan layanan yang bertujuan untuk mencegah terjadinya pengubahan informasi oleh pihak-pihak yang tidak berwenang. Untuk meyakinkan integritas data ini harus dipastikan agar sistem informasi mampu mendeteksi terjadinya manipulasi data. Manipulasi data yang dimaksud di sini meliputi penyisipan, penghapusan, maupun penggantian data.

3 Otentikasi (authentication)

Otentikasi merupakan layanan yang terkait dengan identifikasi terhadap pihak-pihak yang ingin mengakses sistem informasi (entity

(10)

2 sistem informasi itu sendiri (data origin

authentication).

4 Nir-penyangkalan (non-repudiation) Nir-penyangkalan adalah usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman/terciptanya suatu informasi oleh yang mengirimkan/membuat.

Algoritme Kriptografi

Suatu pesan yang tidak disandikan disebut sebagai plaintext atau cleartext, sedangkan suatu pesan yang disandikan disebut chipertext. Proses yang dilakukan untuk mengubah

plaintext ke dalam ciphertext disebut encryption

atau enciphering, sedangkan proses untuk mengubah ciphertext kembali ke plaintext disebut decryption atau deciphering.

Algoritme kriptografi merupakan aturan untuk enchipering dan dechipering dan dapat ditulis dalam suatu bentuk fungsi matematika yang digunakan untuk enkripsi dan dekripsi. Dasar matematis yang mendasari proses enkripsi dan dekripsi adalah relasi antara dua himpunan, yaitu yang berisi elemen teks terang/plaintext dan yang berisi elemen teks sandi/ciphertext. Enkripsi dan dekripsi merupakan fungsi transformasi antara himpunan-himpunan tersebut. Apabila elemen plaintext dinotasikan dengan , elemen-elemen ciphertext dinotasikan dengan , enkripsi dinotasikan dengan , dan dekripsi dengan notasi , maka rumus matematis untuk

enchipering dan dechipering dapat ditulis

sebagai berikut: Enkripsi: Dekripsi: atau

.

Skema proses enkripsi dan dekripsi secara umum dapat dilihat pada Gambar 1.

Enkripsi Dekripsi

plaintext chipertext

plaintexts semula

Gambar 1 Skema umum enkripsi dan dekripsi. Kunci adalah parameter yang digunakan untuk transformasi enciphering dan

dechipering. Proses enkripsi dan dekripsi diatur

oleh satu atau beberapa kunci kriptografi. Secara umum, kunci-kunci yang digunakan untuk proses pengenkripsian dan pendekripsian tidak perlu identik, tergantung pada sistem yang

digunakan. Dengan menggunakan kunci , maka fungsi enkripsi dan dekripsi menjadi:

dan kedua fungsi tersebut memenuhi persamaan:

.

Skema proses enkripsi dan dekripsi dengan menggunakan kunci K dapat dilihat pada Gambar 2. Enkripsi Dekripsi plaintext chipertext plaintexts semula K K

Gambar 2 Skema enkripsi dan dekripsi dengan kunci

Dengan demikian keamanan suatu pesan tergantung pada kunci ataupun kunci-kunci yang digunakan, dan tidak tergantung pada algoritmenya. Oleh karena itu, algoritme yang digunakan tersebut dapat dipublikasikan dan dianalisis, serta produk yang menggunakan algoritme tersebut dapat diproduksi massal. Tidaklah menjadi masalah apabila seseorang mengetahui algoritme yang kita gunakan. Selama ia tidak mengetahui kunci yang dipakai, ia tetap tidak dapat membaca pesan.

Agar dapat digunakan untuk mengamankan pesan, algoritme kriptografi harus memiliki kekuatan untuk melakukan:

Konfusi/pembingungan (confusion)

plaintext, sehingga sulit untuk direkonstruksikan secara langsung tanpa menggunakan algoritme dekripsinya. Difusi/peleburan (difusion) plaintext.

Karakteristik dari plaintext tersebut hilang sehingga dapat digunakan untuk mengamankan informasi.

Pada implementasinya, sebuah algoritme kriptografi harus memperhatikan kualitas layanan dari keseluruhan sistem dimana algoritme kriptografi tersebut diimplementasi-kan. Algoritme kriptografi yang handal adalah algoritme yang kekuatannya terletak pada kunci, bukan pada kerahasiaan algoritme itu sendiri (Adriana 2007).

Protokol Kriptografi

Suatu protokol adalah serangkaian langkah yang melibatkan dua pihak atau lebih dan dirancang untuk menyelesaikan suatu tugas

(11)

3 (Schneier 1996). Protokol memiliki beberapa

karakteristik sebagai berikut:

protokol memiliki urutan dari awal hingga akhir

setiap langkah harus dilaksanakan secara bergiliran

suatu langkah tidak dapat dikerjakan bila langkah sebelumnya belum selesai

diperlukan dua pihak atau lebih untuk melaksanakan protokol

protokol harus mencapai suatu hasil

Selain itu, suatu protokol pun memiliki karakteristik yang lain, yaitu:

setiap orang yang terlibat dalam protokol harus mengetahui terlebih dahulu mengenai protokol dan seluruh langkah yang akan dilaksanakan

setiap orang yang terlibat dalam protokol harus menyetujui untuk mengikutinya protokol tidak boleh menimbulkan

kerancuan

protokol harus lengkap

Protokol kriptografi adalah suatu protokol yang menggunakan kriptografi. Protokol ini melibatkan sejumlah algoritme kriptografi, namun secara umum tujuan protokol lebih dari sekedar kerahasiaan. Pihak-pihak yang berpartisipasi mungkin saja ingin membagi sebagian rahasianya untuk menghitung sebuah nilai, menghasilkan urutan random, atau pun menandatangani kontrak secara bersamaan.

Penggunaan kriptografi dalam sebuah protokol terutama ditujukan untuk mencegah atau pun mendeteksi adanya eavesdropping dan

cheating.

Kunci Simetri (Session Key)

Kunci simetri (session key) adalah kunci yang dirancang sedemikian sehingga kunci yang digunakan untuk enkripsi sama dengan kunci yang digunakan pada proses dekripsi (Schneier 1996).

Kunci Publik (Public Key)

Kunci publik adalah kunci yang dirancang sedemikian sehingga kunci yang digunakan untuk enkripsi berbeda dengan kunci yang digunakan pada proses dekripsi (Schneier 1996).

Certificate Authority (CA)

Fungsi utama dari Certificate Authority (CA) adalah menghasilkan, memublikasikan, dan menghapus certificate public key dari user

identity, bisa personal maupun lembaga (Kurniawan 2008).

Algoritme RSA

Di bidang kriptografi, RSA adalah sebuah algoritme pada enkripsi public key. RSA merupakan algoritme pertama yang cocok untuk

digital signature seperti halnya enkripsi, dan

salah satu yang paling maju dalam bidang kriptografi public key. RSA masih digunakan secara luas dalam protokol electronic commerce, dan dipercaya dalam mengamankan

informasi dengan menggunakan kunci yang cukup panjang (Adriana 2007).

Blowfish

Menurut Schneier (1996) Blowfish merupakan 64-bit blok sandi rahasia dengan sebuah kunci panjang variabel. Blowfish terdiri atas dua bagian: ekspansi kunci dan enkripsi data. Ekspansi kunci mengubah kunci hingga 448 bit menjadi beberapa array subkunci (subkey) dengan total 4168 byte.

Blowfish dikembangkan untuk memenuhi kriteria perancangan sebagai berikut:

1 Cepat. Pada implementasi yang optimal Blowfish dapat mencapai kecepatan 26

clock cycle per byte.

2 Kompak. Blowfish dapat berjalan pada memori kurang dari 5 KB.

3 Sederhana. Blowfish hanya menggunakan operasi yang sederhana: penambahan (addition), XOR, dan penelusuran tabel (table lookup) pada operand 32 bit. Desainnya mudah untuk dianalisis yang membuatnya resisten terhadap kesalahan implementasi.

4 Keamanan yang variabel. Panjang kunci Blowfish dapat bervariasi dan dapat mencapai 448 bit (56 byte).

Secure Hash Algorithm (SHA)

SHA adalah salah satu algoritme fungsi

hash kriptografi. Fungsi hash adalah fungsi

yang secara efisien mengubah string input dengan panjang berhingga menjadi string output dengan panjang tetap yang disebut nilai hash.

Fungsi hash kriptografis adalah fungsi hash yang memiliki beberapa sifat keamanan tambahan sehingga dapat dipakai untuk tujuan

(12)

4 keamanan data. Umumnya digunakan untuk

keperluan otentikasi dan integritas data (Adriana 2007).

Secure Voting Requirements

Menurut Schneier (1996), pemilihan yang dilakukan secara komputerisasi dapat digunakan jika terdapat protokol yang menjamin:

1 Privasi individu

2 Pencegahan terhadap kecurangan

Suatu protokol yang ideal memiliki enam persyaratan sebagai berikut:

1 Hanya pemilih yang berhak yang dapat memberikan suara

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

5 Tidak boleh mengubah pilihan orang lain 6 Setiap pemilih dapat memastikan bahwa

suara mereka sudah dikirimkan dan terhitung dalam penghitungan akhir.

Central Legitimization Agency (CLA)

CLA merupakan sebuah badan yang bertugas untuk melakukan sertifikasi pemilih. Fungsi utama CLA adalah untuk melakukan otentikasi dan otorisasi pemilih. Setiap pemilih akan mengirim sebuah pesan aman kepada CLA untuk meminta sebuah validation ID. CLA akan membangkitkan validation ID, kemudian mendaftarkannya secara aman kepada Central

Tabulating Facilities, lalu mengembalikannya

secara aman kepada pemilih. Validation ID bernilai kompleks sehingga secara komputasi tidak dimungkinkan seorang penyerang untuk memproduksi sebuah ID yang valid. CLA memiliki daftar sejumlah validation ID yang

valid serta daftar identifikasi pemilih dari setiap validation ID untuk mencegah seseorang

memiliki lebih dari satu validation ID (DuFeu & Harris 2001).

Central Tabulating Facilities (CTF)

CTF merupakan suatu badan yang bertugas melakukan penghitungan suara. CTF menyediakan beberapa fungsionalitas sebagai berikut:

a Mengizinkan pengguna untuk meminta sertifikasi daftar kandidat.

b Menerima secure validation ID yang telah disertifikasi dan ditandatangani dari CLA. c Menerima permintaan secure vote dari

pemilih yang berwenang (dengan validation

ID).

d Secara aman mengembalikan nama kandidat terpilih sebagai verifikasi atas permintaan pemilih.

e Mengizinkan pemilih untuk meminta sertifikasi hasil pemilihan.

Dalam rangka otorisasi pemilih, CTF melakukan pengecekan validation ID dengan daftar yang diterima dari CLA. Jika validation

ID valid maka suara pemilih akan dimasukkan

ke dalam kotak suara (DuFeu & Harris 2001). Protokol Two Central Facilities

Pemilihan menggunakan protokol Two

Central Facilities dilakukan dengan membagi

CTF dan CLA menjadi dua badan yang terpisah.

Menurut Sireesha dan Chakchai (2005) pemilihan dengan protokol Two Central

Facilities adalah sebagai berikut:

1 Setiap pemilih mengirimkan pesan kepada CLA dan meminta nomor validasi.

2 CLA mengirim nomor validasi acak kepada pemilih dan menyimpan daftar setiap nomor validasi. CLA juga menyimpan sebuah daftar dari nomor validasi penerima, mengantisipasi seseorang memilih dua kali. 3 CLA mengirimkan daftar nomor validasi

kepada CTF.

4 Setiap pemilih memilih nomor identifikasi secara acak lalu membuat pesan dengan nomor tersebut, yaitu nomor validasi yang diperoleh dari CLA dan suaranya. Pesan ini kemudian dikirimkan kepada CTF.

5 CTF memeriksa dan membandingkan nomor validasi dengan daftar yang diterima dari CLA. Jika nomor validasi terdapat pada daftar maka nomor tersebut akan disilang untuk menghindari pemilih memilih dua kali. 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, CTF memublikasikan keluaran seperti daftar nomor identifikasi dan untuk siapa suara tersebut diberikan. Skema pemilihan dengan

(13)

5

Two Central Facilities dapat dilihat pada

Lampiran 1.

Pada sistem ini setiap pemilih dapat melihat daftar nomor identifikasi dan mencari nomor miliknya untuk membuktikan bahwa pilihannya 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.

CTF tidak dapat memodifikasi suara karena setiap pemilih akan melihat nomor identifikasi yang dimilikinya. Jika seorang pemilih tidak berhasil menemukan nomor identifikasinya atau ditemukan nomor identifikasi pada kandidat yang tidak dipilih, pemilih akan menyadari bahwa telah terjadi kecurangan. CTF tidak dapat memanipulasi kotak penghitungan suara karena kegiatan tersebut berada dalam pengawasan CLA. CLA mengetahui berapa banyak pemilih yang telah terdaftar serta nomor validasinya, dan akan mendeteksi jika terdapat modifikasi.

CLA dapat menyatakan pemilih yang tidak memiliki hak pilih. 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, 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.

Java Web Start

Java Web Start menyediakan kekuatan

dalam menampilkan fitur lengkap aplikasi Java dalam satu kali klik. Pengguna dapat mengunduh dan menampilkan aplikasi, seperti tampilan sistem yang lengkap atau komunikasi klien dalam internet tanpa prosedur instalasi yang rumit. Sekali pengguna mengakses Java

Web Start, aplikasi akan terintegrasi dengan desktop pengguna. Sebagai tambahan, Java Web Start juga dapat melayani pengguna dengan

mengatur versi Java Runtime Environment dan secara otomatis melakukan pembaharuan versi aplikasi (Sun Microsystem 2005).

Object Relational Map (ORM)

ORM merupakan enkapsulasi pemetaan antara domain objek dan data yang berhubungan dalam satu komponen. Sebuah objek atau peta hubungan memisahkan baik

kode aplikasi maupun daerah objek dari yang mendasari model data dan rincian akses data (Wesley 2003).

Metode Pengujian Blackbox

Pengujian blackbox berfokus pada persyaratan fungsional perangkat lunak yang memungkinkan perekayasa perangkat lunak (analis) mendapatkan serangkaian kondisi input yang sepenuhnya menggunakan semua persyaratan fungsional untuk suatu aplikasi. Pengujian blackbox merupakan pendekatan komplementer yang kemungkinan besar mampu menemukan kesalahan dalam kategori sebagai berikut:

fungsi-fungsi yang tidak benar atau hilang, kesalahan antarmuka,

kesalahan dalam struktur data atau akses basis data eksternal,

kesalahan kinerja, dan

inisialisasi dan kesalahan terminasi (Pressman 2001).

Ilustrasi dari metode pengujian blackbox diilustrasikan pada Gambar 3.

Input data Ic Keluaran hasil tes Sistem Oc Input yang menyebabkan hasil yang menyimpang Hasil keluaran

Gambar 3 Skema pengujian blackbox.

METODE PENELITIAN

Penelitian ini dikembangkan dengan metode

Security Life Cycle yang diperkenalkan oleh

Bishop (2003). Metode penelitian ini terdiri atas beberapa tahap, yaitu: (1) ancaman, (2) kebijakan, (3) spesifikasi, (4) perancangan, (5) implementasi, serta (6) operasi dan pemeliharaan seperti yang ditunjukkan pada Gambar 4. Pada penelitian ini tahap akhir atau tahap operasi dan pemeliharaan tidak dilakukan karena keterbatasan waktu penelitian.

(14)

6 Threats Policy Spesification Design Implementation Operation and Maintenance

Gambar 4 Skema Security Life Cycle. Ancaman (Threat)

Sebuah ancaman (threats) adalah kekerasan potensial dalam suatu sistem keamanan. Pada sistem ini, banyak serangan yang dapat mengancam pertukaran informasi yang dikirim dan atau diterima oleh pemilih dari dan server. Peran kriptografi dalam hal ini sangat dibutuhkan untuk melindungi sistem, termasuk pada saat hasil suara pemilih dikirim dan disimpan ke server CTF. Oleh karena itu, sistem dikembangkan dipersiapkan agar mampu mengatasi setiap ancaman yang dapat terjadi.

Pada penelitian ini, ancaman-ancaman yang dapat terjadi dibagi ke dalam empat kelas, yaitu: 1 Disclosure, yakni pengaksesan informasi

oleh pihak yang tidak berwenang.

2 Deception, yakni penerimaan data yang tidak benar.

3 Disruption, yakni gangguan atau pencegahan terhadap operasi yang benar. 4 Usurpation, yakni pengaturan beberapa

bagian dari sistem oleh pihak-pihak yang tidak berwenang.

Kebijakan (Policy)

Kebijakan keamanan adalah pernyataan atas apa yang diperbolehkan dan tidak diperbolehkan dalam menjalankan sebuah sistem. Metode, alat, atau prosedur untuk melaksanakan kebijakan keamanan tersebut dinamakan mekanisme keamanan. Sistem pemilu yang rentan terhadap serangan keamanan tentu membutuhkan kebijakan tentang hal-hal yang diperbolehkan dan tidak diperbolehkan dalam proses penyelenggaraan pemilu secara online.

Spesifikasi (Specification)

Spesifikasi merupakan pernyataan baik formal maupun informal mengenai fungsi sistem yang diinginkan (Bishop 2003). Setelah kebijakan terbentuk, langkah selanjutnya adalah menentukan spesifikasi sistem. Sistem ini membutuhkan berbagai macam spesifikasi keamanan agar dapat menjalankan mekanisme keamanannya dengan baik sesuai dengan kebijakan yang telah dibentuk. Spesifikasi yang digunakan pada penelitian ini merupakan spesifikasi informal yang menjelaskan setiap fungsi yang dikerjakan sistem agar dapat menjalankan kebijakan.

Perancangan (Design)

Pada tahap ini setiap spesifikasi akan diterjemahkan menjadi komponen-komponen yang dapat diimplementasikan. Perancangan dikatakan sesuai dengan spesifikasi jika dalam setiap kondisi, rancangan yang telah dibuat tidak mengizinkan sistem untuk melanggar spesifikasi.

Perancangan sistem ini mencakup pengembangan sistem komunikasi antara pemilih dan CTF, dari mulai perancangan proses pengiriman kunci hingga proses pengiriman suara pemilih menuju CTF agar lebih aman. Oleh karena sistem ini semula dikembangkan berbasis desktop, maka pada penelitian ini juga dirancang perubahan sistem dari basis desktop ke basis web dengan menggunakan teknologi Java Web Start. Perancangan sistem juga mencakup pembuatan visualisasi atau publikasi hasil pemilihan suara pada CTF.

Implementasi (Implementation)

Pada tahap ini hasil analisis dan perancangan akan diimplementasikan menjadi sistem dengan lingkungan implementasi sebagai berikut:

1 Platform: Java 1.4 (platform independent

and inbuilt security features).

2 GUI: Java Swing.

3 RSA (2048 bits): enkripsi kunci publik. 4 BlowFish (56 bits): enkripsi kunci simetri. 5 SHA-1 (160 bits): signature/hashing. 6 CA: transmisi kunci publik secara aman. 7 TopLink: pemodelan ORM yang digunakan

untuk komunikasi data antara sistem dan basis data CTF.

(15)

7 Pengujian

Tahap ini ditujukan agar dapat mendeteksi kesalahan serta memastikan hasil keluaran apakah sesuai dengan yang diharapkan. Pengujian pada penelitian ini dilakukan dengan menerapkan metode blackbox dan simulasi yang dilakukan di lingkungan kampus IPB.

HASIL DAN PEMBAHASAN Ancaman (Threat)

Sebuah sistem keamanan dipersiapkan agar mampu melindungi sistem dari segala ancaman yang mungkin terjadi. Pada penelitian ini, beberapa ancaman yang mungkin terjadi di antaranya:

1 Modifikasi atau pergantian merupakan pengubahan informasi yang dilakukan oleh pihak yang tidak berwenang. Ancaman ini pada ahirnya mengarah ke dalam kelas

deception. Ancaman modifikasi yang mungkin terjadi dalam sistem tabulasi CTF adalah:

Hasil pilihan yang dikirimkan oleh pemilih diganti oleh pihak yang tidak berwenang sehingga pilihan pemilih tidak lagi sama.

Nama ataupun jumlah suara kandidat pada basis data diubah oleh pihak yang tidak berwenang. Ancaman ini dapat terjadi jika penyerang dapat masuk atau mendapatkan akses penuh untuk mengubah basis data.

2 Penyamaran (masquering) yaitu peniruan terhadap suatu entitas terhadap entitas yang lain. Ancaman ini akan mengumpan korban agar percaya bahwa entitas yang berkomunikasi dengannya adalah pihak yang benar, meski pada kenyataannya pihak tersebut adalah penyerang (attacker) yang bukan merupakan pihak yang berwenang. Sebagai contoh saat pemilih akan mengirimkan hasil pilihan ke sitem untuk disimpan pada basis data CTF, pihak yang menerima kunci tersebut bukanlah CTF melainkan server lain yang mengaku sebagai CTF. Konsep otentikasi dapat digunakan untuk mencegah serangan ini. Penyamaran termasuk ancaman dalam kelas

deception dan usurpation.

Kebijakan (Policy)

Kebijakan untuk menjalankan pemilihan

online dalam penelitian ini mengacu pada

secure voting requirements yang dipaparkan

oleh Schneier (1996). Kebijakan tersebut merupakan kebijakan yang memiliki protokol yang dapat menjamin privasi individu serta pencegahan terhadap segala bentuk kecurangan pada pemilihan online.

Spesifikasi (Specification)

Sistem pengiriman suara pemilih menuju CTF yang dikembangkan diharapkan dapat memenuhi spesifikasi umum sebagai berikut:

Hanya pemilih yang sah yang dapat memberikan suara (otentikasi).

» Terdapat validation ID yang acak dan unik untuk setiap pemilih.

» Secara komputasional infeasible untuk seorang penyerang untuk menebak pasangan kunci dan validation ID yang

valid.

» Hanya CTF yang dapat memasukkan hasil pilihan.

Tidak boleh menentukan orang lain harus memilih untuk siapa.

» Semua transaksi aman dan ditandatangani agar mencegah orang lain dapat menangkap pesan.

Tidak boleh memberikan lebih dari satu suara.

» Jika pemilih telah melakukan pemilihan dan kembali melakukan pemilihan, maka CTF akan mengembalikan pesan “Telah terjadi duplikasi suara”. CTF tidak mengetahui validation ID pemilih namun hanya nilai hash yang dihasilkan oleh validation ID tersebut. Hal ini menyebabkan CTF dapat mengetahui jika terjadi duplikasi.

Tidak ada yang bisa menduplikasi suara orang lain.

» Diasumsikan bahwa terdapat saluran aman lain untuk mengirim pengguna dan

password secara langsung untuk setiap

pemilih, sehingga orang lain selain pemilih yang dimaksud tidak dapat mengetahui password pemilih lain. Tidak boleh mengubah pilihan orang lain

» Diberikan validation ID yang unik dan aman sehingga orang lain tidak dapat mengganti pilihan pemilih lain termasuk CTF.

(16)

8 Setiap pemilih dapat memastikan bahwa

suara mereka sudah dikirimkan dan terhitung dalam penghitungan akhir. » Jika seorang pemilih memasukkan

pilihan, CTF akan menghitung kandidat yang telah dipilih oleh pemilih dan mengembalikan hasil penghitungan sementara. Hal ini menyebabkan pemilih dapat memastikan bahwa pilihannya benar telah dihitung oleh CTF.

Secara khusus spesifikasi tambahan yang dikembangkan dalam penelitian ini adalah bahwa pemilih dapat melihat hasil perhitungan suara terkini dari setiap kandidat.

Perancangan (Design)

Perancangan pemilihan online dengan Java

Web Start

Sistem dirancang dengan topologi jaringan

star dimana komunikasi antara pemilih, CLA,

dan CTF dijembatani oleh wireless acces point seperti yang ditunjukkan oleh Gambar 5. Perancangan Java Web Start dimulai dengan memisahkan CLA dan CTF menjadi dua server yang berbeda dan mendistribusian kunci-kunci kepada pemilih, CLA, dan CTF. Pada penelitian sebelumnya sistem diimplementasikan untuk

single host sehingga kunci-kunci milik pemilih,

CLA, dan CTF berada pada satu berkas yang sama. Pada penelitian ini, sistem dikembangkan agar dapat diimplementasikan menjadi multiple

host. Oleh karena itu, sistem dikonversi dari

sistem berbasis desktop menjadi basis web dengan menggunakan teknologi Java Web Start agar dapat mempermudah pemilih dalam menjalankan sistem ini. CLA yang berfungsi untuk memverifikasi pemilih bertindak sebagai

server pertama sehingga file sistem pemilihan online yang harus diunduh oleh pemilih

ditempatkan di server CLA.

CLA CTF voter voter voter Wireless Access Point

Gambar 5 Arsitektur infrastrukur jaringan

wireless pemilihan online.

Perancangan basis data CTF dan sistem visualisasi hasil perolehan suara

Basis data CTF berfungsi untuk menyimpan data dari file CTF.candidate-vote yang akan digunakan untuk menampilkan hasil perolehan suara terkini pada halaman utama IPB Online

Voting Centre. Basis data CTF dirancang

dengan menggunakan basis data relational dan menerapkan design pattern object relational

map (ORM) untuk mengaksesnya. Tabel yang

terdapat pada basis data dibentuk menjadi objek yang dapat diakses dari suatu model kelas tertentu. Hasil analisis perancangan konseptual basis data CTF ini hanya memiliki satu entitas, yaitu candidatevote yang merepresentasikan jumlah suara suatu kandidat seperti yang terlihat pada Tabel 1. Selanjutnya ERD dari basis data CTF dapat dilihat pada Gambar 6.

Tabel 1 Perancangan konseptual basis data CTF Nama

Entitas Atribut Deskripsi

candidatevote ID, candidate, vote Informasi mengenai jumlah suara kandidat IPB Online

Voting 1 Memiliki candidatevote

N

Gambar 6 ERD Sistem IPB Online Voting. Perancangan model fisik dilakukan dengan mengimplementasikan ERD pada model logik ke dalam tabel yang bersesuaian. Tabel basis data CTF dapat dilihat pada Lampiran 2.

Basis data CTF juga dirancang agar hanya entitas tertentu saja yang dapat mengaksesnya, dalam hal ini hanya situs IPB Online Voting

Centre, serta akses ke basis datanya juga

dibatasi hanya untuk perintah select dan update saja. Hal ini ditujukan agar pihak yang tidak berwenang (attacker) tidak dapat masuk ke basis datanya.

Kalaupun attacker berhasil mengakses basis data CTF ini, untuk menanggulangi ancaman modifikasi ia juga dirancang sedemikian sehingga seluruh isi tabel akan diperbaharui berdasarkan file CTF.candidate-vote ketika sistem akan memperbaharui hasil perolehan suara. File CTF.candidate-vote ini digunakan untuk menyimpan hasil perolehan suara dan berada di dalam sistem CTF sehingga aman dari segala ancaman oleh pihak yang tidak berwenang. Oleh karena itu, jika pun ada yang merubah isi dari basis data CTF, baik nama kandidat ataupun hasil perolehan suaranya, ia

(17)

9 akan digantikan kembali dengan data yang

sebenarnya berdasarkan file tersebut.

Sistem CTF ini dikembangkan dengan menggunakan teknik otentikasi dengan menambahkan nounce dan nilai hash pada kunci simetri dari setiap pengguna. Hal ini bertujuan agar dapat melindungi sistem dari ancaman penyamaran oleh pihak yang tidak berhak. Oleh karena itu, hanya pengguna yang valid yang dapat mengkases server CTF.

Visualisasi hasil pemilihan suara dirancang dengan menggunakan aplikasi FusionCharts. Visualisasi hasil pemilihan terkini ditunjukkan oleh diagram pai seperti yang terlihat pada Gambar 7.

Gambar 7 Visualisasi hasil pemilihan terkini pada sistem IPB Online Voting. Implementasi (Implementation)

Implementeasi pemilihan online dengan Java

Web Start

Sistem pemilihan online ini dikonversi dari basis desktop menjadi basis web dengan menggunakan teknologi Java Web Start dan Netbeans 6.5 sebagai IDE-nya. Pengaturan dilakukan pada properties proyek pemilihan

online. Pada window tersebut dipilih menu Run

dan pada field Main Class dipilih kelas utamanya yaitu Voter.java. Kelas ini dipilih karena kelas Voter mengandung semua fungsi utama yang diperlukan oleh voter untuk menjalankan sistem pemilihan online dari komputer pemilih. Selanjutnya pengaturan konfigurasi diubah menjadi Web Start. Pada saat dilakukan build pada proyek OnlineVoting,

Java Web Start akan menghasilkan tiga file,

yaitu file sistem bertipe jar, serta file launch bertipe html dan jnlp. File sistem bertipe jar berisi kelas UserInterface.java, Voter.java, serta keseluruhan kelas yang dibutuhkan oleh kelas

Voter.java. File launch.html berisi perintah

untuk menjalankan file launch.jnlp yang kemudian oleh file launch.jlnp tersebut akan menjalankan kelas Voter yang terdapat pada file

Voter.jar.

Implementasi basis data CTF dan sistem visualisasi hasil perolehan suara

Implementasi dari pembuatan basis data CTF menggunakan bahasa pemrograman Java dan MySQL sebagai sistem manajemen basis datanya. Visualisasi hasil pemilihan suara diimplementasikan dengan menggunakan bahasa pemrograman PHP dan untuk menampilkan diagram dari hasil pemilihan suara dibutuhkan aplikasi tambahan pada

browser yaitu Adobe Flash Player.

Pengujian

Pengujian terhadap sistem dilakukan dengan menerapkan metode blackbox testing. Pengujian sistem dibagi ke dalam dua tahap, yaitu: 1 Tahap pengujian terhadap penggunaan Java

Web Start pada sistem IPB Online Voting.

Pada tahap ini sistem diuji apakah sudah berjalan dengan baik dengan protokol Two

Central Facilities dan cukup stabil jika

digunakan dalam suatu jaringan.

2 Tahap pengujian terhadap penambahan hasil pilihan setelah pemilih melakukan pemilihan. Pada tahap ini sistem diuji apakah jumlah suara pada basis data CTF dan visualisasi hasil pemilihan ikut bertambah setelah pemilih melakukan pemilihan.

Hasil pengujian selengkapnya dapat dilihat pada Lampiran 3.

KESIMPULAN DAN SARAN Kesimpulan

Sistem IPB Online Voting dengan menerapkan protokol Two Central Facilities dapat memenuhi kriteria secure voting requirements serta meningkatkan efisiensi dan

efektifitas perhitungan suara terkait dengan sumber daya waktu, biaya, dan manusia. Penggunaan sistem di dalam suatu jaringan juga menjadi lebih mudah dengan menggunakan teknologi Java Web Start.

Sistem publikasi hasil perolehan suara yang dikembangkan cukup menarik dan informatif sehingga memudahkan pemilih untuk melihat perkembangan hasil perolehan suara. Sistem ini juga cukup aman dari ancaman-ancaman yang dapat terjadi, seperti ancaman modifikasi dan penyamaran.

(18)

10 Saran

Seiring dengan berkembangnya teknologi kriptanalis maka peluang terjadinya ancaman terhadap sistem keamanan IPB Online Voting terus meningkat. Pada penelitian kali ini sistem masih memiliki kelemahan dan kekurangan yang diharapkan dapat terus dikembangkan dan diperbaiki pada penelitian selanjutnya. Rekomendasi yang dapat dilakukan untuk penelitian selanjutnya adalah:

Sistem IPB Online Voting yang kini dikembangkan masih menggunakan

wireless access point intern departemen

dalam fakultas MIPA IPB. Hal ini mengakibatkan sistem ini hanya dapat diimplementasikan sebatas cakupan satu departemen. Pada penelitian selanjutnya akan lebih baik jika sistem ini dapat diimplementasikan dalam cakupan yang lebih luas seperti dalam jaringan seluruh kampus IPB.

Perancangan basis data dan visualisasi hasil perolehan suara ini dirancang sedemikian sehingga mereka cukup aman dari segala ancaman yang mungkin terjadi saat ini. Pada penelitian selanjutnya diharapkan keamanan sistem dapat lebih ditingkatkan dengan mengeksplorasi ancaman-ancaman lainnya yang mungkin terjadi dan mengembangkan sistem agar dapat menangkal setiap ancaman tersebut. Visualisasi hasil pemilu pada penelitian ini hanya menunjukkan hasil akhir perolehan suara pada saat pemilih mengakses situs

IPB Online Voting Center. Untuk penelitian

selanjutnya visualisasi hasil perolehan suara akan lebih baik jika penambahan perolehan suara dari waktu ke waktu juga dapat divisualisasikan agar pemilih dapat mengetahui hasil perolehan suara dari waktu-waktu sebelumnya. Visualisasi hasil perolehan suara juga dapat dikembangkan dengan menambahkan hasil perolehan

suara dari kriteria-kriteria tertentu, misalnya: pemilih dengan jenis kelamin tertentu lebih cenderung memilih kandidat tertentu, ataupun dengan turut memublikasikan jumlah pemilih yang telah dan yang belum memilih.

DAFTAR PUSTAKA

[SM] Sun Microsystems. 2009. JavaTM Web

Start version 1.5.0 - Frequently Asked

Questions (FAQ). http://java.sun.com/j2se/ 1.5.0/docs/guide/javaws/developersguide/fa q.html#101 [3 Ags 2009].

Adriana T. 2007. Kriptografi dan Pemanfaatannya Pada RSA dan MD5. Bandung: Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung. Bishop M. 2003. Computer Security: Art and

Science. Boston: Pearson Education, Inc.

DuFeu D, Harris J. 2001. Online Election

System: 95.413 Project Report. Carleton

University.

Kurniawan A. 2008. Konsep dan Implementasi

Cryptography dengan .Net. Jakarta: PT.

Dian Rakyat.

Pressman RS. 2001. Software Engineering: A

Practitioner’s Approach. 5th Ed. New York:

McGraw-Hill Companies, Inc.

Schneier B. 1996. Applied Cryptography,

Second Edition: Protocols, Algorithms, and Source Code in C. Wiley Computer

Publishing, John Wiley & Sons, Inc. Sireesha J, Chakchai SI. 2005. Secure Virtual

Election Booth with Two Central Facilities.

St. Louis, USA: Department of Computer Science Washington University.

Wesley A. 2003. Data Access Patterns:

Database Interactions in Object-Oriented Applications. Boston: Pearson Education,

(19)
(20)

12 Lampiran 1 Skema pemilihan dengan Two Central Facilities

Lampiran 2 Tabel basis data CTF Data objek pada tabel candidatevote

Nama Kolom Tipe Data Keterangan Tambahan ID Integer(2) Primary key, not null, auto increment candidate Varchar(50)

vote Integer(2) Not null

Lampiran 3 Hasil pengujian sistem IPB Online Voting dengan metode blackbox testing Tabel Pengujian situs IPB Online Voting Center

No. Deskripsi Uji Kondisi Awal Skenario Uji Hasil yang diharapkan Hasil Uji 1 Membuka halaman utama Halaman utama belum diakses oleh

user

User membuka

halaman utama

Halaman utama

dapat ditampilkan Berhasil

2

Menampilkan diagram hasil pemilu

Halaman utama belum diakses oleh

user

User membuka

halaman utama

Tampil diagram

(21)

13 Tabel Pengujian basis data CLA dan GUI online voting

No. Deskripsi Uji Kondisi Awal Skenario Uji Hasil yang Diharapkan Hasil Uji 1 Melakukan login Field username dan password masih kosong Memasukkan username dan password User dapat memasukkan username dan password, user masuk ke sistem Berhasil 2 Melakukan pemilihan kandidat User sudah melakukan login User Memilih kandidat pada daftar yang telah disediakan

Pilihan user

masuk ke sistem Berhasil

3 Melakukan logout User dalam kondisi log in

User mengklik

tombol log out User keluar sistem Berhasil

4 Membangkitkan

random key

Basis data dan file yang akan dibangkitkan belum tersedia Menjalankan kelas Generate Randomkeys

Semua file yang dibutuhkan telah tersedia dan file CLA.Users tersimpan pada basis data

Berhasil

Tabel Pengujian Java Web Start

No. Deskripsi Uji Kondisi Awal Skenario Uji Hasil yang diharapkan

Hasil Uji

1

User mengunduh Voter.rar dari situs online voting

User belum

memiliki kunci simetri

User membuka

situs Online voting dan mengunduh Voter.rar User dapat mengunduh dan menyimpan file Voter.rar Berhasil 2 User mencoba menjalankan sistem online User telah mengunduh Voter.rar namun User menjalankan sistem online voting Sistem online voting dapat ditampilkan di Berhasil 3 Melakukan registrasi sebagai pemilih (user) Form registrasi masih dalam keadaan kosong User menginputkan data sebagai berikut: Nama depan Nama belakang NRP

Nama ibu kandung

Email Data tersimpan dalam database CLA Berhasil 4 Mendapatkan konfirmasi dari proses registrasi Registrasi sudah dilakukan user User membuka email dari sistem.

User mendapatkan akun login (username dan password) serta nilai hash-nya Tidak berhasil 5 Membuka halaman profil kandidat Halaman profil kandidat belum diakses oleh user

User membuka halaman profil kandidat Halaman profil kandidat dapat ditampilkan Berhasil 6 Membuka halaman pemilihan umum Halaman pemilihan umum belum diakses oleh

user User membuka halaman pemilihan umum Halaman pemilihan umum dapat ditampilkan Berhasil 7 Membuka halaman tentang kami Halaman tentang kami belum diakses oleh user

User membuka halaman tentang kami Halaman tentang kami dapat ditampilkan Berhasil

(22)

14 No. Deskripsi Uji Kondisi Awal Skenario Uji Hasil yang

diharapkan

Hasil Uji

voting Java Web Start

belum membuka sistem Java Web

Start

layar user

3

User mencoba

untuk memilih dan mengirim hasil pilihan kandidat kepada CTF

User membuka

sistem online

voting dan sudah log in namun

belum memilih kandidat

User menekan button submit Vote

Hasil pilihan kandidat berhasil dikirimkan dan diterima oleh CTF Berhasil 4 User mencoba untuk memverifikasi apakah hasil pilihannya telah dihitung oleh CTF User telah memilih namun belum melakukan verifikasi pilihan User menekan button verify Vote

CTF mengirimkan konfirmasi kepada

User bahwa benar

hasil pilihannya telah dihitung oleh CTF

Berhasil

Tabel Pengujian pengiriman kunci simetri

No. Deskripsi Uji Kondisi Awal Skenario Uji Hasil yang diharapkan

Hasil Uji

1

Membangkitkan kunci simetri dengan algoritme Blowfish di kelas User.java User belum memiliki kunci simetri Melakukan running pada kelas User.java User memiliki

kunci simetri Berhasil

2

Mengirimkan kunci simetri (paket 1) yang telah dienkripsi dari user menuju CLA CLA belum menerima kunci simetri (paket 1) dari user User mengenkripsi

kunci simetri dan mengirimkannya kepada CLA CLA memiliki kunci simetri user Berhasil 3 Mengirimkan kunci simetri+Nonce+nilai

Hash (paket 2) yang

telah dienkripsi dari

user menuju CLA

CLA belum menerima kunci simetri + Nonce + Hash (paket 2) dari user User mengenkripsi paket 2 dan mengirimkannya kepada CLA CLA menerima kunci simetri user Berhasil 4 CLA mengirimkan Nonce balasan kepada User User belum menerima Nonce balasan CLA mengirimkan Nonce balasan User menerima Nonce balasan dari CLA Berhasil 5 Mengirimkan kunci simetri (paket 1) yang telah dienkripsi dari user menuju CTF CTF belum menerima kunci simetri (paket 1) dari user User mengenkripsi

kunci simetri dan mengirimkannya kepada CTF CTF memiliki kunci simetri user Berhasil 6 Mengirimkan kunci simetri+Nonce+nilai

Hash (paket 2) yang

telah dienkripsi dari

user menuju CTF CTF belum menerima kunci simetri + Nonce + Hash (paket 2) dari user User mengenkripsi paket 2 dan mengirimkannya kepada CTF CTF menerima kunci simetri user Berhasil 7 CTF mengirimkan Nonce balasan kepada User User belum menerima Nonce balasan CTF mengirimkan Nonce balasan User menerima Nonce balasan dari CTF Berhasil

(23)

15 Tabel Pengujian koneksi antara sistem dan basis data CTF dan visualisasi hasil pemilihan suara No. Deskripsi Uji Keadaan Awal Skenario Uji Hasil yang

Diharapkan Hasil Uji 1. Pengiriman hasil pemilihan kandidat ke basis data CTF Jumlah suara kandidat di basis data belum bertambah Pemilih memilih salah satu kandidat

Jumlah suara kandidat terpilih di basis data bertambah Berhasil 2. Menampilkan diagram hasil pemilihan suara Jumlah suara kandidat pada diagram belum bertambah Pemilih memilih salah satu kandidat

Jumlah suara kandidat terpilih pada diagram bertambah

Gambar

Gambar 4 Skema Security Life Cycle.
Gambar 5 Arsitektur infrastrukur jaringan  wireless pemilihan online.
Gambar 7 Visualisasi hasil pemilihan terkini  pada sistem IPB Online Voting.
Tabel Pengujian Java Web Start
+2

Referensi

Dokumen terkait

Serat nano yang dibuat menggunakan proses electrospinning telah berhasil dilakukan. Berdasarkan gambar 1.a-c hasil pengujian morfologi menggunakan SEM dapat dilihat bahwa

Berdasarkan hasil uji statistik, maka pada penelitian tersebut, hipotesis kerja diterima, yaitu terdapat perbedaan tingkat konsentrasi belajar siswa antara kebisingan

Stasiun 4 memiliki nilai indeks dominasi yang lebih tinggi (0,44) dibandingkan dengan stasiun lainnya. Berdasarkan analisis PCA dapat disimpulkan bahwa terdapat

Tabel ini menghitung beban biaya tahunan total dari jaringan, seperti yang dimodelkan, dengan menambah capex tahunan (Tabel 7c) ke dalam pengeluaran operasional untuk setiap

1) Sebagian besar ISPA adalah disebabkan virus dan tidak berespon pada terapi antibiotik. Suatu kenyataan yang sering tidak diperhatikan, akibatnya penderita mendapatkan

Metode ini akan digunakan dalam penelitian yang akan diarahkan pada masalah PT LEN Persero, yaitu pengaruh budaya dan komitmen organisasi terhadap kinerja