Artikel Ilmiah
Peneliti :
Helmi Adhi Arfianto (672008076)
T. Arie Setiawan Prasida, S.T., M.Cs.
Indrastanti Ratna Widiasari, M.T.
Artikel Ilmiah
Diajukan kepada
Fakultas Teknologi Informasi
untuk memperoleh Gelar Sarjana Komputer
Oleh:
Helmi Adhi Arfianto
NIM: 672008076
Abstract
Abstrak
Hasil perhitungan suara dapat diketahui secara cepat dengan quick count.
Berdasarkan wawancara dengan pengurus Partai Demokrat di Kota Salatiga, diketahui
bahwa masalah yang dihadapi adalah quick count yang digunakan dalam proses
menampilkan dan memasukkan data hasil perhitungan surat suara yang masuk masih
menggunakan cara manual. Admin harus memasukkan satu persatu data yang dikirimkan
oleh relawan ke dalam aplikasi spreadsheet, sehingga menyebabkan kesalahan input data
dan membutuhkan waktu yang lebih lama. Sistem terintegarsi antara web dan mobile
adalah salah satu cara yang dapat digunakan untuk membantu dalam proses perhitungan
surat suara. Berdasarkan masalah yang ada perlu kiranya dibangun sebuah sistem web
dan mobile perhitungan cepat (quick count) pada pemilihan umum. Dengan adanya sistem
ini, dapat membantu dalam proses memasukkan data dan menampilkan hasil perhitungan
perolehan surat suara agar lebih sistematis dan menghindari kesalahan dalam proses
memasukkan data.
Kata Kunci: Quick Count, Web, Mobile, Sistem Terintegarasi
1)
Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas
Kristen Satya Wacana
2, 3)
Staf Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana
1. Pendahuluan
1
2. Tinjauan Pustaka
2
perhitungan yang dilakukan oleh KPU dengan Lingkaran Survei Indonesia (LSI)
[4].
Tabel 1 Perbandingan Perhitungan KPU/KPUD dengan LSI
KPU/KPUD LSI
Jumlah TPS Semua TPS TPS yang dipilih secara acak
Relawan Relawan KPU/KPUD Relawan
Parameter Berdasarkan rekapan data yang telah Berdasarkan data yang diinput oleh
dihitung dari TPS, lalu Kelurahan, relawan yang dikirim ke server pusat.
Kecamatan, Kabupaten, Propinsi dan
Pusat
Waktu Beberapa hari/minggu 2-3 jam setelah perhitungan suara
selesai
Tahapan Perhitungan TPS yang akan diambil sebagai sampel data [2] :
1. Menentukan jumlah sampel suara (n)
(1)
Teknologi pertukaran data yang digunakan pada sistem ini adalah web
service. Web service adalah sebuah sistem software yang dirancang untuk
mendukung interoperabilitas interaksi antara mesin ke mesin pada sebuah
network. Web service menyediakan standar komunikasi diantara berbagai aplikasi
software yang berbeda-beda dan dapat dijalankan di berbagai platform. Web
service memiliki interface yang dideskripsikan pada format mesin WSDL. Sistem
lain yang berinteraksi dengan web service dilakukan melalui antar muka
menggunakan pesan seperti pada JSON. Pada umumnya pesan ini memanfaatkan
HTTP dan JSON yang merupakan salah satu standar web [5]. Pada saat ini
semakin banyak penelitian dan pengembangan yang dilakukan untuk
menyempurnakan web service baik dari sisi konsep ataupun teknis. Web service
mencoba membuat suatu lingkungan dimana jaringan apapun yang dipunyai
3
client, dapat berjalan pada device jenis apapun, dapat menemukan suatu service
pada jaringan dan menggunakan service tersebut seolah-olah service tersebut
sudah berada pada local service. Kemampuan web service untuk dapat
berinteraksi dengan berbagai device dan software apapun, web service ini cocok
digunakan dalam pembuatan aplikasi untuk menampilkan peta pada mobile
Service [6].
JSON singkatan dari Java Script Object Notation [7] yaitu format
pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah
diterjemahkan dan dibuat (generate) oleh komputer. Sintaks JSON adalah subset
dari sintaks Java Script. JSON terbuat dari dua struktur diantaranya terdiri dari
kumpulan pasangan nama atau nilai. Dalam bahasa lain dinyatakan sebagai objek
(object), rekaman (record), struktur (struct), kamus (dictionary), tabel hash (hash
table), daftar berkunci (keyed list), atauassociative array. Selain itu JSON di
definisikan sebagai larik (array), vektor (vector), daftar (list), atau urutan
(sequence). Pada dasarnya, semua bahasa pemrograman modern mendukung
struktur data ini dalam bentuk yang sama maupun berlainan [7].
4
dari sistem yang dibangun misalnya perancangan arsitektur quick count.
Perancangan database yaitu merancang tabel-tabel database yang berfungsi untuk
menyimpan data-data yang dibutuhkan dalam aplikasi quick count pada pemilu,
perancangan antarmuka, yaitu merancang antarmuka yang berfungsi sebagai
penghubung interaksi antara user dengan sistem, berupa tampilan interface
aplikasi quick count yang dibuat yaitu aplikasi untuk relawan, masyarakat dan
admin; Tahap ketiga, perancangan aplikasi atau program yaitu merancang aplikasi
atau program sesuai kebutuhan sistem berdasarkan perancangan sistem yang telah
dilakukan dengan metode prototype; Tahap keempat: implementasi dan pengujian
sistem, serta analisis hasil pengujian, yaitu mengimplementasikan aplikasi yang
sudah dibuat kemudian dilakukan pengujian, selanjutnya melakukan analisis
untuk melihat apakah aplikasi yang telah dibuat sudah sesuai dengan yang
diharapkan atau tidak ada error, jika tidak sesuai maka dilakukan perbaikan; dan
tahap kelima, penulisan laporan hasil penelitian, yaitu mendokumentasikan proses
penelitian yang sudah dilakukan dari tahap awal hingga akhir ke dalam tulisan,
yang nantinya akan menjadi laporan hasil penelitian.
Metode perancangan sistem dilakukan dengan menggunakan metodologi
pengembangan perangkat lunak prototype model [9]. Pada proses implementasi
dihasilkan beberapa prototype. Diagram prototype model ditunjukkan pada
Gambar 2.
5
Terdapat tiga pengguna sistem untuk aplikasi quick count ini, pertama
adalah relawan dan masyarakat sebagai client dan ketiga adalah admin sebagai
server. Relawan dan masyarakat dapat melakukan aktivitas sebagai berikut: 1)
Relawan dapat melakukan login sebagai client pada aplikasi quick count ini; 2)
Relawan dapat melakukan input data hasil perolehan perhitungan surat suara dari
TPS relawan ditugaskan; 4) Relawan dapat melihat dan mengubah data yang
sudah dimasukkan; 3) Masyarakat dapat melihat hasil perhitungan surat suara
melaluiweb dan HP android.
Admin dapat melakukan aktivitas sebagai berikut: 1) Admin dapat mengelola
data relawan; 2) Admin dapat mengelola data TPS; 3) Admin dapat mengelola data
calon; 4) Admin dapat mengelola data perhitungan TPS sampel. Masukan yang
dibutuhkan oleh seorang admin untuk memenuhi kebutuhan sistem ini adalah: 1)
Data calon; 2) Data TPS; 3) Data Relawan; 4) Data Perhitungan TPS Sampel.
Sistem dalam prosedur penggunaan aplikasi quick count pemilu sebagai
berikut: 1) HP android relawan dan masyarakat terpasang aplikasi quick count ini;
2) GPS HP android relawan harus dalam posisi hidup 3) Relawan login dengan
akun yang sudah dibuat oleh admin; 4) Relawan yang sudah berhasil login dapat
melihat tiga menu utama antara lain : history input, input perolehan, dan logout;
4) Relawan yang sudah melakukan login dapat melakukan input data hasil
perhitungan perolehan surat suara dengan mengisikan pada text input jumlah
suara, suara sah, suara tidak sah, suara tidak terpakai dan perolehan dari setiap
kandidat pasangan kemudian menekan tombol simpan; 6) Relawan dapat melihat
dan mengubah data yang sudah dimasukkan melalui menu history input; 7)
Relawan dapat keluar dari aplikasi quick count ini dengan menekan tombol
logout; 8) Masyarakat dapat melihat hasil perolehan suara secara real time melalui
HP android dengan memilih tombol menu masyarakat pada awal halaman menu
utama.
Aplikasi quick count berjalan pada perangkat mobile berbasis android. Data
yang ditampilkan oleh aplikasi tersebut, diperoleh dari web quick count. Aplikasi
quick count juga bertugas untuk menerima input dari pengguna, dan diteruskan ke
web quick count, untuk disimpan di dalam database.
Rancangan arsitektur sistem perhitungan hasil perolehan surat suara cepat
(quick count) merupakan aplikasi client server. Android mobile sebagai klien
digunakan untuk berkomunikasi dengan server, web sebagai server bertugas
berkomunikasi dengan database. Android mobile request data ke server dengan
dukungan koneksi internet melalui protokol HTTP yang dihubungkan
menggunakan web server (Apache). Fungsi web server menangani logika bisnis
serta sebagai sarana mengakses pusat data selama proses sistem berjalan. Web
Server melakukan request ke database sesuai dengan request dari klien, database
memberikan response data ke web server. Web server memberikan response
kepada android dalam bentuk format data JSON. Proses tersebut ditunjukkan
pada Gambar 3.
6
Gambar 3 Rancangan Arsitektur Sistem
Perancangan proses pada penelitian ini dilakukan menggunakan UML
(Unified Modeling Language) dengan beberapa proses. Use case diagram
menggambarkan fungsionalitas yang diharapkan dari sebuah sistem, yang
menjelaskan keseluruhan kerja sistem secara garis besar dengan
merepresentasikan interaksi antara aktor dengan sistem, serta memberikan
gambaran fungsi-fungsi yang diberikan sistem kepada user.
include extend
Hasil Pemilu
Admin
include
Mengelola Data Calon Masyarakat
7
Relaw an Sistem Database
tidak
ada?
koordinat user
tidak benar?
input data ya
Kirim Permintaan
Kirim Permintaan
Buka Database
8
dikontrol oleh PerolehanEditActivityController. Apabila sudah dilakukan
pengeditan data maka data akan disimpan ke dalam database dan data berhasil
diperbarui.
Class diagram menggambarkan struktur obyek, deskripsi obyek, class,
package, serta relasi satu dengan yang lain. Class diagram digambarkan dalam
beberapa kelas serta paket yang ada dalam sistem.
9
Gambar 8 Total Perolehan
Kode Program 1 Total Perolehan
1. public function total(){
2. $data = array();
3. $str = "SELECT *,
4. (select sum(perolehan_pasangan_jumlah) from perolehan_pasangan
5. join perolehan on perolehan.id_perolehan=perolehan_pasangan.id_perolehan
6. join relawan on relawan.id_relawan=perolehan.id_relawan
7. where pasangan.id_pasangan=perolehan_pasangan.id_pasangan
8. and perolehan_status = 1
9. and relawan_status = 1
10. ) as jumlah
11. from pasangan where pasangan_status = 1
12. order by pasangan_no_urut asc";
13. $q_sum = $this->db->query($str);
14. $data['perolehan'] = $q_sum;
15. $this->load->view('perolehan_total',$data);}
10
Kode Program 2 Daftar Data Pasangan
1. <?php if ($pasangan->num_rows() == 0){?>
2. <tr>
3. <td colspan="10">Maaf, belum ada data pasangan</td>
4. </tr>
5. <?php
6. }else{
7. $odd_even = 'odd';
8. foreach ($pasangan->result() as $row){
9. $no++;?>
11
$sampling_error, $jumlah_pemilih, dan $jumlah_tps. Baris 3 menjelaskan array
nilai tingkat kepercayaan 1.28'=>'80%', '1.645'=>'90%', '1.96'=>'95%',
'2.33'=>'98%', '2.58'=>'99% disimpan ke dalam variabel data yang berisi array
$arKepercayaan. Perhitungan dilakukan ketika form validation sama dengan true,
dicetak dan dikirm melalui method post, variabel $rekomendasi_tps berfungsi
menyimpan perhitungan TPS sampel ke dalam variabel $data array hasil.
Halaman Input Perolehan aplikasi android pada Gambar 11 menampilkan
form untuk memasukkan data Jumlah Suara, Suara Tidak Terpakai, Suara Sah,
Suara Tidak Sah, Perolehan Pasangan, dan berisi keterangan jarak lokasi relawan
dengan TPS dalam satuan kilometer. Pada Gambar 12 merupakan halaman history
input data menampilkan hasil perhitungan perolehan suara yang sudah
dimasukkan oleh relawan sebelumnya.
12
Gambar 12 History Input Perolehan
Pada Gambar 13 merupakan halaman edit history perolehan data didalam
aplikasi android, berfungsi mengubah data perolehan suara yang sudah
dimasukkan oleh relawan sebelumnya. Halaman menu masyarakat pada Gambar
14 menampilkan hasil total perhitungan perolehan surat suara dari setiap pasangan
dalam bentuk tabel.
13
Kode program 5 berfungsi sebagai proses melihat hasil perhitungan surat
suara. Baris 1-2 merupakan inisialisasi JSONObject perolehan ke dalam Array.
Baris 3-7 merupakan isi array yaitu nama, no_urut, koalisi, gambar, dan jumlah
dengan index 0-4. Baris 8 mengirim data ke server.
Pengujian aplikasi dilakukan untuk menguji fungsi-fungsi aplikasi hasil
implementasi arsitektur dengan melihat use case. Pengujian aplikasi
menggunakan teknik black box, yaitu pengujian fungsional tanpa melihat alur
eksekusi program, namun cukup dengan memperhatikan apakah setiap fungsi
sudah berjalan dengan baik sesuai dengan yang diharapkan. Hal yang diuji dan
hasil pengujian dapat dilihat pada Tabel 4.
Tabel 4 Hasil Pengujian Fungsionalitas Program Menggunakan Black Box
No Point Validasi Input Data Input Hasil Uji Status
Uji
1. Lihat total Data total Data total Sistem menampilkan Valid
perolehan perolehan perolehan total perolehan suara
2. Lihat Data perolehan Data Sistem menampilkan Valid
perolehan perolehan perolehan suara dari
setiap TPS
3. Manajemen Data TPS Data TPS Sistem menampilkan Valid
TPS data TPS beserta fitur
untuk insert, edit, delete
4. Lihat data Data relawan Data relawan Sistem menampilkan Valid
relawan data relawan beserta
fitur untuk insert, edit,
delete
5. Lihat data Data calon Data calon Sistem menampilkan Valid
calon data calon beserta fitur
untuk insert, edit, delete
6. Quick count Data sampel Data sampel Sistem menampilkan Valid
TPS yang dijadikan
sampel
7. Login Verifikasi Username Sistem akan login Valid
username dan dan apabila username dan
password password password terdapat
dalam database
10. Manajemen Data perolehan Data Sistem menampilkan Valid
input data perolehan form input data
perolehan perolehan suara
11. Manajemen Data perolehan Data Sistem menampilkan Valid
edit data perolehan form edit perolehan
perolehan
12. Masyarakat Data total Data total Sistem menampilkan Valid
perolehan perolehan data total perolehan
Pengujian kedua adalah pengujian oleh admin memiliki pengalaman
bertugas dalam memasukkan dan menampilkan data hasil perhitungan perolehan
suarat suara. Berdasarkan wawancara mengenai aplikasi sistem perhitungan surat
suara cepat (quick count) pada pemilihan umum menyatakan bahwa dengan
aplikasi ini perhitungan hasil perolehan surat suara lebih mudah kareana data yang
masuk langsung terhitung secara otomatis. Aplikasi ini dapat melihat data calon
14
lebih mudah dengan mengetahui detail info seperti gambar calon, nama, no urut,
dan koalisi.
Pengujian ketiga adalah pengujian oleh responden. Responden terdiri dari
30 orang, memiliki pengalaman bertugas untuk menghitung suara di TPS, dan
menggunakan atau pernah menggunakan perangkat android untuk berkomunikasi.
Kepada para responden, diberikan 15 pertanyaan, dengan skala jawaban Sangat
Setuju (SS), Setuju (S), Netral (N), Tidak Setuju (TS), dan Sangat Tidak Setuju
(STS). Jawaban responden diringkaskan pada Tabel 5.
Tabel 5 Hasil Kuesioner Relawan
No. Pernyataan SS S N TS STS
1. Saya setuju dengan penginputan hasil 2 24 4 0 0
perhitungan surat suara berbasis
android
2. Relawan/Saksi diberikan username dan 1 26 3 0 0
password oleh admin untuk login
sebelum menginputkan data hasil
perhitungan surat suara
3. Relawan hanya dapat menginputkan 2 18 6 4 0
hasil perhitungan surat suara di area
sekitar TPS saja
4. Relawan menginputkan hasil 4 21 5 0 0
perhitungan surat suara pada form yang
sudah ada di dalam aplikasi
5. Relawan dapat melihat data yang sudah 3 27 0 0 0
diinputkan sebelumnya melalui menu
history input, untuk mengecek ada
kesalahan atau tidak
6. Relawan dapat mengedit hasil 3 27 0 0 0
perhitungan surat suara apabila salah
menginputkan data
7. Relawan hanya dapat menginputkan 3 27 0 0 0
data satu kali saja
8. Relawan dapat mengeluarkan 2 28 0 0 0
akun/logout setelah selesai
menginputkan data
9. Terdapat menu help yang berisi tutorial 4 26 0 0 0
penggunaan aplikasi
10. Pengiriman data hasil perhitungan surat 2 23 5 0 0
suara secara online.
11. Menginputkan hasil perhitungan suara 3 20 7 0 0
dengan android mudah digunakan
12. Relawan lebih terbantu dalam proses 2 26 2 0 0
penginputan hasil perhitungan suara
menggunakan aplikasi ini
13. Aplikasi simulasi perhitungan cepat 2 28 0 0 0
(quick count) berbasis android untuk
relawan sudah berjalan dengan baik.
14. Aplikasi perhitungan cepat (quick 3 27 0 0 0
count) berbasis android untuk relawan
memiliki fitur yang lebih baik.
15. Interaksi saya dengan sistem ini jelas 2 28 0 0 0
dan dapat dimengerti.
TOTAL 38 376 32 4 0
Skor Likert 190 1504 96 8 0
15
Nilai perhitungan dengan skala Likert [10] dilakukan dengan rumus Jumlah
Jawaban x Bobot Jawaban. Bobot jawaban adalah SS 5, S 4, N 3, TS 2, STS 1.
Untuk mendapatkan hasil interpretasi, digunakan rumus presentase index: (Total
Skor / Maksimal Skor) X 100%. Maksimal skor adalah nilai kemungkinan skor
yang diperoleh jika semua responden menjawab jawaban tertinggi, dalam hal ini
adalah SS. Maksimal skor yang diperoleh adalah 15 pertanyaan x 30 responden x
5 = 2250. Presentase index untuk hasil kuesioner Tabel 5 adalah (1798 / 2250) x
100% = 80%.
Tabel 6 Hasil Kuesioner Masyarakat
No. Pernyataan SS S N TS STS
1. Masyarakat lebih terbantu dalam mengakses hasil 21 8 1 0 0
quick count melalui aplikasi simulasi perhitungan
cepat (quick count) berbasis android ini
2. Aplikasi perhitungan cepat (quick count) berbasis 15 13 2 0 0
android lebih efektif dalam mengakses hasil quick
count
3. Masyarakat dapat melihat hasil perhitungan surat 24 6 0 0 0
suara secara berkala menggunakan aplikasi ini.
4. Hasil perhitungan surat suara dapat diakses 26 4 0 0 0
melalui ponsel android dan web.
5. Masyarakat dapat melihat hasil perhitungan surat 20 10 0 0 0
suara dalam bentuk tabel dan grafik
6. Aplikasi perhitungan cepat (quick count) berbasis 22 4 6 0 0
android untuk masyarakat sudah berjalan dengan
baik
7. Aplikasi perhitungan cepat (quick count) berbasis 14 16 0 0 0
android memiliki fitur yang lebih baik untuk
mengetahui hasil perhitungan surat suara
8. Aplikasi simulasi perhitungan cepat (quick count) 16 12 2 0 0
berbasis android ini mudah digunakan.
9. Terdapat menu help pada aplikasi android yang 23 7 0 0 0
berisi tutorial apabila kurang jelas.
10. Interaksi saya dengan sistem ini jelas dan dapat 19 11 0 0 0
dimengerti?
11. Aplikasi ini sudah memenuhi kebutuhan untuk 14 13 3 0 0
mengetahui hasil perhitungan surat suara
Total 214 104 14 0 0
Skor Likert 1070 416 42 0 0
Presentase index untuk hasil kuesioner Tabel 6 adalah (1528 / 1650) x 100%
= 92,60%. Panduan pada Tabel 7 digunakan untuk melihat hasil presentase
kuesioner pada skala kepuasan responden. Tabel 7 dihitung dengan menggunakan
interval 20. Interval diperoleh dari perhitungan 100/jumlah pilihan jawaban =
100/5 = 20. Nilai 80% berada diposisi SS (Sangat Setuju).
Tabel 7 Kriteria Interpretasi Skor berdasarkan Interval
Batas Bawah Batas Atas Kriteria
0% 19.99% STS
20% 39.99% TS
40% 59.99% N
60% 79.99% S
80% 100% SS
16
Kesimpulan yang diperoleh dari pengujian responden adalah aplikasi
perhitungan quick count berbasis android sudah berjalan dengan baik dan layak
digunakan. Berdasarkan wawancara, responden mengusulkan untuk dibuat buku
panduan, dan juga pelatihan dalam penggunaan aplikasi.
Sistem dalam aplikasi Quick Count merupakan aplikasi yang menggunakan
teknologi Android. Pada Android terdapat Request (Business Object) yang
berfungsi sebagai perantara pada sistem android dengan Response (Business
Object) pada web service, dalam aplikasi ini menggunakan HTTP (Hypertext
Transfer Protocol) yang berbasis pada JSON sebagai pertukaran data dalam
Android application, untuk mempermudah pembuatan web service digunakan
CodeIgniter Framework yang merupakan PHP Framework yang berbasis pada
MVC (Model, View, Controller) yang berisi kelas-kelas PHP yang
memungkinkan user untuk mengirim dan menerima perintah atau pesan dari
Request dan Response melalui protokol HTTP. Proses kerja dari aplikasi dapat
dijelaskan sebagai berikut, pertama user menjalankan aplikasi pada smartphone
yang menggunakan OS Android dan mengirimkan request melalui protokol HTTP
sesuai dengan permintaan user, web service memberikan respon dan
mengembalikan data respon berupa JSON. Aplikasi menampilkan data tersebut
kepada user malalui aplikasi android.
Pengujian keempat adalah pengujian operasi pada web service, dilakukan
dengan cara menguji tiap-tiap method yang disediakan oleh web service,
kemudian dicatat waktu yang diperlukan untuk proses koneksi, ukuran data yang
ditransmisikan, dan waktu untuk proses transmisi (kirim dan terima). Hasil
pengujian ditunjukkan pada Tabel 8.
Tabel 8 Hasil Pengujian Operasi
Rata-rata Rata-rata Total
Initial
waktu Waiting Waktu Transferred
Operasi Connection
Upload (milidetik) Download Data
(milidetik)
(milidetik) (milidetik) (byte)
1 Login 159.579 1.1003 227.677 1.269 724
2 Send Perolehan 193.145 1.23 235.87 2.034 723
3 Get Perolehan 187.909 0.12 229.5 3.87 621
4 Get History 201.8 0.139 389.11 2.723 211
5 Pie Chart 275.663 0.833 311.915 2.183 300032
Pengujian kelima adalah pengujian rata-rata kecepatan transmisi data secara
umum. Pengujian dilakukan dengan cara mengirimkan data dari perangkat
Android ke web server dan sebaliknya. Hasil pengujian ditunjukkan pada Tabel 9.
Tabel 9 Hasil Pengujian Rata-Rata Kecepatan Pengiriman Data
No Ukuran Data Upload Download
(byte) (milidetik) (milidetik)
1 512 1.0033 1.0031
2 1024 2.0066 2.0062
3 2048 4.0132 4.0124
4 10240 20.066 20.062
5 102400 200.66 200.62
6 1024000 2006.6 2006.2
17
5. Simpulan
6. Daftar Pustaka
18