E-Voting System With Smart Contract
Aplikasi voting berbasis web 3.0 yang menerapkan Smart Contract di jaringan Blockchain Ethereum.
Kebergantungan suatu sistem akan kepercayaan terhadap pihak ketiga dalam suatu transaksi menjadi salah satu faktor kerentanan pada sistem, khususnya sistem e-voting. Kerentanan ini memungkinkan risiko terjadinya fraud yang dapat mempengaruhi integritas data voting. Berdasarkan permasalahan tersebut, diperlukan adanya suatu media voting yang memungkinkan pelaksanaan voting lebih terpercaya. Oleh karena itu, penulis melakukan penelitian terkait perancangan dan pembangunan decentralized application (DApp) e-voting berbasis web menggunakan smart contract di jaringan blockchain Ethereum. Penelitian ini menggunakan metodologi Design Research Methodology (DRM) dengan metode pengembangan prototyping. Proses voting diatur oleh smart contract yang dijalankan di dalam Ethereum. Kemudian smart contract diintegrasikan dengan aplikasi berbasis web. DApp e-voting diuji secara fungsional, keamanan, kesesuaian, dan penerimaan pengguna. Hasil pengujian menunjukkan bahwa fungsionalitas dari DApp e-voting dapat berjalan dengan baik dan dapat diterima pengguna sebagai media voting serta integritas data voting terjamin.
Judul penelitian
Rancang Bangun Decentralized Application (DApp) E-voting Berbasis Web Menggunakan Smart Contract di Jaringan Blockchain Ethereum.
Implementasi
Pada penelitian ini akan dibangun aplikasi e-voting terdesentralisasi berbasis web menggunakan smart contract di jaringan blockchain Ethereum. Aplikasi ini memiliki fungsi utama untuk menyediakan suatu sistem e-voting yang baik dengan mengatasi permasalahan yang telah didefinisikan. Pemasalahan tersebut akan diatasi dengan menggunakan smart contract di jaringan blockchain. Rancangan sistem e-voting ditunjukkan pada gambar di bawah ini.
Rancangan sistem berupa use case diagram ditunjukkan pada gambar di bawah ini.
Dari use case diagram kemudian diturunkan menjadi beberapa sequence diagram. Salah satu sequence diagram untuk use case "melakukan vote" ditunjukkan pada gambar di bawah ini.
Deployment diagram dibuat untuk menggambarkan, menspesifikasikan, dan mendokumentasikan metode yang terjadi pada sistem e-voting seperti yang ditunjukkan pada gambar di bawah ini.
Proses implementasi dilaksanakan dengan bantuan Visual Studio Code untuk menulis kode program, MongoDB Compass untuk mengatur basis data, Node Package Manager (NPM) untuk mengelola package JavaScript, Truffle sebagai lingkungan pengembangan blockchain Ethereum, Ganache sebagai simulator blockchain Ethereum, Postman untuk menguji coba backend aplikasi, dan Draw.io untuk menggambar diagram-diagram.
Berdasarkan hasil penelitian yang telah dilakukan, maka dapat diambil beberapa kesimpulan untuk menjawab rumusan masalah dari penelitian ini sebagai berikut:
-
Hasil dari pengujian fungsional dan UAT decentralized application (DApp) e-voting yang telah dilakukan oleh responden menunjukkan bahwa responden memberikan persepsi yang cenderung positif terhadap DApp e-voting. Hal ini dapat dilihat berdasarkan hasil pass untuk keseluruhan test case pada pengujian fungsional yang menunjukkan bahwa fungsi-fungsi dari DApp e-voting sudah berjalan dengan baik. Selain itu, nilai kontinum sebesar 676 atau persentase penerimaan 91,85% yang didapatkan dari UAT menunjukkan bahwa pengguna sangat setuju DApp e-voting dapat digunakan sebagai media voting.
-
Hasil dari pengujian yang dilakukan dengan menggunakan skenario aktor admin mengubah data voting menunjukkan bahwa data voting pada DApp e-voting yang tersimpan di dalam blockchain Ethereum tidak dapat dimodifikasi (immutable).
Tangkapan Layar
-
Halaman admin
-
Halaman vote
-
Transaksi vote di jaringan Ethereum
Peneliti
- Zidna Wildan Alfain
Supervisor
- Hermawan Setiawan
- I Komang Setia Buana
- Herman Kabetta
Publikasi
Z. W. Alfain, H. Setiawan and I. K. S. Buana, "Analysis of Centralized vs Decentralized Electronic Voting," 2022 IEEE 8th Information Technology International Seminar (ITIS), Surabaya, Indonesia, 2022, pp. 173-177, doi: 10.1109/ITIS57155.2022.10010100