Anda di halaman 1dari 26

Perancangan Sistem Informasi Lomba Menembak Metal

Silhouette Berbasis Web Menggunakan Framework


Codeigniter
(Studi Kasus : Salatiga Hunting Community)

Artikel Ilmiah

Diajukan kepada
Fakultas Teknologi Informasi
untuk memperoleh Gelar Sarjana Komputer

Peneliti:
Aditya Mufti Kurniawan (672014062)

Nina Setiyawati, S.Kom., M.Cs.

Program Studi Teknik Informatika

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

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.

Gambar 1 Tahapan Penelitian

Tahapan penelitian diawali dengan identifikasi masalah. Pada tahap ini,


penelitian dilakukan dengan melakukan tanya jawab dengan ketua dan anggota
klub. Berdasarkan hasil wawancara didapatkan informasi bahwa Klub Salatiga
Hunting Community membutuhkan sistem informasi mengenai lomba menembak
metal silhouette.
Tahap selanjutnya adalah perancangan. Metode yang digunakan adalah
Prototyping. Prototyping Model adalah metode yang digunakan untuk
mendefinisikan serangkaian sasaran umum bagi perangkat lunak serta
mengidentifikasikan kebutuhan input, pemrosesan, ataupun output detail [8].
Tahapan -tahapan yang dilakukan dapat dilihat pada Gambar 2.

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

Gambar 3 menunjukkan use case diagram yang akan digunakan pada


aplikasi Sistem Informasi Lomba Tembak Metal Silhouette. Dalam use case
terdapat empat user yaitu Administrator, juri, user, dan masyarakat atau calon
peserta. Administrator disini merupakan panitia perlombaan pada bidang humas
yang memiliki akses penuh dalam menginputkan dan mengelola informasi lomba.
Kemudian juri bertugas memberi penilaian kepada peserta lomba. User adalah
peserta lomba yang bisa melakukan pendaftaran lomba, melihat informasi
pemenang di sistem informasi dan mengikuti perlombaan yang telah didaftarkan.
Sedangkan masyarakat atau calon peserta hanya bisa melakukan registrasi lomba
untuk menjadi peserta dan melihat informasi pemenang.

12
Juri

Gambar 4 Activity Diagram Penilaian Lomba

Gambar 4 menjelaskan adanya proses penilaian lomba yang dilakukan


oleh super user. Super user yaitu tim juri yang akan memberikan penilaian.
Aktivitas dimulai dari super user melihat kategori lomba yang akan dinilai dan
selanjutnya memilih daftar kategori lomba yang akan dinilai. Setelah super user
memilih kategori lomba, maka akan tampil daftar peserta yang akan mengikuti
lomba. Super user melakukan input nilai dari peserta. Setelah selesai melakukan
input nilai, maka akan disimpan kedalam database dan selanjutnya akan tampil
nilai peserta. Informasi pemenang akan ditampilkan berdasarkan nilai tertinggi
dan aktivitas selesai. Berikut akan dijelaskan class diagram yang ditunjukkan
pada gambar dibawah ini:

13
Gambar 5 Class Diagram Lomba

Gambar 5 merupakan class diagram yang akan digunakan dalam


pembuatan aplikasi. Gambar tersebut menunjukkan relasi antar class yang
terdapat controller di setiap class nya. Relasi dari setiap class di atas akan
digunakan untuk pembuatan relasi antar tabel di data base.
3. Evaluasi Prototyping
Evaluasi Prototyping dilakukan oleh juri dan panitia perlombaan
apakahprototypingyang telah dibangun sudah sesuai dengan kebutuhan panitia
dan juri perlombaan. Pada tahap ini dilakukan evaluasi terhadap sistem penjurian.
Dalam sistem penjurian dilakukan dengan menjumlahkan semua hasil dari
tembakan yang mengenai sasaran yaitu 15 target dan 1 target lisan. Jika tembakan
mampu mengenai target, maka akan mendapatkan nilai 10. Jika tidak maka akan
mendapatkan nilai 0. Target lisan merupakan target bonus berbentuk lingkaran
yang sistem penilaiannya jika tembakan yang mengenai sasaran semakin ke
tengah, maka nilai yang didapatkan semakin tinggi. Nilai dalam target lisan
berkisar antara 0-10.
3. Mengkodekan Sistem
Dalam tahap ini prototyping yang sudah disepakati diterjemahkan ke
dalam bahasa pemrograman yang sesuai yaitu Bahasa Pemrograman PHP
(Hypertext Preprocessor) dengan Framework CodeIgniter.
4. Menguji Sistem dan Pengujian Kode

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.

4. Hasil dan Pembahasan


Hasil dari penelitian ini adalah sistem informasi. Hal ini agar dapat
mempermudah user dalam melakukan pendaftaran lomba dan melihat informasi
hasil lomba secara online. Serta dapat memudahkan juri untuk melakukan input
penilaian. Aplikasi ini dibangun dengan menggunakan Framework CodeIgniter.
Pada aplikasi ini terdapat empat pengguna yaitu peserta lomba yang dapat
melakukan registrasi lomba, mengikuti lomba, dan melihat history hasil lomba
tiap tahun, masyarakat atau calon peserta lomba yaitu pengguna yang hanya dapat
melihat informasi pemenang lomba dan melakukan registrasi lomba, juri
perlombaan yang akan memberikan penilaian dan informasi pemenang, kemudian
yang terakhir adalah Administrator yaitu panitia dalam bidang humas yang
bertugas memberikan informasi perlombaan dan konfirmasi pembayaran lomba.
Sebelum masuk ke aplikasi, peserta diharuskan login terlebih dahulu. Jika
belum mempunyai akun, peserta bisa melakukan registrasi. Form login dan
register ditunjukkan pada Gambar 6.

Gambar 6 (a) Form Register (b) Login Peserta


Gambar 6 merupakan form register dan login peserta. Jika peserta belum
mempunyai akun, maka dapat melakukan registrasi terlebih dahulu. Registrasi
meggunakan verifikasi email, jika email belum terverifikasi, maka peserta tidak
bisa melakukan login. Jika peserta sudah mendaftar dan melakukan verifikasi
email, maka peserta dapat melakukan login. Setelah login, peserta masuk pada
halaman dashboard. Halaman dashboard terlihat pada Gambar 7.

15
Gambar 7 Halaman Dashboard Peserta

Gambar 7 menunjukkan halaman dashboard. Halaman dashboard terdiri


dari informasi peserta, daftar lomba yang akan diikuti, dan grafik hasil perolehan
nilai lomba pertahun. Peserta dapat melakukan registrasi lomba yang telah
disediakan dari Administrator. Selain itu, peserta juga dapat memilih kelas
pertandingan yang akan diikuti. Dalam kelas lomba terdiri dari nama lomba,
biaya, tanggal pelaksanaan, dan tanggal batas pendaftaran. Daftar kelas
pertandingan ditunjukkan pada Gambar 8.

Gambar 8 Daftar Kelas Pertandingan

Gambar 8 menunjukkan daftar kelas pertandingan yang tersedia. Daftar


kelas pertandingan terdiri dari nama lomba, tanggal pelaksanaan, batas waktu
pendaftaran, dan biaya pendaftaran. Pendaftaran akan ditutup jika melewati batas
waktu pendaftaran yang telah ditentukan. Jika peserta sudah melakukan
pendaftaran, maka action berubah menjadi “Sudah Daftar”. Kemudian, peserta
akan melakukan konfirmasi pembayaran untuk mendapatkan nomor peserta.
Konfirmasi pembayaran ini ditunjukkan pada Gambar 9.

16
Gambar 9 Konfirmasi Pembayaran

Gambar 9 menunjukkan konfirmasi pembayaran dari peserta. Tabel


konfirmasi pembayaran terdiri dari nama lomba, tanggal pelaksanaan, biaya, dan
status. Status terdiri dari “Belum Bayar”, “Menunggu Konfirmasi”, dan “Sudah
Bayar”. Peserta melakukan konfirmasi pembayaran dengan melampirkan bukti
transaksi. Jika sudah dilampirkan, maka status akan berubah menjadi “Menunggu
Konfirmasi”.Administrator selanjutnya akan melakukan konfirmasi dan
melakukan input nomor peserta dan status berubah menjadi “Sudah Bayar”. Kode
program konfirmasi pembayaran oleh peserta ditunjukkan pada kode program 1.

Kode Program 1 Konfirmasi Pembayaran Oleh Peserta


1. public function tambah() {
2. $valid = $this->form_validation;
3. $valid->set_rules('gambar','required',
4. array( 'required' => 'Gambar harus diisi'));
5. if($valid->run()) {
6. $config['upload_path'] = './assets/upload/konfirmasi/';
7. $config['allowed_types'] = 'gif|jpg|png|svg|jpeg';
8. $config['max_size'] = '1000'; // KB
9. $this->load->library('upload', $config);
10. if(! $this->upload->do_upload('gambar')) {
11. }else{
12. $upload_data = array('uploads' =>$this->upload->data());
13. // Image Editor
14. $config['image_library'] = 'gd2';
15. $config['source_image'] =
'./assets/upload/konfirmasi/'.$upload_data['uploads']['file_name'];
16. $config['new_image'] =
'./assets/upload/konfirmasi/thumbs/';
17. $config['create_thumb'] = TRUE;
18. $config['quality'] = "100%";
19. $config['maintain_ratio'] = TRUE;
20. $config['width'] = 360; // Pixel
21. $config['height'] = 360; // Pixel
22. $config['x_axis'] = 0;
23. $config['y_axis'] = 0;
24. $config['thumb_marker'] = '';
25. $this->load->library('image_lib', $config);
26. $this->image_lib->resize();
27. $i = $this->input;
28.
29. $data = array( 'id_reg'=> $i->post('id_reg'),
30. 'gambar'=> $upload_data['uploads']['file_name'],
31. 'pembayaran'=> 'Menunggu Konfirmasi');
32. $this->m_konfirmasi_pembayaran->edit($data);
33. }} // End masuk database
34. $data = array( 'title' => 'Tambah Data konfirmasi_pembayaran',
35. 'konfirmasi_pembayaran' => $konfirmasi_pembayaran,
36. 'isi' =>'pengguna/konfirmasi_pembayaran');
37. redirect('pengguna/konfirmasi_pembayaran');
38. }

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.

Gambar 10 Tampilan Konfirmasi Pembayaran pada Halaman Administrator

Gambar 10 menunjukkan konfirmasi pembayaran dari Administrator. Tabel


konfirmasi pembayaran terdiri dari no, nama pendaftar, kelas perlombaan,
tanggal, biaya, nomor peserta, status, bukti transaksi, dan action. Administrator
akan mendapatkan pemberitahuan jika ada peserta yang sudah melakukan
konfirmasi pembayaran dan Administrator akan melakukan konfirmasi
pembayaran dan memberikan nomor peserta secara otomatis. Nomor peserta yang
sudah dimasukkan akan masuk kedalam peserta lomba yang akan dinilai oleh juri.
Kode program view konfirmasi pembayaran oleh Administrator ditunjukkan pada
kode Program 2.

Kode Program 2 View Konfirmasi Pembayaran Oleh Administrator


1. <table id="example" class="table table-bordered table-striped">
2. <thead>
3. <tr>
4. <th>No</th>
5. <th>Nama Pendaftar</th>
6. <th>Kelas Perlombaan</th>
7. <th>Tanggal</th>
8. <th>Biaya</th>
9. <th>Nomor Peserta</th>
10. <th>Status</th>
11. <th>Bukti Transaksi</th>
12. <th>Action</th>
13. </tr></thead><tbody>
14. <?php if (empty($konfirmasi_pembayaran)){
15. echo "<tr><td colspan='4' style='text-align:center; font-
weight:bold'>Data Tidak Ditemukan!!</td></tr>";
16. } else {
17. $i=1; foreach($konfirmasi_pembayaran as $kp) {?>
18. <tr class="odd gradeX">
19. <td><?php echo $i ?></td>
20. <td><?php echo $kp->fname; ?></td>
21. <td><?php echo $kp->nama_lomba; ?></td>
22. <td><?php echo date('d-M-y', strtotime($kp->tanggal));?> </td>
23. <td><?php echo 'Rp'.' '.$kp->biaya; ?></td>
24. <td><?php echo $kp->nomor_lomba; ?></td>
<td><?php echo $kp->pembayaran; ?></td>

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>

Kode Program 2 merupakan view dari konfirmasi pembayaran oleh


Administrator. Di dalam view ini terdapat tabel daftar peserta yang sudah
membayar maupun yang belum membayar. Selain tabel juga terdapat form
konfirmasi pembayaran. Proses konfirmasi pembayaran dilakukan oleh controller.
Kode program controller konfirmasi pembayaran ditunjukkan pada Kode Program
3.
Kode Program 3 Controller Konfirmasi Pembayaran Oleh Administrator

1. public function tambah() {


2. $valid = $this->form_validation;
3. $nomor_lomba=$this->m_konfirmasi_pembayaran-
>get_nomor_lomba($this->input->post("id_lomba"));
4. $valid->set_rules('nomor_lomba','required',
5. array( 'required' => 'ID harus diisi'));
6. $i = $this->input;
7. $data = array( 'id_reg'=> $i->post('id_reg'),
8. 'nomor_lomba'=>$nomor_lomba,
9. 'pembayaran'=> $i->post('pembayaran')
10. );
11. $this->m_konfirmasi_pembayaran->edit($data);
12. $this->load->view('admin/layout/wrapper', $data, FALSE);
13. redirect('admin/konfirmasi_pembayaran');
14. }

Kode Program 3 merupakan controller dari konfirmasi pembayaran oleh


Administrator. Setelah Administrator melakukan konfirmasi, maka nomor peserta
akan diisi secara otomatis, dan data peserta akan masuk ke dalam daftar peserta
lomba yang akan dinilai oleh juri. Juri merupakan salah satu entitas yang ada di
dalam aplikasi ini. Juri dapat melakukan pengelolaan penlaian peserta. Dengan
adanya sistem inormasi ini, maka pekerjaan juri menjadi lebih dimudahkan.
Dalam penyimpanan ke database dilakukan oleh model konfirmasi pembayaran

19
oleh Administrator. Model konfirmasi pembayaran oleh Administrator
ditunjukkan pada Kode Program 4.

Kode Program 4 Model Konfirmasi Pembayaran Oleh Administrator


1. public function tambah($data) {
2. $this->db->insert('daftar_lomba',$data);
3. }
4. public function edit($data) {
5. $this->db->where('id_reg',$data['id_reg']);
6. $this->db->update('daftar_lomba',$data);
7. }
8. public function delete($data) {
9. $this->db->where('id_reg',$data['id_reg']);
10. $this->db->delete('daftar_lomba',$data);
11. }
12. public function get_nomor_lomba($id_lomba){
13. $no_lomba = $this->db->query("SELECT COALESCE(nomor_lomba,0) as
saat_ini,COALESCE(nomor_lomba+1,1) as selanjutnya FROM `daftar_lomba` where
id_lomba = $id_lomba ORDER BY `daftar_lomba`.`nomor_lomba` DESC limit 1");
14. foreach ($no_lomba->result() as $no_lomba ) {
15. }
16. return $no_lomba->selanjutnya;
17. }

Kode Program 4 merupakan model dari konfirmasi pembayaran oleh


Administrator. Model berisi kode program untuk menyimpan, merubah, dan
menghapus data yang ada di database. Juga terdapat fungsi untuk memasukkan
nomor lomba secara otomatis kedalam database. Jika sudah mendapatkan nomor
peserta, maka data akan ditampung di tabel peserta lomba. Gambar peserta lomba
ditunjukkan pada Gambar 11.

Gambar 11 Daftar Peserta Lomba Kelas Benchrest PCP

Gambar 11 menunjukkan daftar peserta lomba yang terdiri dari nomor


peserta, nama peserta, klub asal, kota asal, dan action. Juri akan memilih peserta
lomba dan melaukan penilaian.Gambar form penilaian ditunjukkan pada Gambar
12.

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.

Kode Program 5 Perhitungan Penilaian dan Timer Menggunakan JavaScript.


1. <script type="text/javascript">
2. function hitung() {
3. var n1 = document.getElementById('nilai1').value;
4. var n2 = document.getElementById('nilai2').value;
5. var n3 = document.getElementById('nilai3').value;
6. var n4 = document.getElementById('nilai4').value;
7. var n5 = document.getElementById('nilai5').value;
8. var n6 = document.getElementById('nilai6').value;
9. var n7 = document.getElementById('nilai7').value;
10. var n8 = document.getElementById('nilai8').value;
11. var n9 = document.getElementById('nilai9').value;
12. var n10 = document.getElementById('nilai10').value;
13. var n11 = document.getElementById('nilai11').value;
14. var n12 = document.getElementById('nilai12').value;
15. var n13 = document.getElementById('nilai13').value;
16. var n14 = document.getElementById('nilai14').value;
17. var n15 = document.getElementById('nilai15').value;
18. var tl = document.getElementById('target_lisan').value;
19. var hasil = parseInt(n1) + parseInt(n2) + parseInt(n3) + parseInt (n4) +
parseInt(n5) + parseInt(n6) + parseInt(n7) + parseInt(n8)
20. +parseInt(n9) + parseInt(n10) + parseInt(n11) + parseInt(n12) +
parseInt(n13) + parseInt(n14) + parseInt (n15) + parseInt(tl);
21. if(!isNaN(hasil)){
22. document.getElementById('jumlah_nilai').value = hasil;
23. }
24. }</script>

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.

Gambar 13 Daftar Penilaian Lomba Multirange PCP

Gambar 13 menunjukkan hasil dari kelas lomba Multirange PCP. Disini


hanya diambilkan contoh dari lomba Miltirange PCP karena semua kelas
pertandingan mempunyai sistem penilaian yang sama, perbedaan hanya terdapat

22
dalam kelas lomba. Informasi pemenang lomba dapat dilihat oleh peserta dan
masyarakat umum. Hasil nilai pada halaman peserta ditunjukkan pada Gambar 14.

Gambar 14 Hasil Nilai Perlombaan

Gambar 14 menunjukkan hasil nilai perlombaan pada halaman peserta.


Peserta dapat melihat hasil penilaian lomba dan history lomba tahunan tiap
peserta atau peserta. Administrator juga dapat melihat informasi nilai yang
dilengkapi dengan grafik sebagai grafik nilai peserta. Informasi nilai pada
halaman Administrator akan ditampilkan pada Gambar 15.

Gambar 15 Informasi Nilai pada Halaman Administrator

Gambar 15 menunjukkan informasi nilai peserta pada halaman


Administrator. Dari grafik tersebut sudah terlihat peserta yang mendapatkan nilai
tertinggi sampai nilai terrendah.
Dari pembangunan aplikasi yang dengan dilakukan dengan framework
CodeIgniter didapatkan bahwa Framework CodeIgniter merupakan sebuah
framework berbasis PHP yang mengorganisasi file menjadi 3 (tiga) kelompok,
yaitu model yang merupakan kelompok file yang mengatur konfigurasi
database, view yang merupakan kelompok file yang mengatur tampilan, dan
controler yangmerupakan kelompok file yang menghubungkan file-file model
dengan file - file view[2].
Proses penulisan kode pemrograman lebih cepat dan terstruktur dengan
konsep Model-View-Controller (MVC). Dalam konsep tersebut, dapat mengakses
database dengan lebih mudah, view berfungsi dalam hal tampilan, dan controller

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.

Tabel 1 Hasil Pengujian Blackbox


Fungsi yang Kondisi Output yang Output yang Status
diuji diharapkan dihasilkan pengujian
sistem
Login Peserta, Username dan Sukses login Sukses login Valid
Juri, dan password benar
Administrator Username dan Gagal login Gagal login Valid
password salah
maupun kosong
Registrasi Form diisi dengan Sukses tambah Sukses tambah Valid
perlombaan benar data data
Konfirmasi Form diisidengan Sukses ubah Sukses ubah data Valid
pembayaran benar data
oleh peserta
Konfirmasi Konfirmasi dengan Sukses ubah Sukses ubah data Valid
pembayaran benar data
oleh
administrator
Input nomor Form diisi dengan Sukses tambah Sukses tambah Valid
peserta benar data data
Tambah Form diisi dengan Sukses tambah Sukses tambah Valid
penilaian benar data data
Edit Penilaian Form diisi dengan Sukses ubah Sukses ubah Valid
benar data data
Hapus Konfirmasi dengan Sukses hapus Sukses hapus Valid
Penilaian benar data data
Tampil Data ditampilkan Sukses tampil Sukses tampil Valid
informasi dengan benar data data
pemenang

Tabel 1 merupakan tabel hasil pengujian blackbox pada aplikasi sistem


informasi Perlombaan Menembak Metal Silhouette di Salatiga. Dalam pengujian
semua fungsi ini berjalan dengan baik dan status pengujian menunjukkan secara
valid. Selanjutnya pengujian kedua dengan memberikan pertanyaan kepada
anggota klub Salatiga Hunting Community yang pernah menjadi panitia
perlombaan dan anggota KONI Kota Salatiga sebagai juri perlombaan. Pengujian
ini dilakukan untuk mengetahui sejauh mana aplikasi mampu membantu juri, dan
panitia dalam memberikan sistem informasi lomba menembak metal silhouette.
Dengan menentukan beberapa pilihan yang ada pada aplikasi yaitu fitur,

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.

Tabel 2 User Acceptance Test


No. Pertanyaan Hasil
STS TS C S SS
1 Apakah semua fitur dapat diakses dengan baik? 2 18
2 Apakah sistem membantu kerja panitia dan juri dalam 1 19
mengelola data perlombaan?
3 Apakah sistem sudah dapat mendokumentasikan hasil 20
lomba tiap tahun?

Tabel 2 menunjukkan hasil pertanyaan pengguna pada pengujian sistem


informasi lomba menembak metal silhouette. Jawaban yang disediakan
diantaranya : STS = Sangat Tidak Setuju, TS = Tidak Setuju, R = Ragu-ragu, S =
Setuju dan SS = Sangat Setuju. Untuk mengukur presentase perhitungan
menggunakan skala likert. Nilai presentase yang dibutuhkan diantaranya: 0% -
19,99% = STS, 20% - 39,99% = TS, 40% - 59,99% = R, 60% - 79,99% = S, dan
80% - 100% = SS yang dapat dilihat pada Tabel 3.

Tabel 3 Persentase Perhitugan Menggunakan Skala Likert


No Pertanyaan Jumlah %
1 Apakah semua fitur dapat diakses dengan baik? 20 98%
2 Apakah sistem membantu kerja panitia dan juri dalam 20 99%
mengelola data perlombaan?
3 Apakah sistem sudah dapat mendokumentasikan history 20 100%
perlombaan tiap tahun?

Berdasarkan hasil pengujian diatas, pada pertanyaan pertama 18 responden


menjawab sangat setuju dan 2 responden menjawab setuju sehingga berdasarkan
kriteria interpretasi pada Tabel 3 dengan skor 98% dapat disimpulkan responden
sangat setuju bahwa semua fitur dari sistem informasi lomba menembak metal
silhouette dapat diakses dengan baik. Pada pertanyaan kedua 19 responden
menjawab sangat setuju dan 1 responden menjawab setuju sehingga berdasarkan
kriteria interpretasi pada Tabel 3 dengan skor 99% dapat disimpulkan responden
sangat setuju bahwa sistem sudah membantu kerja panitia dan juri dalam mengelola
data perlombaan. Pada pertanyaan ketiga 20 responden menjawab sangat setuju
sehingga berdasarkan kriteria interpretasi pada Tabel 3 dengan skor 100% dapat
disimpulkan bahwa sistem informasi lomba menembak metal silhouette sudah dapat
mendokumentasikan history perlombaan tiap tahun. Hasil ini memperihatkan bahwa
proses pembangunan sudah sesuai dengan yang diharapkan oleh panitia dan juri
perlombaan.

25
5. Kesimpulan

Berdasarkan penelitian yang dilakukan, aplikasi sistem informasi perlombaan


menembak Metal Silhouette di Salatiga berbasis web telah dibangun menggunakan
bahasa pemrograman PHP dengan framework CodeIgniter. Penggunaan framework
CodeIgniter dapat membantu membantu pembangunan web dengan efisien karena
fitur dan kelas-kelas yang telah disediakan. Code Igniter yang berbasis MVC
membuat proses penulisan kode program lebih cepat dan terstruktur, sehingga dapat
memudahkan untuk melakukan pengembangan selanjutnya. Sistem Informasi ini
sangat membantu juri dan panitia untuk mengelola data perlombaan, data atlet, dan
dapat melihat history lomba tahunan setiap atlet/ user. Selain itu, user juga dapat
terbantu dalam melakukan perlombaan dan melihat daftar history tiap lomba yang
telah diikuti dengan mudah.
Untuk penelitian selajutnya, sistem informasi lomba menembak metal
silhouette di Salatiga dapat dikembangkan dengan dalam aplikasi berbasis android.
Sehingga masyarakat atau peserta dapat lebih dimudahkan untuk melakukan
pendaftaran lomba. Pengembangan sistem informasi lomba menembak metal
silhouette di Salatiga dengan menambahkan informasi mengenai lokasi latihan
menembak, aturan mengenai perlombaan, dan berita perlombaan juga dapat
dibangun.

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

Anda mungkin juga menyukai