BAB III
ANALISIS DAN PEMODELAN PERANGKAT LUNAK
Bab ini menjelaskan proses enkripsi dan dekripsi pada jumlah suara menggunakan algoritma RSA dan analisis kebutuhan perangkat lunak yang akan dibangun serta perancangannya. Dan tindakan yang dilakukan pada tahap perancangan adalah mengubah model analisis ke model perancangan.
3.1 Analisis Sistem Enkripsi dan Dekripsi dengan Algoritma RSA
Algoritma RSA merupakan salah satu algoritma kunci publik. Prinsip kerja algoritma RSA terletak pada sulitnya memfaktorkan bilangan yang besar yang menjadi faktorfaktor prima. Pemaktoran dilakukan untuk mendapatkan kunci privat. Selama bilangan tersebut tidak dapat difaktorkan selama itu pula keamanan algoritma RSA terjamin. Dalam algoritma RSA, ada tiga proses yang harus dilakukan yaitu: proses pembangkitan kunci, proses enkripsi dan proses dekripsi.
3.1.1 Pembangkitan Kunci
Masalah utama dalam proses pembangkitan kunci adalah bagaimana menghasilkan kunci yang tidak dapat diprediksi. Ada berbagai metode yang dapat digunakan untuk menghasilkan sebuah bilangan prima yang besar. Tetapi sistem ini tidak menggunakan metode tersebut, melainkan bilangan prima tersebut diinput secara default ke dalam sistem.
Universitas Sumatera Utara
34
Hasil dari proses ini adalah pasangan kunci publik dan kunci privat. Kunci publik digunakan dalam proses enkripsi dan kunci privat digunakan dalam proses dekripsi. Adapun langkah-langkah dalam proses pembangkitan kunci adalah sebagai berikut: 1. Pilih p dan q,
dimana p dan q adalah bilangan prima dan nilai
p dan q tidak sama. 2. Hitung n= p.q 3. Hitung φ(n) = (p-1)(q-1) 4. Pilih integer dimana gcd (φ (n), e) = 1; 1 < e < φ (n) 5. Hitung d, dimana 𝑑 =
1+k .(n) e
dengan nilai k merupakan bilangan
bulat positif yang menghasilkan nilai d yang merupakan bilangan bulat positif. 6. Kunci publik = {e, n} Kunci publik = {d, n}
3.1.2 Enkripsi
Proses enkripsi merupakan proses untuk mengubah plainteks menjadi cipherteks. Proses enkripsi dapat dilakukan dengan menggunakan kunci publik yang telah diperoleh. Adapun proses enkripsi adalah sebagai berikut: 1. Pesan teks = P 2. Kunci publik = {e, n} 3. Enkripsi : Ci
=
Pi
e
mod n dimana Ci adalah cipher number ke i
3.1.3 Dekripsi
Proses dekripsi merupakan proses untuk mengubah cipherteks menjadi plainteks. Proses dekripsi dapat dilakukan dengan menggunakan kunci privat yang telah diperoleh. Adapun proses dekripsi adalah sebagai berikut:
Universitas Sumatera Utara
35
1. Cipherteks = C 2. Kunci privat= {d, n} 3. Dekripsi : Pi = Cid mod n dimana Pi adalah plain number ke i
3.2 Deskripsi Perangkat Lunak
Perangkat lunak yang akan dibuat merupakan suatu perangkat lunak berupa aplikasi untuk pemungutan suara secara elektronik (e-voting). Perangkat lunak ini berfungsi mengubah nim mahasiswa dan jumlah suara yang berupa plainteks menjadi cipherteks sehingga akan sulit diketahui atau dimengerti oleh pihak yang tidak berhak.
Untuk menggunakan perangkat lunak ini, user harus mendaftar ke KPU setempat untuk memperoleh akun pemilihan yang valid. Proses selanjutnya adalah sistem secara otomatis akan membangkitkan pasangan kunci baik kunci publik untuk proses enkripsi dan kunci privat yang digunakan pada proses dekripsi. Setelah mendapatkan kunci yang tepat user dapat melakukan pemungutan suara dengan cara memilih beberapa kandidat yang ditampilkan. Dalam perangkat lunak ini terdapat beberapa fungsi utama yaitu :
1. Membangkitkan kunci publik dan kunci privat secara otomatis menggunakan bilangan prima yang secara default ada di dalam sistem. 2. Melakukan proses enkripsi pada jumlah suara yang telah memilih dengan menggunakan kunci publik yang telah ada. 3. Mengirimkan jumlah suara yang telah diubah menjadi cipherteks ke dalam sistem database pemilihan. 4. Melakukan proses dekripsi pada jumlah suara, sehingga proses perhitungan suara akan berubah menjadi plainteks.
Beberapa batasan pada perangkat lunak adalah
1. Bilangan prima yang secara default di input ke sistem oleh peneliti. 2. Perangkat lunak tidak menangani proses penyebaran kunci.
Universitas Sumatera Utara
36
3. Perangkat lunak ini hanya menggunakan satu kunci publik dan satu kunci privat, walaupun memiliki user yang banyak. 4. User harus mengaktifkan akunnya sendiri melalui kunci berupa link address yang otomatis dikirim sistem ke e-mail setelah selesai mendaftar. 5. User tidak bisa melihat siapa yang sudah dipilih sebelumnya, tapi bisa memastikan suaranya sudah masuk dalam perhitungan.
3.3 Pemodelan Diagram Use Case
Pada sistem ini pemodelan kebutuhan fungsional dimodelkan menggunakan diagram use case. Diagram use case merupakan diagram yang memodelkan aspek perilaku sistem. Masing-masing diagram use case memiliki aktor, use case, dan hubungannya.
Pada sistem voting ini aktor dibagi menjadi tiga bagian: administrator, user, dan operator. User merupakan pengguna yang telah terdaftar di dalam sistem, sedangkan operator hanya dapat melakukan aktivitas membuka halaman registerasi untuk user. Administrator sistem merupakan aktor yang mempunyai hak akses paling tinggi, untuk mengedit kandidat, membuat operator baru untuk pendaftaran, mengatur hasil voting. Berikut diagram use case dari masing-masing aktor.
Universitas Sumatera Utara
37
System Lihat Profil Kandidat
«extends»
Edit Profil Kandidat
Lihat Pendaftar
Login
Lihat yang Sudah Memilih Administrator Membuat Operator Baru
«extends»
Edit Operator
Hasil Voting
Logout
Gambar 3.1 Diagram Use Case Admin
Universitas Sumatera Utara
38
System
Registrasi
Melihat Pendaftar
Lihat Yang Sudah Memilih
Login
Operator Logout
Gambar 3.2 Diagram Use Case Operator
System Pilih Kandidat
Melihat Hasil voting
Melihat Pendaftar
Login
User
Melihat Yang Sudah Memilih
Logout
Gambar 3.3 Diagram Use Case User
Universitas Sumatera Utara
39
3.3.1 Model Spesifikasi Use case
Spesifikasi use case merupakan gambaran lengkap spesifikasi tekstual pada use case. Spesifikasi use case sistem voting dilakukan berdasarkan kasus yang ada pada use case diagram yang telah digambarkan . Berikut ini adalah tabel spesifikasi setiap use case:
Tabel 3.1 Spesifikasi Use case Administrator Login 1.
Use case : Login Login
Admin
Penjelasan Singkat Pra-kondisi
Use case ini digunakan oleh user untuk login kedalam sistem sebagai administrator. Administrator tidak harus login terlebih dahulu ke dalam sistem.
Karakteristik
Tindakan dan eksekusi tergantung dari permintaan pengguna.
Skenario (flow of events)
Skenario Dasar (Basic Flow) : a. Use case ini dimulai ketika administrator menekan tombol Login. b. Selanjutnya administrator mengisi username dan password. c. Kemudian administrator akan menekan tombol „Login‟
Kondisi Akhir
Administrator berada di halaman utama.
Universitas Sumatera Utara
40
Tabel 3.2 Spesifikasi Use case Administrator Lihat Profil Kandidat 2.
Use case : Lihat Profil Kandidat Lihat Profil Kandidat
«extends» Admin
Edit Profil Kandidat
Penjelasan Singkat
Pra-kondisi
Use case ini digunakan oleh administrator untuk melihat kandidat dari pemilihan yang telah disimpan sebelumnya. Administrator harus login terlebih dahulu ke dalam sistem.
Karakteristik
Tindakan dan eksekusi tergantung dari permintaan pengguna.
Skenario (flow of events)
Skenario Dasar (Basic Flow) : a. Use case ini dimulai ketika administrator memilih menu halaman „Lihat Kandidat‟ b. Selanjutnya administrator dapat melihat kembali para kandidat yang telah disimpan. Alternatif Skenario (Alternative Flow) : Edit Profil Kandidat
Kondisi Akhir
a. Administrator dapat melakukan perubahan (edit) profil pada calon kandidat seperti merubah nama, motto, serta prestasi jika ada b. Administrator juga dapat menambahkan calon kandidat, dan dapat menghapus kandidat jika ada perubahan c. Selanjutnya sistem akan melakukan fungsi update database d. Kemudian sistem akan menampilkan kandidatkandidat Administrator dapat melihat para kandidat yang sudah disimpan sebelumnya
Universitas Sumatera Utara
41
Tabel 3.3 Spesifikasi Use case Administrator Lihat Pendaftar 3.
Use case : Lihat Pendaftar Lihat Pendaftar
Admin
Penjelasan Singkat
Pra-kondisi
Use case ini digunakan oleh administrator untuk melihat dan mengetahui jumlah mahasiswa yang sudah mendaftar untuk menggunakan sistem voting ini. Administrator harus login terlebih dahulu ke dalam sistem.
Karakteristik
Tindakan dan eksekusi tergantung dari permintaan pengguna.
Skenario (flow of events)
Skenario Dasar (Basic Flow) : a. Use case ini dimulai ketika administrator memilih halaman “Lihat Pendaftar”. b. Selanjutnya administrator dapat melihat jumlah dan nomor nim mahasiswa yang sudah terdaftar dalam sistem voting.
Kondisi Akhir
Administrator dapat melihat dan mengetahui jumlah mahasiswa yang sudah mendaftar untuk menggunakan sistem voting ini.
Tabel 3.4 Spesifikasi Use case Administrator Lihat yang Sudah Memilih 4.
Use case : Lihat yang Sudah Memilih Lihat yang Sudah Memilih
Admin
Penjelasan Singkat
Pra-kondisi
Use case ini digunakan oleh administrator untuk melihat dan mengetahui jumlah mahasiswa yang sudah melakukan proses pemilihan (voting) secara keseluruhan. Administrator harus login terlebih dahulu ke dalam sistem.
Universitas Sumatera Utara
42
Tabel 3.4 Spesifikasi Use case Lihat yang Sudah Memilih (lanjutan) Karakteristik
Tindakan dan eksekusi tergantung dari permintaan pengguna.
Skenario (flow of events)
Skenario Dasar (Basic Flow) : a. Use case ini dimulai ketika administrator memilih halaman “Lihat Pemilih”. b. Selanjutnya administrator dapat melihat jumlah dan nomor nim mahasiswa yang sudah melakukan voting.
Kondisi Akhir
Administrator dapat melihat dan mengetahui jumlah mahasiswa yang sudah melakukan proses pemilihan (voting) secara keseluruhan.
Tabel 3.5 Spesifikasi Use case Administrator Membuat Operator Baru 5.
Use case : Membuat Operator Baru Membuat Operator Baru
«extends» Edit Operator
Admin
Penjelasan Singkat
Pra-kondisi
Use case ini digunakan oleh administrator untuk menambah operator baru saat proses registerasi mahasiswa Administrator harus login terlebih dahulu ke dalam sistem.
Karakteristik
Tindakan dan eksekusi tergantung dari permintaan pengguna.
Skenario (flow of events)
Skenario Dasar (Basic Flow) : a. Use case ini dimulai ketika administrator memilih halaman “Daftar Operator”. b. Selanjutnya administrator dapat melihat operator-operator yang sudah pernah dibuat sebelumnya. Alternatif Skenario (Alternative Flow) : Edit Operator a. Administrator dapat menambah, menghapus, dan mengganti password dari operator. b. Sistem akan melakukan proses update ke database
Universitas Sumatera Utara
43
Tabel 3.5 Spesifikasi Use case Administrator Membuat Operator Baru (lanjutan) Administrator dapat melihat dan melakukan proses
Kondisi Akhir
mengubah,
menambah
operator
untuk
registrasi
mahasiswa
Tabel 3.6 Spesifikasi Use case Administrator Hasil Voting 6.
Use case : Hasil Voting Hasil Voting
Admin
Penjelasan Singkat
Pra-kondisi
Use case ini digunakan oleh administrator untuk mengetahui hasil voting dari mahasiswa secara keseluruhan Administrator harus login terlebih dahulu ke dalam sistem. Tindakan dan eksekusi tergantung dari permintaan
Karakteristik
pengguna. Skenario (flow of events)
Skenario Dasar (Basic Flow) :
Kondisi Akhir
a. Use case ini dimulai ketika administrator memilih halaman “Lihat Diagram”. b. Selanjutnya administrator dapat melihat diagram sebagai simbol hasil voting. Administrator dapat mengetahui hasil akhir dari proses voting.
Tabel 3.7 Spesifikasi Use case Administrator Logout 7.
Use case : Logout Logout
Admin
Penjelasan Singkat
Use case ini digunakan oleh administrator untuk keluar dari halaman administrator.
Universitas Sumatera Utara
44
Tabel 3.7 Spesifikasi Use case Administrator Logout (lanjutan) Administrator harus login terlebih dahulu ke dalam
Pra-kondisi
sistem. Tindakan dan eksekusi tergantung dari permintaan
Karakteristik
pengguna. Skenario (flow of events)
Skenario Dasar (Basic Flow) :
Kondisi Akhir
a. Use case ini dimulai ketika Administrator menekan tombol „Logout‟. b. Sistem akan menampilkan halaman login. Administrator berada di halaman login.
Tabel 3.8 Spesifikasi Use case Operator Login 8.
Use case : Login Login
operator
Penjelasan Singkat Pra-kondisi
Use case ini digunakan oleh user untuk login ke dalam sistem sebagai operator. Operator tidak harus login terlebih dahulu ke dalam sistem.
Karakteristik
Tindakan dan eksekusi tergantung dari permintaan pengguna.
Skenario (flow of events)
Skenario Dasar (Basic Flow) : a. Use case ini dimulai ketika operator menekan tombol Login. b. Selanjutnya operator mengisi username dan password. c. Kemudian user akan menekan tombol „Login‟
Kondisi Akhir
Operator berada di halaman utama.
Universitas Sumatera Utara
45
Tabel 3.9 Spesifikasi Use case Operator Registrasi 9.
Use case : Registrasi Registrasi
operator
Pra-kondisi
Use case ini digunakan oleh operator untuk menginput data-data calon pemilih Operator harus login terlebih dahulu ke dalam sistem.
Karakteristik
Tindakan dan eksekusi tergantung dari permintaan
Penjelasan Singkat
pengguna. Skenario (flow of events)
Skenario Dasar (Basic Flow) :
Kondisi Akhir
a. Use case ini dimulai ketika operator memilih halaman „Tambah User‟. b. Selanjutnya operator mengisi biodata dari caloncalon pemilih c. Password user untuk login ke dalam sistem, secara otomatis terkirim ke email Operator membuka halaman registrasi untuk mahasiswa yang ingin mendaftar ke dalam sistem.
Tabel 3.10 Spesifikasi Use case Operator Lihat Pendaftar 10.
Use case : Lihat Pendaftar Lihat Pendaftar
operator
Pra-kondisi
Use case ini digunakan oleh operator untuk melihat dan mengetahui jumlah mahasiswa yang sudah mendaftar untuk menggunakan sistem voting ini. Operator harus login terlebih dahulu ke dalam sistem.
Karakteristik
Tindakan dan eksekusi tergantung dari permintaan
Penjelasan Singkat
pengguna.
Universitas Sumatera Utara
46
Tabel 3.10 Spesifikasi Use case Operator Lihat Pendaftar (lanjutan) Skenario (flow of events)
Skenario Dasar (Basic Flow) :
Kondisi Akhir
a. Use case ini dimulai ketika admin memilih halaman “Lihat Pendaftar”. b. Selanjutnya operator dapat melihat jumlah dan nomor nim mahasiswa yang sudah terdaftar dalam sistem voting. Operator dapat melihat dan mengetahui jumlah mahasiswa yang sudah mendaftar untuk menggunakan sistem voting ini.
Tabel 3.11 Spesifikasi Use case Operator Lihat yang Sudah Memilih 11.
Use case : Lihat yang Sudah Memilih Lihat yang Sudah Memilih
operator
Pra-kondisi
Use case ini digunakan oleh operator untuk melihat dan mengetahui jumlah mahasiswa yang sudah melakukan proses pemilihan (voting) secara keseluruhan. Operator harus login terlebih dahulu ke dalam sistem.
Karakteristik
Tindakan dan eksekusi tergantung dari permintaan
Penjelasan Singkat
pengguna. Skenario (flow of events)
Skenario Dasar (Basic Flow) : a. Use case ini dimulai ketika admin memilih halaman “Lihat Pemilih”. b. Selanjutnya operator dapat melihat jumlah dan nomor nim mahasiswa yang sudah melakukan voting.
Kondisi Akhir
Operator dapat
melihat
dan mengetahui jumlah
mahasiswa yang sudah melakukan proses pemilihan (voting) secara keseluruhan.
Universitas Sumatera Utara
47
Tabel 3.12 Spesifikasi Use case Operator Logout 12.
Use case : Logout Logout
operator
Pra-kondisi
Use case ini digunakan oleh operator untuk keluar dari halaman operator. Operator harus login terlebih dahulu ke dalam sistem.
Karakteristik
Tindakan dan eksekusi tergantung dari permintaan
Penjelasan Singkat
pengguna. Skenario (flow of events)
Skenario Dasar (Basic Flow) : a. Use case ini dimulai ketika operator menekan tombol „Logout‟. b. Sistem akan menampilkan halaman login. Operator berada di halaman login.
Kondisi Akhir
Tabel 3.13 Spesifikasi Use case User Login 13.
Use case : Login Login
User
Pra-kondisi
Use case ini digunakan oleh mahasiswa untuk login ke dalam sistem sebagai user. User tidak harus login terlebih dahulu ke dalam sistem.
Karakteristik
Tindakan dan eksekusi tergantung dari permintaan
Penjelasan Singkat
pengguna. Skenario (flow of events)
Skenario Dasar (Basic Flow) : a. Use case ini dimulai ketika user menekan tombol Login. b. Selanjutnya user mengisi username dan password. c. Kemudian user akan menekan tombol „Login‟
Kondisi Akhir
User berada di halaman utama.
Universitas Sumatera Utara
48
Tabel 3.14 Spesifikasi Use case User Pilih Kandidat 14.
Use case : Pilih Kandidat Pilih Kandidat
User
Pra-kondisi
Use case ini digunakan oleh user untuk melihat kandidat sebelum dipilih dan melakukan proses voting ketika sudah merasa yakin. User harus login terlebih dahulu ke dalam sistem.
Karakteristik
Tindakan dan eksekusi tergantung dari permintaan
Penjelasan Singkat
pengguna. Skenario (flow of events)
Skenario Dasar (Basic Flow) :
Kondisi Akhir
a. Use case ini dimulai ketika user memilih telah melakukan proses login b. Selanjutnya user dapat melihat profil para kandidat. c. Setelah merasa yakin, user langsung dapat memilih kandidat dengan cara klik pada foto kandidat yang ingin dipilih. User memilih para kandidat
Tabel 3.15 Spesifikasi Use case User Melihat Hasil Voting 15.
Use case : Melihat Hasil Voting Melihat Hasil Voting
User
Pra-kondisi
Use case ini digunakan oleh user untuk mengetahui hasil voting dari mahasiswa secara keseluruhan User tidak harus login terlebih dahulu ke dalam sistem.
Karakteristik
Tindakan dan eksekusi tergantung dari permintaan pengguna.
Penjelasan Singkat
Universitas Sumatera Utara
49
Tabel 3.15 Spesifikasi Use case User Melihat Hasil Voting (lanjutan) Skenario Dasar (Basic Flow) :
Skenario (flow of events)
a. Use case ini dimulai ketika admin mengakses halaman “Hasil Voting”. b. Selanjutnya user dapat melihat diagram sebagai simbol hasil voting. User dapat mengetahui hasil akhir dari proses voting.
Kondisi Akhir
Tabel 3.16 Spesifikasi Use case User Logout 16.
Use case : Logout Logout
User
Pra-kondisi
Use case ini digunakan oleh mahasiswa untuk keluar dari halaman user. User harus login terlebih dahulu ke dalam sistem.
Karakteristik
Tindakan dan eksekusi tergantung dari permintaan pengguna.
Penjelasan Singkat
Skenario
(flow
of Skenario Dasar (Basic Flow) : a. Use case ini dimulai ketika user menekan tombol „Logout‟. b. Sistem akan menampilkan halaman login.
events)
Kondisi Akhir
User berada di halaman login.
3.3.2 Model Interaksi Diagram Sequence
Berikut merupakan diagram sequence yang menggambarkan interaksi antar objek di dalam dan sekitar sistem:
1. Diagram Sequence User : Lihat hasil voting Diagram sequence user lihat hasil voting menggambarkan perilaku sistem dalam melakukan proses menunjukkan hasil voting. Sequence dimulai ketika user memilih lihat hasil voting pada menu utama. Diagram sequence ini dapat dilihat pada gambar 3.4 berikut:
Universitas Sumatera Utara
50
User
Form Aplikasi
Database
1: Buka Aplikasi 2: tampil login user 3: pilih menu lihat hasil voting 4: kirim instruksi
5: dekripsi jumlah suara 6: tampilkan jumlah suara dari tiap kandidat
Gambar 3.4 Diagram Sequence User Lihat Hasil Voting
2. Diagram Sequence User : Pilih Kandidat Diagram sequence user pilih kandidat menggambarkan perilaku sistem dalam melakukan proses pilih kandidat. Sequence dimulai ketika user sign in ke dalam sistem, sistem akan memverifikasi username dan password yang telah diberikan. Kemudian user memilih salah satu kandidat yang ditampilkan di halaman utama user. Selanjutnya sistem akan melakukan pengecekan apakah user tersebut sudah pernah memilih sebelumnya atau tidak. Jika user belum pernah memilih, maka sistem akan menyimpan data pemilihan ke dalam database. Diagram sequence ini dapat dilihat pada gambar 3.5 berikut:
User
Form Aplikasi
Database
1: input username dan password 2: validasi login 3: cek login true atau false 4: tampil pesan intruksi cara memilih 5: tampil halaman utama user 6: pilih kandidat 7: cek sudah pernah memilih atau belum 8: kirim instruksi
9: simpan data 10 : data berhasil disimpan 11: tampil proses pemilihan sukses
Gambar 3.5 Diagram Sequence User Pilih Kandidat
Universitas Sumatera Utara
51
3. Diagram Sequence Operator : Registrasi Mahasiswa Diagram sequence operator regsitrasi mahasiswa menggambarkan perilaku sistem dalam melakukan proses registrasi mahasiswa. Sequence dimulai ketika operator memilih menu tambah user pada menu operator. Operator akan mengisi biodata calon pemilih. Password dan aktivasi user secara otomatis akan dikirim ke e-mail calon pemilih tadi. Diagram sequence ini dapat dilihat pada gambar 3.6 berikut:
Operator
Form Aplikasi
Database
1: Buka Aplikasi 2: Tampil Web Operator 3: pilih menu tambah user 4: tampil form pendaftar 5: Masukkan data user 6: Validasi user
7: Simpan data 8: data berhasil disimpan 9: get username & password
10: tampil konfirm pendaftar
Gambar 3.6 Diagram Sequence User Pilih Kandidat
4. Diagram Sequence User : Login Mahasiswa Diagram sequence login menggambarkan alur sistem untuk melakukan login kedalam sistem. Sequence dimulai ketika user memilih menu login, kemudian user mengisi user id dan password. Kemudian sistem akan memeriksa apakah user id dan password yang dimasukkan benar atau salah. Jika benar atau salah sistem akan memberikan konfirmasi. Diagram sequence ini dapat dilihat pada gambar 3.7 berikut:
Universitas Sumatera Utara
52
Halaman Login (boundary)
Kontroler Login (contoller)
Login Entity
Halaman Konfimasi (boundary)
User 1: Pilih menu login
2: masukkan no nim & password 3: terima no nim & password
4: Periksa (verify) 5: Query validasi
6: Return Validasi
7: Login Sukses
Gambar 3.7 Diagram Sequence User Login
5. Diagram Sequence Administrator : Lihat Kandidat Diagram sequence administrator lihat hasil kandidat menggambarkan perilaku sistem dalam melakukan proses menunjukkan para kandidat. Sequence dimulai ketika administrator memilih lihat kandidat pada menu utama. Diagram sequence ini dapat dilihat pada gambar 3.8 berikut:
Administrator
Form Aplikasi
Database
1: input username dan password 2: validasi login 3: cek login true atau false 4: tampil menu administrator 5: pilih menu lihat kandidat 6: kirim intruksi
7: cari data 8: Tampilkan seluruh kandidat
Gambar 3.8 Diagram Sequence Administrator Lihat Kandidat
Universitas Sumatera Utara
53
3.3.3 Kelas Diagram
Kelas diagram menggambarkan keadaan atribut suatu sistem. Dimana atribut yang bisa diakses oleh class lain ditandai dengan (+), atribut yang tidak bisa diakses oleh kelas lain ditandai dengan (-), sedangkan package ditandai dengan (#) Pada sistem ini terdapat empat kelas yaitu: anggota (user), data pemilihan, enkripsi dekripsi, dan kandida dimana kelas ini menyimpan data tentang calon kandidat dan data pemilihan. Berikut adalah gambar kelas diagram untuk sistem e-voting ini :
Anggota (User) -id_mahasiswa -no_nim -password -status +pilih kandidat() +melihat hasil voting() +lihat pendaftar() +lihat yang sudah memilih()
*
-End6 -End5 *
-End8
* -End1
-End7
*
data_pemilihan -id_pemilihan -no_nim -waktu +melihat siapa yang dipilih() +melihat pemilih()
*
Kandidat
Enkripsi Dekripsi -kunci publik -kunci private -jumlah_suara +mengenkrip jumlah_suara() +mendekrip jumlah_suara()
-End3
*
*
-End4
*
-id_kandidat -nama_kandidat -jumlah_suara -photo -motto -ketua_umum +lihat kandidat() +pilih kandidat() +edit profil kandidat() +hasil voting()
-End2
Gambar 3.9 Kelas Diagram
3.3.4 Diagram Aktivitas
Untuk menggambarkan berbagai alir aktivitas dalam sistem yang sedang berjalan maka dibuatlah suatu activity diagram (diagram aktivitas). Berikut merupakan diagram aktivitas dari sistem e-voting:
Universitas Sumatera Utara
54
1. Diagram Aktivitas Registrasi Mahasiswa
Operator
System
Menampilkan Form Pendaftaran
Mengisi form pendaftaran user
Validasi form
Belum lengkap
Menyimpan informasi ke dalam database
Menyimpan data ke database
Gambar 3.10 Diagram Aktivitas Registrasi Mahasiswa
2. Diagram Aktivitas Login
Gambar 3.11 Diagram Aktivitas Login
Universitas Sumatera Utara
55
3. Diagram Aktivitas Lihat Hasil Voting
User
Sistem
Dekripsi Jumlah suara
Pilih menu lihat hasil voting
Mendapatkan informasi jumlah suara
Menampilkan jumlah suara kandidat
Gambar 3.12 Diagram Aktivitas Pilih Kandidat
3.4 Perancangan Antarmuka Sistem
Perancangan antarmuka dilakukan untuk menentukan kondisi akhir dari perangkat lunak yang akan dibangun. Pada perancangan antarmuka ini, akan dibahas bagaimana perancangan submenu dan bagaimana perancangan tampilan. Perancangan antarmuka akan dibagi menjadi tiga sisi yaitu : sisi administrator, sisi operator, sisi user.
3.4.1 Rancangan Antarmuka pada sisi Administrator
Pada rancangan antarmuka untuk sisi administrator terdapat beberapa halaman antarmuka yang memiliki kegunaannya masing-masing, rancangan halaman-halaman tersebut antara lain:
1. Rancangan Halaman Login, form ini berfungsi sebagai halaman otentikasi untuk administrator sistem. Sebelum memasuki halaman,seorang administrator
Universitas Sumatera Utara
56
ataupun operator diharuskan untuk melakukan otentikasi terlebih dahulu, adapun Rancangan Halaman Login dapat dilihat pada gambar 3.13.
Login Administrator Username
Password
Gambar 3.13 Rancangan Halaman Login
2. Rancangan Halaman Beranda, setelah administrator atau operator berhasil melakukan otentikasi di halaman login, admin akan secara otomatis diarahkan ke halaman beranda, pada halaman ini admin bisa memilih menu-menu pada dashboard. Halaman beranda dapat dilihat pada gambar 3.14.
Halo, administrator Logout
Dashboard
Lihat Profil Kandidat
Lihat Pendaftar
Lihat yang Sudah Memilih
Daftar Operator
Lihat Diagram
Informasi
Gambar 3.14 Rancangan Halaman Dashboard
Universitas Sumatera Utara
57
3. Rancangan Halaman Lihat Profil Kandidat, halaman untuk melihat seluruh profil kandidat. Admin dapat menambah kandidat, menyunting profil kandidat, atau menghapus kandidat. Halaman lihat profil kandidat dapat dilihat pada gambar 3.15
Halo, administrator Logout Dashboard
Tabel untuk menampilkan Profil Kandidat
Gambar 3.15 Rancangan Halaman Lihat Profil Kandidat
4. Rancangan Halaman Lihat Pendaftar, halaman untuk melihat seluruh mahasiswa yang sudah terdaftar ke dalam sistem secara valid. Halaman lihat profil pendaftar dapat dilihat pada gambar 3.16. Halo, administrator Logout Dashboard
Tabel untuk menampilkan seluruh pendaftar
Gambar 3.16 Rancangan Halaman Lihat Pendaftar
Universitas Sumatera Utara
58
5. Rancangan Halaman Daftar Operator, halaman untuk melihat seluruh operator sistem. Admin dapat menambah kandidat, menyunting username operator, atau menghapus operator. Halaman daftar operator dapat dilihat pada gambar 3.17.
Halo, administrator Logout Dashboard
Tabel untuk menampilkan daftar operator
Gambar 3.17 Rancangan Halaman Daftar Operator
6. Rancangan Halaman Lihat Diagram, halaman untuk melihat hasil voting sementara. Admin hanya dapat melihat jumlah hasil voting, tidak dapat merubah apa-apa. Halaman Lihat Diagram dapat dilihat pada gambar 3.18. Halo, administrator Logout Dashboard
Menampilkan diagram hasil voting
Gambar 3.18 Rancangan diagram lihat diagram
Universitas Sumatera Utara
59
3.4.2 Rancangan Antarmuka pada sisi Operator
Pada rancangan antarmuka untuk sisi operator terdapat beberapa halaman antarmuka yang memiliki kegunaannya masing-masing, rancangan halaman-halaman tersebut antara lain:
1. Rancangan Halaman Login, form ini berfungsi sebagai halaman otentikasi untuk operator sistem. Sebelum memasuki halaman, seorang administrator ataupun operator diharuskan untuk melakukan otentikasi terlebih dahulu, adapun Rancangan Halaman Login dapat dilihat pada gambar 3.19.
Login Administrator Username
Password
Gambar 3.19 Rancangan Halaman Login
2. Rancangan Halaman Tambah User, form ini berfungsi sebagai halaman untuk menambah calon voter yang valid. Mahasiswa terlebih dahulu datang ke KPU setempat untuk mendaftar. Adapun Rancangan Halaman Tambah User dapat dilihat pada gambar 3.20.
Universitas Sumatera Utara
60
Halo, operator Logout Dashboard
Menampilkan form untuk mendaftarkan calon voter
Gambar 3.20 Rancangan Halaman Tambah User
3. Rancangan Halaman Lihat Pendaftar, halaman untuk melihat seluruh mahasiswa yang sudah terdaftar ke dalam sistem secara valid. Halaman lihat profil pendaftar dapat dilihat pada gambar 3.21.
Halo, operator Logout Dashboard
Tabel untuk menampilkan seluruh pendaftar
Gambar 3.21 Rancangan Halaman Lihat Pendaftar
4. Rancangan Halaman Lihat yang Sudah Memilih, halaman untuk melihat seluruh mahasiswa yang sudah terdaftar secara valid dalam sistem dan sudah menggunakan hak suaranya. Halaman lihat yang sudah memilih dapat dilihat pada gambar 3.22.
Universitas Sumatera Utara
61
Halo, operator Logout Dashboard
Tabel untuk menampilkan seluruh mahasiswa yang sudah menggunakan hak suara
Gambar 3.22 Rancangan Halaman Lihat yang Sudah Memilih
3.4.3 Rancangan Antarmuka pada sisi User
Pada rancangan antarmuka untuk sisi user terdapat beberapa halaman antarmuka yang memiliki kegunaannya masing-masing, rancangan halaman-halaman tersebut antara lain:
1. Rancangan Halaman Login, form ini berfungsi sebagai halaman otentikasi untuk user yang sudah teregistrasi. Sebelum memasuki halaman, seorang user diharuskan untuk melakukan otentikasi terlebih dahulu, adapun Rancangan Halaman Login dapat dilihat pada gambar 3.23.
NIM
Password
Login Hasil Voting
Gambar 3.23 Rancangan Halaman Login
Universitas Sumatera Utara
62
2. Rancangan Halaman Pilih Kandidat, halaman ini berguna bagi user untuk memilih salah satu dari para kandidat yang di tampilkan sistem. Rancangan halaman pilih kandidat dapat dilihat pada gambar 3.24.
Halo, user Logout
Foto Kandidat
Profil Kandidat
Foto Kandidat
Profil Kandidat
Foto Kandidat
Profil Kandidat
Gambar 3.24 Rancangan Halaman Pilih Kandidat
3.5 Perancangan Flowchart Sistem
Rancangan flowchart merupakan rancangan alur proses yang ada dalam program simulasi. Flowchart proses login, proses registrasi mahasiswa, proses pengaktifan akun pemilih, proses pembangkitan kunci, proses pemilihan kandidat, dan proses perhitungan hasil voting.
Universitas Sumatera Utara
63
a. Flowchart proses login
Mulai
Login
Peringatan Kesalahan
Proses login
Tidak
Login valid
Tabel mahasiswa dalam database
Ya
Masuk evoting system
Gambar 3.25 Flowchart proses login
Universitas Sumatera Utara
64
b. Flowchart proses registrasi mahasiswa
Mulai
Pemilih menunjukkan kartu mahasiswa kepada operator registrasi
Mahasiswa tidak boleh mendaftar
Kartu mahasiswa
Tidak
Kartu mahasiswa valid
Ya
Registrasi
Peringatan kesalahan
Ya
No nim sudah ada
Database mahasiswa
Tidak
Ya
Email sudah ada
Tidak
Proses Registrasi
Simpan data mahasiswa ke database dan mengirimkan user email konfimarsi user
Database temp_mahasiswa
Selesai
Gambar 3.26 Flowchart proses registrasi mahasiswa
Universitas Sumatera Utara
65
c. Flowchart proses pengaktifan akun pemilih
Mulai
Mahasiswa yang sudah mendaftar mengecek email untuk mengaktifkan akun
Peringatan Kesalahan
Tidak
User menekan confrmation link untuk pengaktifan user
Ya
Database temp_mahasiswa
Update data dari database temp_mahasiswa ke database mahasiswa
Database Mahasiswa
Proses menuju halaman login
Database mahasiswa
Login
Gambar 3.27 Flowchart proses pengaktifan akun pemilih
Universitas Sumatera Utara
66
d. Flowchart proses pemilihan kandidat
Mulai
Masuk evoting system
Menu Pilihan
Memilih calon
Database data pemilihan
Logout
Sudah memilih
Tidak
Peringatan tidak bisa memilih lagi
Ya Proses pemilihan
Memilih calon dan masukkan captcha
Tabel kandidat
Tidak
Pertanyaan untuk user
Ya Tabel kandidat
Proses enkripsi id kandidat dengan algoritma RSA
Simpan data pemilihan
Tabel kandidat
Database data pemilihan
(Proses dekripsi jumlah suara) +1
Proses enkripsi jumlah suara
Proses update jumlah pemilihan ke database
Database kandidat
Selesai
Gambar 3.28 Flowchart proses pemilihan kandidat
Universitas Sumatera Utara
67
e. Flowchart proses perhitungan hasil voting
Mulai
Tabel kandidat
Enkripsi Jumlah suara
Data Enkripsi Jumlah suara
Tabel kandidat
Dekripsi jumlah suara
Informasi Jumlah suara per kandidat
Selesai
Gambar 3.29 Flowchart proses perhitungan hasil kandidat
3.6 Flowchart Enkripsi dengan Algoritma RSA
Pada diagram alir enkripsi akan digambarkan bagaimana pesan diubah menjadi cipherteks dengan menggunakan kunci publik (e dan n). Proses enkripsi dilakukan dengan mengubah plainteks sesuai dengan desimal ASCII. Potong plainteks per digit menjadi beberapa kelompok blok (dilambangkan dengan P i). Konversikan masingmasing blok ke dalam persamaan Ci = Pie mod n.
Universitas Sumatera Utara
68
Mulai
Masukkan plainteks
Plainteks → ASCII = P
Tidak
Pi < n Panjang Pi = Panjang Pi +1
Ci = Pi e mod n
Cipherteks
Selesai
Gambar 3.30 Flowchart enkripsi
3.7 Flowchart Dekripsi dengan Algoritma RSA
Dalam diagram ini akan ditunjukkan proses dekripsi pesan dalam bentuk cipherteks menjadi plainteks semula. Proses dekripsi pesan dilakukan dengan menggunakan kunci privat (d dan n). Konversikan setiap blok cipherteks yang ada ke dalam
Universitas Sumatera Utara
69
persamaan Pi = Cid mod n dan setiap hasil yang diperoleh akan diubah menjadi karakter yang sesuai pada tabel ASCII sehingga diperoleh plainteks semula.
Mulai
Cipherteks
Pi = Cid mod n
Pi = Pi + Pi+1
Pi = ASCII
Plainteks
Selesai
Gambar 3.31 Flowchart dekripsi
Universitas Sumatera Utara
BAB IV
IMPLEMENTASI DAN PENGUJIAN SISTEM
Setelah melalui tahap analisis dan perancangan, tahap selanjutnya untuk mengembangkan suatu perangkat lunak adalah tahap implementasi dan pengujian sistem. Untuk mengetahui apakah implementasi perangkat lunak tersebut berhasil atau tidak, diperlukan pengujian. Berikut ini hasil implementasi dan pengujian dari aplikasi yang telah dibangun.
4.1 Spesifikasi Perangkat Keras dan Perangkat Lunak yang Digunakan
Lingkungan implementasi merupakan lingkungan perangkat lunak yang digunakan untuk membangun dan mengoperasikan perangkat lunak. Pada bagian ini semua analisis dan perancangan akan direpresentasikan ke dalam bentuk perangkat lunak yang dapat menunjang aktivitas pengguna dalam kehidupan sehari-hari.
Spesifikasi perangkat keras yang digunakan :
1. Processor Intel(R) Dual CPU T3400 @ 2.16Ghz (2 CPUs),~ 2,2 Ghz. 2. Memory RAM yang digunakan 2,5 GB 3. Kapasitas Hardisk 150GB
Spesifikasi perangkat lunak yang digunakan :
1. Windows 7 Ultimate 2. Software Notepad++ 3. Web Server AppServ
Universitas Sumatera Utara
72
4.2 Uji Batasan
Pada perancangan e-voting dengan menggunakan algoritma RSA terdapat beberapa batasan masalah yaitu :
1. Informasi yang akan dienkripsi adalah jumlah suara dari tiap kandidat menggunakan publik key sistem.
Gambar 4.1 Proses enkripsi jumlah suara
Proses dekripsi digunakan untuk melihat hasil akhir jumlah suara dari tiap kandidat. Jumlah suara yang di dalam database berupa ciphertext akan diubah menjadi plaintext menggunakan private key.
Gambar 4.2 Proses dekripsi jumlah suara
2. Batasan selanjutnya adalah batasan untuk penggunaan algoritma yang digunakan. Pada perangkat lunak ini, algoritma yang digunakan hanya algoritma RSA. Batasan ini dapat diperlihatkan pada saat pemanggilan class yang diberi nama rsa.class.php dimana di dalam class tersebut terdapat fungsi-fungsi sesuai algoritma RSA. Tampilan batasan untuk penggunaan algoritma RSA dapat ditunjukkan pada gambar 4.6.
Gambar 4.3 Tampilan batasan algoritma RSA
Universitas Sumatera Utara
73
4.3 Pengujian Sistem Secara Menyeluruh
Pengujian sistem akan dilakukan secara keseluruhan, mulai dari registrasi calon voter atau proses penyuntingan kandidat di sisi administrator sampai dengan pemilihan kandidat pada proses user.
4.3.1 Pengujian Pada Sisi Administrator dan Operator
Administrator dan operator tidak mempunyai fungsi yang terlalu berbeda. Yang membedakan hanyalah administrator bisa menambah, menghapus kandidat dan melihat hasil diagram. Sedangkan operator hanya bisa mendaftarkan mahasiswa, melihat yang sudah memilih dan mendaftar. Administrator memiliki tingkatan hak akses yang paling tinggi daripada operator.
1. Login untuk administrator dan operator. Untuk dapat mengakses sistem, administrator dan operator harus melakukan otentikasi pada halam login. Tampilan halaman login dapat dilihat pada gambar 4.4. Pada tampilan halaman ini terdapat form login yang terdiri dari form input username dan password. Username dan password yang dimaksud adalah username dan password milik administrator atau operator.
Gambar 4.4 Halaman Login Administrator dan Operator
Universitas Sumatera Utara
74
2. Halaman beranda untuk Level Administrator, tampilan halaman beranda dapat dilihat pada gambar 4.5. Pada halaman beranda, administrator yang telah berhasil melakukan otentikasi pada halaman login dapat memilih menu-menu yang ada untuk mengelola sistem.
Gambar 4.5 Halaman Beranda Administrator
3. Halaman beranda untuk level Operator, berbeda dengan halaman beranda untuk level Administrator, pada halaman beranda level operator hanya tersedia tiga menu, yaitu tambah user, lihat pendaftar, dan lihat yang sudah memilih. Tampilan halaman beranda operator dapat dilihat pada gambar 4.6.
Gambar 4.6 Halaman Beranda Operator
Universitas Sumatera Utara
75
4. Halaman Profil Kandidat, tampilan halaman tambah kandidat dapat dilihat pada gambar 4.7. Halaman ini hanya dapat diakses oleh administrator. Pada halaman ini administrator dapat melihat daftar kandidat, sekaligus dapat menghapus dan menambah kandidat.
Gambar 4.7 Halaman Profil Kandidat
Selain dapat menampilkan daftar kandidat, administrator juga dapat menambahkan kandidat
dengan memilih
menu
“Tambah Kandidat”.
Contohnya dapat dilihat pada gambar 4.8.
Gambar 4.8 Halaman Tambah Kandidat
Universitas Sumatera Utara
76
5. Halaman Lihat Pendaftar, tampilan halaman ini dapat dilihat pada gambar 4.9. Halaman ini menampilkan semua mahasiswa yang sudah mendaftar secara valid, yang dapat diakses oleh administrator dan operator.
Gambar 4.9 Halaman Lihat Pendaftar
6. Halaman Lihat yang Sudah Memilih untuk level administrator dan operator. Tampilan halaman ini dapat dilihat pada gambar 4.10. Halaman ini menampilkan seluruh mahasiswa yang sudah mendaftar secara valid dan sudah menggunakan hak suaranya untuk memilih.
Gambar 4.10 Halaman Lihat yang Sudah Memilih
Universitas Sumatera Utara
77
7. Halaman Daftar Operator, tampilan halaman daftar operator dapat dilihat pada gambar 4.11. Pada halaman ini administrator dapat melihat daftar operator sekaligus dapat menambahkan data operator.
Gambar 4.11 Halaman Daftar Operator
Selain dapat menampilkan daftar operator, administrator juga dapat menambah operator, menghapus, dan mengganti password operator.
8. Halaman Tambah User untuk level operator, tampilan halaman dapat dilihat pada gambar 4.12. Pada halaman ini operator dapat menginput data mahasiswa yang ingin menggunakan hak suaranya. Kunci aktivasi untuk mengaktifkan akun, secara otomatis akan dikirim sistem ke e-mail mahasiswa yang mendaftar tersebut.
Gambar 4.12 Halaman Tambah User
Universitas Sumatera Utara
78
4.3.2 Pengujian Pada Sisi User
1. Login untuk mahasiswa, setelah mengaktifkan akun, mahasiswa dapat menggunakan hak suaranya. Mahasiswa dapat memilih para kandidat dengan mengakses www.multidigilab.net/voting/ menggunakan browser pada laptop maupun smartphone. Tampilan halaman login dapat dilihat pada gambar 4.13.
Gambar 4.13 Halaman Login Mahasiswa
2. Halaman Pemilihan. Di halaman beranda, pemilih dapat langsung memilih para kandidat dengan cara klik pada foto kandidatnya. Pemilihan hanya dapat dilakukan satu kali.
Gambar 4.14 Halaman Pemilihan
Universitas Sumatera Utara
79
3. Halaman Lihat Hasil Voting. Semua orang dapat mengakses halaman ini di www.multidigilab.net/voting/diagram.php . Halaman ini hanya dapat diakses di jam tertentu. Misalnya administrator hanya mengizinkan user mengakses halaman ini dimulai jam 12 siang. Tampilan pembatasan dalam waktu ases dapat dilihat pada gambar 4.15.
Gambar 4.15 Pembatasan Waktu Akses Hasil Voting
Jika user dan semua pihak mengakses hasil voting setelah jam yang telah
ditentukan
admin,
maka
diagram-diagram
berikut
akan
mempresentasikan jumlah suara dari tiap kandidat.
Gambar 4.16 Halaman Lihat Hasil Voting
Universitas Sumatera Utara
80
4.4 Analisis Kriptografi Kunci Publik terhadap Sistem
Analisis data hasil pengujian sistem mengacu pada tujuan penelitian yang terdapat pada bab 1, maka terdapat 2 hal yang akan dianalisis, yaitu:
1. Keamanan informasi data di dalam sistem 2. Requirement dasar e-voting setelah pengujian
4.4.1 Analisis Keamanan Informasi Data di dalam Sistem setelah Pengujian
Berdasarkan skenario pengujian kita akan melihat hasil pengujian di dalam sistem. Di dalam kasus ini, algoritma RSA dan digunakan untuk mengamankan keamanan jumlah suara sementara dan hasil akhir dari perhitungan suara.
Berikut penulis tampilkan adalah tabel kandidat di dalam database yang menampilkan jumlah suara dari masing-masing kandidat.
Gambar 4.17 Kandidat setelah pengujian
Berdasarkan pengujian di atas, maka dapat disimpulkan bahwa algoritma RSA juga cukup baik untuk mengamankan keamanan informasi jumlah suara dari tiap kandidat. Dengan begini sistem lah yang akan mendekripsikan jumlah suara dari tiap kandidat. Seorang administrator juga harus mempunyai private key untuk memanipulasi data jumlah suara di dalam database yang berupa chipertext.
Universitas Sumatera Utara
81
4.4.2 Requirement dasar e-voting yang terpenuhi setelah Pengujian
Setelah pengujian ada beberapa requirement dasar e-voting yang seharusnya bisa dipenuhi oleh sistem ini seperti yang diungkapkan oleh Schneier (1996). Berikut tabel requirement e-voting yang terpenuhi setelah pengujian:
Tabel 4.1 Tabel requirement dasar e-voting REQUIREMENT DASAR
PEMENUHAN REQUIREMENT
E-VOTING
E-VOTING
Hanya
orang
yang
sah
memberikan suara/pemilih
dapat Terpenuhi Untuk
memberikan
mahasiswa setempat
harus
yang
suara,
mendaftar
dengan
mahasiswa
hak
seorang
di
panitia
menunjukkan
kartu
sah.
Kemudian
untuk
mengaktifkan akun, mahasiswa tersebut harus mengaktifkan sendiri akun nya dengan kunci yang dikirim ke sistem ke e-mail. Dengan begitu mengurangi resiko adanya user palsu. Setiap orang tidak dapat memilih Terpenuhi lebih dari sekali.
Sistem akan menampilkan peringatan jika user ingin memilih untuk kedua kalinya.
Tidak ada seorang pun yang dapat Terpenuhi mengetahui pilihan orang lain
Data pemilihan di dalam database berupa chipertext.
Tidak
seorangpun
menduplikasi suara
dapat Terpenuhi Sistem
memanfaatkan
timestamp
untuk
mencegah adanya duplikasi suara.
Universitas Sumatera Utara
82
Tabel 4.1 Tabel requirement dasar e-voting (lanjutan) Tidak ada seorangpun yang merubah pilihan orang lain diketahui oleh pihak lainnya.
dapat Terpenuhi tanpa Sistem ini
menerapkan
anonimitas
pilihan. Jadi tidak ada keterkaitan antara pemilih dan apa yang dipilih Setiap orang dapat memastikan Terpenuhi pilihannya telah masuk ke Pusat Tabulasi User bisa melihat namanya di daftar user Data yang sudah memilih Setiap orang mengetahui siapa yang Terpenuhi sudah memilih dan tidak memilih. Sistem akan memberitahukan kepada user jumlah yang sudah memilih dan yang belom memilih
Universitas Sumatera Utara
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Berdasarkan analisis dan pengujian yang dilakukan pada bab sebelumnya, maka kesimpulan yang dapat diambil adalah sebagai berikut : 1. Telah diperoleh suatu sistem e-voting yang menggunakan algoritma kriptografi kunci publik untuk mengamankan pertukaran informasi di dalam sistem. 2. Sistem ini melindungi data jumlah suara, sehingga administrator pun sulit untuk melakukan manipulasi data. Seorang administrator memerlukan kunci privat untuk memanipulasi jumlah suara.
5.2 Saran
Penulis menyarankan pengembangan penelitian lebih lanjut sistem e-voting sebagai berikut: 1. Sistem ini selanjutnya diharapkan menggunakan blind signature untuk anonimitas suara. 2. Perlu ditambahkan algoritma multiple key RSA, agar kunci dekripsi tidak hanya dipegang oleh satu pihak tapi beberapa pihak tertentu sehingga bila administrator ingin mendekripsi suara, diperlukan persetujuan dari semua pihak yang telah ditentukan tersebut. 3. Menggunakan algoritma kriptografi yang lebih baik dari RSA terhadap serangan-serangan dari pihak tertentu.
Universitas Sumatera Utara