Artikel Ilmiah
Diajukan kepada
Fakultas Teknologi Informasi
untuk memperoleh Gelar Sarjana Komputer
Peneliti:
Aditya Mufti Kurniawan (672014062)
Salatiga
Oktober 2018
1
2
3
4
5
6
7
1. Pendahuluan
Olahraga menembak merupakan salah satu cabang olahraga yang berada
dibawah naungan Komite Olahraga Nasional Indonesia (KONI). Olahraga
menembak mulai menjadi cabang olahraga yang diresmikan pada tahun 1950.
Kemudian pada tanggal 17 Juli 1960 organiasasi yang telah menaungi olahraga
menembak adalah dengan dibentuknya nama Persatuan Menembak Sasaran dan
Berburu Seluruh Indonesia (PERBAKIN) [1].
Pada tahun 2016 telah berdiri klub olahraga menembak di Salatiga yang
dinamakan Salatiga Hunting Community. Salatiga Hunting Community itu sendiri
adalah klub olahraga menembak yang berfokus pada bidang berburu dan tembak
metal silhouette dengan menggunakan unit senapan angin (air rifle). Klub ini
merupakan salah satu klub yang berada dibawah naungan PERBAKIN dan
KONI. Selain itu, Salatiga Hunting Community juga telah dikukuhkan oleh
Pengurus Cabang (Pengcab) PERBAKIN Kota Salatiga melalui Surat Keputusan
Nomor : 01/SKCP/PCP/Sal/V/2016.
Dalam agenda tahunan, klub Salatiga Hunting Community bersama KONI
Kota Salatiga telah memiliki peranan penting dengan menjadi juri perlombaan
menembak metal silhouette di Kota Salatiga. Salah satu kekurangan yang ada di
perlombaan tersebut adalah manajemen perlombaan yang penilaiannya masih
ditulis tangan dan pengumpulan rekap nilai masih menggunakan Microsoft Excel
sehingga mengakibatkan belum adanya distribusi informasi yang efisien mengenai
data perlombaan berupa kelas pertandingan, waktu pelaksanaan, biaya
perlombaan, penilaian perlombaan, data atlet, dan tidak dapat dilihatnya history
lomba tahunan setiap peserta.
Berdasarkan permasalahan yang ada, maka yang menjadi rumusan
masalah adalah bagaimana merancang sistem informasi yang dapat mengelola
data perlombaan, data atlet, dan melihat history lomba tahunan setiap user dengan
studi kasus klub Salatiga Hunting Community dengan menggunakan Framework
CodeIgniter.
Tujuan dari penelitian ini adalah melakukan pembangunan Sistem
Informasi lomba tembak metal silhouette berbasis web menggunakan Framework
CodeIgniter, karena CodeIgniter mempunyai dokumentasi dan pustaka yang
lengkap dengan berbagai kebutuhan, misalnya: koneksi, database, email, session,
cookies, keamanan, dan manipulasi gambar. Saat mengunduh telah disediakan
panduan penggunaan, serta referensi dokumentasi komponen, mempunyai kinerja
yang baik, dan mudah untuk dipelajari dan dikembangkan. Fitur Model View
Controller (MVC) dapat memudahkan dan mempercepat pengguna untuk
mengembangkan aplikasi, karena desain yang lebih terstruktur[2].
2. Tinjauan Pustaka
Terdapat beberapa penelitian mengenai sistem informasi lomba berbasis
web yang telah dilakukan sebelumnya. Salah satunya adalah penelitian yang
berjudul Sistem Informasi Pengelolaan Kompetisi Burung Kicau di SKM Kicau
Berbasis Web yang membahas tentang pengelolaan sistem informasi kompetisi
8
burung kicau di SKM kicau berbasis web menggunakan metodologi prototype.
Hasil yang didapatkan dari penelitian tersebut yaitu, dapat membantu petugas
dalam mengelola data registrasi lebih cepat dan akurat, serta mampu mengurangi
kesalahan dalam laporan pengiriman.[3].
Penelitian kedua adalah penelitian yang berjudul Sistem Informasi Komite
Olahraga Nasional Indonesia Berbasis Web Menggunakan Framework
CodeIgniter membahas tentang perancangan informasi pendataan atlet dan
pendataan perolehan medali atlet untuk mempermudah mengatur proses
pemberian kompensasi pada atlet berprestasi. Sistem ini dibangun dengan
menggunakan Framework CodeIgniter karena mempunyai dokumentasi yang
sangat memadai untuk menjelaskan setiap fungsi yang ada pada library dan
helper dan MySQL sebagai database sistem. Manffat dari sistem informasi ini
yaitu dapat membantu atlet dalam mencari informasi tentang pertandingan pekan
olahraga nasional, pengunjung atau masyarakat dapat mengetahui informasi
tentang atlet yang mengikuti pekan olahraga nasional, dan hasil seleksi atlet yang
ikut pekan olahraga nasional jadi lebih cepat berdasarkan perolehan medali [4].
Dari kedua penelitian sebelumnya, sistem informasi berbasis web yang telah
dirancang dan dibuat mampu mempermudah peserta lomba dalam melakukan
registrasi, serta mempermudah juri untuk melakukan pendataan perlombaan,
pendataan atlet atau peserta lomba, dan data riwayat pemenang lomba. Oleh
karena itu, sistem informasi dibangun menggunakan bahasa PHP karena memiliki
fitur yang dinamis dan menggunakan MySQL sebagai manajemen basis data
karena dapat diintegrasikan dengan berbagai bahasa pemrograman dan memiliki
fitur keamanan yang baik. Dalam pembangunan sistem informasi, dibutuhkan
sebuah metode. Sama dengan penelitian pertama, sistem informasi berbasis web
dibangun menggunakan metode prototype karena menghemat waktu dalam
pengembangan sistem.
Jika dibandingkan pada penelitian sebelumnya, penelitian ini berfokus pada
registrasi dan daftar peserta, jadwal pertandingan, penjurian, dan hasil
pertandingan. Sehingga, informasi berita tidak dibahas dalam bahasan ini. Selain
itu pada penelitian kedua membahas mengenai kompensasi kepada atlet yang
berprestasi. Sedangkan penelitian yang dilakukan peneliti tidak membahas
mengenai kompensasi kepada atlet yang berprestasi.
Sistem informasi adalah suatu sistem dalam suatu organisasi yang
mempertemukan kebutuhan pengolahan transaksi harian yang mendukung fungsi
operasi organisasi yang bersifat manajerial dengan kegiatan strategi dari suatu
organisasi untuk dapat menyediakan kepada pihak luar tertentu dengan informasi
yang diperlukan untuk pengambilan keputusan.[5].
Web adalah suatu metode untuk menampilkan informasi di internet, baik
berupa teks, gambar, suara maupun video yang interaktif dan mempunyai
kelebihan untuk menghubungkan (link) satu dokumen dengan dokumen lainnya
(hypertext) yang dapat diakses melalui sebuah browser.[6].
CodeIgniter adalah sebuah framework yang digunakan untuk membuat
sebuah aplikasi berbasis web yang disusun dengan menggunakan bahasa PHP. Di
dalam CI terdapat beberapa macam kelas (class) yang berbentuk library dan
9
helper. Keduanya berfungsi untuk membantu pemrogram (programmer) dalam
mengembangkan aplikasinya.[7].
Framework CodeIgniter dipilih karena memiliki keunggulan, yaitu gratis
dibawah lisensi Apache/ BSD/ style open source license. Selain itu, sistem juga
menggunakan MVC (Model, View, Controller) yang membedakan antara logika
dan presentasi/ tampilan dan juga compatible dengan PHP versi 4 dan 5.
Framework CodeIgniter juga memiliki dokumentasi dan pustaka yang lengkap
dengan berbagai kebutuhan, misalnya: koneksi, database, email, session, cookies,
keamanan, dan manipulasi gambar.
3. Metode Penelitian
Tahapan yang dilakukan dalam penelitian ini dapat dilihat pada Gambar 1.
10
Gambar 2 Model Prototype[8]
Tahap-tahapan dalam model prototype sebagai berikut:
1. Pegumpulan Kebutuhan
Panitia dan juri perlombaan yang pada penelitian ini adalah pengguna dan
pengembang aplikasi, sedangkan peserta hanya sebagai pengguna. Panitia dan juri
bersama-sama mendefinisikan format seluruh perangkat lunak,
mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan
dibangun. Kebutuhan pada aplikasi yang akan dibangun adalah dapat membuat
sistem informasi mengenai data perlombaan berupa kelas pertandingan, waktu
pelaksanaan, biaya perlombaan, dan penilaian perlombaan, data atlet, dan melihat
history pemenang lomba tiap tahun yang dapat ditampung dalam bentuk aplikasi.
2. Membangun Prototyping
Membangun prototyping dengan membuat pembangunan sistem yang
dilakukan dengan proses pembangunan UML diagram yang meliputi use case
diagram, activity diagram dan relasi antar tabel. UML yang telah dibuat nantinya
akan dilanjutkan dengan pengimplementasian. Tahapan yang terakhir pada
metode prototyping adalah evaluasi prototype. Pada evaluasi prototype nantinya
akan dilakukan pengujian sistem dan melakukan analisis terhadap hasil pengujian
tersebut. Pengujian yang dilakukan bertujuan untuk mengetahui apakah sistem
telah memenuhi kebutuhan yang dianalisis pada tahap pertama. Pengujian aplikasi
tersebut menggunakan blackbox testing.
Pembangunan sistem ini akan menggunakan Unified Modelling Language
(UML). UML bersifat scalability, yaitu objek lebih mudah dipakai untuk
menggambarkan sistem yang besar dan komplek. UML juga bersifat dynamic
modelling, yaitu model dapat digunakan untuk pemodelan sistem dinamis dan real
time.[9].
Use case diagram merupakan diagram yang menjelaskan manfaat sistem,
jika dilihat dari sudut pandang orang atau sesuatu yang berada di luar sistem yang
sedang dibangun (aktor). Jenis diagram ini dapat digunakan untuk menangkap
requirements sistem dan untuk memahami bagaimana sistem seharusnya
bekerja.[10]. Use case diagram sistem ditunjukkan pada Gambar 3.
11
Gambar 3 Use Case Diagram
12
Juri
13
Gambar 5 Class Diagram Lomba
14
Pengujian kode dilakukan untuk memastikan apakah fungsi-fungsi didalam
sistem sudah berjalan dengan baik atau belum. Teknik pengujian yang dilakukan
yaitu pengujian Black Box yang berfokus pada persyaratan fungsional sistem.
5. Evaluasi Sistem
Pengguna mengevaluasi apakah sistem yang sudah jadi sudah sesuai
dengan yang diharapkan. Pada tahapan ini akan dijelaskan di bab selanjutnya.
6. Menggunakan Sistem
Perangkat lunak yang telah diuji dan selanjutnya akan digunakan oleh
panitia dan juri perlombaan.
Tahapan terakhir adalah Penulisan Artikel Ilmiah.
15
Gambar 7 Halaman Dashboard Peserta
16
Gambar 9 Konfirmasi Pembayaran
17
Kode Program 1 merupakan controller untuk melakukan konfirmasi
pembayaran dalam bentuk unggahan gambar bukti tranksaksi. Jika gambar bukti
transaksi sudah diunggah, maka status pembayaran akan menjadi “menunggu
konfirmasi” dan akan dikonfirmasi oleh Administrator. Konfirmasi pembayaran
pada halaman Administrator ditunjukkan pada Gambar 10.
18
25. <td> <?php echo "<img src='".base_URL()."assets/upload/konfirmasi/".$kp-
>gambar."' target='_blank'".$kp->gambar." width='50' height='50'></a>" ?></td>
26. <td>
27. <?php echo
form_open_multipart(base_url('admin/konfirmasi_pembayaran/tambah'));
28. ?>
29. <div class="col-md-4">
30. <div class="form-group">
31. <input type="hidden" name="pembayaran" class="form-control"
required="required" placeholder="Nomor Lomba" value="Sudah Bayar">
32. <input type="hidden" name="id_reg" class="form-control"
placeholder="konfirmasi" value="<?php echo $kp->id_reg; ?>">
33. <input type="hidden" name="id_lomba" class="form-control" value="<?php echo
$kp->id_lomba; ?>">
34. </div></div>
35. <div class="col-md-12">
36. <div class="form-group">
37. <input type="submit" name="submit" class="btn btn-success btn-lg"
value="Konfirmasi">
38. </div></div>
39. <?php
40. echo form_close();?>
41. <?php include('delete.php'); ?> </td></tr>
42. <?php $i++; } } ?>
43. </tbody></table>
19
oleh Administrator. Model konfirmasi pembayaran oleh Administrator
ditunjukkan pada Kode Program 4.
20
Gambar 12 Form Penilaian
Gambar 12 menunjukkan form penilaian yang akan dimasukkan oleh juri.
Dalam mengisi form penilaian, juri harus menekan tombol mulai penilaian, yang
jika ditekan akan muncul timer selama 10 menit. Jika waktu habis, maka form
penilaian tidak dapat diisi lagi dan otomatis menghitung hasil lomba. Jika belum
habis dan peserta sudah melakukan semua tembakan, maka juri harus menekan
“Hitung nilai” terlebih dahulu untuk menghitung nilai. Total nilai adalah jumlah
dari nilai 1- 15 ditambah dengan nilai target lisan. Kode program perhitungan
penilaian ditunjukkan pada Kode Program 5.
21
25. //TIMER OTOMATIS
26. <script>
27. var awal = new Date().getTime();
28. var akhir = awal + 600000;
29. var countDownDate = akhir;
30. function mulai(){
31. document.getElementById("target_lisan").value = 0;
32. var nil = document.getElementsByClassName("nil");
33. for(var i = 0;i<15;i++){
34. nil[i].value = 0;
35. }
36. document.getElementById("hitung").style.display = "none";
37. var x = setInterval(function() {
38. var now = new Date().getTime();
39. var distance = countDownDate - now;
40. var days = Math.floor(distance / (1000 * 60 * 60 * 24));
41. var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 *
60 * 60));
42. var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 *
60));
43. var seconds = Math.floor((distance % (1000 * 60)) / 1000);
44. document.getElementById("waktu").innerHTML = minutes + " menit " +
seconds + " detik ";
45. if (distance < 0) {
46. clearInterval(x);
47. document.getElementById("waktu").innerHTML = "Waktu penjurian
habis";
48. var x = document.getElementsByClassName("nil");
49. document.getElementById("target_lisan").disabled = true;
50.
51. for(var i = 0;i<15;i++){
52. x[i].disabled = true;
53. }
54. hitung();
55. }
56. }, 1000);
57. }
58. </script>
Kode Program 5 merupakan fungsi hitung dan timer penilaian. Perhitungan
didapatkan dengan menjumlahkan semua nilai yang diperoleh. Timer dibuat
dengan perhitungan mundur selama 10 menit. Saat waktu habis, form penilaian
tidak dapat diisi lagi dan melakukan perhitungan nilai secara otomatis. Hasil dari
penilaian dimasukkan kedalam daftar hasil nilai lomba.Daftar hasil nilai lomba
ditunjukkan pada Gambar 13.
22
dalam kelas lomba. Informasi pemenang lomba dapat dilihat oleh peserta dan
masyarakat umum. Hasil nilai pada halaman peserta ditunjukkan pada Gambar 14.
23
memiliki fungsi-fungsi yang mengatur jalannya aplikasi serta menghubungkan
model dan view.
Tahap selanjutnya dalam pembuatan sistem ini adalah pengujian sistem.
Pengujian sistem ini akan menggunakan black box testing. Black box testing
merupakan pengujian yang terfokus pada keperluan fungsional dari aplikasi.
Blackbox memungkinkan pengembang software untuk membuat himpunan
kondisi input yang akan melatih seluruh syarat-syarat fungsional suatu program.
24
kemudahan, dan tampilan aplikasi. Pertanyaan diberikan kepada dua puluh
responden, terdiri dari sepuluh orang panitia dan sepuluh orang juri. Hasil dari
jawaban responden dilihat pada Tabel 2.
25
5. Kesimpulan
6. Daftar Pustaka
[1] Perbakin. 2014. Sejarah Perbakin. http:perbakin-
kotamalang.or.id/?page_id=114. Diakses tanggal 1 Agustus 2018 Pukul 18.30
WIB.
[2] Mulya, Andi. 2014. Penerapan Codeigniter Framework Dalam Pengembangan
Sistem Informasi Sidang Keliling (Studi Kasus : Badan Peradilan Agama).
Skripsi. Diterbitkan. Fakultas Sains dan Teknologi. Universitas Negeri Syarif
Hidayatullah: Jakarta
[3] Reza, Dewa. 2014. Sistem Informasi Pengelolaan Kompetisi Burung Kicau di
SKM Kicau Berbasis Web. Skripsi. Tidak Diterbitkan. Fakultas Teknik dan Ilmu
Komputer. Universitas Komputer Indonesia: Bandung.
[4] Anindiarto, dkk. 2008. Sistem Informasi Komite Olahraga Nasional Indonesia
Berbasis Web Menggunakan Framework CodeIgniter. Tugas Akhir. Diterbitkan.
Fakultas Matematika dan Ilmu Pengetahuan Alam. Universitas Sebelas Maret:
Surabaya.
[5] Jogiyanto. 2003. Sistem Teknologi Informasi. Andi Offset : Yogyakarta.
[6] Yuhefizar. 2013. Membangun Toko Online Itu Mudah. Yogyakarta : Graha Ilmu
[7] Riyanto. 2011. Membuat Sendiri Aplikasi Ecommerce dengan PHP dan MySQL
Menggunakan Codeigniter dan JQuery. Yogyakarta : Andi.
[8] Pressman. 2001. Software Enginering : A Practitioner's Approach. Amerika
Serikat : R.S. Pressman and Associates.
[9] Anandhata, Wisnu. 2013. Aplikasi Manajemen Operasi Pada Unit Dagang Pupuk
Organik Berbasis Web Menggunakan CakePHP. Salatiga:Program Studi Teknik
Informatika FTI UKSW.
[10] Nugroho. 2010. Mengembangkan Aplikasi Basis Data Menggunakan C# + SQL
Server, Yogyakarta : Andi Offset.
26