Aplikasi E-Voting Berbasis Client-Server (Contoh kasus Pemilihan Ketua umum di Forum Warga Betawi Ciracas)
SKRIPSI
Diajukan untuk Menempuh Ujian Akhir Sarjana Program Strata Satu Jurusan Teknik Informatika
Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia
ANJAR FEBRIANTO
10104070
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
BANDUNG
(2)
(CONTOH KASUS PEMILIHAN KETUA UMUM
DI FORUM WARGA BETAWI CIRACAS)
ANJAR FEBRIANTO
10104070
Menyetujui,
LEMBAR PENGESAHAN
Pembimbing IAndri Heryandi, S.T NIP. 41277006007
Ketua Jurusan Teknik Informatika
Mira Kania Sabariah, S.T., M.T. NIP. 41277006008
(3)
(CONTOH KASUS PEMILIHAN KETUA UMUM
DI FORUM WARGA BETAWI CIRACAS)
ANJAR FEBRIANTO
10104070
Penguji II
Andri Heryandi, S.T NIP. 41277006007
Penguji III
Irawan Afrianto, S.T NIP. 41277006009 Penguji I
Dian Dharmayanti, S.T NIP. 41277006005
(4)
Perihal : Plagiat Tugas Akhir
Saya yang bertanda tangan dibawah ini :
Nama
: Anjar Febrianto
NIM
:
10104070
Judul Tugas Akhir
:
Menyatakan bahwa saya tidak melakukan tindakan meniru, mengkopi atau
menjiplak tugas akhir/karya ilmiah yang telah ada. Apabila saya terbukti melakukan
kegiatan tersebut, maka saya bersedia untuk menerima sanksi uyang diberikan sesuai
dengan ketentuan yang ditetapkan dan berlaku di Jurusan Teknik Informatika
Universitas Komputer Indonesia (UNIKOM).
APLIKASI E-VOTING BERBASIS CLIENT-SERVER
(CONTOH KASUS PEMILIHAN KETUA UMUM DI
FORUM WARGA BETAWI CIRACAS)
Mengetahui,
Yang Memberi Pernyataan
(Anjar Febrianto)
Materai(5)
i
Di Forum Warga Betawi Ciracas Jakarta)
Oleh :ANJAR FEBRIANTO
10104070
E-Voting adalah penggunaan teknologi komputer pada pelaksanaan voting. Salah satu pilihan teknologi komputer yang digunakan untuk implementasi e-voting adalah dengan menggunakan arsitektur client-server. Jadi penggunaan all-computer-based voting system diharapkan mampu menggantikan proses voting manual.
Tujuan yang ingin dicapai dari pembuatan Aplikasi e-voting ini adalah dapat membantu petugas panitia dalam mengkalkulasi jumlah pemilih dan menghitung hasil pemilihan secara cepat dan akurat.
Dalam proses pembangunan aplikasi e-voting ini menggunakan Metodologi Penelitian observasi dan studi literatur. Untuk teknik analisis data menggunakan metode dan paradigma perangkat lunak secara metode waterfall yang merupakan salah satu teknik analisis data sedangkan untuk merancang aplikasi ini digunakan metode perancangan berorientasi objek dengan menggunakan Unifed Modelling Language (UML), UML merupakan sebuah bahasa yang telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem perangkat lunak berbasis objek.
Setelah melalui tahapan sesuai dengan metode pengembangan yang dipilih maka dalam pengimplementasian aplikasi e-voting ini memiliki tindak lanjut pengujian sistem yang terdiri dari pengujian alpha dimana pengujian ini menggunakan metode pengujian black box yang berfokus pada persyaratan fungsional perangkat lunak dan pengujian betha yaitu pengujian lapangan dengan pengolahan data statistik sebagai nilai akurasi hasil pilihan.
Kata kunci: pemilihan elektronik, voting, client, server, client-server, uml, pemodelan berorientasi objek
(6)
ii
Forums Warga Betawi Ciracas Jakarta)
by :
ANJAR FEBRIANTO
10104070
E-Voting is the use of computer technology in the implementation of the voting. One of the computer technology used for the implementation of e-voting is to use client-server architecture. So the use of all-computer-based voting system is expected to replace the manual process of voting.
Who want to achieve the goal of making e-voting application is able to help officers in the committee calculates the number of voters and the election results quickly and accurately.
In the process of development of e-voting application is using Research Methodology observation and study literature. Techniques for data analysis methods and software paradigm in the waterfall method is a technique for data analysis while designing the application to use this method of object-oriented design using Unifed Modeling Language (UML), UML is a language that has become standard in the industry for visualization, designing and documenting the software-based system object.
Once through the stages of development in accordance with the method selected in the application pengimplementasian e-voting has a follow-up test system that consists of alpha testing where this test using a black box testing method that focuses on functional requirements and software testing Betha field testing with the processing statistical data as the accuracy of the option value. Keyword: electronic voting, voting, client-server, uml
Keyword : electronic voting, voting, client, server, uml, unified modelling language
(7)
iii
Assalamu’alaikum Warahmatullahi Wabarakatuh
Segala puji bagi Allah SWT, Tuhan Yang Maha Mulia dan Maha Perkasa, Sang Maha Pencipta, Yang Tunggal dalam Dzat, yang tidak ada sekutu bagi-Nya., yang pertama dan tanpa permulaan, yang terakhir dan tanpa ada akhir Yang memberikan hikmah kejadian yang luar biasa dalam menapaki kehidupan kehambaan.. Shalawat beserta salam semoga senantiasa selalu terlimpah curah kepada makhluk-Mu yang paling utama, utusan-Mu yang paling mulia, yaitu Nabi Muhammad SAW beserta para keluarga, para kerabat, pengikutnya serta para ahlul bait di dunia dan akhirat.
Dengan segala akal, pikiran, jiwa serta totalitas yang penulis miliki dan berkat arrahman-arrahim-Nya penulis dapat menyelesaikan Tugas Akhir pada jenjang S-I Universitas Komputer Indonesia (UNIKOM) ini dengan baik. Adapun judul yang diambil yaitu ”APLIKASI E-VOTING BERBASIS
CLIENT-SERVER (CONTOH KASUS PEMILIHAN KETUA UMUM DI FORUM
WARGA BETAWI CIRACAS)”.
Adapun penyusunan Tugas akhir ini adalah sebagai prasyarat utama untuk memenuhi syarat kelulusan Program Pendidikan Strata 1 jurusan Teknik Informtika di Universitas Komputer Indonesia.
Penulis Menyadari dengan segala ketawadhuan banyak sekali terdapat kekurangan dan keterbatasan, dan jauh dari kesempurnaan karena kami sempurna
(8)
iv
harapkan agar nantinya bisa mendekati kesempurnaan.
Dalam penulisan skripsi ini, penulis banyak menerima bantuan dan dukungan dari berbagai pihak. Oleh karena itu pada kesempatan ini, penulis ingin mengucapkan terima kasih yang setulus-tulusnya kepada:
1. Kedua orang tuaku Bapak dan Ibu atas semua perhatian, dukungan serta do’a dan kasih sayangnya yang tak terhingga.
2. Adik-adikku Didit dan Refa serta keluarga yang telah memberikan dukungan moril maupun materil selama ini
3. Bapak Ir. Eddy Suryanto Sugoto Msc., selaku Rektor Universitas Komputer Indonesia.
4. Bapak Prof. Dr. Ir. Ukun Sastraprawira, Msc., selaku Dekan Fakultas Teknik dan Ilmu Komputer.
5. Ibu Mira Kania Sabariah, S.T., M.T. selaku Ketua Jurusan Teknik Informatika.
6. Ibu Tati Harihayati. M. S.T., M.T, selaku Dosen Wali IF-2.
7. Bapak Andri Heryandi, S.T. selaku Dosen pembimbing yang telah memberikan waktu dan kesempatan yang lebih, serta bantuan kepada penulis dalam penyusunan tugas akhir ini.
8. Seluruh Dosen Teknik Informatika yang telah memberikan pendidikan kepada penulis.
(9)
v semua nasihat spiritualnya.
11. Semua teman-teman mahasiswa UNIKOM terutama kelas IF-2 Chaos angkatan 2004 yang selalu belajar dan bercanda bersama selama ini.
12. Semua teman-teman Pondok Al-Misbar dan Forum WARBECI yang banyak membantu.
Akhirul kalam penulis mengharapkan mudah-mudahan skripsi ini dapat bermanfaat dan menjadi keberkahan buat semuanya. Amiin Yaa Raabbal’alamiin.
Wassalamu'alaikum Warahmatullahi Wabarakatuh
Bandung, Februari 2009
Penulis
(10)
1 1.1. Latar Belakang
Voting telah menjadi salah satu metode untuk mengambil keputusan penting dalam kehidupan manusia. Voting digunakan mulai dari tingkat masyarakat terkecil, yaitu keluarga, sampai dengan sebuah negara. Voting digunakan untuk menghimpun aspirasi dari seluruh elemen masyarakat, dan kemudian menemukan jalan keluar yang dianggap paling baik untuk menyelesaikan permasalahan. Dalam sebuah negara yang menganut sistem politik demokrasi, voting digunakan untuk mengambil keputusan negara yang sangat krusial, antara lain adalah untuk memilih wakil-wakil rakyat, atau untuk memilih pemimpin negara yang baru. Oleh karena itu, voting membutuhkan prosedur pelaksanaan yang dapat menjamin kerahasiaan dan keabsahan dari hasil pelaksanaan voting tersebut.
Perkembangan teknologi informasi saat ini telah membawa perubahan yang besar bagi manusia, termasuk untuk melaksanakan voting. Penggunaan teknologi komputer pada pelaksanaan voting ini dikenal dengan istilah electronic voting atau lazim disebut e-Voting. Pengertian E-Voting secara umum adalah penggunaan teknologi komputer pada pelaksanaan voting, pilihan teknologi komputer yang digunakan dalam implementasi dari e-voting sangat bervariasi, seperti penggunaan smart card untuk otentikasi pemilih, penggunaan internet
(11)
sebagai sistem pemungutan suara, penggunaan touch screen sebagai pengganti kertas suara, dan masih banyak lagi pilihan teknologi yang digunakan.
Forum Warga Betawi Ciracas (WARBECI) adalah suatu organisasi perkumpulan warga betawi yang ada di daerah Kecamatan Ciracas Jakarta Timur. Forum WARBECI ini tentunya memiliki anggota yang tidak sedikit, selama ini proses pemilihan ketua umum diruang lingkup Forum WARBECI masih dilaksanakan secara manual. Proses voting dilakukan di daerah cabang atau blok masing-masing, setelah itu hasil voting akan di gabungkan dengan blok lain, setelah hasil pemilihan sudah terkumpul semua baru dilakukan perhitungan suara. Proses pemilihan menual ini dinilai kurang efektif dan efisien karena menghabiskan banyak waktu, oleh karena itu dirasa perlu untuk membangun sebuah aplikasi e-Voting untuk melakukan pemilihan ketua umum di Forum WARBECI Jakarta.
Salah satu cara yang cukup mudah dan efisien dalam pembangunan aplikasi e-voting pemilihan adalah dengan menggunakan arsitektur client-server. Sistem ini menjadi sebuah implementasi yang lazim dalam jaringan komputer. Ada beberapa metode arsitektur lain misalnya peer-to-peer dan client-queue-client, tetapi metode arsitektur client-server memiliki lebih banyak keunggulan, satu diantaranya adalah kemudahan dalam pengorganisasian data dan informasi. Jadi penggunaan all-computer-based voting system diharapkan mampu menekan biaya pengeluaran dalam proses voting.
(12)
1.2. Identifikasi Masalah
Berdasarkan uraian pada latar belakang masalah, maka masalah yang timbul dalam mengerjakan tugas akhir ini adalah:
1. Proses voting yang manual yang menghabiskan banyak biaya dan waktu. 2. Bagaimana membangun sebuah sistem voting yang mudah penggunaannya. 1.3. Maksud dan Tujuan
Aplikasi ini dibangun dengan maksud membangun sebuah aplikasi e-voting yang berarsitektur client-server dengan contoh kasus adalah proses pemilihan Ketua umum di Forum WARBECI. Tujuan yang ingin dicapai dari pembangunan aplikasi ini adalah :
a. Membantu petugas panitia dalam mengkalkulasi jumlah pemilih yang ikut serta didalam pemilihan.
b. Membantu petugas panitia pemilihan dalam melakukan perhitungan secara cepat dan mengurangi resiko terjadinya kecurangan.
1.4. Batasan Masalah
Batasan masalah dibuat bertujuan untuk membatasi permasalahan yang akan diselesaikan. Adapun batasan masalah dalam penerapan aplikasi e-voting adalah sebagai berikut :
1. Otentifikasi pemilih agar tidak terjadi kesalahan dalam proses pemilihan. 2. Penanganan keamanan yang akan di bahas adalah:
a. Data pemilih yang sudah tercatat di database.
b. Kerahasiaan pemilih dalam melakukan voting/pemilihan. 3. Aplikasi e-voting ini berbasis Client-Server.
(13)
4. Aplikasi ini dibangun menggunakan Netbeans 6.5 sebagai IDE (Integrated Development Environment) dan untuk database menggunakan MySQL 5.
1.5. Metodologi Penelitian
Metodologi penelitian yang digunakan dalam penulisan tugas akhir ini adalah metode penelitian deskriptif. Metode deskriptif bertujuan untuk membuat deskripsi secara sistematis, faktual, dan akurat mengenai fakta-fakta dan sifat-sifat populasi daerah tertentu [5]. Dalam pelaksanaannya terdiri dari dua tahap, yaitu: 1.5.1 Tahap pengumpulan data
Tahap pengumpulan data yang digunakan dalam penelitian ini adalah sebagai berikut:
a. Studi Literatur
Pengumpulan data dengan cara mengumpulkan literatur, jurnal, paper dan bacaan-bacaan yang ada kaitannya dengan judul penelitian. b. Observasi.
Teknik pengumpulan data dengan mengadakan penelitian dan peninjauan langsung terhadap permasalahan yang diambil.
1.5.2 Tahap pembuatan perangkat lunak.
Tahap pengembangan sistem menggunakan metode incremental yang sudah dikembangkan dari Waterfall Model (gambar 1.1), karena metode incremental terdiri dari tahap-tahap yang memberikan kemudahan yaitu mampu mengakomodasi perubahan secara fleksibel dan produk yang dihasilkan pada increment pertama bukanlah prototype, tapi produk yang bisa berfungsi dengan spesifikasi dasar.
(14)
Tahapan-tahapan yang terdapat dalam model waterfall sebagai berikut: a. System / Information Engineering
Merupakan bagian dari sistem yang terbesar dalam pengerjaan suatu proyek, dimulai dengan menetapkan berbagai kebutuhan dari semua elemen yang diperlukan sistem dan mengalokasikannya kedalam pembentukan perangkat lunak.
b. Analisis
Merupakan tahap menganalisis hal-hal yang diperlukan dalam pelaksanaan proyek pembuatan perangkat lunak.
c. Design
Tahap penerjemahan dari data yang dianalisis kedalam bentuk yang mudah dimengerti oleh user.
d. Coding
Tahap penerjemahan data atau pemecahan masalah yang telah dirancang keadalam bahasa pemrograman tertentu.
e. Testing
Merupakan tahap pengujian terhadap perangkat lunak yang dibangun. f. Maintenance
Merupakan tahap akhir dimana suatu perangkat lunak yang sudah selesai dapat mengalami perubahan atau penambahan sesuai permintaan user.
(15)
Gambar 1.1 Skema incremental model yangmerupakan pengembangan dari metode waterfall [1]
1.5. Sistematika Penulisan
Berikut adalah sistematika penulisan dari laporan penelitian tugas akhir ini yang dibagi menjadi 5 (lima) bagian atau bab, yaitu :
BAB I PENDAHULUAN
Bab ini menerangkan secara umum mengenai latar belakang permasalahan serta penyebab timbulnya permasalahan, identifikasi masalah, batasan masalah, maksud dan tujuan penelitian serta sistematika penulisan.
BAB II LANDASAN TEORI
Bab ini berisi teori-teori pendukung yang berkaitan dengan topik yang dibahas dalam tugas akhir.
BAB III ANALISIS DAN PERANCANGAN
Bab ini berisi analisis dalam membangun sistem yang dibangun mulai dari analisis masalah, analisis prosedur, analisis basis data, analisis kebutuhan
(16)
fungsional dan analisis kebutuhan non fungsional. Pada perancangan berisi mengenai perancangan data, perancangan menu, perancangan antarmuka BAB IV IMPLEMENTASI
Bab ini berisi hasil implementasi dari hasil analisis dan perancangan disertai juga dengan hasil pengujian dari sistem yang dibangun.
BAB V KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan tentang keseluruhan dari pembangunan sistem dan saran tentang sistem yang dibangun.
(17)
8 2.1. E-Voting
2.1.1. Definisi E-Voting
1. E-Voting adalahsuatu metoda pengumpulan suara dengan menggunakan
perangkat elektronik
2. Remote voting adalah suatu cara/metoda pemberian suara pemilih pada
suatu tempat dimana saja, seperti di rumah, di kantor atau dijalan, artinya dilokasi mana saja asal ada kesempatan bisa melakukan pemilihan suara.
3. Supervised voting adalah suatu proses pemilihan suara (memberikan
suara) yang diawasi oleh petugas/pejabat pemilihan umum (KPU).
4. Remote electronic voting adalah pemilihan suara pada suatu tempat
dengan menggunakan perangkat elektronik, tanpa pengawasan petugas/pejabat pemilihan umum (KPU)
5. Internet Voting adalah pemilihan suara melalui media internet, bisa
dimana saja seperti dirumah , diperjalanan atau di tempat yang sudah disediakan
2.1.2. Macam-Macam Teknologi Voting
Ada enam macam teknologi voting yang umum digunakan yaitu: 1. Kertas Suara/ Surat Pemilihan (Paper Ballots)
Tekonologi ini adalah teknologi yang pertama dalam peradaban umat manusia dalam berdemokrasi, dimana kertas suara dijadikan dasar untuk
(18)
menghitung suara pemilih. Cara melakukan pemilihan adalah pemilih mengambil kertas suara yang sudah disediakan dalam bentuk formulir, nama-nama calon dan gambarnya sudah tercetak, setelah itu pemilih tinggal menusuk atau mencoblos photo atau symbol calon pilihannya dan memasukkannya kedalam suatu kotak suara yang sudah disediakan oleh petugas. Selanjutnya team atau anggota panitia akan melakukan penghitungan suara.
2. Lever Machines
Teknologi berikutnya (Technological advance) adalah Lever Machines yang dimulai diperkenalkan pada tahun 1892. Teknologi ini tidak terdapat dokumen suara. Pemilih memasukkan suara dalam suatu tempat dengan memilih daftar calon dan mengumpulkan masing-masing calon terpilih. Suara dicatat dan dihitung dengan Lever Machines
3. Punchcards
Teknologi punchcard, pertama kali dipakai untuk menghitung suara dengan menggunakan komputer yang dimulai pada tahun 1964. Dalam sistem ini, suara dicatat dengan memilih lubang-lubang padu kartu atau kertas komputer dan selanjutnya komputer akan membaca kartu suara. Kartu suara adalah sebagai dokumen suara pemilih yang tercatat.
Ada dua tipedari sistem punchcard yaitu kotak nomor dicetak pada kartu suara, dimana setiap kotak untuk pemilihan suara. Dan yang lainnya disebut Datavote yang mempunyai lubang-lubang pemilih yang menyatakan nama-nama kandidat atau memilih kandidatnya dengan cara melubangi kertas punchcard yang dicetak pada kartu suara.
(19)
4. Marksense Form
Teknologi ini dinamakan optical scan yang dimulai digunakan pada tahun 1980. Pada sistem ini pemilih menggunakan bentuk kertas dan menulis pada kotak atau bentuk oval berikut arah panah untuk mengarahkan calon pemilih. Jika suara sudah lengkap ditulis kemudian dibaca oleh komputer. Tulisan pemilih ditempatkan pada suatu tempat perhitungan dan selanjutnya akan dibaca melalui proses optical scanning dan langsung dihitung dengan bantuan mesin penghitung. Kira-kira 25 persen dari seluruh Negara telah menggunkan alat dengan cara seperti ini. Pada tahun 1992 telah meningkat dua kali lipat penggunaannya dan terus meningkat pemakainya
5. Electronic Voting
Teknologi electronic voting dimulai pada tahun 1970 yang disebut teknologi pencatatan langsung secara elektronik atau lebih dikenal dengan istilah DRE (direct recording electronic). Cara memilih dengan sistem ini adalah dengan memilih kandidat yang sudah tercetak pada layar komputer. Pemilih hanya menekan tombol pada display atau pada alat atau piranti yang mirip.
Contoh dari electronic voting adalah dengan menekan tombol suara pemilih langsung disimpan pada suatu piranti memori atau pada sirkit memori non volatile. Jika peralatan pemilihan menggunakan keyboard tulisan suara akan dicatat secara elektronik. Salah satu bentuk electronic voting electronic voting yang sedang dikembangkan adalah Internet Voting.
(20)
6. Remote Voting
Remote voting adalah suatu tempat pemungutan suara yang letaknya berjauhan atau pada tempat yang berbeda, teknologi ini bias menggunakan kertas yang dikirim melalui surat suara atau kartu suara, atau menggunakan suatu perangkat dengan kata lain bagaimana dokumen suara bisa dikirim ke suatu tempat untuk dihitung ditempat yang lain, cara ini tidak ada bedanya dengan pemungutan suara melalui surat , jadi remote voting adalah pemungutan suara dari tempat yang berbeda hanya saja cara atau media yang berbeda atau perangkat yang digunakan bisa berbeda-beda.[3]
2.1.3. Teknik Pengiriman E-Voting
Pengiriman E-voting dapat dilakukan dengan berbagai metoda atau dengan berbagai perangkat elektronik yang menjadi sarana pendukungnya.seperti contoh dibawah ini. Dalam gambar 2.1 adalah ilutrasi pengiriman E-voting dengan multi flatform artinya dengan sarana/ divice yang berbeda.
(21)
Gambar 2.1 Arsitektur pengiriman e-voting
1. Pemilih dapat memberikan suara melalui Internet
Dengan menggunakan bentuk web yaitu berupa halaman web di internet maka dapat mengirimkan input data dalam bentuk alphanumeric. Data yang dikirim sudah di enkripsi terlebih dahulu untuk menghindari dari penyadapan atau perubahan data.
(22)
2. Pemilih dapat memberikan suara melalui telepon
Dalam pesawat telepon terbaru menggunakan sistim digital , pada tombol-tombol nya berbasis angka., tetapi dapat mengidentifikasi pernyataan yes atau no atau satu, dua ,tiga.
Gambar 2.3 Telepon Digital
3. Pemilih dapat memberikan suara melalui pesan Text SMS
Pemilih diberikan dokumen petunjuk, user name dan PIN terlebih dahulu. Selanjutnya, sebelum mengirimkan pilihannya, pemilih juga diminta untuk memberikan nomor identitas atau nomor KTP sebagai salah satu usaha untuk mencegah pencurian identitas oleh orang lain. Jika pemilih sudah memberikan suara sebelumnya, tentu saja akan ditolak oleh sistem. Setelah mengirimkan SMS dengan format tersebut, pemilih akan mendapatkan SMS balasan berisi konfirmasi bahwa pilihan mereka telah diterima.
(23)
Gambar 2.4 Telepon seluler
4. Pemilih dapat memberikan suara melalui TV digital dengan menggunakan remote control TV digital.
Gambar 2.5 Remote TV digital
5. Pemilih dapat memberikan suara melalui surat dan dikirim melalui
post
(24)
6. Pemilih dapat memberikan suara melalui Kios (bilik suara )
Pemilih menyalurkan suaranya dengan cara datang ke suatu tempat yang sudah disediakan oleh panitia dan pemilih menyalurkan suaranya di bilik suara yang tertutup agar hasil pilihannya tidak diketahui oleh orang lain. Cara pemilihan seperti ini di sudah tidak asing lagi di Indonesia sudah.
Gambar 2.7 Kios (bilik suara)
2.2. Sistem
2.2.1. Analisis Sistem
Analisis sistem (sistem analis) merupakan tahapan yang sangat kritis dan penting karena kesalahan dalam tahap ini dapat mempengaruhi tahapan selanjutnya, Analisa sistem didefinisikan sebagai berikut :
“Penguraian dari suatu sistem informasi yang utuh kedalam bagian-bagian komponennya dengan maksud untuk mengidentifikasikan dan mengevaluasi permasalahan-permasalahan, kesempatan-kesempatan, hambatan-hambatan yang terjadi dan kebutuhan-kebutuhan yang diharapkan sehingga dapat diusulkan perbaikan-perbaikannya”.
(25)
Dalam tahap analisis terdapat langkah-langkah sebagai berikut: a. Identify yaitu mengidentifikasi masalah.
b. Understand yaitu memahami kerja dari sistem yang ada. c. Analyze yaitu menganalisis sistem.
d. Report yaitu membuat laporan hasil analisis.
2.2.2. Desain Sistem
Desain sistem didefinisikan sebagai berikut :
“Penggambaran, perencanaan dan pembuatan sketsa atau pengaturan dari beberapa elemen yang terpisah ke dalam satu kesatuan yang utuh dan berfungsi”. a. Tujuan Desain Sistem.
Desain sistem memunyai maksud dan tujuan sebagai berikut: 1. Untuk memenuhi kebutuhan kepada pemakai sistem.
2. Untuk memberikan gambaran yang jelas dan rancang bangun yang lengkap kepada pemrogram komputer dan ahli-ahli teknik yang terlibat.
Sasaran-sasaran yang harus dicapai agar desain sistem mencapai tujuan: 1. Desain sistem harus berguna, mudah dipahami dan nantinya mudah
digunakan.
2. Desain sistem harus dapat mendukung tujuan utama perusahaan.
3. Desain harus efektif dan efisien mendukung pengolahan transaksi yang, pelaporan manajemen dan mendukung keputusan yang akan dilakukan oleh manajemen, termasuk tugas-tugas lainnya yang tidak dapat dilakukan oleh komputer.
(26)
4. Desain sistem harus dapat mempersiapkan rancang bangun yang terinci untuk masing-masing komponen yang meliputi data dan informasi, simpanan data, metode-metode, prosedur-prosedur, orang-orang, perangkat keras, perangkat lunak dan pengendalian intern.
2.2.3. Model Perancangan Sistem
Langkah awal yang dilakukan dalam membangun sistem adalah dengan menentukan model sistem yang akan digunakan. Berikut ini akan dijelaskan mengenai model sistem waterfall. Dalam penelitian ini model sistem yang digunakan adalah model sistem waterfall dengan struktur seperti pada gambar 2.8 Berikut ini :
Gambar 2.8 Model Sistem Waterfall
Model sistem ini menuntut cara yang teratur dari suatu rangkaian yang mendekati perkembangan software, yang dimulai dengan suatu tingkatan kemajuan-kemajuan melalui analisa, perancangan, pengkodean, pengujian dan pemeliharaan. Model tersebut meliputi kegiatan aktifitas sebagai berikut :
System Engineering
System Analysis
Design
Coding
Testing
(27)
a. System/Information Engineering
Merupakan bagian dari sistem yang terbesar dalam pengerjaan suatu proyek, dimulai dengan menetapkan berbagai kebutuhan dari semua elemen yang diperlukan sistem dan mengalokasikannya kedalam pembentukan perangkat lunak.
b. System Analysis
Merupakan tahap menganalisis hal-hal yang diperlukan dalam pelaksanaan proyek pembuatan perangkat lunak.
c. Design
Perancangan berdasarkan analisis data kedalam bentuk gambaranaplikasi yang dibuat.
d. Coding
Menerapkan hasil perancangan dari aplikasi yang dibangun kedalam bahasa pemrograman tertentu.
e. Testing
Pengujian terhadap aplikasi yang dibangun. f. Maintenance
Tahap akhir dimana suatu perangkat lunak yang sudah selesai dapat mengalami perubahan-perubahan atau penambahan sesuai dengan permintaan user.
2.2.4. Alat Pengembangan Sistem
Untuk dapat melakukan langkah-langkah sesuai dengan yang diberikan oleh metodologi pengembangan sistem yang terstruktur, maka dibutuhkan alat
(28)
untuk melaksanakannya. Alat-alat yang digunakan dalam suatu metodologi umumnya berupa suatu gambar, diagram, atau grafik. Selain berbentuk gambar, alat-alat yang digunakan juga ada yang tidak berupa gambar atau grafik, seperti misalnya kamus data (data dictionary), pseudocode, serta formulir-formulir untuk mencatat dan menyajikan data, seperti :
1. Bagan Alir Informasi, bagian yang menggambarkan arus informasi berupa laporan, formulir, dan dokumen yang keluar atau masuk dari bagian – bagian tertentu dalam sistem.
2. Bagan Alir Sistem (System Flowchart), merupakan bagan yang menunjukkan arus pekerjaan secara keseluruhan dari sistem, yang menjelaskan urutan – urutan dari prosedur – prosedur yang ada didalam sistem.
3. Bagan Hubungan Database (Relational Database), dimaksudkan untuk mengidentifikasikan kebutuhan dan hubungan dari file – file database yang digunakan.
2.3. Software Pendukung
2.3.1. Netbeans 6.5
Netbeans sebagai IDE ditujukan untuk memudahkan pemrograman Java. Dalam Netbeans, pemrograman dilakukan berbasiskan visual dan event driven. Seperti IDE lain, misalnya Borland Delphi dan Microsoft Visual Studio. Untuk membuat dialog atau User Interface, kita tidak perlu membuat teks program secara manual baris per baris, tetapi cukup klik pada component pallete. Teks program akan dihasilkan secara otomatis.
(29)
Untuk memakai Netbeans IDE maka kita harus terlebih dahulu mempunyai driver JDK yang akan mendukung pembuatan perangkat lunak dengan menggunakan Netbeans IDE, maka sebelum menginstall Netbeans terlebih dahulu kita harus menginstal driver JDK. Netbeans yang dipakai pada pengembangan perangkat lunak ini adalah Netbeans 6.5 dan JDK 1.6.[12]
2.3.2. MySQL
MySQL adalah perangkat lunak Relational Database Management System (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Dimana setiap orang bebas untuk menggunakannya, tapi tidak boleh dijadikan produk turunan yang bersifat Closed Source atau komersial.
MySQL sebenarnya merupakan turunan salah satu konsep utama dalam database sejak lama, yaitu SQL (Structure Query Language). SQL adalah sebuah konsep pengoperasian database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis.
Keandalan suatu sistem database (DBMS) dapat diketahui dari cara kerja Optimizer-nya dalam melakukan proses perintah-perintah SQL, yang dibuat oleh user maupun program-program aplikasinya. Sebagai database server, MySQL dapat dikatakan lebih unggul dibanding database server lainnya dalam query data. Hal ini terbukti untuk query yang dilakukan oleh single user, kecepatan query MySQL bisa sepuluh kali lipat lebih cepat dari PostgreSQL dan lima kali lebih cepat dibanding Interbase.
(30)
2.4. Unified Modeling Language (UML)
Unified Modelling Language (UML) adalah sebuah bahasa yang berdasarkan grafik/gambar untuk memvisualisasi, menspesifikasikan, membangun, dan pendokumentasian dari sebuah sistem pengembangan software berbasis OO (Object-Oriented). UML sendiri juga memberikan standar penulisan sebuah sistem blue print, yang meliputi konsep bisnis proses, penulisan kelas-kelas dalam bahasa program yang spesifik, skema database, dan komponen-komponen yang diperlukan dalam sistem software.[10]
Meskipun UML adalah suatu standard dari Object Management Group (OMG), UML tidak hanya untuk memodelkan aplikasi perangkat lunak yang berorientasi objek. UML adalah suatu bahasa grafik yang dirancang untuk menjadi sangat fleksibel dan customizable. Hal ini memungkinkan kita untuk membuat beraneka jenis model, termasuk model untuk mengerti proses-proses bisnis, workflow, urutan dari query, aplikasi, database, arsitektur, dan lainnya[9].
Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering). [10]
(31)
2.4.1. Sejarah UML
Pendekatan analisa & rancangan dengan menggunakan model OO mulai diperkenalkan sekitar pertengahan 1970 hingga akhir 1980 dikarenakan pada saat itu aplikasi software sudah meningkat dan mulai komplek. Jumlah yang menggunakaan metoda OO mulai diuji cobakan dan diaplikasikan antara 1989 hingga 1994, seperti halnya oleh Grady Booch dari Rational Software Co., dikenal dengan OOSE (Object-Oriented Software Engineering), serta James Rumbaugh dari General Electric, dikenal dengan OMT (Object Modelling Technique).[11]
Secara resmi bahasa UML dimulai pada bulan oktober 1994, ketika Rumbaugh bergabung Booch untuk membuat sebuah project pendekatan metoda yang uniform/seragam dari masing-masing metoda mereka. Saat itu baru dikembangkan draft metoda UML version 0.8 dan diselesaikan serta di release pada bulan oktober 1995. Bersamaan dengan saat itu, Jacobson bergabung dan UML tersebut diperkaya ruang lingkupnya dengan metoda OOSE sehingga muncul release version 0.9 pada bulan Juni 1996. Hingga saat ini sejak Juni 1998 UML version 1.3 telah diperkaya dan direspons oleh OMG (Object Management Group), Anderson Consulting, Ericsson, Platinum Technology, ObjectTime Limited, dll serta di pelihara oleh OMG yang dipimpin oleh Cris Kobryn.[10]
UML adalah standar dunia yang dibuat oleh Object Management Group (OMG), sebuah badan yang bertugas mengeluarkan standar-standar teknologi object-oriented dan software component. [11]
(32)
2.4.2. Konsep Dasar UML
Dari berbagai penjelasan rumit yang terdapat di dokumen dan buku-buku UML. Sebenarnya konsepsi dasar UML dapat dirangkum dalam tabel berikut ini :
Tabel 2.1 Abstraksi Konsep Dasar UML
Major Area View Diagrams Main Concepts
Structural static view class diagram Class, association,
generalization, dependency, realization, antarmuka use case view use case
diagram
Use case, actor, association, extended, include, use case general-ization Implementation view, deployment view Component diagram Component, antarmuka, dependency, realization Deployment diagram Mode, component, dependency,location Dynamic State machine view State chart
diagram
State event, transition, action Activity view Activity
diagram
State, activity,
complemention, transition, fork, join
Interaction view Sequence diagram
Interaction, object, message, activation
Collaboration diagram
Collaboration, interaction, collaboration role, message Model
management
Model managent view
Class diagram Package, subsistem, model
Extensibility All All Constraint, stereotype, tagget values
Abstraksi konsep dasar UML yang terdiri dari structural classification, dynamic behavior, dan model management, bisa kita pahami dengan mudah apabila kita melihat tabel diatas dari Diagrams. Main concepts bisa kita pandang
(33)
sebagai term yang akan muncul pada saat kita membuat diagram. Dan view adalah kategori dari diagaram tersebut.
2.4.3. Diagram-diagram UML 1. Use Case Diagram
Use case diagram menggambarkan sebuah fungsi yang dibutuhkan oleh sebuah sistem. Dalam hal ini ada kondisi yang agak beda, yaitu disini tingkah laku dan domain sistem. Sebuah use case merepresentasikan sebuah interaksi antara pengguna dengan sebuah sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, membuat sebuah daftar aktifitas, dan sebagainya.
2. Class Diagram
Class merupakan inti dari pengembangan dan desain berorientasi objek, karena nantinya class ini akan menghasilkan sebuah objek. Class menggambarkan keadaan (atribut/property) suatu sistem dan metode/fungsi yang ada pada sistem tersebut.
Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti pewarisan, asosiasi, dan lain-lain. Class memiliki tiga domain yaitu : Nama (dan stereotype), Atribut dan Metode. Atribut dan metode dapat memiliki salah satu sifat berikut :
1. Private, tidak dapat dipanggil diluar class yang bersangkutan
2. Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya.
(34)
3. SequenceDiagram
Sequnce diagram, secara khusus, menjabarkan behavior sebuah scenario tunggal. Diagram tersebut menunjukan sejumlah objek contoh dan pesan-pesan yang melewati objek-objek ini di dalam use case.
4. Activity Diagram
Activity Diagram adalah teknik untuk mendeskripsikan logika prosedural, proses bisnis dan aliran kerja dalam banyak kasus. Activity Diagram mempunyai peran seperti halnya flowchart, akan tetapi perbedaannya dengan flowchart adalah activitydiagram bisa mendukung perilaku paralel sedangkan flowcahrt tidak bisa.
5. Deployment Diagram
Deployment/physical diagram menggambarkan detail bagaimana komponen di-deploy dalam infrastruktur sistem, di mana komponen akan terletak (pada mesin, server atau piranti keras apa), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal
Sebuah node adalah server, workstation, atau piranti keras lain yang digunakan untuk men-deploy komponen dalam lingkungan sebenarnya. Hubungan antar node (misalnya TCP/IP) dan requirement dapat juga didefinisikan dalam diagram ini.
2.5. Basis Data
2.5.1. Pengertian Basis Data
Basis Data merupakan kumpulan data yang (arsip) yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa
(35)
pengulangan (redudansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan. Atau bisa diartikan sebagai kumpulan file/tabel/arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis.
a. Database Manajemen Sistem (DBMS)
Pengelolaan basis data secara fisik tidak dilakukan oleh pemakai secara langsung, tetapi ditangani oleh sebuah perangkat lunak atau sistem yang khusus atau spesifik. Sistem ini yang akan menentukan bagaimana data diorganisasi, disimpan, diubah dan diambil kembali Disamping itu sistem ini juga menerapkan mekanisme pengaman data, pemakaian data secara bersama, pemaksaan keakuratan atau konsistensi data dan sebagainya. Perangkat lunak yang termasuk DBMS misalnya dBase II+, dBase IV, FoxBase, RBase, MS-Access dan Borland-Paradox atau Borland-Interbase, MS-SQL Server, CA-Open Ingres, Oracle, Informix dan Sybase.
b. Tujuan Basis Data
Basis Data pada prinsipnya ditujukan untuk pengaturan data agar terdapat kemudahan dalam pengambilan kembali data tersebut. Berikut ini terdapat beberapa tujuan dari Basis Data diantaranya yaitu :
1. Kecepatan dan kemudahan (Speed) 2. Efisiensi ruang penyimpanan (Space) 3. Keakuratan (Accuracy)
4. Ketersediaan (Avaibility) 5. Kelengkapan (Completeness)
(36)
6. Keamanan (Security) 7. Kebersamaan (Sharability)
c. Pengguna Basis Data
Pengguna basis data yang dibedakan berdasarkan cara mereka berinteraksi terhadap sistem diantaranya yaitu :
1. Programmer Aplikasi (Application Programmer)
Pemakai yang berinteraksi dengan basis data dengan menggunakan Data Manipulation Language (DML) untuk membuat aplikasi dengan menggunakan bahasa pemrograman.
2. User Khusus (Specialized User)
Pemakai yang membuat program aplikasi basis data untuk keperluan tertentu atau khusus.
3. User Mahir (Casual User)
Pemakai yang berinteraksi dengan sistem tanpa membuat modul program. 4. User Umum (Naïve User)
Pemakai berinteraksi dengan aplikasi basis data yang telah dibuat atau disediakan oleh sistem.
2.6. Object Oriented Programming (OOP)
OOP merupakan terobosan baru dalam pemrograman setelah pemrograman prosedural, pemrograman modular dan pemrograman abstraksi data. Ada beberapa konsep utama OOP antara lain :
(37)
Pemrograman berorientasi-objek menekankan konsep berikut:
1. Class : kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing.
2. Objek : membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer; objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.
3. Abstraksi : kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.
4. Enkapsulasi : memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi ijin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya.
(38)
Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.
5. Polimorfisme : melalui pengiriman pesan. tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.
6. Inheritance - Mengatur polimorfisme dan enskapsulasi dengan mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada, objek-objek ini dapat membagi (dan memperluas) perilaku mereka tanpa haru mengimplementasi ulang perilaku tersebut.
(39)
Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut(terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bagian administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bagian administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas administrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek -objek yang ada karena setiap objek memiliki job description nya sendiri.
(40)
31 BAB III
ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Sistem
Analisis sistem bertujuan untuk mengidentifikasi permasalahan-permasalahan yang ada pada sistem. Analisis ini diperlukan sebagai dasar bagi tahapan perancangan sistem. Analisis sistem meliputi identifikasi masalah, spesifikasi aplikasi, spesifikasi pengguna dan lingkungan operasi.
3.1.1 Analisis Masalah
Berdasarkan latar belakang masalah yang ada, maka dapat diketahui masalah – masalah yang terjadi di Forum WARBECI adalah sebagai berikut :
1. Masalah akses untuk bisa melaksanakan e-voting seperti ketersediaan jaringan internet dan infrastruktur yang lain.
2. Masalah ketersediaan software (peranti lunak). Bagaimana mengusahakan peranti lunak yang tidak mahal atau gratis.
3. Masalah tampilan dari software tersebut. Bagaimana tampilan tersebut memudahkan seorang yang awam dengan komputer untuk melaksanakan e-voting.
(41)
3.1.2 Ruang Lingkup Masalah
Ruang lingkup masalah yang dibahas dalam membangun aplikasi ini yaitu pemberian layanan teknologi e-voting untuk suatu pemilihan di Forum WARBECI.
Fitur-fitur utama aplikasi ini adalah sebagai berikut: a. Pengolahan data yang bersifat dinamis.
b. Memberikan kemudahan bagi petugas pemilihan untuk melakukan penghitungan suara.
c. Tampilan dibangun dengan menarik, dinamis dan interaktif sehingga memberikan kemudahan kepada pengguna.
3.1.3 Analisis Sistem Yang Sedang Berjalan
Prosedur merupakan urutan dari langkah-langkah yang terjadi atau yang dilakukan dalam suatu sistem. Prosedur sistem yang sedang berjalan di forum Warga Betawi Ciracas adalah sebagai berikut:
a. Prosedur pendaftaran pemilih, b. prosedur pendaftaran kandidat. c. prosedur pemilihan.
d. prosedur hitung hasil pemilihan.
3.1.3.1Prosedur Registrasi Pemilih
Pada Gambar 3.1 digambarkan aktivitas calon pemilih dan petugas saat proses pendaftaran pemilih. Berikut penjelasan dari gambar 3.1:
(42)
1. Calon pemilih memberikan data pemilih dan persyaratan-persyaratan pendaftaran pemilih kepada petugas pendaftaran.
2. Persyaratan pemilih akan dicek oleh petugas apakah persyaratan tersebut sudah terpenuhi atau belum. Jika persyaratan belum terpenuhi maka petugas akan mengembalikan dokumen tersebut kepada calon pemilih dan pemilih akan melengkapi persyaratan tersebut untuk mendaftarkannya lain waktu, jika persyaratan sudah terpenuhi maka petugas akan mencatat data pemilih baru. 3. Setelah data pemilih baru selesai dicatat, maka petugas akan memberikan kartu
suara kepada pemilih yang telah terdaftar sebagai pemilih baru. 4. Petugas akan mencatat data pemilih baru ke dalam arsip pemilih.
(43)
3.1.3.2ProsedurPendaftaran Kandidat (Calon Ketua)
Pada Gambar 3.2 digambarkan aktifitas petugas dan kandidat dalam proses pendaftaran kandidat atau calon ketua. Berikut penjelasan dari gambar 3.2:
1. Setiap kandidat diharuskan menyerahkan data ke petugas pendaftaran kandidat.
2. Panitia akan mengecek apakah data tersebut apakah sudah lengkap dan sesuai dengan persyaratan atau belum. Jika data tersebut belum sesuai dengan persyaratan maka data tersebut akan dikembalikan kepada kandidat, jika data tersebut sudah sesuai dengan persyaratan maka panitia akan memproses data kandidat.
3. Petugas akan memberikan surat registrasi kepada calon kandidat yang syarat-syaratnya sudah terpenuhi.
4. Calon kandidat yang mendapat surat registrasi akan mengisi surat registrasi tersebut dan akan mengembalikan ke petugas pendaftaran sebagai bukti bahwa kandidat tersebut siap dan bersedia mengikuti aturan-aturan yang ada.
5. Jika kandidat tidak mengembalikan surat registrasi tersebut sampai batas waktu yang ditentukan maka kandidat tersebut tidak akan di regsitrasi oleh petugas dan gagal menjadi kandidat.
(44)
Gambar 3.2 Activity Diagram Pendaftaran Kandidat
3.1.3.3ProsedurPemilihan
Pada gambar 3.3 digambarkan aliran data dalam proses pemilihan. Berikut penjelasan dari gambar 3.3 :
1. Pemilih memberikan kartu pemilih kepada petugas.
2. Petugas akan memeriksa kartu pemilih tersebut, jika kartu pemilih tidak sesuai petugas akan mengembalikan kartu pemilih kepada pemilih, jika kartu pemilih sesuai maka pemilih dapat menyalurkan suaranya.
3. Petugas memberikan kertas suara kepada pemilih, kemudian pemilih masuk kedalam tempat pemungutan suara (TPS) dan menyalurkan suaranya.
4. Setelah selesai memilih, pemilih memsaukkan kertas suara kedalam kotak suara kemudian petugas akan memberikan tanda bahwa pemilih sudah menyalurkan suaranya
(45)
Gambar 3.3 Activity Diagram Pemilihan
3.1.3.4Prosedur Penghitungan Suara
Gambar 3.4 dibawah menggambarkan aktivitas petugas, saksi dan pemilih dalam proses penghitungan suara. Berikut penjelasan dari gambar 3.4:
1. Petugas menghitung setiap kertas suara yang sudah dipilih.
2. Saksi akan memeriksa kertas suara tersebut apakah sah atau tidak. Jika sah maka petugas akan mencatat hasil pilihan tersebut, jika tidak sah maka kertas suara tidak dihitung.
3. Petugas dan saksi akan menghitung hasil pemilihan dan mencatat hasil pemilihan tersebut.
4. Petugas akan menggabungkan hasil pemilihan dari setiap daerah dan kemudian petugas menghitung hasil dari seluruh pemilihan dan mencatatnya ke dalam arsip hasil pemilihan.
(46)
Gambar 3.4 Activity Diagram Penghitungan Suara
3.1.4 Analisis Kebutuhan Fungsional 3.1.4.1 Unified Modelling language (UML)
Analisis sistem yang dilakukan menggunakan metode UML (Unified Modeling Language). Analisis sistem ini menggunakan adaptasi metode Coad-Yourdon. Tahap-tahap analisis tersebut sebagai berikut :
1. Identifikasi Aktor 2. Identifikasi use-case
3. Pembuatan use-casediagram
4. Pembuatan sequencediagram untuk memperjelas masing-masing use-case 5. Pembuatan activity diagram untuk memperjelas use-case
(47)
3.1.4.2 Pemodelan UseCase 3.1.4.2.1 Identifikasi Aktor
Aktor yang terlibat dalam sistem yang akan dibangun yaitu administrator, petugas dan pemilih. Pemakai disini merupakan orang yang menggunakan sistem.
3.1.4.2.2 Identifikasi Use Case
Aplikasi Sistem E-Voting memiliki 21 use-case yang terlibat antara lain sebagai berikut :
1. Use-case login petugas 2. Use-case login pemilih 3. Use-Case mengelola petugas 4. Use-Case tambah petugas 5. Use-Case ubah petugas 6. Use-Case hapus petugas 7. Use-case mengelola pemilih 8. Use-case tambah pemilih 9. Use-case edit pemilih 10.Use-case hapus pemilih 11.Use-case mengelola kandidat 12.Use-case tambah kandidat 13.Use-case ubah kandidat 14.Use-case hapus kandidat
15.Use-case mengelola jadwal pemilihan 16.Use-case tambah jadwal
17.Use-case ubah jadwal 18.Use-case hapus jadwal 19.Use-case voting 20.Use-case lihat score
(48)
3.1.4.2.3 Diagram Use Case
Diagram use case memperlihatkan hubungan-hubungan yang terjadi antara aktor dengan use case dalam system. Salah satu manfaat dari diagram use case adalah untuk komunikasi. Calon pengguna Aplikasi e-voting dapat mengamati diagram use case untuk mendapatkan pemahaman yang utuh tentang sistem yang dibangun.
Use case diagram Aplikasi E-Voting dapat diliihat jelas pada gambar 3.5 dan penjelasan dari masing-masing use case adalah sebagai berikut :
(49)
Penjelasan dari masing-masing use case adalah sebagai berikut: 1. Use case login petugas
Use Case Login Petugas memperlihatkan bagaimana sistem melakukan autentifikasi pengguna untuk dapat menggunakan aplikasi. Untuk lebih jelasnya penjelasan use case login dapat dilihat pada diagram sekuen gambar 3.6.
Tabel 3.1 Deskripsi Use Case Login Petugas
DESKRIPSI USE CASE
Use Case Login Petugas
Tujuan Akhir Aktor dapat login ke dalam sistem Kondisi Awal Aktor belum dapat login ke dalam sistem Kondisi Akhir Sukses Aktor masuk ke halaman utama
Kondisi Akhir Gagal Terdapat kesalahan username atau password Aktor Utama Petugas
Aktor Tambahan Admin
Pemicu Include Case
Aliran Utama Aktor Sistem
1. Aktor memasukkan username dan password
4. Masuk halaman utama petugas
2. Sistem melakukan
pemeriksaan username dan password
3. Sistem menamppilkan halaman utama petugas
(50)
Alternatif Data username dan password yang dimasukkan user tidak valid:
Alt.4. Sistem menampilkan pesan kesalahan
Gambar 3.6Diagram Sekuen Login Petugas
2. Use-case login pemilih
Use Case Login Pemilih memperlihatkan bagaimana aplikasi e-voting melakukan autentifikasi pemilih untuk dapat menggunakan aplikasi. Untuk lebih jelasnya penjelasan use case login pemilih dapat dilihat pada diagram sekuen gambar 3.7.
Tabel 3.2 Deskripsi Use Case Login Pemiliih
DESKRIPSI USE CASE
Use Case Login Pemilih
Tujuan Akhir Aktor dapat login ke dalam sistem Kondisi Awal Aktor belum dapat login ke dalam sistem Kondisi Akhir Sukses Aktor masuk ke halaman utama
(51)
Aktor Utama Pemilih Aktor Tambahan
Pemicu - Include Case None
Aliran Utama Aktor Sistem
1. Aktor
memasukkan Id pemilih dan nama
4. Masuk halaman utama pemilihan
2. Sistem melakukan pemeriksaan id pemilih dan nama.
3. Sistem menamppilkan halaman utama pemilihan
Alternatif Data id pemilih yang dimasukkan aktor tidak valid: Alt.4. Sistem menampilkan pesan kesalahan
(52)
3. Use Case Kelola Petugas
Use Case Pengolahan Data Petugas memperlihatkan bagaimana admin melakukan pengolahan data petugas. Untuk lebih jelasnya penjelasan use case pengolahan data petugas dapat dilihat pada diagram sekuen gambar 3.8.
Tabel 3.3 Deskripsi Use Case Kelola Petugas
DESKRIPSI USE CASE
Use Case Kelola Petugas
Tujuan Akhir Pengolahan data petugas
Kondisi Awal Data petugas mengalamai perubahan sehingga harus diolah sesuai kebutuhan
Kondisi Akhir Sukses Data petugas berhasil di olah
Kondisi Akhir Gagal Data petugas gagal diolah karena terdapat kesalahan
Aktor Utama Admin
Aktor Tambahan -
Pemicu - Include Case Login
Aliran Utama Aktor Sistem
1. Aktor mengolah data pemilih sesuai dengan kebutuhan.
2. Sistem menyimpan pengolahan data petugas 3. Menampilkan data
(53)
Alternatif 2.1 Hasil pengolahan data petugas gagal disimpan karena terjadi kesalahan
Gambar 3.8 Diagram Sekuen Kelola Petugas
4. Use Case Tambah Petugas
Use Case Tambah petugas memperlihatkan bagaimana petugas melakukan penambahan data petugas. Untuk lebih jelasnya penjelasan use case tambah data petugas dapat dilihat pada diagram sekuen gambar 3.9.
Tabel 3.4 Deskripsi Use Case Tambah Petugas
DESKRIPSI USE CASE
Use Case Tambah Petugas
Tujuan Akhir Petugas menambah data petugas Kondisi Awal Admin telah login dengan sukses Kondisi Akhir Sukses Admin berhasil menambah petugas Kondisi Akhir Gagal Admin gagal menambah data petugas
Aktor Utama Admin
(54)
Pemicu - Include Case Login
Aliran Utama Aktor Sistem
1. Aktor menambahkan data petugas baru
2. Sistem melakukan pengecekan data petugas 3. Sistem menyimpan data
petugas baru
Alternatif 3.1Sistem gagal menyimpan penambahan data petugas 4.1 Sistem menampilkan pesan kesalahan
Gambar 3.9 Diagram Sekuen Tambah Petugas 5. Use Case Ubah Petugas
Use Case Ubah Petugas memperlihatkan bagaimana admin melakukan perubahan data petugas. Untuk lebih jelasnya penjelasan use case ubah petugas dapat dilihat pada diagram sekuen gambar 3.10.
Tabel 3.5 Deskripsi Use Case Ubah Petugas
(55)
Use Case Ubah Petugas
Tujuan Akhir Admin mengubah data petugas Kondisi Awal Admin telah login dengan sukses Kondisi Akhir Sukses Admin berhasil mengubah data petugas Kondisi Akhir Gagal Admin gagal mengubah data petugas
Aktor Utama Admin
Aktor Tambahan -
Pemicu - Include Case Login
Aliran Utama Aktor Sistem
1. Aktor mengubah data petugas
2. Sistem melakukan pengecekan data petugas 3. Sistem menyimpan data
petugas yang telah dirubah
Alternatif 3.1Sistem gagal menyimpan pengubahan data petugas 4.1 Sistem menampilkan pesan kesalahan
(56)
6. Use Case Hapus Petugas
Use Case Hapus Petugas memperlihatkan bagaimana admin melakukan penghapusan data petugas. Untuk lebih jelasnya penjelasan use case hapus petugas dapat dilihat pada diagram sekuen gambar 3.11.
Tabel 3.6 Deskripsi Use Case Hapus Petugas
DESKRIPSI USE CASE
Use Case Hapus Petugas
Tujuan Akhir Admin menghapus data petugas Kondisi Awal Admin telah login dengan sukses Kondisi Akhir Sukses Admin berhasil menghapus data petugas Kondisi Akhir Gagal Admin gagal menghapus data petugas
Aktor Utama Admin
Aktor Tambahan -
Pemicu - Include Case Login
Aliran Utama Aktor Sistem
1. Aktor menghapus data petugas
3. Aktor memilih ”Ya”
2. Sistem menampilkan pesan konfirmasi 4. Sistem menghapus data
petugas Alternatif 4.1 Sistem menampilkan pesan kesalahan
(57)
Gambar 3.11Diagram Sekuen Hapus Petugas
7. Use Case Kelola Pemilih
Use Case Pengolahan DataPemilih memperlihatkan bagaimana petugas melakukan pengolahan data pemilih. Untuk lebih jelasnya penjelasan use case pengolahan data pemilih dapat dilihat pada diagram sekuen gambar 3.12.
Tabel 3.7 Deskripsi Use Case kelola Pemilih
DESKRIPSI USE CASE
Use Case Kelola Pemilih
Tujuan Akhir Pengolahan data pemilih
Kondisi Awal Data pemilih mengalamai perubahan sehingga harus diolah sesuai kebutuhan
Kondisi Akhir Sukses Data pemilih berhasil di olah
Kondisi Akhir Gagal Data pemilih gagal diolah karena terdapat kesalahan Aktor Utama Petugas
Aktor Tambahan Admin
Pemicu - Include Case Login
(58)
1. Aktor mengolah data pemilih sesuai dengan kebutuhan.
2. Sistem menyimpan pengolahan data pemilih 3. Menampilkan data
pemilih yang diolah
Alternatif 2.1 Hasil pengolahan data pemilih gagal disimpan karena terjadi kesalahan
Gambar 3.12Diagram Sekuen Kelola Pemilih
8. Use Case Tambah Pemilih
Use Case Tambah Pemilih memperlihatkan bagaimana petugas melakukan penambahan data pemilih. Untuk lebih jelasnya penjelasan use case tambah data pemilih dapat dilihat pada diagram sekuen gambar 3.13.
Tabel 3.8 Deskripsi Use Case Tambah Pemiliih
DESKRIPSI USE CASE
Use Case Tambah Pemilih
(59)
Kondisi Awal Petugas telah login dengan sukses Kondisi Akhir Sukses Petugas berhasil menambah pemilih Kondisi Akhir Gagal Petugas gagal menambah data pemilih Aktor Utama Petugas
Aktor Tambahan Admin
Pemicu - Include Case Login
Aliran Utama Aktor Sistem
2. Aktor menambahkan data pemilih baru
4. Sistem melakukan pengecekan data pemilih 5. Sistem menyimpan data
pemilih baru
Alternatif 5.1Sistem gagal menyimpan penambahan data pemilih 4.1 Sistem menampilkan pesan kesalahan
(60)
9. Use Case Ubah Pemilih
Use Case Ubah Pemilih memperlihatkan bagaimana petugas melakukan perubahan data pemililh. Untuk lebih jelasnya penjelasan use case ubah pemilih dapat dilihat pada diagram sekuen gambar 3.14.
Tabel 3.9 Deskripsi Use Case Ubah Pemilih
DESKRIPSI USE CASE
Use Case Ubah Pemilih
Tujuan Akhir Petugas mengubah data pemilih Kondisi Awal Petugas telah login dengan sukses Kondisi Akhir Sukses Petugas berhasil mengubah data pemilih Kondisi Akhir Gagal Petugas gagal mengubah data pemilih Aktor Utama Petugas
Aktor Tambahan Admin
Pemicu - Include Case Login
Aliran Utama Aktor Sistem
1. Aktor mengubah data pemilih
2. Sistem melakukan pengecekan data pemilih 3. Sistem menyimpan data
pemilih yang telah dirubah
Alternatif 3.1Sistem gagal menyimpan pengubahan data pemilih 4.1 Sistem menampilkan pesan kesalahan
(61)
Gambar 3.14Diagram Sekuen Ubah Pemilih
10.Use Case Hapus Pemilih
Use Case Hapus Pemilih memperlihatkan bagaimana petugas melakukan penghapusan data pemilih. Untuk lebih jelasnya penjelasan use case hapus pemilih dapat dilihat pada diagram sekuen gambar 3.15.
Tabel 3.10 Deskripsi Use Case Hapus Pemilih
DESKRIPSI USE CASE
Use Case Hapus Pemilih
Tujuan Akhir Petugas menghapus data pemilih Kondisi Awal Petugas telah login dengan sukses
Kondisi Akhir Sukses Petugas berhasil menghapus data pemilih Kondisi Akhir Gagal Petugas gagal menghapus data pemilih Aktor Utama Petugas
Aktor Tambahan Admin
(62)
Include Case Login
Aliran Utama Aktor Sistem
2. Aktor menghapus data pemilih
5. Aktor memilih ”Ya”
3. Sistem menampilkan pesan konfirmasi 6. Sistem menghapus data
pemilih Alternatif 4.1 Sistem menampilkan pesan kesalahan
Gambar 3.15Diagram Sekuen Hapus Pemilih
11.Use Case Kelola Kandidat
Use Case Pengolahan Data kandidat memperlihatkan bagaimana petugas melakukan pengolahan data kandidat. Untuk lebih jelasnya penjelasan use case pengolahan data kandidat dapat dilihat pada diagram sekuen gambar 3.16.
Tabel 3.11 Deskripsi Use Case kelola Kandidat
DESKRIPSI USE CASE
Use Case Kelola Kandidat
Tujuan Akhir Pengolahan data kandidat
(63)
diolah sesuai kebutuhan Kondisi Akhir Sukses Data kandidat berhasil di olah
Kondisi Akhir Gagal Data kandidat gagal diolah karena terdapat kesalahan Aktor Utama Petugas
Aktor Tambahan Admin
Pemicu - Include Case Login
Aliran Utama Aktor Sistem
1. Aktor mengolah data kandidat sesuai dengan kebutuhan.
2. Sistem menyimpan pengolahan data kandidat 3. Menampilkan data
kandidat yang diolah Alternatif 2.1 Hasil pengolahan data kandidat gagal disimpan
karena terjadi kesalahan
(64)
12.Use Case Tambah Kandidat
Use Case Tambah Kandidat memperlihatkan bagaimana petugas melakukan penambahan data kandidat. Untuk lebih jelasnya penjelasan use case tambah data kandidat dapat dilihat pada diagram sekuen gambar 3.17.
Tabel 3.12 Deskripsi Use Case Tambah Kandidat
DESKRIPSI USE CASE
Use Case Tambah Kandidat
Tujuan Akhir Petugas menambah data kandidat Kondisi Awal Petugas telah login dengan sukses Kondisi Akhir Sukses Petugas berhasil menambah kandidat Kondisi Akhir Gagal Petugas gagal menambah data kandidat Aktor Utama Petugas
Aktor Tambahan Admin
Pemicu - Include Case Login
Aliran Utama Aktor Sistem
1. Aktor menambah kandidat baru
2. Sistem melakukan pengecekan terhadap data kandidat
3. Sistem menyimpan data kandidat baru
Alternatif 3.1Sistem gagal menyimpan penambahan data kandidat 4.1 Sistem menampilkan pesan kesalahan
(65)
Gambar 3.17Diagram Sekuen Tambah Kandidat
13.Use Case Ubah Kandidat
Use Case Ubah Kandidat memperlihatkan bagaimana petugas melakukan perubahan data kandidat. Untuk lebih jelasnya penjelasan use case ubah kandidat dapat dilihat pada diagram sekuen gambar 3.18.
Tabel 3.13 Deskripsi Use Case Ubah Kandidat
DESKRIPSI USE CASE
Use Case Ubah Kandidat
Tujuan Akhir Petugas mengubah data kandidat Kondisi Awal Petugas telah login dengan sukses Kondisi Akhir Sukses Petugas berhasil mengubah data kandidat Kondisi Akhir Gagal Petugas gagal mengubah data kandidat Aktor Utama Petugas
Aktor Tambahan Admin
(66)
Include Case Login
Aliran Utama Aktor Sistem
1. Aktor mengubah data kandidat
2. Sistem melakukan pengecekan data kandidat 3. Sistem menyimpan data
kandidat yang telah dirubah
Alternatif 3.1Sistem gagal menyimpan pengubahan data kandidat 4.1 Sistem menampilkan pesan kesalahan
Gambar 3.18 Diagram Sekuen Ubah Kandidat
14.Use Case Hapus Kandidat
Use Case Hapus Kandidat memperlihatkan bagaimana petugas melakukan penghapusan data kandidat. Untuk lebih jelasnya penjelasan use case hapus kandidat dapat dilihat pada diagram sekuen gambar 3.19.
Tabel 3.14 Deskripsi Use Case Hapus Kandidat
DESKRIPSI USE CASE
(67)
Tujuan Akhir Petugas menghapus data kandidat Kondisi Awal Petugas telah login dengan sukses
Kondisi Akhir Sukses Petugas berhasil menghapus data kandidat Kondisi Akhir Gagal Petugas gagal menghapus data kandidat Aktor Utama Petugas
Aktor Tambahan Admin
Pemicu - Include Case Login
Aliran Utama Aktor Sistem
1. Aktor menghapus data kandidat
3. Aktor memilih ”Ya”
2. Sistem menampilkan pesan konfirmasi 4. Sistem menghapus data
kandidat Alternatif 4.1 Sistem batal menghapus data kandidat
4.2 Sistem menampilkan pesan kesalahan
(68)
15.Use Case Kelola Jadwal Pemilihan
Use Case Pengolahan Jadwal Pemilihan memperlihatkan bagaimana petugas melakukan pengolahan data jadwal pemilihan. Untuk lebih jelasnya penjelasan use case pengolahan data jadwal pemilihan dapat dilihat pada diagram sekuen gambar 3.20.
Tabel 3.15 Deskripsi Use Case Kelola Jadwal Pemilihan
DESKRIPSI USE CASE
Use Case Kelola Jadwal Pemilihan
Tujuan Akhir Pengolahan data jadwal pemilihan
Kondisi Awal Data jadwal pemilihan mengalamai perubahan sehingga harus diolah sesuai kebutuhan
Kondisi Akhir Sukses Data jadwal pemilihan berhasil di olah
Kondisi Akhir Gagal Data jadwal pemilihan gagal diolah karena terdapat kesalahan
Aktor Utama Petugas Aktor Tambahan Admin
Pemicu - Include Case Login
Aliran Utama Aktor Sistem
1. Aktor mengolah data jadwal pemilihan sesuai dengan kebutuhan.
2. Sistem menyimpan pengolahan data jadwalpemilihan
(69)
pemilihan yang diolah Alternatif 2.1 Hasil pengolahan data jadwal pemilihan gagal
disimpan karena terjadi kesalahan
Gambar 3.20Diagram Sekuen Kelola Jadwal Pemilihan
16.Use Case Tambah Jadwal Pemilihan
Use Case Tambah Jadwal Pemilihan memperlihatkan bagaimana petugas melakukan penambahan data jadwal pemilihan. Untuk lebih jelasnya penjelasan use case tambah data jadwal pemilihan dapat dilihat pada diagram sekuen gambar 3.21.
Tabel 3.16 Deskripsi Use Case Tambah Jadwal Pemilihan
DESKRIPSI USE CASE
Use Case Tambah Jadwal Pemilihan
Tujuan Akhir Petugas menambah data jadwal pemilihan Kondisi Awal Petugas telah login dengan sukses
Kondisi Akhir Sukses Petugas berhasil menambah jadwal pemilihan Kondisi Akhir Gagal Petugas gagal menambah data jadwal pemilihan Aktor Utama Petugas
(70)
Aktor Tambahan Admin
Pemicu - Include Case Login Petugas
Aliran Utama Aktor Sistem
1. Aktor menambah jadwal pemilihan
baru 2. Sistem melakukan
pengecekan terhadap data jadwal pemilihan
3. Sistem menyimpan data jadwal pemilihan baru Alternatif 3.1Sistem gagal menyimpan penambahan data jadwal
pemilihan
4.1 Sistem menampilkan pesan kesalahan
Gambar 3.21Diagram Sekuen Tambah Jadwal Pemilihan
17.Use Case Kelola Ubah Jadwal Pemilihan
Use Case Ubah Jadwal Pemilihan memperlihatkan bagaimana petugas melakukan perubahan data jadwal pemilihan. Untuk lebih jelasnya penjelasan use case ubah jadwal pemilihan dapat dilihat pada diagram sekuen gambar 3.22.
(71)
Tabel 3.17 Deskripsi Use Case Ubah Jadwal Pemilihan
DESKRIPSI USE CASE
Use Case Ubah Jadwal Pemilihan
Tujuan Akhir Petugas mengubah data jadwal pemilihan Kondisi Awal Petugas telah login dengan sukses
Kondisi Akhir Sukses Petugas berhasil mengubah data jadwal pemilihan Kondisi Akhir Gagal Petugas gagal mengubah data jadwal pemilihan Aktor Utama Petugas
Aktor Tambahan Admin
Pemicu - Include Case Login Petugas
Aliran Utama Aktor Sistem
1. Aktor mengubah data jadwal
pemilihan 2. Sistem melakukan pengecekan data jadwal pemilihan
3. Sistem menyimpan data jadwal pemilihan yang telah dirubah
Alternatif 3.1Sistem gagal menyimpan pengubahan data jadwal pemilihan
(72)
Gambar 3.22Diagram Sekuen Ubah Jadwal Pemilihan
18.Use Case Hapus Jadwal Pemilihan
Use Case Hapus Jadwal Pemilihan memperlihatkan bagaimana petugas melakukan penghapusan data jadwal pemilihan. Untuk lebih jelasnya penjelasan use case hapus jadwal pemilihan dapat dilihat pada diagram sekuen gambar 3.23.
Tabel 3.18 Deskripsi Use Case Hapus Jadwal Pemilihan
DESKRIPSI USE CASE
Use Case Hapus Jadwal Pemilihan
Tujuan Akhir Petugas menghapus data jadwal pemilihan Kondisi Awal Petugas telah login dengan sukses
Kondisi Akhir Sukses Petugas berhasil menghapus data jadwal pemilihan Kondisi Akhir Gagal Petugas gagal menghapus data jadwal pemilihan Aktor Utama Petugas
Aktor Tambahan Admin
Pemicu - Include Case Login Petugas
(73)
1. Aktor menghapus data jadwal pemilihan
3. Aktor memilih ”Ya”
2. Sistem menampilkan pesan konfirmasi 4. Sistem menghapus data
jadwal pemilihan Alternatif 4.1 Sistem batal menghapus data jadwal pemilihan
4.2 Sistem menampilkan pesan kesalahan
Gambar 3.23Diagram Sekuen Hapus Jadwal Pemilihan 19.Use Case Voting
Use Case Voting memperlihatkan bagaimana pemilih melakukan proses pemilihan. Untuk lebih jelasnya penjelasan use case voting dapat dilihat pada diagram sekuen gambar 3.24.
Tabel 3.19 Deskripsi Use Case Pemilihan
DESKRIPSI USE CASE
Use Case Voting
Tujuan Akhir Pemilih sukses melakukan pemilihan Kondisi Awal pemilih telah login dengan sukses Kondisi Akhir Sukses Petugas berhasil menyalurkan suaranya
(74)
Kondisi Akhir Gagal Pemilih gagal menyalurkan suara Aktor Utama Pemilih
Aktor Tambahan -
Pemicu - Include Case Login Pemilih
Aliran Utama Aktor Sistem
1. Aktor menyalurkan suara.
2. Sistem melakukan pengecekan terhadap data pemilihan
3. Sistem meng-update data pemilih yang sudah memilih
4. Sistem menyimpan data pemilihan
Alternatif Jika pemilih sudah pernah memilih sebelumnya: 3.1Sistem menampilkan pesan bahwa pemilih sudah
menyalurkan suaranya
Jika system gagal menyimpan data pemilihan 4.1Sistem gagal menyimpan data pemilihan 5.1 Sistem menampilkan pesan kesalahan
(75)
20.Use Case Lihat Hasil Pemilihan
Use Case Lihat Hasil Pemilihan memperlihatkan bagaimana aktor melihat pemilihan. Untuk lebih jelasnya penjelasan use case lihat hasil pemilihan dapat dilihat pada diagram sekuen gambar 3.25.
Tabel 3.20 Deskripsi Use Case Lihat Hasil Pemilihan
DESKRIPSI USE CASE
Use Case Lihat Hasil Pemilihan
Tujuan Akhir Petugas melihat hasil dari pemilihan Kondisi Awal Petugas telah login dengan sukses Kondisi Akhir Sukses Petugas melihat hasil dari pemilihan Kondisi Akhir Gagal Petugas gagal melihat hasil pemilihan Aktor Utama Petugas
Aktor Tambahan -
Pemicu - Include Case Login Petugas
Aliran Utama Aktor Sistem
1. Aktor melihat hasil pemilihan
2. Sistem menampilkan hasil pemilihan
(76)
Gambar 3.25 Diagram Sekuen Lihat Hasil Pemilihan 3.1.4.3 Activity Diagram
Kebutuhan alur kerja (workflow) sebuah proses bisnis dan urutan aktivitas dalam suatu proses dimodelkan dengan activity diagram. Diagram ini sangat mirip dengan flowchart karena kita dapat memodelkan sebuah alur kerja dari satu aktivitas ke aktivitas lainnya atau dari satu aktivitas ke dalam keadaan sesaat (state).
3.1.4.3.1 Login Petugas
Menggambarkan aliran autentifikasi petugas dan admin pada saat akan menggunakan Aplikasi Sistem Voting. Diagram aktivitas login dapat dilihat pada gambar 3.26:
(77)
Gambar 3.26 Activity Diagram Login Petugas 3.1.4.3.2 Manajemen Petugas
1. Activity Diagram Tambah Petugas
Menggambarkan aliran aktivitas admin pada saat penambahan data petugas. Diagram aktivitas tambah petugas dapat dilihat pada gambar 3.27:
(78)
2. Activity Diagram Ubah Petugas
Menggambarkan aliran aktivitas admin pada saat mengubah data petugas. Diagram aktivitas ubah petugas dapat dilihat pada gambar 3.28:
Gambar 3.28 Activity Diagra Ubah Petugas 3. Activity Diagram Hapus Petugas
Menggambarkan aliran aktivitas admin pada saat menghapus data petugas. Diagram aktivitas hapus petugas dapat dilihat pada gambar 3.29:
(79)
3.1.4.3.3 Manajemen Pemilih
1. Activity Diagram Tambah Pemilih
Menggambarkan aliran aktivitas petugas atau admin pada saat penambahan data pemilih. Diagram aktivitas tambah pemilih dapat dilihat pada gambar 3.30:
Gambar 3.30 Activity Diagram Tambah Pemilih 2. Activity Diagram Ubah Pemilih
Menggambarkan aliran aktivitas petugas atau admin pada saat mengubah data pemilih. Diagram aktivitas ubah pemilih dapat dilihat pada gambar 3.31:
(80)
Gambar 3.31 Activity Diagram Ubah Pemilih 3. Activity Diagram Hapus Pemilih
Menggambarkan aliran aktivitas petugas atau admin pada saat menghapus data pemilih. Diagram aktivitas tambah pemilih dapat dilihat pada gambar 3.32:
(81)
3.1.4.3.4 Manajemen Kandidat
1. Activity Diagram Tambah Kandidat
Menggambarkan aliran aktivitas petugas atau admin pada saat menambah data kandidat. Diagram aktivitas tambah kandidat dapat dilihat pada gambar 3.33:
Gambar 3.33 Activity Diagram Tambah Kandidat 2. Activity Diagram Ubah Kandidat
Menggambarkan aliran aktivitas petugas atau admin pada saat mengubah data kandidat. Diagram aktivitas ubah kandidat dapat dilihat pada gambar 3.34:
(82)
3. Activity Diagram Hapus Kandidat
Menggambarkan aliran aktivitas petugas atau admin pada saat menghapus data kandidat. Diagram aktivitas hapus kandidat dapat dilihat pada gambar 3.35:
Gambar 3.35 Activity Diagram Hapus Kandidat 3.1.4.3.5 Jadwal Pemilihan
1. Activity Diagram Tambah Jadwal Pemilihan
Menggambarkan aliran aktivitas petugas atau admin pada saat menambah data jadwal pemilihan. Diagram tambah aktivitas jadwal pemilihan dapat dilihat pada gambar 3.36:
(83)
2. Activity Diagram Ubah Jadwal Pemilihan
Menggambarkan aliran aktivitas petugas atau admin pada saat mengubah data jadwal pemilihan. Diagram aktivitas ubah jadwal pemilihan dapat dilihat pada gambar 3.37:
Gambar 3.37 Activity Diagram Ubah Jadwal Pemilihan 3. Activity Diagram Hapus Jadwal Pemilihan
Menggambarkan aliran aktivitas petugas atau admin pada saat menghapus data jadwal pemilihan. Diagram aktivitas hapus jadwal pemilihan dapat dilihat pada gambar 3.38:
(84)
3.1.4.3.6 Pemilihan
Menggambarkan aliran aktivitas pemilih saat proses pemilihan. Diagram aktivitas pemilihan dapat dilihat pada gambar 3.39:
Gambar 3.39 Activity Diagram Pemilihan 3.1.4.3.7 Hasil Pemilihan
1. Activity Diagram Lihat Hasil Pemilihan
Menggambarkan aliran aktivitas user pada saat melihat hasil pemilihan. Diagram aktivitas lihat hasil pemilihan dapat dilihat pada gambar 3.40:
(85)
Gambar 3.40 Activity Diagram Lihat Hasil Pemilihan 3.1.4.4 Diagram Kelas
Diagram kelas adalah bagian dari entity relationship diagram (ERD) yang digunakan untuk pemodelan basis data. Perbedaannya hanya ERD fokus pada data sedangkan class diagram tidak hanya fokus terhadap data, tetapi juga pada pemodelan sistem.
Diagram kelas pada aplikasi e-voting yang akan dibangun dapat dilihat pada gambar 3.41
(86)
3.1.5 Analisis Kebutuhan Non Fungsional
Analisis kebutuhan non-fungsional merupakan analisis yang dibutuhkan untuk menentukan spesifikasi kebutuhan sistem [1]. Spesifikasi ini juga meliputi elemen-elemen atau komponen-komponen apa saja yang dibutuhkan untuk sistem yang akan dibangun sampai dengan sistem tersebut diimplementasikan. Analisis kebutuhan ini juga menentukan spesifikasi masukan yang diperlukan sistem, keluaran yang akan dihasilkan sistem dan proses yang dibutuhkan untuk mengolah masukan sehingga menghasilkan suatu keluaran yang diinginkan. Kebutuhan non-fungsional terbagi menjadi beberapa analisis yaitu analisis perangkat keras, perangkat lunak dan analisis pengguna.
3.1.5.1Analisis Perangkat Keras
Spesifikasi perangkat keras (hardware) yang dibutuhkan untuk menjalankan aplikasi e-voting ini adalah sebagai beikut:
Komputer Server:
1. Prosesor dengan kecepatan minimal 1,66 GHz. 2. Memory dengan kapasitas minimal 512 MB. 3. Harddisk dengan kapasitas minimal 20 GB. 4. Monitor.
5. Keyboard dan Mouse. 6. Kabel UTP
Komputer Client:
1. Prosesor dengan kecepatan minimal 1 GHz. 2. Memory dengan kapasitas minimal 256 MB.
(87)
3. Harddisk dengan kapasitas minimal 10 GB. 4. Monitor.
5. Keyboard dan mouse. 6. Kabel UTP.
3.1.5.2Analisis perangkat Lunak
Spesifikasi perangkat lunak (software) yang digunakan untuk membangun aplikasi e-voting ini adalah sebagai berikut:
a. Komputer server:
1. Sistem operasi Microsoft Windows XP SP 2 2. JDK (Java Development Kit) 1.6
3. Netbeans IDE 6.5 4. MySQL Server 5.0. b. Komputer Client
1. Windows XP Professional SP2 + 2. JDK (Java Development Kit) 1.6
3.2 Perancangan Sistem
Dalam pembuatan suatu sistem informasi langkah yang perlu dilakukan diantaranya adalah perancangan sistem. Berikut ini akan dibahas bagaimana perancangan dari aplikasi yang akan dibangun dengan menentukan kebutuhan apa saja yang diperlukan dalam pembangunan suatu sistem.
(88)
3.2.1 Perancangan Sistem Secara Umum
Perancangan akan dimulai setelah tahap analisis terhadap sistem selesai dilakukan. Perancangan dapat didefinisikan sebagai penggambaran, perencanaan dan pembuatan sketsa atau pengaturan dari beberapa elemen yang terpisah kedalam satu kesatuan yang utuh dan berfungsi [1]. Tahapan ini menyangkut mengkonfirmasi dari komponen-komponen perangkat lunak dan perangkat keras dari suatu sistem sehingga setelah instalasi dari sistem akan benar-benar memuaskan dari rancang bangun yang telah ditetapkan pada akhir tahap analisis sistem.
3.2.2 Perancangan Basis Data
Perancangan basis data merupakan tahapan untuk memetakan model konseptual ke model basis data yang akan dipakai. Perancangan basis data terbagi menjadi dua yaitu skema relasi dan perancangan struktur tabel.
3.2.2.1 Skema Relasi
Skema relasi merupakan rangkaian hubungan antara dua tabel atau lebih pada sistem database[3]. Gambar 3.48 berikut ini merupakan penjelasan rangkaian database pada aplikasi e-voting yang akan dibangun :
(1)
140
3. Aplikasi e-voting yang dibuat dapat dipelajari ?
Tabel 4.12 Tabel Skala likert Pertanyaan 3 No Keterangan Responden Persentase
1 Sangat setuju 3 37.5%
2 Setuju 3 37.5%
3 Kurang setuju 2 25%
4 Tidak setuju 0 0
4. Aplikasi e-voting yang dibuat mudah digunakan ? Tabel 4.13 Tabel Skala likert Pertanyaan 4 No Keterangan Responden Persentase
1 Sangat setuju 4 50%
2 Setuju 3 37.5%
3 Kurang setuju 1 12.5%
4 Tidak setuju 0 0
5. Tampilan Aplikasi menarik ?
Tabel 4.14 Tabel Skala likert Pertanyaan 5 No Keterangan Responden Persentase
1 Sangat setuju 2 25%
2 Setuju 4 50%
3 Kurang setuju 1 12.5%
(2)
141
6. Aplikasi e-voting yang dibuat tidak membantu petugas pemilihan ? Tabel 4.15 Tabel Skala likert Pertanyaan 6
No Keterangan Responden Persentase
1 Sangat setuju 0 0%
2 Setuju 0 0%
3 Kurang setuju 1 33.33%
4 Tidak setuju 2 66.67%
7. Data yang dihasilkan tidak akurat dan valid?
Tabel 4.16 Tabel Skala likert Pertanyaan 7 No Keterangan Responden Persentase
1 Sangat setuju 0 0%
2 Setuju 0 0%
3 Kurang setuju 3 37.5%
4 Tidak setuju 5 62.5%
8. Aplikasi e-voting yang dibuat tidak dapat dipelajari ? Tabel 4.17 Tabel Skala likert Pertanyaan 8 No Keterangan Responden Persentase
1 Sangat setuju 0 0%
2 Setuju 2 25%
3 Kurang setuju 3 37.5%
(3)
142
9. Aplikasi e-voting yang dibuat sulit digunakan ?
Tabel 4.18 Tabel Skala likert Pertanyaan 9 No Keterangan Responden Persentase
1 Sangat setuju 0 0%
2 Setuju 1 12.5%
3 Kurang setuju 3 37.5%
4 Tidak setuju 4 50%
10.Tampilan Aplikasi tidak menarik ?
Tabel 4.19 Tabel Skala likert Pertanyaan 10
No Keterangan Responden Persentase
1 Sangat setuju 1 12.5%
2 Setuju 1 12.5%
3 Kurang setuju 4 50%
4 Tidak setuju 2 25%
4.2.2.1 Kesimpulan Hasil Pengujian Beta Kesimpulan yang dapat ditarik dari hasil pengujian beta adalah :
1. Aplikasi dapat membantu petugas pemilihan dalam melakukan tugasnya di sebuah pemilihan.
2. Aplikasi cukup menarik, mudah dimengerti dan mudah digunakan baik dari sisi pemilih maupun petugas.
3. Informasi yang dihasilkan cukup akurat dan cukup valid, sehingga dapat membantu proses perhitungan hasil pemilihan.
(4)
143
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Kesimpulan yang dapat ditarik setelah melakukan analisis dan pengujian terhadap sistem yang dibangun adalah :
1. Aplikasi yang dibuat dapat memberikan kemudahan bagi petugas untuk mengkalkulasi jumlah pemilih yang ikut serta dalam pemilihan karena tidak lagi membuka file atau berkas-berkas mengenai pemilih tersebut 2. Aplikasi ini yang dibuat dapat memberikan kemudahan bagi petugas
dalam melakukan penghitungan suara secara cepat karena setelah proses pemilihan berakhir dapat diketahui hasilnya.
5.2 Saran
Berdasarkan kesimpulan di atas, maka saran yang diharapkan yaitu : 1. Dilakukan suatu pengembangan Aplikasi e-voting yang berbasis
client-server ini sehingga keberadaannya bisa lebih user friendly.
2. Perlu diperhatikan masalah spesifikasi komputer dari client agar aplikasi dapat berjalan dengan baik.
(5)
144
DAFTAR PUSTAKA
[1] Handout program studi teknik informatika STEI ITB, Rekayasa Perangkat Lunak, 2006.
[2] Information system, foundation of e-bussines, steven alter, Prentice Hall. [3] Rakhmad Azhari, e-Voting, Universitas Indonesia:2005.
[4] Jason Kitcat, Government and ICT Standards:An Electronic Voting Case Study, Troubador Publishing Ltd,Brighton:2004.
[5] Suryabrata, Sumadi, Metodologi Penelitian, Rajawali Pers, Jakarta: 2000 [6] Aviel D.Rubin, Dan S. Wallach, Tadoshi Kohno, Adam Stubbfield,
Analysis of an Electronic Voting System, Technical Report, IEEE Symposium on Security and Privacy:2004.
[7] James Rumbaugh, Ivar Jacobson, and Grady Booch, The Unified Modeling Language Reference Manual, Addison-Wesley, 1999.
[8] Grady Booch, James Rumbaugh, and Ivar Jacobson, The Unified Modeling Language User Guide, Addison-Wesley, 1999.
[9] Ivar Jacobson, Grady Booch, and James Rumbaugh, The Unified Software Development Process, Addison-Wesley, 1999.
[10] Robert A. Maksimchuk and Eric J. Naiburg, UML For Mere Mortals, Addison-Wesley, 2004
[11] (http://www.omg.org)
[12] G.Srihayati dkk, B.Herry Suharto, M. Susilo Wijono, Pemograman Swing Java dengan NetBeans 5, Andi, Yogyakarta, 2007.
[13] Munawar, Pemodelan Visual dengan UML, Graha Ilmu, Yogyakarta, 2005.
(6)
RIWAYAT HIDUP