PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 2016
i
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
ii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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. Keywords: Pemilu Bemu ,E-Pemilu, Teknologi, Acceptance
vii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
Keywords: election BEMU, E-Election, Technology, Acceptance
viii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
Penulis
ix
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
MOTTO
“Semakin tua umur seseorang maka yang dianggapnya teman akan semakin sedikit” (Iman Pribadi)
“Tidak ada yang tidak mungkin” (Bion Prakoso)
x
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 Gambar 4.4 Hasil uji validitas dan reliabilitas .................................................................... 70 xi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 DAFTAR ISI ........................................................................................................ xii
xii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 3.1.1 Alur Proses Pemungutan Suara ............................................................. 24
xiii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 4.1.1 Server Pemilu ........................................................................................ 53
xiv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 LAMPIRAN ...................................................................................................... 77
xv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 2
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 4. Aplikasi difokuskan untuk mempercepat proses perhitungan suara
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 3
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 4
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 5
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, implementasi
sistem
dan
pengujian.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 2
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 7
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 8
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:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 9
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 10
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 11
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 12
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 13
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 14
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 15
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 16
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 17
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
menggunakan,
serta
pendukung,
keinginan
untuk
motivasi untuk memotivasi
tetap
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 Programming Interface (API).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 18
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 19
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 20
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 21
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
22
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 23
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
Performance -Perhitungan suara lama Information
Economic
Sistem Baru -Perhitungan suara cepat
-pemilih dapat memilih
-satu pemilih hanya bisa
lebih dari satu kali
satu suara
-dapat terjadi
-tidak dapat terjadi
penggelembungan suara
penggelembungan suara
-biaya transportasi, snack
-biaya perhitungan suara
untuk perhitungan suara
murah
besar
Controll
-akurasi data rendah
-akurasi data tinggi
-rawan human error
-human error dapat diminimalisir
Efficiency
Services
-beban kerja panitia lebih
-beban kerja panitia lebih
banyak
sedikit
-kandidat lama menunggu
- kandidat tidak perlu
hasil
menunggu lama untuk mengetahui hasil
- kandidat merasa tidak percaya pada hasil
-kandidat lebih percaya pada hasil
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 24
3.1.1. Alur Proses Pemungutan Suara
ya
Gambar 3.1 Proses Penanganan Pemungutan Suara
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 25
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 26
3.1.2. Use Case
Cek status pemilih Tambah pemilih <
>
Setting Pemilihan
Operator Buka Bilik Suara
c In << lu >> de
Admin
Tambah Kandidat
<>
Lihat Hasil Pemilu
Pilih Kandidat
Pemilih Edit kandidat
Hapus Kandidat
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 27
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. 3. Kebutuhan Non Fungsional.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 28
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 29
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 30
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 31
3.1.3.3.
Kebutuhan Fungsional 1.
Operator Kode SKFP-A1
Kebutuhan
Keterangan
Fungsional Login
Operator memasukkan username dan password untuk masuk ke dalam sistem.
SKFP -A2
Aktivasi
Operator dapat mengaktifkan komputer bilik
Bilik
agar pemilih dapat melakukan pemilihan presiden BEM.
SKFP-A3 SKFP –A4
2.
Operator dapat memverifikasi kehadiran
Kehadiran
peserta pemilihan Presiden BEM.
Logout
Operator dapat keluar dari sistem.
Pemilih Kode
3.
Verifikasi
Kebutuhan Fungsional
Keterangan
SKFP -B1
Vote
Pemilih dapat melakukan voting
SKFP-B2
Verifikasi
Pemilih dapat mengganti pilihan voting
Vote
sebelum pemilih keluar dari sistem.
KPPS Kode
Kebutuhan Fungsional
Keterangan KPPSmemasukkan username dan
SKFP-C1
Login
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.
password untuk masuk ke dalam sistem.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 32
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 33
3.2.
Design Perangkat Lunak 3.2.1
Diagram Aktivitas
Operator
Operator menginputkan NIM Mahasiswa
Sistem
Sistem Mengecek Status Pemilih
Hak pilih sudah digunakan
ya
Muncul pesan hak pilih sudah digunakan
tidak
Sistem membuka halaman buka bilik
Gambar 3.3 Diagram Aktivitas cek status pemilih
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 34
Operator
Sistem
Operator Membuka bilik
Sistem Mengecek Status Bilik
Bilik sedang digunakan
Sistem membuka halaman buka bilik
ya
Muncul pesan bilik masih digunakan
tidak Sistem menampilkan halaman pemilih di bilik suara
Gambar 3.4 Diagram Aktivitas Buka Bilik Suara
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 35
Pemilih
Pemilih memilih kandidat
Sistem
Sistem menyimpan pilihan pemilih
Data berhasil disimpan
ya
tidak
Pemilih menghubungi operator
Muncul Pesan Error
Pemilih memasukkan hasil cetakan ke kotak suara
Gambar 3.5 Diagram Aktivitas Pilih Kandidat
Sistem mencetak pilihan pemilih
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 36
Admin
Sistem
Admin membuka halaman hasil vote
Sistem menampilkan hasil pemilu
Data akan dicetak tidak ya
Sistem mencetak hasil pemilu
Gambar 3.6 Diagram Aktivitas Tampilkan Hasil
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 37
3.2.2
Diagram Sequence
Bilik (UI)
Operator Remote
OpenUI(Pemilih, tps, jumlah kandidat)
Operator
Server Bilik (Client)
Sample Server Implement
Server Bilik (Server)
OpenUI(Pemilih, tps, jumlah kandidat) BilikI(Pemilih, tps, jumlah kandidat)
return
return
return
return
BilikI(Pemilih, tps, jumlah kandidat)
Gambar 3.7 Diagram Sequence Buka Bilik Suara
CekNim (UI)
Operator
Remote Server Utama
Serverpemilu (Client)
Sample Server Implement
ServerPemilu (Server)
PemilihDAO
GetDataPemilih dariiNIM(NIM) GetDataPemilih dariiNIM(NIM) GetDataPemilih dariiNIM(NIM) GetDataPemilih dariiNIM(NIM)
return
return
return
return
GetDataPemilih( NIM)
return
Gambar 3.8 Diagram Sequence Cek Status Pemilih
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 38
Server Pemilu (Client)
Halaman vote
Boolean Vote (NIM, Kandidat,tps prodi)
Pemiih
Server Pemilu (Server)
Boolean Vote (NIM, Kandidat,tps prodi)
BooleanVote (NIM, Kandidat,tps prodi)
Vote DAO
Boolean Vote (NIM, Kandidat,tps prodi) return
return
return
return
Server Pemilu implement
Gambar 3.9 Diagram Sequence Pilih Kandidat
CekNim (UI)
Operator
Remote Server Utama
Serverpemilu (Client)
Sample Server Implement
ServerPemilu (Server)
KandidatDAO
skorTotalPerKan didat() skorTotalPerKan didat() skorPerKandidat () skorlPerKandidat ()
return
return
return
return
skorTotalPerKan didat()
return
Gambar 3.10 Diagram Sequence Menampilkan Hasil Pemilu
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 39
3.2.3
Desain Database 3.2.3.1 Database Model
Pemilih
Kandidat noKandidat nimPresiden namaPresiden prodiPresiden: nimWapres namaWapres prodiWapres Foto
NIM NamaPemilih StatusVoting Prodi:
:Varchar (5) :Varchar (10) :Varchar (50) :Varchar (50) :Varchar (10) :Varchar (50) :Varchar (50) :Varchar (50)
:Varchar (10) :Varchar (100) :Varchar (100) :Varchar (50)
Panitia Skor TPS ID TPS NoKandidat Skor Pemiih
Nama Nim Username Password Jabatan
:Varchar (10) :Varchar (50) :Varchar (50)
:Varchar (50) :Varchar (10) :Varchar (50) :Varchar (10) :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)
Pada tabel Pemilih sudah memenuhi 1NF.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 40
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. noKandidat
nimPresiden
Tabel Kandidat namaPresiden
prodipresiden
nimWapres
namaWapres
prodiWapres
(PK)
1NF (First Normal Form)
Pada tabel Kandidat, data setiap atribut memiliki satu nilai tunggal dalam satu baris.
2NF (Second Normal Form)
Pada tabel Kandidat sudah memenuhi 1NF.
Foto
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 41
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)
Pada tabel panitia sudah memenuhi 2NF.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 42
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 43
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
Prodipemilih
Number
-
Not Null
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 44
3.2.4
Desain Tampilan
Kolom lokasi file data pemilih
Buka file
Kolom tampilan isi data pemilih
Tambah Data
Gambar 3.12 Desain antar muka Tambah data pemilih
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 45
Waktu mulai vote
Waktu selesai vote
simpan
Gambar 3.13 Desain antar muka Setting waktu pemungutan suara
Foto kandidat
Foto kandidat
Skor
Skor cetak
Gambar 3.14 Desain antar muka lihat hasil pemilu
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 46
Kolom data kandidat Foto kandidat
Tambah Data
Gambar 3.15 Desain antar muka tambah data kandidat capres-cawapres BEMU
Kolom data kandidat Foto kandidat
Edit data kandidat
Gambar 3.16 Desain antar muka Edit data kandidat Capres-Cawapres BEMU
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 47
Foto kandidat Nomor kandidat
Kolom data kandidat
Hapus data kandidat
Gambar 3.17 Desain antar muka Hapus data kandidat Capres-cawapres BEMU
Fotob Kandidat
Foto Kandidat
Pilih
Gambar 3.18 Desain antar muka Bilik pemungutan suara
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 48
Kolom pencarian
Cek status
Kolom hasil Pencarian
Gambar 3.19 Desain antar muka cek status pemilih
Pilihan Bilik
Data Pemilih
Buka Bilik
Gambar 3.20 Desain antar muka halaman buka bilik pemungutan suara
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 49
3.2.5
Desain Topologi Jaringan
Bilik 1
Bilik 2
Server
SWITCH Bilik 3 Operator
Bilik 4
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 50
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. 2. Operator memasukkan NIM pada Text Field.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 51
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. 2. Sistem mengambil nilai dari parameter idKandidat.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 52
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
menampilkan halaman Frame HalamanVote. 6.
Selesai
akan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB IV Implementasi dan Analisa
4.1 Diagram Kelas 4.1.1
Server Pemilu SettingDB
<< use>>
ServerUI
1
HalamanAwal
*
ServerPemilu
RMI
<<use>> Pemilih Panitia
* *
1 Prodi
ServerPemiluImplement
*
1 1
KandidatDAO
*
1 1
*
Kandidat
1
1
* VoteDAO
1
*
PemilihDAO
1
*
KPUDAO
*
OperatorDAO
Gambar 4.1 Diagram Kelas Server pemilu
53
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 54
4.1.2
Operator
RemoteServerUtama
ServerPemilu
RMI
<<use>>
<<use>> CekNiM
1
1
*
Bilik
OperatorRemote
<<use>>
1
*
<<use>>
*
Panitia
Pemilih
SampleServer049
Gambar 4.2 Diagram Kelas operator 4.1.3
Pemilih Kandidat
1
1 Pemilih
*
RemoteServerUtama
ServerPemilu
<<use>>
* <<use>> Setupbilik
<<use>>
HalamanVote 1/2/3/4
<<use>> 1
* ServerBilik
sampleServerImplement
Gambar 4.3 Diagram kelas pemilih
RMI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 55
4.1.4
KPU Kandidat
*
1
RemoteServerUtama
1
*
Pemilih
1
* *
*
*
Home
*
ServerPemilu
*
1 Panitia
<<use>>
1 HasilVote
1 TambahKandidat
1 TambahPemilih
1 EditKandidat
Gambar 4.3 Diagram kelas KPU 4.2 Cara 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
RMI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 56
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 57
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 {
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 58
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 { remote=new ServerPemiluImplement(this);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 59
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;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 60
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 61
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
remote.konek(setting.getiserver);
digunakan
terdapat
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);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 62
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 63
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 64
pemungutan suara telah selesai akan muncul pesan waktu pemilihan sudah selesai. jika berhasil dibuka maka akan muncul pesan bilik berhasil dibuka.
4.2.3 4.2.3.1
Pemilih 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) {
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 65
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 66
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:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 67
public ArrayList GetDataKandidat() { ArrayList result = new ArrayList(); try { byte[] byte1 = remoteObject.GetDataKandidat(); try { result = (ArrayList) 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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 68
4.3 Black-box testing Pengujian ini digunakan untuk mengetahui apakah sistem sudah berfungsi seperti yang diharapkan atau belum. 1. Aplikasi Operator No
Skenario
1
Operator Menginnputkan NIM pemilih
2
Operator membuka bilik suara saat bilik sedang dipakai
3
Operator membuka bilik suara saat bilik kosong
Hasil yang diharapkan Sistem menampilkan data dan statuspemilih Sistem menampilkan peringatan bilik sedang dipakai Sistem membuka bilik suara dan menampilkan pesan bilik berhasil dibuka
Hasil
kesimpulan
Sesuai harapan
Sukses
Sesuai harapan
Sukses
Sesuai harapam
sukses
2. Aplikasi Pemilih No
Skenario
Hasil Yang
Hasil
kesimpulan
Sesuai harapan Sesuai harapan
sukses
Sesuai harapan
Sukses
Sesuai harapan
Sukses
diharapkan 1 2
3
4
Pemilih mengklik foto kandidat Pemilih mengklik tanda silang/menutup aplikasi Pemilih tidak memilih sampai waktu habis Pemilih mengklik tomboh pilih saat koneksi putus
Foto dibingkai hitam Tidak terjadi apaapa/sistem tetap berjalan Sistem menampilkan pesan waktu habis dan sistem tertutup Sistem menampilkan pesan gagal dan meminta pemilih mengulang
sukses
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 69
5
Pemilih mengkilk tombol pilih dan berhasil menggunakan hak suara
Muncul pesan terima Sesuai kasih, printer mencetak harapan pilihan, status pemilih menjadi sudah memilih
Sukses
3. Aplikasi Server No
Skenario
1
Admin mengklik tombol test koneksi
2
Admin mengklik tombol start server dengan input IP salah Admin mengklik tombol start dan sistem berhasil dijalankan Admin salah memasukkan username password database Settingan Username dan password gagal tersimpan
3
4
5
Hasil Yang diharapkan Mincul pesan koneksi database gagal atau sukses Muncul peringatan server belum aktif
Hasil
kesimpulan
Sesuai harapan
Sukses
Sesuai harapan
Sukses
Muncul pesan server telak aktif
Sesuai harapan
Sukses
Muncul pesan koneksi gagal
Sesuai harapan
Sukses
Muncul pesan data gagal tersimpan
Sesuai harapan
Sukses
Hasil Yang diharapkan Muncul pesan data gagal ditambahkan
hasil
Kesimpulan
Sesuai harapan
Sukses
Sesuai harapan
Sukses
Sesuai harapan
Sukses
Sesuai harapan
Sukses
4. Aplikasi KPU No
Skenario
1
user lupa menambah foto kandidat saat mengisi data kandidat User mengklik tombol lihat hasil pemilu
2
3
User mengklik tombol cetak hasil pemilu
4
User salah memasukkan IP server
Sistem menampilkan form hasil pemilu Sistem menyimpan hasil pemilu dalam format pdf Muncul pesan koneksi gagal dan muncul form ip
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 70
4.4 Analisa Kuesioner Analisa ini digunakan untuk menguji penerimaan program berdasar respon pengguna. pengujian ini dilakukan dengan cara memberikan kuesioner kepada pengguna sistem. kuesioner didapat dari journal kuesioner utaut N.D.Oye et al, A Model of ICT Acceptance and Use for Teachers in Higher Education Institutions, International Journal of Computer Science & Communication Networks,Vol 1(1), 2011 seperti seperti dalam lampiran .akan tetapi kuesioner masih dalam bahasa inggris, kemudian ditranslate kedalam bahasa indonesia seperti dalam lampiran setelah itu kuesioner diuji validitas dan reliabilitas. berikut hasil uji reliabilitas dan validitas
Gambar 4.4 Hasil uji validitas dan reliabilitas
dari hasil diatas didapat kuesioner 100% valid sehingga pertanyaan kuesioner tidak perlu dikurangi. berikut hasil uji kuesioner
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 71
4.4.1 Performance Expectancy Dari hasil kuesioner didapat presentase performance expectacy sebagai berikut Tabel 4.1 Presentase skor dari performance expectancy skor
1
2
3
4
5
Q1
3
16
17
37
27
Q2
3
13
33
41
10
Q3
3
10
23
47
17
Q4
7
13
17
40
23
pertanyaan
Dari tabel diatas dapat dibuat diagram pie sebagai berikut: Sangat tidak setuju
= total skor1 / 4
Sidak setuju
= total skor2 / 4
Netral
= total skor3 / 4
Setuju
= total skor4 / 4
Sangat setuju
= total skor5 / 4
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 72
sangat tidak setuju4%
sangat setuju20%
tidak setuju 13%
Netral 22% Setuju 41%
Gambar 4.5 Diagram pie performance expectancy Performance Expectancy adalah kepercayaan user bahwa sistem membantu menyelesaikan masalah. dalam hal ini keyakinan pemakai yaitu panitia dan pemilih bahwa sistem mempermudah dan atau mempercepat proses pemilu bemu. Performance expectancy memiliki mean/rata-rata 3,67 yang artinya rata-rata setuju bahwa sistem membantu user, dan standar deviasi 1,15. Dari hasil penelitian menunjukkan bahwa 41% setuju dan 20% sangat setuju bahwa sistem membantu pemilu bemu. sedangkan 22% menyatakan netral. Ada 17% responden yang terdiri dari 13% tidak setuju dan 4% sangat tidak setuju bahwa sistem membantu pemilu bemu dimungkinkan karena sistem memang tidak difokuskan dalam membantu user ketika proses pemungutan suara, tetapi lebih kepada panitia ketika proses perhitungan suara.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 73
4.4.2
Effort expectancy Dari hasil kuesioner didapat presentase effort expectacy sebagai berikut:
Tabel 4.2 Presentase skor dari effort expectancy
pertanyaan
skor
1
2
3
4
5
Q5
0
10
30
37
23
Q6
0
3
30
47
20
Q7
0
13
30
40
17
Q8
0
7
30
43
20
Dari tabel diatas dapat dibuat diagram pie sebagai berikut: Sangat tidak setuju
= total skor1 / 4
Sidak setuju
= total skor2 / 4
Netral
= total skor3 / 4
Setuju
= total skor4 / 4
Sangat setuju
= total skor5 / 4
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 74
sangat tidak setuju 0% sangat setuju 20%
tidak setuju 8%
netral 30%
setuju 42%
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 54
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 54
Daftar Pustaka
Pujianto.,2009 ,Analisis Kebutuhan Sistem II, [pdf] , (http://pujianto.blog.ugm.ac.id/files/2009/12/Analisis-Kebutuhan-SistemII.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/pengertianrmi-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-daftarpustaka/#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)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 78
LAMPIRAN
A. kuesioner Silahkan memberikan nilai [1] – [5] di tempat yang sudah disediakan pada pernyataanpernyataan 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 [1] [2] [3] [4]
[5]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 78
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 EPemilu 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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 78
[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