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
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
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 frameworklaravel 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.
FrameworkLaravel 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-
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
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.
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
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
Form Admin Controller Halaman web Database
1 : Menampilkan form login()
2 : mengisis username dan password()
3 : Validasi data()
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()
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
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 forminputan 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());
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'));
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>
@foreach ($pengaduan as $key => $pengaduans) <?php $no++ ;?>
<?php echo str_replace('/?', '?', $pengaduan->render());?> <div class="col-xs-12 col-sm-12 col-md-12 text-center">
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
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
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');
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.
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,