The Analysis and Development of GUI and Voter-CLA Cryptography Protocol based on Two Central Facilities Protocol.

ABSTRACT
HASANUL FAJRI NURAS. The Analysis and Development of GUI and Voter-CLA Cryptography
Protocol based on Two Central Facilities Protocol. Under the direction of Sugi Guritman.
General election is a democratic party for each democracy country. Each country has rules in it.
However, every country wants the general election surely implemented in a fair, equitable and
confidential way. At the time of this community also wants the election results can be announced
quickly. Along with technology development, some countries continue to try to create a system to
conduct elections and made the system seeks to meet the rules. and can do calculations quickly and
securely. Online voting is one of the solutions of the system. Online voting is trying to implement
cryptography protocol. that made protocol seeks to make work flow of the election while the
cryptography used to secure the data that is on a protocol. This research base on two central facilities
protocol to implement online voting system. This research focuses on the protocol of voter-CLA, from
the GUI for the voter, voter-CLA protocols and data storage access for the voter in the voting this
online application.
Keyword: Protocol, cryptography, two central facilities, CLA, GUI

ANALISIS DAN PENGEMBANGAN GUI DAN PROTOKOL
KRIPTOGRAFI VOTER-CLA BERBASIS TWO CENTRAL
FACILITIES PROTOCOL

HASANUL FAJRI NURAS


DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2009

ANALISIS DAN PENGEMBANGAN GUI DAN PROTOKOL
KRIPTOGRAFI VOTER-CLA BERBASIS TWO CENTRAL
FACILITIES PROTOCOL

HASANUL FAJRI NURAS

DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2009

ANALISIS DAN PENGEMBANGAN GUI DAN PROTOKOL

KRIPTOGRAFI VOTER-CLA BERBASIS TWO CENTRAL
FACILITIES PROTOCOL

HASANUL FAJRI NURAS

Skripsi
sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer
pada Departemen Ilmu Komputer
Fakultas Matematika dan Ilmu Pengetahuan Alam

DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2009

ABSTRACT
HASANUL FAJRI NURAS. The Analysis and Development of GUI and Voter-CLA Cryptography
Protocol based on Two Central Facilities Protocol. Under the direction of Sugi Guritman.
General election is a democratic party for each democracy country. Each country has rules in it.

However, every country wants the general election surely implemented in a fair, equitable and
confidential way. At the time of this community also wants the election results can be announced
quickly. Along with technology development, some countries continue to try to create a system to
conduct elections and made the system seeks to meet the rules. and can do calculations quickly and
securely. Online voting is one of the solutions of the system. Online voting is trying to implement
cryptography protocol. that made protocol seeks to make work flow of the election while the
cryptography used to secure the data that is on a protocol. This research base on two central facilities
protocol to implement online voting system. This research focuses on the protocol of voter-CLA, from
the GUI for the voter, voter-CLA protocols and data storage access for the voter in the voting this
online application.
Keyword: Protocol, cryptography, two central facilities, CLA, GUI

Judul

:

Nama
NRP

:

:

Analisis dan Pengembangan GUI dan Protokol Kriptografi Voter-CLA Berbasis Two
Central Facilities Protocol
Hasanul Fajri Nuras
G64051421

Menyetujui:
Pembimbing

Dr. Sugi Guritman
NIP. 196209271992031004

Mengetahui:
Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam
Institut Pertanian Bogor

Dr. drh. Hasim, DEA
NIP 196103281986011002


Tanggal Lulus:

RIWAYAT HIDUP
Penulis dilahirkan di Muara Bungo pada tanggal 8 September 1987 yang merupakan anak dari
Ayahanda bernama Drs.Nurlah Jamil dan Ibunda bernama Asnayanti. Penulis merupakan anak kedua
dari empat bersaudara (kak Rima, Ami, Fadhlan).
Pada tahun 2002 penulis menempuh pendidikan di SMA Negeri 1 Muara bungo hingga tahun
2005. Pada tahun yang sama penulis diterima sebagai mahasiswa di Departemen Ilmu Komputer
Institut Pertanian Bogor melalui jalur USMI (Undangan Seleksi Masuk IPB).
Selama mengikuti perkuliahan, Penulis juga aktif di Badan Eksekutif Mahasiswa Keluarga
Mahasiswa (BEM-KM) IPB sebagai staf pada Departemen Pendidikan pada periode 2006-2007.Pada
periode yang sama, penulis juga aktif dalam kegiatan Leadership and Entrepreneurship School(LES).
Pada tahun 2009 penulis juga aktif sebagai Asisten Praktikum Pengantar Sistem Berorientasi Objek
Departemen Ilmu Komputer IPB. Pada tahun 2008 penulis melaksanakan Praktek Kerja Lapangan di
Badan Koordinasi Survey dan Pemetaan Nasional (BAKOSURTANAL) Cibinong.

PRAKATA
Alhamdulillah, segala puji syukur penulis ucapkan kehadirat Allah SWT atas limpahan rahmat,
karunia dan hidayah-Nya kepada penulis sehingga penulis memperoleh kekuatan untuk dapat
menyelesaikan tugas akhir ini. Shalawat beserta salam penulis sampaikan kepada Nabi Besar

Muhammad SAW, kepada keluarga dan para sahabatnya yang telah menjadi panutan bagi hidup
penulis, semoga penulis tergolong dalam kaumnya yang beriman dan beramal saleh. Penulis sadar
bahwa tugas akhir ini tidak akan terwujud bila tidak ada bantuan dari berbagai pihak. Oleh karena itu
pada kesempatan ini penulis ingin mengucapkan terima kasih dan penghargaan seinggi-tingginya
kepada :
1 Kedua orang tua tercinta : ayahanda Drs. Nurlah Jamil dan ibunda Asnayanti atas limpahan doa,
kasih sayang, cinta, semangat, dan kebahagiaan selama hidup penulis.
2 Saudara tersayang Kak Rima, Dek Ami,Dek Fadhlan atas doa dan dukungannya.
3 Yth. Bapak Dr. Sugi Guritman, MS selaku dosen pembimbing tugas akhir.
4 Yth. Ibu Dr. Sri Nurdiati, MSc, bapak Ir. Julio Adisantoso, M.Kom, bapak Firman Ardiansyah,
S.Kom, M.Si, bapak Hari Agung, S.Kom, M.Kom, bapak Hendra Hermawan, S.Kom, M.Kom,
Ibu Yeni Herdiyeni, S.Si, M.Kom, bapak Toto Haryanto, S.Kom, Pak Soleh, dan Pak Pendi atas
nasehat, dukungan, dan keramahan yang senantiasa mengisi hari-hari penulis di Departemen Ilmu
Komputer FMIPA.
5 Teman-teman wisma orange Miun, Oji, Wahyu, Heri yang sudah memberikan tempat berteduh
sementara di kala lelah
6 Pute, Sinta, Nunuk, Yogi, Imam dan teman penulis lainnya yang telah membarikan semangat dan
bantuan baik secara langsung atau tidak dalam penulisan tugas akhir ini.
7 Uud, Medri, Dina teman satu bimbingan atas masukan dan sarannya.
8 Auriza, Tanto, teman-teman Ilmu Komputer angkatan 42, serta seluruh pihak yang turut membantu

baik secara langsung maupun tidak langsung.
Penulis menyadari sepenuhnya bahwa dalam penulisan tugas akhir ini masih terdapat banyak
kekurangan dan kelemahan dalam berbagai hal karena keterbatas 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

Hasanul Fajri Nuras

DAFTAR ISI

Halaman
DAFTAR GAMBAR .....................................................................................................................viii
DAFTAR LAMPIRAN ..................................................................................................................viii
PENDAHULUAN
Latar Belakang ....................................................................................................................... 1
Tujuan Penelitian ................................................................................................................... 1
Ruang Lingkup Penelitian ...................................................................................................... 1

TINJAUAN PUSTAKA
Kriptografi ............................................................................................................................. 1
Protokol Kriptografi ............................................................................................................... 2
Enkripsi dan Dekripsi ............................................................................................................. 2
Kunci Simetri ......................................................................................................................... 2
Kunci Publik .......................................................................................................................... 2
Central Legitimization Agency (CLA)..................................................................................... 2
Certificate Authority (CA) ...................................................................................................... 2
Protokol Two Central Facilities .............................................................................................. 2
Secure Hash Algorithm (SHA)-1 ............................................................................................ 3
Java Web Start ....................................................................................................................... 3
Layout Manager ..................................................................................................................... 3
Object Relational Mapping (ORM) ......................................................................................... 4
Toplink................................................................................................................................... 4
Metode Pengujian Blackbox ................................................................................................... 4
METODOLOGI PENELITIAN
Ancaman (Threat) .................................................................................................................. 4
Kebijakan (Policy) ................................................................................................................. 5
Spesifikasi (Specification) ...................................................................................................... 5
Perancangan (Design)............................................................................................................. 5

Implementasi (Implementation) .............................................................................................. 5
Pengujian (Testing) ................................................................................................................ 5
Lingkungan Pengembangan .................................................................................................... 5
HASIL DAN PEMBAHASAN
Threats (Ancaman)................................................................................................................. 5
Policy (Kebijakan) ................................................................................................................. 6
Specification (Spesifikasi) ...................................................................................................... 6
Design (Perancangan)............................................................................................................. 7
Implementation (implementasi)............................................................................................... 9
Testing (Pengujian) ................................................................................................................ 9
KESIMPULAN DAN SARAN
Kesimpulan .......................................................................................................................... 10
Saran.................................................................................................................................... 10
DAFTAR PUSTAKA ..................................................................................................................... 10
LAMPIRAN ................................................................................................................................... 12

DAFTAR GAMBAR
Halaman
1 Model Enkripsi .............................................................................................................................. 2
2 Model Dekripsi .............................................................................................................................. 2

3 Skema pengujian Blackbox ............................................................................................................. 4
4 The Security Life Cycle................................................................................................................... 4
5 Flowchart secara umum Alur voter CLA ........................................................................................ 8

DAFTAR LAMPIRAN
Halaman
1 Skema pemilihan dengan Two Central Facilities dan ruang lingkup penelitian .............................. 13
2 Hasil pengembangan GUI untuk sistem Online Voting .................................................................. 13
3 Pengujian Blackbox sistem Online Voting .................................................................................... 15

viii

PENDAHULUAN
Latar Belakang
Perkembangan dunia politik di Indonesia
saat ini mengacu pada pergerakan demokrasi
yang sebenarnya. Walaupun saat ini masih
banyak masyarakat yang salah mengartikan
demokrasi tersebut atau bisa disebut
demokrasi yang kebablasan.

Namun demikian, masih ada bukti yang
mengacu pada upaya untuk menegakkan
demokrasi secara benar. Seperti adanya
pemilihan langsung terhadap kepala daerah,
anggota DPR dan pemilihan presiden beserta
wakilnya yang memberikan kesempatan pada
pemilih agar tidak memilih “kucing dalam
karung”. Selama ini pemilihan tersebut
dilakukan secara manual dan dikontrol
sepenuhnya oleh Komisi Pemilihan Umum
(KPU).
KPU bertindak seperti mesin yang
digunakan untuk mengontrol, melaksanakan,
menghitung, dan memublikasikan hasil dari
pemilihan umum yang dilaksanakan. Namun
akhir-akhir ini KPU sering kali dituding
melakukan tindakan kecurangan dengan
memalsukan suara kepada pihak tertentu. Hal
ini tentu memberikan nilai negatif bagi KPU
sendiri karena tidak dapat memperoleh
kepercayaan bagi masyarakat. Dengan
demikian dibutuhkan suatu hal yang dapat
memberikan keyakinan kepada masyarakat
bahwa hasil dari pemilihan yang dilakukan
adalah benar dan valid.
Ada banyak faktor yang menentukan
tingkat kepercayaan masyarakat terhadap hasil
pemilihan umum. Namum demikian, sebagai
negara yang sedang berkembang serta
didukung kemajuan teknologi dunia yang
cukup pesat, negara ini memanfaatkan
teknologi tersebut untuk menyelesaikan
permasalahan di atas.
Salah satu pemanfaatan teknologi yang ada
untuk pemilihan umum adalah protokol
pemilihan umum. Protokol ini berfungsi
sebagai media untuk melakukan pemilihan
umum sesuai dengan ketentuan-ketentuan dari
pemilihan umum yang berlaku. Protokol ini
melakukan
pekerjaan
KPU
seperti
mengontrol, menghitung dan memublikasikan
hasil pemilihan secara adil dan tidak
memihak.
Protokol
yang
dibangun
harus
memerhatikan hal-hal yang berkaitan dengan
kerahasiaan, sedangkan untuk jujur dan adil

telah tepenuhi karena sebagai suatu sistem,
secara logika tidak bisa memihak kepada
siapapun.
Tujuan Penelitian
Penelitian ini memiliki dua tujuan utama
yaitu, tujuan umum dan tujuan khusus. Tujuan
umum dari penelitian ini adalah membuat
simulasi aplikasi Online Voting apakah sistem
ini dapat diaplikasikan pada lingkungan IPB
dan tujuan khusus dari penelitian ini yaitu,
mengembangkan GUI untuk aplikasi Online
Voting, kemudian mengembangkan protokol
kriptografi untuk voter-CLA serta untuk
mengembangkan database penyimpanan data
akses voter di CLA.
Ruang Lingkup Penelitian
Ruang lingkup dari penelitian ini
mencakup bagian dari sistem Online Voting
yaitu membahas yang berhubungan dari voter
ke CLA. Skema ruang lingkup dapat dilihat
pada Lampiran 1. Secara rinci yaitu
menganalisis dan mengimplementasi dari GUI
untuk sistem Online Voting, pembentukan
protokol yang menghubungkan Voter dan
CLA(Central
Legitimization
Agency/
hubungan CLA dengan Voter hingga Voter
memiliki nomor
validasi untuk bisa
melakukan pemilihan). Kemudian, penelitian
mencakup pembuatan database sebagai
tempat menyimpan data hak akses bagi voter
dan data ini selanjutnya akan dikirim ke voter
sebagai bentuk verifikasi dari registrasi.
Penelitian ini berusaha mencakup ketentuanketentuan dari pemilihan umum yang berlaku
di Indonesia.

TINJAUAN PUSTAKA
Kriptografi
Kriptografi berasal dari gabungan kata
kripto yang berarti rahasia dan grafi yang
berarti tulisan. Secara umum dapat diartikan
sebagai seni dan ilmu dengan menerapkan
perhitungan matematis, yang digunakan untuk
menjaga suatu data atau informasi agar tetap
aman.
Selain itu kriptografi dapat diartikan
sebagai studi matematika yang berkaitan
dengan aspek keamanan seperti (Guritman
2003):
Kerahasian (confidentiality) merupakan
suatu layanan yang digunakan untuk
menjaga isi suatu informasi dari orangorang yang tidak berwenang memilikinya.
1

Konsisten (integrity) adalah suatu layanan
yang berkaitan dengan keutuhan informasi
sehingga informasi tersebut tidak dapat
diubah kecuali oleh orang yang berwenang
untuk melakukan hal tersebut.
Autentik merupakan suatu layanan yang
berkaitan dengan pengidentifikasian entitas
atau informasi itu sendiri.
Non-repudasi merupakan suatu layanan
yang ditujukan untuk mencegah terjadinya
pelanggaran kesepakatan yang telah dibuat
sebelumya.
Protokol Kriptografi
Protokol kriptografi protokol yang
menggunakan kriptografi (Munir 2004).
Disamping semua persyaratan dari protokol
harus terpenuhi, protokol kriptografi meliputi
algoritme kriptografi. Namun secara umum
tujuan protokol ini lebih dari sekedar
kerahasiaan.
Enkripsi dan Dekripsi
Menurut Kurniawan (2008):
a Enkripsi: Proses pengubahan pesan
sedemikian
sehingga
isi
pesan
disembunyikan. Enkripsi juga dapat
dikatakan sebagai proses pengubahan dari
plaintext atau data jelas/ asli ke ciphertext
atau data tersamar dengan menggunakan
algoritme kriptografi tertentu.
b Dekripsi : proses pengubahan kembali dari
ciphertext
ke
plaintext
dengan
menggunakan
algoritme
kriptografi
tertentu.
Model secara umum proses Enkripsi dan
Dekripsi dapat dilihat pada Gambar 1 dan
Gambar 2.

Kunci Simetri
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
Kunci Publik (Publik Key) adalah kunci
yang dirancang sedemikian sehingga kunci
yang digunakan untuk enkripsi berbeda
dengan kunci yang digunakan pada proses
dekripsi (Schneier 1996).
Central Legitimization Agency (CLA)
CLA memiliki tugas utama untuk
otentikasi dan otorisasi pemilih. Setiap
pemilih akan mengirim pesan kepada CLA
yang berisi permintaan validationID. CLA
akan membangkitkan validationID yang
terjamin keamanannya dan mengirimkannya
pada pemilih. CLA menyimpan dengan aman
daftar validationID dan mencegah pemilih
menerima lebih dari satu validationID atau
melakukan lebih dari satu kali pemilihan
(DuFue dan Harris 2001).
Certificate Authority (CA)
Fungsi Utama dari Certificate Authority
(CA) yaitu menghasilkan, memublikasikan
dan menghapus certificate public key dari user
identity, bisa personal maupun lembaga.
Contoh CA, yaitu Verisign
(Kurniawan
2008).
Protokol Two Central Facilities
Pemilihan menggunakan protokol Two
Central Facilities dilakukan dengan membagi
CTF dan CLA menjadi dua badan yang
terpisah.
Menurut Janga Sireesha dan So-In
Chakchai (2005) pemilihan dengan protokol
Two Central Facilities adalah sebagai berikut:

Gambar 1 Model Enkripsi

Gambar 2 Model Dekripsi

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
2

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 Two Central Facilities dapat
dilihat pada Lampiran 1.

Biasanya Fungsi hash SHA yang paling
umum digunakan adalah SHA-1 yang telah
diimplementasikan di dalam berbagai aplikasi
dan protokol keamanan. SHA-1 menerima
masukan berupa pesan dengan ukuran
maksimum 64 bit dan menghasilkan message
digest yang panjangnya 160 bit. Langkahlangkah pembuatan message digest dengan
SHA-1 secara garis besar adalah sebagai
berikut (Munir 2006):

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.

Java Web Start menyediakan kekuatan
dalam menampilkan fitur lengkap aplikasi
Java dalam satu kali klik. Pengguna dapat
mengunduh dan menampilkan aplikasi, seperti
tampilan program 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
langsung melakukan update versi aplikasi
(Sun Microsystem 2005).

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,
maka 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 dan
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, maka
dicurigai telah terjadi kesalahan atau
kecurangan. Sebaliknya jika jumlah peserta
yang ada pada daftar lebih banyak dari hasil
tabulasi artinya beberapa pemilih tidak
menggunakan hak suaranya.
Secure Hash Algorithm (SHA)-1
SHA atau Secure Hash Algorithm adalah
fungsi hash satu-arah yang dibuat oleh NIST.

1
2
3
4

Penambahan bit-bit pengganjal (padding
bits).
Penambahan nilai panjang pesan semula.
Inisialisasi penyangga (buffer) MD.
Pengolahan pesan dalam blok berukuran
512 bit.

Java Web Start

Layout Manager
Layout manager berhubungan dengan
tampilan Voter Interface yaitu apa yang
terlihat oleh Voter di layar monitor ketika
program Java baik aplikasi maupun applet
dijalankan.
Untuk portabilitas Java memakai layout
untuk mengatur posisi dan ukuran dari
komponen-komponen yang ada dalam
tampilan. Pengaturan dilakukan dengan layout
manager. Tugas dari layout manager adalah
(Wijono S.H et al 2006):
mengatur posisi komponen dengan tidak
tergantung kepada platform, resolusi layar
monitor dan Font,
peletakan komponen secara cerdas di
dalam container (ukurannya berubahubah secara dinamis pada saat run-time),
kemudahan translasi, misalnya jika
sebuah String diubah panjangnya setelah
translasi akan tetap terjaga letaknya
dengan benar.

3

Object Relational Mapping (ORM)
Object-relational mapping merupakan
proses transformasi antara pengembangan
objek dan relasional serta sistem yang
mendukung pengembangan tersebut. Untuk
melakukannya dengan baik pada saat
memetakan objek relasional membutuhkan
pemahaman yang baik terhadap object
modeling dan relational modeling persamaan
serta perbedaannya. Idealnya terdapat suatu
integrasi model yang mendeskripsikan kedua
pengembangan tersebut (Fussel 1997).
Toplink
Toplink merupakan package ORM (object
relational mapping) untuk pengembang yang
menggunakan bahasa pemrograman Java.
Toplink memberikan suatu kerangka kerja
yang kuat dan fleksibel untuk menyimpan
objek Java dalam suatu database relasional
atau untuk konversi objek Java ke dalam
dokumen XML(Oracle 2009).

METODOLOGI PENELITIAN
Pada penelitian ini, metode yang
digunakan adalah Security Life Cycle Method.
Metode ini terdiri atas 6 tahap utama, yaitu
(Bishop,2003): (1) Ancaman (Threats), (2)
Kebijakan
(Policy),
(3)
Spesifikasi
(Specification) (4) Perancangan (Design) (5)
Implementasi (Implementation) serta (6)
Operasi dan Pemeliharaan (Operation and
Maintenance).
Pada penelitian ini, metode yang
digunakan adalah dari tahap (1) sampai (5),
hal ini disebabkan oleh keterbatasan waktu
yang tidak memungkinkan untuk melakukan
tahap pemeliharaan. Akan tetapi penelitian
diakhiri dengan tahap pengujian sistem.
Metode Security Life Cicle yang telah
disesuaikan dapat dilihat pada Gambar 4.
Threats

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 program.
Pengujian blackbox merupakan pendekatan
komplementer yang kemungkinan besar
mampu menemukan kesalahan dalam kategori
sebagai berikut (Pressman 2001):
fungsi-fungsi yang tidak benar atau hilang,
kesalahan antarmuka,
kesalahan dalam struktur data atau akses
database eksternal,
kesalahan kinerja, dan
inisialisasi dan kesalahan terminasi.
Metode pengujian perangkat lunak ini
diilustrasikan pada Gambar 3 berikut:
Input data Ic

Input yang
menyebabkan
hasil yang
menyimpang

Sistem

Keluaran
Oc
hasil tes

Hasil
keluaran

Gambar 3 Skema pengujian blackbox

Policy

Specification

Design

Implementation

(Operation and
Maintenance)
Gambar 4 The Security Life Cycle
Ancaman (Threat)
Ancaman merupakan kekerasan potensial
dalam suatu sistem keamanan. Analisis yang
dilakukan
bertujuan
untuk
kebutuhan
keamanan pada sistem pemilu. Pada Server
CLA untuk sistem pemilu sangat mem
butuhkan kriptografi seperti keamanan dalam
pengecekan pemilih/Voter apakah pemilih
tersebut valid atau tidak. Oleh karena itu
sistem yang dibangun perlu memperhatikan
beberapa hal yang dibagi menjadi 4 kelas,
yaitu:

4

Disclosure, merupakan akses terhadap
informasi dari pihak yang tidak berhak.
Deception, merupakan penerimaan dari
data yang salah.
Disruption, merupakan gangguan atau
pencegahan dari operasi yang benar.
Usurpation, merupakan pengaturan dari
beberapa bagian sistem oleh pihak yang
tidak berhak.
Kebijakan (Policy)
Kebijakan merupakan suatu pernyataan
yang dibutuhkan untuk membatasi sesuatu
yang diperbolehkan dan tidak dalam
pembuatan sistem pemilu. Banyak hal yang
harus diberi kebijakan seperti contoh
kebijakan atau aturan yang diterapkan oleh
KPU dalam melaksanakan pemilu secara
manual. Dalam hal ini dapat berupa suatu
prosedur, metode, alat, ruang lingkup akses
dan lain-lain.
Spesifikasi (Specification)
Setelah kebijakan dibuat, maka akan
dilakukan spesifikasi dari kebijakan tersebut.
Spesifikasi dibuat agar dapat menentukan
kebutuhan dari sistem yang akan dikerjakan.
Menurut Bishop (2003), spesifikasi adalah
pernyataan baik formal maupun informal
mengenai fungsi sistem yang diinginkan.
Spesifikasi dapat berupa bagian low-level,
kombinasi kode program dengan logika dan
hubungan kewaktuan untuk menetapkan tugas
yang dikerjakan.
Perancangan (Design)
Perancangan merupakan hal yang sangat
penting dalam pembuatan suatu sistem. Tahap
ini merupakan tahap untuk merinci kebutuhankebutuhan dari spesifikasi yang telah dibuat.
Dengan demikian perancangan tersebut tidak
diizinkan keluar dari spesifikasi yang telah
dibuat.
Perancangan dibuat secara detail, mulai
dari fungsi-fungsi yang dibutuhkan hingga
alur kerja sistem. Pada penelitian ini dibuat
perancangan dalam beberapa kelompok yaitu:
perancangan GUI untuk Voter, pengembangan
alur komunikasi CLA server dengan voter
dari penerimaan Username dan Password
hingga pengecekan (otentikasi Voter), serta
perancangan penyimpanan username dan
password dengan menggunakan Toplink
Object Relational Mapping.

Implementasi (Implementation)
Pada tahap ini hasil analisis dan
perancangan akan diimplementasikan menjadi
suatu sistem dengan lingkungan implementasi
sebagai berikut:
1

2
3
4
5
6
7

Implementasi untuk GUI menggunakan
Java Swing dan Java AWT dengan
menitikberatkan pada penggunaan Layout
Manager.
Platform : Java 1.4 (Platform independent
& inbuilt security features).
RSA (2048 bits) : Enkripsi kunci publik.
BlowFish (56 bits) : Enkripsi kunci
simetri.
SHA-1 (160 bits) : signature/Hashing.
CA : Transmisi kunci publik secara aman.
Implemetasi
untuk
penyimpanan
username dan password menggunakan
object relational mapping yaitu Toplink.

Pengujian (Testing)
Tahap pengujian dilakukan untuk menguji
apakah sistem yang dibangun memberi hasil
keluaran seperti yang diharapkan. Pengujian
pada penelitian ini dilakukan dengan Metode
Black Box dan simulasi.
Lingkungan Pengembangan
Perangkat keras dan perangkat lunak yang
digunakan dalam penelitian ini berupa
notebook dengan spesifikasi sebagai berikut:
Perangkat keras:
Processor Intel Pentium® Core TM Duo
Memori 1 GB
Harddisk 160 GB
Perangkat Lunak:
Sistem operasi: Windows XP SP2
Netbeans IDE 6.5
XAMPP-win32-1.6.8

HASIL DAN PEMBAHASAN
Threats (Ancaman)
Ancaman merupakan hal yang sangat perlu
untuk diperhatikan karena ancaman adalah
suatu tindakan yang berpotensi untuk merusak
sistem keamanan. Pada penelitian ini CLA
server membutuhkan suatu analisis ancaman
dalam hubungannya dengan komunikasi data
ke voter atau sebaliknya.

5

CLA server sebagai salah satu server yang
bertugas untuk otentikasi dan validasi voter,
sehingga ada beberapa hal kemungkinan
ancaman yang timbul, yaitu:
a

b

c

Snooping (pengintaian), ancaman ini
bersifat pasif karena pengintai hanya
memata-matai. Ancaman ini merupakan
bagian dari disclosure/ akses informasi
bagi yang tidak berwenang. Di dalam
kaitannya dengan CLA server pengintai
berusaha mengetahui username dan
password. Untuk mengatasi hal ini
dilakukan pengiriman username dan
password kepada voter melalui email
dengan terlebih dahulu voter melakukan
registrasi pada sistem.
Modification or alteration (modifikasi
atau pengubahan), ancaman ini bersifat
aktif karena melakukan perubahan
terhadap sistem yang ada. Ancaman ini
merupakan bagian dari disruption dan
usurpation/ pengaturan dan perubahan
terhadap bagian sistem oleh pihak yang
tidak berwenang . Pada CLA server
pengubahan berbahaya jika terjadi di
beberapa bagian berikut:
Pada Voter database. Database ini
merupakan tempat menyimpan data
dari CLA server yang kemudian
dikirim kepada voter melalui e-mail.
Pengubahan kunci simetri dari CLA
yang merupakan kunci untuk
keamanan komunikasi antara Voter
dan CLA. Hal ini mungkin terjadi
pada saat voter mengirimkan pesan
enkripsi “CLAID-VoterID” bersama
kunci simetri blowfish dengan kunci
publik CLA. Namun kunci publik
yang digunakan menggunakan kunci
publik dengan 2048 bit yang saat ini
kemungkinan untuk diprediksi masih
sulit.
Masquering (penyamaran) yaitu peniruan
terhadap suatu entitas terhadap entitas
yang lain. Ancaman ini akan memancing
korban (voter) agar memercayai yang
melakukan komunikasi dengannya adalah
entitas/ pihak yang benar. Akan tetapi,
sebenarnya yang berkomunikasi adalah
entitas yang lain atau disebut attacker
(penyerang). Ancaman ini merupakan
bentuk dari deceptio(penerimaan dari data
yang salah) dan usuraption Dalam
konteks CLA server hal ini terjadi jika
voter menyangka bahwa pihak yang
berkomunikasi dengannya adalah CLA
server yang benar padahal tidak. Hal ini

akan menyebabkan suara yang voter pilih
tidak dapat dihitung oleh sistem.
Sebaliknya
jika
CLA
server
menyangka ia sedang berkomunikasi
dengan voter yang benar maka hasil
perhitungan suara tidak akan valid. Untuk
menangani masalah ini diperlukan
otentikasi dari CLA server dan voter.
Untuk mengatasi hal ini, CLA dan
voter memiliki bukti untuk memastikan
bahwa masing-masing mereka merupakan
pihak yang benar. Bukti tersebut berupa
CA atau Certificate Authority. CA
merupakan identitas dari CLA dan voter.
Alur pembuktian dari masing-masing
entitas adalah ketika CLA mengirimkan
paket yang dienkripsi oleh kunci private
CLA dan didekripsi oleh voter
menggunakan kunci publik. Jika voter
tidak dapat melakukan dekripasi terhadap
paket tersebut maka CLA bukanlah
entitas yang benar.
Policy (Kebijakan)
Kebijakan keamanan adalah pernyataan
atas apa yang diperbolehkan dan tidak
diperbolehkan dalam menjalankan sebuah
sistem. Dengan demikian sistem yang
dibangun
secara
komputerisasi
akan
digunakan jika terdapat protokol yang
menjamin (Schneier 1996):
1 Privasi individu
2 Pencegahan terhadap kecurangan
Berdasarkan pemilu yang sesungguhnya,
suatu protokol yang ideal harus memiliki 6
persyaratan sebagai berikut :
1 Hanya pemilih yang berhak yang dapat
memberikan suara (Otentifikasi)
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.
Specification (Spesifikasi)
Berdasarkan ruang lingkup penelitian yang
dijelaskan sebelumnya. Sistem membutuhkan
spesifikasi sebagai berikut. Sistem protokol
kriptografi untuk CLA server, GUI untuk
voter dan database untuk menyimpan data hak
6

akses untuk CLA membutuhkan spesifikasi
sebagai berikut:
a

b

c

Sistem dari voter ke CLA membutuhkan:
1 Pengamanan data untuk pengiriman
kunci simetri. Pengiriman ini
menggunakan kunci publik.
2 CLA memperbolehkan voter untuk
masuk/log in beberapa kali, namun
untuk memilih hanya boleh satu kali.
3 Pengamanan data untuk menjaga
keutuhan data dengan menggunakan
fungsi hash.
4 Otentikasi dan verifikasi voter dan
CLA dengan menggunakan CA.
Untuk GUI sistem membutuhkan:
1 Java swing dan Java awt untuk
pembuatan GUI.
2 GUI untuk voter dapat melakukan
log in.
3 GUI untuk voter melihat hasil
komunikasi antara voter dan CLA.
4 GUI untuk voter memilih kandidat
yang hanya diperbolehkan untuk
memilih satu kandidat.
5 GUI untuk verifikasi pilihan dan
untuk log out.
Untuk menyimpan data username,
password,
dan
ValidationID
membutuhkan:
1 ORM (Object Relational Mapping)
yang berguna untuk konversi dari
database relasional ke object
oriented.
2 Database untuk tempat menyimpan
datanya.

a

Perancangan GUI yang dibutuhkan untuk
aplikasi Online Voting cukup sederhana.
Berdasarkan spesifikasi yang telah dibuat,
GUI akan dibangun dengan berbasiskan pada
container dari layout manager yang berguna
mengatur posisi dari bagian-bagian GUI. Di
samping itu, penelitian ini menggunakan
package dari Java Swing dan Java AWT untuk
pemrograman GUI.
Adapun perancangan dari GUI yang akan
dibangun adalah:
Perancangan susunan bagian-bagian
dengan menggunakan layout manager
sehingga posisinya dapat disesuaikan.
Perancangan bagian untuk voter dapat
melakukan log in (masuk ke sistem).
Bagian ini terdiri atas field untuk
username dan password serta tombol
submit agar sistem dapat menerima
username dan password dari voter.
Perancangan GUI setelah log in yaitu
perancangan bagian daftar kandidat yang
akan dipilih. Bagian ini akan dirancang
menggunakan Radio Button agar voter
hanya dapat memilih satu kandidat.
Perancangan tombol untuk melakukan
pilihan dan verifikasi pilihan.
Perancangan Result Area atau area hasil
yang berfungsi untuk menampilkan alur
dari
sistem.
Misalnya
kesalahan
memasukkan username dan password,
pengiriman data ke CLA dan lain
sebagainya yang berhubungan dengan
alur sistem secara umum.
Perancangan tombol untuk keluar dari
sistem. Bagian ini dirancang pada sistem
setelah voter melakukan log in.

Design (Perancangan)
Pada penelitian ini dilakukan beberapa
bagian perancangan sistem pemilu online.
Sebelumnya program pemilu online dibangun
oleh Sireesha, Janga dan So-In Chakchai,
akan tetapi akan dilakukan pengembangan
lebih lanjut dari sistem tersebut. Perancangan
secara umum dari sistem online voting ini
menggunakan protocol two central facilities.
Berdasarkan ruang lingkup yang dijelaskan
sebelumnya, perancangan yang dikembangkan
pada penelitian ini berfokus pada komunikasi
antara voter dan CLA hingga voter
mendapatkan nilai validationID. Perancangan
yang akan dilakukan meliputi tiga rancangan
utama yaitu: perancangan GUI untuk voter,
perancangan alur komunikasi voter dan CLA,
perancangan database menggunakan ORM.
Hasil perancangan untuk ketiga bagian
tersebut sebagai berikut:

Perancangan GUI

b

Alur komunikasi voter-CLA

Pada penelitian ini, perancangan proses
dari alur komunikasi voter ke CLA Server
dibahas secara umum.
Secara umum CLA berfungsi sebagai salah
satu server yang memiliki beberapa fungsi
utama yaitu:
1
2

3

Memberikan Certificate kepada masingmasing voter.
Melakukan pertukaran kunci simetri
blowfish dengan menggunakan kunci
publik CLA.
Melakukan otentikasi terhadap voter yang
valid.

7

Berdasarkan fungsi utama di atas, berikut
alur secara keseluruhan dari protokol voter ke
CLA. Mula-mula CLA mengirim CA kepada
voter. Setelah voter menerima CA kemudian
voter mendekripsi CA dengan menggunakan
berkas CA.publik. Hasil dari dekripsi voter
mendapatkan CLA publik.
Voter mengirimkan pesan ke CLA yang
sudah dienkripsi dengan kunci publik CLA.
Pesan tersebut berisi CLAID-VoterID,
blowfish
symmetric
key,
dan
nilai
Nounce(number used once). Nilai Nounce
atau nomor yang digunakan hanya sekali
berfungsi untuk menghindari ancaman
penyerangan kembali (reply attack). CLA
menerima
pesan
dari
voter
dan
mendekripsinya. Setelah didekripsi maka CLA
mendapatkan kunci simetri. Kunci ini
berfungsi untuk komunikasi dengan voter.
Kemudian CLA mengirim CLAID dan
VoterID dengan menggunakan SHA-1 unuk
menjaga keutuhan pesan. Kemudian CLA
mengirim pesan ke voter CLAID-VoterID
beserta nilai nounce+1.
Kemudian voter mengirimkan username
dan password kepada CLA dengan enkripsi
dan SHA-1. CLA server akan mendekripsi
pesan dari voter tersebut dan memeriksa
fungsi hashnya. Setelah dilakukan pengecekan
keutuhan pesan maka CLA akan melakukan
otentikasi username dan password dari voter.
Setelah melakukan otentikasi dan jika
dianggap valid maka CLA mengirimkan
validationID ke voter dan akan digunakan
oleh voter untuk melakukan pilihan.
Disamping itu CLA juga menambahkan
jumlah bagi voter yang sama melakukan log in
dan disimpan dalam CLA.voters-count.
Flowchart dari komunikasi CLA-voter
hingga voters mendapatkan validationID
dapat dilihat pada Gambar 5.

Membangkitkan
objek
untuk
kunci-kunci dari
server

mulai

Mengirim
CLA.cert
ke
voter
dengan
enkripsi

Membuat
koneksi jaringan

Membaca
CLA.cert

Menerima pesan
dari voter

CLA.publik,
CLA.cert

Kembali
ke mulai

CLA.publik,
CLA.private

Cek isi paket,
cocok atau
tidak ?

Tidak

KS,
nilai
nounce,
hash

CLA
mendekripsi
pesan

Ya
Mengirim
pesan
ke
voter dengan
KS

Nounce+1,
CLAIDVoterID

Dekripsi
pesan
voter

Menerima
pesan
dari
voter

CLA
mengirim
ValidationID ke
voter

dari

Ya

username,
password,
SHA1

Apakah
username &
password benar

Tidak
Alur selesai

CLA memasukkan
data log in ke
data store CLA

Kembali
mulai

ke

Gambar 5. Flowchart secara umum Alur
voter CLA

c

Perancangan
ORM

database

menggunakan

Pada penelitian ini database berfungsi
sebagai tempat menyimpan data dari
CLA.voters. Data ini kemudian akan dikirim
ke email voter yang telah melakukan registrasi
sebagai suatu verifikasi.
Database pada penelitian dirancang
menggunakan database relasional. Namun,
dikarenakan pada penelitian ini menggunakan
bahasa pemrograman Java yang berbasis
8

orientasi objek maka dibutuhkan suatu ORM/
object
relational
mapping
untuk
mengonversinya.
ORM merupakan suatu
pemetaan database yang bersifat relasional ke
orientasi objek. Perancangan database pada
penelitian ini menggunakan Toplink sebagai
ORM.
Tabel yang terdapat pada database
dibentuk menjadi objek yang dapat diakses
dari suatu model kelas tertentu. Hasil analisis
perancangan konseptual database CLA ini
hanya memiliki satu entitas, yaitu claserver
yang merepresentasikan tabel pada database
relasional. Hasil perancangan konseptual dari
database CLA ini dapat dilihat pada Tabel 1
berikut:
Tabel 1 Perancangan konseptual database
CLA
Nama
Entitas

Atribut

Deskripsi

claserver

nomor,
username,
password,
validationid

Informasi
user access

Implementation (implementasi)
Implementasi untuk pengembangan sistem
ini menggunakan bahasa pemrograman Java
dengan menggunakan IDE Netbeans 6.5.
Implementasi dari pembuatan GUI dimulai
dari menetukan posisi dari masing-masing
blok dengan mengggunakan kontainer pada
layout manager. Setiap bagian didefinisikan
dalam satu blok. Masing-masing blok juga
didefiniskan ukurannya, pengaturan posisi,
dan isi dari blok tersebut.
Pendefinisian ukuran dan posisi dilakukan
memanfaatkan fungsi dari layout manager
yaitu GridBagLayout. Pertama, dibuat objek
dari GridBagLayout. Kemudian, akan
digunakan fungsi yang ada untuk menentukan
rincian dari pengaturan masing-masing blok
yang akan dibuat.
Java Swing dan Java Awt digunakan untuk
membuat graphic seperti warna, font, tombol,
radio button untuk daftar kandidat, field dan
lain-lain.
Secara umum, hasil dari pengembangan
User Interface ada 3 bagian. Pertama, bagian
sebelum log in, kedua, bagian setelah log in
dan monitoring pada area hasil. Di lain pihak
untuk log out, voter hanya menekan tombol
log out ketika sistem berada dalam kondisi log
in.

Bagian pertama, voter akan disediakan
blok untuk melakukan log in, terdiri atas
tempat masukan username dan password.
Kedua, bagian setalah log in, sistem
menyediakan daftar pemilih dalam bentuk
radio button, tombol pilihan, tombol verifikasi
pilihan dan tombol log out. Ketiga, bagian
area hasil yang merupakan implementasi dari
TextArea dan merupakan tempat monitoring
komunikasi antara voter dan sistem. Hasil dari
pegembangan GUI dapat dilihat pada
Lampiran 2.
Pada penelitian ini, untuk CLA server
tidak dilakukan pengembangan lebih lanjut
dari sistem yang sudah ada. CLA server yang
ada hanya dianalisis dan dilakukan monitoring
stabilitas server. Secara umum CLA server
memiliki memiliki fungsi yaitu membaca
meesage digest, membaca array byte dalam
basis format 64, memisahkan ValidationID
yang kemudian dikirim ke voter dan fungsi
untuk media kontrol perhitungan bagi setiap
voter melakukan log in.
Implementasi dari pembuatan database
menggunakan bahasa pemrograman Java dan
database MySQL. Seperti yang diuraikan
pada
metode
penelitian,
untuk
menghubungkan database relasional ke
bahasa pemrograman berorientasi objek
menggunakan
Toplink Object Relational
Mapping. Toplink akan memetakan suatu tabel
ke dalam suatu kelas model agar dapat diakses
dalam bentuk objek. Dengan demikian untuk
mengakses tabel pada database tidak dalam
bentuk query biasa seperti query SQL tapi
mengakses model yang telah dibentuk menjadi
objek.
Database CLA hanya terdiri atas satu tabel
yaitu tabel dari CLAvoters. Tabel ini
menyimpan data berupa username, password
dan ValidationID. Database ini bertujuan
untuk data yang akan dikirim kepada voter
melalui email. Voter yang akan dikirimkan
adalah voter yang telah melakukan registrasi.
Proses ini merupakan proses verifikasi voter.
Testing (Pengujian)
Metode terakhir adalah tahap pengujian
terhadap sistem Online Voting. Pengujian
dilakukan menggunakan black-box testing.
Pengujian dibagi ke dalam beberapa tahap,
yaitu:
1 Tahap menjalankan berkas generate
random key yang berfungsi untuk
membentuk
berkas-berkas
yang
dibutuhkan dalam protokol sistem online
voting, dan mengecek apakah data untuk
CLAvoters masuk ke dalam database
9

sesuai dengan yang diharapkan. Tahap ini
berhasil sesuai dengan yang diharapkan.
2 Tahap pengujian terhadap penggunaan
Java Web Start pada sistem Online Voting.
Pada tahap ini akan diuji apakah sistem
sudah berjalan dengan baik dengan
protokol Two Central Facilities dan
apakah sistem sudah cukup stabil jika
digunakan di dalam jaringan. Tahap ini
berhasil.
3 Tahap pengujian GUI Online Voting.
Tahap ini menguji setiap bagian yang ada
pada GUI apakah bagian tersebut
berfungsi sesuai yang diharapkan. Tahap
ini berhasil untuk setiap bagian GUI.
Hasil pengujian secara lengkap dapat
dilihat pada Lampiran 3.
KESIMPULAN DAN SARAN
Kesimpulan
Penelitian
ini
mendapatkan
suatu
kesimpulan bahwa telah dibangun suatu
prototype dari sistem IPB Online Voting
dengan menerapkan protokol Two Central
Facilities. Sistem ini dapat meningkatkan
efektifitas dan efisiensi perhitungan suara
terkait dengan sumber daya yang meliputi
waktu, biaya dan tenaga. Hal ini terlihat sitem
dapat melakukan perhitungaan dengan cepat
dan pemilih bisa melihat perkembangannya.
Penggunaan teknologi Java Web Start akan
membuat sistem ini menjadi lebih mudah
untuk digunakan di dalam suatu jaringan. Hal
ini akan membuat setiap pemilih dapat lebih
mudah mengakses sistem ini.
Penggunaan layout manager dalam
pengembangan GUI sangat tergantung pada
posisi yang ditentukan dan juga untuk
penggunaan Java Swing dan Java Awt
memudahkan dalam pembuatan fitur-fitur
aplikasi di dalam bahasa pemrograman java.
Untuk mengakses database yang bersifat
relasional, bahasa pemrograman yang
berorientasi objek membutuhkan suatu
pemetaan suatu objek dari databasenya. Di
lain pihak penggunaan protokol kriptografi
untuk hubungan antara CLA dan voter
menentukan aman atau tidak komunikasi
sistem yang telah dibuat.
Saran
Perkembangan teknologi kriptanalis pada
saat ini cukup pesat. Dengan demikian secara
umum selalu dibutuhkan peningkatan

keamanan dari sistem Online Voting ini.
Rekomendasi yang dapat dilakukan untuk
penelitian selanjutnya diantaranya :
Sistem Online Voting yang kini
dikembangkan masih menggunakan
wireless acces point intern departemen
dalam fakultas MIPA IPB. Hal ini
mengakibatkan sistem Online Voting
hanya dapat diimplementasikan sebatas
cakupan
satu
departemen.
Pada
penelitian selanjutnya akan lebih baik
jika sistem Online Voting dapat
diimplementasikan dalam cakupan yang
lebih luas seperti dalam jaringan seluruh
kampus IPB.
Menyimpan seluruh hasil dari berkas
Generate Randomkey ke dalam database
sesuai dengan masing-masing server dan
mengenkripsi database tersebut.
Untuk
pengujian
disarankan
menggunakan metoe pengujian lain yang
menguji secara rinci protokol kriptografi
dari sistem ini.
Untuk GUI akan lebih baik jika dibuat
dengan tampilan yang lebih user friendly
seperti penambahan foto kandidat dan
lain-lain.

DAFTAR PUSTAKA
Bishop M. 2003. Computer Security: Art and
Science. Pearson Education, Inc. Boston.
Bruce S.1996. Applied Cryptography, Second
Edition, Jon Wiley & Sons.
DuFeu D, Harris J, Online Election System,
95.413
Project
Report,
Carleton
University, April 2001.
Fussel ML, 1997 Foundations of Object
Relational Mapping. Sunnyvale, California
Guritman S. 2003. Handout Mata Kuliah
Pengantar Kriptografi/ Data Security.
Fakultas Matematika dan IPA. Institut
Pertanian Bogor. Bogor.
Kurniawan
A.
2008.
Konsep
dan
Implementasi Cryptography dengan .Net.
Jakarta: PT.Dian Rakyat.
Munir R. 2004. Bahan Kuliah
IF5054
Protokol Kriptografi. Departemen Teknik
Informatika. Institut Teknologi Bandung.
Bandung.

10

Oracle.
2009.
http://www.oracle.com/
technology/products/ias/toplink/jpa/tutorial
s/.[14 Juli 2009].
Pressman R. S. 2001. Software Engineering: A
Practitioner’s Approach. 5th Ed. McGrawHill International Edition, Singapore.
Sireesha J, Chakchai SI. 2005. Secure Virtual
Election Booth with Two Central
Facilities. Department of Computer
Science Washington University in St.
Louis, USA.
Sun Microsystem. 2009. Java web start
technology.
http://Java.sun.com/
Javase/technologies/desktop/Javawebstart/i
ndex.jsp.[15 juli 2009].
Wijono S.H, Suharto B.H, Wijono M.S,. 2006.
Pemrograman GUI Swing Java dengan
NetBeans 5. Yogyakarta:C.V ANDI
OFFSET

11

LAMPIRAN

Lampiran 1 Skema pemilihan dengan Two Central Facilities dan ruang lingkup penelitian

Ruang lingkup

Lampiran 2 Hasil pengembangan GUI untuk sistem Online Voting
Tampilan awal terdapat blok untuk voter melakukan log in, result area akan selalu aktif sampai voter
keluar dari sistem.

Blok log in

Result Area

13

Tampilan setelah login

Daftar kandidat

Tombol pilihan dan
verifikasi pilihan

Tombol keluar sistem

14

Lampiran 3 Pengujian Blackbox sistem Online Voting
Tabel Pengujian Situs IPB Online Voting
No.

Deskripsi Uji

Kondisi Awal

Skenario Uji

Hasil yang
diharapkan

Hasil Uji

1

Membuka halaman
utama

Halaman
utama belum
diakses oleh
voter

Voter membuka
halaman utama

Halaman
utama dapat
ditampilkan

Berhasil

2

Menampilkan
diagram hasil
pemilu

Halaman
utama belum
diakses oleh
voter

Voter membuka
halaman utama

Tampil
diagram
hasil pemilu

Berhasil

3

Melakukan
registrasi sebagai
pemilih (voter)

Form registrasi
masih dalam
keadaan
kosong

Voter
memasukkan
data sebagai
berikut :

Data
tersimpan
dalam
database
CLA

Berhasil

Nama depan
Nama belakang
Nrp
Nama ibu
kandung
Email

4

Membuka halaman
profil kandidat

Halaman profil
kandidat
belum diakses
oleh voter

Voter membuka
halaman profil
kandidat

Halaman
profil
kandidat
dapat
ditampilkan

Berhasil

5

Membuka halaman
pemilihan umum

Halaman
pemilihan
umum belum
diakses oleh
voter

Voter membuka
halaman
pemilihan
umum

Halaman
pemilihan
umum dapat
ditampilkan

B