Anda di halaman 1dari 172

PERANCANGAN DAN IMPLEMENTASI APLIKASI E-

VOTING MENGGUNAKAN WEB SERVICES PADA


PEMILIHAN UMUM MAHASISWA UIN SYARIF
HIDAYATULLAH JAKARTA

SKRIPSI
Diajukan Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana
Komputer (S.Kom)

Disusun Oleh :

Dzaka Ammar Ibrahim

NIM : 1112091000082

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH

JAKARTA

2016 M/1437 H
PERNYATAAN ORISINILITAS

Dengan ini saya menyatakan bahwa:


1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi
salah satu persyaratan memperoleh gelar Strata 1 di UIN Syarif Hidayatullah
Jakarta.
2. Semua sumber yang saya gunakan dalam penulisan ini telah saya cantumkan
sesuai dengan ketentuan yang berlalku di UIN Syarif Hidayatullah Jakarta.
3. Jika di kemudian hari terbukti bahwa karya ini bukan hasil karya asli saya
atau merupakan hasil jiplakan dari karya orang lain, maka saya bersedia
menerima sanksi yang berlaku di UIN Syarif Hidayatullah Jakarta.

Ciputat, 02 Februari 2016

Dzaka Ammar Ibrahim

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,

Husni Teja Sukmana, Ph.D M. Tabah Rosyadi, MA


NIP. 19771030 200112 1 003 NIP. 19620714 198903 1 004

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

Penelitian ini membahas tentang perancangan dan implementasi aplikasi Electronic


Voting (E-Voting) pada Pemilihan Umum Mahasiswa UIN Syarif Hidayatullah
Jakarta. Pembangunan aplikasi ini disertai dengan penerapan kriptografi RSA
menggunakan OpenSSL untuk menjaga kerahasiaan data pemilihan dan
menggunakan web service untuk mengintegrasikan data antara aplikasi dengan data
yang ada di PUSTIPANDA. Pelaksanaan Pemilihan Umum Mahasiswa
menggunakan sistem pemilihan manual telah terbukti menimbulkan berbagai
masalah dan human error. Antara lain adalah surat suara berlebih dari jumlah DPT
dan kesalahan dalam perhitungan hasil suara. Perancangan sistem pertama-tama
dilakukan untuk mengetahui kebutuhan dan alur sistem. Penggunaan Ketetapan
Senat Mahasiswa UIN Syarif Hidayatullah Jakarta Nomor 11 tahun 2015 tentang
Pedoman Pemilihan Umum Mahasiswa sebagai landasan analisis menghasilkan
analisis dan perancangan sistem yang tepat sasaran dan sesuai dengan prosedur.
Pembangunan aplikasi menggunakan model waterfall, bahasa pemograman PHP
Framework Laravel 5.0, dan MySQL sebagai database. Dapat dibuktikan bahwa
sistem E-Voting yang dibangun sesuai dengan prosedur dan ketetapan yang ada,
dapat sesuai dengan asas LUBERJURDIL, dan penggunaan web service dapat
mengintegrasikan data.

Kata Kunci: Aplikasi, E-Voting, RSA, Web Service, Pemilihan Mahasiswa

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.

Ciputat, 21 Februari 2016

Dzaka Ammar Ibrahim

viii
DAFTAR ISI

PERNYATAAN ORISINILITAS ........................................................................... ii


PENGESAHAN UJIAN ........................................ Error! Bookmark not defined.
ABSTRAK .............................................................................................................. v
KATA PENGANTAR ........................................................................................... vi
DAFTAR ISI .......................................................................................................... ix
DAFTAR GAMBAR ............................................................................................ xii
DAFTAR TABEL ................................................................................................ xvi
BAB 1 PENDAHULUAN ...................................................................................... 1
1.1 Latar Belakang ......................................................................................... 1
1.2 Tujuan Penelitian ...................................................................................... 4
1.3 Manfaat Penilitian .................................................................................... 4
1.4 Pertanyaan Penelitian (Research Question) ............................................. 5
1.5 Rumusan Masalah .................................................................................... 6
1.6 Batasan Masalah ....................................................................................... 6
1.7 Sistematika Penulisan ............................................................................... 6
BAB 2 LANDASAN TEORI .................................................................................. 8
2.1 Tinjauan Pustaka ...................................................................................... 8
2.1.1 Desain dan Implementasi Sistem Keamanan E-Voting Dengan
Jaminan Confidentiality Data (Tika Rahmadian, et.al).................................... 8
2.1.2 Penerapan Sistem E-Voting pada Pemilihan Kepala Daerah di
Indonesia (Shelvie Nidya Neyman, etl.al : 2013) ............................................ 9
2.1.3 The Technical Feasibility and Security of E-Voting (Abdalla Al-
Ameen, et.al : 2013) ......................................................................................... 9
2.1.4 A Review of Underlying Concepts of Electronic Voting (Okediran
Oladotun Olusola, et.al : 2012) ...................................................................... 10
2.1.5 E-Voting Protocol Based On Public Key Cryptography (Hayam K.
Al-Anie, et.al : 2011) ..................................................................................... 10
2.1.6 E-Voting : Urgensi Transparansi dan Akuntabilitas (Edi Priyono,
et.al : 2010) .................................................................................................... 11
2.1.7 Sistem Pengamanan Data Pemilihan Umum E-Voting Menggunakan
Algoritma SHA-1 (Abdurrosyid Broto Handoyo : 2013) .............................. 11
2.1.8 Campus E-Voting for Android and Web Based Application
(Prashant Pandit, et.al : 2014) ........................................................................ 12
ix
2.1.9 Implimentation and Analysis of Secure Electronic Voting System
(Htet Ne Oo, et.al : 2013) .............................................................................. 12
2.2 Landasan Teori ....................................................................................... 12
2.2.1 Electronic Voting (E-Voting) .......................................................... 12
2.2.2 Kriptografi RSA .............................................................................. 17
2.2.3 Web Service ..................................................................................... 21
2.2.4 Unified Manipulation Language (UML) ........................................ 25
2.2.5 Model Waterfall .............................................................................. 32
2.2.6 Metode Pengujian Sistem................................................................ 34
2.2.7 Object Relational Mapping (ORM) ................................................ 35
BAB 3 METODOLOGI PENGEMBANGAN SISTEM ...................................... 37
3.1 Metodologi Pengumpulan Data .............................................................. 37
3.2 Metodologi Pengembangan Sistem ........................................................ 38
3.2.1 Requirements Analysis and Definition ............................................ 38
3.2.2 System and Software Design ........................................................... 39
3.2.3 Implementation and Unit Testing .................................................... 40
3.2.4 Integration and System Testing ....................................................... 40
3.3 Kerangka Berfikir ................................................................................... 41
BAB 4 ANALISIS, PERANCANGAN SISTEM, IMPLEMENTASI, DAN
PENGUJIAN ......................................................................................................... 43
4.1 Requirements Analysis and Definition ................................................... 43
4.1.1 Gambaran Umum ............................................................................ 43
4.1.2 Analisis Sistem Berjalan ................................................................. 47
4.1.3 Kebutuhan Sistem ........................................................................... 50
4.2 System and Software Design .................................................................. 53
4.2.1 Arsitektur Sistem............................................................................. 53
4.2.2 Perancangan Web Service ............................................................... 56
4.2.3 Pemodelan Use Case Diagram ....................................................... 58
4.2.4 Perancangan Activity Diagram ........................................................ 59
4.2.5 Perancangan Sequence Diagram ..................................................... 87
4.2.6 Perancangan Class Diagram ......................................................... 111
4.2.7 Perancangan Antar Muka .............................................................. 112
4.3 Implementation and Unit Testing ......................................................... 115
4.3.1 Implementasi Kriptografi RSA Menggunakan OpenSSL ............. 115
x
4.3.2 Implementasi Web Service ............................................................ 119
4.4 Integration and System Testing ............................................................ 122
4.4.1 Pengujian Black Box ..................................................................... 122
BAB 5 HASIL DAN PEMBAHASAN............................................................... 126
5.1 Hasil...................................................................................................... 126
5.1.1 Simulasi Pemilihan ....................................................................... 126
5.1.2 Simulasi Pemilihan Menggunakan E-Voting ................................ 131
5.2 Pembahasan .......................................................................................... 148
BAB 6 PENUTUP .............................................................................................. 152
6.1 Kesimpulan ........................................................................................... 152
6.2 Saran ..................................................................................................... 153
DAFTAR PUSTAKA ......................................................................................... 154

xi
DAFTAR GAMBAR

Gambar 2.1 Generate Kunci Privat RSA pada OpenSSL ..................................... 20


Gambar 2.2 Generate Kunci Publik RSA pada OpenSSL .................................... 21
Gambar 2.3 Contoh Sintaks JSON ........................................................................ 25
Gambar 2.4 Skema Model Waterfall .................................................................... 34
Gambar 2.5 Contoh Penggunaan Eloquent ORM ................................................. 36
Gambar 3.1 Kerangka Berfikir .............................................................................. 42
Gambar 4.1 Arsitektur multi-tier client-server ..................................................... 55
Gambar 4.2 Skema Web Service ........................................................................... 56
Gambar 4.3 Diagram Use Case Admin KPU........................................................ 59
Gambar 4.4 Diagram Use Case Pemilih dan KPPS .............................................. 59
Gambar 4.5 Activity Diagram Ubah Status Pemilihan.......................................... 60
Gambar 4.6 Activity Diagram Input KPPS ........................................................... 61
Gambar 4.7 Activity Diagram Hapus KPPS ......................................................... 62
Gambar 4.8 Activity Diagram Input Lembaga Jurusan......................................... 63
Gambar 4.9 Activity Diagram Edit Lembaga Jurusan .......................................... 64
Gambar 4.10 Activity Diagram Hapus Lembaga Jurusan ..................................... 65
Gambar 4.11 Activity Diagram Input Lembaga Fakultas ..................................... 66
Gambar 4.12 Activity Diagram Edit Lembaga Fakultas ....................................... 67
Gambar 4.13 Activity Diagram Hapus Lembaga Fakultas.................................... 68
Gambar 4.14 Activity Diagram Input Lembaga Universitas................................. 69
Gambar 4.15 Activity Diagram Edit Lembaga Universitas .................................. 70
Gambar 4.16 Activity Diagram Hapus Lembaga Universitas ............................... 71
Gambar 4.17 Activity Diagram Input Calon Lembaga Jurusan ............................ 72
Gambar 4.18 Activity Diagram Edit Calon Lembaga Jurusan .............................. 73
Gambar 4.19 Activity Diagram Hapus Calon Lembaga Jurusan .......................... 74
Gambar 4.20 Activity Diagram Input Calon Lembaga Fakultas ........................... 75
Gambar 4.21 Activity Diagram Edit Calon Lembaga Fakultas............................. 76
Gambar 4.22 Activity Diagram Hapus Calon Lembaga Fakultas ......................... 77
Gambar 4.23 Activity Diagram Input Calon Lembaga Universitas ...................... 78
Gambar 4.24 Activity Diagram Edit Calon Lembaga Universitas ........................ 79
Gambar 4.25 Activity Diagram Hapus Calon Lembaga Universitas .................... 80
xii
Gambar 4.26 Activity Diagram Registrasi DPT .................................................... 81
Gambar 4.27 Activity Diagram Input Data Pemilihan .......................................... 82
Gambar 4.28 Activity Diagram Lihat Data Hasil Pemilihan Lembaga Jurusan ... 83
Gambar 4.29 Activity Diagram Lihat Data Hasil Pemilihan Lembaga Fakultas .. 85
Gambar 4.30 Activity Diagram Lihat Data Hasil Pemilihan Lembaga Universitas
............................................................................................................................... 86
Gambar 4.31 Sequence Diagram Ubah Status Pemilihan.................................... 90
Gambar 4.32 Sequence Diagram Input KPPS ...................................................... 90
Gambar 4.33 Sequence Diagram Hapus KPPS .................................................... 91
Gambar 4.34 Sequence Diagram Input Lembaga Jurusan .................................... 92
Gambar 4.35 Sequence Diagram Edit Lembaga Jurusan ..................................... 93
Gambar 4.36 Sequence Diagram Hapus Lembaga Jurusan .................................. 94
Gambar 4.37 Sequence Diagram Input Lembaga Fakultas .................................. 95
Gambar 4.38 Sequence Diagram Edit Lembaga Fakultas .................................... 96
Gambar 4.39 Sequence Diagram Hapus Lembaga Fakultas ................................. 97
Gambar 4.40 Sequence Diagram Input Lembaga Universitas .............................. 97
Gambar 3.41 Sequence Diagram Edit Lembaga Universitas................................ 98
Gambar 4.42 Sequence Diagram Hapus Lembaga Universitas ............................ 99
Gambar 4.43 Sequence Diagram Input Calon Lembaga Jurusan ....................... 100
Gambar 4.44 Sequence Diagram Edit Calon Lembaga Jurusan ......................... 101
Gambar 4.45 Sequence Diagram Hapus Calon Lembaga Jurusan ..................... 102
Gambar 4.46 Sequence Diagram Input Calon Lembaga Fakultas ...................... 103
Gambar 4.47 Sequence Diagram Edit Calon Lembaga Fakultas ........................ 103
Gambar 4.48 Sequence Diagram Hapus Calon Lembaga Fakultas .................... 104
Gambar 4.49 Sequence Diagram Input Calon Lembaga Universitas ................. 105
Gambar 4.50 Sequence Diagram Edit Calon Lembaga Universitas ................... 105
Gambar 4.51 Sequence Diagram Hapus Calon Lembaga Universitas ............... 106
Gambar 4.52 Sequence Diagram Registrasi DPT ............................................... 107
Gambar 4.53 Sequence Diagram Input Data Pemilihan ..................................... 108
Gambar 4.54 Sequence Diagram Lihat Data Hasil Pemilihan Lembaga Jurusan109
Gambar 4.55 Sequence Diagram Lihat Data Hasil Pemilihan Lembaga Fakultas
............................................................................................................................. 110
Gambar 4.56 Sequence Diagram Lihat Data Hasil Pemilihan Lembaga Universitas
............................................................................................................................. 111

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

Tabel 2.1 Perbedaan web service dengan web ...................................................... 22


Tabel 2.2 Kata-kata Kerja HTTP .......................................................................... 23
Tabel 2.3 Simbol-simbol Use case diagram ......................................................... 26
Tabel 2.4 Simbol-simbol Activity Diagram .......................................................... 28
Tabel 2.5 Simbol-Simbol Sequence Diagram ....................................................... 29
Tabel 2.6 Simbol-simbol Class Diagram.............................................................. 30
Tabel 4.1 Kebutuhan Aktor ................................................................................... 53
Tabel 4.2 Ketentuan Web Service ......................................................................... 57
Tabel 4.3 Data Calon Kelas .................................................................................. 87
Tabel 4.4 Daftar web service ............................................................................... 120
Tabel 4.5 Pengujian Black Box ........................................................................... 122
Tabel 5.1 Ketentuan Lembaga dan Calon Lembaga Simulasi Pemilihan ........... 126
Tabel 5.2 Ketentuan Pemilihan pada Simulasi ................................................... 127
Tabel 5.3 Hasil Pemilihan pada Simulasi Pemilihan .......................................... 130

xvi
1

BAB 1
PENDAHULUAN

1.1 Latar Belakang


Pemilihan mengizinkan rakyat untuk memilih wakil mereka dan
mengekspresikan pilihan mereka untuk menentukan dengan siapa mereka akan
dipimpin. Secara natural, integritas dari proses pemilihan adalah dasar dari
integritas demokrasi itu sendiri. Proses pemilihan yang demokratis, yaitu dengan
mengedepankan asas LUBERJURDIL (Langsung, Bebas, Rahasia, Jujur, dan
Adil), akan menghasilkan seorang pemimpin yang diinginkan oleh rakyatnya dan
merupakan representasi dari kemauan mereka. Maka dari itu, sistem pemilihan
adalah penunjang tumbuhnya lingkungan yang demokratis di masyarakat.
Pelaksanaan pemilihan pada Pemilihan Umum Mahasiswa UIN Syarif
Hidayatullah Jakarta masih menggunakan sistem manual yaitu dengan pencoblosan
kertas suara. Pelaksanaan pemilihan umum yang melibatkan jumlah mahasiswa
UIN Syarif Hidayatullah Jakarta yang begitu banyak, dilaksanakan oleh satu
lembaga yaitu Komisi Pemilihan Umum (KPU) dan dibantu oleh Panitia Pelaksana
Pemilihan di setiap fakultas. Menurut Ketua Komisi Pemilihan Umum UIN Syarif
Hidayatullah Tahun 2014, Hilman Afriansyah Halim, penyelenggaraan Pemilihan
Umum Mahasiswa UIN Syarif Hidayatullah tahun 2014 sangat membutuhkan kerja
ekstra dari KPU sebagai penyelenggara, dimana KPU harus mempersiapkan
kebutuhan pemilihan, seperti surat suara, bilik suara, sosialisasi, debat kandidat,
dan lainnya untuk sekitar 17.000 orang calon pemilih. Hal itu tidak seimbang bila
dibandingkan dengan kapasitas waktu yang diberikan kepada KPU yaitu sekitar 27
hari sebelum hari pelaksanaan.
Selain dalam hal persiapan dan pelaksanaan, pada proses Pemilihan Umum
Mahasiswa tidak sedikit mengalami permasalahan yang diperoleh dari adanya
aduan ataupun temuan. Permasalahan tersebut dapat terjadi pada proses registrasi
peserta, proses pemilihan, dan proses penghitungan suara. Menurut Hilman,
setidaknya terdapat 2 aduan terkait penyelenggaraan pemilihan umum yang

UIN Syarif Hidayatullah Jakarta


2

ditujukan kepada KPU. Yang pertama terkait dengan kejanggalan dalam


penghitungan hasil suara di Himpunan Mahasiswa Jurusan Ekonomi Syariah
Fakultas Ekonomi dan Bisnis, dimana jumlah hasil suara berlebih satu suara dengan
jumlah pemilih. Yang kedua adalah kesalahpahaman yang timbul dari penafsiran
surat suara berdempet (double) pada penghitungan hasil suara Fakultas Ilmu Sosial
dan Politik.
Senada dengan Ketua KPU, menurut Ketua BAWASLU (Badan Pengawas
Pemilu) UIN Syarif Hidayatullah tahun 2014, Aprilian Cena, Pemilihan Umum
Mahasiswa tahun 2014 terdapat banyak aduan atas terjadinya kecurangan dan
kejanggalan dalam pelaksanaannya. BAWASLU mencatat ada 5 aduan yang
diterima selama pelaksanaan pemilihan umum. Aduan yang paling menonjol adalah
adanya hasil surat suara yang melibihi jumlah DPT (Daftar Pemilih Tetap) atau
surat suara ilegal yang terjadi dalam pemilihan di Fakultas Dakwah dan Ilmu
Komunikasi yang jumlahnya sekitar 40 suara. Adapun BAWASLU sebagai
lembaga pengawasan kesulitan membuktikan surat suara mana yang merupakan
surat suara tambahan atau ilegal dikarenakan semua hasil surat suara teridentifikasi
terdapat cap KPU. Hal ini terjadi dikarenakan tidak adanya koordinasi atas
penambahan surat suara ataupun pergantian surat suara yang rusak, dimana
seharusnya pihak panitia pelaksana pemilu di tiap-tiap fakultas harus berkoordinasi
terlebih dahulu dengan pihak BAWASLU. Aduan selanjutnya adalah terkait dengan
anggapan bahwa adanya potensi perobekan surat suara pada saat penghitungan oleh
oknum panitia pelaksana yang tidak bertanggung jawab, sehingga hasil
penghitungan surat suara merugikan salah satu pihak.
Munculnya konsep pemilihan menggunakan sistem E-Voting (Electronic
Voting) membawa pemahaman akan sistem pemilihan yang baru. Perpaduan antara
konsep pemilihan umum dan teknologi membangun sebuah konsep baru dimana
segala hal yang selama ini dilakukan secara manual dapat diotomatisasi sehingga
memudahkan pelaksanaan pemilihan. E-Voting memiliki beberapa kelebihan yang
tidak dimiliki oleh sistem pemilihan manual. Diantaranya adalah adanya
kemungkinan identifikasi pemilih sebelum pemilih melakukan pemilihan, tidak

UIN Syarif Hidayatullah Jakarta


3

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

UIN Syarif Hidayatullah Jakarta


4

mengirimkan kepada PUSTIPANDA ketentuan-ketentuan yang menjadi dasar


dalam pengambilan data mahasiswa yang akan digunakan. Dengan sekian
banyaknya data mahasiswa, penggunaan data mahasiswa dalam sistem E-Voting
membutuhkan data yang valid dan lengkap sesuai dengan ketentuan yang ada. Oleh
karena itu, dibutuhkan suatu mekanisme untuk mengintegrasikan data yang telah
disimpan dalam database PUSTIPANDA dengan sistem E-Voting yang akan
dibangun.
Berdasarkan latar belakang tersebut, maka diperlukan adanya sebuah
penilitian untuk menghasilkan solusi atas permasalahan diatas. Oleh karena itu,
penulis akan mengangkat tema sebagai berikut : “PERANCANGAN DAN
IMPLEMENTASI SISTEM E-VOTING MENGGUNAKAN WEB SERVICE
PADA PEMILIHAN UMUM MAHASISWA UIN SYARIF
HIDAYATULLAH JAKARTA ”.

1.2 Tujuan Penelitian


Dalam melakukan penelitian ini, penulis memiliki beberapa tujuan yang
melatarbelakangi. Adapun tujuan tersebut antara lain :
a. Menciptakan sebuah sistem yang dapat membantu dan mempermudah
pelaksanaan Pemilihan Umum Mahasiswa UIN Syarif Hidayatullah Jakarta.
b. Mencari solusi atas permasalahan yang terjadi dalam pelaksanaan
Pemilihan Umum Mahasiswa UIN Syarif Hidayatullah Jakarta.

1.3 Manfaat Penilitian


Dalam penelitian ini, penulis akan membahas berbagai permasalahan dalam
Sistem Pemilihan Mahasiswa dan menemukan solusinya menggunakan sebuah
sistem aplikasi berbasis web. Sehingga, pada akhirnya penelitian ini akan
memberikan berbagai manfaat dalam penggunaannya. Adapun manfaat tersebut
antara lain :
1. Bagi Peneliti
a. Mengamalkan Tri Dharma Perguruan Tinggi

UIN Syarif Hidayatullah Jakarta


5

b. Menambah wawasan akan perancangan dan pembuatan sistem,


khususnya sistem E-Voting.
c. Menambah wawasan dalam penggunaan ilmu kriptografi dan web
service.
2. Bagi Universitas
a. Menjadi acuan, pedoman, dan referensi dalam penerapan sistem E-
Voting pada penyelenggaraan Pemilihan Umum Mahasiswa UIN Syarif
Hidayatullah.
b. Menciptakan sistem pemilihan yang demokratis sebagai langkah awal
menciptakan lingkungan kampus yang baik dan berkompeten menuju
World Class University.
c. Memberikan pembelajaran dan masukan tentang penggunaan teknologi
dalam dunia kampus, khususnya dalam sistem pemilihan umum
kampus.

1.4 Pertanyaan Penelitian (Research Question)


Berdasarkan latar belakang yang telah dijabarkan, ada beberapa hal yang
akan menjadi fokus dalam penelitian ini.
1. Dalam pelaksanaannya, sistem Pemilihan Umum Mahasiswa memiliki alur
dan mekanisme. Kemudian apakah konsep E-Voting mampu diterapkan
menggunakan alur dan mekanisme yang telah ditentukan dalam Pemilihan
Umum Mahasiswa UIN Syarif Hidayatullah Jakarta.
2. Penggunaan konsep E-Voting mengancam kerahasiaan data pemilih,
dimana data hasil suara pemilih dapat dilihat langsung tanpa adanya
abstraksi. Maka, bagaimanakah penerapan metode kriptografi RSA dalam
aplikasi yang akan dibangun untuk merahasiakan data pemilihan.
3. Dalam sistem E-Voting yang akan dibangun, diperlukan adanya integrasi
data mahasiswa antara data yang ada pada PUSTIPANDA dan pada sistem
E-Voting. Maka bagaimanakah penggunaan web service untuk
mengintegrasikan data tersebut.

UIN Syarif Hidayatullah Jakarta


6

1.5 Rumusan Masalah


Masalah yang menjadi pembahasan dalam penelitian ini adalah apakah
konsep E-Voting mampu diimplimetasikan pada Pemilihan Umum Mahasiswa UIN
Syarif Hidayatullah sesuai dengan asas-asas pemilihan umum, yaitu
LUBERJURDIL (Langsung, Umum, Bebas, Rahasia, Jujur, dan Adil) dan
penggunaan web sevices untuk integrasi dan ketersediaan data.

1.6 Batasan Masalah


Dalam melakukan penelitian ini, penulis memberikan sebuah batasan-
batasan terkait dengan permasalahan yang akan dibahas. Adapun batasan masalah
dibuat agar pembahasan tidak menyimpang dari permasalahan yang ada. Adapun
batasan masalah tersebut antara lain :
a. Penelitian ini berfokus pada rancang bangun sistem E-Voting berbasiskan
web dan menggunakan PHP Framework Laravel 5.0 dan database MySQL.
b. Penelitian ini membahas penerapan sistem E-Voting pada sistem berjalan
Pemilihan Umum Mahasiswa UIN Syarif Hidayatullah Jakarta yang telah
ditetapkan dan dilaksanakan oleh KPU.
c. Penelitian ini membahas penggunaan metode kriptografi RSA untuk
merahasiakan data pada data hasil suara dan penggunaan web service untuk
integrasi dan ketersediaan data.
d. Sistem yang akan dibangun meliputi tahap awal pelaksanaan Pemilihan
Umum Mahasiswa hingga penghitungan hasil suara.
e. Penelitian ini tidak membahas penggunaan jaringan komputer dan
keamanan pada penggunaan sistem E-Voting.

1.7 Sistematika Penulisan


 BAB I PENDAHULUAN
Dalam bab ini, akan dibahas latar belakang masalah yang menjadi dasar
penelitian, tujuan penelitian, manfaat penelitian, pertanyaan penelitian,
rumusan masalah yang akan dibahas, batasan masalah, dan sistematika
penulisan yang digunakan.

UIN Syarif Hidayatullah Jakarta


7

 BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI


Dalam bab ini, akan dibahas tinjauan pusataka dan dasar-dasar teori yang
menjadi acuan dalam penelitian. Tinjauan pustaka berisikan literatur dan
penelitian sejenis yang pernah dilakukan yang berkaitan dengan topik
penelitian. Landasan teori berisikan teori-teori yang digunakan dalam
menyelesaikan permasalahan.
 BAB III METODE PENGEMBANGAN SISTEM
Dalam bab ini akan dibahas tentang metodologi penelitian yang digunakan
dalam penelitian ini.
 BAB IV ANALISIS, PERANCANGAN SISTEM, IMPLIMENTASI, DAN
PENGUJIAN SISTEM
Dalam bab ini akan dibahas tentang tahapan-tahapan yang dilakukan dalam
memecahkan masalah. Dalam bab ini sistem dirancang dan kemudian
dibangun sesuai dengan analisis yang telah dilakukan sebelumnya.
 BAB V HASIL DAN PEMBAHASAN
Bab ini merupakan pembahasan akan hasil dari perancangan dan pemecahan
masalah yang telah dilakukan. Dalam bab ini juga disertakan sistem yang
telah dibuat dalam tahap sebelumnya.
 BAB VI PENUTUP
Dalam bab ini, penulis memberikan kesimpulan atas hasil penelitian yang
telah dilakukan. Disamping itu, penulis memberikan saran sebagai masukan
kepada pihak maupun penelitian selanjutnya.

UIN Syarif Hidayatullah Jakarta


8

BAB 2

LANDASAN TEORI

2.1 Tinjauan Pustaka


Dalam penilitian ini, penulis menggunakan beberapa literatur sebagai
referensi dan acuan dalam pembahasan yang akan dilakukan. Adapun literatur
tersebut adalah sebagai berikut.

2.1.1 Desain dan Implementasi Sistem Keamanan E-Voting Dengan

Jaminan Confidentiality Data (Tika Rahmadian, et.al)

Dalam penelitian ini penulis mendasarkan penelitian pada jaminan


confidentiality atau kerahasiaan data. Ancaman kerahasiaan data dapat terjadi
salah satunya adalah manipulasi data yang dilakukan oleh Administrator.
Administrator sebagai aktor yang berwenang dalam mengelola jalannya sistem
e-voting bisa saja merubah data hasil pemilihan pada sistem yang masih belum
memiliki metode keamanan data. Metode keamanan dan kerahasiaan data
dilakukan menggunakan kriptografi RSA.
Kriptografi RSA dibuat menggunakan bantuan aplikasi OpenSSL agar
lebih mudah dan otomatis dalam proses enkripsi dan dekripsi data. Algoritma
RSA digunakan dalam proses penyimpanan data hasil pemilihan. Dalam hasil
yang telah dijabarkan dalam penelitian tersebut, terbukti bahwa penggunaan
kriptografi RSA menggunakan OpenSSL dapat merahasiakan data dan proses
enkripsi dan dekripsi data dapat lebih mudah dilakukan.
Dalam penilitian ini belum terdapat sebuah teknis dan metode dalam
memenuhi ketersediaan data pemilih yang pada umumnya sangat banyak.
Disamping itu penelitian tersebut menggunakan konsep pemilihan yang
terdapat di Indonesia atau konsep pemilihan yang umum.

UIN Syarif Hidayatullah Jakarta


9

2.1.2 Penerapan Sistem E-Voting pada Pemilihan Kepala Daerah di


Indonesia (Shelvie Nidya Neyman, etl.al : 2013)
Pada penilitian ini penulis merancang dan membangun sebuah aplikasi
e-voting yang digunakan dalam proses pemilihan kepala daerah yang ada di
Indonesia. Disamping itu penulis menerapkan beberapa metode keamanan di
dalam aplikasi e-voting tersebut. Metode tersebut diantaranya adalah captcha,
session, dan RSA.
Pada hasil aplikasi yang dibangun, data yang akan dienkripsi
menggunakan RSA adalah data hasil perhitungan pemilihan dan bukan data
hasil pemilihan. Data hasil perhitungan yang telah dienkripsi dan diformat
dalam bentuk .zip akan dikirim ke pusat untuk kemudian dilakukan proses
dekripsi dan perhitungan total. Oleh karena itu, ancaman akan kerahasiaan data
dalam aplikasi yang telah dibangun akan terancam.
Dalam aplikasi ini juga belum terdapat sebuah metode dalam memenuhi
ketersediaan data pemilih.

2.1.3 The Technical Feasibility and Security of E-Voting (Abdalla Al-


Ameen, et.al : 2013)
Dalam penilitian ini penulis menjabarkan dasar-dasar konsep yang ada
dalam penggunaan sistem e-voting pada pemilihan umum. Penulis memulai
dengan menjabarkan definisi umum tentang e-voting, merancang secara
sederhana alur proses dari e-voting, ancaman yang terdapat dalam penggunaan
e-voting, atribut teknis dan keamanan dalam e-voting, solusi mengatasi
ancaman dalam e-voting, dan penggunaan e-voting yang ada pada berbagai
negara.
Penelitian ini hanya memberikan gambaran umum dan konsep umum
dalam e-voting. Penelitian ini tidak membahas peracangan dan pembangunan
aplikasi e-voting dan penerapan keamanan dalam aplikasi tersebut. Namun
penelitian ini cukup memenuhi kebutuhan akan pengetahuan dasar dan konsep
e-voting secara umum yang baik.

UIN Syarif Hidayatullah Jakarta


10

2.1.4 A Review of Underlying Concepts of Electronic Voting (Okediran


Oladotun Olusola, et.al : 2012)
Dalam penilitian ini penulis memberikan deskripsi singkat tentang e-
voting dan menggambarkan secara sederhana konsep dari e-voting. Penulis
menyarankan akan penggunaan salah satu metode kriptografi dalam sistem e-
voting. Ketiga metode yang ditawarkan tersebut adalah homomorphic
encryption, mixing nets, dan blind signature.
Fokus penelitian ini adalah penjabaran konsep dasar dari e-voting dan
penggunaan metode kriptografi dalam e-voting. Dalam penilitian ini penulis
tidak menjabarkan pemenuhan akan ketersediaan data, terutama data pemilih
yang pada umumnya begitu banyak. Walaupun dalam penilitian ini penulis
menyebutkan harus ada sistem registrasi terlebih dahulu, namun tidak ada
metode ketersediaan data yang digunakan.

2.1.5 E-Voting Protocol Based On Public Key Cryptography (Hayam K.


Al-Anie, et.al : 2011)
Pada penelitian ini penulis mendasarkan perancangan sistem e-voting
pada penggunaan dan penerapan kriptografi RSA. Terlebih dahulu penulis
menjabarkan definis dan perbedaan antara kriptografi simetris dan asimetris.
Penulis juga menjabarkan rancangannya akan sistem e-voting yang ditawarkan.
Hal-hal yang sangat penting dibutuhkan dalam rancangan tersebut adalah
adanya proses akses kontrol. Yaitu pendafataran pemilih autentikasi pemilih
sebelum melakukan pemilihan. Perangkat sangat bergantung pada infrastruktur
internet, PC, dan perangkat mobile.
Secara umum, penjabaran akan konsep e-voting dalam penilitian ini
sudah cukup baik dan menyeluruh. Yang diperlukan kemudian adalah
perancangan, pembangunan, dan implementasi sistem yang didasarkan pada
konsep tersebut.

UIN Syarif Hidayatullah Jakarta


11

2.1.6 E-Voting : Urgensi Transparansi dan Akuntabilitas (Edi Priyono,


et.al : 2010)
Dalam penelitian ini penulis mencoba menjelaskan mengenai peluang
dan tantangan penerapan sistem e-voting pada pemilihan umum di Indonesia.
Penulis menjabarkan permasalahan-permasalahan yang timbul dalam
penyelenggaraan pemilihan umum selama ini. Yaitu seperti banyaknya surat
suara yang tidak sah, pemilih ganda, banyaknya jumlah suara golput, dan lain
sebagainya. Setelah itu penulis menjabarkan secara singkat definisi dan
prinsip-prinsip dari e-voting yang dapat menjadi acuan dalam penerapannya di
pemilihan umum.
Dalam hasil dan pembahasan yang penulis jabarkan, terdapat beberapa
tantangan yang dihadapi dalam penerapan sistem e-voting, diantaranya adalah
infrastruktur teknologi yang belum memadai dan merata di setiap daerah.
Penulis juga menjabarakan beberapa konsep penyelenggaraan sistem e-voting
yang mungkin dapat diterapkan di pemilihan umum.

2.1.7 Sistem Pengamanan Data Pemilihan Umum E-Voting


Menggunakan Algoritma SHA-1 (Abdurrosyid Broto Handoyo :
2013)
Dalam penelitian ini penulis merancang sebuah aplikasi e-voting
menggunakan metode keamanan yaitu algoritma SHA-1. Algoritma SHA-1
digunakan dalam mengabstraksi data pemilihan yang dilakukan oleh pemilih.
Penulis menggambarkan secara sederhana alur proses dalam pelaksanaan e-
voting yang dirancang.
Dalam penelitian ini penulis hanya memberikan rancangan atas penggunaan
algortima SHA-1 dalam sistem e-voting secara teori. Diperlukan sebuah
aplikasi dan rancang bangun yang menyeluruh untuk dapat melihat hasil dari
konsep yang ditawarkan.

UIN Syarif Hidayatullah Jakarta


12

2.1.8 Campus E-Voting for Android and Web Based Application


(Prashant Pandit, et.al : 2014)
Dalam penelitian ini penulis merancang sebuah aplikasi e-voting yang
didasarkan pada mobile application yaitu Android. Pada rancangan yang
ditawarkan, penulis menggunakan 2 metode keamanan data, yaitu kriptografi
dan stagnografi. Penulis juga memberikan penjelasan sederhana tentang Java,
JSP, Android, dan Apache Tomcat.
Pada penilitian ini, penulis tidak menjabarkan alur proses pemilihan
pada sistem e-voting ataupun gambaran tentang sistem yang akan dibangun.
Penulis hanya menjelaskan rancangannya secara sederhana menggunakan 2
metode kemanan data diatas.

2.1.9 Implimentation and Analysis of Secure Electronic Voting System


(Htet Ne Oo, et.al : 2013)
Pada penelitian ini penulis membahas tentang konsep-konsep yang ada
dalam penerapan e-voting. Pada awal pembahasan, penulis menjelaskan
atribut-atribut apa saja yang harus ada dalam penerapan e-voting. Selanjutnya
penulis menjelasakan konsep sistem yang ditawarkan dalam e-voting serta
penerapan digital signature sebagai metode keamanan data. Penulis cukup
memberikan secara spesifik tahapan-tahapan yang ada dalam pemilihan
menggunakan sistem e-voting, yaitu mulai dari tahap pengumuman daftar
pemilih hingga pengumuman hasil perhitungan pemilihan.

2.2 Landasan Teori


2.2.1 Electronic Voting (E-Voting)
Pengertian E-Voting secara sederhana adalah penggunaan perangkat
elektronik dalam proses pemilihan umum. Penggunaan elektronik dalam
pemilihan memiliki tujuan agar proses yang dilakukan dapat lebih efektif dan
efisien.
Terdapat beberapa pengertian dan definisi tentang Electronic Voting,
yaitu :

UIN Syarif Hidayatullah Jakarta


13

a. Abdalla Al-Ameen dan Samani Talab (2013) : Sistem E-Voting adalah


sistem pemilihan dimana data pemilihan direkam, disimpan, dan diproses
terutama sebagai informasi digital.
b. Hayam K. Al-Anie, et.al (2011) : Teknologi dari E-Voting digunakan
untuk membantu masyarakat untuk berkontribusi dalam pengambilan
keputusan secara demokratis. E-Voting adalah sistem pemilihan yang
mengijinkan pemilih menyimpan suara mereka secara rahasia dan aman
menggunakan perangkat elektronik.
c. Bend Goldsmith (2011) : pada pemilihan secara manual yang
menggunakan kertas suara, pemilih mencontreng surat suara mereka dan
kemudian dihitung menggunakan tangan oleh petugas yang berwenang.
Dalam pemilihan menggunakan e-voting atau teknologi penghitungan,
proses tersebut dapat dilakukan secara otomatis menggunakan perangkat
elektronik. Pada e-voting sebuah perangkat elektronik merekam pilihan
pemilih.

Sistem yang digunakan dalam E-Voting merupakan perwujudan dari


sistem pemilihan pada umumnya. Sistem E-Voting dirancang dan dibangun
berdasarkan konsep dan alur dari pemilihan umum yang telah ada. Menurut
Abdalla Al-Ameen dan Samani Talab (2013), proses e-voting dibagi menjadi
3 tahapan. Yaitu Pre-Voting Phase, Voting Phase, dan Post Voting Phase.
a. Dalam Pre-Voting Phase (Fase Pra/Sebelum Pemilihan) ada dua tahapan,
yaitu Proses Nominasi Kandidat dan Registrasi Pemilih.
b. Pada tahap Voting Phase (Fase Pemilihan), pemilih yang tergistrasi dapat
memilih kandidat yang telah di nominasi.
c. Pada tahap Post-Voting Phase (Fase Post/Sesudah Pemilihan), dibagi
menjadi 3 bagian. Yaitu Counting, Result, dan Audit Administration.

Dalam sistem yang multi-user, user harus mengidentifikasikan dirinya


untuk kemudian sistem dapat mengidentifikasi user tersebut sebelum
menggunakan sistem. Menurut Hayam K. Al-Anie (2011), dalam sistem e-

UIN Syarif Hidayatullah Jakarta


14

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.

Dalam membangun sebuah sistem e-voting yang baik, sistem e-voting


harus dibangun diatas prinsip-prinsip agar sistem dapat berjalan dengan baik
dan diterima oleh masyarakat. Abadalla Al-Ameen (2013) menjelaskan
beberapa prinsip kemanan dan teknis yang dimiliki oleh sebuah sistem e-voting
yang baik. Prinsip-prinsip tersebut adalah:
a. Accuracy : E-voting yang baik adalah jika voting tidak dapat dirubah, jika
tidak memungkinkan hasil voting yang sudah divalidasi tereliminasi dalam
proses perhitungan, dan jika tidak memungkinkan voting yang tidak sah
masuk dalam perhitungan.
b. Verfiability : jika semua orang secara independen dapat memverifikasi
hasil voting secara benar.
c. Democracy : jika memungkinkan hanya pemilih yang berhak yang dapat
memberikan suaranya, dan jika memungkinkan satu pemilih satu suara
pilihan.
d. Privacy : jika tidak seorang pun dapat mengetahui pilihan dari apa yang
sudah dipilih oleh Pemilih, dan tidak seorang pun yang dapat
membuktikan bahwa orang memilih calon mana yang dia pilih.
e. Convenience : jika pemilih dapat memilih dengan cepat dan mudah tanpa
menggunakan keahlian khusus tertentu.
f. Flexibility : jika sistem memungkinkan adanya pertanyaan tentang
pemungutan suara ataupun survey.

UIN Syarif Hidayatullah Jakarta


15

g. Mobility : jika tidak ada batasan dan ketergantungan pada tempat


pemilihan, selain logistik.
h. Realibility : jika performa sistem dapat diperbaiki secara berkala.
i. Consistency : jika sistem berjalan sesuai dengan yang telah dibuat, kapan
saja dan dimana saja.
j. Social Acceptance: jika sistem diterima sebagai sistem yang efektif oleh
stakeholder pemilihan umum.

Dalam pelaksanaan sistem e-voting, tentu terdapat berbagai macam


tantangan, rintangan, dan ancaman yang akan ditemukan. Semakin baik sistem
yang dibangun, akan semakin kecil peluang untuk upaya-upaya tersebut
dilakukan. Dalam hal ini dibutuhkan upaya pencegahan dari dalam maupun
luar sistem agar sistem dapat berjalan dengan baik. Abdalla Al-Ameen (2013)
memberikan beberapa upaya agar setiap tantangan dan ancaman terhadapa
sistem dapat ditanggulangi dengan baik. Upaya tersebut adalah sebagai berikut:
a. Authentication Scheme : autentikasi diperlukan dalam penggunaan e-
voting, seperti hal nya pemakaian smart card.
b. Virus : penanggulangan dan antisipasi dari ancaman virus adalah dengan
mengupdate software maupun anti virus yang ada di dalam komputer.
c. Phishing Scams : penanggulangan ancaman phishing dapat dilakukan
dengan mengedukasi voter tentang bahaya dan bagaimana teknik phishing
dapat dilakukan.
d. Integrity Threats Solution : sistem voting membutuhkan sebuah verifikasi
dari oleh pihak yang independen dan memastikan bahwa fungsi-fungsi
sistem berjalan sebagaimana mestinya. Penggunaan kriptografi dalam
penyampaian pesan dapat memberikan garansi terhadap integritas dari
pertukaran pesan.
e. Network Infrastructure : penggunaan kriptografi dan honeyspot dapat
meminimalisir ancaman terhadap jaringan.
f. Legal Protection : penyerangan terhadap sistem merupakan sebuah
kejahatan yang disamakan sebagai pencuri.

UIN Syarif Hidayatullah Jakarta


16

2.2.1.1 Kelebihan Penggunaan E-Voting


Penggunaan sistem Electronic Voting memiliki beberapa
kelebihan. Seperti yang dijelaskan oleh Ben Goldsmith (2011), ada
beberapa kelebih dalam penggunaan dan pemanfaatan teknologi dalam
proses pemilihan. Kelebihan tersebut antara lain:
a. Mereduksi pengaturan logistik
b. Adanya kemungkinan identifikasi pemilih
c. Aksesibilitas, memudahkan akses penggunaan sistem bagi semua
kalangan.
d. Meningkatkan kecepatan dalam memilih
e. Memiliki kemampuan dalam mengatasi sistem pemilihan yang
kompleks.
f. Mengurangi penggunaan petugas pemilihan.
g. Memudahkan akses bagi kalangan disabilitas.
h. Meniadakan permasalahan stempel dalam kertas suara.
i. Peningkatan jumlah suara, dalam beberapa kasus penggunaan e-
voting mampu meningkatan partisapasi publik ketika mendapatkan
kepercayaan dari mereka.
j. Mengeliminasi adanya surat suara yang tidak sah/salah.
k. Kecepatan dalam perhitungan suara.
l. Akurasi dalam tabulasi hasil suara.
m. Ketidakberpihakan terhadap salah satu kelompok/calon kandidat.
n. Pencegahan akan kecurangan dan penipuan dalam proses pemilihan
maupun perhitungan suara.

2.2.1.2 Kekurangan Penggunaan E-Voting


Penggunaan e-voting juga memiliki kekurangan dalam beberapa
segi. Menurut Ben Goldsmith (2011), kekurangan tersebut meliputi
beberapa segi. Yaitu:

UIN Syarif Hidayatullah Jakarta


17

a. Kurangnya transparansi. Dalam pemilihan manual, pengawas dapat


melihat secara langsung ketika surat suara diberikan kepada pemilih,
digunakan oleh pemilih, hingga dimasukkan dalam kotak suara.
Dalam pengguanan e-voting hal tersebut tidak dapat dilakukan.
Masyarakat harus percaya bahwa hasil yang ada berasal dan
bersumber dari pemilih.
b. Kepercayaan akan sistem e-voting yang baik dan benar akan sulit
didapat. Pihak penyelenggara harus mampu meyakinkan masyarakat
bahwa sistem e-voting sudah layak dan teruji.
c. Audit hasil suara akan menjadi hal sulit dalam penggunaan sistem e-
voting. Dalam pemilihan manual, audit dilakukan ketika perhitungan
satu per satu suara dalam kotak suara. Kebanyakan dari sistem e-
voting langsung menampilkan hasil dari pemilihan.
d. Kerahasiaan suara pemilih terancam dengan tidak adanya suatu
metode dalam mengabstraksi data suara dalam sistem e-voting.
e. Kebingungan yang didapat oleh pengguna yang tidak mengetahui
mekanisme pemilihan.
f. Edukasi pemilih sebelum pemilihan merupakan hal yang tidak
sederhana dan membutuhkan biaya yang tidak sedikit.
g. Integritas dan akurasi source code. E-voting sangat bergantung pada
kualitas dan ketahanan perangkat lunak (software). Perangkat lunak
harus melewati uji teknis sebelum masuk ke tahap penggunaan.
h. Keamanan. Hal ini menjadi kekurangan sistem e-voting dikarenakan
dalam proses transimis data terdapat kemungkinan adanya hacking
atau pencurian data.

2.2.2 Kriptografi RSA


2.2.2.1 Pengertian Kriptografi
Menurut Dony Ariyus (2008), kriptografi berasal dari bahasa
Yunani, crypto dan graphia. Crypto berarti rahasia dan graphia berarti
tulisan. Secara terminologi, kriptografi adalah ilmu dan seni untuk

UIN Syarif Hidayatullah Jakarta


18

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.

Algoritma kriptografi selalu terdiri dari dua bagian yaitu fungsi


enkripsi dan fungsi dekripsi. Fungsi enkripsi adalah teknik untuk membuat
pesan menjadi tidak dapat dibaca (chipertext). Kebalikan dari fungsi
enkripsi, fungsi dekripsi adalah teknik untuk merubah chipertext menjadi
pesan yang dapat dibaca (plaintext). Pada kriptografi modern, kriptografi
menyelesaikan masalah keamanan tekniknya hanya dengan menggunakan
sebuah kunci (key), tanpa harus menyembunyikan algortimanya sendiri.
Keamanan enkripsi hanya tergantung pada kunci, dan tidak bergantung
pada apakah algoritmanya dilihat orang lain atau tidak. (Yusuf Kurniawan
: 2004)
Menurut Yusuf Kurniawan (2004), terdapat dua jenis algoritma
kriptografi berdasarkan jenis kuncinya :
1. Algoritma Simetri
Algoritma simetri adalah algoritma yang menggunakan kunci enkripsi
yang sama dengan kunci deskripsinya. Algoritma simetri disebut juga
dengan algoritma kuci rahasia, algoritma kunci tunggal, atau

UIN Syarif Hidayatullah Jakarta


19

algoritma satu kunci, dan mengharuskan pengirim dan penerima


menyetujui suatu kunci tertentu sebelum mereka dapat berkomunikasi
dengan aman. Keamanan algoritma simetri tergantung pada kunci,
membocorkan kunci berarti bahwa orang lain dapat mengenkrip dan
mendekrip pesan. Contoh kunci simetri adalah OTP, DES, RC2, RC4,
RC5, IDEA, dan lain-lain.
2. Algoritma Asimetri
Algortima asimetri atau yang disebut juga algoritma kunci publik,
didesain sedemikian sehingga kunci yang digunakan untuk enkripsi
berbeda dari kunci yang digunakan untuk dekripsi. Algoritma
asimetris disebut kunci publik karena kunci enkripsi dapat dibuat
publik yang berarti semua orang boleh mengetahuinya. Sembarang
orang dapat menggunakan kunci enkripsi tersebut untuk mengenkrip
pesan, namun hanya orang tertentu yang dapat melakukan dekripsi
terhadap pesan tersebut. Dalam sistem ini, kunci enkripsi sering
disebut kunci publik, dan kunci dekripsi sering disebut kunci privat.

2.2.2.2 Algoritma RSA


RSA ditemukan oleh tiga orang yang kemudia menjadi singkatan
dari RSA itu sendiri. Ketiga orang tersebut adalah Ron Rivest, Adi Shamir,
dan Leonard Adleman. RSA termasuk dalam kategori algoritma asimetris,
yang berarti memiliki dua kunci, yaitu kunci publik dan kunci privat.
RSA melakukan pemfaktoran bilangan yang sangat besar. Oleh
karena alasan tersebut, RSA dianggap aman. Untuk membangkitkan kedua
kunci, dipilih dua bilangan prima acak yang besar. (Dony Arius, 2006)
1. Proses Pembuatan Kunci
a. Memilih p dan q, dimana p dan q adalah bilangan prima
b. Menghitung n = p x q
c. Menghitung ɸ(n) = (p -1)(q – 1)
d. Memilih bilangan integer e, dengan cara menghitung gcc(ɸ(n), e)
= 1 ; 1 < e < ɸ(n)

UIN Syarif Hidayatullah Jakarta


20

e. Menghitung bilangan d = e-1 mod ɸ(n)


f. Kunci Publik = (e,n)
g. Kunci Privat = (d,n)
2. Proses Enkripsi dan Dekripsi
Rumus Enkripsi adalah : C = Me mod n
Rumus Deskripsi adalah : M = Cd mod n

Dimana C adalah chipertext dan M adalah blok plaintext.

2.2.2.3 RSA Menggunakan OpenSSL


OpenSSL adalah sebuah library kriptografi, yang menyediakan
implementasi dari algoritma yang digunakan oleh skala industri. OpenSSL
mendukung penggunaan kunci publik RSA dan memiliki fungsi dalam
membentuk kunci privat dan kunci publik. Command genrsa dalam
OpenSSL berfungsi untuk membangkitkan kunci privat RSA. Untuk men-
generate kunci privat, OpenSSL melibatkan penemuan 2 angka prima
besar, yang mana masing-masing sekitar setengah panjang kunci. Panjang
kunci pada umumnya adalah 1024 bit. Pada dasarnya, pembangkitan kunci
privat akan menghasilkan kunci yang tidak terenkripsi, namun terdapat
fungsi lain dalam OpenSSL yang memungkinkan kunci privat terenkripsi
menggunakan algoritma DES, 3DES, atau IDEA. (Pravir Chandra, et.al :
2002)
Untuk membangkitkan kunci private RSA pada OpenSSL dapat
dilakukan dengan cara mengetik command-line di bawah ini pada
command-prompt OpenSSL:

Gambar 2.1 Generate Kunci Privat RSA pada OpenSSL

UIN Syarif Hidayatullah Jakarta


21

Command-line diatas menjelaskan bahwa, bangkitkan kunci privat


RSA dengan panjang 1024 bit, enkripsi kunci tersebut dengan
menggunakan algortima DES3 dan dengan password “trousers”, dan
simpan hasil kunci privat pada file rsaprivetkey.pem.
Selanjutnya, untuk membangkitkan kunci publik RSA diperlukan
file kunci privat yang telah dibuat sebagai dasa pembuatan kunci publik.
Hal tersebut dapat dilakukan dengan command-line dibawah ini:

Gambar 2.2 Generate Kunci Publik RSA pada OpenSSL

Command-line diatas menjelaskan bahwa, baca kunci privat RSA


dari file rsaprivatekey.pem, kemudian dekripsi file tersebut menggunakan
password “trousers”, dan simpan hasil kunci publik pada file
rsapublickey.pem.

2.2.3 Web Service


Web Service adalah secara relatif merupakan sebuah teknologi baru
yang telah diterima secara luas sebagai sebuah implementasi penting dari
service-oriented architecture. Hal ini dikarenakan Web Service menyediakan
pendekatan komputasi terdistribusi untuk mengintegrasikan aplikasi heterogen
melewati internet. (Mark Endrei, et al : 2004)
Menurut Hendro Joko Prasetyo dalam jurnal yang berjudul
Implementasi Service Oriented Architecture Menggunakan Teknologi Web
Service (2011:3), ada berbagai versi definisi mengenai web service, yang pada
intinya menggambarkan karakteristik dari web service, yaitu antara lain
sebagai berikut:
a. Merupakan application logic yang dapat diakses dan dipublikasikan
menggunakan standar internet (TCP/IP, HTTP, SMTP, FTP, JMS, Web).
b. Dideskripsikan dalam format XML atau JSON.

UIN Syarif Hidayatullah Jakarta


22

c. Diidentifikasikan dengan Universal Resources Identifier.


d. Bersifat loosely coupled, self-contained, modular, dan terbuka (non
proprietary).
e. Digunakan untuk mendukung interoperabitilats interaksi machine-to-
machine melalui jaringan internet/intranet.

Menurut Lucky (2008:2), ada beberapa perbedaan antara web pada


umumnya dengan web service. Perbedaan itu dapat dilihat pada tabel dibawah
ini.

Tabel 2.1 Perbedaan web service dengan web


No. Website Web Service
1. Memiliki web interface Tidak memiliki web interface
2. Dibuat untuk interaksi langsung Dibuat untuk berinteraksi langsung
dengan user dengan aplikasi lain, baik berbeda OS
maupun konsep sekalipun
3. Dibuat untuk bekerja pada web Dibuat untuk bekerja pada semua tipe
browser aplikasi klien ataupun perangkat
device.

2.2.3.1 Representational State Transfer (REST)


Menurut Samisa Abeysinghe (2008:13), REST adalah gaya
arsitektur perangkat lunak yang dapat disertakan pada saat proses desain
sistem perangkat lunak. REST adalah sebuah gaya desain ideal yang
disertakan untuk perangkat lunak berbasiskan web service. Berikut ini
adalah beberapa prinsip dasar dari REST :
a. Menyediakan setiap sumber daya (resource) dengan ID yang unik,
sebagai contoh adalah URI
b. Menghubungkan sumber daya satu dengan sumber daya lainnya,
membangun keterhubungan antar sumber daya.

UIN Syarif Hidayatullah Jakarta


23

c. Menggunakan metode yang standar, contohnya adalah HTTP, tipe


media, XML, dan JSON
d. Sumber daya (resource) dapat memiliki berbagai macam representasi
yang merefleksikan state aplikasi yang berbeda-beda
e. Komunikasi harus sesuai dengan state menggunakan HTTP

Sebuah sumber daya memiliki pengidentitasan (identifier), yaitu


sebuah URI yang selalu berasosiasi dengan sumber daya. Dengan kata
lain, setiap informasi memiliki URI-nya masing-masing. Pada saat
mengakses sumber daya menggunakan HTTP, identifier sumber daya
ditentukan bersama dengan tindakan yang akan dilakukan pada sumber
daya itu. URI mengidentifikasi sumber daya. Tindakan yang akan
dilakukan didefinisikan menggunakan kata kerja HTTP.
Tabel dibawah ini menjelaskan secara ringkas kata-kata kerja
HTTP dan bagaimana penggunaannya pada saat menggunakan REST.

Tabel 2.2 Kata-kata Kerja HTTP


Kata Kerja Deskrispi
GET Mengambil sumber daya yang
diidentifikasikan oleh URI
POST Mengirimkan sumber daya ke server,
untuk disimpan di lokasi yang
diidentifikasikan oleh URI
PUT Mengirimkan sumber daya ke server.
Mengupdate sumber daya yang
diidentifikasi oleh URI
DELETE Menghapus sumber daya yang
diidentifikasikan oleh URI
HEAD Mengambil meta data dari sumber daya
yang diidentifikasikan oleh URI

UIN Syarif Hidayatullah Jakarta


24

2.2.3.2 JavaScript Object Notation (JSON)


JavaScript Object Notation (JSON) adalah sebuah standar ringan
yang berbasiskan teks yang didesain untuk pertukaran data yang mudah
dibaca oleh manusia. Format JSON ditemukan oleh Douglas Crockford.
Format file JSON adalah .json. Adapun kegunaan JSON adalah sebagai
berikut:
a. Berguna pada saat penulisan aplikasi yang berbasiskan Javascript
yang menyertakan ekstensi browser dan website.
b. Format JSON digunakan dalam serialisasi dan transmisi struktur data
antar jaringan
c. JSON digunakan terutama dalam transmisi data antara server dan
aplikasi web.
d. Web service dan API menggunakan JSON untuk menyertakan data
publik.
e. Dapat digunakan dalam bahasa pemograman modern.

Sintaks JSON pada dasarnya dapat dianggap sebuah bagian dari


sintaks Javascript. Adapun sintaks JSON meliputi :
a. Data direpresentasikan dengan sepasang nama/nilai.
b. Kurung kurawal ({}) memegang objek dan setiap nama diikuti dengan
: (titik dua), sepasang nama/nilai dipisahkan/dibedakan dengan ,
(koma).
c. Tanda kurung ([]) besar memegang array dan nilai dibatasi dengan ,
(koma).

Adapun contoh dari sintaks JSON adalah sebagaimana gambar


dibawah ini.

UIN Syarif Hidayatullah Jakarta


25

Gambar 2.3 Contoh Sintaks JSON

2.2.4 Unified Manipulation Language (UML)


UML merupakan bahasa visual untuk pemodelan dan komunikasi
mengenai sebuah sistem dengan menggunakan diagram dan teks-teks
pendukung. UML muncul karena adanya kebutuhan pemodelan visual untuk
menspesifikasikan, menggambarkan, membangun, dan dokumentasi dari
sistem perangkat lunak. UML hanya berfungsi untuk melakukan pemodelan.
Penggunaan UML tidak terbatas pada metodologi tertentu, meskipun pada
kenyatannya UML paling banyak digunakan pada metodologi berorientasi
objek. (Rosa A.S dan M. Shalahuddin : 2011)
UML dibentuk oleh Object Management Group (OMG). Berawal dari
pengajuan proposal standarisasi pemodelan berorientasi objek, pada bulan
September 1997 UML diakomodasi oleh OMG hingga saat ini. Secara fisik,
UML adalah sekumpulan spesifikasi yang dikeluarkan oleh OMG.

UIN Syarif Hidayatullah Jakarta


26

Berdasarkan jenisnya, UML membagi kedalam 3 kategori diagram.


Kategori tersebut adalah :
a. Structure Diagrams, yaitu kumpulan diagram yang digunakan untuk
menggambarkan suatu struktur statis dari sistem yang dimodelkan.
b. Behavior Diagrams, yaitu kumpulan diagram yang digunakan untuk
menggambarkan kelakuan sistem atau rangkaian perubahan yang terjadi
pada sistem.
c. Interaction Diagrams, yaitu kumpulan diagram yang digunakan untuk
menggambarkan interaksi sistem dengan sistem lain maupun interaksi
antar subsistem.

2.2.4.1 Diagram UML


Pada UML 2.3, terdapat 13 macam diagram. Pada penelitian ini,
penulis akan membahas beberapa diagram yang akan digunakan dalam
penelitian ini.

1. Use Case Diagram


Use case diagram mendeskripsikan sebuah interaksi antara satu atau
lebih aktor dengan sistem informasi yang akan dibuat. Use case
digunakan untuk mengetahui fungsi apa saja yang di dalam sebuah
sistem informasi dan apa saja yang berhak menggunakan fungsi-
fungsi tersebut.
Berikut simbol-simbol yang ada pada use case diagram :

Tabel 2.3 Simbol-simbol Use case diagram


Simbol Deskripsi
Use case Fungsionalitas yang disediakan sistem
sebagai unit-unit yang saling bertukar
nama use case
pesan antar unit atau aktor.
Aktor / actor Orang, proses, atau sistem lain yang
berinteraksi dengan sistem informasi

UIN Syarif Hidayatullah Jakarta


27

yang akan dibuat di luar sistem


informasi yang dibuat itu sendiri.

nama aktor

Asosiasi / association Komunikasi antara aktor dan use case


yang berpartisipasi pada use case atau
use case memiliki interaksi dengan
aktor.

Ekstensi / extend Relasi use case tambahan ke sebuah


use case dimana use case yang

<<extend>> ditambahkan dapat berdiri sendiri


walau tanpa use case tambahan itu.
Generalisasi / generalization Hubungan generelasasi dan spesialiasi
(umum-khusus) antara dua buah use
case dimana fungsi yang satu adalah
fungsi yang lebih umum dari lainnya.
Menggunakan / include / uses Relasi use case tambahan ke sebuah
use case dimana use case yang

<<include>> ditambahkan memerlukan use case ini


untuk menjalankan fungsinya atau
sebagai syarat dijalankannya use case
ini.

2. Activity Diagram
Activity diagram atau diagram aktivitas menggambarkan workflow
(aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis.

UIN Syarif Hidayatullah Jakarta


28

Tabel 2.4 Simbol-simbol Activity Diagram


Simbol Deksripsi
Status awal Status awal aktivitas sistem, sebuah
diagram aktivitas memiliki sebuah
status awal.
Aktivitas Aktivitas yang dilakukan sistem,
aktivitas biasanya diawali dengan kata
aktivitas
kerja.
Percabangan / decision Asosiasi percabangan dimana jika ada
pilihan aktivitas lebih dari satu.

Penggabungan / join Asosiasi penggabungan dimana lebih


dari satu aktivitas digabungkan
menjadi satu.
Status akhir Status akhir yang dilakukan sistem,
sebuah diagram aktivitas memiliki
status akhir.
Swimlane Memisahkan organisasi bisnis yang
bertanggung jawab terhadap aktivitas
nama swimlane
yang terjadi.

fungsi

3. Sequence Diagram

UIN Syarif Hidayatullah Jakarta


29

Sequence diagram menggambarkan kelakuan objek pada use case


dengan mendeskripsikan waktu hidup objek dan message yang
dikirimkan dan diterima antar objek. Oleh karena itu, untuk
menggambar diagram sekuen maka harus diketahui objek-objek yang
terlibat dalam sebuah use case beserta metode-metode yang dimiliki
kelas yang diinisiasi menjadi objek itu.
Berikut simbol-simbol yang ada pada sequence diagram :

Tabel 2.5 Simbol-Simbol Sequence Diagram


Simbol Deskrispsi
Aktor Orang, proses, atau sistem lain yang
berinteraksi dengan sistem informasi
yang akan dibuat. Aktor tidak hanya
sebatas orang.

Garis hidup / lifeline Menyatakan kehidupan suatu objek

Objek Menyatakan objek yang berinteraksi


pesan

Waktu aktif Menyatakan objek dalam keadaan aktif


dan berinteraksi pesan

Pesan tipe call Menyatakan suatu objek memanggil


operasi/metode yang ada pada objek
lain atau dirinya sendiri.

UIN Syarif Hidayatullah Jakarta


30

Pesan tipe send Menyatakan bahwa suatu objek


mengirimkan data/masukan/informasi
ke objek lainnya, arah panah mengarah
pada objek yang dikirimi.
Pesan tipe return Menyatakan bahwa suatu objek yang
telah menjalankan suatu operasi atau
metode menghasilkan suatu kembalian
ke objek tertentu, arah panah mengarah
pada objek yang menerima kembalian.

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 :

Tabel 2.6 Simbol-simbol Class Diagram


Simbol Dekripsi
Kelas Kelas pada stuktur sistem

ClassName
-memberName
-memberName

Antarmuka / interface Sama dengan konsep interface dalam


pemograman berorientasi objek.

UIN Syarif Hidayatullah Jakarta


31

<<Interface>>
InterfaceName
-memberName
-memberName

Asosiasi / association Relasi antar kelas dengan makna


umum, asosiasi biasanya juga disertai
dengan multiplicity.

Asosiasi berarah / directed association Relasi antar kelas dengan makna kelas
yang satu digunakan oleh kelas yang
lain, asosiasi biasanya juga disertai
dengan multiplicity.

Generalisasi Relasi antar kelas dengan makna


kebergantungan antar kelas

Agregasi / aggregation Relasi antar kelas dengan makna


semua-bagian

UIN Syarif Hidayatullah Jakarta


32

2.2.5 Model Waterfall


Pada penelitian ini penulis, metodologi pengembangan sistem yang
digunakan adalah model Waterfall. Model waterfall merupakan bagian dari
SDLC atau Software Development Life Cycle. SDLC adalah proses
mengembangkan atau mengubah suatu sistem perangkat lunak dengan
menggunakan model-model dan metodologi yang dgunakan orang untuk
mengembangkan sistem-sistem perangkat lunak sebelumnya (best practice
atau cara-cara yang sudah teruji dengan baik). Model waterfall sering juga
disebut dengan model sekuansial linier atau alur hidup klasik (Rosa A.S dan
M. Shalahuddin, 2011).
Menurut Sommerville (2011:31), tahap-tahap dasar dari model
waterfall secara langsung merefleksikan dasar dari aktivitas pembangunan,
yaitu :
a. Requirements analysis and definition
Pada tahap ini, pelayanan sistem, kendala, dan tujuan dari sistem dibangun
dengan berkonsultasi dengan pengguna sistem. Mereka mendefinisikan
dengan detail apa saja kebutuhan sistem.
b. System and software design
Proses desain sistem mengalokasikan kebutuhan akan perangkat lunak
maupun perangkat keras dengan membangun arsitektur dari kesuluruhan
sistem. Perancangan perangkat lunak melibatkan pengidentifikasian dan
penjelasan dasar-dasar hubungan sistem.
c. Implementation and unit testing
Selama proses ini, desain perangkat lunak direalisasikan dalam bentuk
sebuah satuan program atau unit program. Pengujian unit melibatkan
pemverifikasian bahwa setiap unit telah memenuhi syarat.
d. Integration and system testing
Setiap program di dalam sistem diintegrasikan dan dites sebagai sebuah
sistem yang komplit untuk memastikan bahwa setiap kebutuhan sistem
telah terpenuhi. Setelah proses testing, sistem perangkat lunak dikirimkan
kepada pelanggan.

UIN Syarif Hidayatullah Jakarta


33

e. Operation and maintenance


Secara normal, ini adalah fase siklus hidup yang paling panjang. Sistem
telah terinstal dan digunakan langsung. Maintenance melibatkan
pengkoreksian terhadap error, memperbaiki implementasi dari sistem unit
dan memperbagus servis sistem sesuai dengan kebutuhan yang digunakan.

Menurut Sommervile (2011), ada beberapa hal yang harus diketahui


pada penggunaan model waterfall sebagai metode pengembangan sistem.
Pertama, model waterfall konsisten dengan proses model rekayasa lainnya dan
dokumen-dokumen dihasilkan pada setiap fase. Hal ini membuat proses
menjadi jelas sehingga manajer dapat memantau jalannya proyek sesuai
dengan dokumentasi. Komitmen harus dibuat pada tahap awal fase di dalam
proses, sehingga sulit untuk merespon perubahan kebutuhan pelanggan.
Kedua, model waterfall digunakan hanya ketika kebutuhan telah dimengerti
dan tidak mungkin berubah secara mendasar selama proses pembuatan.
Untuk lebih memperjelas tahapan-tahapan yang ada pada model
waterfall, dapat dilihat gambar di bawah ini :

Requirements
analysis and
definition

System and
software design

Implementation and
unit testing

Integration and
system testing

Operation and
maintenance

UIN Syarif Hidayatullah Jakarta


34

Gambar 2.4 Skema Model Waterfall

2.2.6 Metode Pengujian Sistem


Pengujian adalah sebuah proses terhadap aplikasi/program untuk
menemukan segala kesalahan dan segala kemungkinan yang akan
menimbulkan kesalahan sesuai dengan spesifikasi perangkat lunak yang telah
ditentukan sebelum aplikasi tersebut diserahkan kepada pelanggan. Pengujian
yang baik adalah pengujian yang dilakukan dengan probabilitas penemuan
kesalahan yang tidak diduga, sedangkan pengujian yang sukses adalah
pengujian yan berhasil mengatasi penyelesaian penemuan kesalahan yang tidak
diduga. (Janner Simamarta, 2010)

1. Pengujian Black Box


Menurut Janner Simamarta (2010), pada pengujian black box terdapat
pengujian fungsional. Pada pengujian ini, perangkat lunak diuji untuk
persyaratan fungsional. Pengujian dilakukan dalam bentuk tertulis untuk
memeriksa apakah aplikasi berjalan seperti yang diharapkan. Pengujian
fungsional meliputi seberapa baik sistem melaksanakan fungsinya,
termasuk perintah-perintah pengguna, manipulasi data, pencarian dam
proses bisnis, pengguna layar, dan integrasi.
Selain pengujian fungsional, terdapat klasifikasi yang masuk dalam
kriteria pengujian black box, yaitu :
a. Pengujian tegangan
b. Pengujian beban
c. Pengujian khusus
d. Pengujian penyelidikan
e. Pengujian usabilitas
f. Pengujian asap
g. Pengujian pemulihan
h. Pengujian volume
i. Pengujian domain

UIN Syarif Hidayatullah Jakarta


35

j. Pengujian skenario
k. Pengujian regresi
l. Penerimaan pengguna
m. Pengujian alfa
n. Pengujian beta

2. Pengujian White Box


Menurut Janner Simamarta (2010), dalam pengujian white box tedapat
pengujian unit. Tujuan pengujian unit adalah untuk memeriksa apakah
modul tertentu atau kode unit telah bekerja dengan baik. Pengujian unit
berada pada tingkat yang sangat dasar seperti ketika unit kode
dikembangkan atau fungsi tertentu dibangun. Pengujian unit berkaitan
dengan unit secara keseluruhan.
Selain dari pengujian unit, ada beberapa pengujian yang masuk dalam
klasifikasi pengujian white box, yaitu :
a. Analisis status dan dinamis
b. Cakupan pernyataan
c. Cakupan cabang
d. Pengujian mutasi

2.2.7 Object Relational Mapping (ORM)


Aplikasi yang berorientasikan pada objek memiliki domain model,
yang mana tidak berkerja secara langsung dengan entitas-entitas bisnis yang
biasanya direpresentasikan pada tabel database. Aplikasi tersebut memiliki
sendiri entitas bisnis yang berorientasi objek. Kemudian, daripada
berhubungan langsung dengan baris-baris dan kolom-kolom dari sebuah set
hasil dari SQL, logika bisnis aplikasi tersebut berinteraksi dengan domain
model berorientasi objek ini dan merealisasi tugas mereka sebagai jaringan
atau penghubung interkoneksi antar objek. Logika bisnis tersebut tidak
dieksekusi di dalam database, namun diimplementasikan dalam application
tier. (Christian Bauer dan Gavin King, 2007:9)

UIN Syarif Hidayatullah Jakarta


36

Menurut Christian Bauer dan Gavin King (2007), ORM adalah


otomatisasi dan transparansi objek-objek yang tetap dalam sebuah aplikasi ke
dalam tabel-tabel dalam database relasional. Salah satu keuntungan dari
penggunaan ORM adalah melindungi pengembang aplikasi dari kekacauan
SQL.
Seperti yang dilansir pada situs resmi PHP Framework Laravel, yaitu
laravel.com, Laravel menyediakan sebuah fungsi ORM yaitu Eloquent.
Eloquent ORM beserta laravel menyediakan sebuah ActiveRecord yang
sederhana dan indah untuk bekerja dengan database. Setiap tabel database
memiliki Model yang sesuai yang dimana digunakan untuk berinteraksi dengan
tabel tersebut. Berikut adalah contoh dari penggunaan Eloquent ORM pada
Laravel.

Gambar 2.5 Contoh Penggunaan Eloquent ORM

Contoh sintaks diatas berfungsi untuk mengambil seluruh data yang ada
pada tabel yang direpresentasikan oleh model User.

UIN Syarif Hidayatullah Jakarta


37

BAB 3
METODOLOGI PENGEMBANGAN SISTEM

3.1 Metodologi Pengumpulan Data


Dalam hal ini penulis melakukan pengumpulan data dengan menggunakan
beberapa metode diantaranya :
a. Observasi
Obervasi dilakukan dengan mengikuti proses jalannya Pemilihan Umum
Mahasiswa UIN Syarif Hidayatullah Jakarta. Pemilihan dilakukan per satu
tahun periode. Pada saat penilitian berlangsung, penulis tidak dapat
melakukan observasi karena penyelenggarannya belum dimulai. Namun,
penulis mengalami pengalaman dan pengetahuan empiris yang didapat
dengan terlibat langsung dalam proses pemilihan. Penulis terlibat sebagai
pemilih dalam pemilihan tahun 2013 dan 2014. Pengalaman tersebut dapat
penulis jadikan dasar dan referensi dalam penilitian ini.
b. Wawancara
Penulis telah mewawancarai beberapa tokoh yang memiliki pengetahuan
dan pengalaman dalam Pemilihan Umum Mahasiswa UIN Syarif
Hidayatullah Jakarta. Orang-orang tesebut adalah Hilman Afriansyah Halim
(Ketua KPU UIN Syarif Hidayatullah Jakarta 2014) dan Aprilian Cena
(Ketua BAWASLU UIN Syarif Hidayatullah Jakarta 2014). Dalam kegiatan
wawancara ini, dapat disimpulkan beberapa poin tentang hasil wawancara :
1. Masalah-masalah yang terjadi dalam proses pelaksanaan Pemilihan
Umum Mahasiswa UIN Syarif Hidayatullah Jakarta, khususnya pada
periode tahun 2014.
2. Pandangan umum para tokoh tentang Pemilihan Umum Mahasiswa.
3. Pandangan para tokoh tentang penerapan teknologi informasi atau
penggunaan Electronic Voting dalam proses pelaksanaan Pemilihan
Umum Mahasiswa UIN Syarif Hidayatullah Jakarta.

UIN Syarif Hidayatullah Jakarta


38

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.

3.2 Metodologi Pengembangan Sistem


Dalam penelitian ini, penulis menggunakan model waterfall sebagai
metodologi pengembangan sistem yang akan dilakukan. Seperti yang sudah
dijelaskan pada bab sebelumnya, tahapan pada model waterfall dibagi menjadi 4
bagian. Yaitu requirements analysis and definition, system and software design,
implementation and unit testing, integration and system testing, dan operation and
maintenance. Namun pada penelitian ini, tahapan yang akan digunakan adalah
sampai pada tahap implementation and unit testing.

3.2.1 Requirements Analysis and Definition


Dalam tahap ini penulis memberikan gambaran umum tentang
Pemilihan Umum Mahasiswa UIN Syarif Hidayatullah Jakarta. Gambaran
umum tersebut meliputi tugas dan wewenang pihak-pihak yang turut andil
dalam jalannya Pemilihan Umum, prosedur-prosedur yang ada, dan alur
mekanisme Pemilihan Umum Mahasiswa.
Setelah memberikan penjelasan tentang gambaran umum, kemudian
penulis memberikan analisis dari sistem yang berjalan atau sistem yang
digunakan pada Pemilihan Umum Mahasiswa. Analisis tersebut memberikan
gambaran lebih dalam tentang sistem yang digunakan pada proses Pemilihan
Umum Mahasiwa beserta kekurangannya.

UIN Syarif Hidayatullah Jakarta


39

Dan selanjutnya setelah sistem dapat dianalisis dengan baik, maka


disusun dan ditentukan kebutuhan-kebutuhan yang harus disediakan di dalam
sistem. Kebutuhan tersebut meliputi kebutuhan fungsional dan kebutuhan non
fungsional. Kebutuhan fungsional adalah suatu pernyataan dari sebuah layanan
dimana sistem harus menyediakannya, bagaimana respon sistem terhadap
input, dan bagaimana kelakuan sistem dalam beberapa situasi.
Kebutuhan non fungsional adalah kendala-kendala dalam pelayanan
atau fungsi tawarkan di dalam sistem. Kebutuhuan ini mendefinisikan kendala
dalam implimentasi sistem, seperti kapabilitas dari perangkat I/O atau
representasi data yang digunakan dalam interface dengan sistem lainnya.
Kebutuhan ini yang kemudian menjadi dasar perancangan dan pembuatan
sistem E-Voting. (Sommerville, 2011:84)

3.2.2 System and Software Design


Menurut Sommerville (2011:119), perancangan dan pemodelan sistem
adalah proses dari pembuatan model abstrak dari sebuah sistem, dimana setiap
model memberikan sebuah pandangan yang berbeda atau perspektif dari
sebuah sistem. Pemodelan sistem secara general bertujuan merepresentasikan
sistem menggunakan beberapa jenis dari notasi grafik, dimana yang selalu
digunakan adalah berdasarkan notasi UML.
Desain UML meliputi :
1. Use Case Diagram
Dalam desain ini, penulis merancang interaksi dan perilaku
aktor/pengguna terhadap sistem E-Voting, sesuai dengan analisis dan
kebutuhan yang telah dijabarkan sebelumnya.
2. Activity Diagram
Tahap ini menjelaskan alur kerja (workflow) dan aktivitas dari sistem E-
Voting berdasarkan analisis use case yang telah dirancang.
3. Sequence Diagram
Tahap ini menggambarkan interaksi aktor dengan objek-objek serta
mendeskripsikan waktu hidup objek.

UIN Syarif Hidayatullah Jakarta


40

4. Class Diagram
Tahap ini menjelaskan kelas-kelas yang akan dibangun menjadi sebuah
model serta relasi antar kelas

Arsitektur sistem digunakan untuk mengetahui skema dari infrastruktur


sistem E-Voting dalam memproses informasi. Desain Web Service meliputi
penjelasan tentang mekanisme dan alur dari web service yang akan
diimplementasikan. Desain web service juga menyediakan ketentuan-
ketentuan apa sajakah yang akan digunakan dalam web service nantinya. Web
sevice digunakan untuk mengambil data dari web server PUSTIPANDA yang
nantinya akan digunakan untuk proses-proses di dalam sistem. Data yang
diambil adalah data berformat JSON. Selain itu, terdapat Desain Antar Muka
yang menjadi desain awal untuk kemudian diimplementasikan menjadi
interface aplikasi E-Voting.

3.2.3 Implementation and Unit Testing


Pada tahap ini, semua perancangan yang telah dilakukan sebelumnya
kemudian diimplementasikan ke dalam kode-kode program. Dalam
penjabaran, akan dijelaskan beberapa poin tentang hal-hal apa sajakah yang
akan diimplementasikan. Disamping itu, terdapat pengujian unit yang
dilakukan dalam tahap pembuatan untuk menguji kode-kode program yang
telah dibuat. Diantaranya adalah Implementasi Kriptografi RSA Menggunakan
OpenSSL dan Implementasi Web Service.

3.2.4 Integration and System Testing


Dalam tahap ini, kode-kode program yang telah dibuat diintgerasikan
menjadi sebuah aplikasi E-Voting yang utuh. Kode-kode program tersebut
dijalankan dan diuji dalam pengujian sistem. Pengujian sistem dalam penelitian
ini menggunakan pengujian black box, yaitu untuk mengetahui apakah fungsi-
fungsi yang telah dijalankan telah berjalan dengan baik atau tidak.

UIN Syarif Hidayatullah Jakarta


41

3.3 Kerangka Berfikir


Dengan penjabaran metodologi yang akan digunakan diatas, maka penulis
menyusun kerangka berfikir yang menjadi gambaran akan alur proses dalam
penelitian ini. Adapun kerangka berfikir tersebut adalah sebagai berikut :

UIN Syarif Hidayatullah Jakarta


42

Mulai
Gambaran Umum

Requirements Analisis Sistem


analysis and Berjalan
definition
Wawancara

Kebutuhan Sistem
Metodologi
Studi Pustaka
Pengumpulan Data

Arsitektur Sistem

Observasi

Desain Web Service

System and Pemodelan Use


Software Design Case

Perancangan
Activity Diagram

Perancangan
Sequence Diagram

Perancangan Class
Diagram
Metodologi
Pengembangan Model Waterfall
Sistem

Desain Antar Muka

Implementation and Implementasi


unit testing Kriptografi RSA

Implementasi Web
Service

Implementasi
Aplikasi

Integration and
Pengujian Black Box
system testing

Operation and
maintenance
Selesai

Gambar 3.1 Kerangka Berfikir

UIN Syarif Hidayatullah Jakarta


43

BAB 4
ANALISIS, PERANCANGAN SISTEM, IMPLEMENTASI, DAN
PENGUJIAN

4.1 Requirements Analysis and Definition


4.1.1 Gambaran Umum
Menurut Ketetapan Senat Mahasiswa UIN Syarif Hidayatullah Jakarta
Nomor 11 tahun 2015 tentang Pedoman Pemilihan Umum Mahasiswa,
Pemilihan Umum Mahasiswa adalah sarana pelaksanaan kedaulatan
mahasiswa yang diselenggarakan secara langsung, umum, bebas, rahasia, jujur,
dan adil di UIN Syarif Hidayatullah Jakarta berdasarkan Pancasila dan
AD/ART Organisasi Kemahasiswaan UIN Syarif Hidayatullah Jakarta. Pemilu
mahasiswa merupakan proses demokrasi mahasiswa untuk menentukan
pemimpin dari setiap lembaga kemahasiswaan yang ada di UIN Syarif
Hidayatullah Jakarta yang dilaksanakan per periode satu tahun sekali.

Pemilu Mahasiswa dilaksanakan oleh Komisi Pemilihan Umum (KPU)


yang dibentuk oleh Senat Mahasiswa UIN Jakarta. Pemilu Mahasiswa
diselenggarakan untuk memilih Anggota Senat Mahasiswa Universitas
(SEMA-U), Ketua dan Wakil Ketua Dewan Eksekutif Mahasiswa Universitas
(DEMA-U), Anggota Senat Mahasiswa Fakultas (SEMA-F), Ketua dan Wakil
Ketua Dewa Eksekutif Mahasiswa Fakultas (DEMA-F), serta Ketua dan Wakil
Ketua Himpunan Mahasiswa Jurusan/Himpunan Mahasiswa Program Studi
(HMJ/HMPS). Setiap mahasiswa UIN Syarif Hidayatullah Jakarta memiliki
hak memilih satu kali atau yang disebut dengan mekanisme one man one vote.

Pemilihan Umum Mahasiswa dilaksanakan dengan beberapa prinsip


yang dianut oleh setiap elemen penyelenggara. Prinsip tersebut termaktub
dalam asas Pemilihan Umum Mahasiswa, yaitu:

UIN Syarif Hidayatullah Jakarta


44

a. Langsung, yaitu mahasiswa UIN Syarif Hidayatullah Jakarta yang masih


memiliki hak memilih secara langsung dapat memberikan suaranya pada
saat pelaksanaan Pemilu Mahasiswa.
b. Umum, yaitu penyelenggaraan Pemilu Mahasiswa memberi kesempatan
kepada seluruh mahasiswa UIN Syarif Hidayatullah Jakarta yang
teregistrasi untuk terlibat didalamnya.
c. Bebas, yaitu setiap mahasiswa UIN Syarif Hdiayatullah Jakarta yang
mempunyai kebebasan dalam menggunakan hak memilih dan dipilih
sesuai dengan aspirasi politiknya.
d. Rahasia, yaitu setiap mahasiswa UIN Syarif Hidayatullah Jakarta yang
mempunyai hak memilih dijamin kerahasiaannya dalam menyalurkan
aspirasi politiknya.
e. Jujur, yaitu penyelenggaraan Pemilu Mahasiswa yang dilandasi semangat
kejujuran dengan menjunjung tinggi prinsip akuntabilitas.
f. Adil, yaitu penyelenggaraan Pemilu Mahasiswa dilandasi oleh semangat
keadilan untuk memberi kesempatan yang sama dan proporsional terhadap
semua komponen mahasiswa.

3.1.1.1 Tugas dan Wewenang


Pemilu Mahasiswa diselenggarakan oleh KPU yang dibentuk oleh
SEMA-U. Pemilu Mahasiswa dalam penyelenggarannya diawasi oleh
BAWASLU yang dibentuk oleh SEMA-U. Dalam pelaksanannya, KPU
memiliki wewenang untuk membentuk Kelompok Panitia Pemungutan
Suara (KPPS) di tingkat Fakultas.
Adapun KPU memiliki wewenang sebagai berikut:
a. Menetapkan aturan terkait Pemilu Mahasiswa untuk mengatur hal-hal
teknis yang belum diatur dalam Ketentuan ini;
b. Membentuk KPU di tingkat Fakultas (KPPS) sebagai penyelenggara
pemungutan suara;

UIN Syarif Hidayatullah Jakarta


45

c. Menetapkan nama-nama bakal calon dan calon yang didiskualifikasi


jika terbukti melakukan pelanggaran dan/atau yang tidak memenuhi
persyaratan;
d. Mengesahkan materi kampanye yang akan digunakan;
e. Menetapkan ketentuan surat suara yang sah;
f. Menyelesaikan permasalahan yang terjadi dalam proses pemungutan
dan penghitungan suara;
g. Melarang pihak-pihak yang tidak berkepentingan untuk terlibat dalam
penyelenggaraan Pemilu Mahasiswa;

Badan Pengawas Pemilu (BAWASLU) memiliki wewenang


sebagai berikut:
a. Membentuk Panitia Pengawas (PANWASLU) di tingkat Fakultas;
b. Membuat dan menetapkan peraturan dan pedoman BAWASLU
terkait tugasnya sebagai Pengawas Pelaksanaan Pemilu Mahasiswa;
c. Membuat mekanisme pelaporan kasus terkait dengan Pemilu
Mahasiswa;
d. Mensosialisasikan peraturan dan pedoman BAWASLU;
e. Menerima informasi terkait pelaksanaan Pemilu Mahasiswa dari
KPU;
f. Menindaklanjuti jika ada laporan pengaduan yang terkait dengan
penyelenggaraan Pemilihan Umum Mahasiswa sesuai dengan
ketentuan yang berlaku..

3.1.1.2 Mekanisme dan Alur Pemilihan Umum Mahasiswa


Tahapan dalam Pemilihan Umum Mahasiswa adalah sebagai
berikut:
a. Perencanaan penyelenggaraan dan penetapan ketentuan-ketentuan
terkait Pemilu Mahasiswa;
b. Sosialisasi penyelenggaraan Pemilu Mahasiswa;
c. Penyusunan daftar pemilih;

UIN Syarif Hidayatullah Jakarta


46

d. Publikasi daftar pemilih sementara;


e. Perbaikan daftar pemilih sementara berdasarkan hasil verifikasi;
f. Penetapan daftar pemilih tetap berdasarkan verifikasi dan perbaikan
daftar pemilih sementara;
g. Pendaftaran bakal calon Anggota SEMA-U, Ketua dan Wakil Ketua
DEMA-U, Anggota SEMA-F, Ketua dan Wakil Ketua DEMA-F, serta
Ketua dan Wakil Ketua HMJ/HMPS;
h. Seleksi administrasi bakal calon Anggota Anggota SEMA-U, Ketua
dan Wakil Ketua DEMA-U, Anggota SEMA-F, Ketua dan Wakil
Ketua DEMA-F, serta Ketua dan Wakil Ketua HMJ/HMPS;
i. Penetapan calon Anggota SEMA-U, Ketua dan Wakil Ketua DEMA-
U, Anggota SEMA-F, Ketua dan Wakil Ketua DEMA-F, serta Ketua
dan Wakil Ketua HMJ/HMPS;
j. Masa kampanye dan Debat Kandidat calon Anggota SEMA-U, Ketua
dan Wakil Ketua DEMA-U, Anggota SEMA-F, Ketua dan Wakil
Ketua DEMA-F, serta Ketua dan Wakil Ketua HMJ/HMPS;
k. Masa tenang;
l. Registrasi ulang DPT di Tempat Pemungutan Suara (TPS) di Fakultas
masing-masing, pemungutan dan penghitungan suara;
m. Penetapan hasil Pemilu Mahasiswa berupa daftar Anggota SEMA-U,
Ketua dan Wakil Ketua DEMA-U, Anggota SEMA-F, Ketua dan
Wakil Ketua DEMA-F, serta Ketua dan Wakil Ketua HMJ/HMPS
terpilih oleh KPU;
n. Penyelesaian sengketa;
o. Rapat anggota SEMA-U terpilih, SEMA F terpilih untuk membentuk
struktur kepengurusan.
p. Pelantikan Anggota SEMA-U, Ketua dan Wakil Ketua DEMA-U,
Anggota SEMA-F, Ketua dan Wakil Ketua DEMA-F, serta Ketua dan
Wakil Ketua HMJ/HMPS terpilih.

UIN Syarif Hidayatullah Jakarta


47

Adapun pemilih yang memiliki hak suara dalam Pemilihan Umum


Mahasiswa memiliki ketentuan sebagai berikut:
a. Mahasiswa UIN Syarif Hidayatullah Jakarta
b. Masih aktif dan teregistrasi secara akademik;
c. Minimal semester I (satu) dan maksimal semester VIII (delapan);
d. Tidak sedang dicabut hak pilihnya;
e. Terdaftar sebagai Pemilih Tetap

4.1.2 Analisis Sistem Berjalan


Berdasarkan gambaran umum yang telah dibahas diatas, maka dapat
dianalisis proses-proses apa saja yang ada di dalam pelaksanaan Pemilihan
Umum Mahasiswa UIN Syarif Hidayatullah Jakarta. Dalam proses
pelaksanaan Pemilihan Umum Mahasiswa dari awal hingga akhir, maka
proses-proses tersebut dapat dibagi dalam 3 kategori. Maksud pembagian
kategori ini adalah untuk mempermudah pembacaan dan analisis dalam melihat
proses pelaksanaan pemilihan. Adapun 3 kategori itu adalah sebagai berikut :

1. Fase Pra / Sebelum Pemilihan


Fase sebelum pemilihan diawali dengan penentuan Daftar Pemilih
Sementara (DPS). Data DPS dikirimkan oleh PUSTIPANDA kepada KPU
berdasarkan data mahasiswa yang ada di dalam pusat data PUSTIPNDA.
Setelah data DPS diterima oleh KPU, data tersebut diolah oleh KPU.
Setelah melalui proses verifikasi, maka dihasilkan data Daftar Pemilih
Tetap (DPT).
Selain itu, pada fase ini KPU memverifikasi kandidat/calon dari berbagai
lembaga mahasiswa yang ada. Lembaga-lembaga tersebut dapat dibagi
dalam 3 golongan lembaga, yaitu :
a. Lembaga setingkat Jurusan/Program Studi, yaitu Himpunan
Mahasiswa Jurusan atau Himpunan Mahasiswa Program Studi.
b. Lembaga setingkat Fakultas, yaitu Dewan Eksekutif Mahasiswa
Fakultas dan Senat Mahasiswa Fakultas.

UIN Syarif Hidayatullah Jakarta


48

c. Lembaga setingkat Universitas, yaitu Dewan Eksekutif Mahasiswa


Universitas dan Senat Mahasiswa Universitas.

Dengan adanya tingkatan lembaga tersebut, maka setiap calon kandidat


juga memiliki tingkatan yang sama sesuai dengan lembaga dia berada.
Setelah proses verifikasi dan seleksi pada setiap calon kandidat di setiap
tingkat Lembaga yang ada, KPU bertugas untuk menetapkan para kandidat
tersebut untuk masuk dalam proses pemilihan. Pada fase ini, KPU
membentuk Kelompok Panitia Pemungutan Suara (KPPS) ditingkat
fakultas yang bertugas melaksanakan proses registrasi pemilih tetap dan
mengatur jalannya proses pemungutan suara.

2. Fase Pemungutan Suara


Pada fase pemungutan suara ini, hal-hal yang berkaitan dengan persiapan
pemungutan suara sudah harus selesai dan berjalan dengan baik. Yaitu
diantaranya adalah penetapan DPT, penetapan Kandidat, pencetakan
kertas suara, pembentukan bilik suara, dan pembentukan KPPS.
Fase pemungutan suara adalah fase inti dari setiap proses pelaksanaan
pemilihan umum. Fase ini dimulai dengan dibukanya stand registrasi ulang
pemilih di setiap fakultas oleh KPPS.
DPT atau pemilih tetap datang ke masing-masing TPS dan melakukan
registrasi ulang dengan menunjukkan Kartu Tanda Mahasiswa. Setelah
registrasi berhasil, maka pemilih mendapatkan beberapa jenis kertas suara
sesuai dengan lembaga dan pemilih diperbolehkan memilih pada bilik
suara yang telah disiapkan. Pemilih melakukan pemilihan dengan
mencoblos kertas suara, lalu memasukkannya ke kotak suara yang sudah
disiapkan sesuai dengan jenis lembaga di setiap tingkatnya. Sesudah
melakukan pemilihan, pemilih mencelupkan salah satu jari tangannya ke
dalam tinta. Tujuannya adalah untuk menandakan bahwa pemilih tersebut
telah melakukan pemungutan suara.

UIN Syarif Hidayatullah Jakarta


49

3. Fase Post / Sesudah Pemilihan


Fase sesudah pemilihan ditandai dengan berakhirnya pemungutan suara di
setiap tempat pemungutan suara oleh KPPS. Pada tahap ini, masing-
masing KPPS di setiap fakultas menghitung hasil suara yang terdapat pada
tiap-tiap kotak suara.
Pada proses perhitungan hasil suara, masing-masing kandidat
mendelegasikan beberapa orang untuk menjadi pengawas yang bertugas
mengawal jalannya pemungutan suara. Kertas suara dikeluarkan satu per
satu dari kotak suara oleh panitia KPPS, untuk kemudian dihitung
jumlahnya. Hasil suara dibedakan menjadi beberapa jenis sesuai dengan
jenis lembaga yang menjadi peserta Pemilihan Umum Mahasiswa.
Pada fase akhir, masing-masing KPPS telah mendapatkan hasil dari proses
perhitungan suara. Hasil perhitungan tersebut kemudian dikirim dan
diakumulasikan di tingkat pusat (KPU) untuk kemudian di hitung secara
total dan disahkan.
Pada tahap ini, BAWASLU memiliki peran dalam menampung dan
memproses aduan-aduan terkait dengan proses Pemilihan Umum Raya.
Tindak lanjut dari proses aduan tersebut dapat berupa audiensi maupun
proses penelusuran bukti-bukti terkait dengan aduan.

Ketiga kategori diatas merupakan proses linier dalam pemilihan yang


dilaksanakan secara paralel. Artinya tahap per tahap harus diselesaikan terlebih
dahulu, untuk kemudian masuk dalam tahap berikutnya. Oleh karena itu,
setelah masuk dalam tahap berikutnya, proses pelaksanaan tidak bisa kembali
lagi ke tahap sebelumnya. Hal ini dikarenakan akan terjadi kerancuan pada
keseluruhan proses tahap pemilihan umum. KPU memiliki wewenang sebagai
pelaksana pemilihan umum untuk menentukan keberlangsungan tahap demi
tahap diatas.
Dari analisis tersebut, terdapat beberapa kelemahan pada sistem
berjalan pada Pemilihan Umum Mahasiswa UIN Syarif Hidayatullah Jakarta,
yaitu :

UIN Syarif Hidayatullah Jakarta


50

a. Pengambilan data mahasiswa sebagai bahan dasar pembentukan Daftar


Pemilih Sementara atau pun Daftar Pemilih Tetap masih dilakukan secara
manual. Hal ini tentu memakan waktu dan menambah beban kerja.
b. Pendataan pada tahap Pra Pemilihan masih dilakukan secara manual.
Pendataan secara manual memiliki kerentanan akan hilang, rusak, dan
pencurian data/kertas yang lebih besar.
c. Proses pemilihan yang masih menggunakan cara manual, yaitu
menggunakan kertas suara. Penggunaan kertas suara menimbulkan
kerentanan adanya surat suara yang rusak, surat suara yang tidak sah, dan
surat suara yang berlebih dari jumlah pemilih. Sistem pemilihan seperti itu
memiliki tingkat human error atau bahkan penyimpangan kewenangan.
d. Proses perhitungan membutuhkan waktu yang lama. Dengan penggunaan
media kertas sebagai alat pemilihan, maka proses perhitungan akan
memakan tenaga dan waktu yang besar. Masing-masing anggota KPPS di
setiap fakultas bertugas menghitung dan mendata hasil pemilihan yang
berjumlah ribuan.
e. Proses rekapitulasi suara tidak langsung terpusat. Pada proses perhitungan
hasil pemilihan, perhitungan lebih dulu dilakukan pada tingkat fakultas.
Setelah didapatkan hasil pemilihan, hasil tersebut direkapitulasi di tingkat
universitas atau KPU. Hal ini menimbulkan adanya potensi kecurangan,
kerusakan, bahkan kehilangan data pemilihan. Disamping itu, hal ini
menambah beban kerja dari KPU untuk menghitung kembali hasil
pemilihan.

4.1.3 Kebutuhan Sistem


Untuk membangun sebuah sistem E-Voting yang baik, maka
dibutuhkan analisis lebih lanjut dari sistem yang telah berjalan. Setelah
menganalisis sistem berjalan atau sistem yang digunakan dalam Pemilihan
Umum Mahasiswa UIN Syarif Hidayatullah Jakarta, maka penulis
mendapatkan hal-hal apa sajakah yang dibutuhkan pada sistem E-Voting yang

UIN Syarif Hidayatullah Jakarta


51

akan dirancang dan dibangun. Kebutuhan tersebut akan menjadi dasar


perancangan dan pembangunan sistem E-Voting.

3.1.3.1 Kebutuhan Fungsional


Kebutuhan fungsional merupakan kebutuhan yang harus
disediakan sistem untuk pemenuhan kebutuhan user dalam menggunakan
sistem.
Kebutuhan fungsional yang akan dibangun adalah sebagai berikut
:
a. Adanya integrasi dan ketersediaan data mahasiswa, data fakultas, dan
data jurusan yang berhubungan dengan proses-proses di dalam sistem
E-Voting yang terdapat pada PUSTIPANDA. Pengambilan data
tersebut dapat menggunakan web service.
b. Tersedianya fungsi mengelola proses dan tahapan pada pemilihan
umum yang dilakukan oleh KPU
c. Tersedianya fungsi untuk mengelola data lembaga yang terdapat pada
tingkat jurusan, fakultas, dan universitas oleh KPU
d. Tersedianya fungsi untuk mengelola data calon/kandidat pada
masing-masing lembaga pada tiap tingkatan jurusan, fakultas, maupun
universitas oleh KPU.
e. Tersedianya fungsi pembentukan aktor/user Kelompok Pantia
Pemungutan Suara di tingkat fakultas yang berfungsi untuk
melakukan registrasi pemilih oleh KPU
f. Tersedianya fungsi registrasi pemilih yang dilakukan oleh KPPS di
tingkat fakultas. Registrasi akan memberikan pemilih sebuah token.
Token berguna sebagai identifikasi pemilih yang sifatnya something
you know. (Hayam K. Al-Anie, 2011)
g. Tersedianya fungsi pemungutan suara oleh pemilih kepada tiap
calon/kandidat yang terdapat pada tiap lembaga setingkat jurusan,
fakultas, dan universitas dengan ketentuan satu pemilih satu suara
(one man one vote).

UIN Syarif Hidayatullah Jakarta


52

h. Tersedianya fungsi enkripsi menggunakan kriptografi RSA pada data


hasil pemilihan sebagai bentuk abstraksi data dan fungsi dekripsi
untuk mengembalikan data pada bentuk aslinya yang bertujuan untuk
pemrosesan dalam perhitungan suara. Fungsi ini dilakukan oleh KPU.
i. Tersedianya fungsi untuk kalkulasi data hasil pemilihan dan melihat
data hasil pemilihan pada tiap lembaga setingkat jurusan, fakultas, dan
universitas.

3.1.3.2 Kebutuhan Non Fungsional


Kebutuhan non fungsional mencakup kebutuhan-kebutuhan yang
menjadi syarat agar sistem dapat berjalan dengan baik. Kebutuhan non
fungsional meliputi kebutuhan perangkat lunak dan kebutuhan perangkat
keras.

1. Kebutuhan Perangkat Lunak


 Sistem Operasi, yaitu Windows 7 atau diatasnya.
 Sublime Text sebagai text editor.
 Bahasa pemograman PHP Framework Laravel 5.0
 MySQL versi 5.5.32 atau diatasnya
 Apache versi 2.4.4 atau diatasnya
 PHP versi 5.6 atau diatasnya
 Web browser sebagai alat untuk membuka aplikasi E-Voting.

2. Kebutuhan Perangkat Keras


 Satu set komputer dengan spesifikasi minimal prosesor Intel Core 2
Duo.
 Koneksi internet dengan minimum kecepatan 300 kbps.

3.1.3.3 Kebutuhan Aktor


Setiap pihak yang terlibat dalam Pemilihan Umum Mahasiswa
memiliki kebutuhan-kebutuhan yang harus terdapat dan berjalan di dalam

UIN Syarif Hidayatullah Jakarta


53

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 :

Tabel 4.1 Kebutuhan Aktor


No. Aktor Kebutuhan
1. KPU 1. Mengelola Status/Tahapan Pemilihan
2. Mengelola Data Lembaga Jurusan
3. Mengelola Data Lembaga Fakultas
4. Mengelola Data Lembaga Universitas
5. Mengelola Data Calon Lembaga Jurusan
6. Mengelola Data Calon Lembaga Fakultas
7. Mengelola Data Calon Lembaga Universitas
8. Membuat KPPS di tingkat fakultas
9. Melihat Hasil Pemilihan Lembaga Jurusan
10. Melihat Hasil Pemilihan Lembaga Fakultas
11. Melihat Hasil Pemilihan Lembaga Universitas
2. KPPS 1. Meregistrasi pemilih
3. Pemilih 1. Menginput data Hasil Pemilihan Jurusan
2. Menginput data Hasil Pemilihan Fakultas
3. Menginput data Hasil Pemilihan Universitas

4.2 System and Software Design


4.2.1 Arsitektur Sistem

Arsitektur sistem yang digunakan adalah multi-tier client-server


architecture. Dalam arsitektur ini, layer-layer yang berbeda di dalam sistem,
yaitu presentation, data management, application processing, dan database,
proses-prosesnya dipisahkan sehingga memungkinkan dieksekusi pada
prosesor yang berbeda-beda.

UIN Syarif Hidayatullah Jakarta


54

Database server menyediakan servis-servis yang digunakan dalam


database. Web server menyediakan servis manajemen data seperti generate
halaman web dan application services. Application services merupakan proses-
proses inti dari aplikasi dalam melakukan setiap fungsi aplikasi. Penggunaan 3
tingkatan dan pembagian tersebut membuat pengiriman informasi antara web
server dan database server dapat dioptimasi. Hal ini berkaitan dengan
penggunaan SQL (Structured Query Language) dalam menjaga pemulihan
informasi dari database server.

Penggunaan multi-tier client-server architecture sangat cocok dalam


aplikasi skala besar dengan ratusan bahkan ribuan client/pengguna. Hal ini
sangat cocok dalam penerapan sistem E-Voting yang melibatkan seluruh
mahasiswa/DPT yang jumlahnya mencapai ribuan. Selain itu, penggunaan
aristektur ini memungkinkan adanya integrasi data dari berbagai sumber,
dikarenakan adanya pemisahan antara database processing dan data
management. Hal ini sangat berguna, mengingat bahwa dalam perancangan
sistem E-Voting ini membutuhkan sumber data dari luar, yaitu PUSTIPANDA.
(Sommerville, 2011)

Adapun skema dari arsitektur sistem multi-tier client-server


architecture tersebut adalah sebagai berikut:

UIN Syarif Hidayatullah Jakarta


55

Tier 1 : Presentasi

Tier 3 :
Pemrosesan
Komputer Pemilih
Akses Menggunakan Database
Intranet UIN Jakarta

Komputer Pemilih SQL Query

Web Server E-Voting Database Server E-Voting

Tier 2 : Pemrosesan Aplikasi dan


Komputer Pemilih Manajemen Data

Komputer Pemilih

Gambar 4.1 Arsitektur multi-tier client-server

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.

UIN Syarif Hidayatullah Jakarta


56

4.2.2 Perancangan Web Service


Web Service digunakan untuk mengintegrasikan data antara aplikasi E-
Voting dengan database PUSTIPANDA dimana data yang akan digunakan
telah tersimpan. Web Service memberikan sebuah layanan yaitu berupa URI
yang berguna untuk autentikasi dan akses data melalui jaringan internet. Data
yang diambil adalah data dengan format JSON (Javascript Object Notation).
Adapun skema proses pengambilan data dari proses pengambilan data dapat
digambarkan pada gambar dibawah ini.

Request URI

Response JSON

Client Web Server E-Voting Web Server PUSTIPANDA

Gambar 4.2 Skema Web Service

Komputer client melakukan request halaman kepada Web Server E-


Voting yang berisikan data yang akan diambil dari Web Server
PUSTIPANDA. Kemudian, Web Server E-Voting melakukan request data
kepada Web Server PUSTIPANDA dengan menggunakan URI melalui
koneksi jaringan Internet. Web Server PUSTIPANDA melakukan response
dengan mengirimkan data berupa JSON. Dan pada akhirnya, Web Server E-
Voting memberikan response berupa penampilan halaman berserta data-data
yang diminta setelah mengalami pemrosesan terlebih dahulu.
Data-data yang akan digunakan dalam penggunaan web services adalah
data-data yang dimiliki oleh PUSTIPANDA yang berguna dalam proses-proses
di dalam sistem E-Voting. Adapun data-data tersebut adalah data fakultas, data
jurusan, dan data mahasiswa. Data fakultas dan data jurusan digunakan dalam
proses mengelola data lembaga, data calon lembaga, dan data kpps. Sementara
itu, data mahasiswa digunakan dalam proses registrasi pemilih sebelum
pelaksanaan pemungutan suara menggunakan sistem E-Voting.

UIN Syarif Hidayatullah Jakarta


57

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 :

Tabel 4.2 Ketentuan Web Service


No. Method Atribut Keterangan
1. GET 1. ID Fakultas Menampilkan (select) list/daftar
2. Nama_fakultas fakultas se-UIN Jakarta

2. GET 1. ID Jurusan Menampilkan (select) list/daftar


2. Nama_jurusan jurusan yang ada pada fakultas
tertentu.
3. GET 1. NIM Menampilkan list/daftar
2. ID Fakultas mahasiswa yang ada pada fakultas
3. ID Jurusan tertentu, dengan kententuan :
4. Nama 1. Mahasiswa berstatus aktif
mahasiswa 2. Minimal semester 1 dan
5. Tahun masuk / maksimal semester 8.
angkatan
6. Semester
4. GET 1. ID Fakultas Mencari fakultas berdasarkan
2. Nama_fakultas id_fakultas
5. GET 1. ID Jurusan Mencari jurusan berdasarkan
2. Nama_jurusan id_jurusan

UIN Syarif Hidayatullah Jakarta


58

6. GET 1. NIM Mencari mahasiswa berdasarkan


2. ID Fakultas NIM
3. ID Jurusan
4. Nama
mahasiswa
5. Tahun masuk /
angkatan
6. Semester

4.2.3 Pemodelan Use Case Diagram


Dalam merancang sistem E-Voting ini, penggunaan diagram use case
diperlukan untuk melihat interaksi user/aktor dengan sistem. Dalam
perancangan diagram use case, penulis menggunakan hasil analisis kebutuhan
aktor yang telah dijabarkan pada pembahasan sebelumnya.

a. Admin KPU

UIN Syarif Hidayatullah Jakarta


59

Mengelola Lembaga Fakultas

Mengelola Lembaga Jurusan Mengelola Lembaga Universitas

Mengelola Calon Lembaga Jurusan

Mengelola Calon Lembaga Fakultas

Mengelola Calon Lembaga Universitas

Mengelola KPPS

Lihat data hasil pemilihan lembaga jurusan


Admin KPU

Lihat data hasil pemilihan lembaga fakultas

Lihat data hasil pemilihan lembaga universitas


Mengelola Tahapan Pemilihan

Gambar 4.3 Diagram Use Case Admin KPU

b. Pemilih dan KPPS

Input Data Pemilihan

<<extend>>

Pemilih / DPT KPPS


Registrasi DPT per Fakultas

Gambar 4.4 Diagram Use Case Pemilih dan KPPS

4.2.4 Perancangan Activity Diagram


Activity Diagram dibuat dengan memperhatikan interaksi aktor dengan
sistem, seperti yang telah tergambarkan pada use case diagram. Interaksi-

UIN Syarif Hidayatullah Jakarta


60

interaksi tersebut kemudian dibentuk dalam sebuah aliran kerja (workflow).


Adapun activity diagram tersebut adalah sebagai berikut :

1. Ubah Status Pemilihan


Ubah Status Pemilihan

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

Gambar 4.5 Activity Diagram Ubah Status Pemilihan

Proses diatas menunjukkan alur kerja dari aktor/admin KPU yang


berinteraksi dengan sistem dalam proses mengubah status/tahapan pemilihan.
Sistem akan menampilkan status pemilihan yang ada di dalam sistem.
Kemudian, aktor KPU mengubah status tersebut, dengan terlebih dahulu
melalui pengecekan di dalam sistem. Jika status pemilihan sama dengan
‘Persiapan’, maka sistem akan merubah status pemilihan menjadi
‘Berlangsung’. Jika status pemilihan sama dengan ‘Berlangsung’, maka sistem
akan merubah status pemilihan menjadi ‘Selesai’.

UIN Syarif Hidayatullah Jakarta


61

2. Input KPPS
Input KPPS

Admin KPU Sistem

Pilih Menu Tambah


KPPS

Menampilkan Form
Tambah KPPS dan
Data Fakultas
Mengisi Form
Tambah KPPS dan Gagal

Pilih Fakultas

validasi

Berhasil

Simpan Data KPPS


Phase

Gambar 4.6 Activity Diagram Input KPPS

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

UIN Syarif Hidayatullah Jakarta


62

Hapus KPPS

Admin KPU Sistem

Pilih Menu KPPS

Menampilkan Daftar
KPPS
Pilih Hapus pada
Daftar KPPS

Hapus Data KPPS


Phase

Gambar 4.7 Activity Diagram Hapus KPPS

Pada proses penghapusan admin KPPS, pertama-tama admin KPU


memilih menu KPPS pada tampilan layar sehingga sistem dapat menampilkan
daftar admin KPPS yang ada. Kemudian admin KPU memilih admin KPPS
mana yang akan dihapus dengan memilih button hapus pada row data yang
akan dihapus. Data KPPS terhapus.

4. Input Lembaga Jurusan

UIN Syarif Hidayatullah Jakarta


63

Input Lembaga Jurusan

Admin KPU Sistem

Pilih Menu Lembaga


Jurusan

Menampilkan Daftar
Fakultas

Pilih Fakultas

Menampilkan Daftar
Jurusan

Pilih Jurusan

Menampilkan Daftar
Lembaga Jurusan

Pilih Menu Tambah


Lembaga Jurusan
Menampilkan Form
Tambah Lembaga
Jurusan
Mengisi Form
Tambah Lembaga Gagal
Jurusan

validasi

Berhasil

Simpan Data
Lembaga Jurusan
Phase

Gambar 4.8 Activity Diagram Input Lembaga Jurusan

Pada proses penginputan lembaga jurusan, admin KPU pertama-tama


memilih Menu Lembaga Jurusan. Setelah itu admin memilih fakultas yang
akan dituju, dan kemudian sistem akan menampilkan semua jurusan yang ada
pada fakultas tersebut. Admin KPU memilih jurusan dimana lembaga yang
akan diinput berada. Kemudian pilih Menu Tambah Lembaga Jurusan. Admin
mengisi form yang tersedia, lalu data akan tersimpan.

UIN Syarif Hidayatullah Jakarta


64

5. Edit Lembaga Jurusan


Edit Lembaga Jurusan

Admin KPU Sistem

Pilih Menu Lembaga


Jurusan

Menampilkan Daftar
Fakultas

Pilih Fakultas

Menampilkan Daftar
Jurusan

Pilih Jurusan

Menampilkan Daftar
Lembaga Jurusan

Pilih Edit pada Daftar


Lembaga Jurusan
Menampilkan Form
Edit Lembaga
Jurusan
Mengisi Form Edit
Lembaga Jurusan Gagal

validasi

Berhasil

Update Data
Lembaga Jurusan
Phase

Gambar 4.9 Activity Diagram Edit Lembaga Jurusan

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.

UIN Syarif Hidayatullah Jakarta


65

6. Hapus Lembaga Jurusan


Hapus Lembaga Jurusan

Admin KPU Sistem

Pilih Menu Lembaga


Jurusan

Menampilkan Daftar
Fakultas

Pilih Fakultas

Menampilkan Daftar
Jurusan

Pilih Jurusan

Menampilkan Daftar
Lembaga Jurusan

Pilih Hapus pada


Daftar Lembaga
Jurusan
Hapus Data Lembaga
Jurusan
Phase

Gambar 4.10 Activity Diagram Hapus 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.

7. Input Lembaga Fakultas

UIN Syarif Hidayatullah Jakarta


66

Input Lembaga Fakultas

Admin KPU Sistem

Pilih Menu Lembaga


Fakultas

Menampilkan Daftar
Fakultas

Pilih Fakultas

Menampilkan Daftar
Lembaga Fakultas

Pilih Menu Tambah


Lembaga Fakultas
Menampilkan Form
Tambah Lembaga
Fakultas
Mengisi Form
Tambah Lembaga Gagal
Fakultas

validasi

Berhasil

Simpan Data
Lembaga Fakultas
Phase

Gambar 4.11 Activity Diagram Input Lembaga Fakultas

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.

8. Edit Lembaga Fakultas

UIN Syarif Hidayatullah Jakarta


67

Edit Lembaga Fakultas

Admin KPU Sistem

Pilih Menu Lembaga


Fakultas

Menampilkan Daftar
Fakultas

Pilih Fakultas

Menampilkan Daftar
Lembaga Fakultas

Pilih Edit pada Daftar


Lembaga Fakultas
Menampilkan Form
Edit Lembaga
Fakultas
Mengisi Form Edit
Lembaga Fakultas Gagal

validasi

Berhasil

Update Data
Lembaga Fakultas
Phase

Gambar 4.12 Activity Diagram Edit Lembaga Fakultas

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.

9. Hapus Lembaga Fakultas

UIN Syarif Hidayatullah Jakarta


68

Hapus Lembaga Fakultas

Admin KPU Sistem

Pilih Menu Lembaga


Fakultas

Menampilkan Daftar
Fakultas

Pilih Fakultas

Menampilkan Daftar
Lembaga Fakultas

Pilih Hapus pada


Daftar Lembaga
Fakultas
Hapus Data Lembaga
Fakultas
Phase

Gambar 4.13 Activity Diagram Hapus Lembaga Fakultas

Pada aktivitas ini, admin KPU memilih fakultas dimana lembaga


fakultas yang ingin dihapus berada. Sistem menampilkan daftar lembaga
fakultas pada fakultas yang dipilih. Kemudian admin KPU menekan tombol
hapus pada row data yang ingin dihapus. Data di dalam database kemudian
dihapus oleh sistem.

10. Input Lembaga Universitas

UIN Syarif Hidayatullah Jakarta


69

Input Lembaga Universitas

Admin KPU Sistem

Pilih Menu Lembaga


Universitas

Menampilkan Daftar
Lembaga Universitas

Pilih Menu Tambah


Lembaga Universitas
Menampilkan Form
Tambah Lembaga
Universitas
Mengisi Form
Tambah Lembaga Gagal
Universitas

validasi

Berhasil

Simpan Data
Lembaga Universitas
Phase

Gambar 4.14 Activity Diagram Input Lembaga Universitas

Pada aktivitas ini admin KPU memilih menu Lembaga Universitas.


Sistem akan menampilkan daftar lembaga universitas. Admin KPU memilih
menu tambah lembaga universitas dan mengisi form yang tersedia. Admin
KPU menekan tombol pilih dan data akan tersimpan ke dalam sistem.

11. Edit Lembaga Universitas

UIN Syarif Hidayatullah Jakarta


70

Edit Lembaga Universitas

Admin KPU Sistem

Pilih Menu Lembaga


Universitas

Menampilkan Daftar
Lembaga Universitas

Pilih Edit pada Daftar


Lembaga Universitas
Menampilkan Form
Edit Lembaga
Universitas
Mengisi Form Edit
Lembaga Universitas Gagal

validasi

Berhasil

Update Data
Lembaga Universitas
Phase

Gambar 4.15 Activity Diagram Edit Lembaga Universitas

Pada aktivitas ini admin KPU memilih menu lembaga universitas.


Sistem akan menampilkan daftar lembaga universitas yang ada di dalam
sistem. Admin KPU memilih row data yang akan diedit. Admin KPU mengisi
form edit yang tersedia dan menekan tombol update. Data akan terupdate di
dalam sistem.

12. Hapus Lembaga Universitas

UIN Syarif Hidayatullah Jakarta


71

Hapus Lembaga Universitas

Admin KPU Sistem

Pilih Menu Lembaga


Universitas

Menampilkan Daftar
Lembaga Universitas

Pilih Hapus pada


Daftar Lembaga
Universitas
Hapus Data Lembaga
Universitas
Phase

Gambar 4.16 Activity Diagram Hapus Lembaga Universitas

Pada aktivitas ini, admin KPU memilih menu lembaga universitas.


Sistem akan menampilkan daftar lembaga universitas. Admin KPU memilih
data yang ingin diapus dengan memilih tombol hapus pada row data. Data di
dalam sistem akan terhapus.

13. Input Calon Lembaga Jurusan

UIN Syarif Hidayatullah Jakarta


72

Input Calon Lembaga Jurusan

Admin KPU Sistem

Pilih Menu Lembaga


Jurusan

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

Simpan Data Calon


Lembaga Jurusan
Phase

Gambar 4.17 Activity Diagram Input Calon Lembaga Jurusan

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,

UIN Syarif Hidayatullah Jakarta


73

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.

14. Edit Calon Lembaga Jurusan


Edit Calon Lembaga Jurusan

Admin KPU Sistem

Pilih Menu Lembaga


Jurusan

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

Update Data Calon


Lembaga Jurusan
Phase

Gambar 4.18 Activity Diagram Edit Calon Lembaga Jurusan

UIN Syarif Hidayatullah Jakarta


74

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.

15. Hapus Calon Lembaga Jurusan


Hapus Calon Lembaga Jurusan

Admin KPU Sistem

Pilih Menu Lembaga


Jurusan

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

Gambar 4.19 Activity Diagram Hapus Calon Lembaga Jurusan

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

UIN Syarif Hidayatullah Jakarta


75

akan dihapus dengan menekan tombol hapus pada row data. Data didalam
sistem akan terhapus.

16. Input Calon Lembaga Fakultas


Input Calon Lembaga Fakultas

Admin KPU Sistem

Pilih Menu Lembaga


Fakultas

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

Simpan Data Calon


Lembaga Fakultas
Phase

Gambar 4.20 Activity Diagram Input Calon Lembaga Fakultas

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

UIN Syarif Hidayatullah Jakarta


76

mengisi form yang telah disediakan. Admin KPU menekan tombol simpan dan
data akan tersimpan ke dalam sistem.

17. Edit Calon Lembaga Fakultas


Edit Calon Lembaga Fakultas

Admin KPU Sistem

Pilih Menu Lembaga


Fakultas

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

Update Data Calon


Lembaga Fakultas
Phase

Gambar 4.21 Activity Diagram Edit Calon Lembaga Fakultas

Pada aktivitas ini, admin KPU memilih fakultas dan lembaga fakultas
dimana data calon yang akan diedit berada. Sistem akan mengarahkan dan

UIN Syarif Hidayatullah Jakarta


77

menampilkan data-data fakultas, lembaga fakultas, dan calon lembaga fakultas


secara hirarkis. Admin KPU memilih data yang akan diedit dengan menekan
tombol edit pada row data. Admin KPU mengisi form edit yang telah
disediakan. Admin KPU menekan tombol ubah dan data di dalam sistem akan
terubah.

18. Hapus Calon Lembaga Fakultas


Hapus Calon Lembaga Fakultas

Admin KPU Sistem

Pilih Menu Lembaga


Fakultas

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

Gambar 4.22 Activity Diagram Hapus Calon Lembaga Fakultas

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.

UIN Syarif Hidayatullah Jakarta


78

19. Input Calon Lembaga Universitas


Input Calon Lembaga Universitas

Admin KPU Sistem

Pilih Menu Lembaga


Universitas

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

Simpan Data Calon


Lembaga Universitas
Phase

Gambar 4.23 Activity Diagram Input Calon Lembaga Universitas

Pada aktivitas ini, admin KPU memilih lembaga universitas dimana


data calon akan diinput. Sistem akan menampilkan data lembaga universitas
dan calon lembaga unviseritas secara hirarkis. Admin KPU memilih menu
tambah calon universitas dan mengisi form yang telah disediakan. Admin KPU
menekan tombol simpan dan data akan tersimpan ke dalam sistem.

20. Edit Calon Lembaga Universitas

UIN Syarif Hidayatullah Jakarta


79

Edit Calon Lembaga Universitas

Admin KPU Sistem

Pilih Menu Lembaga


Universitas

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

Update Data Calon


Lembaga Universitas
Phase

Gambar 4.24 Activity Diagram Edit Calon Lembaga Universitas

Pada aktivitas ini, admin KPU memilih lembaga universitas dimana


data calon yang akan diedit berada. Sistem akan menampilkan data lembaga
universitas dan calon lembaga unviseritas secara hirarkis. Admin KPU memilih
data yang akan dihapus dengan menekan tombol edit pada row data. Admin
KPU mengisi form edit dan menekan tombol ubah. Data di dalam sistem akan
terubah.

21. Hapus Calon Lembaga Universitas

UIN Syarif Hidayatullah Jakarta


80

Hapus Calon Lembaga Universitas

Admin KPU Sistem

Pilih Menu Lembaga


Universitas

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

Gambar 4.25 Activity Diagram Hapus Calon Lembaga Universitas

Pada aktivitas ini, admin KPU memilih lembaga universitas dimana


data calon yang akan dihapus berada. Sistem akan menampilkan data lembaga
universitas dan calon lembaga unviseritas secara hirarkis. Admin KPU memilih
data yang akan dihapus dengan menekan tombol hapus pada row data. Data di
dalam sistem akan terhapus.

22. Registrasi DPT per Fakultas

UIN Syarif Hidayatullah Jakarta


81

Registrasi DPT per Fakultas

KPPS Sistem

Memilih Menu
Registrasi DPT

Menampilkan
Halaman Cari DPT

Input NIM

Cek

TidakTerdaftar

Melakukan Registrasi
Simpan Data Terdaftar
Registrasi DPT

Tampilkan Token
Phase

Gambar 4.26 Activity Diagram Registrasi DPT

Pada aktivitas ini, admin KPPS meregsitrasi pemilih dengan menginput


NIM pemilih untuk mencari data pemilih. Sistem akan mengecek data tersebut
ke dalam sistem, apakah data tersebut telah teregistrasi atau belum. Apabila
belum tedaftar, maka sistem akan menampilkan halaman registrasi. Admin
KPPS menekan tombol daftar pada halaman dan pemilih akan teregistrasi ke
dalam sistem dan dengan token yang telah dibuat. Sistem akan menampilkan
data pemilih beserta token yang sesui dengan pemilih tersebut, yang berguna
sebagai identitas pemilih tersebut.

23. Input Data Pemilihan

UIN Syarif Hidayatullah Jakarta


82

Input Data Pemilihan

Pemilih Sistem

Membuka Aplikasi

Menampilkan
Halaman Login
Berhasil

Login

Validasi

Gagal

Menampilkan
Halaman Pemilihan

Memilih Kandidat Memilih Kandidat Memilih Kandidat


Lembaga Jurusan Lembaga Fakultas Lembaga Universitas Gagal

Validasi

Berhasil

Enkripsi Data Enkripsi Data Enkripsi Data


Pemilihan Jurusan Pemilihan Fakultas Pemilihan Universitas

Simpan Data Simpan Data Simpan Data


Pemilihan Lembaga Pemilihan Lembaga Pemilihan Lembaga
Jurusan Fakultas Universitas

Ubah Status Pemilih

Logout
Phase

Gambar 4.27 Activity Diagram Input Data Pemilihan

Pada aktivitas ini, pemilih melakukan login ke dalam sistem dengan


memasukkan NIM, password, dan token. Sistem akan melakukan autentikasi
kepada pemilih, jika berhasil maka sistem akan menampilkan halaman
pemilihan kepada pemilih. Pemilih memilih calon kandidat pada lembaga yang
tersedia, yaitu lembaga jurusan, fakultas, dan universitas. Setelah pemilih
melakukan pemilihan, data hasil pemilihan akan tersimpan sesuai dengan

UIN Syarif Hidayatullah Jakarta


83

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.

24. Lihat Data Hasil Pemilihan Lembaga Jurusan


Lihat Data Hasil Pemilihan Lembaga Jurusan

Admin KPU Sistem

Pilih Menu Hasil


Pemilihan Lembaga
Jurusan
Cek Hasil

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

UIN Syarif Hidayatullah Jakarta


84

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.

25. Lihat Data Hasil Pemilihan Lembaga Fakultas

UIN Syarif Hidayatullah Jakarta


85

Lihat Data Hasil Pemilihan Lembaga Fakultas

Admin KPU Sistem

Pilih Menu Hasil


Pemilihan Lembaga
Fakultas
Cek Hasil

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

UIN Syarif Hidayatullah Jakarta


86

universitas. Data hasil pemilihan fakultas akan ditampilkan pada halaman yang
tersedia.

26. Lihat Data Hasil Pemilihan Universitas


Lihat Data Hasil Pemilihan Lembaga Universitas

Admin KPU Sistem

Pilih Menu Hasil


Pemilihan Lembaga
Universitas
Cek Hasil

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

UIN Syarif Hidayatullah Jakarta


87

data-data lembaga universitas yang bertujuan mengarahkan admin KPU untuk


melihat hasil pemilihan universitas secara spesifik sesuai dengan lembaga
universitas. Data hasil pemilihan universitas akan ditampilkan pada halaman
yang tersedia.

4.2.5 Perancangan Sequence Diagram


Sebelum melakukan analisis dan perancangan sequence diagram,
terlebih dahulu harus diketahui objek-objek apa yang akan dijadikan kelas di
dalam sistem dan atribut-atribut yang melengkapi kelas tersebut. Dalam
perancangan activity diagram, dapat dilihat secara langsung objek-objek apa
yang terlibat beserta aktivitasnya.
Adapun objek-objek tersebut akan menjadi calon kelas di dalam sistem
yang akan dibuat. Objek-objek tersebut adalah sebagai berikut :

Tabel 4.3 Data Calon Kelas


No. Nama Kelas Atribut
1. WebService 27. id_fakultas
28. id_jurusan
29. NIM
2. StatusPemilihan 30. id
31. status
3. LembagaJurusan  id
 jurusan_id
 nama
4. LembagaFakultas  id
 fakultas_id
 nama
5. LembagaUniversitas  id
 nama
6. CalonLembagaJurusan  id

UIN Syarif Hidayatullah Jakarta


88

 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

UIN Syarif Hidayatullah Jakarta


89

 status
13. Pemilih  NIM
 nama
 users_id
 fakultas_id
 jurusan_id
 status_pilih
14. Users  id
 username
 password
 token
 kategori

Setelah kelas-kelas diatas telah terdefinisi dan diketahui masing-


masing atributnya, maka analisis menggunakan sequence diagram dapat
dilakukan Adapun analisis tersebut adalah sebagai berikut :

1. Ubah Status Pemilihan


Berikut adalah sequence diagram dari ubah status pemilihan. Admin KPU
berinteraksi dengan kelas StatusPemilihan untuk mengambil data
pertama/satu-satunya dari Data Status Pemiliha. Kemudian, admin KPU
mengubah status tersebut dengan mengupdate yang akan disesuaikan
dengan kondisi yang sudah ditentukan. Jika status awal sama dengan
‘Persiapan’, maka status akan dirubah menjadi ‘Berlangsung’. Jika status
awal adalah ‘Persiapan’, maka status akan dirubah menjadi ‘Selesai’.

UIN Syarif Hidayatullah Jakarta


90

KPU StatusPemilihan
AmbilDataPertama()

Data Status Pemilihan

opt edit(id, status=Berlangsung)

status==
Persiapan
return hasil
status== edit(id, status=Selesai)
Berlangsung

return hasil

Gambar 4.31 Sequence Diagram Ubah Status Pemilihan

2. Input Admin KPPS


Berikut adalah sequence diagram dari input admin KPPS. Admin KPU
berinteraksi dengan kelas KPPS untuk mengambil data seluruh KPPS.
Kemudian, admin KPU berinteraksi dengan kelas WebService untuk
mengambil data seluruh fakultas yang berguna dalam proses penyimpanan
data KPPS. Kemudian sistem menyimpan data KPPS ke dalam sistem.

KPU WebService KPPS Users


AmbilData()

List KPPS

AmbilDataFakultas()

List Fakultas

create(id_fakultas,username)
return hasil

create(username,password)
return hasil

Gambar 4.32 Sequence Diagram Input KPPS

3. Delete Admin KPPS

UIN Syarif Hidayatullah Jakarta


91

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.

KPU KPPS Users


AmbilData()

List KPPS

delete(id)

return hasil

delete(username)
return hasil

Gambar 4.33 Sequence Diagram Hapus KPPS

4. Input Lembaga Jurusan


Berikut adalah sequence diagram dari input lembaga jurusan. Admin KPU
berinteraksi dengan kelas WebService untuk memanggil fakultas dan
jurusan, yang berguna untuk proses input data. Kemudian, admin KPU
menginput data dan sistem akan membuat data baru sesuai dengan inputan
admin.

UIN Syarif Hidayatullah Jakarta


92

KPU WebService LembagaJurusan

AmbilDataFakultas()

List Fakultas

AmbilDataJurusan(id_fakultas)

List Jurusan

AmbilData(id_jurusan)
List Lembaga Jurusan
create(id_jurusan, nama)

return hasil

Gambar 4.34 Sequence Diagram Input Lembaga Jurusan

5. Edit Lembaga Jurusan


Berikut adalah sequence diagram dari edit lembaga jurusan. Admin KPU
berinteraksi dengan kelas WebService yang berguna untuk menampilkan
data fakultas dan jurusan dimana data yang akan diinput berada. Kemudian,
sistem akan menampilkan seluruh data lembaga jurusan dan admin KPU
memilih data yang akan diedit. Admin KPU mengedit data tersebut dan
sistem akan merubah data sesuai dengan inputan admin.

UIN Syarif Hidayatullah Jakarta


93

KPU WebService LembagaJurusan


AmbilDataFakultas()

List Fakultas

AmbilDataJurusan(id_fakultas)

List Jurusan

AmbilData(id_jurusan)
List Lembaga Jurusan
cari(id)

Data Lembaga Jurusan

update(id,id_jurusan,nama)

return hasil

Gambar 4.35 Sequence Diagram Edit Lembaga Jurusan

6. Hapus Lembaga Jurusan


Berikut adalah sequence diagram dari hapus lembaga jurusan. Admin KPU
berinteraksi dengan kelas WebService untuk mengambil data fakultas dan
data jurusan yang berguna untuk memilih data lembaga jurusan yang akan
dihapus. Sistem akan menampilkan seluruh data lembaga jurusan dengan
berinteraksi dengan kelas LembagaJurusan. Admin memilih data yang akan
dihapus, kemudian sistem akan menghapus data tersebut.

UIN Syarif Hidayatullah Jakarta


94

KPU WebService LembagaJurusan


AmbilDataFakultas()

List Fakultas

AmbilDataJurusan(id_fakultas)

List Jurusan

AmbilData(id_jurusan)

List Lembaga Jurusan


delete(id)
return hasil

Gambar 4.36 Sequence Diagram Hapus Lembaga Jurusan

7. Input Lembaga Fakultas


Berikut adalah sequence diagram dari input lembaga fakultas. Admin KPU
berinteraksi dengan kelas WebService untuk menampilkan data fakultas
yang akan dipilih sebagai tempat data lembaga fakultas berada. Sistem akan
menampilkan kesulurahan data lembaga fakultas dengan berinteraksi
dengan kelas LembagaFakultas. Admin menginput data fakultas ke dalam
sistem, kemudian sistem akan membuat data sesuai dengan inputan admin.

UIN Syarif Hidayatullah Jakarta


95

KPU WebService LembagaFakultas


AmbilDataFakultas()

List Fakultas

AmbilData(id_fakultas)

List Lembaga Fakultas

create(id_fakultas,nama)
return hasil

Gambar 4.37 Sequence Diagram Input Lembaga Fakultas

8. Edit Lembaga Fakultas


Berikut adalah sequence diagram dari edit lembaga fakultas. Admin KPU
berinteraksi dengan kelas WebService untuk menampilkan data fakultas.
Kemudian, admin KPU memilih fakultas untuk kemudian berinteraksi
dengan kelas LembagaFakultas untuk menampilkan seluruh data lembaga
fakultas tersebut. Admin memilih data yang akan diedit. Admin merubah
data, kemudian sistem akan merubah data sesuai dengan inputan admin.

UIN Syarif Hidayatullah Jakarta


96

KPU WebService LembagaFakultas


AmbilDataFakultas()

List Fakultas

AmbilData(id_fakultas)

List Lembaga Fakultas

cari(id)
Data Lembaga Fakultas

update(id,id_fakultas,nama)
return hasil

Gambar 4.38 Sequence Diagram Edit Lembaga Fakultas

9. Hapus Lembaga Fakultas


Berikut adalah sequence diagram dari hapus lembaga fakultas. Admin KPU
berinteraksi dengan kelas WebService untuk menampilkan seluruh data
fakultas. Admin memilih data fakultas untuk kemudian berinteraksi dengan
kelas LembagaFakultas untuk menampilkan seluruh data lembaga fakultas.
Admin memilih data lembaga fakultas yang akan dihapus, kemudian sistem
akan menghapus data tersebut.

UIN Syarif Hidayatullah Jakarta


97

KPU WebService LembagaFakultas


AmbilDataFakultas()

List Fakultas

AmbilData(id_fakultas)

List Lembaga Fakultas

delete(id)
return hasil

Gambar 4.39 Sequence Diagram Hapus Lembaga Fakultas

10. Input Lembaga Universitas


Berikut adalah sequence diagram dari input lembaga universitas. Admin
KPU berinteraksi dengan kelas LembagaUniversitas untuk menampilkan
seluruh data lembaga universitas. Admin menginput data lembaga
universitas, kemudian sistem akan membuat data tersebut dengan
berinteraksi dengan kelas LembagaFakultas.

KPU LembagaUniversitas
AmbilData()

List Lembaga Universitas

create(nama)

return hasil

Gambar 4.40 Sequence Diagram Input Lembaga Universitas

UIN Syarif Hidayatullah Jakarta


98

11. Edit Lembaga Universitas


Berikut adalah sequence diagram dari edit lembaga universitas. Admin
KPU berinteraksi dengan kelas LembagaUniversitas untuk menampilkan
seluruh data lembaga universitas. Admin KPU memilih data lembaga
universitas yang akan diedit. Admin KPU merubah data tersebut, kemudian
sistem akan merubah data tersebut di dalam sistem.

KPU LembagaUniversitas
AmbilData()

List Lembaga Universitas

cari(id)

Data Lembaga Universitas

update(id,nama)
result

Gambar 3.41 Sequence Diagram Edit Lembaga Universitas

12. Hapus Lembaga Universitas


Berikut adalah sequence diagram dari hapus lembaga universitas. Admin
KPU berinteraksi dengan kelas LembagaUniversitas untuk menampilkan
seluruh data lembaga universitas. Admin KPU memilih data lembaga
universitas yang akan dihapus, kemudian sistem akan menghapus data
tersebut.

UIN Syarif Hidayatullah Jakarta


99

KPU LembagaUniversitas
AmbilData()

List Lembaga Universitas

delete(id)

return hasil

Gambar 4.42 Sequence Diagram Hapus Lembaga Universitas

13. Input Calon Lembaga Jurusan


Di bawah ini adalah sequence diagram dari input calon lembaga jurusan.
Admin KPU berinteraksi dengan kelas WebService untuk menampilkan
data fakultas dan jurusan. Admin memilih data fakultas dan data jurusan
untuk kemudian sistem menampilkan seluruh data lembaga jurusan dengan
berinteraksi dengan kelas LembagaJurusan. Sistem menampilkan seluruh
data calon lembaga jurusan. Admin menginput data calon lembaga jurusan,
kemudian sistem akan membuat data tersebut sesuai dengan data yang
diinput.

UIN Syarif Hidayatullah Jakarta


100

KPU WebService LembagaJurusan CalonLembagaJurusan


AmbilDataFakultas()

List Fakultas

AmbilDataJurusan(id_fakultas)

List Jurusan

AmbilData(id_jurusan)

List Lembaga Jurusan

AmbilData(id_lembaga_jurusan)
List Calon Lembaga Jurusan

create(id_lembaga_jurusan, nama, foto)

return hasil

Gambar 4.43 Sequence Diagram Input Calon Lembaga Jurusan

14. Edit Calon Lembaga Jurusan


Di bawah ini adalah sequence diagram dari input calon lembaga jurusan.
Admin KPU berinteraksi dengan kelas WebService untuk menampilkan
data fakultas dan data jurusan. Admin memilih data fakultas dan data
jurusan untuk kemudian sistem akan menampilkan seluruh data lembaga
jurusan dengan berinteraksi dengan kelas LembagaJurusan. Sistem akan
menampilkan seluruh data calon lembaga jurusan, kemudian admin
memilih data yang akan diedit. Admin merubah data tersebut, kemudian
sistem akan merubah data sesuai dengan inputan admin.

UIN Syarif Hidayatullah Jakarta


101

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)

Data Calon Lembaga Jurusan

update(id,id_lembaga_jurusan,nama,foto)
return hasil

Gambar 4.44 Sequence Diagram Edit Calon Lembaga Jurusan

15. Hapus Calon Lembaga Jurusan


Di bawah ini adalah sequence diagram dari input calon lembaga jurusan.
Admin KPU berinteraksi dengan kelas WebService untuk menampilkan
data fakultas dan data jurusan. Admin KPU memilih data fakultas dan data
jurusan untuk kemudian berinteraksi dengan kelas LembagaJurusan untuk
menampilkan seluruh data lembaga jurusan. Sistem menampilkan seluruh
data calon lembaga jurusan, kemudian admin memilih data yang akan
dihapus. Sistem akan menghapus data yang dipilih oleh admin.

UIN Syarif Hidayatullah Jakarta


102

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

Gambar 4.45 Sequence Diagram Hapus Calon Lembaga Jurusan

16. Input Calon Lembaga Fakultas


Di bawah ini adalah sequence diagram dari input calon lembaga jurusan.
Admin KPU berinteraksi dengan kelas WebService untuk menampilkan
data fakultas. Admin KPU memilih data fakultas untuk kemudian
berinteraksi dengan kelas LembagaFakultas untuk menampilkan seluruh
data LembagaFakultas. Sistem menampilkan seluruh data calon lembaga
fakultas dengan berinteraksi dengan kelas CalonLembagaFakultas. Admin
menginput calon lembaga fakultas, kemudian sistem akan membuat data
sesuai dengan inputan admin.

KPU WebService LembagaFakultas CalonLembagaFakultas


AmbilDataFakultas()

List Fakultas

AmbilData(id_fakultas)

List Lembaga Fakultas

AmbilData(id_lembaga_fakultas)
List Calon Lembaga Fakultas

create(id_lembaga_fakultas,nama,foto)
return hasil

UIN Syarif Hidayatullah Jakarta


103

Gambar 4.46 Sequence Diagram Input Calon Lembaga Fakultas

17. Edit Calon Lembaga Fakultas


Di bawah ini adalah sequence diagram dari input calon lembaga jurusan.
Admin KPU berinteraksi dengan kelas WebService untuk menampilkan
data fakultas. Admin memilih fakultas untuk kemudian berinteraksi dengan
obejk LembagaFakultas untuk menampilkan seluruh data lembaga fakultas.
Sistem menampilkan seluruh data calon lembaga fakultas, kemudian admin
memilih calon lembaga fakultas yang akan diedit. Admin merubah data
tersebut, kemudian sistem akan merubah dan menyimpan data sesuai
dengan inputan

CalonLembagaFak
KPU WebService LembagaFakultas
ultas
AmbilDataFakultas()

List Fakultas

AmbilData(id_fakultas)

List Lembaga Fakultas

AmbilData(id_lembaga_fakultas)

List Calon Lembaga Fakultas

cari(id)

Data Calon Lembaga Fakultas

update(id,id_lembaga_fakultas,nama,foto)

return hasil

Gambar 4.47 Sequence Diagram Edit Calon Lembaga Fakultas

18. Hapus Calon Lembaga Fakultas


Di bawah ini adalah sequence diagram dari input calon lembaga jurusan.
Admin KPU berinteraksi dengan kelas WebService untuk menampilkan
data fakultas. Admin memilih data fakultas untuk kemudian berinteraksi
dengan kelas LembagaFakultas untuk menampilkan seluruh data lembaga
fakultas. Sistem menampilkan seluruh data calon lembaga fakultas,

UIN Syarif Hidayatullah Jakarta


104

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)

List Lembaga Fakultas

AmbilData(id_lembaga_fakultas)
List Calon Lembaga Fakultas

delete(id)
return hasil

Gambar 4.48 Sequence Diagram Hapus Calon Lembaga Fakultas

19. Input Calon Lembaga Universitas


Di bawah ini adalah sequence diagram dari input calon lembaga jurusan.
Admin berinteraksi dengan kelas LembagaUniversitas untuk menampilkan
seluruh data lembaga universitas. Admin memilih data lembaga universitas,
kemudian sistem akan menampilkan seluruh data calon lembaga universitas
dengan berinteraksi dengan obejk CalonLembagaUniversitas. Admin
menginput data, kemudian sistem akan membuat dan menyimpan data
sesuai dengan inputan admin.

LembagaUniversit CalonLembagaUniversit
KPU
as as
AmbilData()

List Lembaga Universitas

AmbilData(id_lembaga_universitas)

List Calon Lembaga Universitas

create(nama,foto)
return hasil

UIN Syarif Hidayatullah Jakarta


105

Gambar 4.49 Sequence Diagram Input Calon Lembaga Universitas

20. Edit Calon Lembaga Universitas


Di bawah ini adalah sequence diagram dari input calon lembaga jurusan.
Admin berinteraksi dengan kelas LembagaUniversitas untuk menampilkan
seluruh data lembaga universitas. Admin memilih lembaga universitas,
kemudian sistem akan menampikan seluruh data calon lembaga universitas
dengan berinteraksi dengan kelas CalonLembagaUniversitas. Admin
memilih data calon lembaga universitas yang akan diedit. Admin merubah
data tersebut, kemudian sistem akan merubah dan menyimpan data sesuai
dengan inputan admin.

LembagaUniversit CalonLembagaUni
KPU
as versitas
AmbilData()

List Lembaga Universitas

AmbilData(id_lembaga_universitas)

List Calon Lembaga Universitas


cari(id)

Data Calon Lembaga Universitas

update(nama,foto)
return hasil

Gambar 4.50 Sequence Diagram Edit Calon Lembaga Universitas

21. Hapus Calon Lembaga Universitas


Di bawah ini adalah sequence diagram dari input calon lembaga jurusan.
Admin KPU berinteraksi dengan kelas LembagaUniversitas untuk
menampilkan seluruh data lembaga universitas. Admin memilih data
lembaga universitas, kemudian sistem akan menampilkan seluruh data

UIN Syarif Hidayatullah Jakarta


106

calon lembaga universitas dengan berinteraksi dengan kelas


CalonLembagaUniversitas. Admin memilih data yang ingin dihapus,
kemudian sistem menghapus data tersebut.

LembagaUniversit CalonLembagaUni
KPU
as versitas
AmbilData()

List Lembaga Universitas

AmbilData(id_lembaga_universitas)

List Calon Lembaga Universitas

delete(id)
return hasil

Gambar 4.51 Sequence Diagram Hapus Calon Lembaga Universitas

22. Registrasi DPT


Di bawah ini merupakan sequence diagram dari proses registrasi DPT.
KPPS berinteraksi dengan kelas WebService untuk mencari
mahasiswa/DPT sesuai dengan NIM yang diinput. Kemudian sistem akan
mengecek apakah mahasiswa telah melakukan pendaftaran sebelumnya
atau tidak. Jika sudah, maka sistem akan menampilkan informasi tentang
pemilih, salah satunya adalah token. Jika belum, maka sistem akan
melakukan pendaftaran dengan berinteraksi dengan kelas Pemilih dan Users
untuk membuat data baru dan membuat token. Kemudian sistem akan
menampilkan informasi pemilih.

UIN Syarif Hidayatullah Jakarta


107

KPPS WebService Pemilih Users


CariMahasiswa(NIM)

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)

return hasil, token

status == Terdaftar
cari(username)
return token

Gambar 4.52 Sequence Diagram Registrasi DPT

23. Input Data Pemilihan


Di bawah ini merupakan sequence diagram dari proses pemilihan. Pada saat
melakukan pemilihan, Pemilih terlebih dahulu melakukan login ke dalam
sistem, sistem akan berinteraksi dengan kelas Users untuk mengautentikasi
pemilih. Setelah terautentikasi, sistem akan menampilkan halaman
pemilihan. Pemilih melakukan pemilihan, setelah itu sistem akan
menyimpan data hasil pemilihan dengan membuat data melalui kelas
HasilPemilihanJurusan, HasilPemilihanFakultas, dan
HasilPemilihanUniversitas. Setelah berhasil, maka pemilih akan secara
otomatis keluar dari sistem.

UIN Syarif Hidayatullah Jakarta


108

HasilPemilihanJur HasilPemilihanFak HasilPemilihanUni


Pemilih Users Pemilih
usan ultas versitas
cari(username,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()

Gambar 4.53 Sequence Diagram Input Data Pemilihan

24. Lihat Data Pemilihan Lembaga Jurusan


Di bawah ini adalah sequence diagram proses lihat data pemilihan lembaga
jurusan. Pertama-tama, sistem akan mengecek apakah data di dalam sistem
telah valid atau telah mengalami proses dekripsi atau belum. Apabila belum
tervalidasi, maka sistem akan menampilkan halaman input kunci privat.
Setelah admin menginput kunci privat ke dalam sistem, maka sistem secara
otomatis akan mendekripsi seluruh data hasil pemilihan jurusan dan
menyimpannya melalui kelas HasilLembagaJurusan. Jika proses tersebut
telah dilalui, maka Admin memilih fakultas dengan mengambil data dari
kelas model WebService, yaitu kelas model yang menyediakan data-data
yang bersumber dari web service. Setelah itu, admin memilih jurusan
dimana hasil pemilihan lembaga jurusan yang dituju berada. Sistem akan
menampilkan hasil perhitungan pemilihan.

UIN Syarif Hidayatullah Jakarta


109

HasilLembagaJuru
KPU WebService LembagaJurusan
san
AmbilDataPertama()

Data Hasil Lembaga Jurusan

opt
update(hasil,status)
status==
Belum Valid retun hasil

status == Valid AmbilDataFakultas()

List Fakultas
AmbilDataJurusan(id_fakultas)

List Jurusan
AmbilData(id_jurusan)

List Lembaga Jurusan

AmbilData(id_lembaga_jurusan)
List Hasil Lembaga Jurusan

Gambar 4.54 Sequence Diagram Lihat Data Hasil Pemilihan Lembaga Jurusan

25. Lihat Data Pemilihan Lembaga Fakultas


Di bawah ini adalah sequence diagram proses lihat data pemilihan lembaga
fakultas. Pertama-tama, sistem akan mengecek apakah data di dalam sistem
telah valid atau telah mengalami proses dekripsi atau belum. Apabila belum
tervalidasi, maka sistem akan menampilkan halaman input kunci privat.
Setelah admin menginput kunci privat ke dalam sistem, maka sistem secara
otomatis akan mendekripsi seluruh data hasil pemilihan fakultas dan
menyimpannya melalui kelas HasilLembagaFakultas. Jika proses tersebut
telah dilalui, maka Admin memilih fakultas dengan mengambil data dari
kelas WebService, yaitu kelas model yang menyediakan data-data yang
bersumber dari web service. Setelah itu, admin lembaga fakultas yang
dituju. Sistem akan menampilkan hasil perhitungan pemilihan.

UIN Syarif Hidayatullah Jakarta


110

HasilLembagaFaku
KPU WebService LembagaFakultas
ltas
AmbilDataPertama()

Data Hasil Lembaga Fakultas

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

26. Lihat Data Pemilihan Lembaga Universitas


Di bawah ini adalah sequence diagram proses lihat data pemilihan lembaga
jurusan. Pertama-tama, sistem akan mengecek apakah data di dalam sistem
telah valid atau telah mengalami proses dekripsi atau belum. Apabila belum
tervalidasi, maka sistem akan menampilkan halaman input kunci privat.
Setelah admin menginput kunci privat ke dalam sistem, maka sistem secara
otomatis akan mendekripsi seluruh data hasil pemilihan universitas dan
menyimpannya melalui kelas model HasilLembagaUniversitas. Setelah itu,
admin memilih lembaga universitas yang dituju. Sistem akan menampilkan
hasil perhitungan pemilihan.

UIN Syarif Hidayatullah Jakarta


111

LembagaUniversit HasilLembagaUniv
KPU
as ersitas
AmbilDataPertama()

Data Hasil Lembaga Universitas

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

4.2.6 Perancangan Class Diagram


Setelah penulis melakukan analisis menggunakan sequence diagram,
maka analisis dapat dilanjutkan menggunakan analisis class diagram. Class
diagram dibentuk untuk melihat struktur kelas yang telah dijabarkan
sebelumnya beserta relasinya terhadap kelas lainnya. Dalam tahap sequnce
diagram telah diketahui behavior dalam sebuah kelas dari interaksi yang terjadi
pada diagram tersebut. Kemudian, dari interaksi antar kelas dapat didapat relasi
atau hubungan yang terjadi dari tiap kelas. Sehingga perancangan class
diagram dapat dilakukan.
Adapun analisis class diagram yang dirancang adalah sebagai berikut :

UIN Syarif Hidayatullah Jakarta


112

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.57 Skema Class Diagram

4.2.7 Perancangan Antar Muka


Dalam membangun sebuah sistem, maka diperlukan perancangan
interface atau antar muka aplikasi agar memudahkan proses pembangunan.
Proses perancangan tampilan antar muka atau mockup dilakukan secara
sederhana dan mencakup bagian-bagian terbesar dalam halaman muka yang
akan dibangun kelak.
Adapun perancangan antar muka tersebut adalah sebagai berikut :

1. Halaman login admin KPU dan admin KPPS

UIN Syarif Hidayatullah Jakarta


113

Gambar 4.58 Perancangan Antar Muka Halaman Login KPU dan KPPS

2. Tampilan halaman awal admin KPU

Gambar 4.59 Perancangan Antar Muka Halaman Admin KPU

3. Tampilan halaman admin KPPS

UIN Syarif Hidayatullah Jakarta


114

Gambar 4.60 Perancangan Antar Muka Halaman Admin KPPS

4. Tampilan halaman login pemilih

Gambar 4.61 Perancangan Antar Muka Halaman Login Pemilih

5. Tampilan halaman pemilihan

UIN Syarif Hidayatullah Jakarta


115

Gambar 4.62 Perancangan Antar Muka Halaman Pemilihan

4.3 Implementation and Unit Testing


4.3.1 Implementasi Kriptografi RSA Menggunakan OpenSSL
Pada aplikasi ini, penggunaan kriptografi RSA berfungsi untuk
keamanan dan kerahasiaan data hasil pemilihan di berbagai tingkatan, yaitu
tingkat jurusan, fakultas, dan universitas. Penggunaan library OpenSSL
berfungsi dalam pembuatan kunci privat dan kunci publik. Kunci publik yang
telah dibuat akan ditempatkan dalam struktur file web public/folder. Kunci
publik akan dibaca oleh sistem dan ditempatkan pada session ketika pemilih
berhasil melakukan autentikasi sebelum melakukan pemilihan.

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

UIN Syarif Hidayatullah Jakarta


116

Mahasiswa. Kunci privat digunakan ketika proses pemilihan selesai dan


tidak ada lagi hasil suara masuk ke dalam sistem.

Gambar 4.63 Pembuatan Kunci Privat

Gambar command-promt dibawah menunjukkan bagaimana kunci publik


dibuat. Proses pembuatan kunci publik menyertakan kunci privat yang
sebelumnya telah dibuat. Dengan memasukkan command-line “rsa –in
kunciprivat.pem –pubout –out kuncipublik.pem”, maka kunci publik
akan dibuat dalam bentuk file kuncipublik.pem.

Gambar 4.64 Pembuatan Kunci Publik

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

UIN Syarif Hidayatullah Jakarta


117

telah dibuat dan diletakkan dalam struktur folder web public/folder.


Sistem akan membaca kunci publik dan memasukkannya ke dalam session
ketika pemilih telah teridentifikasi dan terautentikasi.
Adapun baris-baris kode dari proses enkripsi tersebut adalah seperti
gambar dibawah ini.

Gambar 4.65 Kode Enkripsi

Baris ke-102 menunjukkan proses pendefinisian kunci publik dengan


memanggil variabel pub_key pada session. Baris ke-103 menunjukkan
pengambilan data user/pemilih yang sedang aktif untuk proses
pengambilan NIM yang bersangkutan. Baris ke-104 adalah proses enkripsi
data yang terdiri dari NIM pemilih dan hasil pilihan yang telah dilakukan
yang akan dienkipsi menggunakan kunci publik yang telah didefinisi
sebelumnya. Hasil enkripsi akan disimpan dalam variabel $hasil_enc.
Baris ke-105 adalah proses encoding data ke dalam bentuk ASCII.
Dibawah ini adalah contoh hasil dari enkripsi data hasil pemilihan. Sebagai
contoh, isi data tersebut terdiri dari NIM dan ID Calon yaitu
1112091000082-6. Data kemudian di enkripsi menggunakan kunci publik
yang telah dibuat.

Gambar 4.66 Contoh Hasil Enkripsi

3. Proses Dekripsi

UIN Syarif Hidayatullah Jakarta


118

Proses dekripsi data pemilihan dilakukan pada fungsi menampilkan


Hasil Pemilihan Jurusan, Hasil Pemilihan Fakultas, dan Hasil Pemilihan
Universitas. Proses dekripsi dilakukan pada saat admin KPU menginput
kunci privat ke dalam sistem. Data-data yang berkaitan dengan hasil
pemilihan akan terdekripsi seluruhnya sesuai dengan jenis
pemilihannya. Oleh karena itu, proses dekripsi dilakukan ketika seluruh
hasil pemilihan telah masuk ke dalam sistem atau Pemilihan Umum
Mahasiswa telah selesai dilakukan.
Adapun baris-baris kode proses dekripsi tersebut adalah seperti gambar
dibawah ini.

Gambar 4.67 Kode Dekripsi

Baris ke-38 menunjukkan pengambilan keseluruhan data Hasil


Pemilihan Jurusan yang kemudian akan disimpan dalam variabel
$votes. Baris ke-39 hingga baris ke-42 adalah proses pengambilan file
kunci privat yang telah diinput oleh admin KPU dan memindahkannya
ke dalam struktur folder web public/folder. Baris ke-44 hingga baris
ke-46 adalah proses membaca file kunci privat yang telah diinput dan

UIN Syarif Hidayatullah Jakarta


119

memasukkan konten dari file tersebut dalam variabel $kunciprivat.


Begitu selesai dibaca dan diambil konten, file kunci privat tersebut akan
dihapus dari struktur folder web untuk menjaga keamanan dan
kerahasiaan dari kunci privat itu sendiri. Baris ke-48 hingga baris ke-
63 menunjukkan bagaimana setiap data dari Hasil Pemilihan Jurusan
akan didekripsi menggunakan kunci privat yang sudah didefinisikan
sebelumnya. Sebelum didekripsi, data hasil pemilihan tersebut akan di-
decoding sehingga proses dekripsi dapat dilakukan. Data hasil dekripsi
akan disimpan dalam variabel $hasil_dec. Data tersebut kemudian
dipecah menjadi 2 bagian, yaitu NIM dan hasil pemilihan. Data akan
dicocokkan, jika NIM yang menjadi komposisi dari data hasil
pemilihan tidak cocok dengan NIM pada user, maka status akan
berubah menjadi Tidak Valid. Sebaliknya, jika cocok maka status dari
data pemilihan tersebut akan berubah menjadi Valid. Dan pada
akhirnya, data pemilihan akan diupdate untuk proses penghitungan
suara.
Dibawah ini adalah gambar hasil dari proses dekripsi data hasil
pemilihan. Dapat dilihat bahwa data yang sebelumnya telah dienkripsi,
kemudian dapat kembali seperti semua untuk proses perhitungan.

Gambar 4.68 Contoh Hasil Dekripsi

4.3.2 Implementasi Web Service


Penerapan web service ditujukan untuk mengintegrasikan data-data
yang berkaitan dengan sistem E-Voting dengan data yang terdapat di
PUSTIPANDA. Pada tahap sebelumnya, telah dijabarkan bagaimana
ketentuan-ketentuan dari web service tersebut, sehingga dapat diterapkan
dengan baik ke dalam sistem E-Voting.

UIN Syarif Hidayatullah Jakarta


120

Adapun web service yang telah dibuat adalah sebagaimana berikut :

Tabel 4.4 Daftar web service


No Main Link Shared Service Parameter Deskripsi
Service (URI) Output
https://ais.uinjkt.ac.id username : untuk List/Daftar
/fakultas/{username} user Fakultas:
/{password} password : untuk id
user kode
nama
1. Fakultas https://ais.uinjkt.ac.id username : untuk Pencarian
/fakultas/{username} user Fakultas:
/{password}/{id_fak password : untuk id
ultas} user kode
id_fakultas : untuk nama
id fakultas
https://ais.uinjkt.ac.id username : untuk List/Daftar
/jurusan_fakultas/{us user Jurusan:
ername}/{password} password : untuk id
/{id_fakultas} user nama
id_fakultas : untuk fakultas
id fakultas fakultasNama
2. Jurusan
https://ais.uinjkt.ac.id username : untuk Pencarian
/jurusan/{username}/ user Jurusan:
{password}/{id_juru password : untuk id
san} user nama
id_jurusan : untuk fakultas
id jurusan fakultasNama
https://ais.uinjkt.ac.id username : untuk List/Daftar
3. Mahasiswa /mahasiswa_fakultas/ user Mahasiswa:
id

UIN Syarif Hidayatullah Jakarta


121

{username}/{passwo password : untuk nim


rd}/{id_fakultas} user nama
id_fakultas : untuk fakultas
id fakultas fakultasNama
jurusan
jurusanNama
tahunAngkat
an
semester
https://ais.uinjkt.ac.id username : untuk Pencarian
/mahasiswa_nim/{us user Mahasiswa:
ername}/{password} password : untuk id
/{nim} user nim
nim : untuk nim nama
mahasiswa fakultas
fakultasNama
jurusan
jurusanNama
tahunAngkat
an
semester

Web service diatas digunakan didalam sistem dengan memasukkannya


dalam struktur kelas. Web service tersebut kemudian digunakan dalam
pengambilan dan pencarian data, yaitu seperti yang sudah dijabarkan pada tabel
diatas.
Data yang diterima oleh sistem E-Voting akan berupa data JSON. Data
yang bebentuk JSON tersebut akan diformat dan digunakan di dalam sistem.
Adapun contoh dari tampilan web service yang masih berbentuk data JSON
adalah sebagai berikut.

UIN Syarif Hidayatullah Jakarta


122

Gambar 4.69 Contoh Hasil Web Service

4.4 Integration and System Testing


4.4.1 Pengujian Black Box
Pengujian black box dilakukan dengan menguji fungsi-fungsi yang
telah dibangun di dalam sistem. Pengujian tersebut berupa testing penginputan,
pengeditan, penghapusan, ataupun fungsi lainnya yang telah dirancang sesuai
dengan kebutuhan sistem.

Tabel 4.5 Pengujian Black Box


No. Fungsi Sistem Hasil yang Diharapkan Hasil
1. Ubah Status Pemilihan Data Status Pemilihan berubah sesuai OK
dengan ketentuan yang sudah
ditetapkan.
2. Input Data Lembaga Data Lembaga Jurusan terinput ke OK
Jurusan dalam sistem

UIN Syarif Hidayatullah Jakarta


123

3. Edit Data Lembaga Data Lembaga Jurusan yang dipilih OK


Jurusan diedit dan data di dalam sistem
berubah
4. Hapus Data Lembaga Data Lembaga Jurusan yang dipilih OK
Jurusan dihapus
5. Input Data Lembaga Data Lembaga Fakultas terinput ke OK
Fakultas dalam sistem
6. Edit Data Lembaga Data Lembaga Fakultas yang dipilih OK
Fakultas diedit dan data di dalam sistem
berubah
7. Hapus Data Lembaga Data Lembaga Fakultas yang dipilih OK
Fakultas dihapus
8. Input Data Lembaga Data Lembaga Universitas terinput ke OK
Universitas dalam sistem
9. Edit Data Lembaga Data Lembaga Universitas yang OK
Universitas dipilih diedit dan data di dalam sistem
berubah
10. Hapus Data Lembaga Data Lembaga Universitas yang OK
Universitas dipilih dihapus
11. Input Data Calon Data Calon Lembaga Jurusan terinput OK
Lembaga Jurusan ke dalam sistem
12. Edit Data Calon Data Calon Lembaga Jurusan yang OK
Lembaga Jurusan dipilih diedit dan data di dalam sistem
berubah
13. Hapus Data Calon Data Calon Lembaga Jurusan yang OK
Lembaga Jurusan dipilih dihapus
14. Input Data Calon Data Calon Lembaga Fakultas OK
Lembaga Fakultas terinput ke dalam sistem

UIN Syarif Hidayatullah Jakarta


124

15. Edit Data Calon Data Calon Lembaga Fakultas yang OK


Lembaga Fakultas dipilih diedit dan data di dalam sistem
berubah
16. Hapus Data Calon Data Calon Lembaga Fakultas yang OK
Lembaga Fakultas dipilih dihapus
17. Input Data Calon Data Calon Lembaga Universitas OK
Lembaga Universitas terinput ke dalam sistem
18. Edit Data Calon Data Calon Lembaga Universitas OK
Lembaga Universitas yang dipilih diedit dan data di dalam
sistem berubah
19. Hapus Data Calon Data Calon Lembaga Universitas OK
Lembaga Universitas yang dipilih dihapus
20. Registrasi Pemilih Pemilih terdaftar di dalam sistem, OK
mendapatkan token, dan mampu
melakukan login ke dalam sistem
21. Input Data Pemilihan Hasil pemilihan yang dilakukan oleh OK
pemilih disimpan ke dalam sistem
berupa data yang telah dienkripsi.
Data terdiri dari 3 tipe, yaitu Data
Hasil Pemilihan Jurusan, Data Hasil
Pemilihan Fakultas, dan Data Hasil
Pemilihan Universitas
22. Lihat Data Pemilihan Admin KPU memasukkan kunci OK
Jurusan privat ke dalam sistem dan mampu
melihat data hasil pemilihan jurusan
23. Lihat Data Pemilihan Admin KPU memasukkan kunci OK
Fakultas privat ke dalam sistem dan mampu
melihat data hasil pemilihan fakultas
24. Lihat Data Pemilihan Admin KPU memasukkan kunci OK
Universitas privat ke dalam sistem dan mampu

UIN Syarif Hidayatullah Jakarta


125

melihat data hasil pemilihan


universitas

UIN Syarif Hidayatullah Jakarta


126

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.

5.1.1 Simulasi Pemilihan


Simulasi dilakukan untuk melihat proses dan hasil dari pemilihan
menggunakan sistem E-Voting yang telah dibangun. Simulasi dilakukan
dengan beberapa ketentuan yang telah diatur. Pertama, ditentukan lembaga
yang berpartisipasi di berbagai tingkatan dan ditentukan calon/kandidat yang
turut serta. Ketentuan tersebut dapat dilihat pada tabel berikut :

Tabel 5.1 Ketentuan Lembaga dan Calon Lembaga Simulasi Pemilihan


No. Tingkat Nama Lembaga Calon/Kandidat
1. Jurusan Himpunan Mahasiswa 1. Calon HIMTI 1
Jurusan Teknik Informatika 2. Calon HIMTI 2
3. Calon HIMTI 3
2. Fakultas Dewan Eksekutif 1. Calon DEMAF 1
Mahasiswa Fakultas Sains 2. Calon DEMAF 2
dan Teknologi
Senat Mahasiswa Fakultas 1. Calon SEMAF 1
Sains dan Teknologi 2. Calon SEMAF 2

UIN Syarif Hidayatullah Jakarta


127

3. Universitas Dewan Eksekutif 1. Calon DEMAU 1


Mahasiswa UIN Jakarta 2. Calon DEMAU 2
Senat Mahasiswa UIN 1. Calon SEMAU 1
Jakarta 2. Calon SEMAU 2

Selanjutnya, ditentukan mahasiswa yang telah terdaftar sebagai DPT


beserta simulasi pemilihan yang dilakukan. Untuk simulasi ini, ditentukan 10
mahasiswa Fakultas Sains dan Teknologi jurusan Teknik Informatika.
Ketentuan tersebut adalah sebagai berikut :

Tabel 5.2 Ketentuan Pemilihan pada Simulasi


Pemilihan
No. NIM HIMTI DEMA SEMA DEMA SEMA
FST FST UIN UIN
1. 1112091000082 Calon Calon Calon Calon Calon
HIMTI 1 DEMAF SEMAF DEMAU SEMAU
1 1 1 1
2. 1112091000083 Calon Calon Calon Calon Calon
HIMTI 2 DEMAF SEMAF DEMAU SEMAU
2 2 2 2
3. 1112091000084 Abstain Abstain Abstain Abstain Abstain
4. 1112091000085 Calon Calon Calon Calon Calon
HIMTI 3 DEMAF SEMAF DEMAU SEMAU
1 2 2 1
5. 1112091000086 Abstain Abstain Abstain Abstain Abstain
6. 1112091000087 Calon Calon Calon Calon Calon
HIMTI 1 DEMAF SEMAF DEMAU SEMAU
1 1 1 1

UIN Syarif Hidayatullah Jakarta


128

7. 1112091000088 Calon Calon Calon Calon Calon


HIMTI 2 DEMAF SEMAF DEMAU SEMAU
2 2 2 2
8. 1112091000089 Abstain Abstain Abstain Abstain Abstain
9. 1112091000090 Calon Calon Calon Calon Calon
HIMTI 3 DEMAF SEMAF DEMAU SEMAU
1 2 2 1
10. 1112091000091 Abstain Abstain Abstain Abstain Abstain
11. 1112091000092 Calon Calon Calon Calon Calon
HIMTI 1 DEMAF SEMAF DEMAU SEMAU
1 1 1 1
12. 1112091000093 Calon Calon Calon Calon Calon
HIMTI 2 DEMAF SEMAF DEMAU SEMAU
2 2 2 2
13. 1112091000094 Abstain Abstain Abstain Abstain Abstain
14. 1112091000095 Calon Calon Calon Calon Calon
HIMTI 3 DEMAF SEMAF DEMAU SEMAU
1 2 2 1
15. 1112091000096 Abstain Abstain Abstain Abstain Abstain
16. 1112091000097 Calon Calon Calon Calon Calon
HIMTI 1 DEMAF SEMAF DEMAU SEMAU
1 1 1 1
17. 1112091000098 Calon Calon Calon Calon Calon
HIMTI 2 DEMAF SEMAF DEMAU SEMAU
2 2 2 2
18. 1112091000099 Abstain Abstain Abstain Abstain Abstain
19. 1112091000100 Calon Calon Calon Calon Calon
HIMTI 3 DEMAF SEMAF DEMAU SEMAU
1 2 2 1
20. 1112091000101 Abstain Abstain Abstain Abstain Abstain

UIN Syarif Hidayatullah Jakarta


129

21. 1112091000102 Calon Calon Calon Calon Calon


HIMTI 1 DEMAF SEMAF DEMAU SEMAU
1 1 1 1
22. 1112091000103 Calon Calon Calon Calon Calon
HIMTI 2 DEMAF SEMAF DEMAU SEMAU
2 2 2 2
23. 1112091000104 Abstain Abstain Abstain Abstain Abstain
24. 1112091000105 Calon Calon Calon Calon Calon
HIMTI 3 DEMAF SEMAF DEMAU SEMAU
1 2 2 1
25. 1112091000106 Abstain Abstain Abstain Abstain Abstain
26. 1112091000107 Calon Calon Calon Calon Calon
HIMTI 1 DEMAF SEMAF DEMAU SEMAU
1 1 1 1
27. 1112091000108 Calon Calon Calon Calon Calon
HIMTI 2 DEMAF SEMAF DEMAU SEMAU
2 2 2 2
28. 1112091000109 Abstain Abstain Abstain Abstain Abstain
29. 1112091000110 Calon Calon Calon Calon Calon
HIMTI 3 DEMAF SEMAF DEMAU SEMAU
1 2 2 1
30. 1112091000111 Abstain Abstain Abstain Abstain Abstain

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.

UIN Syarif Hidayatullah Jakarta


130

Dengan ketentuan seperti diatas, maka proses simulasi pemilihan


umum dapat menemukan hasil pemilihannya. Adapun hasil simulasi pemilihan
tersebut adalah sebagai berikut :

Tabel 5.3 Hasil Pemilihan pada Simulasi Pemilihan


No. Tingkat Nama Lembaga Calon/Kandidat Jumlah Hasil
Pemilihan
1. Jurusan Calon HIMTI 1 6
Himpunan Mahasiswa
Calon HIMTI 2 6
Jurusan Teknik
Calon HIMTI 3 6
Informatika
Abstain 12
2. Fakultas Dewan Eksekutif Calon DEMAF 12
Mahasiswa Fakultas Sains 1
dan Teknologi Calon DEMAF 6
2
Abstain 12
Calon SEMAF 6
1
Senat Mahasiswa Fakultas
Calon SEMAF 12
Sains dan Teknologi
2
Abstain 12
3. Universitas Calon DEMAU 6
1
Dewan Eksekutif
Calon DEMAU 12
Mahasiswa UIN Jakarta
2
Abstain 12
Calon SEMAU 12
Senat Mahasiswa UIN 1
Jakarta Calon SEMAU 6
2

UIN Syarif Hidayatullah Jakarta


131

Abstain 12

5.1.2 Simulasi Pemilihan Menggunakan E-Voting


Simulasi yang telah dijabarkan diatas kemudian diterapkan dalam
sistem E-Voting yang telah dibangun. Penerapan ini untuk mengetahui apakah
simulasi yang telah dibuat mampu diterapkan dengan baik dan menghasilkan
hasil yang sama dengan simulasi yang dilakukan atau tidak. Adapun penerapan
simulasi tersebut adalah sebagai berikut :

1. Menginput Data Lembaga Jurusan


Data Lembaga Jurusan yang diinput yaitu Himpunan Mahasiswa Jurusan
Teknik Informatika, lembaga tersebut berada dibawah Fakultas Sains dan
Teknologi dan jurusan Teknik Informatika. Hasil penginputan tersebut
adalah sebagai berikut :

Gambar 5.1 Menginput Data Lembaga Jurusan

UIN Syarif Hidayatullah Jakarta


132

Gambar 5.2 Daftar Data Lembaga Jurusan

2. Menginput Data Lembaga Fakultas


Data Lembaga Fakultas yang diinput yaitu Dewan Eksekutif Mahasiswa
Fakultas Sains dan Teknologi dan Senat Mahasiswa Fakultas Sains dan
Teknologi. Kedua lembaga tersebut berada di Fakultas Sains dan
Teknologi. Hasil dari penerapan tersebut adalah sebagai berikut :

UIN Syarif Hidayatullah Jakarta


133

Gambar 5.3 Menginput Data Lembaga Fakultas

Gambar 5.4 Daftar Data Lembaga Fakultas

3. Menginput Data Lembaga Universitas

UIN Syarif Hidayatullah Jakarta


134

Data Lembaga Universitas yang diinput yaitu Dewan Eksekutif


Mahasiswa UIN Jakarta dan Senat Mahasiswa UIN Jakarta. Hasil dari
penerapan tersebut adalah sebagai berikut :

Gambar 5.5 Menginput Data Lembaga Universitas

UIN Syarif Hidayatullah Jakarta


135

Gambar 5.6 Daftar Data Lembaga Universitas

4. Menginput Data Calon Lembaga Jurusan


Lembaga Jurusan dimana calon yang akan diinput berada adalah
Himpunan Mahasiswa Jurusan Teknik Informatika. Calon-calon tersebut
adalah Calon HIMTI 1, Calon HIMTI 2, dan Calon HIMTI 3.
Hasil dari penerapan tersebut adalah sebagai berikut :

Gambar 5.7 Menginput Data Calon Lembaga Jurusan

UIN Syarif Hidayatullah Jakarta


136

Gambar 5.8 Daftar Data Calon Lembaga Jurusan

5. Menginput Data Calon Lembaga Fakultas


Ketentuan calon lembaga fakultas adalah sebagaimana yang telah
dijabarkan pada pembahasan simulasi pemilihan. Adapun hasil penerapan
ke dalam sistem E-Voting adalah sebagai berikut :

UIN Syarif Hidayatullah Jakarta


137

Gambar 5.9 Menginput Data Calon Lembaga Fakultas

Gambar 5.10 Daftar Data Calon Lembaga Fakultas

6. Menginput Data Calon Lembaga Universitas

UIN Syarif Hidayatullah Jakarta


138

Ketentuan calon lembaga universitas adalah sebagaimana yang telah


dijabarkan pada pembahasan simulasi pemilihan. Hasil dari penerapan ke
dalam sistem E-Voting adalah sebagai berikut :

Gambar 5.11 Menginput Data Calon Lembaga Universitas

UIN Syarif Hidayatullah Jakarta


139

Gambar 5.12 Daftar Data Calon Lembaga Universitas

7. Menginput Data KPPS


KPPS sebagai pelaksana pemungutan suara dibentuk untuk melakukan
tugasnya dalam meregistrasi DPT/Pemilih. Dalam simulasi ini, dibentuk
KPPS pada Fakultas Sains dan Teknologi. Hasil dari pembentukan KPPS
dalam sistem E-Voting adalah sebagai berikut :

Gambar 5.13 Menginput Data KPPS

UIN Syarif Hidayatullah Jakarta


140

Gambar 5.14 Daftar Data KPPS

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 :

UIN Syarif Hidayatullah Jakarta


141

Gambar 5.15 Meregistrasi DPT/Pemilih

Gambar 5.16 Hasil Registrasi DPT/Pemilih

9. Melakukan Pemilihan

UIN Syarif Hidayatullah Jakarta


142

Pemilihan dilakukan dengan pertama-tama pemilih masuk ke dalam sistem.


Pemilih memasukkan NIM, Password, dan token yang telah didapat ketika
melakukan registrasi. Pemilih akan diautentikasi oleh sistem. Setelah
berhasil, maka sistem akan menampilkan halaman pemilihan yang berisikan
lembaga beserta para calon/kandidat.
Adapun hasil dari penerapan simulasi pemilihan adalah sebagai berikut :

Gambar 5.17 Login Pemilih

UIN Syarif Hidayatullah Jakarta


143

Gambar 5.18 Halaman Pemilihan

Gambar 5.19 Keluar Setelah Pemilihan

10. Melihat Hasil Pemilihan

UIN Syarif Hidayatullah Jakarta


144

Setelah proses pemungutan suara selesai, maka admin KPU dapat


melakukan proses melihat hasil pemilihan. Sebelum melakukan proses
tersebut, terlebih dahulu sistem menampilkan halaman untuk menginput
kunci privat. Hal itu dilakukan untuk mendekripsi seluruh data pemilihan
yang ada di dalam sistem sesuai dengan tingkatannya.

Gambar 5.20 Menginput Kunci Privat

Adapun hasil pemilihan terdiri dari 3 jenis, yaitu :


a. Hasil Pemilihan Lembaga Jurusan
Dalam hasil pemilihan lembaga jurusan, admin KPU melihat hasil
pemilihan terhadap lembaga Himpunan Mahasiswa Jurusan Teknik
Informatika.

UIN Syarif Hidayatullah Jakarta


145

Gambar 5.21 Hasil Pemilihan Lembaga Jurusan

b. Hasil Pemilihan Lembaga Fakultas


Dalam hasil pemilihan lembaga fakultas, admin KPU melihat hasil
pemilihan terhadap lembaga Dewan Eksekutif Mahasiswa Fakultas
Sains dan Teknologi dan Senat Mahasiswa Fakultas Sains dan
Teknologi.

UIN Syarif Hidayatullah Jakarta


146

Gambar 5.22 Hasil Pemilihan Lembaga Fakultas (DEMA)

Gambar 5.23 Hasil Pemilihan Lembaga Fakultas (SEMA)

c. Hasil Pemilihan Lembaga Universitas

UIN Syarif Hidayatullah Jakarta


147

Dalam hasil pemilihan lembaga universitas, admin KPU melihat hasil


pemilihan terhadap lembaga Dewan Eksekutif Mahasiswa UIN Jakarta
dan Senat Mahasiswa UIN Jakarta.

Gambar 5.24 Hasil Pemilihan Lembaga Universitas (DEMA)

UIN Syarif Hidayatullah Jakarta


148

Gambar 5.25 Hasil Pemilihan Lembaga Universitas (SEMA)

Gambar 5.26 Hasil Pemilihan Setelah Enkripsi


5.2 Pembahasan
Pada perancangan dan pembangunan aplikasi E-Voting Pemilihan Umum
Mahasiswa UIN Syarif Hidayatullah Jakarta ini, fungsi-fungsi yang dibangun sudah
sesuai dengan kebutuhan dan alur sistem yang digunakan oleh KPU dalam
melaksanakan Pemilihan Umum. Hal itu dapat dilihat dengan fungsi-fungsi yang
dibangun menyesuaikan dengan data yang diperoleh dari Ketetapan Senat
Mahasiswa UIN Syarif Hidayatullah Jakarta Nomor 11 tahun 2015 tentang
Pedoman Pemilihan Umum Mahasiswa ataupun melalui wawancara kepada pihak-
pihak yang berwenang.
Ada beberapa poin pembahasan yang dapat dijabarkan tentang sistem E-
Voting yang dibuat. Diantaranya adalah sebagai berikut :
1. Sistem E-Voting sesuai dengan asas-asas pemilihan umum, yaitu
LUBERJURDIL (Langsung, Umum, Bebas, Rahasia, Jujur, dan Adil).
Seperti yang disebutkan diatas, bahwa sistem E-Voting yang dibangun
mengacu pada ketetapan dan prosedur yang ada. Asas-asas yang terdapat
pada Pemilihan Umum Mahasiswa UIN Syarig Hidayatullah Jakarta tentu
harus diterapkan pada sistem E-Voting ini. Adapun penjelasan dari
penerapan asas-asas tersebut adalah sebagai berikut :
a. Langsung
Pada sistem pemilihan umum yang dilakukan secara manual, pemilih
dapat langsung melakukan pemungutan suara di tempat yang telah
disediakan dengan beberapa ketentuan yang telah ditetapkan. Setelah
melakukan registrasi di KPPS, pemilih mendapatkan beberapa jenis
kertas suara sesuai dengan lembaga terkait guna melakukan pemungutan
suara. Kemudian, pemilih melakukan pemungutan suara dan
memasukkan kertas suara ke dalam kotak suara.

UIN Syarif Hidayatullah Jakarta


149

Pada sistem E-Voting ini, pemilih juga dapat melakukan pemungutan


suara secara langsung dan dengan beberapa ketentuan. Pemilih
melakukan registrasi melalui admin KPPS dan mendapatkan token
sebagai identifikasi pemilih. Pemilih melakukan login ke dalam sistem
dan melakukan pemungutan suara. Hasil pemilihan akan langsung di
simpan di dalam database.
b. Umum
Sistem E-Voting yang dibangun mengikuti aturan dan prosedur yang
ditetapkan oleh SEMA-U. Umum, yaitu bahwa semua mahasiswa yang
terdaftar dan masuk dalam kriteria Daftar Pemilih Tetap (DPT) dapat
turut andil dalam pemilihan juga diterapkan pada sistem E-Voting ini.
Yaitu dengan adanya ketentuan web service data mahasiwa yang
dirancang sesuai dengan ketentuan ketetapan.
c. Bebas
Pada pemilihan umum secara manual, pemilih memilih kandidat/calon
yang mereka inginkan secara bebas dan tanpa intervensi apapun. Suara
mereka dapat disalurkan dengan baik tanpa adanya suatu hambatan dan
paksaan dalam pemilihan.
Begitu juga dalam sistem E-Voting yang dibangun. Di dalam sistem
tersebut, pemilih dapat memilih kandidat/calon yang mereka inginkan
secara bebas dan tanpa hambatan.
d. Rahasia
Pada pemilihan umum secara manual, pemilih memilih kandidat/calon
yang mereka inginkan tanpa diketahui oleh pihak manapun, atau dalam
arti rahasia. Hasil surat suara yang ada tidak menunjukkan suatu tanda
tertentu yang mencirikan pemilih. Sehingga tidak seorang pun tahu
kepemilikan dari suatu hasil surat suara.
Kerahasiaan data hasil pemilihan pada sistem E-Voting dapat dilakukan
dengan menggunakan penerapan kriptografi RSA. Data yang tersimpan
di dalam database adalah data yang sudah dienkripsi, sehingga tidak
seorang pun yang dapat melihat hasil data pemilihan tersebut.

UIN Syarif Hidayatullah Jakarta


150

Selanjutnya, kewenangan untuk melihat data hasil pemilihan hanya


dimiliki oleh KPU sebagai otoritas tertinggi dan pelaksana Pemilihan
Umum. Penggunaan kunci privat sebagai satu-satunya alat untuk
melihat data pemilihan, menjadikan KPU sebagai pihak yang paling
bertanggung jawab atas kerahasiaan data pemilihan, sehingga tanggung
jawab yang ada dapat terpusat.
e. Jujur
Kejujuran yang ada pada pemilihan umum secara manual sangat
ditentukan oleh kejujuran para petugas pelaksana pemilihan umum.
Kejujuran tersebut dapat dilakukan dengan melaksanakan ketentuan-
ketentuan yang berlaku tanpa adanya kesalahan yang disengaja dan
kecurangan. Salah satunya adalah kejujuran dalam tahap proses
pemungutan suara. Seperti yang sudah dijabarkan pada latar belakang
penelitian, terdapat kecurangan dan kelebihan surat suara dari total
pemilih yang mengakibatkan asas kejujuran pada pemilihan umum
menjadi tercoreng.
Dengan menggunakan sistem E-Voting, asas kejujuran tersebut dapat
terlaksana dengan lebih baik. Yaitu dengan adanya komputerisasi dan
otomatisasi proses-proses yang ada pada pemilihan umum dan adanya
pembagian hak akses yang jelas. Dengan adanya komputerisasi dan
otomatisasi, keterlibatan dan campur tangan petugas pelaksana dapat
sedikit dikurangi, sehingga potensi adanya human-error atau
kecurangan semakin kecil. Salah satu contohnya adalah pada proses
penghitungan hasil pemilihan. Proses kalkulasi hasil pemilihan
dilakukan secara otomatis, sehingga hasil yang didapatkan adalah
akurat.
f. Adil
Sistem E-Voting yang dibangun tidak memiliki keberpihakan dan
kecenderungan yang akan menguntungkan salah satu kelompok. Sistem
yang telah terkomputerisasi hanya akan melaksanakan ketentuan dan
aturan main sesuai dengan fungsi dari sistem itu sendiri. Namun,

UIN Syarif Hidayatullah Jakarta


151

kelemahan tentu bukan berarti tidak ada. Pengelolaan sistem E-Voting


ini sangat bergantung dari pengelola dan pengguna sistem itu sendiri.
Sehingga keadilan yang akan terbangun merupakan kolaborasi antara
sistem dan pengguna itu sendiri.

2. Integrasi Data Mahasiswa menggunakan Web Service


Integrasi data-data yang berkaitan dengan Pemilihan Umum Mahasiswa
yang dilakukan menggunakan sistem E-Voting dapat berjalan dengan baik
menggunakan web service. Adanya integrasi data menggunakan web
service mengakibatkan sistem secara otomatis akan mendapatkan data yang
bersumber dari PUSTIPANDA.

UIN Syarif Hidayatullah Jakarta


152

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.

UIN Syarif Hidayatullah Jakarta


153

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.

UIN Syarif Hidayatullah Jakarta


154

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

Abeysinghe, Samisa. 2008. RESTful PHP Web Services. Birmingham: Packt.

Al Anie, Hayam K. et.al. 2011. E-Voting Protocol Based On Public Key


Cryptography. Diperoleh dari
http://airccse.org/journal/nsa/0711ijnsa08.pdf

Ariyus, Doni. 2006. Computer Security. Yogyakarta: Andi.

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.

Endrei, Mark. 2004. Patterns: Service-Oriented Architecture and Web Services.


Diperoleh dari http://www.redbooks.ibm.com/redbooks/pdfs/sg246303.pdf

Goldsmith, Ben. 2011. Electronic Voting & Counting Technologies: A Guide to


Conducting Feasibilty Studies. Washington, D.C.: IFES.

Handoyo, Abdurrosyid Broto. 2012. Sistem Pengamanan Data Pemilihan Umum


E-Voting dengan Menggunakan Algoritma SHA-1. Diperoleh dari
http://informatika.stei.itb.ac.id/~rinaldi.munir/Kriptografi/2012-
2013/Makalah2-2013/Makalah2Kripto2013-046.pdf

Htet Ne Oo dan Aye Moe Aung. 2013. Implementation and Analysis of Secure
Electronic Voting System. Diperoleh dari http://www.ijstr.org/final-

UIN Syarif Hidayatullah Jakarta


155

print/mar2013/Implementation-And-Analysis-Of-Secure-Electronic-
Voting-System.pdf

http://laravel.com/docs/5.0 diakses pada tanggal 25 Februari 2016 pukul 23.30


WIB.

JSON (Javascript Object Notation). Diperoleh dari http://www.tutorialspoint.com

Kurniawan, Yusuf. 2004. Kriptografi : Keamanan Internet dan Jaringan


Komunikasi. Bandung: Informatika.

Lucky. 2008. XML Web Service. Jakarta: Jasakom.

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

Olusola, Okediran Oladotun et.al. 2012. A Review of The Underlying Concepts of


Electronic Voting. Diperoleh dari
http://www.iiste.org/Journals/index.php/IKM/article/download/1088/1008

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

Prasetyo, Hendro Joko. 2011. Implementasi Service Oriented Architecture (SOA)


Menggunakan Teknologi Web Services. Kalimantan Tengah : Universitas
Widya Dharma.

Priyono, Edi et.al. 2010. E-Voting: Urgensi Transparansi dan Akuntabilitas.


Diperolah dari http://repository.upnyk.ac.id/421/1/E-7_E-
VOTING_URGENSI_TRANSPARANSI_DAN_AKUNTABILITAS.pdf

Rahmadian, Tika et.al. - . Desain dan Implementasi Sistem Keamanan E-Voting


Dengan Jaminan Confidentiality Data. Diperoleh dari
http://filkom.ub.ac.id/doro/download/article/file/DR00092201406

UIN Syarif Hidayatullah Jakarta


156

Rosa A. S dan M. Shalahuddin. 2011. Rekayasa Perangkat Lunak (Terstruktur dan


Berorientasi Objek). Bandung: Modula.

Simarmata, Janner. 2010. Rekayasa Perangkat Lunak. Yogyakarta: Andi.

Sommerville, Ian. 2011. Software Engineering (Ninth Edition). USA: Pearson


Education.

UIN Syarif Hidayatullah Jakarta

Anda mungkin juga menyukai