perancangan dan implementasi aplikasi pengaduan, kritik, dan saran … · 2018. 1. 17. · 1...
TRANSCRIPT
1
Perancangan dan Implementasi Aplikasi Pengaduan, Kritik,
dan Saran Menggunakan Framework Laravel
(Studi Kasus: Perpustakaan dan Arsip Daerah Kota Salatiga)
Artikel Ilmiah
Diajukan kepada
Fakultas Teknologi Informasi
untuk Memperoleh Gelar Sarjana Komputer
Oleh:
Henny Febrianita Lagarinda
NIM : 672012132
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
2017
2
3
4
5
6
1. Pendahuluan
Teknologi informasi berkembang sangat pesat. Banyak instansi yang ingin
menggunakan teknologi yang ada secara optimal sesuai kebutuhan demi mencapai
hasil kerja yang baik, salah satu instasi yang menempatkan teknologi informasi adalah
perpustakaan. Perpustakaan dan Arsip Daerah Kota Salatiga (PERSIPDA) merupakan
perpustakaan umum yang ada di kota Salatiga dan mempunyai tugas melayani
masyarakat umum yang memerlukan jasa perpustakaan serta informasi. PERSIPDA
telah melakukan banyak hal untuk menyediakan sumber informasi bagi
pengunjungnya. Pengunjung dapat mengunjungi PERSIPDA mulai dari hari senin
sampai jumat pukul 08.00-20.00 dan hari sabtu sampai minggu pukul 08.00-16.00.
Layanan yang tersedia di PERSIPDA meliputi layanan sirkulasi, layanan perpustakaan
keliling, story telling, referensi dll [1]. Masyarakat sebagai pusat dalam pelayanan
merupakan salah satu syarat untuk menghasilkan kualitas pelayanan publik. Hal ini
berarti PERSIPDA membutuhkan kritik dan saran dari masyarakat sebagai bentuk
partisipasi dari masyarakat dalam peningkatan dan perbaikan pelayanan publik.
Berdasarkan hal tersebut, PERSIPDA menyediakan sebuah kotak saran sebagai
media yang dioperasikan dalam pelayanan pengaduan, kritik, dan saran dari
masyarakat. Masyarakat yang akan memberikan pengaduan, kritik, dan saran mengisi
formulir dan dimasukkan ke kotak yang telah disediakan oleh pihak PERSIPDA.
Kotak saran yang dikelola oleh Perpustakaan dan Arsip Daerah Kota Salatiga, berletak
di gedung perpustakaan lantai dua, yang tersedia dari pukul 08.00 – 20.00, setiap hari
kerja (Senin - Jumat) dan pukul 08.00 – 16.00 (Sabtu - Minggu). Berdasarkan hasil
wawancara yang dilakukan dengan seksi bina perpustakaan dan kearsipan, pihak
PERSIPDA melihat masih kurangnya minat masyarakat dalam memberikan
pengaduan, kritik, dan saran karena masih dilakukan secara manual, serta terbatasnya
waktu, dan jarak yang perlu ditempuh untuk melakukan pengaduan, kritik, dan saran.
Oleh karena itu diperlukan sebuah aplikasi pengaduan, kritik, dan saran digital yang
dapat mengatasi masalah tersebut. Hal ini akan memudahkan PERSIPDA dalam
mengelola data informasi yang masuk guna mengetahui apa yang harus ditingkatkan
atau diperbaiki dalam pelayanan serta mengetahui usulan kebutuhan bahan pustaka
yang diajukan oleh masyarakat.
Aplikasi web adalah suatu aplikasi yang diakses menggunakan penjelajah web
melalui suatu jaringan seperti internet atau intranet [2]. Aplikasi web dapat dijalankan
dimanapun dan kapanpun tanpa harus melakukan penginstalan seperti dilakukan oleh
aplikasi desktop, serta dapat diakses lewat media komputer dan handphone. Oleh
karena itu aplikasi ini dibangun berbasis web.
Aplikasi ini dibangun dengan menggunakan Framework Laravel.
Berdasarkan informasi yang dihimpun dari berbagai media online dan statistik
menunjukkan bahwa Laravel menduduki peringkat paling banyak dari sisi pengguna.
Laravel juga menawarkan kemudahan lain, seperti syntax yang sudah disederhanakan
dan bahkan diklaim sebagai code clean and classy dan ekspresif. Oleh sebab itu
aplikasi ini di bangun menggunakan Framework Laravel.
Berdasarkan permasalahan yang ada, akan dirancang sebuah aplikasi berbasis
web untuk menampung pengaduan, kritik, dan saran dari masyarakat.
7
2. Kajian Pustaka
Penelitian dengan judul “Pembangunan Aplikasi Informasi, Pengaduan, Kritik,
dan Saran Seputar Kota Cimahi pada Platform Android” membahas tentang PESDUK
yaitu sebuah aplikasi berkonsep jurnalisme warga dengan sistem operasi android yang
dibangun untuk jembatan penghubung antara masyarakat kota Cimahi dan pemerintah
kota Cimahi dalam memberikan pengaduan, informasi, kritik, dan saran. PESDUK ini
digunakan oleh masyarakat kota Cimahi, dan juga Pemerintah Kota Cimahi,
khususnya departemen NOC (Network Operating Center) Kota Cimahi yang bertugas
mengelola data elektronik, dengan berbasis web [3].
Persamaan dengan penelitian yang dilakukan saat ini adalah aplikasi yang
dikembangkan bertujuan untuk menampilkan informasi, pengaduan, kritik dan saran.
Perbedaannya adalah metode dan bahasa pemrograman yang digunakan. Pada
penelitian sebelumnya dijalankan pada platform android dan menggunakan JSON
(web service) yang berfungsi untuk menghubungkan aplikasi mobile dan aplikasi web
dengan database pada server sementara penelitian saat ini menggunakan bahasa
pemrograman PHP dengan menggunakan framework laravel berbasis web.
Penelitian lain yang berjudul “Aplikasi Manajemen Perpustakaan Berbasis Web
Menggunakan Framework Laravel pada Yayasan HOME (House of Mercy)”
membahas aplikasi manajemen perpustakaan berbasis web yang dirancang untuk
membantu yayasan HOME mengatur sistem transaksi yang ada di perpustakaan seperti
peminjaman, pengembalian, serta penghitungan denda dan meminimalisir kelemahan-
kelemahan sistem. Hasil yang dicapai dengan adanya aplikasi manajemen
perpustakaan berbasis web ini pengelolah perpustakaan pada yayasan HOME dapat
bekerja secara self service dalam mendapatkan informasi peminjaman, pengembalian,
serta penghitungan denda secara lebih akurat [4].
Persamaan dengan penelitian saat ini adalah keduanya menggunakan framework
laravel dan studi kasus di perpustakaan. Perbedaannya, penelitian sebelumnya
membangun aplikasi manajemen perpustakaan seperti peminjaman, pengembalian,
serta penghitungan denda, sedangkan penelitian ini membangun aplikasi pengaduan,
kritik dan saran.
Framework Laravel adalah sebuah framework PHP yang dirilis dibawah lisensi
MIT (Massachusetts Institute of Technology), dibangun dengan konsep MVC (model
view controller) [5]. Laravel menjadi salah satu PHP framework yang sedang popular
pada saat ini. Menurut survey yang dilakukan oleh sitepoint menyatakan bahwa
framework PHP yang terbaik di tahun 2015 adalah Laravel [6]. Laravel merupakan
web application framework berbasis PHP yang open source, didesain khusus dengan
maksud untuk membantu developer terutama dalam membuat web dengan sintaks
sederhana dan ekspresif bahkan untuk pemula yang belum paham tentang
pemrograman, dapat dengan mudah memahami alur dan pengkodean Laravel.
Kelebihan Framework Laravel berbasis PHP ini adalah membuat aplikasi-aplikasi
yang lebih elegan dan dinamis karena framework ini menekankan kesederhanaan dan
fleksibilitas pada desainnya. Laravel dilengkapi command line tool yang bernama
artisan yang dapat digunakan untuk packaging bundle dan instalasi bundle melalui
command prompt [7].
MVC (model view controller) memisahkan aplikasi berdasarkan komponen-
komponen aplikasi, seperti : manipulasi data, controller, dan user interface.
8
a) View, bagian yang menangani presentation logic. Pada aplikasi web bagian ini
biasanya berupa file template HTML, yang diatur oleh controller. View berfungsi
untuk menerima dan merepresentasikan data kepadauser. Bagian ini tidak memiliki
akses langsung terhadap bagian model.
b) Model, bagian yang berhubungan langsung dengan database untuk memanipulasi
data (insert, update, delete, search) serta menangani validasi dari bagian controller.
Namun tidak dapat berhubungan langsung dengan bagian view.
c) Controller, bagian yang mengatur hubungan antara bagian model dan view.
Controller berfungsi untuk menerima request dan data dari user kemudian
menentukan apa yang akan diproses oleh aplikasi [8].
3. Metode dan Perancangan Sistem
Gambar 1 Tahapan Penelitian
Gambar 1 menampilkan tahapan – tahapan yang dilakukan dalam penelitian ini.
Tahapan analisis kebutuhan dilakukan pengumpulan data menyangkut pengisian data
pengaduan, kritik, dan saran di PERSIPDA Salatiga. Pengumpulan informasi
kebutuhan data diperoleh dengan wawancara kepada bapak Rinaldi Anggoro Shakti,
selaku Seksi Bina Perpustakaan dan Kearsipan di PERSIPDA. Tahapan perancangan
sistem meliputi perancangan proses menggunakan UML (Unified Modelling
Language) yang terdiri dari use case diagram, activity diagram, class diagram dan
sequence diagram, serta membuat tampilan (interface) aplikasi dan perancangan
aplikasi/ program sesuai analisis kebutuhan berdasarkan perancangan sistem yang
telah dikerjakan. Tahapan ketiga adalah implementasi sistem, fungsi – fungsi yang ada
dalam aplikasi dibuat sesuai hasil analisis kebutuhan dan perancangan sistem. Tahapan
keempat adalah penulisan laporan hasil penelitian. Tahap ini dilakukan dokumentasi
proses dari tahap awal sampai tahap akhir dalam bentuk jurnal.
Analisis kebutuhan dan Pengumpulan Data
Perancangan Sistem meliputi Perancangan Proses (UML),
Perancangan Antarmuka, Perancangan Aplikasi/Program
Implementasi Sistem
Penulisan Laporan Hasil Penelitian
9
Gambar 2 Use Case Diagram Aplikasi
Gambar 2 merupakan desain use case diagram aplikasi pengaduan, kritik dan
saran di PERSIPDA. Terdapat dua pengguna yang memiliki akses berbeda-beda yaitu
guest/pengunjung dan admin. Pengguna sebagai admin memiliki hak akses untuk
mengelolah data pengaduan, mengelolah data usulan buku, melihat statistik jumlah
pengaduan yang masuk perperiode. Pengguna sebagai guest merupakan semua orang
yang mengunjungi aplikasi pengaduan, kritik dan saran, guest hanya dapat mengisi
form pengaduan, mengisi form data pengaduan, melihat data tanggapan pengaduan
dan melihat data tanggapan usulan buku.
Guest
Halaman Utama
pengaduan
usulan buku
data tanggapan pengaduan
data tanggapan usulan
insert pengaduan insert usulan
lihat tanggapan
lihat_tanggapan
admin
Kelola data pengaduan
kelola usulan buku
kelola statitistika data pengaduan
login
lihat pengaduan
Tanggapi pengaduan
lihat usulan
tanggapi usulan
Lihat statistika per hari
Lihat statistika per bulan
Lihat statistika per tahun
logout
search data
search_data
search dataa
<<include>>
<<include>>
<<include>>
<<include>>
<<extend>>
<<extend>> <<extend>>
<<extend>> <<extend>>
<<extend>>
<<extend>>
<<extend>>
<<extend>>
<<include>>
<<include>>
<<include>> <<include>>
<<extend>> <<extend>>
<<extend>>
<<extend>> <<extend>>
<<extend>> <<extend>>
10
Gambar 3 Activity Diagram Guest
Gambar 3 merupakan activity diagram aktor guest. Guest ke lantai dua
PERSIPDA, mengambil form pengaduan. Guest mengisi form yang disediakan
PERSIPDA dan dimasukkan ke dalam kotak saran.
Gambar 4 Activity Diagram Admin
Gambar 4 merupakan activity diagram aktor admin. Admin melakukan
pengecekan kotak saran, mengambil form, melakukan rekap data dan menanggapi
pengaduan dan usulan buku. Admin mencetak hasil rekapan dan ditempel di dinding
pengunguman.
Pengunjung ke Lantai 2 Mengambil Form
Mengisi Form
Masukkan Ke kotak Saran
Mulai
selesai
Cek Kotak Saran Mengambil Form
Rekap data
Menanggapi Pengaduan
Cetak Hasil Rekapan
tempel di dinding pengunguman
Mulai
Selesai
11
Gambar 5 Class Diagram
Gambar 5 merupakan class diagram dari aplikasi pengaduan, kritik dan saran di
PERSIPDA. Gambar tersebut menunjukkan relasi yang terjadi antara kelas view,
controller, dan model. View merupakan user interface, model merupakan kelas yang
menangani semua proses yang berkaitan dengan database, tiap-tiap model berhubung
dengan controller, sedangkan controller merupakan kelas perantara yang menangani
pertukaran data antara view dan model. Pada controller terdapat fungsi-fungsi yang
digunakan untuk mengakses entity.
Gambar 6 Sequence Diagram Admin
Gambar 6 merupakan sequence diagram aktor admin dari aplikasi pengaduan,
kritik, dan saran di PERSIPDA. Admin melakukan proses login terlebih dahulu untuk
DataUsulanBuku_entity
+no_usul+no_anggota+nama+alamat+no_tlp+jenis_koleksi+judul+pengarang+penerbit+tahun_terbit+tanggapan
+insertDataUsulan()+viewDataUsulan()+searchDataUsulan()+editDataUsulan()
DataPengaduan_entity
+no_peng+tanggal+Nama+no_anggota+alamat+no_tlp+pengaduan_saran_kritik+tanggapan
+insertDataPengaduan()+viewDataPengaduan()+searchDataPengaduan()+editDataPengaduan()+statistikPerHari()+statistikPerBulan()+statistikPerTahun()
kelolaDataPengaduanControllerGuest
+viewDataPengaduan()
UI_DataPengaduan_guest
+insertDataPengaduan()+searchDataPengaduan()
KelolaDataPengaduanControllerAdmin
+viewDataPengaduan()
UI_DataPengaduan_Admin
+searchDataPengaduan+editDataPengaduan
StatistikControllerAdmin
+statistikPerHari()+StatistikPerBulan()+StatistikPerTahun()
UI_Statistik_Admin
+viewDataStatistik
UI_DataUsulan_Admin
+searchDataUsulan()+editDataUsulan()
kelolaDataUsulanControllerAdmin
+viewDataUsulan()
KelolaDataUsulanControllerGuest
+ViewDataUsulan()
UI_DataUsulan_guest
+insertDataUsulan()+searchDataUsulan()
InsertUsulanController
SearchUsulanController
insertPengaduanController
searchPengaduanContoller
searchUsulanController editUsulanController searchPengaduanController editPengaduanController
: Admin
Form Admin Controller DatabaseHalaman web
1 : Menampilkan form login()
2 : mengisis username dan password()
3 : Validasi data()
4 : pesan keslahan()
5 : ambil data()
6 : cek data login()
7 : login yes()
8 : tampil halaman utama()
9 : kelola data()
10 : kembali ke halaman utama()
11 : logout()
12
masuk ke dalam sistem. Admin memasukkan username dan password. Sistem
mengecek validasi apakah proses login valid atau tidak, jika tidak valid akan
ditampilkan pesan kesalahan, jika login valid akan tampil halaman utama. Admin
melakukan proses pengelolahan data. Proses pengolahan data selesai admin
melakukan logout.
Gambar 7 Sequence Diagram Guest
Gambar 7 merupakan sequence diagram aktor guest. Guest mengakses website
dan menampilkan halaman utama. Guest melakukan penginputan data dan disimpan
ke dalam database dan kembali ke halaman utama.
: Guest
Internet halaman Utama Form input data database
1 : Akses website()
2 : halaman utama ditemukan()
3 : input data()
4 : simpan()
5 : menampilkan halaman utama()
13
4. Hasil dan Pembahasan
Hasil implementasi sistem berdasarkan perancangan yang telah dibuat dijelaskan
sebagai berikut. Terdapat dua pengguna sistem yaitu admin dan user.
Gambar 8 Tampilan Menu Utama
Gambar 8 menampilkan menu utama yang berisi: pengaduan kritik dan saran,
usulan pustaka, tanggapan pengaduan dan tanggapan usulan pustaka.
Gambar 9 Tampilan form pengaduan kritik dan saran
Form pengaduan kritik dan saran merupakan form untuk menyampaikan
pengaduan kritik maupun saran. Ada beberapa kolom yang harus diisi seperti no
anggota, tanggal, nama, alamat, no telepon dan saran. Dapat dilihat pada Gambar 9.
Perintah untuk menambahkan data dapat dilihat pada Kode Program 1
14
Kode Program 1 Perintah untuk Tambah Data pada PengaduanController
Kode program 1 merupakan perintah untuk menampilkan form dan menyimpan
data ke database pada PengaduanController. Fungsi create digunakan untuk
memanggil ke view dengan nama file create didalam folder pengaduan. Fungsi store
digunakan untuk proses memasukkan data ke database. Proses penyimpanan data
ditandai dengan pemanggilan file pengaduan yang terdapat di dalam model. Data yang
telah masuk akan disimpan ke database dan akan kembali diarahkan ke file index.
Kode Program 2 Routing untuk Memanggil Fungsi Create dan Fungsi Store
Kode program 2 merupakan kode routing untuk memanggil fungsi create,
dimana fungsi tersebut untuk menampilkan form inputan pengaduan kritik dan saran
dan kode routing untuk memanggil fungsi store yang berfungsi memasukkan data ke
database.
Route::get('pengaduan/create',['as'=>'pengaduan.create','uses'=>'PengaduanC
ontroller@create']);
Route::post('pengaduan/store',['as'=>'pengaduan.store','uses'=>'PengaduanCo
ntroller@store']);
public function create()
{
return view('pengaduan.create');
}
public function store(Request $request)
{
$this->validate($request, [
'no_anggota' => 'required',
'tanggal' => 'required',
'nama' => 'required',
'alamat' => 'required',
'notlp' => 'required',
'saran' => 'required',
'tanggapan' => '',
]);
pengaduan::create($request->all());
return redirect()->route('pengaduan.index')
->with('Sukses!!!');
}
15
Gambar 10 Halaman Tanggapan Pengaduan
Gambar 10 merupakan tampilan untuk data pengaduan yang masuk dan yang
telah ditanggapi. Perintah untuk menampilkan data dapat dilihat pada Kode Program
3.
Kode Program 3 Perintah untuk Tampil Data pada PengaduanController
Kode program 3 merupakan perintah untuk menampilkan data pada
pengaduanController. Semua data diambil dari tabel pengaduan dengan menggunakan
model bernama pengaduan. Data yang tampil diurutkan berdasarkan id yang paling
terakhir (desc), artinya data yang paling akhir diinputkan akan tampil pada halaman
pertama. Fungsi paginate(5) untuk menampilkan data yang banyak ke dalam beberapa
halaman, angka 5 merupakan jumlah data yang akan ditampilkan. Memanggil view
pengaduan.index dan mengirimkan variabel pengaduan ke view tersebut.
public function index(Request $request)
{
$pengaduan=pengaduan::orderBy('id','DESC')->paginate(5);
return view('pengaduan.index',compact('pengaduan'));
}
16
Kode program 4 Perintah untuk Menampilkan Data pada view
Kode program 4 merupakan view bernama index.blade.php. Fungsi @foreach
merupakan perulangan untuk menampilkan semua data yang ada didalam tabel
pengaduan. Kode <?php echo str_replace('/?', '?', $pengaduan -
>render());?> untuk menampilkan link pagination. Routing digunakan untuk
mengarahkan ke halaman menampilkan data pengaduan dan untuk mengarahkan dan
memanggil fungsi index yang ada di dalam PengaduanContoller, berikut routingnya
pada Kode Program 5.
Kode Program 5 Routing untuk Memanggil Fungsi Index
Route::get('pengaduan',['as'=>'pengaduan.index','uses'=>'PengaduanController@in
dex']);
<?php $no=$pengaduan->firstItem() - 1;?>
<div class="panel-body">
<table class="table table-striped table-bordered table-hover">
{!! Form::open(['method'=>'GET','url'=>'caribuku','role'=>'search']) !!}
<div class="input-group custom-search-form">
<input type="text" class="form-control" name="search" placeholder="cari..."
>
<input class="btn btn-sm btn-primary" type="submit" value="Cari" />
</div> {!! Form::close() !!} <br>
<thead>
<tr class="bg-info">
<th>No Anggota</th>
<th>Tanggal</th>
<th>Nama</th>
<th>Alamat</th>
<th>No Telepon</th>
<th>Saran</th>
<th>Tanggapan</th>
</tr>
</thead>
@foreach ($pengaduan as $key => $pengaduans)
<?php $no++ ;?>
<tr>
<td>{{ $pengaduans->no_anggota }}</td>
<td>{{ $pengaduans->tanggal }}</td>
<td>{{ $pengaduans->nama }}</td>
<td>{{ $pengaduans->alamat }}</td>
<td>{{ $pengaduans->notlp }}</td>
<td>{{ $pengaduans->saran }}</td>
<td>{{ $pengaduans->tanggapan }}</td>
</tr>
{!! Form::close() !!}
@endforeach
</table>
<?php echo str_replace('/?', '?', $pengaduan->render());?>
<div class="col-xs-12 col-sm-12 col-md-12 text-center">
<a class="btn btn-danger" href="{{ route('books.index') }}">
Back</a></div>
17
Gambar 11 Tampilan Data Pengaduan di Admin
Gambar 11 merupakan halaman data pengaduan yang terdapat di admin.
Halaman ini berfungsi untuk melakukan tanggapan dari admin dengan menggunakan
fungsi update dan menghapus data menggunakan fungsi delete.
Gambar 12 Tampilan Form Tanggapan di admin
Gambar 12 merupakan form tanggapan yang disediakan untuk admin yang
berfungsi untuk menanggapi pengaduan yang masuk. Admin menanggapi pengaduan
dengan mengisi form tanggapan. Perintah untuk update data dapat dilihat pada Kode
Program 6.
18
Kode Program 6 Perintah untuk Update pada PengaduanController
Kode program 6 merupakan perintah untuk menampilkan form dan menyimpan
data ke database pada PengaduanContoller. Fungsi edit berfungsi untuk menampilkan
form dan data yang masuk. Semua data diambil dari tabel pengaduan dengan
menggunakan model dengan nama pengaduan data yang diambil berdasarkan id.
Pemanggilan view dengan nama file edit dalam folder pengaduan untuk menampilkan
form dan mengirimkan variable pengaduan ke view tersebut. Proses penyimpanan data
ditandai dengan pemanggilan file pengaduan yang terdapat didalam model berdasarkan
id, data yang telah diinputkan akan disimpan ke database dan kembali diarahkan ke
file index. Kode program 7 merupakan routing untuk mengarahkan dan memanggil
halaman edit.
Kode Program 7 Routing untuk Mengarahkan dan Memanggil Halaman Edit
Gambar 13 Tampilan Statistik Data Pengaduan PerHari
Route::get('pengaduan/{id}/edit',['as'=>'pengaduan.edit','uses'=>'PengaduanCont
roller@edit']);
Route::patch('pengaduan/update/{id}',['as'=>'pengaduan.update','uses'=>'Pengadu
anController@update']);
public function edit($id)
{
$pengaduan=pengaduan::find($id);
return view('pengaduan.edit',compact('pengaduan'));
}
public function update(Request $request, $id)
{
$this->validate($request, [
'no_anggota' => 'required',
'tanggal' => 'required',
'nama' => 'required',
'alamat' => 'required',
'notlp' => 'required',
'saran' => 'required',
'tanggapan' => 'required',
]);
pengaduan::find($id)->update($request->all());
return redirect()->route('pengaduan.index')
->with('suksess!!');
}
19
Gambar 13 merupakan halaman laporan pengaduan. Halaman ini berfungsi
untuk menampilkan statistik data pengaduan perhari. Perintah untuk menampilkan
statistik data dapat dilihat pada Kode Program 8.
Kode Program 8 Perintah untuk Statistik Data PerHari
Kode program 8 merupakan perintah untuk tampil statistik data terdapat pada
controller dengan nama ChartsController. Data diambil berdasarkan variabel tanggal
pada tabel pengaduan. Data pengaduan yang masuk dijumlahkan berdasarkan tanggal.
Pemanggilan view bar pada folder pages dilakukan untuk menampilkan BarChart.
Gambar 14 Tampilan Statistik Data Pengaduan PerBulan
Gambar 14 merupakan tampilan statistik data pengaduan berdasarkan bulan.
Perintah untuk menampilkan statistik data pengaduan berdasarkan bulan dapat dilihat
pada Kode Program 9.
function bar(){
$votes = \Lava::DataTable();
$datapengaduan = DB::table('pengaduan')->groupBy('tanggal')->get();
$votes->addStringColumn('Jumlah')
->addNumberColumn('Jumlah');
foreach($datapengaduan as $pengaduan){
$votes->addRow(array($pengaduan->tanggal,
DB::table('pengaduan')-
>where('tanggal',$pengaduan>tanggal)>count()));
}
\Lava::BarChart('Jumlah')
->setOptions(array(
'datatable' => $votes,
'orientation' => 'horizontal', ));
return view('pages.bar');
}
public function tahunchart()
{
$visitor = DB::table('pengaduan')
->select(
DB::raw("year(tanggal) as year"),
DB::raw("count(*) as count","tanggal"))
->orderBy("tanggal")
->groupBy(DB::raw("year(tanggal)"))
->get();
$result[] = ['Year','Jumlah'];
foreach ($visitor as $key => $value) {
$result[++$key] = [$value->year, (int)$value->count];
}
return view('pages.tahunchart')
->with('visitor',json_encode($result));
}
public function bulanchart()
{
$visitor = DB::table('pengaduan')
->select(
DB::raw("month (tanggal) as month"),
DB::raw("count(*) as count","tanggal"))
->orderBy("tanggal")
->groupBy(DB::raw("month(tanggal)"))
->get();
$result[] = ['Month','Jumlah'];
20
Kode Program 9 Perintah untuk Statistik Data PerBulan
Kode Program 9 merupakan perintah untuk statistik data pengaduan perbulan
pada controller dengan nama ChartsController. Data diambil berdasarkan variabel
tanggal pada tabel pengaduan. Data pengaduan yang masuk dijumlahkan berdasarkan
bulan. Statistik data pengaduan ditampilkan dengan memanggil file bulancharts pada
folder pages.
5. Simpulan
Aplikasi pengaduan, kritik, dan saran merupakan aplikasi berbasis web yang
dibangun dengan menggunakan framework Laravel. Aplikasi ini dipakai sebagai
penghubung antara masyarakat kota Salatiga dan pihak PERSIPDA dalam
memberikan informasi, pengaduan, kritik, dan saran. Terdapat dua pengguna yang
berinteraksi dengan aplikasi ini yaitu user dan admin. User berperan dalam pengisian
data ke dalam aplikasi, sedangkan admin berperan dalam mengelola data. Aplikasi ini
membantu meningkatkan kualitas pelayanan perpustakaan yang ada di PERSIPDA
dengan mempermudah pihak user dalam memberikan pengaduan, kritik, dan saran
yang sebelumnya dilakukan secara manual sekarang dilakukan secara digital dan juga
mempermudah pihak PERSIPDA selaku admin dalam mengelola data informasi yang
masuk guna mengetahui apa yang harus ditingkatkan atau diperbaiki dalam pelayanan
serta mengetahui usulan kebutuhan bahan pustaka yang diajukan oleh masyarakat.
Saran untuk penelitian selanjutnya adalah mengembangkan website yang telah
dirancang dengan menambahkan fitur-fitur lainnya seperti laporan jumlah data
pengaduan berupa file berekstensi PDF atau Excel dan mengembangkan aplikasi ini
hingga dapat digunakan bukan hanya pada aplikasi web.
public function bulanchart(){
$visitor = DB::table('pengaduan')
->select(
DB::raw("month (tanggal) as month"),
DB::raw("count(*) as count","tanggal"))
->orderBy("tanggal")
->groupBy(DB::raw("month(tanggal)"))
->get();
$result[] = ['Month','Jumlah'];
foreach ($visitor as $key => $value) {
$result[++$key] = [$value->month, (int)$value->count]; }
return view('pages.bulanchart')
->with('visitor',json_encode($result)); }
21
6. Pustaka
[1] Dinas Perpustakaan dan Kearsipan Kota Salatiga 2013, Layanan
Perpustakaan, Kantor Perpustakaan dan Arsip Daerah Kota Salatiga, dilihat
21 Oktober 2016,
http://persipda.salatigakota.go.id/layanan/layanan-perpus/.
[2] Wikipedia Bahasa Indonesia 2016, Aplikasi Web, Wikipedia, dilihat 21
Oktober 2016, https://id.wikipedia.org/wiki/Aplikasi_web/.
[3] Ramadhani, M, Fajar 2015, „Pembangunan Aplikasi Informasi, Pengaduan,
Kritik, dan Saran Seputar Kota Cimahi pada Platform Android‟, Jurnal
Ilmiah Komputer dan Informatika,hh. 2089-9033.
[4] Simanuntak, D, Novianto 2015, „Aplikasi Manajemen Perpustakaan Berbasis
Web Menggunakan Framework Laravel Pada Yayasan HOME (House of
Mercy)‟,
[5] Wikipedia Bahasa Indonesia 2016, Laravel, Wikipedia, dilihat tanggal 06
Oktober 2016, https://id.wikipedia.org/wiki/Laravel/.
[6] Bruno Skvorc 2015, The Best PHP Framework for 2015: SitePoint Survey
Results, Sitepoint, dilihat tanggal 06 Oktober 2016,
https://www.sitepoint.com/best-php-framework-2015-sitepoint-survey-
results/.
[7] Aminudin 2015, Cara Efektif Belajar Framework Laravel, Yogyakarta,
Lokomedia.
[8] Ali 2014, Konsep Dasar MVC (Model-View_Controller) dari PHP, Situsali,
dilihat tanggal 06 Oktober 2016, https://situsali.com/konsep-dasar-mvc-
model-view-controller-dari-php/.