Program bantu PEMILU Bemu menggunakan RMI : studi kasus Universitas Sanata Dharma.
PROGRAM BANTU PEMILU BEMU MENGGUNAKAN RMI (Studi Kasus Universitas Sanata Dharma)
Tugas Akhir Tekhnik Informatika Program Sarjana Universitas Sanata Dharma
Penelitian ini dilatarbelakangi oleh permasalahan lamanya waktu proses perhitungan suara pada pemilu BEMU universitas sanata dharma. hal ini terjadi dikarenakan proses perhitungan suara masih manual dengan cara menghitung lembar perlembar kertas suara yang jumlahnya ribuan. Oleh karena itu penulis berupaya membuat sistem yang mampu mempercepat perhitungan suara. Tujuan penilitian ini adalah membuat sistem yang mampu mempercepat proses perhitungan suara dan mengetahui apakah sistem tersebut dapat diterima oleh mahasiswa universitas sanata dharma sebagai pengguna. Pembuatan perangkat lunak menggunakan metode waterfall menurut Pressman Roger S, 1997. Pengujian penerimaan sistem menggunakan metode TAM. Penelitian dilakukan dengan merancang dan membuat perangkat lunak setelah itu sistem diujikan ke panitia BEMU. Setelah panitia BEMU menyetujui sistem maka sistem digunakan pada pemilu BEMU. Pemilih yang menggunakan hak pilihnya diberi kesempatan untuk menggunakan sistem E-Pemilu kemudian diberikan kuesioner untuk diisi. Adapun hasil penelitian penerimaan sistem menunjukkan respon positif bahwa sistem dapat diterima dan pengguna memiliki keinginan untuk menggunakan sistem kedepannya. akan tetapi masih ada faktor utama yang dirasakn menghambat yaitu ketersediaan fasilitas penunjang seperti printer yang belum memadai.
(2)
SOFTWARE ASSISTED FOR BEMU ELECTION PROGRAM UTILIZING RMI (Case Study University of Sanata Dharma)
Final Project Engineering Informatics Graduate Program Sanata Dharma University
This research is motivated by the problem of the length of time the process of counting the election BEMU Sanata Dharma University. this happens because the process is still manual counting by counting sheet number in the thousands. Therefore, the authors attempt to create a system capable of facilitating the calculation of votes. The purpose of this research is to create a system that is able to accelerate the process of counting and determine whether the system can be received by a student as a user of Sanata Dharma University. Making the software using waterfall method according to Roger S Pressman, 1997. The system acceptance testing using TAM. The study was conducted by designing and making software after the system was tested to the committee BEMU. After BEMU committee approved the system, the system used in the elections BEMU. Voters who use their voting rights are given the opportunity to use the E-Election system is then given a questionnaire to fill out. The research results indicate a positive response system acceptance that the system is acceptable and users have the desire to use the system in the future. but there are still major factors that inhibiting perceived that the availability
of facilities such as a printer that has not compatible.
(3)
i
PENELITIAN TUGAS AKHIR
PROGRAM BANTU PEMILU BEMU MENGGUNAKAN RMI (Studi kasus Universitas Sanata Dharma)
Diajukan Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana
Bion Prakoso 095314049
PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA YOGYAKARTA
(4)
ii
FINAL PROJECT
SOFTWARE ASSISTED FOR BEMU ELECTION PROGRAM UTILIZING RMI
(Case Study University of Sanata Dharma) Presented As One Of Terms
To Obtain a Bachelor's Degree
Bion Prakoso 095314049
INFORMATIC ENGINEERING STUDY PROGRAM DEPARTMENT OF INFORMATIC ENGINERING
FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY
YOGYAKARTA 2016
(5)
(6)
(7)
(8)
(9)
vii
ABSTRAK
PROGRAM BANTU PEMILU BEMU MENGGUNAKAN RMI (Studi Kasus Universitas Sanata Dharma)
Tugas Akhir Tekhnik Informatika Program Sarjana Universitas Sanata Dharma
Penelitian ini dilatarbelakangi oleh permasalahan lamanya waktu proses perhitungan suara pada pemilu BEMU universitas sanata dharma. hal ini terjadi dikarenakan proses perhitungan suara masih manual dengan cara menghitung lembar perlembar kertas suara yang jumlahnya ribuan. Oleh karena itu penulis berupaya membuat sistem yang mampu mempercepat perhitungan suara. Tujuan penilitian ini adalah membuat sistem yang mampu mempercepat proses perhitungan suara dan mengetahui apakah sistem tersebut dapat diterima oleh mahasiswa universitas sanata dharma sebagai pengguna. Pembuatan perangkat lunak menggunakan metode waterfall menurut Pressman Roger S, 1997. Pengujian penerimaan sistem menggunakan metode TAM. Penelitian dilakukan dengan merancang dan membuat perangkat lunak setelah itu sistem diujikan ke panitia BEMU. Setelah panitia BEMU menyetujui sistem maka sistem digunakan pada pemilu BEMU. Pemilih yang menggunakan hak pilihnya diberi kesempatan untuk menggunakan sistem E-Pemilu kemudian diberikan kuesioner untuk diisi. Adapun hasil penelitian penerimaan sistem menunjukkan respon positif bahwa sistem dapat diterima dan pengguna memiliki keinginan untuk menggunakan sistem kedepannya. akan tetapi masih ada faktor utama yang dirasakn menghambat yaitu ketersediaan fasilitas penunjang seperti printer yang belum memadai.
(10)
viii
ABSTRACT
SOFTWARE ASSISTED FOR BEMU ELECTION PROGRAM UTILIZING RMI
(Case Study University of Sanata Dharma) Final Project Engineering Informatics Graduate Program
Sanata Dharma University
This research is motivated by the problem of the length of time the process of counting the election BEMU Sanata Dharma University. this happens because the process is still manual counting by counting sheet number in the thousands. Therefore, the authors attempt to create a system capable of facilitating the calculation of votes. The purpose of this research is to create a system that is able to accelerate the process of counting and determine whether the system can be received by a student as a user of Sanata Dharma University. Making the software using waterfall method according to Roger S Pressman, 1997. The system acceptance testing using TAM. The study was conducted by designing and making software after the system was tested to the committee BEMU. After BEMU committee approved the system, the system used in the elections BEMU. Voters who use their voting rights are given the opportunity to use the E-Election system is then given a questionnaire to fill out. The research results indicate a positive response system acceptance that the system is acceptable and users have the desire to use the system in the future. but there are still major factors that inhibiting perceived that the availability of facilities such as a printer that has not compatible.
(11)
ix
KATA
PENGANTAR
Puji syukur kepada Tuhan Yang Maha Esa, atas segala rahmat dan anugerah yang telah diberikan, sehingga penulis dapat menyelesaikan Tugas
Akhir “PROGRAM BANTU PEMILU BEMU MENGGUNAKAN RMI ” ini
dengan baik. Dalam menyelesaikan tugas akhir ini, penulis tidak lepas dari bantuan sejumlah pihak, oleh sebab itu penulis ingin mengucapkan terima kasih kepada:
1. Tuhan , tempat dimana penulis memanjatkan doa dan terima kasih atas diberikannya kemudahan dan cobaan dalam mengerjakan karya tulis ini. 2. Iwan Binanto S.Si.,M.Cs. selaku dosen pembimbing tugas akhir penulis.
3. Drs. Haris Sriwindono, M.Kom dan H.Agung Hernawan,S.T., M.Kom yang telah bersedia menjadi penguji penulis.
4. Ibu, Ayah dan Adik yang telah memberi dukungan doa, materi, serta semangat. Tanpa semua itu penulis tidak akan memperoleh kesempatan untuk menimba ilmu hingga jenjang perguruan tinggi dan akhirnya dapat menyelesaikan karya ilmiah ini.
5. Untuk pihak-pihak yang tidak dapat penulis sebutkan satu per satu. Penulis mengucapkan terima kasih atas bantuannya sehingga penulis dapat
menyelesaikan karya ilmiah ini
Akhir kata, penulis berharap karya ilmiah ini dapat bermanfaat bagi kemajuan dan perkembangan ilmu pengetahuan.
Yogyakarta, 18 Februari 2016
(12)
x
MOTTO
“Semakin tua umur seseorang maka yang dianggapnya teman akan semakin
sedikit”
(Iman Pribadi)
“Tidak ada yang tidak mungkin”
(13)
xi
DAFTAR GAMBAR
Gambar 2.1 Model UTAUT ... 16
Gambar 2.2 Arsitektur RMI ... 20
Gambar 3.1 Proses Penanganan Pemungutan Suara ... 24
Gambar 3.2 Use Case Sistem Epemilu Bemu ... 26
Gambar 3.3 Diagram Aktivitas Cek Status Pemilih ... 33
Gambar 3.4 Diagram Aktivitas Buka Bilik Suara ... 34
Gambar 3.5 Diagram Aktivitas Pilih Kandidat ... 35
Gambar 3.6 Diagram Aktivitas Tampilkan Hasil ... 36
Gambar 3.7 Diagram Sequence Buka Bilik Suara ... 37
Gambar 3.8 Diagram Sequence Cek Status Pemilih ... 37
Gambar 3.9 Diagram Sequence Pilih Kandidat ... 38
Gambar 3.10 Diagram Sequence Menampilkan Hasil Pemilu ... 38
Gambar 3.11 Model Database... 39
Gambar 3.12 Desain antar muka Tambah data pemilih ... 44
Gambar 3.13 Desain antar muka Setting waktu pemungutan suara ... 45
Gambar 3.14 Desain antar muka lihat hasil pemilu ... 45
Gambar 3.15 Desain antar muka tambah data kandidat capres-cawapres BEMU ... 46
Gambar 3.16 Desain antar muka Edit data kandidat Capres-Cawapres BEMU ... 46
Gambar 3.17 Desain antar muka Hapus data kandidat Capres-cawapres BEMU ... 47
Gambar 3.18 Desain antar muka Bilik pemungutan suara... 47
Gambar 3.19 Desain antar muka cek status pemilih ... 48
Gambar 3.20 Desain antar muka halaman buka bilik pemungutan suara ... 48
Gambar 3.21 Topologi jaringan sistem ePemilu... .49
Gambar 4.1 Diagram Kelas Server pemilu ... 53
Gambar 4.2 Diagram Kelas operator ... 54
Gambar 4.3 Diagram kelas pemilih ... 54
Gambar 4.3 Diagram kelas KPU ... 55
(14)
xii
Gambar 4.5 Diagram Pie Performance Expectancy... 72
Gambar 4.6 Diagram pie Presentase skor Effort Expectancy ... 74
DAFTAR TABEL Tabel 3.1 Analisa PIECES ... 23
Tabel 4.1 Presentase skor dari Performance Expectancy ... 70
Tabel 4.2 Presentase skor dari Effort Expectancy ... 72
DAFTAR ISI LEMBAR JUDUL ... i
LEMBAR JUDUL (Inggris) ... ii
HALAMAN PERSETUJUAN PEMBIMBING ... iii
HALAMAN PENGESAHAN ... iv
HALAMAN KEASLIAN HASIL KARYA ... v
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH ... vi
ABSTRAK ... vii
ABSTRACT ... vii
KATA PENGANTAR ... ix
MOTTO ... x
DAFTAR GAMBAR ... xi
DAFTAR TABEL ... xii
(15)
xiii
BAB I
PENDAHULUAN ... 1
1.1. Latar Belakang Masalah ... 1
1.2. Rumusan Masalah ... 2
1.3. Batasan Masalah ... 3
1.4. Tujuan dan Manfaat Penelitian ... 3
1.5. Metode Penelitian ... 3
1.6. Sistematika Penulisan ... 4
BAB II DASAR TEORI ... 6
2.1 Pemilu ... 6
2.2 Bemu ... 7
2.3 Kriptografi ... 8
2.3.1 Algoritma Simetri ... 9
2.3.2 Algoritma Asimetri ... 10
2.3.3 Fungsi Hash ... 11
2.4 Advance Encryption Standard (AES) ... 12
2.5 UTAUT ... 15
2.6 Java ... 17
2.7 Remote Methode Invocation (RMI) ... 19
2.7.1 Application ... 20
2.7.2 RMI SYSTEM ... 19
BAB III ANALISIS DAN PERANCANGAN SISTEM ... 22
3.1 Analisis sistem ... 22
(16)
xiv
3.1.2 Use Case ... 26
3.1.3 Analisis Kebutuhan ... 27
3.1.3.1 Deskripsi Rinci Kebutuhan ... 27
3.1.3.2 Kebutuhan Antarmuka Eksternal ... 28
3.1.3.3 Kebutuhan fungsional ... 31
3.1.3.4 Kebutuhan Non Fungsional ... 32
3.2. Design Perangkat Lunak ... 33
3.2.1 Diagram Aktivitas ... 33
3.2.2 Diagram Sequence ... 37
3.2.3 Desain Database ... 39
3.2.3.1 Database Model... 39
3.2.3.2 Normalisasi ... 39
3.2.3.3 Model Fisikal (Struktur Tabel Dalam Dbms) ... 43
3.2.4 Desain Tampilan ... 44
3.2.5 Desain Topologi Jaringan ... 49
3.2.6 Algoritma ... 50
3.2.6.1. Login Operator. ... 50
3.2.6.2. Mengaktifkan bilik suara. ... 50
3.2.6.3. Memvalidasi Kehadiran. ... 50
3.2.6.4. Login KPU. ... 51
3.2.6.5. Melihat Hasil Vote. ... 51
3.2.6.6. Mencetak Laporan Hasil Vote. ... 52
3.2.6.7. Memilih Calon Presiden BEM. ... 52
BAB IV IMPLEMENTASI ... 53
4.1 Diagram Kelas ... 53
(17)
xv
4.1.2 Operator ... 54
4.1.3 Pemilih ... 54
4.1.4 KPU ... 55
4.2 Cara kerja aplikasi ... 55
4.2.1 Server Pemilu ... 55
4.2.2 Operator ... 60
4.2.3 Pemilih ... 63
4.2.4 KPU ... 65
4.3 Black-box testing ... 68
4.4 Analisa Kuesioner ... 70
4.4.1 Performance Expectancy ... 71
4.4.2 Effort expectancy ... 73
BAB V KESIMPULAN DAN SARAN ... 75
5.1 Kesimpulan ... 75
5.2 Saran ... 75
DAFTAR PUSTAKA ... 76
(18)
1
BAB I
PENDAHULUAN
1.1. Latar Belakang Masalah
Pemilihan umum (pemilu) merupakan salah satu sarana demokrasi. Pemilihan umum di Indonesia menganut asas "Luber" yang merupakan singkatan dari "Langsung, Umum, Bebas dan Rahasia". Di era reformasi berkembang pula asas "Jurdil" yang merupakan singkatan dari "Jujur dan Adil". Asas Rahasia dalam pemilu memiliki arti bahwa setiap pemilih dijamin tidak akan diketahui siapapun kandidat yang dipilihnya.
Pemilihan presiden BEMU merupakan agenda yang
diselenggarakan tiap tahun oleh universitas sanata dharma guna memilih presiden dan wakil presiden BEMU yang baru. Pemilihan ini dilakukan dengan pemungutan suara yang dilaksanakan dengan cara pemilih datang langsung ke TPS dan melakukan proses pencoblosan kartu suara. Setelah proses pemungutan suara berakhir maka panitia menghitung suara yang didapat masing-masing kandidat secara manual. Hal ini membutuhkan waktu yang cukup lama dan ada kemungkinan dapat terjadi human error. Setelah selesai perhitungan maka hasil perhitungan suara diumumkan.
Pemilihan presiden BEMU dengan menggunakan cara manual tentu membutuhkan tenaga yang tidak sedikit serta menghasilkan limbah kertas yang tidak sedikit. Dengan menggunakan teknologi informasi
(19)
untuk membantu proses pemilihan ini, akan dapat mengurangi tenaga dan akan meminimalisir limbah yang dihasilkan dari pemilihan presiden BEMU tersebut. Penggunaan teknologi informasi juga dapat mempercepat proses pemilihan presiden BEMU terutama pada saat perhitungan suara dan pemungutan suara.
1.2. Rumusan Masalah
Berdasarkan latar belakang di atas, dapat dirumuskan masalah sebagai berikut :
1. Bagaimana membangun sistem aplikasi untuk pemilu presiden BEMU agar dapat mempercepat proses perhitungan suara.
2. Apakah pemilu presiden BEM yang menggunakan teknologi informasi dapat diterima oleh pengguna berdasar pada model UTAUT.
1.3. Batasan Masalah
1. Aplikasi menggunakan metode RMI 2. Menggunakan jaringan LAN.
3. Lingkup BEMU Sanata Dharma, Yogyakarta
(20)
1.4. Tujuan dan Manfaat Penelitian
Tujuan dari penelitian ini adalah untuk membangun sebuah aplikasi yang dapat diterima oleh pengguna sistem khususnya mahasiswa universitas sanata dharma untuk membantu pemilu presiden BEMU universitas sanata dharma terutama dalam proses perhitungan suara.
Manfaat dari hasil penelitian diharapkan dapat membantu pemungutan suara BEMU agar dapat dilaksanakan secara cepat terutama dalam proses perhitungan suara.
1.5. Metode Penelitian
Metode penelitian yang akan digunakan penulis dalam pembuatan sistem adalah sebagai berikut :
1. Referensi (Literatur)
Metode pengumpulan data dengan cara membaca buku-buku dan internet yang mendukung dan menunjang dalam pembuatan tugas akhir.
(21)
2. Pembuatan perangkat lunak.
Alur Proses pembuatan perangkat lunak menggunakan metode objecy oriented
3. Pengujian pada pengguna.
Pengujian ini dilakukan secara manual dengan mengukur fungsinalitas sistem dan kemudahan penggunaan sistem.
1.6. Sistematika Penulisan
Secara umum dalam penelitian ini, sistematika penulisan yang akan digunakan adalah sebagai berikut :
BAB I : PENDAHULUAN
Bab ini membahas latar belakang masalah, rumusan masalah, tujuan penelitian, batasan masalah, metodologi penelitian, dan sistematika penulisan.
BAB II :DASAR TEORI
Bab ini membahas teori-teori yang digunakan dalam pembuatan sistem.
BAB III : ANALISA DAN PERANCANGAN SISTEM
Bab ini membahas analisa dan perancangan sistem yang akan dibuat secara umum, rancangan proses serta rancangan antar muka yang akan digunakan.
(22)
BAB IV : IMPLEMENTASI SISTEM DAN ANALISA
Bab ini membahas implementasi dalam bentuk aplikasi berdasarkan analisa dan perancangan yang telah dilakukan serta analisanya
BAB V : PENUTUP
Bab ini membahas kesimpulan dan saran dari hasil analisa sistem,
(23)
BAB II
LANDASAN TEORI
2.1. Pemilu
Pemilihan umum (pemilu) merupakan salah satu sarana demokrasi. Pesta demokrasi yang merupakan perwujudan tatanan kehidupan negara dan masyarakat yang berkedaulatan rakyat, pemerintahan dari dan untuk rakyat. Melalui pemilu kita dapat berharap terjadinya proses pemilihan pemimpin secara adil, terbuka, dan kompetitif, sehingga dapat tercipta pola pergiliran kekuasaan yang damai.Pemilu berdasarkan asas langsung, umum, bebas, rahasia, jujur dan adil (Pasal 2 UU No. 12 Tahun 2003).
a) Asas Langsung, berarti setiap pemilih secara langsung memberikan suaranya tanpa perantaraan dan tingkatan.
b) Asas Umum, berarti pemilihan berlaku menyeluruh bagi semua warga negara Indonesia yang memenuhi persyaratan tanpa diskriminasi.
c) Asas Bebas, berarti warga negara yang berhak memilih dapat menggunakan haknya dan dijamin keamanannya melakukan pemilihan menurut hatinuraninya tanpa adanya pengaruh, tekanan, dan paksaan dari siapapun dan dengan cara apapun
(24)
d) Asas Rahasia, berarti setiap pemilih dijamin tidak akan diketahui oleh siapaun, siapa yang dipilihnya.
e) Asas Jujur, berarti bahwa dalam penyelenggaraan Pemilu, penyelenggara/ pelaksana, pemerintah dan partai politik peserta Pemilu, pengawas, dan pemantau Pemilu termasuk pemilih, serta semua pihak yang terlibat secara langsung, harus bersikap dan bertindak jujur sesuai dengan peraturan perundang-undangan yang berlaku.
f) Asas Adil, berarti setiap pemilih dan partai politik peserta Pemilu mendapat perlakuan yang sama, serta bebas dari kecurangan pihak manapun
2.2. BEMU
Tentang Organisasi Kemahasiswaan di USD Setelah reformasi tahun 1998, di berbagai perguruan tinggi di Indonesia dibentuklah student government (pemerintahan mahasiswa).Student government muncul akibat ketertekanan lembaga kemahasiswaan oleh ketatnya birokrasi kampus.Berawal dari hal itu maka mahasiswa menginginkan suatu sistem lembaga kemahasiswaan yang lebih maju, dinamis, dan lebih mandiri.Maraknya student government menyebabkan terjadinya perubahan yang cukup mendasar dalam struktur lembaga
(25)
kemahasiswaan di USD yang ditandai dengan berubahnya Pedoman Umum Organisasi Kemahasiswaan (PUOK) menjadi Konstitusi Organisasi Kemahasiswaan (KOK). Jika di dalam PUOK terdapat Senat Mahasiswa (Sema), kemudian di dalam KOK Sema berubah menjadi dua lembaga mahasiswa, yaitu Badan Perwakilan Mahasiswa Universitas (BPMU) yang berfungsi sebagai badan aspiratif dan kontrol terhadap lembaga kemahasiswaan dan Badan Eksekutif Mahasiswa Universitas (BEMU) yang berfungsi sebagai lembaga operasional kemahasiswaan. BPMU dan BEMU berada di tingkat universitas, sedangkan di tingkat fakultas bernama BPM Fakultas (BPMF) dan BEM Fakultas (BEMF).Penerapan KOK itu pertama kali dilakukan pada tahun 2000, yaitu ketika pada tanggal 27-28 November digelar pemilu yang memilih Presiden dan Wakil Presiden.Sampai saat ini BEm Universitas Sanata dharma masih aktif melakukan Pemilu Presiden dan Wakil Presiden setiap tahunnya.
2.3. Kriptografi
Kriptografi adalah suatu ilmu yang mempelajari bagaimana cara menjaga agar data atau pesan tetap aman saat dikirimkan, dari pengirim ke penerima tanpa mengalami gangguan dari pihak ketiga.
Konsep kriptografi sendiri telah lama digunakan oleh manusia misalnya pada peradaban Mesir dan Romawi walau masih sangat sederhana. Prinsip-prinsip yang mendasari kriptografi yaitui:
(26)
1. Confidelity (kerahasiaan) yaitu layanan agar isi pesan yang dikirimkan tetap rahasia dan tidak diketahui oleh pihak lain (kecuali pihak pengirim, pihak penerima / pihak-pihak memiliki ijin). Umumnya hal ini dilakukan dengan cara membuat suatu algoritma matematis yang mampu mengubah data hingga menjadi sulit untuk dibaca dan dipahami.
2. Data integrity(keutuhan data) yaitu layanan yang mampu mengenali/mendeteksi adanya manipulasi (penghapusan, pengubahan atau penambahan) data yang tidak sah (oleh pihak lain).
3. Authentication (keotentikan) yaitu layanan yang berhubungan dengan identifikasi. Baik otentikasi pihak-pihak yang terlibat dalam pengiriman data maupun otentikasi keaslian data/informasi.
4. Non-repudiation (anti-penyangkalan) yaitu layanan yang dapat mencegah suatu pihak untuk menyangkal aksi yang dilakukan sebelumnya (menyangkal bahwa pesan tersebut berasal dirinya).
Algoritma kriptografi dibagi menjadi tiga bagian berdasarkan kunci yang dipakainya :
2.3.1.Algoritma Simetri
Algoritma ini sering disebut dengan algoritma klasik karena memakai kunci yang sama untuk kegiatan enkripsi maupun dekripsi. Algoritma ini sudah ada sejak lebih dari 4000 tahun yang lalu. Bila mengirim pesan dengan menggunakan algoritma ini, si penerima pesan harus diberitahu kunci dari pesan tersebut agar bisa
(27)
mendekripsikan pesan yang terkirim. Keamanan dari pesan yang menggunakan algoritma ini tergantung pada kunci. Jika kunci tersebut diketahui oleh orang lain maka orang tersebut akan dapat melakukan enkripsi dan dekripsi terhadap pesan. Algoritma yang memakai kunci simetri di antaranya adalah :
1. Data Encryption Standard (DES),
2. RC2, RC4, RC5, RC 6,
3. International Data Encryption Algorithm (IDEA),
4. Advanced Encryption Standard (AES),
5. On Time Pad (OTP),
6. A5, dan lain sebagainya
2.3.2.Algoritma Asimetri
Algoritma asimetri sering juga disebut dengan algoritma kunci public, dengan arti kata kunci yang digunakan melakukan enkripsi dan dekripsi berbeda. Pada algoritma asimetri kunci terbagi menjadi dua bagian, yaitu :
1. Kunci umum (public key), kunci yang boleh semua orang tahu (dipublikasikan).
2. Kunci rahasia (private key), kunci yang dirahasiakan (hanya boleh diketahui oleh satu orang).
Kunci-kunci tersebut berhubungan satu sama lain. Dengan kunci public orang dapat mengenkripsi pesan tetapi tidak bisa
(28)
mendekripsikannya. Hanya orang yang memiliki kunci rahasia yang dapat mendekripsikan pesan tersebut. Algoritma asimetri bisa mengirimkan pesan dengan lebih aman daripada algoritma simetri.
Algoritma yang memakai kunci public di antaranya adalah :
1. Digital Signature Algorithm (DSA),
2. RSA,
3. Diffle-Hellman (DH),
4. Elliptic Curve Cryptography (ECC),
5. Kriptografi Quantum, dan lain sebagainya.
2.3.3.Fungsi Hash
Fungsi Hash sering disebut dengan funsi satu arah (one-way
function), message digest, fingerprint, fungsi kompresi dan message authentication code (MAC), merupakan suatu fungsi matematika
yang mengambil masukan panjang variabel dan mengubahnya ke dalam urutan biner dengan panjang yang tetap. Fungsi Hash biasanya diperlukan bila ingin membuat sidik jari dari suatu pesan. Sidik jari pada pesan merupakan suatu tanda bahwa pesan tersebut benar-benar berasal dari orang-orang yang diinginkan.
(29)
2.4. Advance Encryption Standard (AES)
Advanced Encryption Standard (AES) merupakan algoritma
cryptographic yang dapat digunkan untuk mengamankan
data.Algoritma AES adalah block ciphertextsimetrik yang dapat mengenkripsi (encipher) dan dekripsi (decipher) infoermasi.Enkripsi merubah data yang tidak dapat lagi dibaca disebut ciphertext; sebaliknya dekripsi adalah merubah ciphertext data menjadi bentuk semula yang kita kenal sebagai plaintext. Algoritma AES is menggunakan kunci kriptografi 128, 192, dan 256 bits untuk mengenkrip dan dekrip data pada blok 128 bits.
AES (Advanced Encryption Standard) adalah lanjutan dari algoritma enkripsi standar DES (Data Encryption Standard) yang masa berlakunya dianggap telah usai karena faktor keamanan.Kecepatan komputer yang sangat pesat dianggap sangat membahayakan DES, sehingga pada tanggal 2 Maret tahun 2001 ditetapkanlah algoritma baru Rijndael sebagai AES. Kriteria pemilihan AES didasarkan pada 3 kriteria utama yaitu : keamanan, harga, dan karakteristik algoritma beserta implementasinya. Keamanan merupakan faktor terpenting dalam evaluasi (minimal seaman triple DES), yang meliputi ketahanan terhadap semua analisis sandi yang telah diketahui dan diharapkan dapat menghadapi analisis
(30)
sandi yang belum diketahui.Di samping itu, AES juga harus dapat digunakan secara bebas tanpa harus membayar royalti, dan juga murah untuk diimplementasikan pada smart card yang memiliki ukuran memori kecil. AES juga harus efisien dan cepat (minimal secepat Triple DES) dijalankan dalam berbagai mesin 8 bit hingga 64 bit, dan berbagai perangkat lunak. DES menggunakan stuktur Feistel yang memiliki kelebihan bahwa struktur enkripsi dan dekripsinya sama, meskipun menggunakan fungsi F yang tidak invertibel. Kelemahan Feistel yang utama adalah bahwa pada setiap ronde, hanya setengah data yang diolah.Sedangkan AES menggunakan struktur SPN (Substitution Permutation Network) yang memiliki derajat paralelisme yang lebih besar, sehingga diharapkan lebih cepat dari pada Feistel.
Kelemahan SPN pada umumnya (termasuk pada Rijndael) adalah berbedanya struktur enkripsi dan dekripsi sehingga diperlukan dua algoritma yang berbeda untuk enkripsi dan 21 dekripsi.Dan tentu pula tingkat keamanan enkripsi dan dekripsinya menjadi berbeda. AES memiliki blok masukan dan keluaran serta kunci 128 bit. Untuk tingkat keamanan yang lebih tinggi, AES dapat menggunakan kunci 192 dan 256 bit. Setiap masukan 128 bit plaintext dimasukkan ke dalam state yang berbentuk bujursangkar berukuran 4×4 byte. State ini di-XOR dengan key dan selanjutnya diolah 10 kali dengan subtitusi-transformasi linear-Addkey. Dan di akhir diperoleh
(31)
ciphertext. Berikut ini adalah operasi Rijndael (AES) yang menggunakan 128 bit kunci:
1. Ekspansi kunci utama (dari 128 bit menjadi 1408 bit) 2. Pencampuran subkey.
3. Ulang dari i=1 sampai i=10 Transformasi : ByteSub (subtitusi per byte) ShiftRow (Pergeseren byte perbaris) MixColumn (Operasi perkalian GF(2) per kolom)
4. Pencampuran subkey (dengan XOR) 5. Transformasi : ByteSub dan ShiftRow
6. Pencampuran subkey Kesimpulan yang didapat adalah :
7. AES terbukti kebal menghadapi serangan konvensional (linear dan diferensial attack) yang menggunakan statistik untuk memecahkan sandi.
8. Kesederhanaan AES memberikan keuntungan berupa kepercayaan bahwa AES tidak ditanami trapdoor.
9. Namun, kesederhanaan struktur AES juga membuka kesempatan untuk mendapatkan persamaan aljabar AES yang selanjutnya akan diteliti apakah persamaan tersebut dapat dipecahkan
10. Bila persamaan AES dapat dipecahkan dengan sedikit pasangan plaintext/ciphertext, maka riwayat AES akan berakhir.
11. AES didesain dengan sangat hati-hati dan baik sehingga setiap komponennya memiliki tugas yang jelas
(32)
12. AES memiliki sifat cipher yang diharapkan yaitu : tahan menghadapi analisis sandi yang diketahui, fleksibel digunakan dalam berbagai perangkat keras dan lunak, baik digunakan untuk fungsi hash karena tidak memiliki weak(semi weak) key, cocok untuk perangkat yang membutuhkan key agility yang cepat, dan cocok untuk stream cipher.
2.5. UTAUT
Model-model penerimaan Teknologi Informasi tersebut antara lain Technology Acceptance Model (TAM), Theory of Reasoned Action (TRA),Technology Acceptance Model 2 (TAM2) dan Unified Theory of Acceptance and Use of Technology (UTAUT). Venkatesh dkk. (2003) mengatakan bahwa UTAUT merupakan salah satu model penerimaan teknologi terkini yang dikembangkan yang memiliki empat konstruk yang memainkan peran penting sebagai determinan langsung dari behavioral intention dan use behavior yaitu performance expectancy, effort expectancy, social influence, dan facilitating conditions.
(33)
Gambar 2.1 Model UTAUT (Venkatesh, 2003)
1. Performance Expectancy
Tingkat kepercayaan seorang pengguna pada sejauh mana penggunaan sistem akan membantu ia untuk meningkatkan kinerja pekerjaannya.
2. Effort Expectancy
Tingkat kemudahan terkait dengan penggunaan sistem 3. Social Influence
Sejauh mana seorang individu memahami bahwa yang penting orang lain percaya bahwa dia / ia harus menggunakan sistem baru. Pengaruh sosial dapat mempengaruhi penggunaan / persepsi tentang teknologi.
(34)
4. Facilitating Condition
Sejauh mana seorang individu percaya bahwa infrastruktur organisasi dan aspek teknis ada untuk mendukung penggunaan sistem.
5. Behavioral Intention
Behavioral Intention adalah kecenderungan perilaku untuk
tetap menggunakan suatu teknologi. Tingkat penggunaan sebuah teknologi komputer pada seseorang dapat diprediksi dari sikap perhatiannya terhadap teknologi tersebut, misalnya keinginanan menambah peripheral pendukung, motivasi untuk tetap menggunakan, serta keinginan untuk memotivasi pengguna lain.
2.6. Java
Java adalah bahasa pemrograman tingkat tinggi yang berorientasi objek dan program java tersusun dari bagian yang disebut kelas. Kelas terdiri atas metode-metode yang melakukan pekerjaan dan mengembalikan informasi setelah melakukan tugasnya. Para pemrogram Java banyak mengambil keuntungan dari kumpulan kelas di pustaka kelas Java, yang disebut dengan Java Application
(35)
Beberapa fitur yang ditawarkan Java API antara lain sebagaiberikut : 1. Applet
Program Java yang dapat berjalan di atas browser, yang dapat membuat halaman HTML lebih dinamis dan menarik.
2. Java Networking
Sekumpulan API (Application Programming Interface)
yangmenyediakan fungsi – fungsi untuk aplikasi – aplikasi jaringan, seperti penyediaan akses untuk TCP, UDP, IP Adrress dan URL.Tetapi Java Networking tidak menyediakan akses untuk ICMP dikarenakan alasan sekuriti dan pada kondidi umum hanya administrator ( root ) yang bisa memanfaatkan protokol ICMP.
3. Java Database Connectivity (JDBC)
JDBC menyediakan sekumpulan API yang dapat digunakan untuk mengakses database seperti Oracle, MySQL, PostgreSQL, Microsoft SQL Server.
4. Java Security
Java Security menyediakan sekumpulan API untuk mengatur security dari aplikasi Java baik secara high level atau low level, seperti public/private key management dan certificates.
(36)
5. Java Swing
Java Swing menyediakan sekumpulan API untuk membangun aplikasi-aplikasi GUI (Graphical User Interface) dan model GUI yang diinginkan bisa bermacam-macam, bisa model Java, model Motif/CDE atau model yang dependent terhadap platform yang digunakan.
6. Java RMI
Java RMI menyediakan sekumpulan API untuk membangun aplikasi – aplikasi Java yang mirip dengan model RPC (RemoteProcedure Call) jadi object - object Java bisa di call secara remote pada jaringan komputer.
2.7. Remote Methode Invocation (RMI)
Remote Methode Invocation (RMI) adalah suatu method dalam java yang digunakan untuk mengontrol method yang berada dalam server agar dapat digunakan oleh client dengan RMI client dapat memanggil method dalam server dan menggunakannya.
Java Remote Method Invocation (Java RMI) memungkinkan programmer untuk menciptakan didistribusikan teknologi Java berbasis Java untuk aplikasi berbasis teknologi, di mana metode objek remote Java dapat dipanggil dari mesin virtual Java lainnya, mungkin pada host
(37)
yang berbeda. RMI menggunakan serialisasi objek untuk marshal dan parameter unmarshal dan tidak memotong jenis, mendukung benar
berorientasi objek polimorfisme.
Gambar 2.2 Arsitektur RMI
2.7.1 Application
Lapisan ini adalah lapisan aplikasi, serangkaian aplikasi akan terdapat pada perangkat komputer seperti microsoft word, notepad, paint dll
2.7.2 RMI System
Lapisan ini terbagi menjadi 3 lapisan yaitu:
1. Stubs
Lapisan ini terdapat pada client yang bertugas untuk memanggil method yang berada di server melalui lapisan Remote Reference Layer serta menyimpan nilai return apabila ada.
(38)
2. Sekeleton
Lapisan ini terdapat pada Server yang bertugas untuk merespon dan melakukan eksekusi method yang berada di server.
3. Remote Reference Layer
Lapisan ini terdapat pada client maupun server dimana lapisan ini bertugas untuk membangun koneksi dengan server melalui lapisan Transport dan mempertahankan koneksi selama diperlukan.
4. Transport
Lapisan ini bertugas untuk membangun koneksi dengan server berdasar alamat ip.
(39)
22
BAB III
ANALISIS DAN PERANCANGAN SISTEM
3.1. Analisis Sistem
Analisis sistem merupakan teknik penyelesaian masalah yang membagi sistem kedalam bagian-bagian komponen kecil dengan tujuan agar bagian-bagian dari komponen tersebut dapat bekerja dengan baik, Iskandari F(2005), dengan demikian alanlisis sistem harus dilakukan dalam pengembangan aplikasi agar software yang dihasilkan dapat menyelesaikan masalah yang ada.
Proses perhitungan sauara bemu memakan waktu lama, rata2 proses perhitungan suara bemu memakan waktu sekitar 7 hari terhitung dari penutupan pemungutan suara. Hal ini terjadi karena banyaknya kertas suara yang dihitung serta terbatasnya waktu panitia yang bertugas untuk menghitung. Lamanya proses perhitungan sauara mengakibatkan keraguan kandidat akan hasil perhitungan suara. Dengan sistem baru masalah-masalah tersebut diharapkan dapat teratasi, kepercayaan kandidat dapat lebih meningkat dikarenakan sistem diuji coba dalam gladi bersih sebelum proses pemilu BEMU dilakukan.
(40)
Metode analisis PIECES (Performance, Information, Economy,
Control, Efficiency dan Services). Dengan melakukan analisis PIECES
ini maka didapatkan masalah utama dan dapat melakukan peningkatan dari sitstem yang lama, Adapun yang dilakukan pada analisis PIECES ini adalah sebagai berikut:
Tabel 3.1 Analisa PIECES
Aspek Sistem lama Sistem Baru
Performance -Perhitungan suara lama -Perhitungan suara cepat
Information -pemilih dapat memilih lebih dari satu kali
-dapat terjadi
penggelembungan suara
-satu pemilih hanya bisa satu suara
-tidak dapat terjadi penggelembungan suara
Economic -biaya transportasi, snack untuk perhitungan suara besar
-biaya perhitungan suara murah
Controll -akurasi data rendah -rawan human error
-akurasi data tinggi
-human error dapat diminimalisir
Efficiency -beban kerja panitia lebih banyak
-beban kerja panitia lebih sedikit
Services -kandidat lama menunggu hasil
- kandidat merasa tidak percaya pada hasil
- kandidat tidak perlu menunggu lama untuk mengetahui hasil
-kandidat lebih percaya pada hasil
(41)
3.1.1. Alur Proses Pemungutan Suara
Gambar 3.1 Proses Penanganan Pemungutan Suara
(42)
Alur proses pemungutan suara, pemilih datang membawa ktm kemudian admin memastikan bahwa yang datang adalah benar-benar sesuai dengan identitas, setelah benar dipastikan, admin memasukkan nomor ktm agar sistem mengecek hak pilih sudah digunakan atau belum. setelah dipastilkan belum makan sistem akan mereport kepada admin, admin akan menunjukkan bilik yang kosong kepada pemilih, setelah pemilih sampai dibilik admin meremote untuk menampilkan program dibilik yang telah ditunggu pemilih. sytem pada bilik pemilih menampilkan program pemilu, setelah pemilih selesai menggunakan hak pilihnya sistem akan meng-close program pemilu dengan sendirinya, sehingga dipastikan satu pemilih hanya dapat menggunakan hak suaranya sebanyak satu kali. sistem akan mnambahkan 1 angka kepada kandidat yang dipilih oleh pemilih tersebut, proses pengiriman data dari billik ke server pada saat pemilih memilih kandidat dienkripsi menggunakan enkripsi AES.
(43)
3.1.2. Use Case
Tambah pemilih
Admin
Setting Pemilihan
Lihat Hasil Pemilu
Tambah Kandidat
Edit kandidat
Hapus Kandidat
Operator
Pemilih Cek status pemilih
Buka Bilik Suara
Pilih Kandidat <<In cl ud e>> <<i n c lu d e > > <<include>>
Gambar 3.2 Use Case Sistem Epemilu Bemu
Use case terdiri dari 3 aktor yaitu admin, operator, serta pemilih masing-masing aktor memiliki tugas dan wewenang sebagai berikut: 1. Admin
Admin bertugas menambah data pemilih dimana data pemilih yang diperoleh dari BAA sanatadharma diinputkan oleh admin kedalam database, setting pemilihan dimana admin mensetting kapan waktu mulai dan berakhirnya pemungutan suara, tambah kandidat dimana data kandidat diinputkan oleh admin kedalam database, edit kandidat dimana admin mengedit data kandidat jika terjadi kekeliuran, hapus kandidat
(44)
dimana admin menghapus data kandidat yang perlu dihapus, lihat hasil pemilu dimana adin melihat hasil pemilu setelah proses pemungutan suara berakhir.
2. Operator
Operator bertugas negecek status pemilih apakah pemilih sudah menggunakan hak pilihnya atau belum, keudian jika belum operator bertugas membuka bilik suara untuk pemilih agar pemilih dapat menggunakan hak pilihnya.
3. Pemilih
Pemilih bertugas memilih kandidat, artinya pemilih menggunakan hak suaranya untuk memilih kandidat yang ingin dipilih didalam bilik suara menggunakan komputer yang disediakan.
3.1.3. Analisis Kebutuhan
3.1.3.1. Deskripsi Rinci Kebutuhan
Pada bagian ini akan menampilkan kebutuhan-kebutuhan yang diperlukan dalam sistem ini. Kebutuhan tersebut yaitu:
1. Kebutuhan Antarmuka Eksternal. 2. Kebutuhan Fungsional.
(45)
3.1.3.2. Kebutuhan Antarmuka Eksternal
Antarmuka eksternal merincikan deskripsi masukan dan keluaran perangkat lunak yang dispesifikasikan. Secara lebih rinci antarmuka eksternal dikelompokkan menjadi antarmuka pemakai, antarmuka perangkat keras, antarmuka perangkat lunak, dan antarmuka komunikasi.
3.1.3.3.1. Antarmuka Pemakai
Pemilih berinteraksi dengan sistem Pemilihan Presiden BEM melalui tampilan pada layar monitor. Tampilan untuk operator pada layar monitor adalah pilihan menu daftar hadir dan tampilan menu untuk mengaktifkan komputer pada bilik sehingga pemilih dapat melakukan voting.Tampilan untuk pemilih pada layar monitor adalah tampilan untuk melakukan pemilihan calon presiden BEM, pada tampilan tersebut terdapat foto pasangan calon presiden BEM. Tampilan untuk KPPS adalah tampilan hasil voting.
Operator dapat melakukan login, logout, mengaktifkan komputer pada bilik dan memvalidasi kehadiran pemilih. Hasil voting hanya dapat dilihat oleh ketua KPPS beserta saksi dari setiap kandidat. Sedangkan pemilih hanya dapat melakukan voting. KPPS juga dapat mencetak laporan hasil voting.
(46)
Operator dan pemilih dapat mengakses sistem ini melalui PC atau Laptop yang terhubung dengan LAN. Sistem ini dapat diakses dengan menggunakan PC ataupun Laptop, maka perangkat yang dibutuhkan antara lain:
a) Perangkat Monitor.
Monitor digunakan sebagai sarana untuk mengakses sistem. Monitor mampu menampilkan tampilan sistem dengan jelas.
b)Perangkat Keyboard
Keyboard digunakan untuk menginputkan data masukan yang akan di proses oleh sistem.
c)Perangkat Mouse
Mouse digunakan untuk memberikan perintah pada sistem.
3.1.3.3.2. Antarmuka Perangkat Keras
Antarmuka perangkat keras yang digunakan dalam perangkat lunak adalah Personal Computer dengan Sistem Operasi Windows 7 yang di hubungkan menggunakan kabel LAN. Dan Remote Method Invocation untuk membuka port dan membuka sistem.
(47)
3.1.3.3.3. Antarmuka Perangkat Lunak
Sistem ini membutuhkan software database MySQL yang digunakan untuk menyimpan database.
1. Nama : MySQL.
Deskripsi Penggunaan : Sebagai database management system
(DBMS) yang digunakan untuk
penyimpan data di sisi server.
2. Nama : Windows 7
Deskripsi Penggunaan : Sebagai sistem operasi PC. 3.1.3.3.4. Antarmuka Komunikasi
Sistem ini membutuhkan 4 komputer. 1 komputer digunakan sebagai komputer server. 3 komputer lainnya digunakan sebagai komputer client. Komputer server berfungsi untuk mengaktifkan bilik, menyimpan data ke dalam database dan untuk melihat hasil vote.
Sedangkan komputer client di gunakan untuk proses Pemilihan Presiden BEM. Kemudian data dari komputer client akan di simpan di dalam database komputer server.
(48)
3.1.3.3. Kebutuhan Fungsional 1. Operator
Kode Kebutuhan
Fungsional Keterangan
SKFP-A1 Login Operator memasukkan username dan password untuk masuk ke dalam sistem. SKFP -A2 Aktivasi
Bilik
Operator dapat mengaktifkan komputer bilik agar pemilih dapat melakukan pemilihan presiden BEM.
SKFP-A3 Verifikasi Kehadiran
Operator dapat memverifikasi kehadiran peserta pemilihan Presiden BEM. SKFP –A4 Logout Operator dapat keluar dari sistem.
2. Pemilih
Kode Kebutuhan
Fungsional Keterangan
SKFP -B1 Vote Pemilih dapat melakukan voting SKFP-B2 Verifikasi
Vote
Pemilih dapat mengganti pilihan voting sebelum pemilih keluar dari sistem.
3. KPPS
Kode Kebutuhan
Fungsional Keterangan
SKFP-C1 Login KPPSmemasukkan username dan password untuk masuk ke dalam sistem. SKFP-C2 Lihat KPPS dapat melihat hasil Voting
SKFP-C3 Cetak KPPS dapat mencetak laporan hasil vote. SKFP-C4 Logout KPPS dapat keluar dari sistem.
(49)
3.1.3.4. Kebutuhan Non Fungsional
Kebutuhan non fungsional merincikan ukuran kuantitatif yang harus dipenuhi perangkat lunak yang dispesifikasikan. Secara lebih rinci kebutuhan non fungsional berisi kriteria kebutuhan, tuntutan kebutuhan. Kebutuhan tersebut antara lain performansi, batasan memori, modus operasi, dan kebutuhan adaptasi lokasi.
1. Performansi
Sistem ini bekerja selama 6 jam dalam sehari. Sistem ini menggunakan Bahasa Indonesia sehingga dapat dipahami oleh admin dan user. Sistem ini dapat beroperasi dengan baik selama tidak ada gangguan pada jaringan LAN dan listrik. Sistem ini dapat memberikan respon terhadap request maksimal 5 detik.
2. Batasan Memori
Sistem ini hanya dapat digunakan untuk menghitung dan merekap hasil pemilihan presiden BEM. Sistem ini dapat digunakan pada komputer yang memiliki koneksi LAN yang lancar dan listrik yang stabil.
3. Modus Operasi
Sistem ini dilengkapi fasilitas untuk menyimpan data pemilihan, menampilkan hasil perhitungan pemilihan presiden BEM dan mencetak hasil perhitungan pemilihan presiden BEM.
4. Kebutuhan Adaptasi Lokasi
Sistem ini dapat dipakai pada lingkungan sistem operasi Microsoft Windows dan SQL/Oracle.
(50)
3.2. Design Perangkat Lunak 3.2.1 Diagram Aktivitas
Operator menginputkan NIM Mahasiswa
Sistem Mengecek Status Pemilih
Muncul pesan hak pilih sudah digunakan Hak pilih
sudah digunakan
Sistem membuka halaman buka bilik
ya
tidak Operator
Sistem
(51)
Operator Membuka bilik Sistem Mengecek Status Bilik
Muncul pesan bilik masih digunakan
Bilik sedang digunakan
Sistem menampilkan halaman pemilih di bilik
suara
ya
tidak Operator
Sistem
Sistem membuka halaman buka bilik
(52)
Pemilih memilih kandidat
Sistem menyimpan pilihan pemilih
Sistem mencetak pilihan pemilih
Data berhasil disimpan
Muncul Pesan Error ya
tidak Pemilih
Sistem
Pemilih menghubungi operator
Pemilih memasukkan hasil cetakan ke kotak
suara
(53)
Admin membuka halaman hasil vote
Sistem menampilkan hasil pemilu
Data akan dicetak
Sistem mencetak hasil pemilu tidak
ya Admin
Sistem
(54)
3.2.2 Diagram Sequence Bilik (UI) Operator Remote Server Bilik (Client) Server Bilik (Server) Sample Server Implement OpenUI(Pemilih, tps, jumlah kandidat) OpenUI(Pemilih, tps, jumlah kandidat) BilikI(Pemilih, tps, jumlah kandidat) return return return return Operator BilikI(Pemilih, tps, jumlah kandidat)
Gambar 3.7 Diagram Sequence Buka Bilik Suara
CekNim (UI) Remote Server Utama Serverpemilu (Client) ServerPemilu (Server) Sample Server Implement GetDataPemilih dariiNIM(NIM) GetDataPemilih dariiNIM(NIM) GetDataPemilih dariiNIM(NIM) return return return return Operator GetDataPemilih dariiNIM(NIM) PemilihDAO return GetDataPemilih( NIM)
(55)
Halaman vote Server Pemilu (Client)
Server Pemilu (Server)
Server Pemilu
implement Vote DAO
Boolean Vote (NIM, Kandidat,tps
prodi) Boolean Vote(NIM,
Kandidat,tps
prodi) BooleanVote
(NIM, Kandidat,tps
prodi) Boolean Vote
(NIM, Kandidat,tps prodi) return return return return Pemiih
Gambar 3.9 Diagram Sequence Pilih Kandidat
CekNim (UI) Remote Server Utama Serverpemilu (Client) ServerPemilu (Server) Sample Server Implement skorTotalPerKan didat() skorTotalPerKan didat() skorPerKandidat () return return return return Operator skorlPerKandidat () KandidatDAO return skorTotalPerKan didat()
(56)
3.2.3 Desain Database
3.2.3.1 Database Model
Kandidat
noKandidat :Varchar (5)
nimPresiden :Varchar (10)
namaPresiden :Varchar (50)
prodiPresiden: :Varchar (50)
nimWapres :Varchar (10)
namaWapres :Varchar (50)
prodiWapres :Varchar (50)
Foto :Varchar (50)
Panitia
Nama :Varchar (50)
Nim :Varchar (10)
Username :Varchar (50)
Password :Varchar (10)
Jabatan :Varchar (50)
Pemilih
NIM :Varchar (10)
NamaPemilih :Varchar (100)
StatusVoting :Varchar (100)
Prodi: :Varchar (50)
Skor TPS
ID TPS :Varchar (10)
NoKandidat :Varchar (50)
Skor Pemiih :Varchar (50)
Gambar 3.11 Model database
3.2.3.2 Normalisasi
1. Tabel Pemilih
nim (PK) namaPemilih statusVoting Prodi
1NF (First Normal Form)
Pada tabel Pemilih, data setiap atribut memiliki satu nilai tunggal dalam satu baris.
2NF (Second Normal Form)
(57)
namaPemilih, statusVoting, prodi bergantung penuh pada nim.
3NF (Third Normal Form)
Pada tabel Pemilih sudah memenuhi 2NF.
Pada tabel Pemilih tidak memuat kebergantungan transitif, karena atribut bukan kunci tidak bergantung pada atribut bukan kunci lainnya.
2. Tabel Kandidat
noKandidat (PK)
nimPresiden namaPresiden prodipresiden nimWapres namaWapres prodiWapres Foto
1NF (First Normal Form)
Pada tabel Kandidat, data setiap atribut memiliki satu nilai tunggal dalam satu baris.
2NF (Second Normal Form)
(58)
nimPresiden, namaKandidat, prodiKandidat, nimWapres, namaWapres, prodiWapres bergantung penuh pada noKandidat, foto.
3NF (Third Normal Form)
Pada tabel Kandidat sudah memenuhi 2NF.
Pada tabel Kandidat tidak memuat kebergantungan transitif, karena atribut bukan kunci tidak bergantung pada atribut bukan kunci lainnya.
3. Tabel Panitia
nim Nama Password username Jabatan
1NF (First Normal Form)
Pada tabel panitia, data setiap atribut memiliki satu nilai tunggal dalam satu baris.
2NF (Second Normal Form)
Pada tabel panitia sudah memenuhi 1NF.
3NF (Third Normal Form)
(59)
Pada tabel panitia tidak memuat kebergantungan transitif, karena atribut bukan kunci tidak bergantung pada atribut bukan kunci lainnya.
4. Tabel Skor TPS
idTPS noKandidat Prodi pemilih
1NF (First Normal Form)
Pada tabel Skor TPS, data setiap atribut memiliki satu nilai tunggal dalam satu baris.
2NF (Second Normal Form)
Pada tabel Skor TPS sudah memenuhi 1NF.
idTPS dan noKandidat merupakan primary key dari tabel Kandidat dan TPS
3NF (Third Normal Form)
Pada tabel Skor TPS sudah memenuhi 2NF.
Pada tabel Skor TPS memiliki primary key dari kedua tabel yang direlasikan yaitu tabel TPS dan tabel Kandidat.
(60)
3.2.3.3 Model Fisikal (Struktur Tabel Dalam Dbms)
1. Tabel Pemilih
Atribut Tipe Panjang Kendala
Nim Varchar2 10 Primary Key
namaPemilih Varchar2 50 Not Null
statusVoting Varchar2 5 Not Null
Prodi Varchar2 50 Not Null
2. Tabel Kandidat
Atribut Tipe Panjang Kendala
noKandidat Varchar2 5 Primary Key
nimPresiden Varchar2 10 Not Null
namaPresiden Varchar2 50 Not Null
Prodipresiden Varchar2 50 Not Null
nimWapres Varchar2 10 Not Null
namaWapres Varchar2 50 Not Null
prodiWapres Varchar2 50 Not Null
Foto Varchar2 50 Not Null
3. Tabel panitia
Atribut Tipe Panjang Kendala
nim Varchar2 10 Primary Key
Nama Varchar2 50 Not Null
Password Varchar2 10 Not Null
Jabatan Varchar2 10 Not Null
4. Tabel Skor TPS
Atribut Tipe Panjang Kendala
idTPS Varchar2 10 Foreign Key
noKandidat Varchar2 5 Foreign Key
(61)
3.2.4 Desain Tampilan
Kolom lokasi file data pemilih
Kolom tampilan isi data pemilih
Buka file
Tambah Data
(62)
Waktu mulai vote
simpan
Waktu selesai vote
Gambar 3.13 Desain antar muka Setting waktu pemungutan suara
Foto kandidat
cetak
Foto kandidat
Skor Skor
(63)
Foto kandidat
Tambah Data
Kolom data kandidat
Gambar 3.15 Desain antar muka tambah data kandidat capres-cawapres BEMU
Foto kandidat
Edit data kandidat
Kolom data kandidat
(64)
Nomor kandidat
Hapus data kandidat
Kolom data kandidat
Foto kandidat
Gambar 3.17 Desain antar muka Hapus data kandidat Capres-cawapres BEMU
Fotob Kandidat Foto Kandidat
Pilih
(65)
Kolom pencarian
Kolom hasil Pencarian
Cek status
Gambar 3.19 Desain antar muka cek status pemilih
Pilihan Bilik
Data Pemilih Buka Bilik
(66)
3.2.5 Desain Topologi Jaringan
SWITCH Bilik 2
Bilik 3
Bilik 4 Bilik 1
Server
Operator
Gambar 3.21 Topologi jaringan sistem ePemilu
Topologi pada gambar diatas menggunakan 4 bilik yang nantinya akan digunakan pemilih menggunakan hak pilihnya, 4 bilik tersebut dihubungkan ke komputers srver dimana data diproses dan disimpan, serta komputer operator yang akan digunakan operator untuk mengecek status hak pemilih serta membukakan bilik. Komputer komputer tersebut dihubungkan melalui switch.
(67)
3.2.6 Algoritma
3.2.6.1. Login Operator. 1. Mulai.
2. Operator memasukkan Username. 3. Operator memasukkan Password. 4. Sistem menerima masukan Username. 5. Sistem menerima masukan Password. 6. Operator menekan button Login.
7. Sistem mencocokkan data Username dan Password yang dimasukkan dengan data yang ada dalam database.
- Jika masukan benar, maka akan masuk ke Frame HomeOperator.
- Jika masukan salah, maka akan muncul pesan “Masukkan
Username dan Password dengan Benar”.
8. Selesai.
3.2.6.2. Mengaktifkan bilik suara. 1. Mulai.
2. Operator memilih bilik yang akan diaktifkan. 3. Sistem menerima masukan IP Address. 4. Operator menekan button OK.
5. Sistem mencocokkan data IP pada bilik.
- Jika masukan benar, maka sistem akan mengaktifkan bilik. - Jiika masukan salah, maka sistem tidak akan mengaktifkan
bilik. 6. Selesai.
3.2.6.3. Memvalidasi Kehadiran. 1. Mulai.
(68)
3. Sistem menerima masukan nim.
4. Sistem mencocokkan NIM pada database.
- Jika masukan benar, maka sistem akan menampilkan data mahasiswa dengan NIM tersebut.
- Jika masukan salah, maka sistem tidak akan menampilkan data mahasiswa dengan NIM tersebut.
5. Operator memilih NIM pada TabelDaftarHadir. 6. Operator menekan button OK.
7. Sistem akan mengupdate statusVoting menjadi true berdasarkan parameter NIM tersebut.
8. Selesai.
3.2.6.4. Login KPU. 1. Mulai.
2. Ketua PANITIA memasukkan Username. 3. Ketua PANITIA memasukkan Password. 4. Sistem menerima masukan Username. 5. Sistem menerima masukan Password. 6. Ketua PANITIA menekan button Login.
7. Sistem mencocokkan data Username dan Password yang dimasukkan dengan data yang ada dalam database.
- Jika masukan benar, maka akan masuk ke Frame HomeKPU.
- Jika masukan salah, maka akan muncul pesan “Masukkan
Username dan Password dengan Benar”.
8. Selesai.
3.2.6.5. Melihat Hasil Vote. 1. Mulai.
(69)
3. Sistem mencocokkan data berdasarkan parameter idKandidat ke dalam database.
4. Sistem menampilkan skor sesuai dengan parameter. 5. Selesai.
3.2.6.6. Mencetak Laporan Hasil Vote. 1. Mulai.
2. Sistem menampilkan halaman Frame HasilVote. 3. Ketua PANITIA menekan button Cetak.
4. Sistem mengambil nilai dari parameter idKandidat.
5. Sistem mencocokkan data berdasarkan parameter idKandidat ke dalam database.
6. Sistem menampilkan skor sesuai dengan parameter. 7. Ketua PANITIA menekan button Print.
8. Sistem mencetak laporan hasil vote. 9. Selesai.
3.2.6.7. Memilih Calon Presiden BEM. 1. Mulai.
2. Pemilih memilih radio button pada salah satu kandidat presiden BEM.
3. Sistem menerima masukkan pilihan vote. 4. Pemilih menekan button Pilih.
5. Sistem menampilkan halaman verifikasi.
- Jika menekan button Ya, maka sistem akan mengambil nilai dari parameter noKandidat, dan akan mengupdate skorTPS + 1.
- Jika menekan button Tidak, maka sistem akan menampilkan halaman Frame HalamanVote.
(70)
53
BAB IV
Implementasi dan Analisa
4.1Diagram Kelas
4.1.1 Server Pemilu
HalamanAwal SettingDB
ServerUI ServerPemilu
ServerPemiluImplement
KandidatDAO VoteDAO PemilihDAO KPUDAO OperatorDAO
Prodi Kandidat
Pemilih Panitia
<< use>>
<<use>>
*
*
* * * * *
* * *
1
1 1 1
1 1 1
1
1 1
RMI
(71)
4.1.2 Operator RemoteServerUtama CekNiM Bilik Pemilih Panitia ServerPemilu OperatorRemote SampleServer049 <<use>> <<use>> <<use>> <<use>> 1 1 1 * * * RMI
Gambar 4.2 Diagram Kelas operator 4.1.3 Pemilih
RemoteServerUtama
Setupbilik HalamanVote 1/2/3/4 Pemilih Kandidat ServerPemilu sampleServerImplement ServerBilik <<use>> <<use>> <<use>> 1 1 * <<use>> 1 * * RMI
(72)
4.1.4 KPU RemoteServerUtama Home HasilVote Pemilih Kandidat ServerPemilu Panitia TambahKandidat EditKandidat TambahPemilih 1 1 1 1 <<use>> 1 1 1 1 * * * * * * * * RMI
Gambar 4.3 Diagram kelas KPU
4.2Cara kerja aplikasi
Cara kerja sistem ini pada saat pemilih memberikan NIM kepada operator maka operator akan mengecek NIM dimana sistem akan mengget NIM dan status pemilih dari database. jika status false maka pemilih dinyatakan belum menggunakan hak pilih akan tetapi jika bernilai true maka pemilih sudah menggunakan hak pilih. setelah itu operator akan membuka bilik suara yaitu dengan menampilkan halaman pemilih pada bilik dengan menggunakan remote rmi dimana sistem akan mengecek terlebih dahulu apakah UI pemilih pada bilik
(73)
masih tampil atau tidak jika masih tampil maka akan muncul pesan bilik sedang digunakan bila tidak maka bilik akan terbuka dan pemilih dapat menggunakan hak pilihnya di bilik tersebut. untuk selengkapnya proses cara kerja aplikasi adalah sebagai berikut.
4.2.1 Server Pemilu 4.2.1.1 HalamanAwal.java
Pada awal aplikasi server di run maka yang pertama kali dijalankan adalah kelas Halaman awal, halaman ini berfungsi untuk menampilkan UI Halaman Utama Server yang berisi tombol setup database dan tombol aktifkan server.
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
new SettingDB().setVisible(true); this.dispose();
}
listing program diatas akan mengaktifkan kelas SettingDB.java ketika tombol tersebut diklik
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { new ServeruI().setVisible(true);
this.dispose(); }
listing program diatas akan mengaktifkan kelas Serverui.java ketika tombol tersebut diklik.
(74)
4.2.1.2 SettingDB.java
Ketika tombol setup databasediklik maka akan dilakukan eksekusi pada program ini.
public class SettingDB extends javax.swing.JFrame { SetupDatabase setup=new SetupDatabase(); public SettingDB() {
initComponents();
Object obj = new tools1().StreamToObyek(); if (obj != null) {
setup = (SetupDatabase) obj;
jTextField1.setText(setup.getUsername()); jPasswordField1.setText(setup.getPassword()); }
}
Listing program diatas untuk akan mengecek apakan sudah ada simpanan data settingDB.ser, jika ya maka akan diambil datanya menggunakan kelas tools1.java lalu data tersebut akan digunakan untuk mengisi kolom textfield pada UI SettingDB.java
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { setup.setUsername(jTextField1.getText());
setup.setPassword(jPasswordField1.getText()); boolean DBKonek = false;
if (new tools1().ObyekTostream(setup)) { try {
Connection con = (Connection) Koneksi.getInstance().getKoneksi(); DBKonek = true;
jLabel4.setText("Koneksi Sukses"); jLabel4.setForeground(Color.GREEN);
JOptionPane.showMessageDialog(this, "Data Berhasil Disimpan"); this.dispose();
new HalamanAwal().setVisible(true); } catch (SQLException ex) {
jLabel4.setText("Gagal Tersambung ke DATABASE"); jLabel4.setForeground(Color.red);
Logger.getLogger(SettingDB.class.getName()).log(Level.SEVERE, null, ex);
} } else {
(75)
JOptionPane.showMessageDialog(this, "Data GAGAL Disimpan"); }
listing program diatas untuk meng get username dan password yang diisikan user dikolom textfield lalu memasukkannya kedalam obyek setup, setelah itu akan disimpan distream menggunakan kelas tools jika tidak berhasil maka akan muncul pesan error, jika berhasil maka akan dicek apakah bisa terkoneksi kedalam database, jika tidak akan muncul pesan tidak berhasil tersambung kedatabase, jika berhasil akan muncul pesan koneksi sukses.
4.2.1.3 ServerUi.java
Kelas merupakan kelas untuk menampilkan settingan IP server pemilu yang akan digunakan untuk menghubungkan dengan client.
public class ServeruI extends javax.swing.JFrame { ServerPemiluImplement remote;
String ip;
public ServeruI() { initComponents(); try {
IP = Inet4Address.getLocalHost().getHostAddress(); } catch (UnknownHostException ex) {
Logger.getLogger(ServeruI.class.getName()).log(Level.SEVERE, null, ex);
}
jTextField1.setText(ip); }
Listing diatas digunakan untuk mengambil alamat IP pada komputer yang tersambung ke lan untuk ditampilkan pada kolom textfield.
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { try {
(76)
if (remote.start(jTextField1.getText())) {
jLabel4.setText("Server Aktif \n IP Server= " + jTextField1.getText()); jButton1.setEnabled(false);
jTextField1.setEnabled(false); }
} catch (RemoteException ex) {
setLabelKoneksi("Server Disconected");
Logger.getLogger(ServeruI.class.getName()).log(Level.SEVERE, null, ex);
} }
Listing diatas akan membuat objek remote dari kelas serverPemiluImplements.java yang akan digunakan untuk mengaktifkan server, jika server berhasil naik maka akan muncul pesan server aktif berikut alamat IP yang digunakan server untuk tersambung. jika server tidak berhasil naik maka akan muncul pesan server disconected.
4.2.1.4 ServerPemiluImplements.java
Pada saat tombol konek pada serverUi.java diklik maka kelas ini akan dijalankan.
ServerPemiluImplement(ServeruI aThis) throws RemoteException { super();
this.ui=aThis; }
String ipserv; Registry Server;
public boolean start(String ip) { boolean result= false;
try {
Server = LocateRegistry.createRegistry(1099); Naming.rebind("//" + IP + ":1099/PemiluUSD", ServerPemiluImplement.this);
System.out.println("Server waiting..."); ipserv=ip;
(77)
result=true;
} catch (java.net.MalformedURLException me) { result=false;
ui.setLabelKoneksi("Server Disconected");
System.out.println("Malformed URL: " + me.toString()); } catch (RemoteException re) {
result=false;
ui.setLabelKoneksi("Server Disconected");
System.out.println("Remote exception: " + re.toString()); }
return result; }
Listing program diatas untuk mengaktifkann server RMI pemilu sehingga dapat diakses client RMI pada IP yang telah diisikan di kelas
serverUi.java listing program Server =
LocateRegistry.createRegistry(1099); digunakan untuk mendaftarkan
keregistry bahwa port 1099 digunakan untuk server RMI pemilu BEMU. Listing program Naming.rebind("//" + IP + ":1099/PemiluUSD",
ServerPemiluImplement.this); digunakan untuk membuat alamat koneksi
dimana IP adalah IP server yang terhubung ke client melalui jaringan, alamat ini berfungsi sebagai url oleh client yang akan berkomunikasi dengan server. jika server gagal naik maka akan muncul pesan error server disconected dan result bernilai false, jika server berhasil naik maka result akan bernilai true.
(78)
4.2.2 Operator
4.2.2.1 Ceknim.java
Dihalaman utama operator terdapat cek pemilih dimana fungsi ini digunakan mencari dan mengecek pemilih yang akan menggunakan hak suara.
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { remote.konek(setting.getipSErver());
if (remote.CekdataPemilih(jTextField1.getText())) {
Pemilih = remote.getDataPemilihDarinim(jTextField1.getText()); bilik = new Bilik(Pemilih, Operator, Ceknim.this);
bilik.setVisible(true); this.dispose(); } else {
JOptionPane.showMessageDialog(rootPane, "Maaf Anda Tidak Terdaftar Atau Hak pilih Anda Sudah Digunakan");
} }
Listing program diatas digunakan terdapat
remote.konek(setting.getiserver); perintah ini digunakan untuk merujuk method konek yang berada pada objek remoteuntuk membuat koneksi keserver pemilu.
4.2.2.2 RemoteServerUtama.java
public boolean konek(String ip) { boolean result = false; String value = null; try {
System.out.println("Security Manager loaded"); String url = "//" + IP + ":1099/PemiluUSD";
remoteObject = (ServerEpemilu) Naming.lookup(url); System.out.println("Got remote object");
System.out.println("res=" + result); } catch (NotBoundException ex) { new Setting().setVisible(true);
(79)
Logger.getLogger(remoteServerUtama.class.getName()).log(Level.SEVERE, null, ex);
} catch (MalformedURLException ex) { new Setting().setVisible(true);
Logger.getLogger(remoteServerUtama.class.getName()).log(Level.SEVERE, null, ex);
} catch (RemoteException ex) { new Setting().setVisible(true);
Logger.getLogger(remoteServerUtama.class.getName()).log(Level.SEVERE, null, ex);
}
return result; }
Listing diatas berada pada kelas remoteServerUtama yang bertugas untuk membuat koneksike serverPemillu jika koneksi sukses maka return akan bernilai true, jika tidak akan bernilai false. setelah terkoneksi maka remote.cekdatapemilih bernilai true berarti pemilih terdaftar dan belum menggunakan hak pilih maka halaman buka bilik suara akan terbuka. jika tidak maka akan muncul pesan maaf anda tidak terdaftar atau hak pilih telah digunakan.
(80)
4.2.2.3 Bilik.java
private void OkBilik1ActionPerformed(java.awt.event.ActionEvent evt) {
remoteUtama.konek(setting.getipSErver());
String jumlahKandidat = remoteUtama.GetjumlahKandidat(); if (remoteUtama.cekwaktuMulai() > 0) {
if (remoteUtama.cekwaktuSelesai() < 0) {
remote.konek(setting.getArrayip()[jComboBox1.getSelectedIndex()]); if (!remote.CekBilik(jumlahKandidat)) {
if (remote.OpenUI(Pemilih, setting.getIDTPS(), jumlahKandidat)) {
JOptionPane.showMessageDialog(null, "Bilik Berhasil DIbuka");
GuiCeknim.clear_field(); GuiCeknim.setVisible(true); this.dispose();
} else {
JOptionPane.showMessageDialog(null, "Bilik Gagal Dibuka");
this.dispose(); }
} else {
JOptionPane.showMessageDialog(null, jComboBox1.getSelectedItem().toString() + " Sedang Digunakan");
}
} else {
JOptionPane.showMessageDialog(null, "Waktu Pemilihan Sudah Selesai");
this.dispose(); }
} else {
JOptionPane.showMessageDialog(null, "Waktu Pemilihan Belum Dimulai");
this.dispose(); }
Listing diatas merupakan isi dari tombol ok pada halaman buka bilik yang berfungsi untuk mengecek bilik suara apakah sedang digunakan atau tidak dan membuka bilik suara. jika sedang digunakan akan muncul pesan bilik sedang digunakan, jika gagal dibuka karena koneksi putus atau hal lainnya maka akan muncul pesan bilik gagal dibuka, jika waktu
(81)
pemungutan suara telah selesai akan muncul pesan waktu pemilihan sudah selesai. jika berhasil dibuka maka akan muncul pesan bilik berhasil dibuka.
4.2.3 Pemilih
4.2.3.1 SetupBilik.java
Saat aplikasi pemilih di run maka yang pertama kali dijalankan adalah kelas setupbilik ini merupakan UI yang berisi settingan pemilih.
private void jButton1ActionPerformed(java.awt.event.ActionEvent
evt) {
boolean Bilikserver = false; boolean Serversuara = false; boolean Printer;
SampleServerImplement serv = null; Serversuara = new
remoteServerUtama().konek(jTextField2.getText()); Printer = new
cetakPrinter().Cetak(jComboBox1.getSelectedItem().toString(), " TEST PRINTER \n =========================\n SUKSES \n
==========================\n Printer Ini digunakan\n Untuk Mencetak Suara");
if (Serversuara) {
jLabel4.setForeground(Color.BLACK); if (Printer) {
jLabel3.setForeground(Color.BLACK); set = new Setup();
set.setipBilik(jTextField1.getText());
set.setipserrverUtama(jTextField2.getText());
set.setNamaPRinter(jComboBox1.getSelectedItem().toString()); if (new tools().ObyekTostream(set)) {
try {
serv = new SampleServerImplement(set); Bilikserver = serv.start(jTextField1.getText()); } catch (RemoteException ex) {
(82)
Logger.getLogger(SetupBilik.class.getName()).log(Level.SEVERE, null, ex); }
if (Bilikserver) {
new PemilihAktif(set,serv).setVisible(true); this.dispose();
} else {
jLabel2.setForeground(Color.red);
JOptionPane.showMessageDialog(rootPane, "ERROR: IP Bilik Suara salah");
} } else {
JOptionPane.showMessageDialog(rootPane, "ERROR :Tidak Dapat Menyimpan Data"); }
} else {
jLabel3.setForeground(Color.red);
JOptionPane.showMessageDialog(rootPane, "ERROR: Printer Tidak Dapat Mencetak Data"); }
} else {
jLabel4.setForeground(Color.red);
JOptionPane.showMessageDialog(rootPane, "ERROR: IP Server Pemilu salah");
}
Listing program diatas akan mengecek Printer, koneksi ke server utama, menaikkan server bilik yang akan diremote dari operator dan menyimpan semua settingan. jika salah menginputkan IP bilik suara maka akan muncul pesan Error:ip bilik suara salah, jika data tidak dapat tersimpan maka kan muncul pesan Error:tidak dapat menyimpan data jika semua sukses maka akan muncul pesan bilik aktif, jika semua sukses maka printer akan mencetak test printer dan akan muncul pesan bilik suara aktif.
(83)
4.2.4 KPU
4.2.4.1 HalamanVote.java
Untuk menampilkan hasil vote maka kelas yang dijalankan pertama adalah HasilVote.java, saat dijalankan pertama kali akan menjalankan konstruktor dengan listing program
HasilVote2(panitia KPU) { initComponents();
this.setLocationRelativeTo(this); this.Pemilih = Pemilih;
this.KPU = KPU; remote.konek();
listKandidat = remote.GetDataKandidat(); setFoto();
setlablNilai(); }
pada listing diatas terdapat perintah listKandidat = remote.GetDataKandidat(); yang akan mengget semua data kandidat termasuk termasuk skor kandidat dari serverpemilu. setelah data didapet maka akan ditampilkan dengan perintah
setFoto(); untuk menampilkan foto kandidat dan setlablNilai(); untuk
menapilkan skor kandidat.
4.2.4.2 RemoteServerUtama.java
Kelas ini Merupakan kelas kontroleryang menghubungkan antara kelas UI dengan kelas ServerPemilu.java yang terhubung dengan server pemilu. Pada saat menampilkan skor kandidat maka yang akan digunakan adalah listing program:
(84)
public ArrayList<kandidat> GetDataKandidat() {
ArrayList<kandidat> result = new ArrayList<kandidat>(); try {
byte[] byte1 = remoteObject.GetDataKandidat(); try {
result = (ArrayList<kandidat>) tools.toObject(byte1); } catch (IOException ex) {
Logger.getLogger(remoteServerUtama.class.getName()).log(Level.SEVE RE, null, ex);
} catch (ClassNotFoundException ex) {
Logger.getLogger(remoteServerUtama.class.getName()).log(Level.SEVE RE, null, ex);
}
} catch (RemoteException ex) {
Logger.getLogger(remoteServerUtama.class.getName()).log(Level.SEVE RE, null, ex);
}
return result; }
Pada kelas diatas terdapat perintah byte[] byte1 =
remoteObject.GetDataKandidat(); perintah ini akan mengambil data
kandidat beserta skor dari server melalui rmi, karena jaringan tidak dapat mengirim data dalam satu blok objek maka objek dikirim dalam bentuk array byte. setelah itu array byte akan dikonversi menjadi arraylist kandidat yang akan ditampilkan di UI halaman vote.
(1)
Gambar 4.6 Diagram pie presentase skor effort expectancy
Effort expectancy adalah kepercayaan user bahwa sistem
mudah dioperasikan. Effort expectancy memiliki mean 3,73 berarti lebih
dekat ke 4 yaitu setuju hal ini menunjukkan respon positif. Tanggapan
pertanyaan Q5-Q8 menunjukkan bahwa 62% pengguna merasa sistem ini
mudah digunakan hal ini ditunjukkan dari 42% menyatakan setuju dan
20% sangat setuju. dengan adanya sistem e-pemilu ini, 30% menyatakan
netral, sedangkan 8% tidak setuju bahwa sistem mudah digunakan. Dari
hasil survei tersebut menunjukkan respon positif, hanya 8% responden
yang menyatakan bahwa sistem tidak mudah untuk dioperasikan dan 20%
menyatakan sangat setuju bahwa sistem mudah dioperasikan. Hal ini
dikarenakan tampilan sistem ketika proses pemungutan suara hanya
berupa digitalisasi dari manual dengan mencontreng dirubah menjadi
digital dengan memilih pada layar komputer dengan tampilan sistem
hampir
sama
dengan
kertas
suara.
sangat tidak setuju
0%
tidak setuju
8%
netral 30%
setuju 42% sangat setuju
(2)
BAB V
KESIMPULAN DAN SARAN
5.1
Kesimpulan
Berdasarkan evaluasi dan ujicoba pembuatan sistem E-Pemilu Bemu
maka dapat ditarik kesimpulan:
1.
Aplikasi E-Pemilu BEMU membantu proses pemilu BEMU
universitas Sanata Dharma.
2.
Aplikasi E-Pemilu mudah digunakan.
5.2
Saran
Saran yang dapat diajukan untuk pengembangan dan perbaikan aplikasi
E-Pemilu BEMU adalah:
Perlu dibuat aplikasi mobile untuk menunjang sistem E-Pemilu
BEMU
(3)
Daftar Pustaka
Pujianto.,2009 ,Analisis Kebutuhan Sistem II, [pdf] ,
(http://pujianto.blog.ugm.ac.id/files/2009/12/Analisis-Kebutuhan-Sistem-II.pdf, diakses tanggal 3 November 2015)
Oye.N.D, 2011, A Model of ICT Acceptance and Use for Teachers in Higher
Education Institutions, [pdf]
Abu-Dalbouh H.M ., 2013, A Questionnaire Aproach Based On The Technology
Acceptance Model For Mobile Tracking On Patient Progress
Applications, [pdf]
Aminullah M.T., 2013, Pengertian RMI (Remote Method Invocation), [Online], (
http://muhammadtaufiqaminullah.blogspot.co.id/2013/05/pengertian-rmi-remote-method-invocation.html, diakses tanggal 3 agustus 2015)
Binanto, Iwan., 2008, Menulis Referensi Online di Daftar Pustaka, [Online],
(http://iwanbinanto.com/2008/07/26/menulis-referensi-online-di-daftar-pustaka/#comment-5106, diakses tanggal 10 desember 2015)
Riel, Arthur., 1996,Object Oriented Design Heuristics Addison-Wesley Rules of
Thumb for Object Oriented Designers
Martino J., 1998, Object-oriented analysis and design: a methodology for
modeling the computer-based patient record, [Online],(
http://www.ncbi.nlm.nih.gov/pubmed/10181912, diakses taggal 15 januari
2016)
Martiman.,2005, Cara Melakukan Enkripsi (Encrypt) pada Salinan File Anda,
[Online],( https://info.securityinabox.org/id/cobian_encryption, diakses
tanggal 18 januari 2016)
(4)
LAMPIRAN
A. kuesioner
Silahkan memberikan nilai [1] – [5] di tempat yang sudah disediakan pada pernyataan-pernyataan berikut yang sesuai dengan pendapat Anda, dimana:
[1] Sangat Tidak Setuju [2] Tidak Setuju [3] Netral [4] Setuju [5] Sangat Setuju
1. Saya merasa system E-Pemilu BEMU membantu saya dalam proses pemungutan suara
[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ]
2. Sistem E-Pemilu membuat proses pemungutan suara menjadi lebih cepat dibandingkan dengan sistem pemilihan manual dengan mencontreng
[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ]
3. Sistem E-Pemilu dapat meningkatkan kinerja saya
[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ]
4. Jika saya menggunakan sistem E-Pemilu ini, saya mendapatkan sesuatu yang lebih baik
[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ]
5. System E-Pemilu ini mempunyai interaksi yang jelas dan mudah dipahami bagi saya
[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ]
6. Mudah bagi saya untuk dapat mahir menggunakan system ini
[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ]
7. Sistem E-Pemilu, apapun yang pernah saya temukan selalu mudah digunakan
[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ]
8. Mudah bagi saya untuk belajar menggunakan sistem E-Pemilu
(5)
9. Orang-orang yang mempengaruhi cara berpikir saya, berfikir saya seharusnya menggunakan sistem E-Pemilu ini
[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ]
10. Orang-orang yang penting bagi saya, berfikir saya seharusnya menggunakan sistem E-Pemilu ini
[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ]
11. Manajemen tingkat atas pada Universitas ini sudah membantu dalam penggunaan sistem E-Pemilu ini
[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ]
12. Secara umum, Universitas mendukung penggunaan sistem ini
[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ]
13. Saya mempunyai sumber daya yang diperlukan dalam menggunakan sistem ini
[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ]
14. Saya memiliki pengetahuan yang diperlukan untuk menggunakan sstem ini
[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ]
15. Sistem E-Pemilu tidak dapat saya padukan dengan sistem pemungutan suara yang lain
[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ]
16. Orang-orang tertentu dapat membantu saya untuk menggunakan sistem E-Pemilu jika terasa sulit
[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ]
17. Saya dapat menyelesaikan pekerjaan saya (salah satu proses dalam E-Voting) saat tidak ada seorangpun yang membantu
[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ]
18. Saya dapat menyelesaikan pekerjaan saya (salah satu proses dalam E-Voting) ketika saya dapat memanggil seseorang yang dapat membantu pada waktu saya mengalami kesulitan
[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ]
19. Saya dapat menyelesaikan pekerjaan saya (salah satu proses dalam E-Voting) dengan waktu lama
(6)
[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ]
20. Saya dapat menyelesaikan pekerjaan saya (salah satu proses dalam E-Voting) jika ada fasilitas bantuan di sistem sebagai panduan
[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ]
21. Saya berniat menggunakan sistem E-Pemilu untuk kedepannya
[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ]
22. Saya rasa akan menggunakan sistem E-Pemilu untuk kedepannya
[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ]
23. Saya berencana menggunakan sistem E-Pemilu untuk kedepannya
[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ]
silahkan isi sesuai data diri 24. Jenis Kelamin
[ 1 ] Laki-Laki [ 2 ] Perempuan
25. Usia
[ 1 ] usia saya ………..
26. Semester
[ 1 ] 1-4 [ 2 ] 4-6 [ 3 ] 7 keatas
27. Epemilu wajib digunakan atau tidak di universitas sanata dharma [ 1 ] Wajib [ 2 ] Tidak
28. jika ada hambatan terbesar apa yang anda temui dalam menggunakan sistem epemilu
[ 1 ] waktu [ 2 ]dukungan teknis [ 3 ] biaya [ 4 ] pelatihan
[ 5 ]Kompensasi [ 6 ] tidak sesuai kebutuhan [ 7 ] yang lain ………..