simulasi e-voting pemilu untuk penyandang tuna...
TRANSCRIPT
SIMULASI E-VOTING PEMILU
UNTUK PENYANDANG TUNA NETRA
MENGGUNAKAN GOOGLE CLOUD SPEECH
BERBASIS RASPBERRY PI
(UJI COBA YAYASAN PEDULI KESEJAHTERAAN TUNA
NETRA)
Oleh : Kelvin
NIM : 1115091000039
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
JAKARTA 2019 / 1440 H
ii
SIMULASI E-VOTING PEMILU
UNTUK PENYANDANG TUNA NETRA
MENGGUNAKAN GOOGLE CLOUD SPEECH
BERBASIS RASPBERRY PI
(UJI COBA YAYASAN PEDULI KESEJAHTERAAN TUNA
NETRA)
SKRIPSI
Sebagai Salah Satu Syarat Untuk Memperoleh Gelar
Sarjana Komputer Fakultas Sains dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta
Oleh : Kelvin
NIM : 1115091000039
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
JAKARTA 2019 / 1440 H
iii
LEMBAR PERSETUJUAN
iv
PENGESAHAN UJIAN
v
PERNYATAAN ORISINALITAS
vi
PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI
Sebagai civitas akademik UIN Syarif Hidayatullah Jakarta, saya yang bertanda
tangan dibawah ini:
Nama : Kelvin
NIM : 1115091000039
Program Studi : Teknik Informatika
Fakultas : Sains Dan Teknologi
Jenis Karya : Skripsi
demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada
UIN Syarif Hidayatullah Jakarta Hak Bebas Royalti Non Eksklusif (Non-exclusive
Royalty Free Right) atas karya ilmiah saya yang berjudul:
SIMULASI E-VOTING PEMILU
UNTUK PENYANDANG TUNA NETRA
MENGGUNAKAN GOOGLE CLOUD SPEECH
BERBASIS RASPBERRY PI
(UJI COBA YAYASAN PEDULI KESEJAHTERAAN TUNA NETRA)
beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti Non
Eksklusif ini UIN Syarif Hidayatullah Jakarta berhak menyimpan, mengalih
media/formatkan, mengelola dalam bentuk pangkalan data (database), merawat dan
mempublikasikan tugas akhir saya selama tetap mencantumkan nama saya sebagai
penulis/pencipta dan sebagai pemilik Hak.
Demikian pernyataan ini saya buat dengan sebenarnya.
Dibuat di : Jakarta
Pada tanggal : Juli 2019
Yang menyatakan
(Kelvin)
vii
KATA PENGANTAR
Assalamu’alaikum Wr. Wb.
Puji syukur senantiasa dipanjatkan kehadirat Allah SWT yang telah
melimpahkan rahmat, hidayah serta nikmat-Nya sehingga penyusunan skripsi ini
dapat diselesaikan. Sholawat dan salam senantiasa dihaturkan kepada junjungan
kita baginda Nabi Muhammad SAW beserta keluarganya, para sahabatnya serta
umatnya hingga akhir zaman. Penulisan skripsi ini mengambil tema dengan judul:
SIMULASI E-VOTING PEMILU
UNTUK PENYANDANG TUNA NETRA
MENGGUNAKAN GOOGLE CLOUD SPEECH
BERBASIS RASPBERRY PI
(UJI COBA YAYASAN PEDULI KESEJAHTERAAN TUNA NETRA)
Penyusunan skripsi ini adalah salah satu syarat untuk memperoleh gelar Sarjana
Komputer (S.Kom) pada program studi Teknik Informatika, Fakultas Sains dan
Teknologi, Universitas Islam Negeri Syarif Hidayatullah Jakarta. Adapun bahan
penulisan skripsi ini adalah berdasarkan hasil penelitian, pengembangan aplikasi,
kuesioner, wawancara dan beberapa sumber literatur.
Dalam penyusunan skripsi ini, telah banyak bimbingan dan bantuan yang
didapatkan dari berbagai pihak sehingga skripsi ini dapat berjalan dengan lancar.
Oleh karena itu, penulis ingin mengucapkan banyak terima kasih kepada :
1. Ibu Prof. Dr. Lily Surraya Eka Putri, M. Env. Stud selaku dekan Fakultas
Sains dan Teknologi.
2. Bapak Imam Marzuki Shofi, MT. selaku Ketua Program Studi Teknik
Informatika.
3. Ibu Nenny Anggraini, MT. dan Bapak Nashrul Hakiem, PhD. selaku Dosen
Pembimbing I dan II yang senantiasa meluangkan waktu dan memberikan
bimbingan, bantuan, semangat dan motivasi dalam menyelesaikan skripsi
ini.
viii
4. Orang Tua tercinta, yang senantiasa memberikan dukungan moril dan
materiil. Tiada tutur kata selain terima kasih kepada kalian. Terima kasih,
Alhamdulillah.
5. Seluruh dosen dan staff UIN Jakarta, khususnya Fakultas Sains dan
Teknologi yang telah memberikan ilmu dan pengalaman yang berharga.
6. Seluruh sahabat-sahabat terbaik dari Teknik Informatika angkatan 2015,
khususnya teman-teman seperjuangan di Himpunan Mahasiswa Teknik
Informatika (HIMTI), semua anak kelas TI B, teman-teman asisten lab dan
komunitas embedded system, serta teman-teman KKN yang tidak bisa
disebutkan satu persatu, ayo lulus!
7. Seluruh pihak yang tidak dapat disebutkan satu persatu yang secara
langsung maupun tidak langsung telah membantu dalam menyelesaikan
skripsi ini.
Penulisan skripsi ini masih jauh dari kata sempurna. Untuk itu,
sangat diperlukan kritik dan saran yang membangun bagi penulis. Akhir
kata, semoga laporan skripsi ini dapat bermanfaat bagi penulis dan orang
lain.
Wassalamualaikum, Wr. Wb.
Jakarta, 2019
Penulis
Kelvin
1115091000039
ix
Nama : Kelvin
Program Studi : Teknik Informatika
Judul : Simulasi E-Voting Pemilu Untuk Penyandang Tuna Netra
dengan Menggunakan Google Cloud Speech berbasis
Raspberry Pi (Uji Coba Yayasan Peduli Kesejahteraan
Tuna Netra)
ABSTRAK
Indonesia merupakan negara Demokrasi dimana proses pengambilan keputusan
bersama adalah melalui voting. Walaupun voting merupakan hak seluruh rakyat
Indonesia, ternyata masih terdapat kelompok masyarakat yang kesulitan untuk
menggunakan hak pilihnya yaitu kelompok disabilitas terutama tuna netra. Selain
masalah aksesibilitas untuk penyandang tuna netra pelaksanaan pemilihan dengan
metode konvensional dinilai masih memiliki banyak kekurangan. Untuk itu
dibutuhkan tambahan pada sistem pemungutan suara elektronik sehingga mampu
memfasilitasi para pemilih dengan keterbatasan fisik pada penglihatannya sehingga
mandiri. Dari banyak penelitian tentang sistem e-voting dan alat bantu untuk tuna
netra belum terdapat penelitian yang mengembangkan sebuah sistem untuk
membantu tuna netra dalam proses pemilihan. Dalam penelitian ini dikembangkan
sebuah sistem e-voting yang dapat digunakan oleh penyandang tuna netra dimana
sistem dapat mengenali perintah dan memberikan respon kepada pengguna melalui
suara. Peneliti berhasil membuat sistem e-voting berbasis Raspberry Pi sebagai
media pemrosesan serta mengimplementasikan teknologi Google Cloud Speech.
Sistem teruji aman dari serangan XSS, CSRF dan SQL Injection. Peneliti juga
mendapatkan metrik Command Success Rate (CSR) mencapai 83.3% dan Real
Time Factor (RTF) sebesar 1.08. (119 Halaman) Kata Kunci : E-Voting Sistem, Tuna Netra, Raspberry Pi, Internet of Things, Real
Time Factor, Command Success Rate, Security
Daftar Pustaka : 13 Jurnal, 8 Buku.
Jumlah Halaman : 119 halaman + xxiii halaman
x
Name : Kelvin
Study Program : Informatic Engineering
Title : Presidential Election Simulation Using E-Voting for Blind
People using Google Cloud Speech Based on Raspberry Pi
(Study Case Yayasan Peduli Kesejahteraan Tuna Netra)
ABSTRACT
Indonesia is one of many country that practice democracy as form of people's
sovereignty. The method used for this joint decision making is through voting. Even
though voting is the rights of all Indonesian people, there’s a group of people in
society that found it difficult to use their rights, they are disabled people especially
blind people. Other than accessibility for blind people, traditional voting also have
a lot of shortcoming. To solve this problem electronic voting system is needed to
facilitate and help disabled people so this people can be independent. Even though
there are already research related to e-voting system and assistance device for blind
people there not yet available e-voting system to help blind people. In this research
author successfully developed e-voting system using Google Cloud Speech API on
Raspberry Pi that can recognize voter instruction and system is tested secure against
XSS, CSRF and SQL Injection. Author also successfully get results of Command
Success Rate (CSR) up to 83.3% and Real Time Factor (RTF) 1.08.
(119 Page) Keyword : E-Voting Sistem, Blind people, Raspberry Pi, Internet of Things, Real
Time Factor, Command Success Rate, Security
Reference : 13 Journal, 8 Book.
Total Page : 119 page + xiv page
xi
DAFTAR ISI
LEMBAR PERSETUJUAN ................................................................................ iii
PENGESAHAN UJIAN ....................................................................................... iv
PERNYATAAN ORISINALITAS ....................................................................... v
PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI .............................. vi
KATA PENGANTAR ........................................................................................ vii
ABSTRAK ............................................................................................................. ix
ABSTRACT ............................................................................................................ x
DAFTAR ISI ......................................................................................................... xi
DAFTAR GAMBAR .......................................................................................... xiv
DAFTAR TABEL ............................................................................................. xvii
BAB I PENDAHULUAN ...................................................................................... 1 1.1 Latar Belakang ............................................................................................. 1 1.2 Rumusan Masalah ........................................................................................ 5 1.3 Batasan Masalah .......................................................................................... 5
1.3.1 Metode ..................................................................................................... 5 1.3.2 Proses ....................................................................................................... 6 1.3.3 Tools ........................................................................................................ 6
1.4 Tujuan Penelitian ......................................................................................... 6 1.5 Manfaat Penelitian ....................................................................................... 6
1.5.1 Bagi Penulis ....................................................................................... 6 1.5.2 Bagi Masyarakat ................................................................................ 7
1.6 Metodologi Penelitian .................................................................................. 7 1.6.1. Metode Pengumpulan Data ................................................................ 7 1.6.2. Metode Pengembangan Sistem .......................................................... 7
1.7 Sistematika Penulisan .................................................................................. 8
BAB II LANDASAN TEORI ................................................................................ 9 2.1 Definisi Simulasi ........................................................................................... 9 2.2 Pengertian Sistem ......................................................................................... 9 2.3 Sistem E-Voting .......................................................................................... 11 2.4 Tuna Netra .................................................................................................. 12 2.5 Internet of Things ....................................................................................... 14 2.6 Google Cloud Platform ............................................................................... 14 2.7 Google Cloud Speech API .......................................................................... 15 2.8 Google Stackdriver ...................................................................................... 16 2.9 Text to Speech ............................................................................................. 17 2.10 Real Time Factor ....................................................................................... 19 2.11 Command Success Rate & False Acceptance Rate ................................. 19 2.12 Espeak ....................................................................................................... 20
xii
2.13 Python ....................................................................................................... 20 2.14 Flask .......................................................................................................... 21 2.15 JSON Web Token ..................................................................................... 21 2.16 XSS (Cross Site Scripting) ........................................................................ 23 2.17 CSRF (Cross Site Request Forgery) ......................................................... 23 2.18 SQL Injection ............................................................................................ 25 2.19 Raspberry Pi .............................................................................................. 25
2.19.1 Raspberry Pi Model 3 .......................................................................... 27 2.19.2 GPIO Raspberry Pi .............................................................................. 28
2.20 Wapiti ........................................................................................................ 29 2.21 Nikto .......................................................................................................... 32 2.22 Postman ..................................................................................................... 33 2.23 Metode Pengumpulan Data ..................................................................... 34
2.23.1 Studi Pustaka ....................................................................................... 34 2.23.2 Wawancara .......................................................................................... 34 2.23.3 Observasi ............................................................................................. 35
2.24 Prototipe .................................................................................................... 35 2.24.1 Karakteristik Metode Prototyping ....................................................... 36 2.24.2 Jenis-jenis Prototyping ........................................................................ 36 2.24.3 Kelebihan Kekurangan Prototyping .................................................... 37
2.25 Unifield Modeling Language ................................................................... 37 2.25.1 Class Diagram ..................................................................................... 37 2.25.2 Use Case Diagram .............................................................................. 38 2.25.3 Activity Diagram ................................................................................. 40 2.25.4 Sequence Diagram .............................................................................. 41
2.26 Black Box Testing ..................................................................................... 42
BAB III METODOLOGI PENELITIAN .......................................................... 44 3.1 Metode Pengumpulan Data ....................................................................... 44
3.1.1 Data Primer ............................................................................................ 44 3.1.2 Data Sekunder ....................................................................................... 45
3.2 Metode Pengembangan Sistem ................................................................. 45 3.2.1 Tahap Komunikasi ................................................................................ 45 3.2.2 Tahap Pengumpulan Kebutuhan ............................................................ 46 3.2.3 Tahap Mengkodekan Sistem ................................................................. 46 3.2.4 Tahap Pengujian Sistem ........................................................................ 46
3.3 Kerangka Berpikir ..................................................................................... 47
BAB IV ANALISIS, PERANCANGAN SISTEM, IMPLEMENTASI DAN PENGUJIAN SISTEM ........................................................................................ 49
4.1 Tahap Komunikasi ..................................................................................... 49 4.2 Tahap Pengumpulan Kebutuhan ............................................................. 51
4.2.1 Mendefinisikan Ruang Lingkup ............................................................ 51 4.2.2 Analisa Kebutuhan Hardware ............................................................... 51 4.2.3 Analisa Kebutuhan Software dan Tools ................................................ 52
xiii
4.2.4 Analisa Sistem Berjalan ........................................................................ 52 4.2.5 Analisa Sistem Usulan ........................................................................... 53
4.3 Tahap Membangun Sistem ....................................................................... 58 4.3.1 Pembuatan Flowchart ............................................................................ 58 4.3.2 Pembuatan Use Case ............................................................................. 61 4.3.3 Pembuatan Activity Diagram ................................................................. 65 4.3.4 Pembuatan Sequence Diagram .............................................................. 68 4.3.5 Pembuatan Class Diagram .................................................................... 70 4.3.6 Pembuatan Inteface ............................................................................... 71 4.3.7 Pembuatan Rancangan Keamanan ........................................................ 75
4.4 Tahap Implementasi Sistem ...................................................................... 75 4.4.1 Pemprograman Alat ............................................................................... 75 4.4.2 Pemprograman Web Admin .................................................................. 79 4.4.3 Pemprograman Web Live Count ........................................................... 84
4.5 Tahap Pengujian Sistem ............................................................................ 86 4.5.1 Black Box Testing ................................................................................. 86 4.5.2 User Acceptance Test ............................................................................ 88
BAB V HASIL DAN PEMBAHASAN ............................................................... 92 5.1 Hasil ............................................................................................................. 92
5.1.1 Web Admin ........................................................................................... 92 5.1.2 Web Live Count .................................................................................... 94 5.1.3 Raspberry Pi .......................................................................................... 95
5.2 Pengujian .................................................................................................... 95 5.2.1 Pengujian Beban CPU, Disk dan Network pada Server ........................ 95 5.2.2 Pengujian Beban CPU dan Memory pada Client .................................. 98 5.2.3 Pengujian Real Time Factor .................................................................. 99 5.2.4 Pengujian Command Success Rate ...................................................... 101 5.2.5 Pengujian Keamanan ........................................................................... 102
5.3 Pembahasan .............................................................................................. 107
BAB VI KESIMPULAN DAN SARAN ........................................................... 110 6.1 Kesimpulan ............................................................................................... 110 6.2 Saran ......................................................................................................... 110
DAFTAR PUSTAKA ......................................................................................... 111
LAMPIRAN ....................................................................................................... 117
xiv
DAFTAR GAMBAR
Gambar 1.1 Infografik Negara dengan Sistem E-Voting ........................................ 3
Gambar 2.1 Definisi IoT ........................................................................................ 14
Gambar 2.2 Logo Stackdriver ................................................................................ 16
Gambar 2.3 Proses konversi Teks menjadi ucapan secara umum ........................ 18
Gambar 2.4 Struktur JSON Web Token ................................................................ 22
Gambar 2.5 JWT Header ....................................................................................... 22
Gambar 2.6 JWT Payload ...................................................................................... 22
Gambar 2.7 JWT signature .................................................................................... 23
Gambar 2.8 Cross Site Request Forgery ................................................................ 24
Gambar 2.9 SQL Injection ..................................................................................... 25
Gambar 2.10 Raspberry Pi ..................................................................................... 26
Gambar 2.11 Perbedaan Model ............................................................................. 26
Gambar 2.12 Raspberry Pi 3 Model B ................................................................... 28
Gambar 2.13 Tampilan pin pada Raspberry Pi ...................................................... 28
Gambar 2.14 Keterangan Pin pada Raspberry Pi .................................................. 29
Gambar 2.15 Raspberry Pi 3 Model B 40 Pin ....................................................... 29
Gambar 2.16 Logo Wapiti ..................................................................................... 30
Gambar 2.17 Postman ............................................................................................ 34
Gambar 3.1 Kerangka Berpikir .............................................................................. 48
Gambar 4.1 Skema Alur Sistem Berjalan .............................................................. 53
Gambar 4.2 Sistem usulan ..................................................................................... 54
Gambar 4.3 Proses interaksi pengguna dengan web admin ................................... 55
Gambar 4.4 Proses tambah, hapus, ubah dan tampilkan informasi di web admin 56
Gambar 4.5 Proses pengguna pada raspberry pi .................................................... 56
Gambar 4.6 Proses dari microphone ke Google Cloud Speech ............................. 56
Gambar 4.7 Proses dari Google Cloud Speech API ke Web Admin API ............. 57
Gambar 4.8 Proses dari server menuju ke pengguna ............................................. 57
Gambar 4.9 Proses interaksi pemilih dengan Web Live Count ............................. 57
Gambar 4.10 Flowchart Pemilih ............................................................................ 58
Gambar 4.11 Flowchart Administrator .................................................................. 59
Gambar 4.12 Flowchart Tampilan Live Count ...................................................... 60
Gambar 4.13 Use Case Diagram ............................................................................ 61
Gambar 4.14 Activity Diagram Pemilih ................................................................ 66
xv
Gambar 4.15 Activity Diagram Administrator ...................................................... 67
Gambar 4.16 Activity Live Count ......................................................................... 68
Gambar 4.17 Sequence Diagram Administrator .................................................... 69
Gambar 4.18 Sequence Diagram Pemilih .............................................................. 69
Gambar 4.19 Sequence Diagram Hasil .................................................................. 69
Gambar 4.4.20 Class Diagram ............................................................................... 70
Gambar 4.21 Halaman Login ................................................................................. 71
Gambar 4.22 Halaman Manajemen Kandidat ........................................................ 72
Gambar 4.23 Halaman Manajemen Pengguna ...................................................... 72
Gambar 4.24 Halaman Manajemen Kegiatan ........................................................ 73
Gambar 4.25 Halaman Hasil Pemilihan ................................................................ 74
Gambar 4.26 Halaman Live Count ........................................................................ 74
Gambar 4.27 Skema Alat ....................................................................................... 76
Gambar 4.28 Library yang diperlukan ................................................................... 77
Gambar 4.29 file listen.py ...................................................................................... 78
Gambar 4.30 file services.py ................................................................................. 79
Gambar 4.31 Alat yang telah dirangkai ................................................................. 79
Gambar 4.32 file Auth Services.py ........................................................................ 80
Gambar 4.33 file election services.py .................................................................... 81
Gambar 4.34 file candidate services.py ................................................................. 81
Gambar 4.35 file user services.py .......................................................................... 82
Gambar 4.36 file vote services.py ......................................................................... 83
Gambar 4.37 file models.py ................................................................................... 84
Gambar 4.38 file routes.py .................................................................................... 85
Gambar 4.39 file services.py ................................................................................. 85
Gambar 4.40 file index.html .................................................................................. 85
Gambar 5.1 Halaman Login Admin ...................................................................... 93
Gambar 5.2 Halaman Manajemen Pengguna ........................................................ 93
Gambar 5.3 Halaman Manajemen Kandidat .......................................................... 94
Gambar 5.4 Halaman Hasil Pemilihan .................................................................. 94
Gambar 5.5 Halaman Web Live Count ................................................................. 95
Gambar 5.6 Spesifikasi Server Compute Engine ................................................... 96
Gambar 5.7 Grafik Penggunaan CPU pada Server Compute Engine .................... 96
Gambar 5.8 Grafik Penggunaan Jaringan pada ..................................................... 97
xvi
Gambar 5.9 Grafik Penggunaan Disk pada Server Compute Engine .................... 98
Gambar 5.10 Tampilan Proses berjalan dengan HTOP ......................................... 99
Gambar 5.11 Rating SSL ..................................................................................... 103
Gambar 5.12 Validasi Sertifikat SSL Website Admin di Browser ...................... 103
Gambar 5.13 Validasi Sertifikat SSL Website Live Count di Browser .............. 103
Gambar 5.14 Autentikasi untuk mendapatkan JWT ............................................ 104
Gambar 5.15 Validasi dan Decode JWT ............................................................. 104
Gambar 5.16 Error yang dikirim oleh server ....................................................... 105
Gambar 5.17 Hasil Vulnerability Report Wapiti ................................................. 106
Gambar 5.18 Proses menscan website menggunakan CLI Nikto ........................ 106
Gambar 5.19 Informasi Host yang diambil melalui Nikto .................................. 106
Gambar 5.20 Hasil Audit menggunakan software Nikto ..................................... 106
xvii
DAFTAR TABEL
Tabel 2.2.1 Class Diagram ..................................................................................... 38
Tabel 2.2.2 Use Case Diagram .............................................................................. 39
Tabel 2.2.3 Activity Diagram ................................................................................ 40
Tabel 2.2.4 Sequence Diagram .............................................................................. 41
Tabel 2.2.5 Perbandingan Metode Testing ............................................................ 42
Tabel 4.1 Hasil Studi Literatur .............................................................................. 49
Tabel 4.2 Analisa Kebutuhan Hardware ................................................................ 51
Tabel 4.3 Use Case Login ...................................................................................... 62
Tabel 4.4 Use Case Manajemen Kandidat ............................................................. 62
Tabel 4.5 Use Case Manajemen Kegiatan Pemilu ................................................. 63
Tabel 4.6 Use Case Pungut Suara .......................................................................... 64
Tabel 4.7 Lihat Perhitungan ................................................................................... 65
Tabel 4.8 Black Box Testing Alat ......................................................................... 86
Tabel 4.9 Black Box Testing Web Admin ............................................................. 87
Tabel 4.10 Black Box Testing Web Live Count .................................................... 87
Tabel 4.11 User Acceptance Testing Muhammad Vinggang ................................ 89
Tabel 4.12 User Acceptance Testing Sukaesih ...................................................... 89
Tabel 4.13 User Acceptance Testing Muhammad Yoga ....................................... 91
Tabel 5.1 Penggunaan CPU pada Server ............................................................... 96
Tabel 5.2 Penggunaan Network pada Server ......................................................... 97
Tabel 5.3 Penggunaan Disk pada Server ............................................................... 97
Tabel 5.4 Penggunaan CPU dan Memory pada Raspberry Pi ............................... 99
Tabel 5.5 Hasil Pengujian Latensi (T1) ............................................................... 100
Tabel 5.6 Hasil Pengujian Latensi (T2) ............................................................... 100
Tabel 5.7 Hasil Pengujian Latensi (T3) ............................................................... 100
Tabel 5.8 Hasil Pengujian Tuna Netra (T1) ......................................................... 101
Tabel 5.9 Hasil Pengujian Tuna Netra (T2) ......................................................... 101
Tabel 5.10 Hasil Pengujian Tuna Netra (T3) ....................................................... 102
Tabel 5.11 Real Time Factor ............................................................................... 107
1
BAB I PENDAHULUAN
1.1 Latar Belakang
Indonesia merupakan negara demokrasi yang melaksanakan pemilihan
sebagai bentuk realisasi dari kedaulatan rakyat dan merupakan pilar utama negara
demokrasi dimana mementingkan kepentingan umum daripada kepentingan
individu. Metode yang digunakan untuk pengambilan keputusan bersama ini adalah
melalui voting. Voting merupakan kegiatan yang sangat menentukan pada setiap
perhelatan pemilihan, banyak varian kepentingan yang harus terakomodir di
dalamnya (Azhari R, 2005).
Walaupun voting merupakan hak seluruh rakyat Indonesia, ternyata selama
ini masih terdapat kelompok masyarakat yang kesulitan untuk menggunakan hak
pilihnya yaitu kelompok disabilitas. Dalam Undang–undang no 8 Tahun 2016
tentang Penyandang Disabilitas pada bab 1 ketentuan umum pasal 1 dijelaskan
Penyandang Disabilitas adalah setiap orang yang mengalami keterbatasan fisik,
intelektual, mental, dan/atau sensorik dalam jangka waktu lama yang dalam
berinteraksi dengan lingkungan dapat mengalami hambatan dan kesulitan untuk
berpartisipasi secara penuh dan efektif dengan warga negara lainnya berdasarkan
kesamaan hak (Menkumham, 2016).
Menurut KPU pada pekan pertama Februari 2017 menunjukkan total daftar
pemilih tetap (DPT) pada pilkada serentak tahun ini tercatat sebanyak 41.200.187
pemilih. Dari jumlah itu, ada sebanyak 50.063 pemilih disabilitas yang terdiri atas
18.190 tuna daksa, 8.132 tuna netra, 9.108 tuna rungu, 8.751 tuna grahita, dan 5.882
penyandang disabilitas lainnya.
Sedangkan menurut International Labour Organization (ILO)
menginfokan, ada sekitar 15% penyandang disabilitas dari seluruh manusia di
dunia. Jika pendudukan Indonesia berjumlah 237.641.326, diperkirakan ada
35.646.199 (15%) penyandang disabilitas. Pusdatin Kementerian Sosial
menginfokan, pada 2010 penyandang disabilitas berjumlah 11,580,117 (4,8%)
orang dengan rincian 3,474,035 (pada penglihatan), 3,010,830 (pada fisik),
2,547,626 (pada pendengaran), 1,389,614 (pada mental) dan 1,158,012
(penyandang disabilitas kronis).
UIN Syarif Hidayatullah Jakarta
2
Salah satu indera terpenting yang dimiliki oleh manusia adalah mata.
Dengan adanya indera ini manusia mampu melihat sekeliling dan berinteraksi.
Indera penglihatan merupakan satu sumber informasi yang vital bagi manusia.
Apabila manusia kehilangan indera ini maka manusia tidak dapat melihat keadaan
sekelilingnya, kondisi in yang sering disebut Tuna Netra (Meizani, Muid, &
Rismawan, 2015).
Bagi penyandang tuna netra mereka sering menemui kendala untuk
beraktivitas seperti orang normal lainnya, karena mereka tidak memiliki gambaran
visual yang diperlukan untuk berinteraksi dengan objek di sekelilingnya. Untuk
membantu mereka berinteraksi dengan objek di sekitar tuna netra dapat
menggunakan tongkat atau braille dan apabila berada dalam ruangan atau tempat
tertentu, mereka memerlukan orang lain untuk menuntun atau membantu mereka
berinteraksi.
Penyandang disabilitas terutama tuna netra sering kali kesulitan
berpartisipasi dalam kegiatan pemilu. Berdasarkan wawancara yang penulis
lakukan dengan Bapak Muhammad Vinggang selaku ketua YPKTN mengatakan
pada saat pelaksanaan sering kali terjadi kendala seperti kekurangan template suara,
tidak tersedianya template untuk pemilihan legislatif dan pemilih wajib
memerlukan pendamping.
Selain itu fakta menurut survei BAWASLU ditemukan paling tidak 2.366
TPS sulit dijangkau, kondisi TPS yang ditemukan itu berbatu, berundak-undak,
berumput tebal dan memiliki anak tangga. Kedua, sekitar 20.834 TPS tidak
memberikan alat bantu template huruf braille bagi penyandang tunanetra. Ketiga
template pemilihan dengan Braille tidak disediakan di semua tingkat pemilihan
karena terbatasnya anggaran dan Braille bersifat sekali pakai. Braille juga hanya
dapat dimengerti oleh tuna netra yang bersekolah, untuk mengantisipasi ini TPS
menyediakan metode pendampingan oleh petugas Kelompok Penyelenggara
Pemungutan Suara (KPPS) agar memberikan panduan penggunaan surat suara
(Indonesia, 2019).
Upaya yang dapat dilakukan untuk mengatasi permasalahan di atas adalah
dengan mengembangkan sebuah sistem pemungutan suara elektronik (e-voting).
Penerapan e-voting akan mampu mengotomatisasi proses manual, memfasilitasi
para pemilih dengan keterbatasan fisik sehingga mandiri dan mencegah kecurangan
UIN Syarif Hidayatullah Jakarta
3
dari pihak-pihak yang tidak bertanggung jawab (Badan Pengkajian dan Penerapan
Teknologi, n.d.).
Menurut tirto.id (2017) 31 dari 195 negara di dunia telah menerapkan sistem
e-voting untuk kegiatan pemilihan politik. Beberapa negara juga sedang dalam
masa percobaan electronic voting machine.
Gambar 1.1 Infografik Negara dengan Sistem E-Voting
(Suhendra, 2016)
Penerapan e-voting di Indonesia pertama kali berlangsung saat Pilkades di
Jembrana, Bali pada 2010. Pada 2013, BPPT melakukan uji coba dengan verifikasi
pemilih menggunakan e-KTP di Desa Mendoyo Dangin Tukad, Jembrana, untuk
dapat memilih cukup membawa e-KTP sebagai alat verifikasi pemilih lalu
mendapatkan kartu token dan dapat langsung memilih (Suhendra, 2016).
Sebelumnya telah terdapat penelitian yang membahas tentang sistem e-
voting seperti Pengembangan Aplikasi e-Voting berbasis web dengan
memanfaatkan SMS Gateway (Latifah, 2017). Sistem yang dikembangkan
memiliki user interface berbasis web dengan teknologi SMS. Sistem ini memilki
user interface yang baik dan koneksi cepat, tetapi pengembangan dalam skala besar
akan mahal karena masih bergantung pada teknologi SMS. Selain itu terdapat juga
penelitian yang mengembangkan sistem perhitungan suara cepat dengan RESTful
API Web Service (Rofiq & Susanto, 2017), walaupun sistem mendukung
perhitungan cepat tetapi penelitian masih berupa web services sehingga tidak
memiliki user interface.
Di era modern ini, perkembangan software dan hardware yang terkoneksi
melalui internet, mulailah muncul sebuah konsep baru yang dinamakan Internet of
UIN Syarif Hidayatullah Jakarta
4
Things (IoT). Raspberry Pi adalah salah satu contoh single board computer popular
dan terjangkau untuk implementasi Internet of Things. (Hidayat & Firmanda, 2015).
Telah terdapat beberapa penelitian terkait pengembangan alat bantu untuk
penyandang tuna netra dengan menggunakan raspberry pi seperti Smart Assistance
for Blind People Using Raspberry PI (Muthusenthil, 2018). Pada penelitian ini
dikembangkan sebuah asisten pintar dengan teknologi Optical Character
Recognition (OCR) dan Text to Speech (TTS) dengan menggunakan raspberry pi
sehingga tuna netra dapat berinteraksi dengan objek di sekelilingnya, namun alat
ini masih terbatas mendeteksi benda yang memiliki tulisan print out dan belum
dapat mengenali tulisan tangan. Speech Recognition and Voice Separation for the
Internet of Things (Mosse, 2018) Penelitian ini mengembangkan sebuah prototipe
yang dapat memproses 2 perintah secara bersamaan pada raspberry pi dan
terkoneksi dengan berbagai peralatan di dalam rumah. Alat ini terintegrasi dengan
Alexa Voice Services teknologi Automatic Speech Recognition buatan Amazon.
Dengan ini raspberry pi dapat menerima masukan suara dan mengendalikan
berbagai peralatan yang ada di rumah.
Google Cloud Platform merupakan sebuah produk layanan Cloud
Computing dari Google yang terdiri dari 4 jenis layanan yang kesemuanya
bertujuan untuk membuat sebuah proyek berbasis Cloud Computing / Komputasi
Berbasis Internet agar bisa dimanfaatkan dalam skala global. Adapun 4 jenis
layanan tersebut adalah Google AppEngine, Google BigQuery, Google Compute
Engine dan Google Cloud Storage (“Google Cloud Platform Benefits,” n.d.).
Seiring dengan perkembangan teknologi Automatic Speech Recognition,
perusahaan raksasa seperti Apple, Google, Amazon dan Microsoft berlomba lomba
mengembangkan teknologi ini agar bisa digunakan secara komersial ataupun
memudahkan interaksi manusia dengan komputer melalui suara (Këpuska &
Bohouta, 2017).
Dalam sebuah studi berjudul Comparing Speech Recognition Systems
(Microsoft API, Google API And CMU Sphinx)(Këpuska & Bohouta, 2017). Studi
ini membandingkan beberapa solusi automatic speech recognition populer yaitu
Microsoft Speech API, Google Speech API dan CMU Sphinx. Hasil dari studi
tersebut menunjukkan bahwa CMU Sphinx memiliki Word Error Rate sebesar 37%,
Google Speech API sebesar 9% dan Microsoft Speech API sebesar 18%. Dapat
UIN Syarif Hidayatullah Jakarta
5
disimpulkan bahwa automatic speech recognition buatan Google memiliki hasil
yang paling akurat.
Dari banyak penelitian tentang sistem e-voting dan alat bantu untuk tuna
netra belum terdapat penelitian yang mengembangkan sebuah sistem e-voting untuk
membantu tuna netra dalam proses pemilihan, menggunakan raspberry pi sebagai
media pemrosesan dan mengombinasikannya dengan teknologi Google Cloud
Speech. Untuk itu penulis mencoba membuat sistem e-voting menggunakan Google
Cloud Speech berbasis Raspberry Pi untuk penyandang tuna netra yang bertujuan
membantu menggunakan hak suaranya.
Berdasarkan uraian latar belakang di atas yang telah dijelaskan, penulis
ingin melakukan penelitian yang berjudul “Simulasi Sistem Pemungutan Suara
Elektronik (e-voting) Menggunakan Google Cloud Speech Berbasis Raspberry Pi
Untuk Penyandang Tuna Netra (Uji Coba Yayasan Peduli Kesejahteraan Tuna
Netra)”. Kelebihan sistem yang diusulkan adalah tuna netra dapat berinteraksi
dengan sistem tanpa perlu indera visual cukup menggunakan suara. Selain itu
sistem ini memiliki fitur manajemen kegiatan pemungutan suara mulai dari
registrasi pemilih hingga perhitungannya secara otomatis dan real-time melalui web
application. Keamanan data juga dapat dijamin karena menggunakan teknologi
Google Cloud. Penelitian ini mengimplementasikan ilmu embedded system,
software engineering guna memenuhi kebutuhan dalam menyelesaikan
permasalahan yang ada.
1.2 Rumusan Masalah
Berdasarkan uraian permasalahan pada latar belakang di atas, maka
rumusan masalah pada makalah ini adalah bagaimana merancang dan menerapkan
simulasi e-voting untuk penyandang Tuna Netra Menggunakan Google Cloud
Speech Berbasis Raspberry PI (Uji Coba Yayasan Peduli Kesejahteraan Tuna
Netra) 1.3 Batasan Masalah
Dalam penelitian ini, peneliti melakukan pembatasan masalah terhadap
masalah penelitian yang akan dilakukan, yaitu:
1.3.1 Metode
Metode pengumpulan data yang digunakan dalam penelitian ini adalah studi
literatur, wawancara dan studi pustaka. Metode pengujian yang dilakukan adalah
UIN Syarif Hidayatullah Jakarta
6
black-box, benchmarking dan pengujian real time factor serta command
recognition rate.
1.3.2 Proses
Berikut ini adalah proses yang terdapat pada makalah, yaitu:
1. Uji Coba Penelitian dilakukan terhadap penyandang disabilitas tuna
netra, tepatnya pada Yayasan Peduli Kesejahteraan Tuna Netra.
2. Pemilihan yang dilakukan adalah Pemilihan Presiden
3. Keamanan hanya berfokus pada aspek integrity dan authentication
1.3.3 Tools
Berikut ini adalah tools yang penulis pergunakan, yaitu:
1. Sistem akan dibuat menggunakan bahasa pemprograman Python dan
Javascript
2. Penelitian ini menggunakan Google Cloud sebagai tempat
penyimpanan data
3. Desain sistem digunakan dalam perancangan aplikasi penerjemah
adalah Unified Modelling Language (UML) yang meliputi Usecase
Diagram, Activity Diagram, dan Sequence Diagram.
4. Pada penelitian ini tidak membahas mengenai pemodelan speech
recognition
1.4 Tujuan Penelitian
Tujuan yang ingin dicapai oleh penulis dari penelitian ini adalah:
1. Membuat sistem pemungutan suara yang dapat membantu tuna netra
menggunakan hak suaranya.
2. Menyediakan sistem pemungutan suara elektronik berbasis
raspberry pi.
3. Melakukan pengembangan teknologi tools speaker recognition dari
Google Cloud
1.5 Manfaat Penelitian
Adapun manfaat yang didapatkan adalah sebagai berikut:
1.5.1 Bagi Penulis
1. Menerapkan ilmu-ilmu yang sudah didapat saat perkuliahan.
UIN Syarif Hidayatullah Jakarta
7
2. Membandingkan teori yang telah didapat saat kuliah dengan
masalah yang sebenarnya.
3. Mengamati teknik-teknik yang diterapkan di lapangan dalam
bidang Teknik Informatika.
1.5.2 Bagi Masyarakat
1. Dapat menambah hasil temuan ilmiah, informasi, dan wawasan
mengenai sistem e-voting dengan teknologi speech recognition.
2. Dapat memberikan manfaat dan kemudahan untuk masyarakat
difabel khususnya tuna netra dalam melakukan pemungutan
suara.
1.6 Metodologi Penelitian
Metodologi penelitian merupakan tahapan-tahapan yang dilalui oleh
peneliti dari perumusan masalah sampai pada kesimpulan, yang membentuk sebuah
alur hingga sistematis. Metodologi ini digunakan sebagai pedoman peneliti dalam
pelaksanaan penelitian ini agar hasil yang dicapai tidak menyimpang dari tujuan.
Metodologi penelitian meliputi pengumpulan data hingga terbentuknya sebuah
perangkat lunak.
1.6.1. Metode Pengumpulan Data
Dalam pembuatan aplikasi pada penelitan ini, peneliti terlebih
dahulu melakukan pengumpulan data terhadap user maupun informasi
lainnya yang dinilai dibutuhkan dalam membuat aplikasi pada penelitian ini,
yaitu:
1. Studi Pustaka
2. Studi Lapangan dengan observasi dan wawancara
1.6.2. Metode Pengembangan Sistem
Untuk perancangan sistem, penulis menggunakan metode
prototyping. Terdapat 5 tahapan pada prototyping model, yaitu requirement
gathering, building prototype, evaluate prototype, build system and testing
(Sommerville, 2015).
UIN Syarif Hidayatullah Jakarta
8
1.7 Sistematika Penulisan
Sistematika yang dibuat pada tugas akhir ini akan dibagi dalam enam
bagian, yaitu:
BAB I PENDAHULUAN
Dalam bab 1 ini membahas mengenai latar belakang penulisan,
perumusan masalah, batasan masalah, tujuan dan manfaat, metode
dan sistematika penulisan yang merupakan gambaran keseluruhan
dari penulisan skripsi ini.
BAB II LANDASAN TEORI
Dalam bab 2 ini membahas mengenai berbagai teori yang
mendasari analisis permasalahan yang berhubungan dengan
pembahasan.
BAB III METODOLOGI PENELITIAN
Dalam bab 3 ini berisi pembahasan atau pemaparan metode yang
penulis pakai dalam pencarian data maupun perancangan sistem
yang dilakukan pada penelitian.
BAB IV ANALISIS, PERANCANGAN SISTEM,
IMPLEMENTASI DAN PENGUJIAN SISTEM
Dalam bab 4 ini membahas mengenai hasil dari analisis,
perancangan, implementasi dan pengujian sistem selama
penelitian ini berlangsung.
BAB V PENUTUP
Dalam bab 5 ini membahas mengenai hasil dan pembahasan
implementasi simulasi sistem pemungutan suara elektronik (e-
voting) menggunakan Google Cloud Speech berbasis Raspberry
Pi untuk penyandang tuna netra
BAB VI KESIMPULAN DAN SARAN
Dalam bab 6 ini kesimpulan dari hasil pembahasan seluruh bab
serta saran-saran yang sekiranya dapat diperhatikan serta
dipertimbangkan untuk pengembangan sistem dimasa mendatang.
9
BAB II LANDASAN TEORI
2.1 Definisi Simulasi
Simulasi merupakan suatu teknik meniru operasi-operasi atau proses-proses
yang terjadi dalam suatu sistem dengan bantuan perangkat komputer dan dilandasi
oleh beberapa asumsi tertentu sehingga sistem tersebut bisa dipelajari secara ilmiah
(Law & W David Kelton, 2000)
Menurut (Harrell, 2011) Simulasi adalah “sebagai cara untuk mereproduksi
kondisi dari situasi sebagaimana oleh model, untuk pembelajaran, percobaan atau
pelatihan”. Kemudian Harrel dalam bukunya tersebut menjelaskan bahwa simulasi
merupakan “replika dari sistem dinamik menggunakan model komputer dalam
rangka mengevaluasi dan meningkatkan kinerja sistem”. Sehingga simulasi dapat
diartikan juga sebagai cara pembelajaran bagaimana menyelesaikan suatu masalah
dari peristiwa yang sebenarnya terjadi dengan merancang suatu sistem proses atau
membuat model menggunakan komputer yang secara umum menggambarkan
kondisi dari situasi atau sifat-sifat karakteristik kunci dari kelakuan sistem fisik.
Dari dua pengertian diatas dapat disimpulkan bahwa simulasi adalah suatu
Teknik untuk menirukan operasi ataupun proses yang terjadi dalam suatu sistem
dari situasi sebagaimana guna pembelajaran, percobaan ataupun pelatihan.
2.2 Pengertian Sistem
Kata sistem pada dasarnya berasal dari bahasa Latin systema dan bahasa
Yunani sustema. Definisi tentang sistem sangat beragam, namun hampir semua
definisi merujuk pada sistem sebagai sekumpulan komponen atau elemen. Mc
Namara mendefinisikan sistem sebagai kumpulan dari bagian-bagian sistem atau
subsistem yang terintegrasi demi tujuan tertentu (Setyanto, Rasyidah, & Sulhan,
2017).
Menurut (Al-Jufri, 2011) suatu sistem memiliki karakteristik atau sifat-sifat
tertentu yaitu:
a. Komponen-komponen atau subsistem: Subsistem atau komponen-
komponen tersebut saling berinteraksi membentuk kesatuan dan
merupakan bagian dari sistem yang lebih besar atau supra sistem.
UIN Syarif Hidayatullah Jakarta
10
b. Lingkungan luar sistem: Lingkungan luar sistem yaitu apa pun diluar batas
dari sistem yang mempengaruhi operasi sistem. Lingkungan luar sistem
dapat menguntungkan ataupun merugikan. Lingkungan luar sistem yang
menguntungkan adalah energi dari sistem yang harus dipelihara,
sedangkan yang merugikan harus ditahan dan dikendalikan karena akan
mengganggu kelangsungan hidup dari sistem.
c. Penghubung sistem: Penghubung adalah media yang menghubungkan
antar sub sistem yang memungkinkan sumber-sumber daya mengalir dari
satu sub sistem ke subsistem lainnya. Keluaran dari sub sistem akan
menjadi masukan bagi sub sistem lainnya melalui penghubung. Dengan
adanya penghubung, maka sub sistem dapat berintegrasi dengan subsistem
lainnya dengan membentuk satu kesatuan.
d. Masukan sistem atau energi: Energi yang dimasukkan kedalam sistem
dapat berupa masukan perawatan dan masukan sinyal. Maintenance input
adalah energi yang dimasukkan agar sistem tersebut dapat beroperasi.
Signal input adalah energi yang diproses untuk mendapatkan keluaran.
Seperti contoh dalam sistem komputer, program adalah maintenance input
dan yang digunakan untuk mengoperasikan komputer dan data adalah
signal input untuk diolah menjadi informasi.
e. Keluaran sistem: keluaran adalah hasil dari energi yang diolah dan
diklasifikasikan menjadi keluaran yang berguna dan sisa pembuangan.
Keluaran bisa menjadi masukan untuk sub sistem yang lain atau kepada
supra sistem.
f. Pengolah sistem: suatu sistem dapat memiliki suatu bagian pengolah atau
sistem itu sendiri yang menjadi pengolahnya yaitu pengolah yang
mengubah masukan menjadi keluaran. Suatu sistem produksi mengolah
masukan berupa bahan baku dan bahan-bahan lain menjadi keluaran
berupa barang jadi.
g. Sasaran atau Tujuan Sistem: suatu sistem tentunya memiliki tujuan atau
sasaran. Sasaran atau tujuan sangat menentukan masukan yang dibutuhkan
sistem dan keluaran yang dihasilkan. Sistem dianggap berhasil jika
mengenai sasaran atau tujuannya
UIN Syarif Hidayatullah Jakarta
11
2.3 Sistem E-Voting
Menurut (Mohsen, 2005) E-Voting merujuk pada penggunaan komputer
atau komputerisasi dalam proses pemungutan suara untuk memberikan suara
dalam sebuah pemilihan (Prasetyawan, 2018). Sedangkan menurut (Ali, 2011) E-
Voting adalah proses pemilihan umum yang memungkinkan pemilih untuk
mencatatkan pilihannya secara rahasia melalui media elektronik yang teramankan
(Prasetyawan, 2018). Berdasarkan dua pendapat diatas dapat ditarik pengertian
bahwa sistem e-voting adalah proses pemungutan suara secara elektronik
menggunakan komputer yang dicatatkan secara rahasia dan teramankan.
Menurut (Sebastien & Herve, 2011), tujuan dari sistem keamanan e-voting
adalah untuk menjamin privasi atau kerahasiaan pemilih serta keakuratan pilihan.
Keamanan sistem ini memiliki beberapa kriteria, yaitu :
a. Eligibility : Hanya pemilih yang terdaftar yang dapat melakukan
pemilihan.
b. Unreusability : Setiap pemilih hanya dapat memilih satu kali.
c. Anonymity : Pilihan pemilih dirahasiakan.
d. Accuracy : Pilihan tidak bisa diubah dan dihapus selama atau setelah
pemilihan
e. Fairness : Perhitungan suara sebelum pemilihan ditutup tidak bisa
dilakukan.
f. Vote & Go : Pemilih hanya dapat melakukan pemilihan saja.
g. Public Verifiability : Semua orang dapat melakukan pengecekan pada
berjalannya proses pemilihan.
Menurut Badan Pengkajian dan Penerapan Teknologi (BPPT, 2013),
Pelaksanaan pemilihan umum pada hakikatnya dapat dibagi menjadi dua cara
yakni cara konvensional yang berbasis kertas dan e-voting yang berbasis pada
teknologi online. E-voting berbasis online dapat dilaksanakan dalam beberapa
metode, yaitu
a. Sistem Pemindaian Optik : Sistem ini dilakukan dengan cara kertas
diberikan kepada para pemilih kemudian hasilnya direkam dan dihitung
secara elektronik. Metode ini harus menyediakan surat suara yang
dapat dipindai dengan optik dan membutuhkan rancangan yang rumit dan
biaya mahal.
UIN Syarif Hidayatullah Jakarta
12
b. Sistem Direct Recording Electronic (DRE) : Metode ini para pemilih
memberikan hak suaranya melalui komputer atau layar sentuh atau
panel/papan suara elektronik. Kemudian hasil pemungutan suara disimpan
di dalam memori di TPS dan dapat dikirimkan baik melalui jaringan
maupun offline ke pusat penghitungan suara nasional.
c. Internet voting : Pemilih dapat memberikan hak suaranya dari mana
saja secara online melalui komputer yang terhubung dengan jaringan
di mana pemungutan suara di TPS langsung direkam secara terpusat.
Metode ini membutuhkan jaringan komunikasi data yang berpita lebar dan
keamanan yang handal.
Menurut (Riera & Brown, 2003) tujuan utama penerapan e-voting
diharapkan dapat mengatasi permasalahan pemilu konvensional(Prasetyawan,
2018). Riera dan Brown menawarkan manfaat yang akan diperoleh dalam
penerapan e-voting, sebagai berikut:
a. Mempercepat perhitungan suara
b. Hasil perhitungan lebih akurat
c. Menghemat bahan cetakan kertas
2.4 Tuna Netra
Dalam penggunaan bahasa sehari- hari, kadang- kadang terjadi penyamaan
antara suatu keadaan atau suatu kondisi seseorang, seperti dalam kata menunjukkan
orang yang tunanetra buta, padahal keduanya itu adalah berbeda. Kata “tunanetra”
berasal dari kata “tuna” yang artinya rusak dan kata “netra” yang artinya adalah
mata, jadi kata tunanetra adalah rusak penglihatan, dan anak tunanetra adalah anak
yang rusak penglihatannya. Sedangkan orang yang buta adalah orang yang rusak
penglihatannya secara total. Dengan kata lain orang yang tunanetra belum tentu
mengalami kebutaan total tetapi orang yang buta sudah pasti tunanetra (Pradopo,
1977).
Penyandang tunanetra adalah seseorang yang karena sesuatu hal mengalami
disfungsi visual atau kondisi penglihatan yang tidak berfungsi sebagai mana
mestinya. Seseorang dikatakan tunanetra apabila menggunakan kemampuan
perabaan dan pendengaran sebagai saluran utama dalam belajar atau kegiatan yang
lainnya dan ada juga mengatakan tunanetra adalah kondisi dari indera penglihatan
UIN Syarif Hidayatullah Jakarta
13
yang tidak sempurna yang tidak dapat berfungsi sebagai orang normal (Pradopo,
1977).
Menurut WHO istilah tunanetra terbagi kedalam 2 bagian atau kategori
yakni blind atau yang disebut dengan buta dan low vision atau penglihatannya yang
kurang. Istilah buta itu sendiri menggambarkan kondisi penglihatan yang tidak
dapat diandalkan lagi meskipun dengan alat bantu, sehingga tergantung dengan
fungsi indera yang lain, sedangkan penglihatan yang kurang menggambarkan
kondisi penglihatan dengan ketajaman yang kurang, daya tahan rendah mempunyai
kesulitan dengan tugas- tugas yang utama yang menuntut fungsi penglihatan, tetapi
masih dapat membantu dengan bantuan alat khusus, namun tetap terbatas.
Klasifikasi ketunanetraan secara garis besar yaitu dibagi menjadi 2 antara
lain:
1. Terjadinya kecacatan, yakni sejak kapan anak menderita tunanetra yang
dapat digolongkan sebagai berikut :
a. Penderita tunanetra sebelum dan sejak lahir, yakni mereka yang sama
sekali tidak memiliki pengalaman melihat.
b. Penderita tunanetra sesudah lahir atau pada usia kecil, yaitu mereka
yang sudah memiliki kesan-kesan serta penglihatan visual, tetapi belum
kuat dan mudah terlupakan .
c. Penderita tunanetra pada usia sekolah atau pada masa remaja, kesan
pengalaman visual meninggalkan pengaruh yang mendalam terhadap
proses perkembangan pribadi.
d. Penderita tunanetra pada usia dewasa, yaitu mereka yang dengan segala
kesadaran masih mampu melakukan latihan-latihan penyesuaian diri.
e. Penderita tunanetra dalam usia lanjut, yaitu mereka yang sebagian besar
sudah sulit mengalami latihan-latihan penyesuaian diri.
2. Pembagian berdasarkan kemampuan daya lihat yaitu:
a. Penderita tunanetra ringan, yaitu mereka yang mempunyai kelainan
atau kekurangan daya penglihatan
b. Penderita tunanetra setengah berat, yaitu mereka yang mengalami
sebagian daya penglihatan
c. Penderita tunanetra berat, yaitu mereka yang sama sekali tidak dapat
melihat atau yang sering disebut adalah buta (Pradopo, 1977)
UIN Syarif Hidayatullah Jakarta
14
2.5 Internet of Things
Internet of Things adalah jaringan global komputer, sensor, dan aktuator
terhubung melalui protokol internet. Contoh yang paling mendasar adalah PC yang
berkomunikasi melalui internet dengan perangkat kecil, dimana perangkat memiliki
sensor yang terpasang (Pfister, 2011).
Gambar 2.1 Definisi IoT
(Pfister, 2011)
Teknologi ini diwujudkan dalam gambaran yang luas dari sebuah produk
jaringan, sistem, dan sensor, yang memanfaatkan daya komputasi, miniaturisasi
elektronik, dan interkoneksi jaringan untuk menawarkan kemampuan baru yang
sebelumnya tidak mungkin (Pfister, 2011).
Internet of Things mengacu pada perangkat keras dan perangkat lunak yang
digunakan untuk menyimpan, mengambil, data dan komunikasi teknologi, proses
yang meliputi sistem elektronik yang digunakan untuk komunikasi antara individu
atau kelompok. Konvergensi teknologi informasi dan komunikasi berlangsung di
tiga lapisan inovasi teknologi yaitu: the cloud, data and communication networks
and device (Vermessan & Friess, 2013).
2.6 Google Cloud Platform
Google Cloud Platform merupakan sebuah produk layanan Cloud
Computing dari Google yang terdiri dari 4 jenis layanan yang semuanya bertujuan
untuk membuat sebuah proyek berbasis Cloud Computing / Komputasi Berbasis
Internet agar bisa dimanfaatkan dalam skala global. Adapun 4 jenis layanan tersebut
adalah Google AppEngine, Google BigQuery, Google Compute Engine dan Google
Cloud Storage (“Google Cloud Platform Benefits,” n.d.).
Dengan menggunakan Google Cloud Platform sebagai media pemrosesan
data dan pengkonversi suara ke teks, Google Cloud Platform dari segi keamanan
UIN Syarif Hidayatullah Jakarta
15
data, dengan menggunakan layanan Google cloud Platform memungkinkan kita
untuk memiliki keamanan data yang sangat terjamin, hal ini merupakan faktor
penting untuk membangun sebuah layanan berbasis internet. Gooogle Cloud
Platform juga fleksibel, dimanapun kita berada kita bisa mengakses data yang kita
simpan di Google Cloud dengan mudah dan yang perlu kita sediakan hanya akses
internet. Dan juga bisa menggunakan RESTful API agar aplikasi yang dibuat bisa
di integrasikan dengan smartphone berbasis Android ataupun iOS Apple.
Dengan Google Cloud Platform data terpusat, penyimpanan yang terpusat
sangat diperlukan untuk membangun sebuah layanan dengan skala besar, terutama
apabila pengguna dari layanan tersebut sangat banyak. Apabila kita memikirkan
investasi jangka panjang, layanan Google Cloud bisa menekan biaya pengadaan
infrastruktur sistem yang kita perlukan untuk membangun sebuah aplikasi untuk
bisnis kita, dan juga berkinerja tinggi. Tidak hanya itu Google Cloud Platform juga
memiliki kecepatan yang lebih baik pada big data. Google Cloud Platform juga
berkomitmen untuk open source (“Google Cloud Platform Benefits,” n.d.).
Machine Learning merupakan bagian dari Google Cloud Platform dalam
membangun aplikasi yang dapat melihat, mendengar, dan mengerti dunia
sekitarnya. Dalam Pre-trained Machine Learning Model, Google Translate API
dan Cloud Vision API, telah disatukan menjadi Google Cloud Speech API. Dengan
API yang lengkap tersebut, developer dapat mengembangkan aplikasi yang dapat
melihat, mendengar, dan menerjemahkan (Intan, Saputra, Handani, & Diniary,
2017).
Cloud API menentukan bagaimana aplikasi perangkat lunak berinteraksi
dengan platform berbasis cloud computing dimana aplikasi ini dapat digunakan.
Cloud API menawarkan cara dimana aplikasi dapat meminta informasi dari
platform dan menggunakan fasilitas yang telah disediakan. Cloud Computing atau
komputasi awan sendiri merupakan pemanfaatan teknologi komputer dan
pengembangan layanan berbasis Internet (Intan et al., 2017).
2.7 Google Cloud Speech API
Google Cloud Speech API memungkinkan pengembang mengubah audio
menjadi teks dengan menerapkan model jaringan syaraf tiruan dengan mudah
menggunakan API. API mengenali lebih dari 110 bahasa dan varian, untuk
mendukung basis pengguna global. Kita juga dapat menuliskan teks pengguna yang
UIN Syarif Hidayatullah Jakarta
16
mendikte mikrofon aplikasi, mengaktifkan perintah dan kontrol melalui suara, atau
menuliskan file audio, di antara banyak kasus penggunaan lainnya. Kenali audio
yang diunggah dalam permintaan, dan integrasikan dengan penyimpanan audio di
Google Cloud Storage, dengan menggunakan teknologi yang sama yang digunakan
Google untuk mengaktifkan produknya sendiri (Google, n.d.). Berikut adalah fitur
fitur yang ada pada Google Cloud Speech API:
a. Automatic Speech Recognition, Automatic Speech Recognition (ASR)
didukung oleh jaringan syaraf pembelajaran yang mendalam untuk
menyalakan aplikasi Anda seperti penelusuran suara atau transkripsi
ucapan.
b. Kosa kata global
c. Penerjemahan ucapan secara lansung
d. Petunjuk kata, dapat menyesuaikan ucapan dengan kata yang tepat
e. Dukungan Audio Real time
f. Noise Robustness, mampu menangani noise audio.
g. Inappropriate Content Filtering, memfilter kata yang tidak pantas dalam
hasil teks
h. Integrated API, File audio dapat disimpan dan terintegrasi pada Google
Cloud Storage
2.8 Google Stackdriver
Google Stackdriver adalah software freemium, untuk layanan manajemen
sistem komputasi awan yang ditawarkan oleh Google. Ini memberikan data kinerja
dan diagnostik (dalam bentuk pemantauan, pencatatan, penelusuran, pelaporan
kesalahan, dan peringatan) kepada pengguna cloud publik. Stackdriver adalah
solusi cloud hybrid, menyediakan dukungan untuk lingkungan cloud Google Cloud
dan Amazon Web Services (Wikipedia, n.d.).
Gambar 2.2 Logo Stackdriver
(Wikipedia, n.d.)
UIN Syarif Hidayatullah Jakarta
17
2.9 Text to Speech
TTS (Text to Speech) adalah suatu sistem yang dapat melakukan konversi
dari teks ke ucapan. Saat ini terdapat beberapa sistem yang melakukan fungsi
seperti itu, misal sistem IVR (interactive voice response) yang banyak digunakan
untuk layanan informasi otomatis melalui telepon call center. Sistem IVR biasanya
menggunakan rekaman kata atau kalimat yang direkam secara utuh.
Di dalam buku “An Introduction to Text-to-Speech Synthesis” (Dutoit,
1997) Dutoit menyatakan text to speech sebagai “produksi ucapan menggunakan
mesin, dengan cara fonetisasi otomatis kalimat mengucapkan”. Sedangkan dalam
buku “Voice Processing” (Pelton, 1993) Pelton menyatakan text to speech sebagai
“suatu sistem untuk mengkonversi teks menjadi ucapan”
Berdasarkan definisi dari beberapa sumber, TTS dapat didefinisikan sebagai
“sistem yang dapat mengubah suatu teks menjadi ucapan secara otomatis dengan
cara fonetisasi (penyusunan fonem fonem untuk membentuk ucapan)”. Sebuah
sistem TTS dapat mengucapkan kata apapun dan kosakatanya tidak terbatas. TTS
merupakan suara buatan yang dibuat dari suara manusia sebagai speech engine agar
dapat berkata seperti manusia untuk berbagai macam aplikasi dan supaya dapat
memberikan informasi dari aplikasi ke manusia berupa suara
Terdapat 2 proses atau cara kerja text to speech yaitu converter text ke
fonem (text to phoneme) dan converter fonem ke ucapan (phoneme to speech)
A. Konverter teks ke fonem (text to phoneme)
Bagian konverter teks ke fonem berfungsi untuk mengubah kalimat
masukan dalam suatu bahasa tertentu yang berbentuk teks menjadi
rangkaian kode bunyi yang biasanya direpresentasikan dengan kode
fonem, durasi serta pitchnya.
Konversi dari teks ke fonem sangat dipengaruhi oleh aturan yang
berlaku dalam suatu bahasa. Setiap bahasa memiliki aturan cara
pembacaan dan cara pengucapan teks yang sangat spesifik.
Pada proses konversi teks ke fonem terdiri dari beberapa tahap yaitu
normalisasi teks, konversi setiap fonem menjadi kode fonem, dan
penetapan durasi dan pitch untuk setiap fonem. Normalisasi teks
merupakan suatu proses yang mempresentasikan teks tertulis menjadi teks
yang sesuai dengan pengucapan oleh manusia. Setiap teks hasil
UIN Syarif Hidayatullah Jakarta
18
normalisasi dikonversi ke fonem, dan tidak semua huruf sama dengan kode
fonemnya.
B. Konverter fonem ke Ucapan (Phoneme to Speech)
Bagian konverter teks ke ucapan akan menerima masukan berupa
kode fonem serta pitch dan durasi yang dihasilkan oleh bagian
sebelumnya. Berdasarkan kode tersebut, bagian konverter fonem ke
ucapan akan menghasilkan bunyi atau sinyal ucapan yang sesuai dengan
kalimat yang ingin diucapkan.
Ada beberapa alternatif teknik yang dapat digunakan untuk
implementasi bagian ini. Dua teknik yang banyak digunakan adalah
formant synthesizer dan diphone concatenation.
Konverter fonem ke ucapan berfungsi untuk membangkitkan sinyal
ucapan berdasarkan kode fonem yang dihasilkan dari proses sebelumnya.
Pada sistem yang menggunakan teknik diphone concatenation, sistem
harus didukung oleh suatu diphone database. Ucapan dalam suatu bahasa
dibentuk dari satu set bunyi yang mungkin berbeda untuk setiap bahasa,
oleh karena itu setiap bahasa harus dilengkapi dengan diphone database
yang berbeda.
Gambar 2.3 Proses konversi Teks menjadi ucapan secara umum
(Pelton, 1993)
UIN Syarif Hidayatullah Jakarta
19
2.10 Real Time Factor
Real Time Factor adalah tolak ukur atau metrik yang menunjukkan seberapa
cepat speech recognition mengenali ucapan pengguna. Latensi mengukur waktu
antara pengguna selesai berbicara dan waktu ketika recognizer mengembalikan
hipotesis, yang merupakan metrik paling penting untuk Automatic Speech
Recognition (G, 2018).
Untuk sebuah sistem dengan dialog real-time kita membutuhkan real time
factor < 1. Dengan kata lain penguraian kalimat harus lebih cepat daripada
kecepatan pengguna mengucapkan sebuah kalimat. Dengan real time factor < 1
hipotesis akan langsung ditampilkan setelah pengguna selesai mengucapkan
kalimat (Rozpoznávání, 2014).
Ketika proses translasi berlangsung ketika pengguna berbicara, tetapi
ekstrak dari hipotesis oleh automatic speech recognition berlangsung pada akhir
kalimat. Pengguna paling tidak harus menunggu sampai hipotesis di ekstrak oleh
automatic speech recognition (Rozpoznávání, 2014).
𝑅𝑇𝐹 = %&'((*(+,*((-))/(01%2(-)
(1)
RTF = Real Time Factor
Time = Duration of decode process(s)
Length = Total Audio Duration(s)
2.11 Command Success Rate & False Acceptance Rate
Performa dari sebuah sistem speech recoginition sering diukur berdasarkan
akurasi dan kecepatan. Akurasi dapat diukur denggan menggunakan Word Error
Rate (WER) dimana kecepatan dapat diukur menggunakan Real Time Factor.
Pengukuran lain terkait akurasi meliputi Single Word Error Rate (SWER) dan
Command Success Rate (CSR)(Karpagavalli & Chandra, 2016).
𝐶𝑆𝑅 = 56'7(8,:+,88(+%/;8(+,10&<(*=>(-?(8+,''-0*=@,%-/06'7(8,:-6%2,8&<(*=>(-?(8+,''-0*=
∗ 100% (2)
UIN Syarif Hidayatullah Jakarta
20
Command Success Rate adalah tingkat keberhasilan pengenalan perintah
sistem yang didapatkan dari rasio jumlah perintah yang dikenali dengan jumlah
perintah yang dilakukan (Okokpujie, Noma-osaghae, John, & Jumbo, 2017)
𝐹𝐴𝑅 = 56'7(8,:&0+,88(+%/;8(+,10&<(*=>(-?(8+,''-0*=@,%-/06'7(8,:-6%2,8&<(*=>(-?(8+,''-0*=
∗ 100% (3)
False Acceptance rate adalah tingkat kegagalan pengenalan perintah sistem
yang didapatkan dari rasio jumlah perintah yang tidak dikenali dengan jumlah
perintah yang dilakukan (Okokpujie et al., 2017).
2.12 Espeak
eSpeak adalah suatu perangkat lunak speech synthesizer yang
terkonfigurasi dengan berbagai macam bahasa untuk sistem operasi Linux dan
Windows eSpeak tersedia pada suatu program command line(Linux dan
Windows) untuk mengucapkan teks dari suatu file atau stdin(input keyboard),
suatu perpustakaan bersama yang dapat digunakan oleh program lain (pada
Windows berupa DLL), dan suatu versi SAPI5 untuk Windows, sehingga dapat
digunakan dengan pembaca layar atau program lain yang mendukung
interfaceWindows SAPI5 (Forge, n.d.).
2.13 Python
Python merupakan bahasa serbaguna yang diciptakan oleh Guido van
Rossum pada tahun 1998. Bahasa ini menggunakan interpreter sebagai penerjemah.
Pendekatan ini memungkinkan pemakai dapat memberikan perintah secara
interaktif. Interpreter akan melaksanakan perintah tersebut begitu pemakai
menekan tombol Enter. Dengan demikian, pemakai dapat mempelajari bahasa
python tanpa perlu menyimpan perintah-perintah yang diberikan ke dalam file
(Kadir, 2017).
Python dapat berjalan dibanyak platform/sistem operasi seperti Windows,
Linux/Unix, Mac OS X, OS/2, Amiga, Palm Handhelds dan telepon genggam. saat
ini Python juga telah di porting kedalam mesin virtual Java dan .NET. Python
didistribusikan dibawah lisensi OpenSource yang disetujui OSI (Open Source
Initiatives), sehingga Python bebas digunakan, gratis digunakan, bahkan untuk
produk-produk komersil (Lambert, 2015).
UIN Syarif Hidayatullah Jakarta
21
2.14 Flask
Flask adalah framework aplikasi web mikro yang ditulis dalam bahasa
Python dan berbasiskan toolkit Wekzeug dan template engine Jinja2 dan berlisensi
BSD. Pada tahun 2015, versi paling stabil Flask adalah versi 0.10.1. Contoh aplikasi
yang menggunakan framework Flask adalah Pinterest, LinkedIn, dan tentu saja
halaman web Flask itu sendiri.
Flask dikatakan framework mikro dikarenakan Flask tidak menganggap
atau mengharuskan pengembang menggunakan alat atau pustaka tertentu. Flask
tidak memiliki lapisan abstrak basis data, form validasi, dan komponen-komponen
lainnya yang sudah dimiliki oleh pustaka-pustaka pihak ketiga sebelumnya.
Walaupun begitu, Flask mendukung ekstensi yang dapat menambah fitur-fitur
seperti layaknya mereka diimplementasikan di dalam Flask itu sendiri. Terdapat
ekstensi untuk object-relational mappers, form validasi, upload handling, dan
berbagai teknologi autentikasi terbuka serta peralatan yang berhubungan dengan
framework secara umum (Wikipedia, 2010).
2.15 JSON Web Token
JWT ini adalah sebuah token berbentuk string JSON yang sangat padat
(ukurannya), informasi mandiri yang gunanya sendiri untuk melakukan sistem
autentikasi dan pertukaran informasi. Karena bentuknya kecil, token JWT dapat
dikirim melalui URL, parameter HTTP POST atau di dalam Header HTTP, dan
juga karena ukurannya yang kecil maka dapat ditransmisikan dengan lebih cepat.
Disebut informasi mandiri karena isi dari token yang dihasilkan memiliki
informasi dari pengguna yang dibutuhkan, sehingga tidak perlu query ke basis data
lebih dari satu kali. Token tersebut dapat diverifikasi dan dipercaya karena sudah
di-sign secara digital. Token JWT dapat di-sign dengan menggunakan secret
(algoritma HMAC) atau pasangan public/private key (algoritma RSA).
Proses login yang dilakukan tidak seperti aplikasi website biasa, tetapi
menggunakan session untuk mengingat yang sedang melakukan proses login. JWT
tidak bergantung pada bahasa program tertentu. Struktur JWT terdiri atas tiga
bagian yang dipisahkan oleh titik (“.”), yaitu header, payload, dan signature, seperti
ditunjukkan pada gambar 2.6
UIN Syarif Hidayatullah Jakarta
22
Gambar 2.4 Struktur JSON Web Token
(Rahmatulloh, Sulastri, & Nugroho, 2018) Header biasanya terdiri atas 2 bagian yaitu tipe token yakni JWT dan
algoritma hashing yang digunakan, seperti HMAC SHA-256 atau RSA dan lainnya.
Contohnya header ditunjukkan seperti gambar 2.7
Gambar 2.5 JWT Header (Rahmatulloh et al., 2018)
Payload, bagian kedua, berisi klaim. Klaim adalah pernyataan tentang suatu
entitas (biasanya pengguna) dan metadata tambahan. Ada tiga jenis klaim, yaitu
reserved, public, dan private claims. Bagian kedua (payload) diperlihatkan pada
gambar 2.8
Gambar 2.6 JWT Payload (Rahmatulloh et al., 2018)
Bagian ketiga dari JWT adalah signature, berisi hash dari komponen-
komponen header, payload, dan kunci rahasia. Contoh JWT Signature ini
menggunakan algoritme HMAC SHA-256. Signature dapat dibuat dengan cara
seperti pada gambar 2.9.
UIN Syarif Hidayatullah Jakarta
23
Gambar 2.7 JWT signature (Rahmatulloh et al., 2018)
Keluarannya adalah tiga string Base64 yang dipisahkan oleh titik-titik yang
dapat dengan mudah dilewatkan dalam HTML dan HTTP. Apabila isi header atau
payload diubah, maka isi signature menjadi tidak valid. Signature dibentuk dengan
menggunakan header dan payload sehingga JWT mampu memberikan kemudahan
bagi client untuk mengakses sumber daya tanpa harus login berulang memasukkan
username dan password. Token dapat dipanggil melalui AJAX ke server karena
panggilan dapat menggunakan HTTP header untuk mengirimkan informasi
penggunanya (Rahmatulloh et al., 2018).
2.16 XSS (Cross Site Scripting)
Serangan ini biasanya terjadi karena injeksi script berbahaya di titik injeksi
rentan web aplikasi (Gupta & Gupta, 2016). XSS merupakan kependekan yang
digunakan untuk istilah cross site scripting. XSS merupakan salah satu jenis
serangan injeksi kode (code injection attack). XSS dilakukan oleh penyerang
dengan cara memasukkan kode HTML atau client script code lainnya ke suatu situs.
Serangan ini akan seolah-olah datang dari situs tersebut.
Akibat serangan ini antara lain penyerang dapat melewati keamanan di sisi
klien, mendapatkan informasi sensitif, atau menyimpan aplikasi berbahaya. Alasan
kependekan yang digunakan XSS bukan CSS karena CSS sudah digunakan untuk
cascade style sheet (OWASP, 2018).
2.17 CSRF (Cross Site Request Forgery)
Cross site Request Forgery (CSRF) adalah sebuah serangan yang memaksa
pengguna akhir untuk melakukan tindakan yang tidak diinginkan pada aplikasi web
di mana mereka sedang dikonfirmasi (OWASP, 2018). Cross Site Request Forgery
(CSRF) adalah sebuah serangan yang memaksa pengguna akhir untuk melakukan
tindakan yang tidak diinginkan pada aplikasi web di mana mereka sedang
dikonfirmasi. serangan CSRF secara khusus menargetkan permintaan negara-
berubah, tidak pencurian data, karena penyerang tidak memiliki cara untuk melihat
UIN Syarif Hidayatullah Jakarta
24
respon terhadap permintaan palsu. Dengan sedikit bantuan dari rekayasa sosial
(seperti mengirim link via email atau chatting), penyerang dapat mengelabui
pengguna dari aplikasi web ke dalam melaksanakan tindakan pilih penyerang. Jika
korban adalah pengguna normal, serangan CSRF sukses dapat memaksa pengguna
untuk melakukan permintaan mengubah negara seperti mentransfer dana,
mengubah alamat email mereka, dan sebagainya. Jika korban adalah rekening
administratif, CSRF bisa kompromi seluruh aplikasi web.
Gambar 2.8 Cross Site Request Forgery
CSRF adalah serangan yang trik korban ke mengirimkan permintaan
berbahaya. Mewarisi identitas dan hak-hak korban untuk melakukan fungsi yang
tidak diinginkan atas nama korban. Untuk sebagian besar situs, permintaan browser
akan secara otomatis menyertakan mandat yang terkait dengan situs, seperti cookie
sesi pengguna, alamat IP, mandat domain Windows, dan sebagainya. Oleh karena
itu, jika pengguna saat dikonfirmasi ke situs, situs akan memiliki cara untuk
membedakan antara permintaan ditempa dikirim oleh korban dan permintaan yang
sah yang dikirim oleh korban.
CSRF menyerang fungsi sasaran yang menyebabkan perubahan state pada
server, seperti mengubah alamat email atau password korban, atau membeli
sesuatu. Memaksa korban untuk mengambil data tidak menguntungkan penyerang
karena penyerang tidak menerima respon, korban tidak. Dengan demikian,
serangan CSRF menargetkan permintaan negara-berubah. Kadang-kadang
mungkin untuk menyimpan serangan CSRF di situs rentan itu sendiri. kerentanan
tersebut disebut "disimpan kelemahan CSRF". Hal ini dapat dicapai dengan hanya
menyimpan tag IMG atau IFRAME dalam bidang yang menerima HTML, atau
dengan cross-site scripting serangan yang lebih kompleks. Jika serangan dapat
menyimpan serangan CSRF di situs, tingkat keparahan serangan diperkuat. Secara
UIN Syarif Hidayatullah Jakarta
25
khusus, kemungkinan meningkat karena korban lebih mungkin untuk melihat
halaman yang berisi serangan dari beberapa halaman acak di Internet. kemungkinan
juga meningkat karena korban pasti akan dikonfirmasi ke situs sudah (Sandi, Putra,
& Selatan, 2017).
2.18 SQL Injection
Sebuah serangan injeksi SQL terdiri dari penyisipan atau "suntikan" dari
query SQL melalui input data dari klien ke aplikasi. Sebuah SQL injection berhasil
mengeksploitasi dapat membaca data sensitif dari database, memodifikasi data
database (Insert / Update / Delete), melaksanakan operasi administrasi pada
database (seperti shutdown DBMS), memulihkan isi dari file yang diberikan pada
file DBMS sistem dan dalam beberapa kasus masalah perintah untuk sistem operasi.
serangan injeksi SQL adalah jenis serangan injeksi, di mana perintah SQL yang
disuntikkan ke input data untuk mempengaruhi pelaksanaan perintah SQL yang
telah ditetapkan (Sandi et al., 2017).
Gambar 2.9 SQL Injection
(Hararei, n.d.) 2.19 Raspberry Pi
Raspberry Pi, sering disingkat dengan nama Raspi, adalah komputer papan
tunggal (single-board circuit; SBC) yang seukuran dengan kartu kredit yang dapat
digunakan untuk menjalankan program perkantoran, permainan komputer, dan
sebagai pemutar media hingga video beresolusi tinggi. Raspberry Pi dikembangkan
oleh yayasan nirlaba, Rasberry Pi Foundation, yang digawangi sejumlah
pengembang dan ahli komputer dari Universitas Cambridge, Inggris.
Ide dibalik raspberry pi diawali dari keinginan untuk mencetak pemrogram
generasi baru. Seperti disebutkan dalam situs resmi Raspberry Pi Foundation,
UIN Syarif Hidayatullah Jakarta
26
waktu itu Eben Upton, Rob Mullins, Jack Lang, dan Alan Mycroft, dari
Laboratorium Komputer Universitas Cambridge memiliki kekhawatiran melihat
kian turunnya keahlian dan jumlah siswa yang hendak belajar ilmu komputer.
Mereka lantas mendirikan yayasan Raspberry Pi bersama dengan Pete Lomas dan
David Braben pada 2009. Tiga tahun kemudian, Raspberry Pi Model B memasuki
produksi massal. Dalam peluncuran pertamanya pada akhir Febuari 2012 dalam
beberapa jam saja sudah terjual 100.000 unit. Pada bulan Februari 2016, Raspberry
Pi Foundation mengumumkan bahwa mereka telah menjual 8 juta perangkat Raspi,
sehingga menjadikannya sebagai perangkat paling laris di Inggris (Wikipedia,
2018).
Gambar 2.10 Raspberry Pi
(Pi, 2019)
Saat ini terdapat lima model dari keluarga Raspberri Pi, yakni : Raspberry
Pi Model A +, Raspberry Pi Model B +, Raspberry Pi 2, Raspberry Pi 3, dan
Raspberry Pi Zero. Yang pada dasarnya merupakan pengembangan dari dua model
Raspberry Pi, yaitu model A dan model B, dengan perbedaan :
Gambar 2.11 Perbedaan Model
(Brian Benchoff, 2016)
Secara keseluruhan, perbedaan antar masing-masing model terletak pada
kekuatan prosesor, jumlah port USB, ada atau tidaknya port jaringan, bluetooth,
wireless, dan lain sebagainya, meskipun untuk desain tidak begitu berbeda (Wiley,
UIN Syarif Hidayatullah Jakarta
27
2016). Untuk penyimpanan data didesain tidak menggunakan hard disk atau solid-
state drive, melainkan mengandalkan kartu SD (SD memory card) untuk booting
dan penyimpanan jangka panjang.
Hardware raspberry pi tidak memiliki real-time clock, sehingga OS harus
memanfaatkan timer jaringan server sebagai pengganti. Namun komputer yang
mudah dikembangkan ini dapat ditambahkan dengan fungsi real-time (seperti
DS1307) dan banyak lainnya, melalui saluran GPIO (General-purpose
input/output) via antarmuka I²C (Inter-Integrated Circuit). Raspberry Pi bersifat
open source (berbasis Linux), raspberry pi bisa dimodifikasi sesuai kebutuhan
penggunanya.
Sistem operasi utama Raspberry Pi menggunakan Debian GNU/Linux dan
bahasa pemrograman Python. Salah satu pengembang OS untuk raspberry pi telah
meluncurkan sistem operasi yang dinamai Raspbian, Raspbian diklaim mampu
memaksimalkan perangkat raspberry pi. Sistem operasi tersebut dibuat berbasis
Debian yang merupakan salah satu distribusi Linux OS (Gay, 2014).
2.19.1 Raspberry Pi Model 3
Model Raspberry Pi 3 merupakan generasi ketiga dari keluarga
Raspberry Pi. Raspberry Pi 3 memiliki RAM 1 GB dan grafis Broadcom
VideoCore IV pada frekuensi clock yang lebih tinggi dari sebelumnya yang
berjalan pada 250MHz. Raspberry Pi 3 menggantikan Raspberry Pi 2 model
B pada bulan Februari 2016. Kelebihannya dibandingkan dengan Raspberry
Pi 2 adalah:
• A 1.2GHx 64-bit quad-core ARMv8 CPU
• 802.11n Wireless LAN
• Bluetooth 4.1
• Bluetooth Low Energy (BLE)
Sama seperti Pi 2, raspberry pi 3 juga memiliki 4 USB port, 40 pin
GPIO, Full HDMI port, Port Ethernet, Combined 3.5mm audio jack and
composite video, Camera interface (CSI), Display interface (DSI), slot
kartu Micro SD (Sistem tekan-tarik, berbeda dari yang sebelum nya ditekan-
UIN Syarif Hidayatullah Jakarta
28
tekan), dan VideoCore IV 3D graphics core. Raspberry Pi 3 memiliki factor
bentuk identik dengan raspberry pi 2 dan memiliki kompatibilitas lengkap
dengan raspberry pi 1 dan 2. Raspberry Pi 3 juga direkomendasikan untuk
digunakan bagi mereka yang ingin menggunakan Pi dalam proyek-proyek
yang membutuhkan daya yang sangat rendah (Wiley, 2016).
Gambar 2.12 Raspberry Pi 3 Model B
(Element14, 2016) 2.19.2 GPIO Raspberry Pi
GPIO adalah deretan pin yang memiliki fungsi tertentu. GPIO
terletak di sepanjang tepi atas board dan merupakan fitur yang kuat dari
raspberry pi (tujuan umum input/output). Melalui GPIO, raspberry pi bisa
dihubungkan dengan dunia nyata, dimana pin-pin tersebut bisa menjadi
penghubung untuk mengendalikan berbagai macam perangkat di luar
raspberry pi dengan program tertentu (Halfacree & Upton Gareth, 2016).
Gambar 2.13 Tampilan pin pada Raspberry Pi
(Pi, 2018)
Pin ini merupakan antarmuka fisik antara raspberry pi dan dunia
luar. Secara sederhana, pin-pin tersebut bisa dianggap sebagai switch yang
dapat mengaktifkan atau menonaktifkan (input) begitu juga dapat
UIN Syarif Hidayatullah Jakarta
29
mengaktifkan atau menonaktifkan (output). Dari 40 pin, 26 pin bertindak
sebagai GPIO, dan lainnya ada yang berfungsi sebagai power ataupun
ground (Halfacree & Upton Gareth, 2016).
Gambar 2.14 Keterangan Pin pada Raspberry Pi
(Pi, 2018)
Berikut ini gambaran lengkap dan beberapa penjelasan mengenai
fungsi masing-masing PIN GPIO pada Raspberry Pi 3:
Gambar 2.15 Raspberry Pi 3 Model B 40 Pin
(Element14, 2015) 2.20 Wapiti
Wapiti merupakan sebuah tools pemindai kerentanan aplikasi sehingga
memungkinkan untuk mengaudit keamanan situs web atau aplikasi web. Wapiti
melakukan pemindaian blackbox (tidak mempelajari kode sumber) dari aplikasi
web dengan merayapi halaman web dari webapp yang digunakan, mencari skrip
dan formulir di mana ia dapat menyuntikkan data.
Setelah mendapat daftar URL, formulir, dan inputnya, Wapiti bertindak
seperti seorang fuzzer, menyuntikkan muatan untuk melihat apakah skrip rentan.
Wapiti dapat mendeteksi kerentanan berikut:
UIN Syarif Hidayatullah Jakarta
30
a. Kerentanan file (Lokal dan jarak jauh termasuk / memerlukan, buka, baca
file ...)
b. SQL Injection (Injeksi PHP / JSP / ASP dan Suntikan XPath)
c. Injeksi XSS (Cross Site Scripting) (direfleksikan dan permanen)
d. Deteksi Eksekusi Perintah (eval (), system (), passtru () ...)
e. Injeksi CRLF (Pemisahan Respons HTTP, fiksasi sesi ...)
f. Injeksi XXE (XML External Entity)
g. SSRF (Pemalsuan Permintaan Sisi Server)
h. Penggunaan tahu file yang berpotensi berbahaya (berkat database Nikto)
i. Konfigurasi .htacak yang lemah yang dapat dilewati
j. Kehadiran file cadangan yang memberikan informasi sensitif
(pengungkapan kode sumber)
k. Shellshock (alias Bash bug)
Gambar 2.16 Logo Wapiti
(Surribas, 2018)
Wapiti mendukung metode GET dan POST HTTP untuk serangan. Ini juga
mendukung bentuk multi-bagian dan dapat menyuntikkan muatan dalam nama file
(unggah). Peringatan dimunculkan ketika anomali ditemukan (misalnya 500
kesalahan dan batas waktu) Wapiti mampu membuat perbedaan antara kerentanan
XSS permanen dan tercermin.
Fitur umum:
• Menghasilkan laporan kerentanan dalam berbagai format
(HTML, XML, JSON, TXT ...)
UIN Syarif Hidayatullah Jakarta
31
• Dapat menunda dan melanjutkan pemindaian atau serangan
(mekanisme sesi menggunakan database sqlite3)
• Dapat memberi warna di terminal untuk menyoroti kerentanan
• Tingkat verbositas berbeda
• Cara cepat dan mudah untuk mengaktifkan / menonaktifkan
modul serangan
• Menambahkan muatan bisa semudah menambahkan baris ke file
teks
Fitur penjelajahan
• Mendukung proxy HTTP, HTTPS, dan SOCKS5
• Otentikasi melalui beberapa metode: Basic, Digest, Kerberos
atau NTLM
• Kemampuan untuk menahan ruang lingkup pemindaian
(domain, folder, halaman, url)
• Penghapusan otomatis satu adalah lebih banyak parameter
dalam URL
• Berbagai perlindungan terhadap pemindaian tak berujung
(misalnya, batas nilai untuk suatu parameter)
• Kemungkinan untuk mengatur URL pertama yang akan
dijelajahi (bahkan jika tidak dalam ruang lingkup)
• Dapat mengecualikan beberapa URL pemindaian dan serangan
(misalnya: URL logout)
• Impor cookie (dapatkan dengan alat wapiti-getcookie)
• Dapat mengaktifkan / menonaktifkan verifikasi sertifikat SSL
• Ekstrak URL dari file Flash SWF
• Mengekstrak URL dari javascript (interpreter JS)
• Mengenali HTML5
• Beberapa opsi untuk mengontrol perilaku dan batasan crawler.
• Melewati beberapa nama parameter selama serangan.
• Mengatur waktu maksimum untuk proses pemindaian.
• Menambahkan beberapa tajuk HTTP khusus atau mengatur
Agen-Pengguna khusus.
UIN Syarif Hidayatullah Jakarta
32
2.21 Nikto
Nikto adalah pemindai server web Open Source (GPL) yang melakukan
pengujian komprehensif terhadap server web untuk banyak item, termasuk lebih
dari 6700 file / program berbahaya, memeriksa versi usang lebih dari 1.250 server,
dan masalah khusus versi di lebih dari 270 server. Ini juga memeriksa item
konfigurasi server seperti keberadaan beberapa file indeks, opsi server HTTP, dan
akan berusaha mengidentifikasi server web dan perangkat lunak yang diinstal.
Pindai item dan plugin sering diperbarui dan dapat diperbarui secara otomatis.
Nikto tidak dirancang sebagai alat tersembunyi. Ini akan menguji server
web dalam waktu secepat mungkin, dan jelas dalam file log atau ke IPS / IDS.
Namun, ada dukungan untuk metode anti-IDS LibWhisker jika Anda ingin
mencobanya (atau menguji sistem IDS).
Tidak setiap pemeriksaan merupakan masalah keamanan, meskipun
kebanyakan. Ada beberapa item yang "hanya info" ketik cek yang mencari hal-hal
yang mungkin tidak memiliki kelemahan keamanan, tetapi webmaster atau insinyur
keamanan mungkin tidak tahu ada di server. Barang-barang ini biasanya ditandai
dengan tepat dalam informasi yang dicetak. Ada juga beberapa pemeriksaan untuk
item yang tidak diketahui yang telah terlihat dipindai dalam file log (Sullo & Lodge,
n.d.).
Berikut adalah beberapa fitur utama Nikto. Lihat dokumentasi untuk daftar
lengkap fitur dan cara menggunakannya.
• Dukungan SSL (Unix dengan OpenSSL atau mungkin Windows dengan
ActiveState Perl / NetSSL)
• Dukungan proxy HTTP penuh
• Memeriksa komponen server yang kedaluwarsa
• Simpan laporan dalam teks biasa, XML, HTML, NBE atau CSV
• Mesin template untuk menyesuaikan laporan dengan mudah
• Memindai banyak port pada server, atau beberapa server melalui file input
(termasuk output nmap)
• Teknik pengodean IDS LibWhisker
• Mudah diperbarui melalui baris perintah
• Mengidentifikasi perangkat lunak yang diinstal melalui tajuk, favicon dan
file
UIN Syarif Hidayatullah Jakarta
33
• Otentikasi host dengan Basic dan NTLM
• Menebak subdomain
• Enumerasi nama pengguna Apache dan cgiwrap
• Teknik mutasi untuk "memancing" konten di server web
• Pindai penyetelan untuk menyertakan atau mengecualikan seluruh kelas
kerentanan memeriksa
• Tebak kredensial untuk ranah otorisasi (termasuk banyak kombo id / pw
default)
• Tebakan otorisasi menangani direktori apa pun, bukan hanya rootdirektori
• Peningkatan reduksi positif palsu melalui beberapa metode: tajuk,
• konten halaman, dan hashing konten
• Laporan header "tidak biasa" terlihat
• Status interaktif, jeda, dan perubahan pada pengaturan verbosity
• Simpan permintaan / respons penuh untuk tes positif
• Putar ulang permintaan positif yang disimpan
• Waktu eksekusi maksimum per target
• Jeda otomatis pada waktu yang ditentukan
• Memeriksa situs "parkir" umum
• Masuk ke Metasploit
• Dokumentasi menyeluruh
2.22 Postman
Postman adalah klien HTTP yang kuat untuk menguji layanan web. Dibuat
oleh Abhinav Asthana, seorang programmer dan desainer yang berbasis di
Bangalore, India, Postman memudahkan untuk menguji, mengembangkan, dan
mendokumentasikan API dengan memungkinkan pengguna untuk dengan cepat
mengumpulkan permintaan HTTP sederhana dan kompleks (Wagner, 2014).
UIN Syarif Hidayatullah Jakarta
34
Gambar 2.17 Postman
(Postman, n.d.)
Postman tersedia sebagai Google Chrome Packaged App dan aplikasi
browser Google Chrome. Versi aplikasi yang dikemas mencakup fitur-fitur canggih
seperti dukungan OAuth 2.0 dan upload / impor massal yang tidak tersedia dalam
versi di-browser. Versi dalam browser mencakup beberapa fitur, seperti dukungan
cookie sesi, yang belum tersedia dalam versi aplikasi yang dikemas.
2.23 Metode Pengumpulan Data
Metode pengumpulan data adalah teknik atau cara-cara yang dapat
digunakan oleh peneliti untuk mengumpulkan data (Sudaryono, Margono, &
Rahayu, 2011).
2.23.1 Studi Pustaka
Studi pustaka adalah menganalisis secara kritis pustaka penelitian
yang ada saat ini. Studi pustaka tersebut perlu dilakukan secara ketat dan
harus mengandung keseimbangan antara uraian deskriptif dan analisis.
Identifikasi kekuatan dan kelemahan pustaka tersebut dengan menelaah
hasil atau temuan penelitian tersebut, metodologi yang digunakan, serta
bagaimana hasil temuan tersebut dibandingkan penelitian atau publikasi
lainnya (Sudaryono et al., 2011)
2.23.2 Wawancara
Menurut Sugiyono (2010) Wawancara digunakan sebagai teknik
pengumpulan data apabila peneliti akan melaksanakan studi pendahuluan
untuk menemukan permasalahan yang harus diteliti, dan juga peneliti ingin
mengetahui hal-hal dari responden yang lebih mendalam dan jumlah
respondennya sedikit/kecil.
UIN Syarif Hidayatullah Jakarta
35
Wawancara yang digunakan dalam penelitian ini dengan
mengajukan pertanyaan-pertanyaan terstruktur karena peneliti
menggunakan pedoman wawancara yang disusun secara sistematis dan
lengkap untuk mengumpulkan data yang dicari.
2.23.3 Observasi
Observasi adalah melakukan pengamatan secara langsung ke obyek
penelitian untuk melihat dari dekat kegiatan yang dilakukan. Obyek dari
penelitian adalah perilaku, tindakan manusia, fenomena, dan proses kerja
(Sudaryono et al., 2011). Menurut Cartwright, CA & Cartwright, GP, dalam
bukunya Developing Observation Skill. Mendefinisikan observasi sebagai
suatu proses melihat, mengamati dan mencermati serta merekam perilaku
secara sistematis untuk suatu tujuan tertentu. Sedangkan tujuan dari
observasi adalah untuk mendeskripsikan perilaku objek serta memahaminya
atau bisa juga hanya ingin mengetahui frekuensi suatu kejadian. Dari sini
bisa dipahami bahwa inti dari observasi adalah adanya perilaku yang
tampak dan adanya tujuan yang ingin dicapai. Perilaku yang tampak dapat
berupa perilaku yang dapat dilihat langsung oleh mata, dapat didengar,
dapat dihitung, dan dapat diukur.
2.24 Prototipe
Prototyping merupakan salah satu metode pengembangan perangkat lunak
yang banyak digunakan. Dengan metode Prototyping ini pengembang dan
pelanggan dapat saling berinteraksi selama proses pembuatan sistem. Sering terjadi
seorang pelanggan hanya mendefinisikan secara umum apa yang dikehendakinya
tanpa menyebutkan secara detail output apa saja yang dibutuhkan, pemrosesan dan
data-data apa saja yang dibutuhkan (Houde & Hill, 2004).
Untuk mengatasi ketidaksesuaian antara pelanggan dan pengembang, maka
dibutuhkan kerja sama yang baik di antara keduanya sehingga pengembang akan
mengetahui dengan benar apa yang diinginkan pelanggan dengan tidak
mengesampingkan segi-segi teknis dan pelanggan akan mengetahui proses-proses
dalam menyelesaikan sistem yang diinginkan. Dengan demikian akan
menghasilkan sistem yang sesuai dengan jadwal waktu penyelesaian yang telah
ditentukan.
UIN Syarif Hidayatullah Jakarta
36
Prototyping merupakan pendekatan iteratif dalam pengembangan sistem
yang dibuat. Secara umum tujuan pengembangan sistem informasi adalah untuk
memberikan kemudahan dalam penyimpanan informasi, mengurangi biaya dan
menghemat waktu, meningkatkan pengendalian, mendorong pertumbuhan,
meningkatkan produktivitas serta profitabilitas organisasi. Dalam beberapa tahun
terakhir ini, peningkatan produktivitas organisasi ini dibantu dengan
berkembangnya teknologi komputer baik hardware maupun software-nya.
Istilah prototyping dalam hubungannya dengan pengembangan software
sistem informasi lebih merupakan suatu proses bukan prototipe sebagai suatu
produk (Pressman, 2010).
2.24.1 Karakteristik Metode Prototyping
Menurut (Houde & Hill, 2004) Empat langkah karakteristik metode
prototyping yaitu :
a. Pemilahan Fungsi harus mengacu pada fungsi yang ditampilkan oleh
prototyping. Pemilahan dilakukan berdasarkan pada tugas-tugas
yang relevan yang sesuai dengan contoh kasus yang akan
diperagakan.
b. Penyusunan Sistem Informasi bertujuan untuk memenuhi
permintaan akan tersedianya prototipe.
c. Evaluasi
d. Penggunaan Selanjutnya
2.24.2 Jenis-jenis Prototyping
Berikut adalah jenis-jenis dari Prototyping (Houde & Hill, 2004) :
a. Feasibility prototyping – digunakan untuk menguji kelayakan dari
teknologi yang akan digunakan untuk sistem informasi yang akan
disusun.
b. Requirement prototyping – digunakan untuk mengetahui kebutuhan
aktivitas bisnis user.
c. Desain prototyping – digunakan untuk mendorong perancangan
sistem informasi yang akan digunakan.
d. Implementation prototyping – merupakan lanjutan dari rancangan
protipe, dimana prototipe ini langsung disusun sebagai suatu sistem
informasi yang akan digunakan.
UIN Syarif Hidayatullah Jakarta
37
e. Pada penelitian ini, jenis prototipe yang dipakai oleh peneliti adalah
requirement prototyping, yang digunakan untuk mengetahui
kebutuhan aktivitas bisnis user
2.24.3 Kelebihan Kekurangan Prototyping
Segala sesuatu memiliki keunggulan dan kelemahan, begitu pula
dengan metode prototyping yang memiliki keunggulan dan kelemahan,
berikut penjelasannya (Houde & Hill, 2004).
Keunggulan
• End user dapat berpartisipasi aktif.
• Penentuan kebutuhan lebih mudah diwujudkan.
• Mempersingkat waktu pengembangan sistem informasi.
Kelemahan
• Proses analisis dan perancangan terlalu singkat.
• Kurang fleksibel dalam menghadapi perubahan.
• Prototipe yang dihasilkan tidak selamanya mudah dirubah.
2.25 Unifield Modeling Language
UML (Unified Modelling Language) muncul karena adanya kebutuhan
pemodelan visual dari sistem perangkat lunak. UML merupakan bahasa visual
untuk pemodelan dan komunikasi mengenai sebuah sistem dengan menggunakan
diagram dan teks-teks pendukung. UML hanya berfungsi untuk melakukan
pemodelan. Jadi dengan UML tidak terbatas pada metodologi tertentu, meskipun
pada kenyataannya UML paling banyak digunakan pada metodologi berorientasi
obyek (R. A & M, 2011).
2.25.1 Class Diagram
Diagram kelas atau class diagram menggambarkan struktur sistem
dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun
sistem. Kelas memiliki apa yang disebut atribut, yaitu variabel-variabel
yang dimiliki oleh suatu kelas, dan metode atau operasi yaitu fungsi-fungsi
yang dimiliki oleh suatu kelas. Kelas-kelas yang ada pada struktur sistem
harus dapat melakukan fungsi-fungsi sesuai dengan kebutuhan sistem (R.
A & M, 2011) Berikut adalah simbol-simbol yang ada pada diagram kelas:
UIN Syarif Hidayatullah Jakarta
38
Tabel 2.2.1 Class Diagram
(Sumber: Rosa A.S dan M. Shalahuddin, 2011:137 )
Simbol Deskripsi
Kelas
nama_kelas
+atribut
+operasi()
Kelas pada struktur sistem.
Antarmuka/interface
nama_interface
Sama dengan konsep interface
dalam pemrograman berorientasi
obyek.
Asosiasi/Association
Relasi antar kelas dengan makna
umum, asosiasi biasanya juga
disertai dengan multiplicity.
Asosiasi berarah
Relasi antar kelas dengan makna
kelas yang satu digunakan oleh
kelas yang lain.
Generalisasi
Relasi antar kelas dengan makna
generalisasi-spesialisasi (umum-
khusus).
Kebergantungan / dependency
Relasi antar kelas dengan makna
kebergantungan antar kelas.
Agregasi / aggregation
Relasi antar kelas dengan makna
sebuah bagian (whole-part).
2.25.2 Use Case Diagram
Use case merupakan pemodelan untuk kelakuan (behavior) sistem
informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi
antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Use
case digunakan untuk mengetahui fungsi apa saja yang ada di dalam sebuah
sistem informasi dan siapa saja yang berhak menggunakan fungsi-fungsi
itu. Ada dua hal utama pada use case yaitu pendefinisian apa yang disebut
UIN Syarif Hidayatullah Jakarta
39
aktor dan use case. Aktor merupakan orang, proses atau sistem lain yang
berinteraksi dengan sistem informasi yang akan dibuat di luar sistem
informasi yang akan dibuat itu sendiri (R. A & M, 2011).
Berikut adalah simbol-simbol yang ada pada diagram use case:
Tabel 2.2.2 Use Case Diagram
(Sumber: Rosa A.S dan M. Shalahuddin, 2011:137 )
Simbol Deskripsi
Use Case Fungsionalitas yang disediakan
sistem sebagai unit-unit yang
saling bertukar
pesan antar unit atau aktor;
biasanya diawali kata kerja.
Aktor/actor
Orang, proses, atau sistem lain
yang berinteraksi dengan sistem
informasi yang akan dibuat di
luar sistem informasi yang akan
dibuat sendiri.
Asosiasi/Assosiation
Komunikasi antara aktor dan
use case yang berpartisipasi
pada use case atau use case yang
memiliki interaksi dengan aktor
Ekstensi/extend
<<extends>>
Relasi use case tambahan ke
sebuah use case dimana use case
yang ditambahkan dapat berdiri
sendiri walaupun tanpa use case
tambahan itu.
Generalisasi / generalization
Hubungan generalisasi dan
spesialisasi (umum-khusus)
antara dua buah use case dimana
fungsi yang satu adalah fungsi
yang lebih umum dari yang
lainnya.
Nama use case
Nama aktor
UIN Syarif Hidayatullah Jakarta
40
Menggunakan / include
<<include>>
Relasi use case tambahan ke
sebuah use
case yang ditambahkan
memerlukan use case ini untuk
menjalankan fungsinya atau
sebagai syarat dijalankan use
case ini.
2.25.3 Activity Diagram
Diagram aktivitas atau activity diagram menggambarkan workflow
(aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis, diagram
aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan aktor.
Diagram aktivitas juga digunakan untuk mendefinisikan hal-hal berikut:
1. Rancangan proses bisnis di mana setiap urutan aktivitas yang
digambarkan merupakan proses bisnis sistem yang didefinisikan.
2. Urutan atau pengelompokan tampilan dari sistem/user interface di
mana setiap aktivitas dianggap memiliki sebuah rancangan
antarmuka tampilan.
3. Rancangan pengujian di mana setiap aktivitas dianggap
memerlukan sebuah pengujian perlu didefinisikan kasus ujinya
(Sukamto & Shalahuddin, 2011).
Berikut adalah simbol-simbol yang ada pada diagram aktivitas:
Tabel 2.2.3 Activity Diagram
(Sumber: Rosa A.S dan M. Shalahuddin, 2011:137 )
Simbol Deskripsi
Status awal
Status awal aktivitas sistem, sebuah
diagram aktivitas memiliki sebuah
status awal.
Aktivitas
Aktivitas yang dilakukan sistem,
aktivitas biasanya diawali dengan kata
kerja. aktivitas
UIN Syarif Hidayatullah Jakarta
41
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
sebuah status akhir.
Swimlane
Memisahkan organisasi bisnis yang
bertanggung jawab terhadap
aktivitas yang terjadi.
2.25.4 Sequence Diagram
Diagram urutan menggambarkan kelakuan obyek pada use case
dengan mendeskripsikan waktu hidup obyek dan message yang dikirimkan
dan diterima antar obyek. Oleh karena itu untuk menggambarkan diagram
sekuen maka harus diketahui obyek-obyek yang terlibat dalam sebuah use
case beserta metode-metode yang dimiliki yang dimiliki kelas yang
diinstasiasi menjadi obyek itu (R. A & M, 2011)
Berikut adalah simbol-simbol yang ada pada diagram sekuen :
Tabel 2.2.4 Sequence Diagram
(Sumber: Rosa A.S dan M. Shalahuddin, 2011:137 )
Simbol Deskripsi
Aktor
Nama aktor
Orang, proses, atau sistem lain yang
berinteraksi dengan sistem informasi
yang akan dibuat di luar sistem
informasi yang akan dibuat sendiri.
Garis Hidup/ lifeline
Menyatakan kehidupan suatu obyek.
Nama swimlane
UIN Syarif Hidayatullah Jakarta
42
Obyek
Nama obyek : nama kelas
Menyatakan obyek yang
berinteraksi pesan.
Waktu aktif
Menyatakan obyek dalam keadaan
aktif dan berinteraksi pesan.
Pesan tipe create
<<Create>>
Menyatakan suatu obyek membuat
obyek lain, arah panah mengarah
pada obyek yang dibuat.
Pesan tipe call
1:NamaMetode()
Menyatakan suatu obyek memanggil
operasi/metode yang ada pada obyek
lain atau dirinya sendiri.
Pesan tipe send
Menyatakan bahwa suatu obyek
mengirimkan
data/masukan/informasi ke obyek
lainnya.
Pesan tipe return 1:keluaran
Menyatakan bahwa suatu obyek yang
telah menjalankan suatu operasi atau
metode menghasilkan suatu
kembalian ke obyek tertentu.
Pesan tipe destroy
<<destroy>>
Menyatakan suatu obyek mengakhiri
hidup obyek yang lain.
2.26 Black Box Testing
Pengujian black box, juga disebut pengujian perilaku atau behavioral
testing, berfokus pada persyaratan fungsional perangkat lunak. Pengujian black box
berusaha untuk menemukan kesalahan pada beberapa kategori berikut: (1) fungsi-
fungsi yang salah atau hilang, (2) kesalahan interface, (3) kesalahan dalam struktur
data atau akses database eksternal, (4) kesalahan pada performa atau behavior, dan
(5) kesalahan pada inisialisasi dan terminasi (Pressman, 2010).
Tabel 2.2.5 Perbandingan Metode Testing
Metode Kelebihan Kekurangan
1: masukan
UIN Syarif Hidayatullah Jakarta
43
White Box
Testing
Mampu menemukan kesalah
seperti Kesalahan Logika,
ketidak sesuaian asumsi,
kesalahan
pengetikan(Mustaqbal,
Firdaus, & Rahmadi, 2015).
Perangkat lunak yang jenisnya
besar, metode white box testing
ini dianggap boros karena
melibatkan banyak sumberdaya
untuk melakukannya(Mustaqbal
et al., 2015).
Black Box
Testing
Mampu menemukan
kesalahan seperti fungsi yang
tidak benar, kesalahan
antarmuka, kesalahan pada
struktur data dan akses basis
data, kesalahan performa dan
inisialisasi dan
terminasi(Mustaqbal et al.,
2015)
Hanya befokus berfokus pada
spesifikasi fungsional dari
perangkat lunak. Selain itu
terdapat banyak teknik pada black
box testing tergantung pada
pertanyaan yang dijawab seperti.
Equivalence Partitioning,
Boundary Value Analysis/Limit
Testing, Comparison Testing,
Sample Testing, Robustness
Testing, Behavior Testing,
Performance Testing,
Requirement Testing, Endurance
Testing dan Cause-Effect
Relationship Testing
44
BAB III METODOLOGI PENELITIAN
Sebelum memulai penelitian, penulis melakukan proses pengumpulan data
dengan menggunakan metode pengumpulan data berupa kuesioner dan studi
pustaka. Setelah mendapatkan data yang telah diperlukan untuk proses penelitian
selanjutnya penulis memulai penelitian dengan menggunakan metode
pengembangan sistem yaitu prototipe. Dimana peneliti memulai dengan
menentukan tujuan dari keseluruhan alat yang akan dibuat berdasarkan latar
belakang yang ada, dan mengidentifikasi apa saja yang akan dibutuhkan.
Selanjutnya melakukan pemodelan berupa fungsi-fungsi apa saja yang akan
berjalan yang nantinya diwujudkan dalam sebuah alat berupa prototipe. Langkah
setelah itu penulis akan melakukan testing terhadap prototipe yang hasilnya akan
digunakan untuk dievaluasi.
3.1 Metode Pengumpulan Data
Pengumpulan data dimaksudkan untuk mencari dan mengumpulkan
data yang terkait dengan penelitian seperti dasar teori, metodologi penulisan,
metodologi proses, dan acuan penelitian sejenis. Dalam penelitian ini, metode
pengumpulan data yang dilakukan adalah observasi, wawancara, kuesioner, studi
pustaka, studi literatur.
3.1.1 Data Primer
3.1.1.1 Wawancara
Penulis melakukan wawancara pada 3 mei 2019 dengan
Bapak Muhammad Vinggang selaku Ketua Yayasan Peduli
Kesejahteraan Tuna Netra. Penulis melakukan wawancara guna
mendapatkan informasi mengenai permasalahan yang ada serta
solusi apa yang harus diberikan untuk orang-orang yang
menyandang disabilitas. Hasil wawancara yang penulis lakukan
terdapat pada lampiran.
UIN Syarif Hidayatullah Jakarta
45
3.1.2 Data Sekunder
3.1.2.1 Studi Pustaka
Pada tahapan pengumpulan data dengan studi pustaka,
penulis membaca dan mempelajari referensi-referensi yang relevan
berupa skripsi, jurnal, dan buku. Fasilitas internet juga digunakan
sebagai media untuk mencari data atau informasi yang
dipublikasikan di dunia maya yang berkaitan dengan obyek
penelitian. Setelah itu penulis mencari informasi yang digunakan
dalam penyusunan landasan teori, metodologi penelitian serta
pengembangan sistem.
3.1.2.2 Studi Literatur
Selain studi pustaka, dalam penelitian ini menggunakan
referensi lain berupa bahan tulisan dari skripsi, jurnal atau
penelitian yang memiliki keterkaitan dengan topik yang dibahas
dalam penelitian ini.
3.2 Metode Pengembangan Sistem
Dalam pengembangan sistem ini, penulis menggunakan metodologi
pengembangan sistem dengan metode Prototyping. Ada 5 tahapan prototyping yang
digunakan dalam metode prototyping (Pressman, 2010) yaitu: 1) Tahap
komunikasi, 2) Tahap Pengumpulan Kebutuhan, 3) Tahap Membangun sistem, 4)
Tahap Mengkodekan Sistem, 5) Tahap Menguji Sistem.
3.2.1 Tahap Komunikasi
Paradigma prototyping dimulai dengan adanya komunikasi antara
aktor yang akan menggunakan sistem tersebut untuk menentukan sasaran
hasil keseluruhan dari perangkat lunak/sistem, mengidentifikasi kebutuhan
dan lingkungan dimana sistem tersebut akan digunakan.
Pada tahapan ini komunikasi yang penulis lakukan adalah dengan
mencari informasi terkait melalui referensi jurnal yang mengenai sistem e-
voting yang telah diteliti, kemudian mendiskusikannya dengan pakar atau
ahli dibidang penelitian penulis (kali ini penulis mendiskusikannya dengan
dosen pembimbing skripsi yaitu Ibu Nenny Anggraini, M.T) untuk
menganalisis masalah lebih lanjut dan menyimpulkan sebuah teori yang
UIN Syarif Hidayatullah Jakarta
46
akan diuji/ dibuktikan untuk menjadi sebuah solusi serta manfaat penelitian
ke depannya.
3.2.2 Tahap Pengumpulan Kebutuhan
Prototyping dimulai dengan pengumpulan persyaratan perancangan
seperti bertemu pelanggan untuk menentukan tujuan keseluruhan dari
sistem dan alat, mengidentifikasi persyaratan apa pun yang diketahui serta
menentukan area garis besar dimana definisi lebih lanjut itu diharuskan.
Desain berfokus pada representasi dari aspek-aspek perangkat lunak yang
akan dilihat oleh pelanggan atau pengguna (misalnya, pendekatan input dan
format output)(Pressman, 2010).
Pada tahapan pengumpulan kebutuhan ini, penulis melakukan
pengumpulan data dengan cara observasi, wawancara terhadap pihak
terkait, studi pustaka dan studi literatur. Dari hasil pengumpulan data
tersebut, penulis mendapatkan data mengenai business flow dalam
pemungutan suara elektronik serta kebutuhan sistem dan data-data yang
dapat digunakan seperti DPT. Tahap pengumpulan kebutuhan ini akan terus
berjalan selama masih membangun prototipe sampai tahap pengujian
alatnya.
3.2.3 Tahap Mengkodekan Sistem
Pada tahap ini, dibuat kode program di Raspberry Pi 3 model B
menggunakan bahasa pemrograman Python. Selain itu, juga dilakukan
pemograman di sisi server untuk menyimpan dan mengelola data.
Raspberry Pi dapat berkomunikasi dengan server melalui jaringan internet.
Untuk akses audio penulis menggunakan library PyAudio dan untuk
berkomunikasi dengan Cloud Speech API kita menggunakan Google Cloud
Client.
3.2.4 Tahap Pengujian Sistem
Dalam tahap pengujian sistem, peneliti menggunakan cara black box
testing yang berfokus pada fungsi-fungsi yang harus memenuhi syarat
kebutuhan dan pengujian analisis terhadap metode yang digunakan secara
manual.
1. Tahap pertama adalah pengujian raspberry pi yang telah dikerjakan
apakah telah sesuai dan berhasil terhubung ke server.
UIN Syarif Hidayatullah Jakarta
47
2. Tahap kedua adalah pengujian web services apakah telah tepat dan
sesuai.
3. Tahap ketiga adalah pengujian secara keseluruhan baik dari sisi server
side yaitu application service dan client side yaitu raspberry pi.
4. Tahap keempat adalah pengujian keamanan sistem dari eksploitasi
Cross Site Scription (XSS), Cross Site Request Forgery (CSRF) dan SQL
Injection.
5. Tahap kelima adalah pengujian performa server dan client yaitu CPU
dan memori
6. Tahap keenam adalah pengujian speech recognition yaitu real time
factor dan command success rate.
3.3 Kerangka Berpikir
Pengembangan sistem ini disusun melalui beberapa tahapan yang harus
dilakukan dengan tujuan memudahkan penulis dalam melakukan penelitian.
Adapun alur atau kerangka penelitian yang dilakukan oleh penulis dapat dilihat
pada gambar di bawah ini.
UIN Syarif Hidayatullah Jakarta
48
Gambar 3.1 Kerangka Berpikir
Identifikasi Masalah
Studi Pustaka
Studi LapanganWawancara
Observasi
Komunikasi Hasil Studi Literatur
PengumpulanKebutuhan
Ruang Lingkup
Analisa Kebutuhan Hardware & Software
Membangun Sistem Unified Modeling Language
Pengkodean Sistem
Pengujian Sistem Black Box
Kesimpulan & Saran
Perumusan Masalah
Pengumpulan Data
Metode Prototyping
Analisa Sistem Berjalan
Analisa Sistem Usulan
UIN Syarif Hidayatullah Jakarta
49
BAB IV ANALISIS, PERANCANGAN SISTEM, IMPLEMENTASI DAN
PENGUJIAN SISTEM
4.1 Tahap Komunikasi
Pengumpulan data dimaksudkan untuk mencari dan mengumpulkan data
yang terkait dengan penelitian seperti dasar teori, metodologi penulisan, metodologi
proses, dan acuan penelitian sejenis. Dalam penelitian ini, metode pengumpulan
data yang dilakukan adalah observasi, wawancara, kuesioner, studi pustaka, studi
literatur.
Dari beberapa literatur yang didapat, dapat diketahui belum terdapat
penelitian yang meneliti tentang sebuah sistem e-voting untuk penyandang tuna
netra. Tabel 4.1 menjelaskan studi literatur yang digunakan dalam penelitian ini.
Tabel 4.1 Hasil Studi Literatur
Nama Judul Tahun Kekurangan Kelebihan
Patimah dan
Latifah
Pengembangan
Aplikasi E-
Voting
Berbasis Web
dan SMS
Gateway
Pemilihan
Ketua Badan
Eksekutif
Mahasiswa
STMIK Jakarta
STIK
2017 Aplikasi
masih berbasis
Web dan
masih
menggunakan
SMS Gateway
dimana cukup
memakan
biaya
sistem
memiliki
waktu
kecepatan
akses yang
cepat dan
user
interface
yang mudah
digunakan.
Fakhriyan
Nur Rofiq
dan Ajib
susanto
Implementasi
RESTful Web
Service untuk
Sistem
2017 Belum
berwujud
aplikasi hanya
Sistem telah
mendukung
real quick
count
UIN Syarif Hidayatullah Jakarta
50
Penghitungan
Suara Secara
Cepat pada
Pilkada
sebatas sebuah
web service
B
Muthusentil,
Joshuva J,
Kishore S,
Nadendiran
K
Smart
Assistance for
Blind People
using
Raspberry Pi
2018 Tulisan yang
dikenali baru
tulisan hasil
printout
dokumen
sehingga
belum siap
untuk
digunakan
sehari hari
Integrasi
beberapa
macam
teknologi
yaitu OCR
(Optical
Character
Recognition)
& TTS (Text
to Speech) Shilpa H
Baria, Chintan Bhatt
Personal and
Intelligent Home Assistant to Control Devices Using Raspberry Pi
2017 Belum
terdapat
mekanisme
keamanan
untuk
mencegah
penggunaan
tanpa izin
Integrasi
raspberry pi
dengan
berbagai alat
dirumah
Mohammad Hasanzadeh Mofrad
Speech Recognition and Voice Separation for the Internet of Things
2018 Prototipe
belum
terintegrasi ke
perangkat lain
Mebuat
protipe alat
yang mampu
memproses 2
perintah
suara
sekaligus
UIN Syarif Hidayatullah Jakarta
51
4.2 Tahap Pengumpulan Kebutuhan
Pada tahap ini, dijelaskan apa saja yang menjadi kebutuhan sistem, yang
meliputi mendefinisikan ruang lingkup, analisis kebutuhan software maupun
hardware, dan juga analisis sistem berjalan dan usulan.
4.2.1 Mendefinisikan Ruang Lingkup
Ruang lingkup dalam penelitian ini adalah orang yang memiliki
keterbatasan fisik dalam segi indra penglihatan. Sistem e-voting yang
diusulkan dapat digunakan tanpa memerlukan bantuan orang lain. Selain itu
dideskripsikan juga jenis kegiatan apa saja yang mungkin dapat mendukung
pemilih dan panitia untuk menggunakan sistem e-voting. Pengembangan
dilakukan berdasarkan pada hasil kuesioner dan wawancara yang telah
dikumpulkan, dengan melibatkan narasumber dan orang-orang yang
mengalami gangguan atau hambatan dalam indra penglihatannya.
4.2.2 Analisa Kebutuhan Hardware
Dalam pembuatan sistem ini, dibutuhkan beberapa perangkat keras
atau hardware baik berupa mikrokomputer dan komponen elektronik
lainnya. Pemilihan spesifikasi hardware menjadi sangat penting agar sistem
dapat berjalan dengan baik sesuai dengan kebutuhan pengguna. Tabel 4.2
menerangkan daftar komponen yang dibutuhkan:
Tabel 4.2 Analisa Kebutuhan Hardware
No. Komponen Jumlah Kegunaan
1. Raspberry Pi 3
Model B
1 Sebagai otak dari sistem yang dapat
mengolah data dan melakukan
seluruh proses pada sistem.
2. Micro SD 16 GB
Class 10
1 Tempat penyimpanan data pada
Raspberry Pi.
3. WiFi Router 1 Memungkinkan Raspberry Pi untuk
dapat terkoneksi dengan server dan
internet.
4. Power Source Micro
USB 5 V 2.0 A
1 Memberikan power untuk Raspbery
Pi untuk dapat menyala.
UIN Syarif Hidayatullah Jakarta
52
5. Microphone 1 Memungkinkan Raspberry Pi untuk
dapat menerima masukan suara
4.2.3 Analisa Kebutuhan Software dan Tools
Selain Hardware yang sudah disebutkan sebelumnya, dibutuhkan
juga Software dan Tools untuk mendukung hardware agar berjalan sesuai
dengan yang diharapkan. Berikut software yang dibutuhkan dalam
pembuatan pembuatan sistem ini agar dapat berjalan sesuai dengan yang
diharapkan.
Tabel 4.3 Analisa Kebutuhan Software
No. Nama
Software/Tools
Kegunaan
1.
Pemrograman Bash Shell Untuk memberikan instruksi-instruksi
kepada Raspberry Pi.
2.
Pemrograman Python Untuk menjalankan script yang dikirim ke
Raspberry Pi
3. Bahasa Pemrograman
HTML, dan CSS
Untuk pembuatan website administrator
dan live count
4. PyAudio Memungkinkan pengolahan audio dengan
menggunakan python
5. Cloud Client Libraries Memungkinkan pemprosesan audio oleh
google cloud
6. Visio Memungkinkan penulis untuk melakukan
desain sistem aplikasi berupa flowchart.
7. CorelDraw x7 Memungkinkan penulis untuk melakukan
desain atau rancangan gambar.
4.2.4 Analisa Sistem Berjalan
Berdasarkan hasil observasi, wawancara dan kuesioner yang
dilakukan, dapat diketahui bahwa kebanyakan sistem yang berjalan saat ini
UIN Syarif Hidayatullah Jakarta
53
masih manual. Mulai dari tahap calon registrasi pemilih hingga pemilihan.
Gambar 4.1 menunjukkan sistem yang berjalan saat ini untuk pemilihan
Gambar 4.1 Skema Alur Sistem Berjalan
Tahapan proses yang ada saat proses pemilihan yang saat ini
berlangsung adalah pemilih datang ke TPS yang tersedia, kemudian
mendaftarkan identitas diri, setelah itu panitia akan memberikan
sebuah surat suara. Setelah mendapatkan surat suara pemilih menuju
ke bilik suara untuk melakukan pemilihan. Usai mencoblos pemilih
akan menuju ke kotak suara untuk meletakan surat suara mereka.
Tahap terakhir adalah pemilih meja panitia dan mencelupkan jari
mereka dengan tinta guna menandakan bahwa pemilih telah
memilih.
4.2.5 Analisa Sistem Usulan
Sistem usulan yang diajukan pada tahap ini berdasarkan identifikasi
kebutuhan dan analisis sistem berjalan, sistem e-voting akan digunakan
dalam pembuatan sistem pemungutan suara elektronik untuk tuna netra.
Dengan masukan berupa suara dan keluaran berupa suara yang diputar pada
client (raspberry pi) sebagai media input dan output.
Gambar 4.2 menunjukkan secara garis besar bagaimana sistem
usulan berjalan dengan menggunakan Raspberry Pi dan Hardware
pendukung lainnya.
UIN Syarif Hidayatullah Jakarta
54
Gambar 4.2 Sistem usulan
Gambar 4.2 menunjukkan alur sistem yang diusulkan. Pertama
pengguna harus didaftarkan terlebih dahulu oleh admin melalui aplikasi
web. Setelah terdaftar pengguna berpindah ke alur pemilihan, sistem dapat
menerima masukan melalui suara dengan menggunakan microphone setelah
itu akan diproses oleh raspberry pi client dan akan membalas dengan output
berupa suara melalui speaker. Pengguna dapat melihat hasil perhitungan
langsung secara live dengan mengakses aplikasi web yang tersedia.
Berikut penjelasan dari komponen sistem usulan:
ETHERNET
USB
USB
HDMIPWR IN
U2U1
A/V
CAM
ERA
DIS
PLAY
RUN
ACT
PWR
GPI
O
GPI
O 3
GPI
O 1
1
Gro
und
3V3
GPI
O 1
9
ID_S
D
GPI
O 2
GPI
O 2
6
Gro
und
GPI
O 9
3V3
GPI
O 2
7 G
PIO
17
Gro
und
GPI
O 1
0
GPI
O 6
GPI
O 4
GPI
O 5
GPI
O 1
3
GPI
O 2
2
GPI
O 2
1G
PIO
20
GPI
O 1
6G
roun
dG
PIO
12
Gro
und
ID_S
CG
PIO
7G
PIO
8G
PIO
25
Gro
und
GPI
O 2
4G
PIO
23
Gro
und
GPI
O 1
8G
PIO
15
GPI
O 1
4 G
roun
d 5V
5V
Raspberry Pi 2Model B
Raspberry PI Client
Microphone
Speaker
User
User Web App Administrator
Alur Registrasi Pengguna
Alur Pemilihan
User Web App
Live Count
CloudSpeech API
Open Vote API
UIN Syarif Hidayatullah Jakarta
55
• Administrator Web App: Berfungsi sebagai sistem untuk
mempermudah admin melakukan registrasi pemilih, registrasi
kandidat dan mengelola data kegiatan serta hasil pemilu melalui
website.
• Raspberry Pi Client: Berfungsi sebagai alat untuk mempermudah
pengguna disabilitas berinteraksi dengan sistem e-voting tanpa
memerlukan interaksi sentuhan atau GUI (Graphical User
Interface) seperti aplikasi konvensional.
• Live Count Web App: Berfungsi sebagai sistem untuk menampilkan
hasil suara yang telah masuk secara real-time kepada pemilih atau
kandidat.
• Google Cloud Speech API: Berfungsi sebagai media untuk
menerjemahkan audio pengguna menjadi perintah yang dapat
dipahami oleh raspberry pi.
• Open Vote API: Berfungsi sebagai penghubung komunikasi antara
raspberry pi dengan sistem e-voting.
• Microphone : Berfungsi menangkap audio dari pengguna dan
diteruskan ke raspberry pi.
• Speaker: Berfungsi mengeluarkan audio dari raspberry pi untuk
diteruskan kepada pengguna.
Berikut adalah penjelasan dan gambaran secara detail berdasarkan
gambaran secara garis besar di atas:
A. Proses pada Alur Administrator Web:
Gambar 4.3 Proses interaksi pengguna dengan web admin
• Administrator akan mengakses web administrator, dan masuk ke dalam
sistem
User Web App Administrator
UIN Syarif Hidayatullah Jakarta
56
Gambar 4.4 Proses tambah, hapus, ubah dan tampilkan informasi di web
admin
• Administrator dapat menambahkan, menghapus, mengubah data
pemilih, data kegiatan pemilihan yang sedang berlangsung serta
kandidat yang mengikuti pemilihan, semua informasi akan disimpan di
database server.
B. Proses pada Alur pemilihan:
Gambar 4.5 Proses pengguna pada raspberry pi
• Pengguna akan berbicara melalui microphone yang disediakan,
microphone akan menangkap suara dan meneruskannya ke raspberry pi
untuk dikelola lebih lanjut.
Gambar 4.6 Proses dari microphone ke Google Cloud Speech
• Suara yang ditangkap oleh microphone akan diproses PyAudio setelah
itu akan diteruskan ke services class dan akan dilanjutkan oleh cloud
client dimana, cloud client akan mengirimkan data audio ke Google
Cloud Speech API.
Administrator Web App
tambah, hapus, edit data pemilih
tambah, hapus, edit data kandidat
tambah, hapus, edit data kegiatan pemilihan
Tampilkan hasil pemilihan
ETHERNET
USB
USB
HDMIPWR IN
U2U1
A/V
CAM
ERA
DIS
PLAY
RUN
ACT
PWR
GPI
O
GPI
O 3
GPI
O 1
1
Gro
und
3V3
GPI
O 1
9
ID_S
D
GPI
O 2
GPI
O 2
6
Gro
und
GPI
O 9
3V3
GPI
O 2
7 G
PIO
17
Gro
und
GPI
O 1
0
GPI
O 6
GPI
O 4
GPI
O 5
GPI
O 1
3
GPI
O 2
2
GPI
O 2
1G
PIO
20
GPI
O 1
6G
roun
dG
PIO
12
Gro
und
ID_S
CG
PIO
7G
PIO
8G
PIO
25
Gro
und
GPI
O 2
4G
PIO
23
Gro
und
GPI
O 1
8G
PIO
15
GPI
O 1
4 G
roun
d 5V
5V
Raspberry Pi 2Model B
Raspberry PI Client
Microphone
User CloudSpeech API
MicrophoneCloud
Speech API
PyAudio Services Class Cloud Client
UIN Syarif Hidayatullah Jakarta
57
Gambar 4.7 Proses dari Google Cloud Speech API ke Web Admin API
• Cloud Speech Api akan mengembalikan data berupa hasil
penerjemahan audio, selanjutnya services class akan berinteraksi
dengan server.
Gambar 4.8 Proses dari server menuju ke pengguna
• Setelah services class mendapatkan balasan dari server atau Cloud
Speech Api, services class akan memberikan perintah yang akan
diterjemahkan oleh espeak (Text to Speech Engine) kemudian akan
memberi balasan kepada pengguna melalui speaker.
C. Proses pada Alur Live Count Web:
Gambar 4.9 Proses interaksi pemilih dengan Web Live Count
• Pemilih dapat mengakses halaman live count, di halaman tersebut
seluruh data suara yang masuk akan ditampilkan secara real-time
tanpa delay.
Services ClassCloud Client
CloudSpeech API
Open Vote API
Services Class
CloudSpeech API
Open Vote API
Speaker
Espeak (TTS Engine)
Pemilih Web App Open Vote API
UIN Syarif Hidayatullah Jakarta
58
• Halaman membuat koneksi dengan server dan server akan
mengirimkan data ke halaman jika ada suara masuk.
4.3 Tahap Membangun Sistem
4.3.1 Pembuatan Flowchart
Merancang atau mendesain suatu sistem bisa didefinisikan sebagai
tugas yang fokus pada detail spesifikasi dari solusi berbasis komputer.
Penulis membuat sebuah flowchart atau alur kerja dari sistem pemungutan
suara elektronik untuk mempermudah penulis dalam mengimplementasikan
teori, dan algoritma yang dipilih. Gambar flowchart sistem rancangan yang
akan penulis buat dapat dilihat pada gambar berikut.
Gambar 4.10 Flowchart Pemilih
Berdasarkan gambar flowchart 4.10 berikut adalah alur kerja dari pemilih :
Mulai
Mulai Bicara
Autentikasi
Daftar Kandidat
Pilih Kandidat
Selesai
True
False
False
True
UIN Syarif Hidayatullah Jakarta
59
• Pemilih mulai berbicara melalui microphone dan menyebutkan nomor
identitas pemilih yang telah didefinisikan oleh administrator
• Sistem akan mencoba melakukan autentikasi berdasarkan nomor identitas
yang telah disebutkan dengan berkomunikasi dengan Server.
• Jika autentikasi berhasil maka pemilih akan pindah ke menu selanjutnya dan
mendengar instruksi yang disediakan oleh sistem melalui headphone /
speaker. Jika autentikasi gagal maka pemilih akan diminta melakukan
autentikasi ulang.
• Proses selanjutnya adalah sistem akan memberikan feedback audio yang
berisi daftar kandidat yang tersedia dengan format nama dan nomor pilih.
• Tahap terakhir adalah pilih kandidat, dengan menggunakan nomor pilih
yang telah disebutkan di proses sebelumnya, pemilih tinggal menyebutkan
nomor pilihan kandidat yang diinginkan. Jika berhasil maka sistem akan
memberikan feedback berhasil dan jika gagal maka sistem akan
memberikan feedback gagal untuk mencoba kembali
Gambar 4.11 Flowchart Administrator
Mulai
Masukan Username Password
Autentikasi
Tampilkan Menu
Tambah, Hapus, Edit Pengguna
Process
Tambah, Hapus, Edit Pemilihan
Tambah, Hapus, Edit Kandidat
Selesai
True
False
True True True
False False False
UIN Syarif Hidayatullah Jakarta
60
Berdasarkan gambar flowchart 4.11, berikut adalah alur kerja dari pemilih
:
• Administrator masuk ke halaman web administrator dan memasukan
username dan password untuk masuk ke dalam sistem.
• Jika autentikasi berhasil maka administrator akan diteruskan masuk, jika
gagal maka administrator tetap berada di halaman tersebut dan diminta
untuk mencoba kembali.
• Administrator akan masuk ke halaman utama, halaman ini akan
menampilkan semua menu yang tersedia.
• Jika administrator memilih menu pengguna, maka administrator dapat
menambah, hapus, edit, pengguna sistem e-voting.
• Jika administrator memilih menu pemilihan, maka administrator dapat
menambah, hapus, edit, pemilihan yang sedang berlangsung.
• Jika administrator memilih menu pengguna, maka administrator dapat
menambah, hapus, edit, kandidat yang dapat dipilih oleh pengguna.
• Ditahap ini semua perintah yang telah diinput oleh administrator akan
diproses dan disimpan di sisi server.
Gambar 4.12 Flowchart Tampilan Live Count
Berdasarkan gambar flowchart 4.12, berikut adalah alur kerja dari live count:
• Pengguna mengakses halaman web live count.
Mulai
Display
Berhenti
UIN Syarif Hidayatullah Jakarta
61
• Halaman web live count akan menampilkan semua kandidat yang tersedia
untuk sebuah kegiatan pemilihan, berikut jumlah suara yang masuk. Sistem
akan menampilkan semua suara yang masuk secara real-time.
4.3.2 Pembuatan Use Case
A. Use Case Diagram
Mendeskripsikan interaksi antara aktor dan kebutuhan
fungsional di dalam sistem yang dibuat. Berikut ini merupakan use
case diagram dari sistem pemungutan suara elektronik
menggunakan Google Cloud Speech berbasis Raspberry Pi :
Gambar 4.13 Use Case Diagram
B. Use Case Diagram
Membuat tabel yang menjelaskan skenario dari diagram use
case yang ada. Use case scenario mendefinisikan apa yang dilakukan
System
Manajemen Kandidat
ManagementPengguna
ManagementKegiatan Pemillu
Administrator (Panitia)
PemilihPungut Suara
Lihat Perhitungan
Login
UIN Syarif Hidayatullah Jakarta
62
oleh sistem ketika aktor mengaktifkan use case. Struktur dari use case
scenario ini terdiri dari:
1. Nama use case.
2. Aktor yang terlibat.
3. Pre-condition yang penting bagi use case untuk memulai.
4. Deskripsi rinci dari aliran kejadian yang mencakup:
• Main flow dari kejadian yang bisa dirinci lagi menjadi sub flow
dari kejadian (sub flow bisa dibagi lagi lebih jauh menjadi sub
flow yang lebih kecil agar dokumen lebih mudah dibaca dan
dimengerti)
• Alternative flow untuk mendefinisikan situasi perkecualian
• Post-condition yang menjelaskan state dari sistem setelah use
case berakhir.
Tabel 4.3 Use Case Login
Use case name Login
Use case id 1
Actor Administrator
Description Use case menggambarkan kegiatan untuk masuk kedalam
sistem
Pre-condition N/A
Typical course of
events
Actor action System Response
1. Mengakses halaman
sistem e-voting.
2. Menampilkan halaman
login
Alternate
Course
Jika terjadi kesalahan pada saat mencoba masuk kedalam
sistem, sistem akan menampilkan error
Post-condition Aktor berhasil masuk ke dalam sistem
Tabel 4.4 Use Case Manajemen Kandidat
Use case name Manajemen Kandidat
Use case id 2
Actor Administrator
UIN Syarif Hidayatullah Jakarta
63
Description Use case menggambarkan kegiatan untuk menambah,
menghapus, mengubah data kandidat
Pre-condition Aktor telah masuk ke dalam sistem dan memilih akses
sebagai admin
Typical course of
events
Actor action System Response
1. Mengakses halaman
manajemen kandidat
2. Menampilkan daftar
kandidat yang telah
tersimpan
Alternate
Course
Sistem akan menampilkan “tidak ada kandidat yang
aktif” jika saat itu tidak ada data kandidat.
Post-condition Aktor berhasil melihat daftar kandidat yang tersimpan
Tabel 4.5 Use case Manajemen Pengguna
Use case name Manajemen Pengguna
Use case id 3
Actor Administrator
Description Use case menggambarkan kegiatan untuk menambah,
menghapus, mengubah data pengguna
Pre-condition Aktor telah masuk ke dalam sistem dan memilih akses
sebagai admin
Typical course of
events
Actor action System Response
1. Mengakses halaman
manajemen pengguna
2. Menampilkan daftar
pengguna yang telah
tersimpan
Alternate
Course
Sistem akan menampilkan “tidak ada pengguna yang
aktif” jika saat itu tidak ada data pengguna.
Post-condition Aktor berhasil melihat daftar pengguna yang tersimpan
Tabel 4.5 Use Case Manajemen Kegiatan Pemilu
Use case name Manajemen Kegiatan Pemilu
Use case id 4
UIN Syarif Hidayatullah Jakarta
64
Actor Administrator
Description Use case menggambarkan kegiatan untuk menambah,
menghapus, mengubah data kegiatan pemilihan
Pre-condition Aktor telah masuk ke dalam sistem dan memilih akses
sebagai admin
Typical course of
events
Actor action System Response
1. Mengakses halaman
manajemen kegiatan
pemilu
2. Menampilkan daftar
kegiatan pemilu yang
telah tersimpan
Alternate
Course
Sistem akan menampilkan “tidak ada kegiatan pemilu”
jika saat itu tidak ada data kegiatan.
Post-condition Aktor berhasil melihat daftar kegiatan pemilu yang
tersimpan
Tabel 4.6 Use Case Pungut Suara
Use case name Pungut Suara
Use case id 5
Actor Pemilih
Description Use case menggambarkan kegiatan untuk memungut
suara terhadap seorang kandidat
Pre-condition Aktor telah masuk ke dalam sistem
Typical course of
events
Actor action System Response
1. Memilih kandidat 2. Menampilkan pesan
berhasil
Alternate
Course
Sistem akan menampilkan “sudah memilih” apabila
pengguna mencoba memilih 2 kali, dan “kandidat tidak
ditemukan” apabila kandidat tidak valid
Post-condition Aktor berhasil memungut suara terhadap kandidat yang
diinginkan
UIN Syarif Hidayatullah Jakarta
65
Tabel 4.7 Lihat Perhitungan
Use case name Lihat perhitungan
Use case id 6
Actor Pemilih / Administrator
Description Use case menggambarkan kegiatan untuk melihat jumlah
suara yang telah masuk kedalam sistem
Pre-condition Aktor telah masuk ke dalam sistem
Typical course of
events
Actor action System Response
1. Membuka halaman live
count
2. Menampilkan jumlah
suara yang telah masuk
Alternate
Course
Sistem akan menampilkan “belum ada suara masuk”
apabila belum ada yang memungut suaranya
Post-condition Aktor berhasil melihat jumlah suara yang masuk
4.3.3 Pembuatan Activity Diagram
Activity diagram memodelkan workflow proses bisnis dan urutan
aktivitas dalam sebuah proses. Diagram ini sangat mirip dengan flowchart,
karena memodelkan workflow dari satu aktivitas ke aktivitas lainnya. Pada
awal pemodelan, proses activity diagram berguna untuk membantu
memahami keseluruhan proses.
UIN Syarif Hidayatullah Jakarta
66
Gambar 4.14 Activity Diagram Pemilih
Gambar 4.14 Menunjukkan hubungan antara pengguna dengan
sistem pada proses pemilihan. Pertama user menyebutkan user id, setelah
itu sistem akan menangkap masukan audio dan terjadi proses translasi audio
menjadi perintah. Jika perintah dikenali maka perintah akan diproses ke
tahap selanjutnya, jika perintah tidak dikenali maka pengguna perlu
mengulangi proses ini.
Tahap selanjutnya adalah memutar audio kandidat yang tersedia.
Setelah mendengar audio kandidat yang tersedia, pengguna hanya perlu
mengingat nomor kandidat yang diinginkan dan menyebutkan nomor
kandidat tersebut jika ingin memilih kandidat tersebut. Jika kandidat
dikenali maka suara akan diproses dan disimpan oleh server. Jika tidak
maka suara invalid dan pengguna dapat mengulangi kembali tahapan ini.
User Sistem
start
Sebutkan user_id Proses Translasi menjadi perintah
translasi
Proses PerintahDengar Audio
Putar kandidat yang tersediaSebutkan kandidat
Proses Translasi
translasi
Simpan pilihan
UIN Syarif Hidayatullah Jakarta
67
Gambar 4.15 Activity Diagram Administrator
Gambar 4.15 Menunjukkan hubungan antara administrator dengan
sistem. Pertama administrator memasukan username dan password, setelah
itu sistem akan memvalidasi masukan jika masukan valid maka sistem akan
melalukan proses autentikasi, jika autentikasi berhasil sistem akan
menampilkan menu utama.
Jika autentikasi gagal administrator perlu mengulangi tahapan
memasukkan username dan password. Setelah sistem menampilkan menu
utama, administrator bisa memilih menu yang ingin diakses, sistem akan
menampilkan halaman yang dipilih selanjutnya sistem juga akan
menampilkan aksi yang tersedia seperti tambah, hapus, update dan delete.
Jika aksi dipilih maka sistem akan memproses aksi tersebut dan perubahan
akan disimpan di sisi server.
Administrator Sistem
Masukan username dan password Validasi masukan
Tampilkan menu utama
Menampilkan halaman yang
dipiilih
pilih menu
Menampilkan aksi yang tersedia
pilih aksi
Memproses aksi yang dipilih
Memproses aksi
Proses Autentikasi
valid
autentikasi
UIN Syarif Hidayatullah Jakarta
68
Gambar 4.16 Activity Live Count
Gambar 4.16 Menunjukkan hubungan aktivitas antara pengunjung
dengan sistem. Pertama pengunjung mengakses halaman web selanjutnya
sistem akan menarik data kandidat pada kegiatan pemilihan yang
berlangsung, kemudian akan menarik data suara kandidat yang valid dan
telah terekam.
4.3.4 Pembuatan Sequence Diagram
Sequence diagram menggambarkan kelakuan obyek pada use case
dengan mendeskripsikan waktu hidup obyek dan message yang dikirimkan
dan diterima antar obyek. Sequence diagram menjelaskan secara detail
urutan proses yang dilakukan oleh sistem untuk mencapai tujuan dari use
case, interaksi yang terjadi antar class, operasi apa saja yang terlibat serta
urutan antar operasi dan informasi yang diperlukan oleh masing-masing
operasi.
Pengunjung Sistem
Mengakses halaman web
Tampilkan halaman
Tarik data
UIN Syarif Hidayatullah Jakarta
69
Gambar 4.17 Sequence Diagram Administrator
Gambar 4.18 Sequence Diagram Pemilih
Gambar 4.19 Sequence Diagram Hasil
Admin Sistem Server Database
Menggunakan Sistem E-Voting Validasi Data Tersimpan
Tarik DataTampilkan
Pemilih Sistem Google Cloud
Berbicara Kirim Audio
Hasil Transkripsi
Server
Kirim Perintah
Hasil Perintah
Audio Feedback
Pemilih Sistem
Buka Halaman Kirim Permintaan
Hasil Permintaan
Server
UIN Syarif Hidayatullah Jakarta
70
4.3.5 Pembuatan Class Diagram
Merupakan diagram yang selalu ada pada pemodelan sistem yang
berorientasi objek. Class diagram menunjukkan hubungan antar class
dalam sistem yang sedang dibangun dan bagaimana mereka saling
berkolaborasi untuk mencapai suatu tujuan.
Gambar 4.4.20 Class Diagram
Pada objek Pengguna diatas merepresentasikan entitas pengguna,
dimana objek memiliki atribut atau property seperti user_id, nama, nomor
handphone, password, email dan level akses. Objek user memiliki metode
untuk memvoting yang berelasi dengan objek Vote, berpartipasi sebagai
kandidat yang berelasi dengan objek kandidat. Selain objek Pengguna
terdapat objek Kandidat, dimana objek ini merepresentasikan entitas
pengguna yang mencalonkan diri atau dicalonkan sehingga dapat dipilih
dalam sebuah kegiatan pemilihan.
Objek Pemilihan adalah objek yang merepresentasikan entitas
kegiatan pemilihan yang berlangsung di suatu organisasi atau institusi.
Objek Vote adalah objek yang merepresentasikan entitas yang menampung
suara yang masuk dari user untuk kandidat.
add()edit()update()delete()enroll()unroll()vote()
user_idNameEmailphone_numberpasswordrole
User
add()edit()update()delete()
candidate_idNamedescription
Candidate
add()edit()update()delete()
election_idNamedescription
Election
vote_idcandidate_iduser_id
Vote
UIN Syarif Hidayatullah Jakarta
71
4.3.6 Pembuatan Inteface
Pada tahap ini dilakukan perancangan tampilan (antarmuka)
halaman-halaman web. Perancangan antarmuka ini diharapkan dapat
memudahkan administrator mengelola informasi terkait pemungutan suara
serta pemilih mengetahui hasil perhitungan yang sudah masuk. Halaman
antar muka dibedakan menjadi 2 yaitu halaman administrator dan halaman
pemilih.
Gambar 4.21 Halaman Login
Gambar 4.21 adalah tampilan halaman login untuk administrator.
Pada saat administrator ingin masuk ke dalam sistem administrator harus
melewati halaman ini dan memasukkan username dan password yang telah
tersimpan didalam sistem. Apabila administrator berhasil maka akan masuk
ke halaman utama yang menampilkan semua fitur yang tersedia.
UIN Syarif Hidayatullah Jakarta
72
Gambar 4.22 Halaman Manajemen Kandidat
Gambar 4.22 adalah tampilan halaman manajemen kandidat untuk
administrator. Pada halaman ini administrator dapat menambah,
menghapus, mengubah dan melihat kandidat yang dapat dipilih oleh
pengguna dalam kegiatan pemilihan
Gambar 4.23 Halaman Manajemen Pengguna
Gambar 4.23 adalah tampilan halaman manajemen pengguna untuk
administrator. Pada halaman ini administrator dapat menambah,
UIN Syarif Hidayatullah Jakarta
73
menghapus, mengubah dan melihat pengguna yang dapat mengakses dan
melakukan pemilihan di dalam sistem.
Gambar 4.24 Halaman Manajemen Kegiatan
Gambar 4.24 adalah tampilan halaman manajemen kegiatan untuk
administrator. Pada halaman ini administrator dapat menambah,
menghapus, mengubah dan melihat kegiatan pemilihan yang sedang
berlangsung di dalam sistem.
UIN Syarif Hidayatullah Jakarta
74
Gambar 4.25 Halaman Hasil Pemilihan
Gambar 4.25 adalah tampilan halaman hasil pemilihan untuk
administrator. Pada halaman ini administrator dapat melihat jumlah suara
yang telah masuk tetapi tidak dapat mengubah ataupun memanipulasi suara
yang telah masuk dan terekam di dalam sistem.
Gambar 4.26 Halaman Live Count
Gambar 4.26 adalah tampilan halaman manajemen kandidat untuk
administrator. Pada halaman ini administrator dapat menambah,
UIN Syarif Hidayatullah Jakarta
75
menghapus, mengubah dan melihat kandidat yang dapat dipilih oleh
pengguna dalam kegiatan pemilihan
4.3.7 Pembuatan Rancangan Keamanan
Sistem web e-voting dirancang untuk sebisa mungkin aman baik itu
keamanan dari sisi luar yaitu penyerang maupun dalam yaitu admin itu
sendiri. Untuk itu beberpa metode pengamanan akan diterapkan pada sistem
yang akan dibuat. Beberapa rancang keamanan yaitu:
• Aplikasi dijalankan di dalam cloud yang telah teruji keamanan dan
kehandalannya yaitu Google Cloud
• Aplikasi terhubung dengan domain vousmeevoyez.xyz dan telah
menggunakan SSL tervalidasi
• Password yang digunakan di hash menggunakan SHA-256
• Membatasi login gagal sebatas 3 kali
• Menggunakan JWT sebagai metode autentikasi
• Menggunakan Serializer pada setiap request body sehingga input akan
selalu divalidasi
• Membatasi fungsionalitas admin dan pengguna
4.4 Tahap Implementasi Sistem
Tahapan selanjutnya adalah tahap implementasi sistem, yang merupakan
tahap menerjemahkan desain sistem menjadi sebuah bahasa pemrograman.
Mengacu kepada analisis sistem usulan, yang menggunakan beberapa fungsi
hardware yang harus diprogram agar bisa berjalan sebagaimana fungsinya.
Implementasi sistem dibagi menjadi 3 tahapan yaitu:
4.4.1 Pemprograman Alat
Kontruksi perangkat keras yang digunakan adalah sebagai berikut:
UIN Syarif Hidayatullah Jakarta
76
Gambar 4.27 Skema Alat
Dari gambar diatas dapat dilihat bahwa raspberry pi akan menerima
masukan berupa audio melalui microphone, setelah itu akan berkomunikasi
dengan google cloud speech API, untuk menerjemahkan audio ke dalam
perintah yang dimengerti oleh sistem dan setelah itu akan berkomunikasi
dengan server. Raspberry pi akan mengeluarkan output berupa audio
kembali melalui speaker.
Untuk dapat berkomunikasi dengan server dan memproses audio kita
perlu menginstall beberapa library di raspberry pi seperti google cloud
client, pyaudio. Berikut gambar library yang diperlukan.
Microphone
Speaker
USB
3.5 MM Audio Jack
CloudSpeech
API
Open Vote API
Internet
UIN Syarif Hidayatullah Jakarta
77
Gambar 4.28 Library yang diperlukan
Setelah mengistal seluruh library yang diperlukan maka kita perlu
membuat kode untuk dapat mengelola audio dan mengirimkannya ke
Google Cloud Speech API. Berikut adalah file listen.py yang berkomunikasi
dengan Google Cloud Speech API
UIN Syarif Hidayatullah Jakarta
78
Gambar 4.29 file listen.py
Selain berkomunikasi dengan Google Cloud Speech API, audio akan dapat
diterjemahkan oleh raspberry pi dan akan diteruskan ke server e-voting untuk
menarik atau mengirim data yang diperlukan seperti daftar kandidat dan
kandidat yang dipilih.
Berikut adalah file services.py yang berkomunikasi dengan server
UIN Syarif Hidayatullah Jakarta
79
Gambar 4.30 file services.py
Setelah semua bagian kode yang diperlukan selesai, kita dapat merangkai
alat dan menjalankan aplikasi di raspberry pi
Gambar 4.31 Alat yang telah dirangkai
4.4.2 Pemprograman Web Admin
Berdasarkan pada Gambar 4.2, selain mengkodekan di sisi alat yaitu
raspberry pi, kita memerlukan sebuah aplikasi di sisi server yang dapat
mengelola dan menyimpan data terkait sistem e-voting seperti daftar
kandidat dan suara yang masuk. Selain itu server juga harus dapat menerima
dan membalas data yang dikirimkan dari raspberry pi.
UIN Syarif Hidayatullah Jakarta
80
Gambar 4.32 file Auth Services.py
Auth Services ini berfungsi untuk mengatur autentikasi yang terjadi
didalam sistem. Jika username dan password benar maka sistem akan
membuat token untuk user tersebut.
UIN Syarif Hidayatullah Jakarta
81
Gambar 4.33 file election services.py
Election Services ini berfungsi untuk mengatur data terkait kegiatan
pemilihan yang tersimpan di dalam sistem, seperti tambah kegiatan
pemilihan, tampilkan kegiatan pemilihan, hapus kegiatan pemilihan dan
perbaharui kegiatan pemilihan
Gambar 4.34 file candidate services.py
Candidate Services ini berfungsi untuk mengatur data terkait
kandidat yang tersimpan di dalam sistem, seperti tambah kandidat
pemilihan, tampilkan kandidat pemilihan, hapus kandidat pemilihan dan
perbaharui kandidat pemilihan
UIN Syarif Hidayatullah Jakarta
82
Gambar 4.35 file user services.py
User Services ini berfungsi untuk mengatur data terkait pengguna
yang tersimpan di dalam sistem, seperti tambah pengguna, tampilkan
pengguna, hapus pengguna dan perbaharui pengguna
UIN Syarif Hidayatullah Jakarta
83
Gambar 4.36 file vote services.py
Vote Services ini berfungsi untuk memproses informasi hasil suara
yang masuk ke suatu kandidat pemilihan dan menampilkannya di website
admin dan live count.
UIN Syarif Hidayatullah Jakarta
84
Gambar 4.37 file models.py
Impementasi JWT guna melindungi sistem dari ancaman dan penggunaan
diluar tujuan.
4.4.3 Pemprograman Web Live Count
Untuk dapat melihat hasil perhitungan suara secara real-time kita
memerlukan sebuah aplikasi yang dapat menampilkan data suara yang telah
masuk ke dalam sistem. Berikut adalah potongan kode yang digunakan
membuat halaman web live count.
UIN Syarif Hidayatullah Jakarta
85
Gambar 4.38 file routes.py
Routes.py berfungsi menampilkan halaman web yang diakses oleh
pengguna, routes.py akan berkomunikasi dengan services.py
Gambar 4.39 file services.py
Services.py berfungsi untuk melakukan komunikasi via API dengan
Server, yaitu mengambil data kandidat di pemilihan yang sedang
berlangsung serta jumlah suara saat ini.
Gambar 4.40 file index.html
Index.html adalah file yang berisi HTML yang digunakan untuk sebagai
halaman live, terhubung dengan Javascript atau CSS untuk memperindah
halaman dan membuat halaman web interaktif.
UIN Syarif Hidayatullah Jakarta
86
4.5 Tahap Pengujian Sistem
4.5.1 Black Box Testing
Pengujian ini dilakukan secara alpha. Metode yang digunakan
dalam pengujian alpha adalah metode Black Box Testing. Metoda ini yang
berfokus pada fungsionalitas sistem terutama hasil inputan dan keluaran
yang dilakukan oleh pengguna. Pengujian dikatakan berhasil jika output
sesuai dengan kendali input yang dimasukkan pada tiap perintah.
A. Pengujian Alat
Setelah melakukan perancangan dan implementasi, peneliti
melakukan evaluasi terhadap alat yang dibangun. Hasil dari evaluasi penulis
rangkum dalam bentuk tabel berikut. Tabel 4.8 Black Box Testing Alat
Kebutuhan Deskripsi Hasil yang
diharapkan Hasil
Pengguna dapat
melakukan
autentikasi
menggunakan suara
Input suara dengan
menyebutkan
nomor identitas
yang telah
diregister oleh
admin
Sistem memberi
balasan suara Berhasil
Pengguna dapat
mengetahui siapa
saja kandidat yang
ingin dipilih
Input suara untuk
menampilkan
kandidat yang
tersimpan
Sistem memberi
balasan suara
yaitu daftar
kandidat yang
dapat dipilih
Berhasil
Pengguna dapat
memilih kanddiat
menggunakan suara
Input suara untuk
memilih kandidat
Sistem memberi
balasan suara Berhasil
B. Pengujian Web Admin
UIN Syarif Hidayatullah Jakarta
87
Setelah melakukan perancangan dan implementasi, peneliti
melakukan evaluasi terhadap alat yang dibangun. Hasil dari evaluasi penulis
rangkum dalam bentuk tabel berikut. Tabel 4.9 Black Box Testing Web Admin
Kebutuhan Deskripsi Hasil yang
diharapkan Hasil
Administrator dapat
masuk ke dalam sistem
Administrator
melakukan autentikasi di
halaman login
Masuk ke sistem Berhasil
Administrator dapat
mengatur pengguna
Administrator
menambah, menghapus,
melihat dan mengubah
data pengguna
Sistem
menyimpan
perubahan data
Berhasil
Administrator dapat
mengatur kegiatan
pemilihan
Administrator
menambah, menghapus,
melihat dan mengubah
data kegiatan pemilihan
Sistem
menyimpan
perubahan data
Berhasil
Administrator dapat
mengatur kandidat
Administrator
menambah, menghapus,
melihat dan mengubah
data kandidat
Sistem
menyimpan
perubahan data
Berhasil
Administrator dapat
mengatur voting
Administrator dapat
melihat hasil voting
Sistem
menampilkan data Berhasil
C. Pengujian Web Live Count
Setelah melakukan perancangan dan implementasi, peneliti
melakukan evaluasi terhadap web live count yang dibangun. Hasil dari
evaluasi penulis rangkum dalam bentuk tabel berikut.
Tabel 4.10 Black Box Testing Web Live Count
Deskripsi Hasil yang
diharapkan Hasil
UIN Syarif Hidayatullah Jakarta
88
User mengakses
halaman web Live
count
Halaman Web Live
count ditampilkan Berhasil
User dapat melihat
jumlah suara yang
telah masuk ke
dalam sistem secara
real-time
Suara kandidat yang
telah masuk
ditampilkan secara
real-time
Berhasil
4.5.2 User Acceptance Test
Pada pengembangan perangkat lunak, user acceptance testing (UAT), juga
disebut pengujian beta (beta testing), pengujian aplikasi (application testing), dan
pengujian pengguna akhir (end user testing) adalah tahapan pengembangan
perangkat lunak ketika perangkat lunak diuji pada “dunia nyata” yang dimaksudkan
oleh pengguna. Test case yang dilakukan ada 4 yaitu, instruksi penggunaan,
melakukan autentikasi, memutar daftar kandidat dan memilih kandidat. Pengujian
terhadap 3 orang menunjukan nilai yang berbeda-beda, hasil tersebut dapat dilihat
pada tabel:
UIN Syarif Hidayatullah Jakarta
89
Tabel 4.11 User Acceptance Testing Muhammad Vinggang
User Acceptance Testing
Tanggal Uji: 3 Mei 2019
Penguji: Muhammad Vinggang
Test Case Langkah Pengujian Hasil yang
diharapkan
Hasil
Aktual
Keterangan
Menampilkan
instruksi
penggunaan
Mengaktifkan alat
Sistem memberi
balasan suara
tentang tata cara
penggunaan sistem
Sesuai
dengan
yang
diharapkan
Sistem
memutar
audio
instruksi
penggunaa
n alat
Melakukan
Autentikasi
Input suara dengan
menyebutkan nomor
identitas yang telah
diregister oleh admin
Sistem memberi
balasan suara dan
pengguna
terautentikasi
Sesuai
dengan
yang
diharapkan
Sistem
memutar
audio
instruksi
selanjutnya
Memutar daftar
kandidat
Input suara untuk
menampilkan
kandidat yang
tersimpan
Sistem memberi
balasan suara yaitu
daftar kandidat
yang dapat dipilih
Sesuai
dengan
yang
diharapkan
Sistem
memutar
audio
instruksi
selanjutnya
Memilih
kandidat
Input suara untuk
memilih kandidat
Sistem memberi
balasan suara
Sesuai
dengan
yang
diharapkan
N/A
Tabel 4.12 User Acceptance Testing Sukaesih
User Acceptance Testing
Tanggal Uji: 4 Mei 2019
Penguji: Sukaesih
Test Case Langkah Pengujian Hasil yang
diharapkan
Hasil
Aktual
Keterangan
UIN Syarif Hidayatullah Jakarta
90
Menampilkan
instruksi
penggunaan
Mengaktifkan alat
Sistem memberi
balasan suara
tentang tata cara
penggunaan sistem
Sesuai
dengan
yang
diharapkan
Sistem
memutar
audio
instruksi
penggunaa
n alat
Melakukan
Autentikasi
Input suara dengan
menyebutkan nomor
identitas yang telah
diregister oleh admin
Sistem memberi
balasan suara dan
pengguna
terautentikasi
Sesuai
dengan
yang
diharapkan
Sistem
memutar
audio
instruksi
selanjutnya
Memutar daftar
kandidat
Input suara untuk
menampilkan
kandidat yang
tersimpan
Sistem memberi
balasan suara yaitu
daftar kandidat
yang dapat dipilih
Sesuai
dengan
yang
diharapkan
Sistem
memutar
audio
instruksi
selanjutnya
Memilih
kandidat
Input suara untuk
memilih kandidat
Sistem memberi
balasan suara
Sesuai
dengan
yang
diharapkan
N/A
UIN Syarif Hidayatullah Jakarta
91
Tabel 4.13 User Acceptance Testing Muhammad Yoga
User Acceptance Testing
Tanggal Uji: 4 Mei 2019
Penguji: Muhammad Yoga
Test Case Langkah Pengujian Hasil yang
diharapkan
Hasil
Aktual
Keterangan
Menampilkan
instruksi
penggunaan
Mengaktifkan alat
Sistem memberi
balasan suara
tentang tata cara
penggunaan sistem
Sesuai
dengan
yang
diharapkan
Sistem
memutar
audio
instruksi
penggunaa
n alat
Melakukan
Autentikasi
Input suara dengan
menyebutkan nomor
identitas yang telah
diregister oleh admin
Sistem memberi
balasan suara dan
pengguna
terautentikasi
Sesuai
dengan
yang
diharapkan
Sistem
memutar
audio
instruksi
selanjutnya
Memutar daftar
kandidat
Input suara untuk
menampilkan
kandidat yang
tersimpan
Sistem memberi
balasan suara yaitu
daftar kandidat
yang dapat dipilih
Sesuai
dengan
yang
diharapkan
Sistem
memutar
audio
instruksi
selanjutnya
Memilih
kandidat
Input suara untuk
memilih kandidat
Sistem memberi
balasan suara
Sesuai
dengan
yang
diharapkan
N/A
92
BAB V HASIL DAN PEMBAHASAN
5.1 Hasil
Berdasarkan materi yang disampaikan di Bab II tentang sistem e-voting,
yang sistem e-voting adalah proses pemungutan suara secara elektronik
menggunakan komputer yang dicatatkan secara rahasia dan ter amankan.
Penggunaan Internet of Things, merupakan salah satu teknologi terbaru yang
menarik, dapat membantu dan diterapkan di berbagai kegiatan manusia.
Dengan sistem ini pengguna dengan keterbatasan fisik yaitu tuna netra dapat
melakukan pemilihan hanya dengan mengucapkan suara dan mendengarkan
instruksi yang diputar. Apabila pengguna mengucapkan instruksi yang tepat maka
instruksi akan diproses, proses dimulai dari autentikasi pengguna dengan
mengucapkan nomor identitas yang telah diberikan oleh administrator, memutar
audio daftar kandidat yang tersedia dan memilih kandidat yang diinginkan cukup
dengan mengucapkan kandidat yang diinginkan.
Apabila semua proses dilaksanakan dengan benar maka suara akan terekam
dan ditampilkan secara real-time di web live count yang tersedia. Berdasarkan
kebutuhan dari penelitian yang dilakukan, yaitu tentang sistem pemungutan suara
elektronik yang berfokus pada pengguna tuna netra dengan dilakukannya observasi,
wawancara dan kuesioner kepada penyandang tuna netra.
5.1.1 Web Admin
Web Admin adalah salah satu fitur untuk mengelola data yang
dibutuhkan dalam suatu kegiatan pemilihan seperti mengatur daftar
kandidat dan daftar pemilih. Seluruh data yang diubah dan ditambahkan di
web ini akan disimpan di server pusat sehingga data tersebut juga dapat
diakses oleh raspberry pi dan web live count.
93
UIN Syarif Hidayatullah Jakarta
Gambar 5.1 Halaman Login Admin
Untuk dapat mengakses halaman lain, pengguna admin harus
memasukkan username dan password yang tepat di halaman ini. Jika
berhasil maka akan diteruskan ke halaman manajemen pengguna.
Gambar 5.2 Halaman Manajemen Pengguna
Berikut adalah halaman manajemen pengguna. Pada halaman ini
administrator dapat menambah, menghapus, mengubah dan melihat pengguna yang
dapat mengakses dan melakukan pemilihan di dalam sistem.
94
UIN Syarif Hidayatullah Jakarta
Gambar 5.3 Halaman Manajemen Kandidat
Berikut adalah halaman manajemen Kandidat. Pada halaman ini
administrator dapat menambah, menghapus, mengubah dan melihat pengguna yang
menjadi kandidat kegiatan pemilihan.
Gambar 5.4 Halaman Hasil Pemilihan
Berikut adalah halaman manajemen hasil pemilihan. Pada halaman
ini administrator hanya dapat melihat hasil pemilihan yang telah
berlangsung.
5.1.2 Web Live Count
Sistem e-voting juga menyediakan Web Live Count sebagai salah
satu fitur untuk mengetahui jumlah suara yang masuk secara real-time
sehingga data yang masuk transparan dan dapat diketahui oleh seluruh
peserta kegiatan pemilihan. Dengan adanya sebuah web yang menampilkan
hasil perhitungan secara real-time kegiatan pemilihan dapat berlangsung
secara lebih efektif dan efisien. Seluruh data yang ditampilkan ini akan
berubah secara otomatis tergantung suara yang masuk dan terhitung di
server pusat.
95
UIN Syarif Hidayatullah Jakarta
Gambar 5.5 Halaman Web Live Count
5.1.3 Raspberry Pi
Pada dasarnya digunakan raspberry pi sebagai alat perpanjangan
dari sistem yang dikembangkan, alat ini bertugas untuk memproses semua
kegiatan yang diperlukan dalam melakukan terkait e-voting. Raspberry Pi
membutuhkan microphone untuk melakukan penangkapan audio atau suara,
yang kemudian diproses dengan google cloud library client untuk
menerjemahkan rekaman suara menjadi sebuah perintah yang dikenali
raspberry pi.
Selain itu ditambahkan juga headphone yang dikoneksikan lewat
audio jack 3.5mm pada raspberry pi sebagai media keluaran sistem. Dalam
upaya pembuatan sistem dapat diakses online dengan web, penulis
menggunakan raspberry pi 3 yang sudah terpasang 802.11n Wireless LAN,
sehingga dapat dengan mudah terkoneksi dengan internet. Power source
micro USB dengan 5V 2.0 A diperlukan untuk memberikan power pada
raspberry pi sehingga dapat menyala dan melakukan proses dengan baik
dan sesuai dengan kebutuhan.
5.2 Pengujian
Setelah sistem dikembangkan sesuai dengan metode yang telah dijelaskan
pada Bab sebelumnya, dilakukan skenario pengujian berikut:
5.2.1 Pengujian Beban CPU, Disk dan Network pada Server
Pengujian ini dilakukan dengan menggunakan tools Google
StackDriver. Server menggunakan compute engine dengan spesifikasi
custom yang dijelaskan di gambar 5.6:
96
UIN Syarif Hidayatullah Jakarta
Gambar 5.6 Spesifikasi Server Compute Engine
Setelah masing-masing pengujian dilakukan, didapatkan nilai CPU,
Network dan Disk yang dikonsumsi Sistem, data tersebut ditampilkan
dalam gambar dan table berikut:
Tabel 5.1 Penggunaan CPU pada Server No Waktu Penggunaan CPU(%)
1. 9.20 2.2
2. 9.25 2.2
3. 9.30 2.2
4. 9.35 3.0
5. 9.40 3.8
6. 9.45 3.8
7. 9.50 2.8
8. 9.55 2.8
9. 10.00 2.8
10. 10.05 2.8
Gambar 5.7 Grafik Penggunaan CPU pada Server Compute Engine
Dari tabel 5.1 dan gambar 5.7 menunjukkan pada waktu 9.20 – 9.30
server idle dan pada 9.40 – 9.45 terjadi peningkatan aktivitas sehingga cpu
97
UIN Syarif Hidayatullah Jakarta
mengalami burst untuk tetap dapat memproses aktivitas tersebut dan pada
9.50 – 10.05 server kembali idle.
Tabel 5.2 Penggunaan Network pada Server No Waktu Incoming Packet (KB) Outcoing Packet(KB)
1. 9.20 0.975 4.02
2. 9.25 0.975 4.02
3. 9.30 0.975 4.02
4. 9.35 1.0 5.86
5. 9.40 2.0 7.0
6. 9.45 0.975 4.02
7. 9.50 0.975 4.02
8. 9.55 0.975 4.02
9. 10.00 0.975 4.02
10. 10.05 0.975 5.86
Gambar 5.8 Grafik Penggunaan Jaringan pada
Server Compute Engine
Dari tabel 5.2 dan gambar 5.8 menunjukkan pada waktu 9.20 – 9.30
tidak banyak aktivitas pada jaringan server sehingga paket yang dikirim
menuju server (incoming) sangat kecil kurang dari 1 KB dan paket yang
dikirim dari server (outgoing) kurang dari 5.86 KB. Pada waktu 9.35 – 9.40
terjadi peningkatan aktivitas incoming dan outgoing pada jaringan. Pada
9.50 – 10.05 jaringan idle kembali.
Tabel 5.3 Penggunaan Disk pada Server No Waktu Read Operation (KB) Write Operation(KB)
1. 9.20 0 7.22
2. 9.25 0 7.22
98
UIN Syarif Hidayatullah Jakarta
3. 9.30 0 7.22
4. 9.35 10 8.0
5. 9.40 0 8.0
6. 9.45 0 8.0
7. 9.50 0 7.22
8. 9.55 0 8.0
9. 10.00 0 8.0
10. 10.05 0 8.0
Gambar 5.9 Grafik Penggunaan Disk pada Server Compute Engine
Dari tabel 5.2 dan gambar 5.8 menunjukkan pada waktu 9.20 – 9.30
tidak ada operasi read pada server hanya ada operasi write. Pada waktu 9.35
baru terjadi operasi read sekaligus write pada server. Pada 9.50 – 10.05
server kembali melakukan operasi write sesuai keadaan awal.
Dari ketiga grafik dan tabel penggunaan sumber daya pada server
dapat diketahui sistem lebih banyak menggunakan sumber daya pada CPU
atau CPU Bound dan lebih banyak operasi terjadi pada network dibanding
dengan disk.
5.2.2 Pengujian Beban CPU dan Memory pada Client
Pengujian ini dilakukan dengan menggunakan tools htop, htop
adalah sebuah aplikasi untuk mengetahui berapa besar memory dan berapa
persen CPU yang digunakan saat proses komputer berjalan.
Skenario pengujian ini adalah dengan mencoba menjalankan setiap
perintah yang ada sesuai dengan pengaturan program. Masing-masing hasil
dari pengujian dengan htop lalu dicatat, berapa sampai berapakah memory
dan CPU yang dikonsumsi raspberry pi untuk setiap perintah.
Setelah masing-masing pengujian dilakukan, didapatkan nilai CPU,
Network dan Disk yang dikonsumsi Sistem, data tersebut ditampilkan
dalam gambar dan table berikut:
99
UIN Syarif Hidayatullah Jakarta
Tabel 5.4 Penggunaan CPU dan Memory pada Raspberry Pi
Nama Proses CPU
(%)
Memory
(%)
Memutar Text to Speech 1 - 2 0.5 - 0.9
Processing (Menterjemahkan audio menjadi
perintah dan berinteraksi dengan server) 0 - 2 2 – 2.7
Idle 0 - 2 0 – 0.4
Gambar 5.10 Tampilan Proses berjalan dengan HTOP
Dari tabel 5.4 dan gambar 5.10 menunjukkan pada Raspberry Pi client
sumber daya memori lebih banyak digunakan dibandingkan CPU sehingga
dapat disimpulkan pada client bersifat I/O bound.
5.2.3 Pengujian Real Time Factor
Pengujian dilakukan di Yayasan Peduli Kesejahteraan Tuna Netra
Bersama ketua YPKTN Bapak Muhammad Vinggang dan rekan-rekan
yayasan yang tinggal di perumahan daerah Bintaro. Pertama admin
membuat akun untuk semua penyandang disabilitas yang akan menguji coba
alat untuk mendapatkan nomor identitas. Setelah nomor identitas didapat
maka mereka dapat menggunakan prototipe.
Untuk menghitung nilai dari real time factor diperlukan latensi dari
masing masing percobaan. P1 menunjukkan tahap autentikasi, P2
menunjukkan tahap putar daftar kandidat dan P3 menunjukkan tahap pilih
kandidat.
100
UIN Syarif Hidayatullah Jakarta
Berikut hasil pengukuran latensi yang didapatkan : Tabel 5.5 Hasil Pengujian Latensi (T1)
1 2 3 4 5 6 7 8 9 10 Latensi (Detik)
P1 5.8 6.0 3.2 4.4 3.3 3.1 7.1 3.0 3.1 3.3 4.23
P2 3.8 3.3 3.7 3.2 3.1 3.1 3.1 3.0 3.2 7.2 3.67
P3 3.7 3.0 2.9 3.3 3.1 3.1 3.0 3.1 2.9 3.4 3.15
Hasil dari T1, didapatkan Latensi rata-rata dari setiap perintah
setelah 10 kali percobaan dengan autentikasi sebesar 4.23 detik, daftar
kandidat sebesar 3.67 detik dan pilih kandidat 3.15 detik. Tabel 5.6 Hasil Pengujian Latensi (T2)
1 2 3 4 5 6 7 8 9 10 Latensi (Detik)
P1 2.9 3.0 2.7 2.7 2.9 3.0 2.9 2.8 3.1 3.2 2.92
P2 3.3 2.9 3.0 2.9 2.8 3.1 3.1 3.0 3.1 3.3 3.05
P3 2.9 3.3 3.0 3.5 3.1 3.1 3.0 2.9 3.0 2.9 3.07
Hasil dari T2, didapatkan Latensi rata-rata dari setiap perintah
setelah 10 kali percobaan dengan autentikasi sebesar 2.92 detik, daftar
kandidat sebesar 3.05 detik dan pilih kandidat 3.07 detik. Tabel 5.7 Hasil Pengujian Latensi (T3)
1 2 3 4 5 6 7 8 9 10 Latensi (Detik)
P1 3.3 2.9 2.8 3.4 3.6 3.0 3.0 3.1 2.9 2.8 3.08
P2 3.0 3.0 3.2 3.0 2.9 3.3 2.7 3.0 3.0 2.8 2.99
P3 3.0 2.9 3.2 2.8 3.4 3.2 2.8 3.3 2.8 3.0 3.04
Hasil dari T3, didapatkan Latensi rata-rata dari setiap perintah
setelah 10 kali percobaan dengan autentikasi sebesar 3.08 detik, daftar
kandidat sebesar 2.99 detik dan pilih kandidat 3.04 detik.
101
UIN Syarif Hidayatullah Jakarta
5.2.4 Pengujian Command Success Rate
Skenario pengujian yang dilakukan sama seperti di poin 5.2.3
Pengujian ini bertujuan untuk mendapatkan command recognition rate dan
false acceptance.
Untuk menghitung nilai Command Success Rate dan False
Acceptance Rate, penulis melakukan pengujian pada tiga tuna netra
sebanyak 10 kali untuk setiap perintah. Ketika perintah memutar keluaran
yang diinginkan maka itu digolongkan correct sedangkan jika sistem
memutar keluaran berupa “perintah tidak dikenali, silahkan ulangi kembali”
maka itu digolongkan incorrect.
Berikut hasil pengukuran latensi yang didapatkan : Tabel 5.8 Hasil Pengujian Tuna Netra (T1)
Correct Incorrect CSR(%) FAR(%)
P1 8 2 80% 20%
P2 9 1 90% 10%
P3 8 2 80% 20%
Hasil dari T1, didapatkan berapa banyak perintah yang berhasil
dikenali dan gagal dikenali setelah 10 kali percobaan dengan jumlah
perintah autentikasi dikenali sebanyak 8 dan 2 yang tidak dikenali. Daftar
kandidat 9 kali dikenali dan 1 kali tidak dikenali dan piliih kandidat 8 kali
dikenali dan 2 kali tidak dikenali. Tabel 5.9 Hasil Pengujian Tuna Netra (T2)
Correct Incorrect CSR(%) FAR(%)
P1 8 2 80% 20%
P2 9 1 90% 10%
P3 7 3 70% 30%
Hasil dari T2, didapatkan berapa banyak perintah yang berhasil
dikenali dan gagal dikenali setelah 10 kali percobaan dengan jumlah
perintah autentikasi dikenali sebanyak 8 dan 2 yang tidak dikenali. Daftar
102
UIN Syarif Hidayatullah Jakarta
kandidat 9 kali dikenali dan 1 kali tidak dikenali dan pilih kandidat 7 kali
dikenali dan 3 kali tidak dikenali. Tabel 5.10 Hasil Pengujian Tuna Netra (T3)
Correct Incorrect CSR(%) FAR(%)
P1 8 2 80% 20%
P2 10 0 100% 0%
P3 8 2 80% 20%
Hasil dari T3, didapatkan berapa banyak perintah yang berhasil
dikenali dan gagal dikenali setelah 10 kali percobaan dengan jumlah
perintah autentikasi dikenali sebanyak 8 dan 2 yang tidak dikenali. Daftar
kandidat 10 kali dikenali dan 0 kali tidak dikenali dan pilih kandidat 8 kali
dikenali dan 2 kali tidak dikenali.
5.2.5 Pengujian Keamanan
Pengujian ini dilakukan dengan beragai macam tools untuk
memastikan bahwa keamanan aplikasi dapat terjamin.
A. Validasi Domain & SSL
Dengan menggunakan tools yang disediakan oleh SSL Labs di
https://www.ssllabs.com/ssltest/analyze.html?d=api.vousmeevoyez.xy
z, dapat dilihat bahwa SSL yang terpasang di server tervalidasi dan
memiliki rating A.
103
UIN Syarif Hidayatullah Jakarta
Gambar 5.11 Rating SSL
Gambar 5.12 Validasi Sertifikat SSL Website Admin di Browser
Gambar 5.13 Validasi Sertifikat SSL Website Live Count di Browser
104
UIN Syarif Hidayatullah Jakarta
B. Pengujian JWT
Untuk mendapatkan JWT kita memerlukan autentikasi ke dalam
sistem terlebih dahulu, dengan memanfaatkan sebuah HTTP Client
yaitu Postman kita mampu berinteraksi dengan web services tanpa UI.
Gambar 5.14 Autentikasi untuk mendapatkan JWT
Setelah berhasil mendapatkan JWT kita dapat melakukan validasi
dari JWT yang terima dengan menggunakan https://jwt.io/.
Gambar 5.15 Validasi dan Decode JWT
Jika JWT Valid dan memiliki JWT Secret, Token dapat di decode
untuk mengetahui informasi dari token tersebut, jika ada salah satu yang
tidak valid maka akan muncul keterangan signature verification failed.
105
UIN Syarif Hidayatullah Jakarta
Semua API yang tersedia pada web services dilindungi dengan JWT jadi
tanpa menggunakan JWT Valid dan aktif maka request akan ditolak.
Gambar 5.16 Error yang dikirim oleh server
C. Pengujian XSS, CSRF dan SQL Injection
Untuk menguji keamanan sistem dari eksploitasi dan serangan yang sering
muncul yaitu XSS, CSRF dan SQL Injection. Penulis menggunakan sebuah
beberapa tool audit keamanan open source yaitu wapiti dan nikto.
Untuk memulai menscan vulnerability pada website yg telah dibuat, kita
cukup memberikan url yaitu https://vote-admin.vousmeevoyez.xyz/
106
UIN Syarif Hidayatullah Jakarta
Gambar 5.17 Hasil Vulnerability Report Wapiti
Hasil scan dari wapiti menunjukkan bahwa website aman dari eksploitasi
yang sering muncul.
Gambar 5.18 Proses menscan website menggunakan CLI Nikto
Setelah proses scan menggunakan nikto selesai berikut adalah hasil yang
didapatkan :
Gambar 5.19 Informasi Host yang diambil melalui Nikto
Selain informasi host pada url website tersebut, nikto juga memberikan hasil
proses scan pada celah-celah yang terdapat pada website.
Gambar 5.20 Hasil Audit menggunakan software Nikto
Dari laporan yang diberikan oleh nikto terlihat bahwa tidak ada
vulnerability kritis yang terdapat pada website. Dapat disimpulkan juga dari hasil
Analisa tool audit keamanan website sudah terlindungi dari eksploitasi dan
keamanan yaitu XSS, CSRF, SQL Injection.
107
UIN Syarif Hidayatullah Jakarta
5.3 Pembahasan
A. Real Time Factor
Dengan audio rata rata yang diproses oleh Google Cloud Speech API
sebesar 3 detik, didapatkan Real Time Factor sebagai table berikut. Tabel 5.11 Real Time Factor
T1 T2 T3
Autentikasi 1.41 0.97 1.03
Daftar Kandidat 1.22 1.01 0.99
Pilih Kandidat 1.05 1.02 1.01
𝑅𝑇𝐹 =1.41 + 1.22 + 1.05 + 0.97 + 1.01 + 1.02 + 1.03 + 0.99 + 1.01
3 + 3 + 3
Tabel 5.11 menampilkan nilai rata-rata latensi dari setiap percobaan dari
tabel 5.5, tabel 5.6 dan tabel 5.7. Durasi rata-rata audio yang diproses sebesar 3
detik untuk setiap proses. Dengan menggunakan rumus (1) didapatkan nilai average
real time factor 1.08.
Dapat disimpulkan dengan nilai real time factor sebesar 1.08 maka perintah
yang diucapkan oleh pengguna dapat dikenali oleh sistem mendekati real-time
karena real time factor yang didapatkan mendekati angka 1.0.
B. Command Success Rate & False Acceptance Rate
Berdasarkan hasil pengujian yang dilakukan dapat disimpulkan Command
Success Rate dan False Acceptance Rate dalam grafik sebagai berikut:
108
UIN Syarif Hidayatullah Jakarta
Gambar 5.12 Grafik Command Success Rate (%)
Gambar 5.13 Grafik False Acceptance Rate (%)
𝐶𝑆𝑅 =0.8 + 0.9 + 0.8 + 0.8 + 0.9 + 0.7 + 0.8 + 1 + 0.8
9 × 100% Dengan menggunakan nilai tabel 5.8, tabel 5.9 dan tabel 5.10 serta menggunakan
rumus (2) dapat dihitung nilai Command Success Rate sebesar 83.3%
𝐹𝐴𝑅 =0.2 + 0.1 + 0.2 + 0.2 + 0.1 + 0.2 + 0.2 + 0 + 0.2
9 × 100%
Kemudian dengan menggunakan rumus (3) dapat dihitung nilai False Acceptance
Rate sebesar 15.5%
80
90
8080
90
70
80
100
80
A U T E N T I K A S I D A F T A R K A N D I D A T P I L I H K A N D I D A T
COMMAND RECOGNITION RATE (%)T1 T2 T3
20
10
2020
10
30
20
0
20
A U T E N T I K A S I D A F T A R K A N D I D A T P I L I H K A N D I D A T
FALSE ACCEPTANCE RATE (%)T1 T2 T3
109
UIN Syarif Hidayatullah Jakarta
Dapat ditarik kesimpulan dengan nilai Command Success Rate sistem sebesar 83.3
% dan False Acceptance Rate sistem sebesar 15.5 % maka sistem cukup akurat
dalam mengenali dan memproses perintah dengan tepat dibandingkan tidak
mengenali perintah dan gagal memproses perintah.
110
BAB VI KESIMPULAN DAN SARAN
6.1 Kesimpulan
Berdasarkan hasil dari penelitian yang penulis implementasi dapat ditarik
kesimpulan berikut:
Sistem Sistem Pemungutan Suara Elektronik dengan menggunakan Google
Cloud Speech berbasis Raspberry Pi adalah suatu sistem pemungutan yang dalam
pelaksanannya menggunakan teknologi dengan menggunakan suara sebagai media
masukan dan keluaran sistem dengan memanfaatkan teknologi Google Cloud
Speech API sebagai software dan Raspberry Pi sebagai hardware. Sistem dapat
mengenali instruksi dan perintah yang telah didefinisikan dengan teknologi
Automatic Speech Recognition. Selain fungsionalitas keamanan sistem telah teruji
dari serangan seperti XSS, CSRF dan SQL Injection.
Dari penelitian kali ini didapatkan Command Success Rate (CSR) sebesar
83.3%. dan Real Time Factor (RTF) sebesar 1.08. Hasil dari penelitian ini
menunjukkan bahwa sistem cukup akurat mengenali perintah dan responsif dalam
memproses perintah.
6.2 Saran
Karena penelitian dan pengembangan sistem ini belum cukup sempurna ada
beberapa saran yang penulis dapat berikan setelah melakukan penelitian
pengembangan dan pengujian aplikasi ini seperti:
1. Dalam pengembangan selanjutnya untuk menyempurnakan sistem ini,
sistem dapat mengenali ucapan perintah dalam konteks kalimat.
2. Untuk pengembangan selanjutnya dapat dikembangkan sebuah text to
speech yang lebih mendekati suara manusia.
3. Untuk pengembangan selanjutnya dapat dikembangkan sebuah sistem yang
mampu membantu penyandang disabilitas lainnya selain tuna netra.
4. Kedepannya diharapkan bisa dilakukan hak paten terhadap alat yang dibuat
5. Keamanan dapat ditingkatkan lebih lanjut
111
UIN Syarif Hidayatullah Jakarta
DAFTAR PUSTAKA
Al-Jufri, H. (2011). Sistem Informasi Manajemen Pendidikan. Jakarta Pusat: PT.
Smart Grafika.
Ali, R. (2011). PROSPEK DAN TANTANGAN PENERAPAN E-VOTING DI
INDONESIA. Seminar Nasional Peran Negara Dan Masyarakat Dalam
Pembangunan Demokrasi Dan Masyarakat Madani Di Indonesia.
Badan Pengkajian dan Penerapan Teknologi. (n.d.). e-Pemilu, Gunakan e-
Rekapitulasi bertanda tangan elektronik. Retrieved from
https://bppt.go.id/teknologi-informasi-energi-dan-material/3565"
BPPT. (2013). E Voting Demokrasi Di Ujung Jari (I). Retrieved May 7, 2018,
from https://www.bppt.go.id/teknologi-informasi-energi-dan-material/1869-
e-voting-demokrasi-di-ujung-jari
Brian Benchoff. (2016). INTRODUCING THE RASPBERRY PI 3. Retrieved
May 20, 2019, from https://hackaday.com/2016/02/28/introducing-the-
raspberry-pi-3/
Dutoit, T. (1997). An Introduction to Text-to-Speech Synthesis. Springer.
Element14. (2015). Raspberry Pi 3 Model B GPIO 40 Pin Block Pinout. Retrieved
May 20, 2019, from https://www.element14.com/community/docs/DOC-
73950/l/raspberry-pi-2-model-b-gpio-40-pin-block-pinout
Element14. (2016). Raspberry Pi 3 Model B with 1GB of RAM with WiFi and
Bluetooth Low Energy. Retrieved May 20, 2019, from
https://www.element14.com/community/docs/DOC-81294/l/raspberry-pi-3-
model-b-with-1gb-of-ram-with-wifi-and-bluetooth-low-energy
Forge, S. (n.d.). eSpeak text to speech.
G, A. (2018). Speech Recognition. Retrieved August 1, 2019, from
https://devopedia.org/speech-recognition
Gay, W. (2014). Raspberry Pi Hardware Reference. New York: Apress.
112
UIN Syarif Hidayatullah Jakarta
Google. (n.d.). Cloud Speech API.
Google Cloud Platform Benefits. (n.d.).
Gupta, S., & Gupta, B. B. (2016). CSSXC : Context-Sensitive Sanitization
Framework for Web Applications against XSS Vulnerabilities in Cloud
Environments. Procedia - Procedia Computer Science, 85(Cms), 198–205.
https://doi.org/10.1016/j.procs.2016.05.211
Halfacree, E., & Upton Gareth. (2016). Raspberry Pi User Guide. UK: John
Wiley & Sons, Inc.
Hararei. (n.d.). SQL Injection Attack Projection. Retrieved June 15, 2019, from
http://www.hararei.com/sql-injection-protection.php
Harrell, C. R. (2011). Simulation Using ProModel. McGraw-Hill Education -
Europe.
Hidayat, S., & Firmanda, S. F. (2015). Scheduler and Voice Recognition on Home
Automation Control System, 150–155.
Houde, S., & Hill, C. (2004). What do Prototypes Prototypes? USA: Apple
Computer Inc.
Indonesia, C. (2019). Pemilu 2019, Bawaslu Sebut 2.366 TPS Tak Ramah
Disabilitas. Retrieved from
https://www.cnnindonesia.com/nasional/20190417220635-32-
387446/pemilu-2019-bawaslu-sebut-2366-tps-tak-ramah-disabilitas
Intan, D., Saputra, S., Handani, S. W., & Diniary, G. A. (2017). Pemanfaatan
Cloud Speech API untuk Pengembangan Media Pembelajaran Bahasa Inggris
Menggunakan Teknologi Speech Recognition, 10(2), 92–105.
Kadir, A. (2017). Dasar Raspberry Pi. Yogyakarta: Andi.
Karpagavalli, S., & Chandra, E. (2016). A Review on Automatic Speech
Recognition Architecture and Approaches, 9(4), 393–404.
Këpuska, , & Bohouta, G. (2017). Comparing Speech Recognition Systems (
Microsoft API , Google API And CMU Comparing Speech Recognition
113
UIN Syarif Hidayatullah Jakarta
Systems ( Microsoft API , Google API And CMU Sphinx ), (March).
https://doi.org/10.9790/9622-0703022024
Lambert, K. A. (2015). Python Programming for Teens. Boston: Cengage
Learning PTR. Retrieved from http://the-
eye.eu/public/concen.org/Nonfiction.Ebook.Pack.Oct.2015-
PHC/9781305271951.Cengage Learning.Python Programming for
Teens.Kenneth A. Lambert.2014.pdf
Latifah, P. (2017). Pengembangan Aplikasi E- Voting Berbasis Web dan SMS
Gateway Pemilihan Ketua Badan Eksekutif Mahasiswa STMIK Jakarta
STIK. Jurnal Ilmiah KOMPUTASI, 16(September), 167–173.
Law, A. M., & W David Kelton. (2000). Simulation Modeling and Analysis.
McGraw-Hill Education - Europe.
Meizani, M. N., Muid, A., & Rismawan, T. (2015). PEMBUATAN PROTOTIPE
KACAMATA ELEKTRONIK UNTUK TUNA NETRA BERBASIS
MIKROKONTROLER MENGGUNAKAN SENSOR ULTRASONIK.
Jurnal Coding, Sistem Komputer Untan, 03(2), 88–99.
Menkumham. (2016). Undang-Undang Republik Indonesia Nomor 8 Tahun 2016
Tentang Penyanddang Disabilitas.
Mohsen, K. (2005). EXPERIENCING SMALL-SCALE E-DEMOCRACY IN
IRAN, 1–9. https://doi.org/10.1002/j.1681-4835.2005.tb00143.x
Mosse, D. (2018). Speech Recognition and Voice Separation for the Internet of
Things, (15).
Mustaqbal, M. S., Firdaus, R. F., & Rahmadi, H. (2015). Pengujian Aplikasi
Menggunakan Black Box Testing Boundary Value Analysis (Studi Kasus :
Aplikasi Prediksi Kelulusan SNMPTN). Jurnal Ilmiah Teknologi Informasi
Terapan, 1(3), 31–36. Retrieved from
http://jitter.widyatama.ac.id/index.php/jitter/article/view/70
Muthusenthil, B. (2018). Smart Assistance for Blind People using Raspberry Pi,
4(2), 884–891.
114
UIN Syarif Hidayatullah Jakarta
Okokpujie, K., Noma-osaghae, E., John, S., & Jumbo, P. C. (2017). Automatic
Home Appliance Switching Using Speech Recognition Software and
Embedded System, (October). https://doi.org/10.1109/ICCNI.2017.8123775
OWASP. (2018a). Cross-Site Request Forgery (CSRF). Retrieved June 15, 2019,
from https://www.owasp.org/index.php/Cross-
Site_Request_Forgery_(CSRF)
OWASP. (2018b). Cross-site Scripting (XSS). Retrieved June 15, 2019, from
https://www.owasp.org/index.php/Cross-site_Scripting_(XSS)
Pelton, G. E. (1993). Voice Processing. McGraw-Hill Education - Europe.
Pfister, C. (2011). Getting Started with the Internet of Things. (B. Jepson, Ed.).
O’Reilly Media, Inc.
Pi, R. (2018). GPIO. Retrieved May 20, 2019, from
https://www.raspberrypi.org/documentation/usage/gpio/
Pi, R. (2019). Trademark rules and brand guidelines. Retrieved May 20, 2019,
from https://www.raspberrypi.org/trademark-rules/
Postman. (n.d.). The Only Complete API Development Environment. Retrieved
June 27, 2019, from https://www.getpostman.com
Pradopo, S. (1977). Pendidikan Anak-anak Tunanetra. Bandung: Departemen
Pendidikan dan Kebudayaan.
Prasetyawan, P. (2018). PENGEMBANGAN APLIKASI MOBILE E-VOTING
PILKADES SEMINAR NASIONAL TEKNOLOGI 2018, (April).
Pressman, R. S. (2010). Rekayasa Perangkat Lunak Pendekatan Praktisi.
Yogyakarta: ANDI Yogyakarta.
R. A, S., & M, S. (2011). Modul Pembelajaran Rekayasa Perangkat Lunak
Terstruktur dan Berorientasi Objek. Bandung: Modula.
Rahmatulloh, A., Sulastri, H., & Nugroho, R. (2018). Keamanan RESTful Web
Service Menggunakan JSON Web Token ( JWT ) HMAC SHA-512, 7(2).
115
UIN Syarif Hidayatullah Jakarta
Riera, A., & Brown, P. (2003). Bringing Confidene to Electronic Voting.
Electronic Journal of E-Government, 1(1), 43–50. Retrieved from
http://www.ejeg.com/volume-1/volume1-issue-1/issue1-art5-abstract.htm
Rofiq, F. N., & Susanto, A. (2017). Implementasi RESTful Web Service untuk
Sistem Penghitungan Suara Secara Cepat pada Pilkada. EKSPLORA
INFORMATIKA, 159–168.
Rozpoznávání, O. P. (2014). Rozpoznávání řeči pomocí KALDI.
Sandi, S., Putra, H., & Selatan, S. P. (2017). Penanggulangan Serangan XSS ,
CSRF , SQL Injection Menggunakan Metode Blackbox Pada Marketplace
IVENMU, 4(2), 289–300.
Sebastien, C., & Herve, S. (2011). How to fit cryptographic e-voting into smart
cards.
Setyanto, E., Rasyidah, N., & Sulhan, M. (2017). Aplikasi Tik Dalam Manajemen
Pendidikan Dasar Dan Menengah. HIKMAH: Jurnal Pendidikan Islam, 6(2),
298–317.
Sommerville, I. (2015). Software Engineering 10th Edition. In Software
Engineering.
Sudaryono, Margono, & Rahayu. (2011). Pengembangan Instrumen Penelitian
Pendidikan Yogyakarta: Graha Ilmu. Yogyakarta: Graha Ilmu.
Suhendra. (2016). Plus Minus e-Voting untuk Pilkada Indonesia. Retrieved March
25, 2018, from https://tirto.id/plus-minus-e-voting-untuk-pilkada-indonesia-
bNoN
Sullo, C., & Lodge, D. (n.d.). Nikto2. Retrieved June 28, 2019, from
https://cirt.net/Nikto2
Surribas, N. (2018). The web-application vulnerability scanner. Retrieved June
27, 2019, from http://wapiti.sourceforge.net
Vermessan, O., & Friess, P. (2013). Internet of Things Strategic Research and
Innovation Agenda. River Publisher.
116
UIN Syarif Hidayatullah Jakarta
Wagner, J. (2014). Review: Postman Client Makes RESTful API Exploration a
Breeze. Retrieved June 27, 2019, from
https://www.programmableweb.com/news/review-postman-client-makes-
restful-api-exploration-breeze/brief/2014/01/27
Wikipedia. (n.d.). Stackdriver. Retrieved from
https://en.wikipedia.org/wiki/Stackdriver
Wikipedia. (2010). Flask (web framework). Retrieved April 28, 2019, from
https://en.wikipedia.org/wiki/Flask_(web_framework)
Wikipedia. (2018). Raspberry Pi. Retrieved May 20, 2019, from
https://id.wikipedia.org/wiki/Raspberry_Pi
117
UIN Syarif Hidayatullah Jakarta
LAMPIRAN
Wawancara
Wawancara dilakukan kepada Muhammad Panggeng Viharmiles, S.Sos sebagai
Ketua Yayasan Peduli Kesejahteraan Tuna Netra (PKTN) pemerhati kaum
disabilitas tuna netra.
1) Seseorang yang seperti apa disebut tuna netra?
Jawaban: Seseorang yang tidak dapat melihat objek di sekelilingnya
atau memiliki keterbatasan penglihatan tidak selayaknya orang normal.
2) Adakah kategori- kategori tuna netra?
Jawaban: Dari segi kategori yang saya ketahui yaitu ada yang adalah
buta total atau buta sebagian.
3) Bagaimana saat ini jika bapak/ibu ingin berpartisipasi dalam kegiatan
pemilu, untuk menyampaikan aspirasi?
Jawaban: Untuk saat ini kami mengikut kegiatan pemilu sebagaimana
yang sudah ditetapkan oleh pemerintah, perbedaanya mungkin orang
normal dapat pergi ke TPS secara langsung, untuk kami tuna netra kami
biasanya menunggu pendamping untuk ke TPS dan nanti saat proses
pencoblosan.
4) Pernahkah terjadi kesulitan saat berada di TPS ataupun pada saat proses
pencoblosan?
Jawaban: Permasalahan yang biasa kami temui adalah kekurangan
template, hal ini disebabkan kurang akuratnya data sensus atau
penetapan DPT sebelum pelaksanaan. Akibatnya pada saat hari
pelaksanaan, kita sebagai penyandang disabilitas harus menunggu lebih
lama akibat panitia perlu meminta template dikirim terlebih dahulu di
tempat yang tidak menyediakan atau kekurangan. Selain itu
permasalahan lain adalah saat pemilihan presiden template tersedia tapi
saat pemilihan kandidat legislatif template tidak tersedia akibatnya kita
memerlukan pendamping pada saat pencoblosan yang sebenarnya tidak
sesuai dengan asas LUBER.
5) Apakah bapak/ibu pernah mendengar tentang sistem e-voting?
Jawaban: saya pernah mendengar tentang sistem e-voting. Kebetulan
salah satu dari kerabat kami pernah diundang untuk ikut uji coba e-
118
UIN Syarif Hidayatullah Jakarta
voting yang dilakukan oleh BPPT. Awalnya kami pikir sistem tersebut
lebih sulit dibandingkan sistem biasanya, tetapi ternyata lebih praktis
dan lebih cepat karena semuanya digital.
6) Menurut ibu/bapak apakah ada kekurangan dari sistem e-voting yang
pernah ibu/bapak coba sendiri atau dengar dari orang lain?
Jawaban: Sepengetahuan saya dari berita dan kerabat, sistem e-voting
yang dikembangkan oleh BPPT itu berbasis layar sentuh. Saat ini
kebanyakan dari anggota yayasan sudah pandai menggunakan
smartphone ada yang menggunakan IOS dan Android. Kami
memanfaatkan teknologi yang tersedia yaitu VoiceOver dan TalkBack
sehingga saat kita menekan layer sentuh kami mengetahui apa yang
sedang kami ketik dan sebagainya. Tetapi alat yang dikembangkan oleh
BPPT sepertinya belum memiliki fitur ini dan memang belum dirancang
untuk pengguna disabilitas seperti kami.
7) Menurut bapak, apakah dibutuhkan sebuah sistem e-voting yang dibuat
khusus untuk dapat mengakomodasi pengguna disabilitas seperti tuna
netra dengan memanfaatkan suara untuk berinteraksi?
Jawaban: sepertinya iya, menurut saya teknologi itu sangat penting dan
belakangan ini mulai banyak kalangan mengembangkan teknologi
untuk memfasilitasi dan mempermudah aktivitas atau pekerjaan orang-
orang seperti kami yang memiliki keterbatasan fisik. Dengan adanya
teknologi seperti sistem e-voting dengan bantuan suara tentu ini akan
sangat membantu kami dalam proses pemilihan sehingga kami dapat
mandiri.
119
UIN Syarif Hidayatullah Jakarta