Analisis Dan Pengembangan Sistem Tabulasi CTF Berbasis … · Selama mengikuti perkulian, penulis...

23
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 2009

Transcript of Analisis Dan Pengembangan Sistem Tabulasi CTF Berbasis … · Selama mengikuti perkulian, penulis...

Page 1: Analisis Dan Pengembangan Sistem Tabulasi CTF Berbasis … · Selama mengikuti perkulian, penulis aktif di berbagai organisasi ekstra kampus di antaranya kepengurusan Himpunan Mahasiswa

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

2009

Page 2: Analisis Dan Pengembangan Sistem Tabulasi CTF Berbasis … · Selama mengikuti perkulian, penulis aktif di berbagai organisasi ekstra kampus di antaranya kepengurusan Himpunan Mahasiswa

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

2009

Page 3: Analisis Dan Pengembangan Sistem Tabulasi CTF Berbasis … · Selama mengikuti perkulian, penulis aktif di berbagai organisasi ekstra kampus di antaranya kepengurusan Himpunan Mahasiswa

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.

Page 4: Analisis Dan Pengembangan Sistem Tabulasi CTF Berbasis … · Selama mengikuti perkulian, penulis aktif di berbagai organisasi ekstra kampus di antaranya kepengurusan Himpunan Mahasiswa

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

Tanggal Lulus:

Page 5: Analisis Dan Pengembangan Sistem Tabulasi CTF Berbasis … · Selama mengikuti perkulian, penulis aktif di berbagai organisasi ekstra kampus di antaranya kepengurusan Himpunan Mahasiswa

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

Indonesia II pada bulan Juni 2009 di Jakarta.

Page 6: Analisis Dan Pengembangan Sistem Tabulasi CTF Berbasis … · Selama mengikuti perkulian, penulis aktif di berbagai organisasi ekstra kampus di antaranya kepengurusan Himpunan Mahasiswa

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

Boyke Fadhliy

Page 7: Analisis Dan Pengembangan Sistem Tabulasi CTF Berbasis … · Selama mengikuti perkulian, penulis aktif di berbagai organisasi ekstra kampus di antaranya kepengurusan Himpunan Mahasiswa

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

LAMPIRAN ..................................................................................................................................... 11

Page 8: Analisis Dan Pengembangan Sistem Tabulasi CTF Berbasis … · Selama mengikuti perkulian, penulis aktif di berbagai organisasi ekstra kampus di antaranya kepengurusan Himpunan Mahasiswa

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 3 Hasil pengujian sistem IPB Online Voting dengan metode blackbox testing ................................... 12

Page 9: Analisis Dan Pengembangan Sistem Tabulasi CTF Berbasis … · Selama mengikuti perkulian, penulis aktif di berbagai organisasi ekstra kampus di antaranya kepengurusan Himpunan Mahasiswa

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

authentication) maupun keaslian data dari

Page 10: Analisis Dan Pengembangan Sistem Tabulasi CTF Berbasis … · Selama mengikuti perkulian, penulis aktif di berbagai organisasi ekstra kampus di antaranya kepengurusan Himpunan Mahasiswa

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-

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 Dekripsiplaintext

chipertextplaintexts

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 Dekripsiplaintext

chipertextplaintexts

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

Page 11: Analisis Dan Pengembangan Sistem Tabulasi CTF Berbasis … · Selama mengikuti perkulian, penulis aktif di berbagai organisasi ekstra kampus di antaranya kepengurusan Himpunan Mahasiswa

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

Page 12: Analisis Dan Pengembangan Sistem Tabulasi CTF Berbasis … · Selama mengikuti perkulian, penulis aktif di berbagai organisasi ekstra kampus di antaranya kepengurusan Himpunan Mahasiswa

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

Page 13: Analisis Dan Pengembangan Sistem Tabulasi CTF Berbasis … · Selama mengikuti perkulian, penulis aktif di berbagai organisasi ekstra kampus di antaranya kepengurusan Himpunan Mahasiswa

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.

Page 14: Analisis Dan Pengembangan Sistem Tabulasi CTF Berbasis … · Selama mengikuti perkulian, penulis aktif di berbagai organisasi ekstra kampus di antaranya kepengurusan Himpunan Mahasiswa

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.

Page 15: Analisis Dan Pengembangan Sistem Tabulasi CTF Berbasis … · Selama mengikuti perkulian, penulis aktif di berbagai organisasi ekstra kampus di antaranya kepengurusan Himpunan Mahasiswa

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.

Page 16: Analisis Dan Pengembangan Sistem Tabulasi CTF Berbasis … · Selama mengikuti perkulian, penulis aktif di berbagai organisasi ekstra kampus di antaranya kepengurusan Himpunan Mahasiswa

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

VotingcandidatevoteMemiliki

1

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

Page 17: Analisis Dan Pengembangan Sistem Tabulasi CTF Berbasis … · Selama mengikuti perkulian, penulis aktif di berbagai organisasi ekstra kampus di antaranya kepengurusan Himpunan Mahasiswa

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.

Page 18: Analisis Dan Pengembangan Sistem Tabulasi CTF Berbasis … · Selama mengikuti perkulian, penulis aktif di berbagai organisasi ekstra kampus di antaranya kepengurusan Himpunan Mahasiswa

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,

Inc.

Page 19: Analisis Dan Pengembangan Sistem Tabulasi CTF Berbasis … · Selama mengikuti perkulian, penulis aktif di berbagai organisasi ekstra kampus di antaranya kepengurusan Himpunan Mahasiswa

LAMPIRAN

Page 20: Analisis Dan Pengembangan Sistem Tabulasi CTF Berbasis … · Selama mengikuti perkulian, penulis aktif di berbagai organisasi ekstra kampus di antaranya kepengurusan Himpunan Mahasiswa

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

hasil pemilu Berhasil

Page 21: Analisis Dan Pengembangan Sistem Tabulasi CTF Berbasis … · Selama mengikuti perkulian, penulis aktif di berbagai organisasi ekstra kampus di antaranya kepengurusan Himpunan Mahasiswa

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

Page 22: Analisis Dan Pengembangan Sistem Tabulasi CTF Berbasis … · Selama mengikuti perkulian, penulis aktif di berbagai organisasi ekstra kampus di antaranya kepengurusan Himpunan Mahasiswa

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

Page 23: Analisis Dan Pengembangan Sistem Tabulasi CTF Berbasis … · Selama mengikuti perkulian, penulis aktif di berbagai organisasi ekstra kampus di antaranya kepengurusan Himpunan Mahasiswa

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

Berhasil