Program bantu PEMILU Bemu menggunakan RMI : studi kasus Universitas Sanata Dharma.

(1)

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 ………..