SKRIPSI
Diajukan Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana
Komputer (S.Kom)
Disusun Oleh :
NIM : 1112091000082
JAKARTA
2016 M/1437 H
PERNYATAAN ORISINILITAS
ii
PERANCANGAN DAN IMPLEMENTASI APLIKASI E-VOTING
MENGGUNAKAN WEB SERVICES PADA PEMILIHAN UMUM
MAHASISWA UIN SYARIF HIDAYATULLAH JAKARTA
Skripsi
Diajukan Untuk Memenuhi Persyaratan Memperoleh Gelar
Sarjana Komputer (S.Kom)
Fakultas Sains dan Teknologi
Oleh :
Dzaka Ammar Ibrahim
1112091000082
Menyetujui,
Pembimbing I, Pembimbing II,
Mengetahui, Arini, MT
Ketua Program Studi Teknik NIP. 19760131200901 2 001
Informatika
iii
iv
Nama : Dzaka Ammar Ibrahim
Program Studi : Teknik Informatika
Judul : Perancangan dan Implementasi Aplikasi E-Voting
Menggunakan Web Service Pada Pemilihan Umum
Mahasiswa UIN Syarif Hidayatullah Jakarta
ABSTRAK
v
KATA PENGANTAR
Bismillahirahmanirrahim …
Alhamdulillahirabbilalamiin, rasa syukur penulis panjatkan kepada Allah
SWT atas limpahan kasih sayang serta karunia-Nya sehingga penulis dapat
menyelesaikan tugas akhir dengan baik. Shalawat serta salam tak lupa penulis
haturkan kepada baginda besar Nabi Muhammad SAW. yang telah membawa
umatnya dari zaman jahiliyah dan kebodohan menuju zaman islamiyah dan penuh
ilmu pengetahuan seperti saat ini.
Dalam penyelesaian Tugas Akhir ini tidak terlepas dari bantuan, bimbingan
serta doa dari berbagai pihak, Untuk itu penulis ingin mengucapkan terima kasih
yang tak terhingga kepada:
1. Bapak Dr. Agus Salim, M.Si, selaku Dekan Fakultas Sains dan Teknologi.
2. Ibu Arini, MT, selaku Ketua Program Studi Teknik Informatika.
3. Bapak Feri Fahrianto, M.Sc. selaku Sekretaris Program Studi Teknik
Informatika
4. Bapak Husni Teja Sukmana, Ph.D dan Bapak M. Tabah Rosyadi, MA,
selaku Dosen Pembimbing yang senantiasa sabar dan luar bisaa dalam
membimbing, memberikan nasihat serta saran yang bermanfaat sehingga
dapat menyelesaikan tugas akhir ini dengan baik.
5. Kedua orang tua ayahanda Kamran R. Lossen dan ibunda Sri Murni, adik-
adik, dan semua keluarga yang telah memberikan dukungan secara penuh
kepada penulis, baik materi maupun non materi, sehingga penulis dapat
menyelesaikan tugas akhir ini dengan lancar.
6. Hilman Afriansyah Halim, selaku Ketua KPU UIN Syarif Hidayatullah
Jakarta Tahun 2014 dan juga sahabat baik penulis, yang telah berkenan
diwawancarai terkait dengan tugas akhir penulis. Sampai kita berkopi ria
lagi.
vi
7. Aprilian Cena, selaku Ketua BAWASLU UIN Syarif Hidayatullah Jakarta
Tahun 2014, yang telah berkenan diwawancari terkait dengan tugas akhir
penulis.
8. Senat Mahasiswa UIN Syarif Hidayatullah Jakarta periode 2014-2015 yang
telah berkenan memberikan data terkait dengan penelitian ini.
9. Pihak Pusat Teknologi Informasi dan Pangkalan Data (PUSTIPANDA)
UIN Syarif Hidayatullah Jakarta, khususnya kepada Bapak Nashrul
Hakiem, Ph.D selaku Kepala PUSTIPANDA UIN Syarif Hidayatullah
Jakarta dan Bapak Supardi selaku Tim IT PUSTIPANDA, yang telah
memberikan izin kepada penulis untuk melakukan penelitian dan
memberikan web service sebagai bahan penelitian penulis.
10. Nurul Amalia Salabi, sebagai partner belajar dan berjuang yang telah
memberikan motivasi, baik secara langsung maupun tidak langsung, untuk
segera menyelesaikan studi S1. Semoga dapat selalu menjadi partner yang
baik dan saling membangun.
11. Para sahabat setia yang telah menemani dan memberikan “dorongan”
maupun “tarikan” kepada penulis, yaitu Fikri Amaliden Aziz, Muhammad
Fajri a.k.a Komeng, Eko Prasetyo, dan Mochammad Sufiandi Hasbullah.
Semoga kalian dipermudah dan dipercepat dalam menyelesaikan studi S1.
Amin.
12. Sahabat-sahabat di MMG, yang selalu memberikan canda tawa, masukan-
masukan, dan juga kenangan selama menjalani masa kuliah di kampus dan
pada saat proses penyelesaian tugas akhir ini. Kalian luar biasa.
13. Tim Alphaboard Development (http://www.alphaboarddev.com) yang
selama ini menjadi partner bisnis dan kawan belajar. Terima kasih telah
memberikan ilmu yang bermanfaat untuk penulis.
14. Sahabat-sahabat berproses di Himpunan Mahasiswa Islam Komisariat
Fakultas Sains dan Teknologi (HMI KOMFASTEK) Cabang Ciputat yang
telah menjadi tempat menempa diri penulis, menjadi Kawah Candradimuka,
vii
untuk kemudian menjadikan penulis berposes menuju insan cita. Semoga
semakin progresif, modern, dan inklusif. Yakin Usaha Sampai.
15. Seluruh kawan-kawan jurusan Teknik Informatika 2012 program CCIT
yang telah menemani dan memberi pembelajaran selama masa kuliah
penulis.
Serta semua pihak yang telah membantu penulis dalam menyelesaikan tugas
akhir ini yang tidak dapat disebutkan satu persatu semoga Allah senantiasa
membalas kebaikan dengan pahala berlipat ganda. Penulis menyadari bahwa dalam
penulisan tugas akhir ini masih jauh dari kesempurnaan. Oleh karena itu, saran dan
kritik senantiasa terbuka guna perbaikan dan kesempurnaan tugas akhir ini.
Harapan Penulis semoga laporan ini dapat bermanfaat.
viii
DAFTAR ISI
xi
DAFTAR GAMBAR
xiii
Gambar 4.57 Skema Class Diagram................................................................... 112
Gambar 4.58 Perancangan Antar Muka Halaman Login KPU dan KPPS .......... 113
Gambar 4.59 Perancangan Antar Muka Halaman Admin KPU ......................... 113
Gambar 4.60 Perancangan Antar Muka Halaman Admin KPPS ........................ 114
Gambar 4.61 Perancangan Antar Muka Halaman Login Pemilih....................... 114
Gambar 4.62 Perancangan Antar Muka Halaman Pemilihan ............................. 115
Gambar 4.63 Pembuatan Kunci Privat ................................................................ 116
Gambar 4.64 Pembuatan Kunci Publik ............................................................... 116
Gambar 4.65 Kode Enkripsi................................................................................ 117
Gambar 4.66 Contoh Hasil Enkripsi ................................................................... 117
Gambar 4.67 Kode Dekripsi ............................................................................... 118
Gambar 4.68 Contoh Hasil Dekripsi ................................................................... 119
Gambar 4.69 Contoh Hasil Web Service ............................................................. 122
Gambar 5.1 Menginput Data Lembaga Jurusan .................................................. 131
Gambar 5.2 Daftar Data Lembaga Jurusan ......................................................... 132
Gambar 5.3 Menginput Data Lembaga Fakultas ................................................ 133
Gambar 5.4 Daftar Data Lembaga Fakultas ........................................................ 133
Gambar 5.5 Menginput Data Lembaga Universitas ............................................ 134
Gambar 5.6 Daftar Data Lembaga Universitas ................................................... 135
Gambar 5.7 Menginput Data Calon Lembaga Jurusan ....................................... 135
Gambar 5.8 Daftar Data Calon Lembaga Jurusan .............................................. 136
Gambar 5.9 Menginput Data Calon Lembaga Fakultas ...................................... 137
Gambar 5.10 Daftar Data Calon Lembaga Fakultas ........................................... 137
Gambar 5.11 Menginput Data Calon Lembaga Universitas ............................... 138
Gambar 5.12 Daftar Data Calon Lembaga Universitas ...................................... 139
Gambar 5.13 Menginput Data KPPS .................................................................. 139
Gambar 5.14 Daftar Data KPPS.......................................................................... 140
Gambar 5.15 Meregistrasi DPT/Pemilih ............................................................. 141
Gambar 5.16 Hasil Registrasi DPT/Pemilih ....................................................... 141
Gambar 5.17 Login Pemilih ................................................................................ 142
Gambar 5.18 Halaman Pemilihan ....................................................................... 143
Gambar 5.19 Keluar Setelah Pemilihan .............................................................. 143
Gambar 5.20 Menginput Kunci Privat ................................................................ 144
xiv
Gambar 5.21 Hasil Pemilihan Lembaga Jurusan ................................................ 145
Gambar 5.22 Hasil Pemilihan Lembaga Fakultas (DEMA) ............................... 146
Gambar 5.23 Hasil Pemilihan Lembaga Fakultas (SEMA) ................................ 146
Gambar 5.24 Hasil Pemilihan Lembaga Universitas (DEMA)........................... 147
Gambar 5.25 Hasil Pemilihan Lembaga Universitas (SEMA) ........................... 148
Gambar 5.26 Hasil Pemilihan Setelah Enkripsi .................................................. 148
xv
DAFTAR TABEL
xvi
1
BAB 1
PENDAHULUAN
adanya cap dalam surat suara, proses eliminasi suara yang tidak valid, dan akurasi
dalam proses penghitungan. (Ben Goldsmith, 6:2011)
Namun disamping adanya kelebihan tersebut, E-Voting juga memiliki
beberapa kelemahan yang tidak terdapat pada sistem pemilihan manual. Yaitu
adanya kerahasiaan hasil suara. Dalam sistem pemilihan manual, seseorang tidak
mampu mengidentifikasi dan memastikan pilihan/surat suara dari seorang pemilih,
dikarenakan tidak adanya ciri tertentu dalam kertas surat suara. Hal itu juga terjadi
pada hasil pemilihan, dimana tim pelaksana tidak mampu mengetahui hasil dari
pemilihan sebelum diadakannya penghitungan secara manual. Namun berbeda
dalam sistem E-Voting, yaitu hasil suara dapat diidentifikasi dan kemudian
dipastikan kepemilikan dari hasil suara tersebut. Hal ini dikarenakan pada
umumnya dan sudah menjadi keharusan bahwa sebelum melakukan pemilihan,
pemilih harus teridentifikasi terlebih dahulu dan terdapat relasi atau link atara
pemilih dan hasil suaranya dilihat dari adanya tanda dari hasil suara yang identik
dengan sang pemilih. (Ben Goldsmith, 8:2011; Edi Priyono, et.al, 2010)
Dalam penelitian yang dilakukan oleh Tika Rahmadian yang berjudul
Desain dan Implementasi Sistem Keamanan E-Voting Dengan Jaminan
Confidentiality Data, telah dibuktikan bahwa penggunaan kriptografi RSA mampu
mengamankan dan merahasiakan data hasil suara. Hal itu dibuktikan dengan
melakukan beberapa testing dan simulasi merubah data hasil suara yang telah
disimpan di dalam database. Namun dalam penelitian tersebut, sistem yang
diterapkan adalah sistem pemilihan pada umumnya, dengan mengambil referensi
sistem pemilihan di Indonesia. Dengan adanya penilitian tersebut, penggunaan
kriptografi RSA dapat menjadi teknik dalam merahasiakan data pemilihan, agar
sistem yang akan dibuat dapat sesuai dengan asas-asas pemilihan.
Penggunaan data mahasiswa dalam Pemilihan Umum Mahasiswa UIN
Jakarta adalah salah satu kebutuhan utama. Dalam menentukan calon pemilih, KPU
memerlukan ketersediaan data mahasiswa yang valid. Menurut Hilman Afriansyah
Halim, dalam mengumpulkan data mahasiswa guna proses penentuan Daftar
Pemilih Tetap, KPU berkoordinasi dengan Pusat Teknologi Informasi dan
Pangkalan Data (PUSTIPANDA) UIN Syarif Hidayatullah Jakarta. Yaitu dengan
BAB 2
LANDASAN TEORI
voting ada berbagai macam cara yang dapat dilakukan dalam proses
identifikasi dan autentikasi, yaitu :
a. Something you know (sesuatu yang anda tahu), contohnya adalah password
atau PIN.
b. Something you have (sesuatu yang anda punya), contohnya adalah
smartcard dan token.
c. Something you are (sesuatu yang mencirikan anda), contohnya adalah citra
sidik jari, suara, retina, atau kareteristik iris.
menjaga keamanan pesan ketika pesan dikirim dari suatu tempat ke tempat
lain. Menurut Yusuf Kurniawan (2004), kriptografi tidak hanya
memberikan kerahasiaan, namun juga memberikan aspek-aspek keamanan
seperti berikut ini :
a. Authentication : penerima pesan dapat memastikan keaslian
pengirimnya. Penyerang tidak dapat berpura-pura sebgai orang lain.
b. Integrity : penerima harus dapat memeriksa apakah pesan telah
dimodifikasi di tengah jalan atau tidak. Seorang penyusup seharusnya
tidak dapat memasukkan tambahan ke dalam pesan, mengurangi, atau
mengubah pesan selama data berada di perjalanan.
c. Non repudiation : pengirim seharusnya tidak dapat mengelak bahwa
dialah pengirim pesan yang sesungguhnya.
d. Authority : Informasi yang berada pada sistem jaringan seharusnya
hanya dapat dimodifikasi oleh pihak yang berwenang.
nama aktor
2. Activity Diagram
Activity diagram atau diagram aktivitas menggambarkan workflow
(aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis.
fungsi
3. Sequence Diagram
4. Class Diagram
Class diagram menggambarkan struktur sistem dari segi
pendifinisian kelas-kelas yang akan dibuat untuk membangun sistem.
Kelas memiliki apa yang disebut atribut dan metode atau operasi.
a. Atribut merupakan variabel-variabel yang dimiliki oleh suatu
kelas
b. Operasi atau metode adalah fungsi-fungsi yang dimiliki oleh
suatu kelas.
Berikut adalah simbol-simbol yang ada pada diagram kelas :
ClassName
-memberName
-memberName
<<Interface>>
InterfaceName
-memberName
-memberName
Asosiasi berarah / directed association Relasi antar kelas dengan makna kelas
yang satu digunakan oleh kelas yang
lain, asosiasi biasanya juga disertai
dengan multiplicity.
Requirements
analysis and
definition
System and
software design
Implementation and
unit testing
Integration and
system testing
Operation and
maintenance
j. Pengujian skenario
k. Pengujian regresi
l. Penerimaan pengguna
m. Pengujian alfa
n. Pengujian beta
Contoh sintaks diatas berfungsi untuk mengambil seluruh data yang ada
pada tabel yang direpresentasikan oleh model User.
BAB 3
METODOLOGI PENGEMBANGAN SISTEM
c. Studi Pustaka
Penulis melakukan studi pustaka sebagai bahan tambahan guna melengkapi
kekurangan-kekurangan data yang diperoleh dari hasil wawancara. Penulis
menggunakan ketetapan regulasi, yaitu Ketetapan Senat Mahasiswa UIN
Syarif Hidayatullah Jakarta Nomor 11 tahun 2015 tentang Pedoman
Pemilihan Umum Mahasiswa.
Pada pengumpulan data ini, penulis juga mempelajari buku-buku yang
berhubungan dengan masalah yang akan dibahas dalam penulisan ini.
Pencarian melalui media elektronik seperti internet juga dilakukan untuk
memperoleh data-data tambahan yang tidak ditemukan pada media cetak.
4. Class Diagram
Tahap ini menjelaskan kelas-kelas yang akan dibangun menjadi sebuah
model serta relasi antar kelas
Mulai
Gambaran Umum
Kebutuhan Sistem
Metodologi
Studi Pustaka
Pengumpulan Data
Arsitektur Sistem
Observasi
Perancangan
Activity Diagram
Perancangan
Sequence Diagram
Perancangan Class
Diagram
Metodologi
Pengembangan Model Waterfall
Sistem
Implementasi Web
Service
Implementasi
Aplikasi
Integration and
Pengujian Black Box
system testing
Operation and
maintenance
Selesai
BAB 4
ANALISIS, PERANCANGAN SISTEM, IMPLEMENTASI, DAN
PENGUJIAN
sistem E-Voting yang akan dibuat. Berdasarkan hasil analisis yang telah
dilakukan, maka didapatkan bahwa bahwa aktor-aktor yang terlibat adalah
KPU, KPPS, dan Pemilih. Adapun kebutuhan pada aktor tersebut adalah
sebagai berikut :
Tier 1 : Presentasi
Tier 3 :
Pemrosesan
Komputer Pemilih
Akses Menggunakan Database
Intranet UIN Jakarta
Komputer Pemilih
Pada arsitektur sistem yang telah dibangun, web server dan database
server dapat menggunakan infrastruktur yang ada pada UIN Syarif
Hidayatullah Jakarta. Sehingga sistem E-Voting yang akan dibangun akan
bersifat closed system, yang artinya hanya dapat diakses menggunakan koneksi
intranet yang disediakan oleh pihak UIN Syarif Hidayatullah Jakarta. Konsep
ini akan membuat sistem E-Voting hanya bisa diakses oleh komputer-komputer
khusus yang diberikan izin untuk mengangkses sistem E-Voting. Selain itu,
konsep ini akan sejalan dengan prosedur Pemilihan Umum Mahasiswa UIN
Syarif Hidayatullah Jakarta yang memungkinkan pemilih untuk melakukan
pemilihan pada tempat yang telah disediakan oleh KPU atau KPPS di tiap-tiap
fakultas.
Request URI
Response JSON
Data-data tersebut memiliki relasi, yang mana antara data fakultas, data
jurusan, dan data mahasiswa saling memiliki keterhubungan. Data mahasiswa
memiliki keterhubungan dengan data jurusan dan data fakultas. Hubungan itu
berasal dari letak jurusan dan fakultas dimana mahasiswa itu berada. Data
jurusan memiliki keterhubungan dengan data fakultas dan hubungan itu berasal
dari letak fakultas dimana jurusan itu berada.
Dengan adanya ketentuan tersebut, maka dapat diperoleh ketentuan
dalam web services yang akan digunakan. Adapun ketentuan web service
adalah sebagai berikut :
a. Admin KPU
Mengelola KPPS
<<extend>>
KPU Sistem
Masuk Halaman
Utama
Menampilkan Status
Pemilihan
Ubah Status
Pemilihan
Mengubah Status
Pemilihan
Ubah Status
Status == Berlangsung Pemilihan Menjadi
'Selesai'
Status == Persiapan
Ubah Status
Pemilihan Menjadi
'Berlangsung'
Phase
2. Input KPPS
Input KPPS
Menampilkan Form
Tambah KPPS dan
Data Fakultas
Mengisi Form
Tambah KPPS dan Gagal
Pilih Fakultas
validasi
Berhasil
Proses diatas menggambarkan alur kerja dari aktor admin KPU yang
berinterkasi dengan sistem dalam proses menginput/membuat admin KPPS.
Terlebih dahulu admin KPU memilih menu tambah KPPS, menginput form
yang telah disediakan, memilih fakultas, dan menyimpannya ke dalam
database.
3. Hapus KPPS
Hapus KPPS
Menampilkan Daftar
KPPS
Pilih Hapus pada
Daftar KPPS
Menampilkan Daftar
Fakultas
Pilih Fakultas
Menampilkan Daftar
Jurusan
Pilih Jurusan
Menampilkan Daftar
Lembaga Jurusan
validasi
Berhasil
Simpan Data
Lembaga Jurusan
Phase
Menampilkan Daftar
Fakultas
Pilih Fakultas
Menampilkan Daftar
Jurusan
Pilih Jurusan
Menampilkan Daftar
Lembaga Jurusan
validasi
Berhasil
Update Data
Lembaga Jurusan
Phase
Pada aktivitas ini, admin KPU memilih fakultas dan jurusan dimana
lembaga jurusan yang ingin diinput berada. Sistem menampilkan daftar
lembaga jurusan pada jurusan yang telah dipilih. Admin memilih data yang
akan diedit dengan menekan tombol edit pada row data. Admin mengisi form
edit dan klik tombol update. Data didalam database akan terupdate oleh sistem.
Menampilkan Daftar
Fakultas
Pilih Fakultas
Menampilkan Daftar
Jurusan
Pilih Jurusan
Menampilkan Daftar
Lembaga Jurusan
Pada aktivitas ini, admin KPU memilih fakultas dan jurusan dimana
lembaga jurusan yang akan dihapus berada. Sistem akan menampilkan daftar
lembaga jurusan pada jurusan yang dipilih oleh admin KPU. Kemudian admin
KPU memilih data lembaga jurusan yang akan dihapus dengan menekan
tombol hapus pada row data yang tersedia. Data akan terhapus pada database
oleh sistem.
Menampilkan Daftar
Fakultas
Pilih Fakultas
Menampilkan Daftar
Lembaga Fakultas
validasi
Berhasil
Simpan Data
Lembaga Fakultas
Phase
Pada aktivitas ini, admin KPU memilih fakultas dimana data lembaga
fakultas akan diinput. Sistem akan menampilkan daftar lembaga fakultas pada
fakultas yang dipilih. Admin KPU memilih menu Tambah Lembaga Fakultas.
Admin KPU mengisi form yang tersedia dan klim tombol simpan. Data akan
tersimpan ke dalam database oleh sistem.
Menampilkan Daftar
Fakultas
Pilih Fakultas
Menampilkan Daftar
Lembaga Fakultas
validasi
Berhasil
Update Data
Lembaga Fakultas
Phase
Pada aktivitas ini, admin KPU memilih fakultas dimana data lembaga
fakultas yang akan diedit berada. Sistem akan menampilkan daftar lembaga
fakultas pada fakultas yang dipilih. Admin KPU memilih data lembaga fakultas
yang akan dipilih dengan memilih tombol edit pada row data. Admin KPU
mengisi form edit lembaga fakultas dan menekan tombol update. Data di dalam
database akan terupdate ke oleh sistem.
Menampilkan Daftar
Fakultas
Pilih Fakultas
Menampilkan Daftar
Lembaga Fakultas
Menampilkan Daftar
Lembaga Universitas
validasi
Berhasil
Simpan Data
Lembaga Universitas
Phase
Menampilkan Daftar
Lembaga Universitas
validasi
Berhasil
Update Data
Lembaga Universitas
Phase
Menampilkan Daftar
Lembaga Universitas
Menampilkan Daftar
Fakultas
Pilih Fakultas
Menampilkan Daftar
Jurusan
Pilih Jurusan
Menampilkan Daftar
Lembaga Jurusan
Pilih Lembaga
Jurusan
Menampilkan Daftar
Calon Lembaga
Jurusan
Pilih Menu Tambah
Calon Lembaga
Jurusan
Menampilkan Form
Tambah Calon
Lembaga Jurusan
Mengisi Form
Tambah Calon Gagal
Lembaga Jurusan
validasi
Berhasil
Pada aktivitas ini, admin KPU memilih fakultas, jurusan, dan lembaga
jurusan dimana calon yang akan diinput tersebut berada. Sistem akan
mengarahkan dan menampilkan data-data fakultas, jurusan, lembaga jurusan,
dan calon lembaga jurusan secara hirarkis. Admin KPU memilih menu tambah
calon lembaga jurusan dan mengisi form yang tersedia. Admin KPU menekan
tombol pilih dan data akan tersimpan ke dalam sistem.
Menampilkan Daftar
Fakultas
Pilih Fakultas
Menampilkan Daftar
Jurusan
Pilih Jurusan
Menampilkan Daftar
Lembaga Jurusan
Pilih Lembaga
Jurusan
Menampilkan Daftar
Calon Lembaga
Jurusan
Pilih Edit pada Daftar
Calon Lembaga
Jurusan
Menampilkan Form
Edit Calon Lembaga
Jurusan
Mengisi Form Edit
Calon Lembaga Gagal
Jurusan
validasi
Berhasil
Pada aktivitas ini, admin KPU memilih fakultas, jurusan, dan lembaga
jurusan dimana data calon yang akan diedit berada. Sistem akan mengarahkan
dan menampilkan data-data fakultas, jurusan, lembaga jurusan, dan calon
lembaga jurusan secara hirarkis. Admin KPU memilih data yang akan diedit
dengan menekan tombol edit pada row data. Admin KPU mengisi form edit
yang tersedia dan menekan tombol update. Data didalam sistem akan berubah.
Menampilkan Daftar
Fakultas
Pilih Fakultas
Menampilkan Daftar
Jurusan
Pilih Jurusan
Menampilkan Daftar
Lembaga Jurusan
Pilih Lembaga
Jurusan
Menampilkan Daftar
Calon Lembaga
Jurusan
Pilih Hapus pada
Daftar Calon
Lembaga Jurusan
Hapus Data Calon
Lembaga Jurusan
Phase
Pada aktivitas ini, admin KPU memilih fakultas, jurusan, dan lembaga
fakultas dimana data calon yang akan dihapus berada. Sistem akan
mengarahkan dan menampilkan data-data fakultas, jurusan, lembaga jurusan,
dan calon lembaga jurusan secara hirarkis. Admin KPU memilih data yang
akan dihapus dengan menekan tombol hapus pada row data. Data didalam
sistem akan terhapus.
Menampilkan Daftar
Fakultas
Pilih Fakultas
Menampilkan Daftar
Lembaga Fakultas
Pilih Lembaga
Fakultas
Menampilkan Daftar
Calon Lembaga
Fakultas
Pilih Menu Tambah
Calon Lembaga
Fakultas
Menampilkan Form
Tambah Calon
Lembaga Fakultas
Mengisi Form
Tambah Calon Gagal
Lembaga Fakultas
validasi
Berhasil
Pada aktivitas ini, admin KPU memilih fakultas dan lembaga fakultas
dimana data calon yang akan diinput berada. Sistem akan mengarahkan dan
menampilkan data-data fakultas, lembaga fakultas, dan calon lembaga fakultas
secara hirarkis. Admin KPU memilih menu tambah calon lembaga fakultas dan
mengisi form yang telah disediakan. Admin KPU menekan tombol simpan dan
data akan tersimpan ke dalam sistem.
Menampilkan Daftar
Fakultas
Pilih Fakultas
Menampilkan Daftar
Lembaga Fakultas
Pilih Lembaga
Fakultas
Menampilkan Daftar
Calon Lembaga
Fakultas
Pilih Edit pada Daftar
Calon Lembaga
Fakultas
Menampilkan Form
Edit Calon Lembaga
Fakultas
Mengisi Form Edit
Calon Lembaga Gagal
Fakultas
validasi
Berhasil
Pada aktivitas ini, admin KPU memilih fakultas dan lembaga fakultas
dimana data calon yang akan diedit berada. Sistem akan mengarahkan dan
Menampilkan Daftar
Fakultas
Pilih Fakultas
Menampilkan Daftar
Lembaga Fakultas
Pilih Lembaga
Fakultas
Menampilkan Daftar
Calon Lembaga
Fakultas
Pilih Hapus pada
Daftar Calon
Lembaga Fakultas
Hapus Data Calon
Lembaga Fakultas
Phase
Pada aktivitas ini, admin KPU memilih fakultas dan lembaga fakultas
dimana data calon yang akan dihapus berada. Sistem akan mengarahkan dan
menampilkan data-data fakulta, lembaga fakultas, dan calon lembaga fakultas
secara hirarkis. Admin KPU memilih data yang akan dihapus dengan menekan
tombol hapus pada row data. Data di dalam sistem akan terhapus.
Menampilkan Daftar
Lembaga Universitas
Pilih Lembaga
Universitas
Menampilkan Daftar
Calon Lembaga
Universitas
Pilih Menu Tambah
Calon Lembaga
Universitas
Menampilkan Form
Tambah Calon
Lembaga Universitas
Mengisi Form
Tambah Calon Gagal
Lembaga Universitas
validasi
Berhasil
Menampilkan Daftar
Lembaga Universitas
Pilih Lembaga
Universitas
Menampilkan Daftar
Calon Lembaga
Universitas
Pilih Edit pada Daftar
Calon Lembaga
Universitas
Menampilkan Form
Edit Calon Lembaga
Universitas
Mengisi Form Edit
Calon Lembaga Gagal
Universitas
validasi
Berhasil
Menampilkan Daftar
Lembaga Universitas
Pilih Lembaga
Universitas
Menampilkan Daftar
Calon Lembaga
Universitas
Pilih Hapus pada
Daftar Calon
Lembaga Universitas
Hapus Data Calon
Lembaga Universitas
Phase
KPPS Sistem
Memilih Menu
Registrasi DPT
Menampilkan
Halaman Cari DPT
Input NIM
Cek
TidakTerdaftar
Melakukan Registrasi
Simpan Data Terdaftar
Registrasi DPT
Tampilkan Token
Phase
Pemilih Sistem
Membuka Aplikasi
Menampilkan
Halaman Login
Berhasil
Login
Validasi
Gagal
Menampilkan
Halaman Pemilihan
Validasi
Berhasil
Logout
Phase
jenisnya, yaitu data hasil pemilihan jurusan, data hasil pemilihan fakultas, dan
data hasil pemilihan universitas. Setelah itu sistem akan merubah status pemilih
didalam sistem, sehingga pemilih tidak dapat melakukan pemilihan untuk
kedua kalinya. Setelah semua proses berhasil, maka pemilih akan secara
otomatis keluar dari sistem.
Belum
Menampilkan Form
Input Kunci Privat
Memasukkan Kunci
Privat Sudah
Mendekrip Hasil
Pemilihan Jurusan
Menampilkan Daftar
Fakultas
Pilih Fakultas
Menampilkan Daftar
Jurusan
Pilih Jurusan
Menampilkan Daftar
Lembaga Jurusan
Pilih Lembaga
Jurusan
Menampilkan Hasil
Pemilihan Lembaga
Jurusan
Phase
Gambar 4.28 Activity Diagram Lihat Data Hasil Pemilihan Lembaga Jurusan
Pada aktivitas ini, admin KPU memilih menu hasil pemilihan lembaga
jurusan. Sistem akan mengecek data di dalam sistem, apakah keseluruhan data
hasil pemilihan jurusan sudah didekripsi atau belum. Apabila data belum
didekripsi, maka sistem akan menampilkan halaman input kunci privat yang
bertujuan untuk mendekripsi data hasil pemilihan jurusan. Setelah kunci privat
diinput, maka sistem akan mendekripsi kesulurah data hasil pemilihan jurusan
di dalam sistem. Selanjutnya, sistem akan menampilkan data-data fakultas,
jurusan, dan lembaga jurusan secara hirarkis yang bertujuan mengarahkan
admin KPU untuk melihat hasil pemilihan jurusan secara spesifik sesuai
dengan lembaga jurusan. Data hasil pemilihan jurusan akan ditampilkan pada
halaman yang tersedia.
Belum
Menampilkan Form
Input Kunci Privat
Memasukkan Kunci
Privat Sudah
Mendekrip Hasil
Pemilihan Fakultas
Menampilkan Daftar
Fakultas
Pilih Fakultas
Menampilkan Daftar
Lembaga Fakultas
Pilih Lembaga
Fakultas
Menampilkan Hasil
Pemilihan Lembaga
Fakultas
Phase
Gambar 4.29 Activity Diagram Lihat Data Hasil Pemilihan Lembaga Fakultas
Pada aktivitas ini, admin KPU memilih menu hasil pemilihan lembaga
fakultas. Sistem akan mengecek data di dalam sistem, apakah keseluruhan data
hasil pemilihan fakultas sudah didekripsi atau belum. Apabila data belum
didekripsi, maka sistem akan menampilkan halaman input kunci privat yang
bertujuan untuk mendekripsi data hasil pemilihan fakultas. Setelah kunci privat
diinput, maka sistem akan mendekripsi kesulurah data hasil pemilihan fakultas
di dalam sistem. Selanjutnya, sistem akan menampilkan data-data fakultas dan
lembaga fakultas secara hirarkis yang bertujuan mengarahkan admin KPU
untuk melihat hasil pemilihan fakultas secara spesifik sesuai dengan lembaga
universitas. Data hasil pemilihan fakultas akan ditampilkan pada halaman yang
tersedia.
Belum
Menampilkan Form
Input Kunci Privat
Memasukkan Kunci
Sudah
Privat
Mendekrip Hasil
Pemilihan Universitas
Menampilkan Daftar
Lembaga Universitas
Pilih Lembaga
Universitas
Menampilkan Hasil
Pemilihan Lembaga
Universitas
Phase
Gambar 4.30 Activity Diagram Lihat Data Hasil Pemilihan Lembaga Universitas
Pada aktivitas ini, admin KPU memilih menu hasil pemilihan lembaga
universitas. Sistem akan mengecek data di dalam sistem, apakah keseluruhan
data hasil pemilihan universitas sudah didekripsi atau belum. Apabila data
belum didekripsi, maka sistem akan menampilkan halaman input kunci privat
yang bertujuan untuk mendekripsi data hasil pemilihan universitas. Setelah
kunci privat diinput, maka sistem akan mendekripsi kesulurah data hasil
pemilihan universitas di dalam sistem. Selanjutnya, sistem akan menampilkan
lembaga_jurusan_id
nama
foto
7. CalonLembagaFakultas id
lembaga_fakultas_id
nama
foto
8. CalonLembagaUniversitas id
lembaga_universitas_id
nama
foto
9. KPPS id
users_id
fakultas_id
username
10. HasilLembagaJurusan id
lembaga_jurusan_id
NIM
hasil
status
11. HasilLembagaFakultas id
lembaga_fakultas_id
NIM
hasil
status
12. HasilLembagaUniversitas id
lembaga_universitas_id
NIM
hasil
status
13. Pemilih NIM
nama
users_id
fakultas_id
jurusan_id
status_pilih
14. Users id
username
password
token
kategori
KPU StatusPemilihan
AmbilDataPertama()
status==
Persiapan
return hasil
status== edit(id, status=Selesai)
Berlangsung
return hasil
List KPPS
AmbilDataFakultas()
List Fakultas
create(id_fakultas,username)
return hasil
create(username,password)
return hasil
Berikut adalah sequence diagram dari hapus lembaga admin KPPS. Admin
KPU berinteraksi dengan kelas KPPS untuk melihat seluruh data KPPS.
Admin KPU memilih data KPPS yang akan dihapus, dan sistem akan
menghapus data tersebut di dalam sistem.
List KPPS
delete(id)
return hasil
delete(username)
return hasil
AmbilDataFakultas()
List Fakultas
AmbilDataJurusan(id_fakultas)
List Jurusan
AmbilData(id_jurusan)
List Lembaga Jurusan
create(id_jurusan, nama)
return hasil
List Fakultas
AmbilDataJurusan(id_fakultas)
List Jurusan
AmbilData(id_jurusan)
List Lembaga Jurusan
cari(id)
update(id,id_jurusan,nama)
return hasil
List Fakultas
AmbilDataJurusan(id_fakultas)
List Jurusan
AmbilData(id_jurusan)
List Fakultas
AmbilData(id_fakultas)
create(id_fakultas,nama)
return hasil
List Fakultas
AmbilData(id_fakultas)
cari(id)
Data Lembaga Fakultas
update(id,id_fakultas,nama)
return hasil
List Fakultas
AmbilData(id_fakultas)
delete(id)
return hasil
KPU LembagaUniversitas
AmbilData()
create(nama)
return hasil
KPU LembagaUniversitas
AmbilData()
cari(id)
update(id,nama)
result
KPU LembagaUniversitas
AmbilData()
delete(id)
return hasil
List Fakultas
AmbilDataJurusan(id_fakultas)
List Jurusan
AmbilData(id_jurusan)
AmbilData(id_lembaga_jurusan)
List Calon Lembaga Jurusan
return hasil
CalonLembagaJur
KPU WebService LembagaJurusan
usan
AmbilDataFakultas()
List Fakultas
AmbilDataJurusan(id_fakultas)
List Jurusan
AmbilData(id_jurusan)
List Lembaga Jurusan
AmbilData(id_lembaga_jurusan)
List Calon Lembaga Jurusan
cari(id)
update(id,id_lembaga_jurusan,nama,foto)
return hasil
CalonLembagaJur
KPU WebService LembagaJurusan
usan
AmbilDataFakultas()
List Fakultas
AmbilDataJurusan(id_fakultas)
List Jurusan
AmbilData(id_jurusan)
List Lembaga Jurusan
AmbilData(id_lembaga_jurusan)
List Calon Lembaga Jurusan
delete(id)
return hasil
List Fakultas
AmbilData(id_fakultas)
AmbilData(id_lembaga_fakultas)
List Calon Lembaga Fakultas
create(id_lembaga_fakultas,nama,foto)
return hasil
CalonLembagaFak
KPU WebService LembagaFakultas
ultas
AmbilDataFakultas()
List Fakultas
AmbilData(id_fakultas)
AmbilData(id_lembaga_fakultas)
cari(id)
update(id,id_lembaga_fakultas,nama,foto)
return hasil
kemudian admin memilih data yang ingin dihapus. Sistem menghapus data
yang dipilih oleh admin.
CalonLembagaFak
KPU WebService LembagaFakultas
ultas
AmbilDataFakultas()
List Fakultas
AmbilData(id_fakultas)
AmbilData(id_lembaga_fakultas)
List Calon Lembaga Fakultas
delete(id)
return hasil
LembagaUniversit CalonLembagaUniversit
KPU
as as
AmbilData()
AmbilData(id_lembaga_universitas)
create(nama,foto)
return hasil
LembagaUniversit CalonLembagaUni
KPU
as versitas
AmbilData()
AmbilData(id_lembaga_universitas)
update(nama,foto)
return hasil
LembagaUniversit CalonLembagaUni
KPU
as versitas
AmbilData()
AmbilData(id_lembaga_universitas)
delete(id)
return hasil
Data Mahasiswa
cari(NIM)
Data Pemilih
cari(NIM)
Data Users
opt create(NIM,id_fakultas,id_jurusan,status,tahunAngkatan)
status == return hasil
Tidak Terdaftar
create(username,token)
status == Terdaftar
cari(username)
return token
opt
return halaman login
login==Gagal
login==Berhasil
return halaman pemilihan
create(NIM,id_lembaga_jurusan,hasil,status)
return hasil
create(NIM,id_lembaga_fakultas,hasil,status)
return hasil
create(NIM,id_lembaga_universitas,hasil,status)
return hasil
update(NIM,status)
return hasil
logout()
HasilLembagaJuru
KPU WebService LembagaJurusan
san
AmbilDataPertama()
opt
update(hasil,status)
status==
Belum Valid retun hasil
List Fakultas
AmbilDataJurusan(id_fakultas)
List Jurusan
AmbilData(id_jurusan)
AmbilData(id_lembaga_jurusan)
List Hasil Lembaga Jurusan
Gambar 4.54 Sequence Diagram Lihat Data Hasil Pemilihan Lembaga Jurusan
HasilLembagaFaku
KPU WebService LembagaFakultas
ltas
AmbilDataPertama()
opt
update(hasil,status)
status==
retun hasil
Belum Valid
status==Valid
AmbilDataFakultas()
List Fakultas
AmbilData(id_fakultas)
List Lembaga Fakultas
AmbilData(id_lembaga_fakultas)
List Hasil Lembaga Fakultas
Gambar 4.55 Sequence Diagram Lihat Data Hasil Pemilihan Lembaga Fakultas
LembagaUniversit HasilLembagaUniv
KPU
as ersitas
AmbilDataPertama()
status
update(hasil,status)
status==
retun hasil
Belum Valid
status==Valid AmbilData()
List Lembaga Universitas
AmbilData(id_lembaga_universitas)
List Hasil Lembaga Universitas
Gambar 4.56 Sequence Diagram Lihat Data Hasil Pemilihan Lembaga Universitas
LembagaJurusan
id CalonLembagaJurusan
jurusan_id id
WebService nama lembaga_jurusan_id
id_fakultas create() nama
id_jurusan update() 1
foto
NIM delete() StatusPemilihan
AmbilData() 1..* create()
AmbilDataFakultas() update()
cari() id
AmbilDataJurusan() delete() status
CariMahasiswa() 1 AmbilData()
cari() AmbilDataPertama()
LembagaFakultas update()
1..* id
HasilLembagaJurusan fakultas_id
Users 1 nama 1 CalonLembagaFakultas
id id 1..* delete()
1 id
username lembaga_jurusan_id AmbilData() lembaga_fakultas_id
password NIM HasilLembagaFakultas create() nama
kategori hasil cari()
id foto
status update()
create() lembaga_fakultas_id create()
cari() AmbilData() 1..* delete()
NIM
1 AmbilDataPertama()
hasil update()
1 update()
status AmbilData()
1 AmbilData() cari()
KPPS AmbilDataPertama()
update()
id 1
1
users_id Pemilih
fakultas_id
NIM
create() LembagaUniversitas
nama 1 CalonLembagaUniversit
update() 1
jurusan_id1 id as
delete()
fakultas_id nama
cari() id
status_pilih cari() 1
AmbilData() lembaga_universitas_i
users_id create() d
create() delete() nama
update() AmbilData() foto
1
HasilLembagaUniversita update() 1..* create()
s
update()
id 1 delete()
lembaga_universitas_i AmbilData()
1
d cari()
status
hasil 1..*
NIM
AmbilData()
AmbilDataPertama()
update()
Gambar 4.58 Perancangan Antar Muka Halaman Login KPU dan KPPS
1. Pembuatan Kunci
Gambar command-prompt dibawah menunjukkan bagaimana kunci privat
RSA dibuat menggunakan library OpenSSL. Kunci privat dibuat dengan
memasukkan command-line “genrsa –out kunciprivat.pem 1024”.
Kunci privat yang dibuat akan disimpan dalam bentuk file
kunciprivat.pem. Kunci privat disimpan dan digunakan hanya oleh admin
KPU, sebagai otoritas tertinggi penyelenggara Pemilihan Umum
2. Proses Enkripsi
Proses enkripsi dilakukan pada saat hasil pemilihan yang dilakukan oleh
pemilih telah tervalidasi dan sebelum data hasil pemilihan diinput ke
dalam sistem. Proses enkripsi menyertakan penggunaan kunci publik yang
3. Proses Dekripsi
BAB 5
HASIL DAN PEMBAHASAN
5.1 Hasil
Implementasi aplikasi dilakukan dengan memperhatikan tahap-tahap yang
dilakukan sebelumnya, yaitu tahap requirements analysis and definition dan system
and software design. Hasil perancangan yang telah dilakukan diimplementasikan
dalam alur sistem dan baris-baris kode. Implementasi aplikasi ini berbasiskan web
dan pembangunnanya menggunakan PHP Framework Laravel 5.0 dan database
MySQL.
Pada prakteknya, para pemilih akan tersebar pada 11 Fakultas yang ada
di UIN Syarif Hidayatullah Jakarta. Pada proses pemilihan manual, pemilih
melakukan pemilihan di bilik-bilik suara yang telah disediakan. Namun,
dengan adanya pemilihan menggunakan sistem E-Voting ini, bilik-bilik suara
tersebut diganti menggunakan perangkat komputer. Apabila setiap fakultas
memiliki 3 bilik/komputer yang diatur oleh KPU dan KPPS, maka
kemungkinan yang terjadi adalah sekitar 33 pemilih akan mengakses web
server E-Voting secara bersamaan.
Abstain 12
8. Meregistrasi DPT/Pemilih
DPT/Pemilih terlebih dahulu melakukan registrasi kepada KPPS. Dalam
sistem E-Voting ini, setelah pemilih berhasil melakukan registrasi, pemilih
akan mendapatkan token. Hasil dari proses registrasi pemilih dalam sistem
E-Voting adalah sebagai berikut :
9. Melakukan Pemilihan
BAB 6
PENUTUP
6.1 Kesimpulan
Perancangan dan pembangunan aplikasi E-Voting Pemilihan Umum
Mahasiswa UIN Syarif Hidayatullah Jakarta ini telah mengikuti pedoman,
prosedur, dan ketentuan yang ada. Analisis sistem dan kebutuhan sistem yang
dibangun sesuai dengan sistem yang ada. Aktor-aktor yang terlibat di dalam sistem
E-Voting disesuaikan dengan kondisi asli dimana pihak-pihak tersebut turut
bertanggung jawab dan terlibat dalam pelaksanaan Pemilihan Umum Mahasiswa
UIN Jakarta.
Perancangan dan implementasi sistem E-Voting dapat sesuai dengan asas-
asas pemilihan umum, yaitu LUBERJURDIL (Langsung, Umum, Bebas, Rahasia,
Jujur, dan Adil). Penerapan kriptografi RSA terbukti mampu merahasiakan data
hasil pemilihan, sehingga memperkecil ancaman terhadap kerahasiaan data hasil
pemilihan. Penerapan kriptografi kunci publik, memungkinkan adanya otoritas
tertinggi yang bertanggung jawab atas data-data hasil pemilihan. Dalam hal ini
KPU memiliki tanggung jawab tersebut sebagai pelaksana pemilihan umum.
Dan juga penggunaan web service mampu mengintegrasikan data antara
PUSTIPANDA dan aplikasi E-Voting guna keperluan sistem E-Voting.
Penggunaan web service ini sangat bergantung pada komunikasi dan koneksi antara
aplikasi dengan web server yang ada di PUSTIPANDA. Penggunaan web service
memudahkan KPU dalam proses penentuan dan verifikasi Daftar Pemilih Tetap.
Aplikasi Electronic Voting ini dapat berjalan dengan baik. Dapat dilihat
dengan adanya simulasi, bahwa hasil pemilihan yang dilakukan oleh pemilih sesuai
dan tepat. Selain itu, kecepatan dalam proses perhitungan suara dapat mempercepat
jalannya proses Pemilihan Umum Mahasiswa UIN Syarif Hidayatullah Jakarta.
6.2 Saran
Penelitian yang dilakukan penulis masih jauh dari kesempurnaan. Dalam
penerapan E-Voting pada Pemilihan Umum Mahasiswa UIN Syarif Hidayatullah
Jakarta, masih terdapat beberapa hal yang harus dipenuhi. Diantaranya adalah
infrastruktur yang memadai dan kepercayaan stakeholder kampus pada penggunaan
sistem E-Voting.
Dalam perancangan aplikasi, penambahan fitur-fitur dan metode yang
terkait dengan penerapan E-Voting juga penting untuk dilakukan. Yaitu dalam segi
autentikasi user yang berfungsi dalam identifikasi pemilih pada saat melakukan
pemilihan, kemanan jaringan, dan keamanan data yang ada pada sistem E-Voting.
Hal-hal tersebut sangat menunjang dalam terciptanya kepercayaan stakeholder
kampus terhadap sistem E-Voting.
Salah satu tujuan penulis melakukan penelitian ini adalah untuk membuka
wawasan pada stakeholder kampus maupun dunia organisasi mahasiswa, bahwa
penggunaan teknologi informasi dalam lingkungan organisasi mahasiswa mampu
memperbaiki sistem yang telah ada. Semoga penilitian ini mampu dikembangkan
lebih jauh lagi, bahkan hingga tahap implementasi di lingkungan UIN Syarif
Hidayatullah Jakarta.
DAFTAR PUSTAKA
Abdalla Al Ameen dan Samani Talab. 2013. The Technical Feasibility and Security
of E-Voting. Diperoleh dari http://ccis2k.org/iajit/PDF/vol.10,no.4/4313.pdf
Ariyus, Doni. 2008. Pengantar Ilmu Kriptografi: Teori Analisis dan Implementasi.
Yogyakarta. Andi.
Chandra, Pravir et.al. 2002. Network Security with OpenSSL. Diperoleh dari
http://www.itc.edu.kh/bib/ebook/?dl=Network%20Security%20with%20O
penSSL.pdf
Christian Bauer dan Gavin King. 2007. Java Persistance with Hibernate.
Greenwich: Manning.
Htet Ne Oo dan Aye Moe Aung. 2013. Implementation and Analysis of Secure
Electronic Voting System. Diperoleh dari http://www.ijstr.org/final-
print/mar2013/Implementation-And-Analysis-Of-Secure-Electronic-
Voting-System.pdf
Neyman, Shelvie Nidya et.al. 2013. Penerapan Sistem E-Voting pada Pemilihan
Kepada Daerah di Indonesia. Diperoleh dari
http://diploma.ipb.ac.id/uploads/images/jurnal/file/bf32d3694e8a57a3e5c4
5233889b1d52_Shelvie_NN_-_Penerapan_Sistem_E-
voting_pada_Pemilihan_Kepala_Daerah_di_Indonesia.pdf
Pandit, Prashant et.al. 2014. Campus E-Voting for Android and Web Based
Application. Diperoleh dari http://www.ijeert.org/pdf/v2-i7/13.pdf