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
LEMBAR PENGESAHAN
APLIKASI E-VOTING BERBASIS CLIENT-SERVER
(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
(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
Bandung, Februari 2009
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)
Materaii
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,
ii
ABSTRACT
E-VOTING APPLICATIONS BASED ON CLIENT-SERVER
(Examples case the Chairman of General Elections in
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
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
iv
dari ketidakberdayaan. Namun, kami mencoba dengan ilmu yang sedikit ini
berusaha agar penulisan skripsi memenuhi persyaratan baik dalam bentuk
penulisan maupun isinya. Oleh karena itu kritik, arahan, serta saran kami
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
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
1 BAB I PENDAHULUAN
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,
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
3
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.
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
5
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
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
7
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
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
9
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
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
11
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
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.
13
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
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
15
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 :
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
17
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
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
19
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
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
21
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
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
23
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
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.
25
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
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)
27
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
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
29
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
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
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.
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
33
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.
[image:42.612.214.438.371.627.2]4. Petugas akan mencatat data pemilih baru ke dalam arsip pemilih.
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.
35
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
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.
37
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
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
39
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 :
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
41
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
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
43
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
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
45
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
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
47
6. Use Case Hapus Petugas
Use Case Hapus Petugas memperlihatkan bagaimana admin melakukan
penghapusan data petugas. Untuk lebih jelasnya penjelasan use case hapus
[image:56.612.122.514.230.655.2]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
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
49
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
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
51
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
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
53
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
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
55
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
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
57
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
[image:66.612.126.513.109.486.2]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
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
[image:67.612.125.516.102.601.2]Alternatif 4.1 Sistem batal menghapus data kandidat 4.2 Sistem menampilkan pesan kesalahan
59
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
[image:68.612.124.513.257.686.2]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
pemilihan yang diolah
[image:69.612.128.501.112.315.2]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
61
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
[image:70.612.127.514.105.519.2]4.1 Si