• Tidak ada hasil yang ditemukan

Analisis dan Perancangan Sistem e-Voting 1 Analisis Sistem e-Voting

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

Dokumen terkait