Tim Penyusun,
Buku Ajar Web Programming Membangun Aplikasi Perpustakaan dengan Framework
Codeigniter (Front-End) / Penyusun, Maruloh, Nining Suryani dan Evy Priyanti. --
Yogyakarta, 2020. xii, 84 hlm; Uk:21x29 cm
ISBN 978-623-228-220-9
EISBN 978-623-228-339-8
Hak Cipta 2020, pada penulis
2
sebagai penunjang buku, penulis menyertakan tools pendukung yang digunakan untuk membantu
proses pembelajaran. Diantaranya file perpust web II, Codeigniter 3.1.6, text editor (Atom), xampp
5.6, dan Bootstrap. Silakan download melalui QR Code berkut:
3
PRAKATA
Alhamdulillahirabbil'aalamin, segala puja dan puji syukur penulis panjatkan kepada Allah
yang maha penyayang, tanpa karunia-nya, karena naskah buku ajar ini dapat diselesaikan tepat
waktu.
Buku ajar ini terdiri dari 10 bab pembahasan yaitu database, katalog buku, detail buku,
transaksi booking peminjaman, keranjang peminjaman, selesai booking peminjaman, laporan data
buku, laporan transaksi peminjaman dan setting akses client- server serta tidak lupa studi kasus
diakhir bab.
Buku ajar ini diharapakan mampu menjadi salah satu buku referensi yang digunakan untuk
menggali lebih dalam mengenai pembuatan aplikasi web dengan framework Codeigniter
Buku ajar ini bertujuan untuk mempelajari Codeigniter sebagai framework dan
mengaplikasikannya kedalam bentuk web aplikasi untuk studi kasus perpustakaan, yang
sebelumnya sudah dipelajari di Web Programming membangun aplikasi perpustakaan (Back-End).
Sebelumnya penulis memohon maaf jika dalam penulisan buku ajar ini masih terdapat
kekurangan dan kekhilafan yang terjadi selama proses pembuatan dan pencetakan buku ajar ini.
Karena itu, penulis berharap agar pembaca berkenan menyampaikan saran dan kritikan. Dengan
segala pengharapan dan keterbukaan, penulis menyampaikan rasa terima kasih dengan setulus-
tulusnya.
Akhir kata, penulis berharap agar buku ini dapat membawa manfaat kepada pembaca.
4
KATA PENGANTAR
Segala puji syukur kepada Tuhan Yang Maha Esa karena berkat rahmatNya penulisan buku
ajar dengan judul Membangun Aplikasi Perpustakaan dengan Framework Codeigniter dapat
terselesaikan dengan baik. Buku ajar ini disusun dan disajikan dalam bentuk praktikum sehingga
diharapkan dapat membekali pembaca memahami Pembuatan web dengan menggunakan
Framework Codeigniter.
Seperti layaknya sebuah buku ajar, maka pembahasan dimulai dengan menjelaskan target
pembelajaran yang hendak dicapai. Dengan demikian pengguna buku ajar ini secara mandiri dapat
mengukur tingkat ketuntasan yang dicapainya.
Penulis menyadari sepenuhnya bahwa buku ajar ini tentu memiliki banyak kekurangan.
Untuk itu penulis dengan lapang dada menerima masukan dan kritik yang konstruktif dari berbagai
pihak demi kesempurnaannya di masa yang akan datang. Semoga buku ajar ini dapat bermanfaat
bagi para penggunanya.
Tim Penulis
5
DAFTAR ISI
Halaman
PRAKATA ................................................................................................................................................................. 4
KATA PENGANTAR .............................................................................................................................................. 5
DAFTAR ISI ............................................................................................................................................................. 6
DAFTAR GAMBAR ................................................................................................................................................ 7
BAB 1 DATABASE ................................................................................................................................................ 9
BAB 2 Katalog Buku .......................................................................................................................................... 15
BAB 3 Detail Buku ............................................................................................................................................. 23
BAB 4 Transaksi Booking Peminjaman .................................................................................................... 28
BAB 5 Keranjang Peminjaman ..................................................................................................................... 32
BAB 6 Selesai Booking Buku ......................................................................................................................... 38
BAB 7 Laporan Data Buku .............................................................................................................................. 43
BAB 8 Laporan Transaksi Peminjaman ..................................................................................................... 54
BAB 9 Setting Akses Client-Server .............................................................................................................. 70
BAB 10 Studi Kasus........................................................................................................................................... 74
Daftar Pustaka ..................................................................................................................................................... 80
GLOSARIUM .......................................................................................................................................................... 81
INDEX ...................................................................................................................................................................... 83
6
DAFTAR GAMBAR
7
Gambar 9.1 Tampilan Halaman User Overview ...................................................................... 71
Gambar 9.2 Tampilan Halaman User ....................................................................................... 71
Gambar 9.3 Tampilan Halaman Login User ............................................................................ 73
Gambar 9.4 Tampilan Halaman Katalog Buku Pada User....................................................... 73
8
BAB 1
DATABASE
Deskripsi:
Membahas persiapan dasar untuk memulai sebuah projek aplikasi berbasis web, dalam hal ini
kasus yang di angkat adalah perpustakaan, dan dapat memahami desain dan pembuatan database.
Tujuan Pembelajaran:
Setelah melakukan bagian ini pembaca mampu:
1. Merancang dan membuat database
2. Melakukan Koneksi database
9
library dan helper secara otomatis di codeiginter, kita bisa mengaturnya dalam file autoload.php
dalam folder application/config/autoload.php
Perpustakaan/application/config/autoload.php
Library yang akan kita load secara otomatis adalah database, session dan form_validation.
Cari sintak
Kemudian tambahkan database, session dan form_validation. Sehingga menjadi seperti berikut:
Dan helper yang akan kita load secara otomatis adalah url:
Kemudian tambahkan “url” (karena kita hanya membutuhkan helper url disini). Maka akan
menjadi seperti berikut.
Proses autoload library dan helper selesai. Selanjutnya kita akan membuat database untuk aplikasi
perpustakaan dan melakukan konfigurasi database pada Codeigniter.
10
Gambar 1.1 Struktur Database Perpustakaan
b. Pembuatan Tabel
Ada 7 buah tabel yang akan kita buat dalam database, yaitu sebagai berikut:
1. Tabel Admin
Buatlah tabel admin dengan struktur tabel seperti dibawah ini:
2. Tabel Anggota
Buatlah tabel anggota dengan struktur tabel seperti dibawah ini:
11
Gambar 1.3 Struktur Tabel Anggota
3. Tabel Kategori
Buatlah tabel katagori dengan struktur tabel seperti dibawah ini:
4. Tabel Buku
Buatlah tabel buku dengan struktur tabel seperti dibawah ini:
12
5. Tabel Transaksi
Buatlah tabel transaksi dengan struktur tabel seperti dibawah ini:
6. Tabel Peminjaman
Buatlah tabel peminjaman dengan struktur tabel seperti dibawah ini:
7. Tabel detail_pinjam
Buatlah tabel detail pinjam dengan struktur tabel seperti dibawah ini:
13
Gambar 1.8 Struktur Tabel Detail_Pinjam
C. Latihan
Pastikan pembaca sudah mengerjakan materi perpustakaan halaman admin yang sudah
didownload pada QR Code
14
BAB 2
Katalog Buku
Deskripsi:
Membahas bagaimana cara memodifikasi form login dan halaman katalog buku. Halaman login
digunakan untuk masuk ke dalam aplikasi perpustakanaan sedangkan halaman katalog buku
digunakan untuk menampilkan daftar buku yang ada.
Tujuan Pembelajaran:
Setelah melakukan bagian ini pembaca mampu:
1. Memodifikasi form login
2. Membuat halaman katalog buku
3. Membuat tambahan fungsi model
4. Membuat halaman controller member
15
B. Edit Controller Welcome
Jika pada halaman login sebelumnya kita menggunakan form login untuk masuk ke halaman
admin, di sini kita akan edit halaman login agar bisa masuk ke halaman member atau anggota.
public function login(){
$username = $this->input->post('username');
$password = $this->input->post('password');
$this->form_validation->set_rules('username','Username','trim|required');
$this->form_validation->set_rules('password','Password','trim|required');
if($this->form_validation->run() != false){
$where = array('username' => $username, 'password' => md5($password) );
16
$data = $this->M_perpus->edit_data($where, 'admin');
$d = $this->M_perpus->edit_data($where, 'admin')->row();
$cek = $data->num_rows();
17
<?php
defined('BASEPATH') or exit ('NO Direct Script Access Allowed');
function index(){
$data['anggota'] = $this->M_perpus->get_data('anggota')->result();
$data['buku'] = $this->M_perpus->get_data('buku')->result();
$this->load->view('daftarbuku', $data);
}
}
Dari controller member tersebut, fungsi index akan mengarahkan ke halaman view-
daftarbuku. Karena itu, langkah berikutnya kita akan membuat view-daftarbuku.php
D. Membuat view Daftar Buku
Buatlah sebuah file baru dengan nama daftarbuku.php pada
localhost/perpust/application/view/daftarbuku.php, ketikkan kode program berikut:
<html lang="en">
<head>
<title>Perpustakaan |</title>
<link rel="stylesheet" href="<?php echo base_url()?>assets/css/bootstrap.min.css" />
<script src="<?php echo base_url()?>assets/js/jquery.min.js"></script>
<script src="<?php echo base_url()?>assets/js/bootstrap.min.js"></script>
18
<script type="text/javascript" src="<?php echo base_url().'assets/js/jquery.js'; ?>"></script>
<script type="text/javascript" src="<?php echo base_url().'assets/js/bootstrap.js'; ?>"></script>
</head>
<body>
<div><?php $this->load->view('toplayout') ?></div>
<?php if($this->session->flashdata())
{
echo "<div class='alert alert-danger alert-primary'>";
echo $this->session->flashdata('alert');
echo "</div>";
} ?>
<div style="padding: 25px;">
<div class="x_panel">
<div class="x_title">
<div class="page-header">
<h3><?=$header?></h3>
</div>
<div class="clearfix"></div>
</div>
<div class="x_content">
<!-- Tampilkan semua produk -->
<div class="row">
<!-- looping products -->
<?php foreach($buku as $buku) { ?>
<div class="col-sm-3 col-md-3">
<div class="thumbnail" style="height: 370px;">
<img src="<?php echo base_url();?>assets/upload/<?=$buku->gambar;?>" style="max-
width:100%; max-height: 100%; height: 150px; width: 120px">
<div class="caption">
<h4 style="min-height:40px;"><?=$buku->pengarang?></h4>
<p><?=substr($buku->judul_buku,0,30).'..'?></p>
19
<p><?=$buku->penerbit?></p>
<p><?=substr($buku->thn_terbit,0,4)?></p>
<p>
<?=anchor('peminjaman/tambah_pinjam/' . $buku->id_buku, ' Booking' , [
'class' => 'btn btn-primary',
'role' => 'button'
])?>
<?=anchor('buku/katalog_detail/' . $buku->id_buku, ' Detail' , [
'class' => 'btn btn-warning glyphicon glyphicon-zoom-in',
'role' => 'button'
])?>
</p>
</div>
</div>
</div>
<?php } ?>
<!-- end looping -->
</div>
</div>
</div>
</div>
<script type="text/javascript">
$('.alert-message').alert().delay(3000).slideUp('slow');
</script>
</body>
</html>
Pada file daftarbuku.php, terdapat pemanggilan file view-toplayout, oeh karena itu kita
pun harus membuat file tersebut. File toplayout.php, berfungsi untuk menampilkan menu bar dan
informasi cart peminjaman, dan menu logout.
20
Buatlah seuah file baru pada view dengan nama toplayout.php. berikan kode program
berikut:
<nav class="navbar navbar-default">
<div class="container">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<?=anchor('member', 'Perpustakaan', ['class'=>'navbar-brand'])?>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
21
</div><!-- /.navbar-collapse -->
</div><!-- /.container-fluid -->
</nav>
Jika berhasil, maka hasil setelah kita login sebagai member adalah sebagai berikut:
22
BAB 3
Detail Buku
Deskripsi:
Membahas bagaimana cara membuat dan memodifikasi halaman detail buku. Halaman detail buku
digunakan untuk menampilkan deskripsi buku secara detail/rinci.
Tujuan Pembelajaran:
Setelah melakukan bagian ini pembaca mampu:
1. Membuat sebuah controller detail buku
2. Memodifikasi controller detail buku
Setelah membuat katalog buku, selanjutnya kita akan membuat detail buku. Berdasarkan
kode program yang sudah kita buat, untuk melihat detail buku, maka kita diharuskan membuat
controller buku terlebih dahulu.
23
$data['pengarang'] = $fields->pengarang;
$data['penerbit'] = $fields->penerbit;
$data['kategori'] = $fields->nama_kategori;
$data['tahun'] = $fields->thn_terbit;
$data['isbn'] = $fields->isbn;
$data['gambar'] = $fields->gambar;
$data['id'] = $id;
}
$this->load->view('desain');
$this->load->view('toplayout');
$this->load->view('detail_buku', $data);
}
Perhatikan pada penggalan script di atas, sebuah function bernama katalog_detail() yang
digunakan untuk menampilkan keterangan yang lebih rinci dari sebuah buku yang ada pada
katalog. $id = $this -> uri -> segment(3) maksudnya adalah mengambil nilai yang terdapat di uri
segment 3 untuk dijadikan nilai dari variable $id.
untuk menampilkan data buku secara detail, maka dibutuhkan seleksi data pada tabel buku
dan kategori. Dalam hal ini ditunjukan dengan script query berikut.
$buku = $this->db->query('select*from buku b, kategori k where
b.id_kategori=k.id_kategori')->result();
Setelah diselect atau di read, kemudian index data dari tabel kita masukkan ke variabel agar
lebih mudah digunakan atau dipanggil dengan perintah foreach. Foreach ini merupakan perintah
perulangan untuk transformasi index data ke variabel sebanyak index data yang ada dalam tabel.
localhost/perpust/application/view/desain.php
24
<head>
<title>Perpustakaan |</title>
<link rel="stylesheet" href="<?php echo base_url()?>assets/css/bootstrap.min.css" />
<script src="<?php echo base_url()?>assets/js/jquery.min.js"></script>
<script src="<?php echo base_url()?>assets/js/bootstrap.min.js"></script>
</head>
Localhost/perpust/application/view/detail_buku.php
<div class="x_panel" align="center">
<div class="x_title">
<h2><i class="fa fa-book"></i> Detail Buku</h2>
<div class="clearfix"></div>
</div>
<div class="x_content">
<div class="row" >
<div class="col-sm-3 col-md-3">
<div class="thumbnail" style="height: auto; position: relative; left: 165%; width: auto;">
<img src="<?php echo base_url();?>assets/upload/<?=$gambar;?>" style="max-
width:100%; max-height: 100%; height: 150px; width: 120px">
<div class="caption">
<h4 style="min-height:40px;" align="center"><?=$pengarang?></h4>
<table class="table table-triped">
<tr>
<td>Judul Buku: </td><td><?=substr($judul,0,30).'..'?></td>
</tr>
<tr>
<td>Penerbit: </td><td><?=$penerbit?></td>
</tr>
<tr>
<td>Tahun Terbit: </td><td><?=substr($tahun,0,4)?></td>
</tr>
25
<tr>
<td>ISBN: </td><td><?=$isbn?></td>
</tr>
<tr>
<td>Kategori: </td><td><?=$kategori?></td>
</tr>
</table>
<p>
<a href="#" class="btn btn-primary" onclick="window.history.go(-1)"> Kembali</a>
<?=anchor('peminjaman/tambah_pinjam/' . $id, ' Booking' , [
'class' => 'btn btn-success',
'role' => 'button'
])?>
</p>
</div>
</div>
</div>
</div>
</div>
</div>
Script dalam file view detail_buku ini merupan implementasi atau kelanjutan dari
transformasi index data dari tabel ke variabel yang ada pad script function katalog_detail() untuk
ditampilkan pada interface user sebagai response dari request user ketika klik link detail yang ada
pada tampilan katalog buku.
Hasil tampilannya adalah seperti di bawah ini:
26
Gambar 3.1 Tampilan Halaman Detail Buku
Pada tampilan detail buku ini disediakan tombol booking dan tombol kembali. Tombol
booking dimaksudkan agar apabila user setelah melihat detail dari buku yang ada pada katalog
sudah merasa yakin, maka bisa langsung melakukan booking tanpa harus kembali dulu ke tampilan
katalog. Sedangkan tombol kembali untuk bisa kembali ke tampilan katalog dengan perintah java
script onclick seperti berikut:
<a href="#" class="btn btn-primary" onclick="window.history.go(-1)"> Kembali</a>
C. Latihan
27
BAB 4
Transaksi Booking Peminjaman
Deskripsi:
Membahas bagaimana cara membuat dan memodifikasi halaman transaksi booking peminjaman.
Halaman transaksi booking peminjaman digunakan untuk menyimpan data buku yang dipinjam.
Tujuan Pembelajaran:
Setelah melakukan bagian ini pembaca mampu:
1. Membuat sebuah controller peminjaman
2. Memodifikasi controller peminjaman
Pada tahap ini user melakukan klik tombol booking pada buku yang diinginkan, kemudian
data buku yang di klik tersebut akan dimasukkan ke dalam keranjang dalam hal ini tabel orderan
sebagai tabel sementara yang digunakan untuk menyimpan data buku pada saat klik tombol
booking.
Setelah booking, untuk menyelesaikan transaksi booking user harus melihat tampilan
keranjang. Pada tampilan keranjang ini ada dua(2) tombol yaitu tombol lanjutkan booking dan
tombol selesai booking.
Tombol lanjutkan booking digunakan untuk bisa booking buku yang lainnya apabila user
ingin melakukan booking buku yang lain. Sedangkan tombol selesai booking digunakan untuk
menyelesaikan booking agar data booking buku ini masuk ke sistem dan di proses oleh sistem dan
bisa dilakukan peminjaman buku.
Membuat Controller Peminjaman
<?php
defined('BASEPATH') or exit ('NO Direct Script Access Allowed');
28
$alert=$this->session->set_flashdata('alert', 'Anda belum Login');
redirect(base_url());
}
}
function index(){
$data['peminjaman'] = $this->db->query("SELECT * FROM detail_pinjam D, peminjaman
P, buku B, anggota A WHERE B.id_buku=D.id_buku and A.id_anggota=P.id_anggota")-
>result();
$this->load->view('admin/header');
$this->load->view('admin/peminjaman',$data);
$this->load->view('admin/footer');
}
//one to many
public function tambah_pinjam($id){
if($this->session->userdata('status') != "login"){
$alert=$this->session->set_flashdata('alert', 'Anda belum Login');
redirect(base_url());
}else{
$d = $this->M_perpus->find($id, 'buku');
$isi = array(
'id_pinjam' => $this->M_perpus->kode_otomatis(),
'id_buku' => $id,
'id_anggota' => $this->session->userdata('id_agt'),
'tgl_pencatatan' => date('Y-m-d'),
'tgl_pinjam' => '-',
'tgl_kembali' => '-',
'denda' => '10000',
'tgl_pengembalian' =>'-',
'total_denda' =>'0',
'status_peminjaman' =>'Belum Selesai',
29
'status_pengembalian' =>'Belum Kembali'
);
$o = $this->M_perpus->edit_data(array('id_buku'=>$id),'transaksi')->num_rows();
if($o>0) {
$this->session->set_flashdata('alert','Buku ini sudah ada dikeranjang');
redirect(base_url().'member');
}
$this->M_perpus->insert_data($isi, 'transaksi');
$jml_buku = $d->jumlah_buku-1;
$w=array('id_buku'=>$id);
$data = array('jumlah_buku'=>$jml_buku);
$this->M_perpus->update_data('buku', $data,$w);
redirect(base_url().'member');
}
}
Pada controller peminjaman diatas terdapat tiga buah function yang dibuat yaitu function
__construct(), function index() dan function tambah_pinjam(). Function __construct() dan
function index() sudah dibahas pada materi sebelumnya, jadi kali ini kita hanya akan membahas
function tambah_pinjam() yang mana function ini akan di jalankan ketika user melakukan interaksi
pada katalog dengan mengklik tombol booking. Dalam function ini terdapat script untuk validasi
user atau anggota. Karena yang bisa melakukan booking hanya anggota yang sudah melakukan
login. Jika belum login, maka tidak bisa booking.
if($this->session->userdata('status') != "login"){
$alert=$this->session->set_flashdata('alert', 'Anda belum Login');
redirect(base_url());
}
Dalam script tambah pinjam juga terdapat script dimana jika buku yang akan dibooking
sudah masuk atau sudah ada dalam keranjang maka akan muncul pesan bahwa buku tersebut sudah
ada di keranjang. Jika belum ada di keranjang maka bisa dibooking dan data buku yang dibooking
akan disimpan ke dalam tabel orderan (keranjang). Berikut ini penggalan scriptnya:
$o = $this->M_perpus->edit_data(array('id_buku'=>$id),'transaksi')->num_rows();
if($o>0) {
$this->session->set_flashdata('alert','Buku ini sudah ada dikeranjang');
30
redirect(base_url().'member');
}
$this->M_perpus->insert_data($isi, 'transaksi');
Terakhir dari script tambah_pinjam() ini terdapat perintah untuk mengubah stok buku yang
ada di perpustakaan. Agar ada pengurangan stok buku ketika sedang dipinjam.
$jml_buku = $d->jumlah_buku-1;
$w=array('id_buku'=>$id);
$data = array('jumlah_buku'=>$jml_buku);
$this->M_perpus->update_data('buku', $data,$w);
redirect(base_url().'member');
31
BAB 5
Keranjang Peminjaman
Deskripsi:
Membahas bagaimana cara membuat dan memodifikasi halaman keranjang peminjaman. Halaman
keranjang peminjaman digunakan untuk data sementara sebelum disimpan kedalam tabel
peminjaman.
Tujuan Pembelajaran:
Setelah melakukan bagian ini pembaca mampu:
1. Membuat fungsi lihat keranjang peminjaman.
2. Membuat fungsi hapus keranjang peminjaman.
32
$d=$this->M_perpus->edit_data(array('id_anggota' => $this->session-
>userdata('id_agt')),'transaksi')->num_rows();
if($d>0){
$this->load->view('desain');
$this->load->view('toplayout',$data);
$this->load->view('keranjang', $data);
}else{redirect('member');}
}
View keranjang.php
<div style="padding: 25px;">
<div class="page-header">
<h3 style="position: relative; left: 25%">Data Peminjam</h3>
</div>
<div style="position: relative; left: 25%">
<table>
<?php
foreach ($anggota as $a) {
?>
<tr><th>Nama Peminjam</th><th>:</th><th><?php echo $a->nama_anggota; ?></th></tr>
<tr><th>Alamat</th><th>:</th><th><?php echo $a->alamat; ?></th></tr>
<?php } ?>
<tr>
<td colspan="3">
<br/><br/>
<div class="page-header">
<h3>Data Buku</h3>
</div>
<div class="table-responsive">
<table class="table table-bordered table-striped table-hover" id="table-datatable" >
<thead>
<tr>
<th>No</th>
33
<th>Gambar</th>
<th>Judul Buku</th>
<th>Pengarang</th>
<th>Penerbit</th>
<th>Tahun</th>
<th>Pilihan</th>
</tr>
</thead>
<tbody>
<?php
$no = 1;
foreach($peminjaman as $b){
?>
<tr>
<td><?php echo $no++; ?></td>
<td><img src="<?php echo base_url();?>assets/upload/<?php echo $b-
>gambar; ?>" width="70"></td>
<td style="max-width: 200px"><?php echo $b->judul_buku; ?></td>
<td><?php echo $b->pengarang; ?></td>
<td><?php echo $b->penerbit; ?></td>
<td><?php echo $b->thn_terbit; ?></td>
</form>
<td>
<a class="btn btn-sm btn-danger" href="<?php echo
base_url().'peminjaman/hapus_keranjang/'.$b->id_buku; ?>"><span class="glyphicon
glyphicon-remove"></span> </a>
<br/>
</td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
34
</td>
</tr>
<tr><td colspan="3"><hr></td></tr>
<tr>
<td align="left">
<a class="btn btn-sm btn-primary" href="<?php echo base_url().'member'; ?>"><span
class="glyphicon glyphicon-delete"></span> Lanjutkan Booking Buku</a>
</td>
<td>
</td>
<td align="right">
<a class="btn btn-sm btn-success" href="<?php echo
base_url().'peminjaman/selesai_booking/'.$this->session->userdata('id_agt'); ?>"><span
class="glyphicon glyphicon-delete"></span> Selesaikan Booking</a>
</td>
</tr>
</table>
</div>
</div>
35
Gambar 5. 2 Keranjang Peminjaman Buku
Pada tampilan keranjang booking ini, terdapat 3 (tiga) tombol yaitu tombol untuk menghapus
data buku yang ada di keranjang, tombol untuk lanjutkan booking, dan tombol untuk selesai
booking. Untuk langkah berikutnya, kita akan membuat fungsi hapus_keranjang, untuk
menghapus data pemesana.
36
redirect(base_url().'peminjaman/lihat_keranjang');
}
Perhatikan pada script di atas. Function hapus_keranjang ini terdapat satu parameter berupa
$nomor parameter ini digunakan untuk menampung nilai/value yang terdapat pada uri yang
selanjutnya parameter ini digunakan untuk pencarian data yang ada di tabel orderan atau keranjang
untuk dihapus berdasarkan id_buku yang akan dihapus. Pada function hapus_keranjang() juga
terdapat perintah untuk mengupdate data jumlah atau stok buku karena tidak jadi dipinjam.
C. Latihan
Tambahkan informasi tanggal peminjaman pada halaman keranjang
peminjaman buku
37
BAB 6
Selesai Booking Buku
Deskripsi:
Membahas bagaimana cara menyelesaikan booking buku pada halaman keranjang peminjaman.
Fungsi selesai booking buku digunakan untuk menyelesaikan transaksi peminjaman dan fungsi
view info berfungsi untuk menampilkan hasil akhir dari booking buku.
Tujuan Pembelajaran:
Setelah melakukan bagian ini pembaca mampu:
1. Membuat fungsi lihat keranjang peminjaman.
2. Membuat fungsi hapus keranjang peminjaman.
38
$this->M_perpus->insert_data($isi, 'peminjaman');
$this->M_perpus->insert_detail($where);
$this->M_perpus->kosongkan_data('transaksi');
$this->load->view('desain');
$this->load->view('toplayout',$data);
$this->load->view('info', $data);
}
Pada function di atas terdapat 4 (empat) perintah, yaitu: menyimpan data ke tabel peminjaman,
$this->M_perpus->insert_data($isi, 'peminjaman');
dan menampilkan data buku yang berhasil dibooking ke file view info.php
Oleh karena itu, langkah berikutnya adalah kita akan membuat view info.php
39
File info.php berfungsi untuk menampilkan hasil akhir dari booking buku, berupa tampilan
buku yang telah dibooking. Kode programnya adalah sebagai berikut:
<div style="padding: 25px;">
<div style="position: relative; left: 25%">
<table>
<?php
foreach ($useraktif as $a) {
?>
<tr><th colspan="3">Terima Kasih <?php echo $a->nama_anggota; ?></th></tr>
<tr><th colspan="3">Buku Yang ingin Anda Pinjam Adalah Sebagai berikut:</th></tr>
<?php }
?>
<tr>
<td colspan="3">
<br/><br/>
<div class="page-header">
<h3>Data Buku</h3>
</div>
<div class="table-responsive">
<table class="table table-bordered table-striped table-hover" id="table-datatable"
>
<thead>
<tr>
<th>No</th>
<th>Judul Buku</th>
<th>Pengarang</th>
<th>Penerbit</th>
<th>Tahun</th>
</tr>
</thead>
<tbody>
<?php
40
$no = 1;
foreach($items as $b){
?>
<tr>
<td><?php echo $no++; ?></td>
<td style="max-width: 200px"><?php echo $b->judul_buku; ?></td>
<td><?php echo $b->pengarang; ?></td>
<td><?php echo $b->penerbit; ?></td>
<td><?php echo substr($b->thn_terbit,0,4); ?></td>
</form>
</tr>
<?php } ?>
</tbody>
</table>
</div>
</td>
</tr>
<tr><td colspan="3"><hr></td></tr>
<tr>
<td align="left" colspan="3">
<a class="btn btn-sm btn-primary" href="<?php echo base_url().'member';
?>"><span class="glyphicon glyphicon-delete"></span> Selesai</a>
</td>
</tr>
</table>
</div>
</div>
Setelah script di atas sudah selesai, tampilan hasilnya seperti dibawah ini;
41
Gambar 6.1 Tampilan Halaman Selesai Booking Buku
Tombol selesai digunakan untuk kembali ke halaman katalog
42
BAB 7
Laporan Data Buku
Deskripsi:
Membahas bagaimana cara membuat dan memodifikasi pencetakan laporan data buku dengan
menggunakan printer dan format pdf.
Tujuan Pembelajaran:
Setelah melakukan bagian ini pembaca mampu:
1. Membuat dan mencetak laporan data buku dengan media printer
2. Membuat dan mencetak laporan data buku dengan format pdf
43
b. Membuat halaman Laporan Buku
Langkah-langkah untuk membuat halaman laporan buku adalah sebagai berikut:
1. Tambahkan fungsi cetak_laporan_buku pada controller Admin.
Fungsi tersebut digunakan untuk memanggil view laporan_buku yang ada didalam
folder admin, dengan mengirimkan data buku kedalamnya.
2. Setelah itu kita buat form laporan_buku.php untuk menampilkan data buku di dalam folder
application/views/admin/laporan_buku.php
44
3. Hasil dari coding di atas adalah sebagai berikut:
45
c. Membuat Print Laporan Data Buku
Berdasarkan view laporan buku yang sudah kita buat sebelumnya, untuk membuat print
laporan data buku, kita diharuskan menambahkan fungsi laporan_print_buku di dalam controller
Admin.
Adapun langkah-langkah detail dalam membuat Print Laporan Data Buku adalah sebagai
berikut:
1. Tambahkan fungsi laporan_print_buku pada controller Admin
46
47
3. Hasil dari codingan tersebut adalah :
48
Gambar 7.5 Tampilan Halaman Detail Cetak Data Buku
49
Gambar 7.6 Tampilan Hasil ekstrak dompdf to Codeigniter
50
Selanjutnya bisa mengatur ukuran kertas, format kertas serta nama file pdf yang
akan di hasilkan nantinya
3. Buat view baru dengan nama laporan_pdf_buku
Application/views/admin/laporan_pdf_buku.php
51
4. Hasil dari codingan tersebut adalah sebagai berikut:
52
Gambar 7.8 Tampilan Halaman Detail Hasil view baru laporan_pdf_buku
C. Latihan
Tugas
1. Buat laporan Data anggota dalam bentuk print out (Print) dan bentuk Pdf.
2. Untuk panduan silakan sihat kembali materi pembuatan laporan data anggota
pada pertemuan 7
53
BAB 8
Laporan Transaksi Peminjaman
Deskripsi:
Membahas bagaimana cara membuat dan memodifikasi pencetakan laporan transaksi peminjaman
per periode dengan menggunakan printer dan format pdf.
Tujuan Pembelajaran:
Setelah melakukan bagian ini pembaca mampu:
1. Membuat dan mencetak laporan transaksi peminjaman dengan media printer
2. Membuat dan mencetak laporan transaksi peminjaman dengan format pdf
Oleh karena itu kita akan membuat method baru lagi di controller Admin.php. yaitu
method/function laporan_transaksi().
54
Application/controllers/Admin.php
Pada method ini kita membuat kondisi. Jika terdapat data tanggal “dari” dan tanggal “sampai”,
maka view yang kita tampilkan adalah view laporan_filter_transaksi.php. Tapi jika tidak ada data
tanggal “dari” dan “sampai”, maka view yang kita tampilkan adalah view laporan_transaksi.php.
Pada view laporan.php ini kita hanya akan membuat form input penginputan tanggal. Untuk
di filter data laporan yang mau di tampilkan dari tanggal berapa dan sampai tanggal berapa.
Sedangkan pada view laporan_filter_transaksi.php, kita menampilkan data yang kita ambil
dari table transaksi dengan detail nya data transaksi dari tanggal yang di input, sampai dengan
tanggal yang di input. Fitur ini sering di sebut dengan menampilkan data dengan filter tanggal
Sekarang kita akan membuat 2 buah view baru dalam folder admin. Dengan nama
laporan_transaksi.php dan laporan_filter_transaksi.php
Application/views/admin/laporan_transaksi.php
55
Application/views/admin/laporan_filter_transaksi.php
56
57
Sekarang kita coba klik pada menu “laporan Transaksi”
Maka akan di arahkan ke method laporan() yang menampilkan form untuk filter tanggal.
58
sampai yang di kirim, maka view yang di tampilkan adalah view laporan_filter.php. bukan lagi
view laporan.php
Dan view laporan_filter_transaksi.php sudah kita buat pada penjelasan sebelumnya. Jadi
langsung saja kita coba jalankan pada browser dengan langsung menentukan data yang ingin di
tampilkan dari tanggal berapa sampai tanggal berapa. Disini saya mencoba menampilkan data
transaksi dari tanggal 1/07/2018 sampai dengan 31/07/2018.
59
Dan klik tombol cari. Maka akan di tampilkan semua data transaksi sesuai tanggal yang kita
tentukan
Dan data transaksi pun berhasil tampil sesuai tanggal yang di filter.
60
Gambar 8.5 Tampilan URL pada Halaman Detail Laporan Transaksi Per tanggal
Perhatikan pada gambar di atas. terlihat url tujuan dari link/tombol print saat cursor di letakkan
pada tombol print. Seperti yang terlihat pada gambar. Halaman akan di arahkan ke method
laporan_print_transaksi(). Dengan mengirim data melalui url (GET)
Selanjutnya buat method baru dengan nama laporan_print_transaksi() pada controller
Admin.php
61
Seperti yang terlihat pada method laporan_print_transaksi() di atas, query berikut adalah
query mysql untuk mendapatkan data transaksi sesuai dengan tanggal dari dan tanggal sampai.
sama seperti cara menampilkan data transaksi yang sudah di bahas sebelumnya.
Hasil dari query di atas kita tampilkan pada view laporan_print_transaksi.php dalam folder
admin. Buat view baru dengan nama laporan_print_transaksi.php
Application/views/admin/laporan_print_transaksi.php
62
63
Sekarang kita akan mencoba klik tombol print. Dan lihat hasilnya
64
Gambar 8.6 Tampilan Halaman Print Preview
65
1. buat method baru lagi pada controller Admin.php dengan nama
laporan_pdf_transaksi()
Application/controllers/Admin.php
66
67
3. kita lihat hasil pembuatan cetak laporan PDF berdasarkan tanggalnya. Klik pada
tombol “Cetak PDF”
68
Gambar 8.8 Tampilan Halaman Cetak PDF
69
BAB 9
Setting Akses Client-Server
Deskripsi:
Membahas bagaimana cara membuat akses client-server agar dapat menggunakan database secara
bersamaan menggunakan jaringan intranet yang sama.
Tujuan Pembelajaran:
Setelah melakukan bagian ini pembaca mampu:
1. Membuat Akses Client-Server
2. Menggunakan database bersamaan
3. Melakukan setting Jaringan dan IP menggunakan Share wifi melalui HP.
Untuk dapat membuat Akses Client-Server dan pemakaian database bersama, maka kita
memerlukan sebuah jaringan lokal. Dapat menggunakan kabel jaringan, dapat juga menggunakan
intranet dalam 1 ruangan, atau dapat juga menggunakan share wifi menggunakan Handphone
(HP). Untuk kasus ini agar mudah dalam praktiknya kita gunakan share wifi dengan menggunakan
HP. Satu komputer akan digunakan sebagai Server, sedangkan untuk client kita gunakan
handphone (HP) yang terhubung dalam satu jaringan yang sama.
Jadi untuk dapat menggunakan database bersama dalam jaringan local, yang harus
dipersiapkan adalah:
• 1 buah komputer/laptop sebagai server,
• Handphone yang memiliki browser sebagai client
• Jaringan local (bisa menggunakan kabel jaringan, intranet, atau share wifi lewat HP)
Langkah-langkah setting Jaringan dan IP dalam penggunaan Database bersama adalah sebagai
berikut:
1. Silakan Share wifi melalui HP.
2. Koneksikan komputer server ke wifi tersebut, jika sudah terkoneksi maka komputer akan
memiliki IP. Sebagai contoh komputer sebagai server memiliki IP 172.20.104.17
3. Masuk kedalam PhpMyAdmin (untuk komputer server), dan buat user Privileges agar MySQL
dapat diakses oleh komputer client.
4. Pilih Privileges/User, kemudian Add a new User/Add user
70
Gambar 9.1 Tampilan Halaman User Overview
5. Isi data yang disediakan, User name : root, Host : %, password : admin, Database for user :
Grant all privileges, Global Privileges : Check All || Add User
71
6. Buka kembali file database.php yang ada di folder perpust/application/config, lakukan
perubahan untuk hostname, dan password.
7. $db['default'] = array(
8. 'dsn' => '',
9. 'hostname' => '172.20.104.17',
10. 'username' => 'root',
11. 'password' => 'admin',
12. 'database' => 'perpus',
13. 'dbdriver' => 'mysqli',
14. 'dbprefix' => '',
15. 'pconnect' => FALSE,
16. 'db_debug' => (ENVIRONMENT !== 'production'),
17. 'cache_on' => FALSE,
18. 'cachedir' => '',
19. 'char_set' => 'utf8',
20. 'dbcollat' => 'utf8_general_ci',
21. 'swap_pre' => '',
22. 'encrypt' => FALSE,
23. 'compress' => FALSE,
24. 'stricton' => FALSE,
25. 'failover' => array(),
26. 'save_queries' => TRUE
27. );
28. Langkah terakhir, silakan akses web perpust melalui handphone dengan mengetikkan ke
dalam url 172.20.104.17/perpust/, jika berhasil maka akan tampil seperti berikut:
72
Gambar 9.3 Tampilan Halaman Login User
73
BAB 10
Studi Kasus
Deskripsi:
Membahas bagaimana membuat database dan aplikasi sistem informasi akademik pada halaman
admin sesuai kebutuhan dari sistem tersebut
Tujuan Pembelajaran:
Setelah melakukan bagian ini pembaca mampu:
1. Memahami dan menganalas permasalahan dari studi kasus yang diberikan
2. Merancang dan membuat sistem informasi akademik yang diberikan pada studi kasus
Sebuah akademik ingin memiliki halaman Admin dan mencetak laporan pada sistem
informasi akademik berbasis web, dengan kebutuhan sebagai berikut:
1. Struktur database dan tabel yang diperlukan
a. Nama database : siakad
Nama tabel : user
74
c. Nama tabel : matakuliah
3. Buat halaman admin seperti berikut. Gunakan simple template. Template dapat di
download disini
75
4. Buatlah halaman untuk mengatur data mahasiswa
a. Halaman awal mahasiswa
76
d. Halaman cetak data mahasiswa
77
b. Halaman tambah matakuliah
78
6. Buatlah halaman untuk mengatur menu download
Ketika dipilih tombol download, maka akan mengarahkan ke tampilan cetak dengan pdf
79
Daftar Pustaka
Basuki. Awan Pribadi.(2011). Membangun Web Berbasis PHP dengan Framewok Codeigniter.
McCool. Shawn. ( 2012). “Laravel Starter The definitive introduction to the Laravel PHP
web development framework”. Packtpub
Raharjo, B. (2011). Belajar Otodidak Pemrograman Web dengan PHP+ Oracle. Bandung :
Informatika
Riyanto. (2011). Membuat Sendiri Aplikasi E-commerce dengan PHP dan MySQL Menggunakan
Codeigniter dan JQuery. Yogyakarta : Andi.
Sakur. Stendy B, (2011). PHP 5 Pemrograman Berorientasi Objek Konsep & Implementasi.
Jakarta : Andi Publisher
Saputra. Agus, ( 2012). Trik Dashyat menjadi web master dengan Framework CakePHP. Jakarta :
Andi Publisher
Solikin, I. (2014). Perancangan Sistem Infomasi Penjualan Berbasis Framework Model View
Controller (MVC) Pada PT Thamrin Brother Cabang Oki. Jurnal Media Informatika dan
Komputer. 4 (1), pp. 1-13.
Triton PB. (2006). Mengenal E-commerce dan Bisnis Di Dunia Cyber. Yogyakarta : Argo
80
GLOSARIUM
Client adalah komputer yang meminta (request) satu layanan tertentu ke suatu server
Codeigniter merupakan aplikasi sumber terbuka yang berupa kerangka kerja PHP dengan model
MVC untuk membangun website dinamis dengan menggunakan PHP
Css (Cascading Style Sheet) adalah aturan untuk mengatur beberapa komponen dalam sebuah
web sehingga akan lebih terstruktur dan seragam
Database adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik
sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari
basis data tersebut
DOMPDF merupakan salah satu pustaka PHP untuk membuat PDF
Helper adalah library yang berfungsi untuk membantu pengembang membangun aplikasi secara
lebih cepat dan efisien
Intranet sebuah jaringan privat (private network) yang menggunakan protokol-protokol Internet
(TCP/IP), untuk membagi informasi rahasia perusahaan atau operasi dalam perusahaan tersebut
kepada karyawannya
Interface mekanisme komunikasi antara pengguna (user) dengan sistem
IP Address adalah alamat atau identitas numerik yang diberikan kepada sebuah perangkat
komputer agar komputer tersebut teridentifikasi dan dapat berkomunikasi dengan komputer lain
Java Script adalah bahasa pemrograman tingkat tinggi dan dinamis. JavaScript populer di internet
dan dapat bekerja di sebagian besar penjelajah web populer seperti Google Chrome, Internet
Explorer, Mozilla Firefox, Netscape dan Opera. Kode JavaScript dapat disisipkan dalam halaman
web menggunakan tag SCRIPT
Library adalah koleksi dari rutin-rutin program yang digunakan untuk membangun dan
mengembangkan perangkat lunak
MVC adalah sebuah metode untuk membuat sebuah aplikasi dengan memisahkan data (Model)
dari tampilan (View) dan cara bagaimana memprosesnya (Controller)
Query adalah semacam kemampuan untuk menampilkan suatu data dari database dimana
mengambil dari table-tabel yang ada di database sesuai dengan yang diinginkan
Server adalah komputer yang menawarkan suatu layanan tertentu kepada komputer atau jaringan
lain
Template adalah Sebuah dokumen atau file yang memiliki format preset, digunakan sebagai titik
awal untuk aplikasi tertentu sehingga format tidak harus diciptakan kembali setiap kali digunakan
URL (Uniform Resource Locator) adalah rangkaian karakter menurut suatu format standar
tertentu, yang digunakan untuk menunjukkan alamat suatu sumber seperti dokumen dan gambar
di Internet
81
Validasi adalah proses untuk memastikan bahwa program beroperasi dengan benar dan sesuai
dengan aturan
Wifi (Wireless Fidelity) adalah sekumpulan standar yang digunakan untuk Jaringan Lokal
Nirkabel (Wireless Local Area Networks – WLAN) yang didasari pada spesifikasi IEEE 802.11
82
INDEX
browser ..................................................................................................................................................59, 70
client ....................................................................................................................................................4, 5, 70
Codeigniter ................................................................................................................ 3, 4, 5, 9, 49, 80, 81, 84
controller ..................................................... 15, 17, 18, 23, 24, 28, 30, 32, 36, 38, 44, 46, 50, 54, 58, 61, 66
database ................................................................................................................. 4, 9, 10, 11, 70, 72, 74, 81
DOMPDF ........................................................................................................................................49, 50, 81
function.......................................................................... 16, 18, 23, 24, 26, 28, 29, 30, 32, 36, 37, 38, 39, 54
Global Privileges .........................................................................................................................................71
helper .......................................................................................................................................................9, 10
interface .......................................................................................................................................................26
intranet.........................................................................................................................................................70
IP ......................................................................................................................................................5, 70, 81
java script ....................................................................................................................................................27
konfigurasi...................................................................................................................................................10
library ..........................................................................................................................................9, 10, 49, 81
model .....................................................................................................................................................15, 81
PhpMyAdmin ..............................................................................................................................................70
server .............................................................................................................................................4, 5, 70, 81
Share ............................................................................................................................................................70
Template ................................................................................................................................................75, 81
validasi ........................................................................................................................................................30
variabel ..................................................................................................................................................24, 26
view ..................... 7, 17, 18, 19, 20, 21, 23, 24, 25, 26, 29, 32, 33, 38, 39, 44, 46, 51, 52, 53, 55, 59, 62, 66
wifi ..............................................................................................................................................................70
83
BIODATA PENULIS
Evy Priyanti, M.Kom Lahir di Jakarta pada tahun 1986 dan menyelesaikan
pendidikan Diploma III Pada jurusan Manajemen Informatika dan Komputer di
Bina Sarana Informatika Jakarta pada tahun 2007, pada tahun 2008
menamatkan Studi Strata satu pada STMK Kuwera dan Strata Dua pada bidang
ilmu komputer di STMIK Nusa Mandiri. Menjadi Asisten Komputer pada
AMIK BSI Jakarta pada tahun 2005 dan diangkat menjadi instruktur pada tahun
2008. Tahun 2017 berhasil naik jabatan menjadi asisten ahli dan staff akademik.
Saat ini menjadi anggota konsorsium Sistem Informasi Akuntansi dan juga
anggota Asosiasi Dosen Indonesia. Paper yang pernah dipublikasi : Jurnal
PARADIGMA Volume : XVII Nomor 2 Bulan September Tahun 2015. Judul “Peningkatan
Backward Elimination Dengan Windowed Momentum Untuk Prediksi Kontrasepsi”. Jurnal
Swabumi Volume IV no 1 maret 2016. Judul “Peningkatan Neural Network Dengan Feature
Selection Untuk Prediksi Kanker Payudara”.
84