Bab 4 Hasil dan Pembahasan
4.1
Implementasi Sistem Hasil implementasi sistem berdasarkan perancangan yang telah dibuat, dijelaskan sebagai
berikut.
Gambar 4.1. Form Voting
Gambar 4.1 merupakan antarmuka halaman form voting setelah pengawas memulai pemilihan. Pemilih akan melakukan scan KTM untuk masuk ke form selanjutnya yaitu pemilihan kandidat. Pada form ini bila pemilih belum terverifikasi, maka akan muncul messagebox “ada belum melakukan verifikasi data”. Pengawas akan melakukan verifikasi pada form verifikasi pemilih. Perintah yang digunakan dapat dilihat pada Kode Program 4.1 dan kode program 4.2 yang menjelaskan verifikasi data pemilih.
28
Kode program 4.1 Perintah untuk scan KTM 1. Private Sub txtNim_KeyPress(ByVal sender As System.Object, ByVal e As 2. System.Windows.Forms.KeyPressEventArgs) Handles txtNim.KeyPress 3. Dim code As Integer = Convert.ToInt32(e.KeyChar) 4. If ((Not (code >= 48 And code <= 57)) And code <> 13 And code <> 8) Then 5. e.Handled = True 6. ElseIf (txtNim.Text.Length = 0 And code = 8) Then 7. txtName.Text = "" 8. txtAddress.Text = "" 9. txtNim.Text = "" 10. btnNext.Enabled = False
Kode Program 4.1 merupakan perintah yang digunakan untuk memasukkan data pemilih lewat scan KTM. Kode program 4.2 Perintah untuk tampilkan Dialog belum terverifikasi 1. 2. 3. 4. 5.
ElseIf ((Not vDao.exists(txtNim.Text)) And code = 13) Then MessageBoxEx.Show(Me, "Anda Belum Melakukan Verifikasi Data Pemilih", "Pesan", MessageBoxButtons.OK, MessageBoxIcon.Warning) End If
kode Program 4.2 merupakan perintah yang digunakan untuk menampilkan pesan bahwa pemilih belum melakukan verifikasi, sehingga pemilih tidak dapat masuk ke form berikutnya yaitu form pilih kandidat. Untuk masuk ke form pilih kandidat, pengawas akan mengisi data verifikasi pemilih terlebih dulu.
Gambar 4.2. Form Pilih Kandidat dan Form Konfirmasi
Gambar 4.2 merupakan antarmuka halaman form pilih kandidat dan form konfirmasi yang menampilkan aturan pemilihan dan calon kandidat yang akan dipilih. Untuk menentukan pilihan, pemilih dapat memilih button “pilih”. Kemudian akan muncul form konfirmasi untuk 29
memastikan calon kandidat yang dipilih. Form konfirmasi akan menampilkan biodata pemilih berupa Foto, Nim, Nama, Alamat pemilih, dan pesan konfirmasi. Jika pemilih yakin dengan pilihannya maka dapat memilih button “OK”. Perintah yang digunakan dapat dilihat pada Kode Program 4.3. Kode program 4.3 Perintah pada form konfirmasi 1. Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) 2. Handles btnOK.Click 3. Dim vDao As New VoteDao() 4. Dim crypto As New Crypto() 5. If (vDao.insertDataVote(New VoteModel(crypto.GetCrypt(_elector.Nim), 6. crypto.GetCrypt(noOrder)))) Then 7. Dim img As Image = Code128Rendering.MakeBarcodeImage(_elector.Nim + "-" + 8. noOrder, 1, True) 9. pic.Name = "Pic" 10. pic.Size = New Size(500, 84) 11. pic.SizeMode = PictureBoxSizeMode.CenterImage 12. pic.Image = img 13. PrintDocument.Print() 14. End If 15. Me.Dispose() 16. Me.ucVote2.Dispose() 17. End Sub
Kode Program 4.3 untuk proses konfirmasi pilih kandidat. Setelah pemilih menentukan pemilihan dengan menekan button OK pada form konfirmasi, maka fungsi dari perintah pada baris ke 4 berfungsi untuk melakukan perintah enkripsi, dengan NIM dan nomor urut kandidat yang akan dilakukan GetCrypt elector.Nim dan noOrder. Setelah sistem melakukan perintah enkripsi, perintah pada baris 7-10 akan dilakukan perintah pembuatan barcode yang kemudian akan dicetak oleh sistem.
Gambar 4.3 Tampilan Bukti Pemilihan
Gambar 4.3 merupakan antarmuka bukti pemilihan suara dalam bentuk printout. Printout pemilihan akan dicetak untuk tiap pemilih secara otomatis oleh sistem, dan untuk melakukan
30
pengecekan bukti pemilihan, pengawas akan melakukan scan bukti pemilihan menggunakan barcode scanner.
31
Gambar 4.4 Dialog Konfirmasi telah Melakukan Pengambilan Suara
Gambar 4.4 menunjukkan tampilan dialog konfirmasi pemilihan pada form voting. Apabila pemilih yang secara sengaja maupun tidak sengaja melakukan pemilihan dalam sekali proses voting, maka sistem akan melakukan pengecekan pada database, sehingga tidak terjadi kecurangan jumlah suara pemilih. Kode program 4.4 Perintah untuk Konfirmasi telah Melakukan Pengambilan Suara 1. 2. 3. 4. 5. 6. 7. 8. 9.
ElseIf (vDao.exists(txtNim.Text) And code = 13 And txtNim.Text.Length = 9) Then If (isExistsInTableVote(txtNim.Text)) Then BalloonTip.SetBalloonText(txtAddress, "Anda Sudah Melakukan Pengambilan Suara") BalloonTip.SetBalloonCaption(txtAddress, "Pesan") txtNim.Clear() BalloonTip.ShowBalloon(txtAddress) Else : searchDataVoter() End If
Kode program 4.4 merupakan perintah yang digunakan untuk melakukan konfirmasi telah melakukan pemilihan suara.
32
Gambar 4.5 Tabel Hasil Enkripsi
Gambar 4.5 menunjukkan tabel hasil enkripsi pada database, setelah dilakukannya enkripsi SHA-512 bit oleh sistem yang dibuat. NimOfElector pada tabel merupakan bagian NIM pemilih dan choice merupakan nomor urut kandidat yang telah dipilih.
Gambar 4.6 Nonaktifkan Pemilihan
Gambar 4.6 merupakan tampilan nonaktifkan pemilihan. Perintah ini akan dilakukan oleh pengawas setelah pemilihan selesai dilakukan. Bertujuan agar proses voting yang berlangsung, memiliki masa akhir pemilihan dan mencegah adanya kecurangan dalam proses voting, dengan cara melakukan atau melanjutkan proses voting.
Gambar 4.7 Hasil Perhitungan Suara
Gambar 4.7 merupakan tampilan hasil perhitungan suara dalam bentuk printout. Printout hasil perhitungan suara akan dicetak oleh pengawas, dengan cara memilih icon cetak laporan. 33
4.2
Pengujian Sistem Pengujian sistem dilakukan untuk menguji fungsi - fungsi aplikasi hasil implementasi.
Pengujian ini dilakukan untuk mengkaji fitur translucent database yang digunakan. Pengujian dibagi dalam dua bagian, yaitu pengujian oleh user dan oleh pengembang aplikasi. Pengujian oleh user pengujian pada user, yang dilakukan oleh pemilih, untuk menguji keamanan proses pemilihan suara. Hal yang diuji dan hasil pengujian dapat dilihat pada Tabel 4.1. Tabel 4.1. Tabel Pengujian User
No Materi Pengujian 1 Kesesuaian topik penelitian dengan kegunaan metode translucent database pada pengamanan data pemilihan suara.
2
Seorang pemilih yang tidak berkepentingan, ingin melakukan pengecekan bukti pemilihan, menggunakan printout bukti pemilihan pemilih yang lain.
3
Data pemilihan suara akan diawasi oleh pengawas dan secara otomatis akan dienkripsi oleh sistem.
Hasil Pengujian Data hasil pemilihan suara berupa nama pemilih dan nomor urut kandidat yang dipilih, hanya dapat diakses oleh pengawas, yang berperan sebagai pengelolah sistem dengan mengisi data login pengawas. Pada proses pemilihan suara, pemilih hanya dapat menentukan pilihan bila pengawas memberikan ijin. Bukti pemilihan suara hanya menampilkan pesan “Anda telah berhasil melakukan pengambilan suara”, bila di-scan menggunakan barcode scanner dan tanpa menunjukkan informasi kandidat mana yang dipilih. Sehingga rahasia bukti pemilihan tetap dijaga. Pemilih hanya dapat menentukan pilihan kandidat dan melihat informasi kandidat yang dipilih pada form pilih kandidat. Setelah selesai menentukan pilihannya, hasil enkripsi akan tersimpan dalam database dan tidak dapat dikembalikan ke bentuk semula.
34
Pengujian oleh pengembang aplikasi Pengujian oleh pengembang aplikasi, bertujuan untuk menguji kinerja sistem translucent database sudah berjalan sesuai tahap perancangan sistem dan fitur translucent database. Hal yang diuji dan hasil pengujian dapat dilihat pada Tabel 4.2. Tabel 4.2. Tabel Pengujian Pengembang Aplikasi
No Materi Pengujian 1 Kesesuaian aplikasi dengan perancangan sistem.
2
Kesesuaian aplikasi dengan perancangan fitur translucent database yang dibuat.
3
Pengujian fitur translucent database pada pengamanan data pemilihan suara.
Hasil Pengujian Aplikasi sistem translucent database yang dirancang khusus untuk sistem pengamanan data dan proses pengecekan bukti pemilihan suara. Pengamanan data pemilihan menggunakan fitur enkripsi dan stunt data. Proses pengecekan bukti pemilihan menggunakan fitur ignorance. - Fitur enkripsi dan stunt data ditunjukkan dengan adanya algoritma SHA-512 bit, yang menyandikan data pemilihan, pada saat pemilih menentukan pilihan kandidat, dengan fungsi hash satu arah/ one-way function, sehingga data hasil enkripsi tidak dapat dideskripsi. - Fitur ignorance ditunjukkan dengan adanya pengamanan data bukti pemilihan suara, berupa printout barcode, dengan isi autentikasi pesan yang terbatas, tanpa menunjukkan informasi data asli pemilihan.
35
4.3
Pembahasan Aplikasi e-voting menggunakan metode translucent database dengan fitur enkripsi, stunt
data dan ignorance. Penggunaan fitur tersebut dapat digunakan untuk mengamankan data pada sistem database yang dirancang. Sedangkan, data hasil pemilihan pada sistem aplikasi e-voting hanya dapat dilihat oleh pengawas. Selain dienkripsi, data hasil pemilihan juga disimpan pada sistem aplikasi e-voting. Data yang telah disimpan tersebut, bertujuan untuk memastikan bahwa pemilih telah menggunakan hak pilihnya dengan benar. Untuk mengakses ke dalam sistem aplikasi e-voting, hanya pengawas yang memilik hak akses dengan memasukkan username dan password pengawas. Data hasil pemilihan sebelum dienkripsi, dengan menggunakan algoritma SHA-512 bit, disimpan dalam dua tabel.
Gambar 4.8 Simpan Data Hasil Pemilihan
Gambar 4.8 merupakan tampilan simpan data hasil pemilihan yang dibagi dalam dua tabel yaitu, tabel pertama pengambilan suara berdasarkan kandidat dan tabel kedua pengambilan suara berdasarkan pemilih. Data dalam tabel pertama terdapat NIM kandidat yang akan dipilih, nomor urut kandidat, dan jumlah suara yang diperoleh. Tabel kedua menampilkan NIM pemilih, nama pemilih, dan nomor urut kandidat yang dipilih. Adanya kedua tabel ini, bertujuan untuk
36
melihat kecocokan data pemilihan suara. Berdasarkan kedua tabel, data value yang akan dienkripsi adalah NIM dan nomor urut kandidat yang dipilih.
-
Fitur enkripsi dan stunt data
Gambar 4.9 Penggunaan Fitur Enkripsi dan Stunt Data
Gambar 4.9 merupakan penjelasan penggunaan fitur enkripsi dan stunt data yang digunakan pada saat pemilih memasukkan perintah pilih kandidat pada form konfirmasi pemilihan kandidat. Fitur ini akan melakukan perintah crypto.GetCrypt(OfElector.Nim) yang menunjukkan nomor induk mahasiswa yang akan dienkripsi dan nomor kandidat yang dipilih dengan perintah crypto.GetCrypt(OfElector.noOrder). Perintah GetCrypt menuju pada class algoritma SHA-512 bit. Kode Program 4.5 Perintah untuk Enkripsi SHA-512 bit 1. Public Class Crypto 2. Public Sub New() 3. End Sub 4. Public Function GetCrypt(ByVal text As String) As String 5. Dim HashTool As SHA512 = SHA512.Create() 6. Dim dataAsByte() As Byte = Encoding.UTF8.GetBytes(text) 7. Dim encryptedBytes() As Byte = HashTool.ComputeHash(dataAsByte) 8. HashTool.Clear() 9. Return Convert.ToBase64String(encryptedBytes) 10. End Function 11. End Class
Kode program 4.5 merupakan perintah yang digunakan untuk melakukan Enkripsi satu arah menggunakan SHA-512 bit.
37
-
Fitur ignorance
Gambar 4.10 Penggunaan Fitur ignorance
Gambar 4.10 merupakan penjelasan perintah penggunaan fitur ignorance dalam membuat printout barcode dengan isi autentikasi pesan yang terbatas, tanpa menunjukkan informasi asli pemilihan yaitu nama pemilih dan nomor kandidat yang dipilih. NIM 672008213 memilih kandidat nomor urut 2, dan untuk memastikan apakah pilihannya berhasil dilakukan, pemilih akan melakukan scan bukti pemilihan menggunakan barcode scanner.
38