BAB V : Kesimpulan dan Saran
SHA-1Enkrips
3.2. Analisis dan Perancangan Sistem e-Voting 1 Analisis Sistem e-Voting
Sistem e-voting yang dibangun pada penelitian ini adalah sistem e-voting untuk pemilihan umum presiden mahasiswa universitas sumatera utara. Pada awalnya setiap user yang merupakan mahasiswa universitas sumatera utara harus mendaftarkan dirinya ke website KPU untuk memperoleh PIN dan akun pemilihan yang valid. Setelah mendapatkan PIN dan akun pemilihan yang valid, user akan mendapatkan haknya sebagai pemilih (voter) dan dapat melakukan pemungutan suara dengan cara memilih salah satu dari beberapa kandidat yang ditampilkan. Kemudian sistem secara otomatis akan membangkitkan pasangan kunci baik kunci publik untuk proses enkripsi pilihan suara pemilih dan kunci privat yang digunakan pada proses dekripsi dan verifikasi terhadap data pilihan suara. Selanjutnya sistem akan memberikan
sebuah print-out berupa dokumen yang berisikan kunci dekripsi yang tersebut kepada pemilih yang bersangkutan. Berikut gambar 3.10. yang menunjukkan arsitektur penggunaan sistem e-voting ini.
KPU
Operator
Voter Voter Voter
Server TPS
Voter Voter Voter
Voter Voter Voter Server TPS
Operator
Operator
Server TPS
Website KPU
Gambar 3.10. Arsitektur penggunaan sistem e-voting
Dalam perangkat lunak ini terdapat beberapa fungsi utama selama proses pemungutan suara, yaitu :
1. Membangkitkan kunci publik dan kunci privat RSA oleh administrator melalui aplikasi untuk KPU.
2. Membangkitkan kunci enkripsi dan dekripsi AES oleh operator melalui aplikasi untuk TPS.
3. Membangkitkan kunci publik dan kunci privat RSA secara otomatis untuk setiap voter melalui aplikasi untuk voter dan menggunakannya pada proses verifikasi dan pengecekan keaslian data pilihan suara melalui website yang disediakan oleh KPU.
4. Melakukan proses enkripsi pada jumlah suara secara otomatis melalui aplikasi untuk TPS dengan menggunakan kunci publik RSA yang dibuat KPU.
5. Mengirimkan jumlah suara yang telah diubah menjadi ciphertext secara otomatis ke dalam sistem database pemilihan melalui aplikasi untuk TPS. 6. Merekapitulasi dan menghitung jumlah suara pada masing - masing TPS
secara otomatis melalui aplikasi untuk TPS.
7. Melakukan proses enkripsi file pada file database rekapitulasi yang digunakan di setiap TPS dengan kunci enkripsi AES oleh operator melalui aplikasi untuk TPS.
8. Memberikan tanda tangan digital pada setiap file yang telah dienkripsi dan akan didistribusikan oleh operator melalui aplikasi untuk TPS.
9. Melakukan verifikasi tanda tangan digital pada setiap file oleh administrator yang bersumber dari setiap TPS melalui aplikasi untuk KPU.
10. Melakukan proses dekripsi ciphertext database oleh administrator melalui aplikasi untuk KPU agar dapat menggunakan informasi tersimpan dalam database tersebut.
11. Melakukan proses dekripsi ciphertext data jumlah suara, sehingga data jumlah suara akan berubah menjadi plaintext kemudian dihitung di dalam sistem dan dicatat kedalam fungsi view pada sistem database oleh administrator melalui aplikasi untuk KPU.
Beberapa batasan pada perangkat lunak yang dibangun adalah
1. Perangkat lunak tidak menangani tata cara penyebaran kunci dan file lainnya. 2. User harus mendaftarkan dirinya melalui website KPU untuk dapat
menggunakan hak pilihnya. 3.2.2. Perancangan Sistem e-Voting
Perancangan sistem e-voting yang akan dibangun dibuat berdasarkan analisis perangkat lunak. Perancangan ini direpresentasikan ke dalam diagram alur (flowchart). Flowchart yang dibuat meliputi proses registrasi mahasiswa melalui website yang disediakan KPU, proses login voter melalui aplikasi untuk voter, proses pilih kandidat melalui aplikasi untuk voter, proses cek pilihan suara melalui website KPU, proses login administrator dan operator melalui aplikasi untuk TPS dan KPU, proses rekapitulasi TPS melalui aplikasi untuk TPS, proses rekapitulasi KPU melalui aplikasi untuk KPU, dan proses perhitungan hasil voting melalui aplikasi untuk administrator. Berikut merupakan flowchart dari sistem e-voting.
a. Flowchart proses registrasi mahasiswa dapat dilihat pada gambar 3.11.
Mulai
Ya
Tidak Input data form
pendaftaran Database Voter Memeriksa database voter Database Voter NIM sudah terdaftar
Simpan data pemilih
Selesai
Output peringatan
kesalahan
b. Flowchart proses login voter dapat dilihat pada gambar 3.12.
Mulai
Tidak
Sudah memilih
Tidak Input NIM dan PIN
pada form login
Ouput peringatan
sudah memilih
Memeriksa input NIM dan PIN
Database Voter
NIM dan PIN valid Output peringatan kesalahan Ya Memeriksa status pemilihan voter Database Votelog Ya Masuk ke sistem e-voting
c. Flowchart proses pilih kandidat dapat dilihat pada gambar 3.13. Mulai Memilih Kandidat Kandidat belum memiliki jumlah suara Menambahkan suara Enkripsi jumlah suara dengan RSA
dari KPU
Simpan ciphertext jumlah suara ke
database Mengambil jumlah
suara yang telah dienkripsi
Dekripsi Jumlah Suara dengan RSA
dari KPU
Enkripsi nama kandidat dengan
RSA dari voter
Simpan id voter dan ciphertext nama
kandidat ke database Buat kunci RSA baru
untuk setiap voter
yang memilih
Print-out kunci dekripsi untuk voter
Selesai
Ya Tidak
Output hasil print- out kunci dekripsi dalam bentuk kertas Database Votecount Database Votecount Database Votelog Plaintext jumlah suara Ciphertext jumlah suara Ciphertext nama kandidat yang dipilih
d. Flowchart proses cek pilihan suara dapat dilihat pada gambar 3.14. Mulai Data lengkap NIM yang dimasukkan valid Tidak Ya Ya Tidak Dekripsi nama kandidat yang dipilih
dengan kunci dekripsi RSA yang dimasukkan voter Dekripsi berhasil Selesai Tidak Output hasil dekripsi nama kandidat yang dipilih Input NIM dan kunci
pada form pengecekan suara Database Votelog Memeriksa NIM di database votelog Database Votelog Output pesan voter belum memilih Mengambil log pilihan voter Output pesan kesalahan Ya
e. Flowchart proses login administrator dan operator dapat dilihat pada gambar 3.15.
Mulai
Tidak Input Username dan
PIN pada form login
Memeriksa input Username dan PIN
Database Staff Username dan PIN valid Output peringatan kesalahan Ya Masuk ke sistem e-voting
f. Flowchart proses rekapitulasi suara di TPS dapat dilihat pada gambar 3.16.
Mulai
Membuat kunci RSA untuk integrasi ke tanda tangan digital
Membuat Kunci Enkripsi - Dekripsi
AES
Ekstrak/Eksport
Database
Enkripsi file plaintext database dengan menggunakan AES
Buat tanda tangan digital untuk file
database dengan kunci privat RSA yang dibuat TPS dan
Hash SHA-1
Enkripsi file kunci AES dengan kunci enkripsi publik RSA yang diberikan KPU
Buat tanda tangan digital untuk file kunci AES dengan
kunci privat RSA yang dibuat TPS dan
SHA-1 Selesai Ciphertext Database Tanda tangan digital database Ciphertext kunci AES Tanda tangan digital kunci AES Masukkan kunci
enkripsi publik RSA yang diberikan KPU
File kunci publik dan privat RSA TPS
File plaintext kunci AES
Hapus file plaintext database dengan metode Secure
Delete
Hapus file plaintext
kunci AES dengan metode Secure
Delete
File plaintext database
g. Flowchart proses rekapitulasi suara di KPU dapat dilihat pada gambar 3.17. Mulai
Periksa validitas kecocokan tanda tangan dengan kunci
AES
Tanda tangan digital kunci valid
Tidak Ya Periksa validitas kecocokan tanda tangan digital dengan database Tanda tangan digital database valid Lakukan proses dekripsi kunci AES menggunakan kunci privat RSA dari KPU
Lakukan proses dekripsi database
dengan kunci AES yang telah didekripsi
Lakukan proses import database
yang telah didekripsi
Mengambil data votecount yang dienkripsi Dekripsi data menggunakan RSA Buat/gantikan Vew hasil voting di database
berdasarkan data
votecount yang telah didekripsi
Selesai Tidak
Ya Masukkan kunci
dekripsi privat RSA dari KPU
Masukkan ciphertext
kunci AES dari TPS
Masukkan
ciphertextdatabase
dari TPS
Masukkan kunci publik RSA dari TPS
untuk integrasi dengan tanda tangan digital
Masukkan tanda tangan digital untuk
kunci AES
Masukkan tanda tangan digital untuk
database
Ya
Plaintext kunci AES
Plaintext Database
Database Votecount
View database
hasil voting
h. Flowchart proses lihat hasil voting dapat dilihat pada gambar 3.18.
Mulai
Memeriksa data view hasil voting di
database Data ada Pesan kesalahan Menampilkan data hasil voting Selesai Ya Tidak View hasil voting database
BAB IV