Pemrograman Web 1
Latar Belakang
Daftar Isi
Bagian 1
PENGEMBANGAN APLIKASI SARANA DAN PRASARANA
Langkah Kerja:
Logout X X X
Entri X X
peminjaman
barang
Entri data X X
barang
Generate X
laporan
friendliness
iii. Form pelaporan dibuat sekomunikatif mungkin
iv. Terapkan pemrograman berbasis obyek ( object oriented
programming)
v. Terapkan pemrograman dengan menyertakan unsur
multimedia
b. Hubungkan Aplikasi dengan Basis Data
i. Pilih dan instal aplikasi server basis data yang diinginkan.
ii. Rancang basis data dan alur program .
ii. Buat basis data dengan PDM sebagai berikut:
a. Xampp 7.2
https://www.dropbox.com/s/yfs7wxsut1932uy/bcit-ci-
CodeIgniter-3.1.11-0-gb73eb19.zip?dl=0
b. File Coding Bab 1-5
https://www.dropbox.com/s/iag0kifhbxj74az/Bani
%20Saleh.rar?dl=0
Bagian 2
MOCKUP SISTEM
A. Login
B. Master Supplier
C. Master Barang
D. Master User
G. Transaksi Peminjaman
Bagian 3
PENDAHULUAN
Dapat dilihat dari tampilan di atas bahwa mayoritas website modern saat ini
menggunakan PHP.
Sesuai dengan kasus pada penelitian yang dilakukan oleh penulis. Maka Dengan
menggunakan model MVC menghasilkan rancangan teknologi website OPD yang
dapat dikembangkan sesuai dengan kemampuan developer atau admin OPD.
Sehingga penggunakan sistem MVC dapat meningkatkan maintanability website
OPD dan organisasi kodenya lebih terstruktur.
Bagian 4
STRUKTUR DATABASE
MySQL adalah Sebuah program database server yang mampu menerima dan
mengirimkan datanya sangat cepat, multi user serta menggunakan peintah dasar
SQL ( Structured Query Language )[4] . MySQL merupakan dua bentuk lisensi, yaitu
FreeSoftware dan Shareware. MySQL yang biasa kita gunakan adalah MySQL
FreeSoftware yang berada dibawah Lisensi GNU/GPL ( General Public License ).
MySQL Merupakan sebuah database server yang free, artinya kita bebas
menggunakan database ini untuk keperluan pribadi atau usaha tanpa harus membeli
atau membayar lisensinya. MySQL pertama kali dirintis oleh seorang programmer
database bernama Michael Widenius .
Selain database server, MySQl juga merupakan program yang dapat mengakses
suatu database MySQL yang berposisi sebagai Server, yang berarti program kita
berposisi sebagai Client. Jadi MySQL adalah sebuah database yang dapat digunakan
sebagai Client mupun server. Database MySQL merupakan suatu perangkat lunak
database yang berbentuk database relasional atau disebut Relational Database
Management System ( RDBMS ) yang menggunakan suatu bahasa permintaan yang
bernama SQL (Structured Query Language ).
Contoh 4.1
CREATE DATABASE banisaleh;
b) Stored procedure
kumpulan pernyataan/procedure SQL yang disimpan dalam database.
Stored procedure dapat menerima parameter, dan Anda dapat mengatur
variabel, menulis pernyataan IF, dan lainnya dalam stored procedure [8].
Sebagian besar dari kita cukup akrab dengan pengaturan normal untuk
membangun aplikasi database, yaitu: membuat database, membuat tabel,
mengatur indeks, CRUD data dan sebagainya. Alur kerja itu berfungsi dengan
baik dalam banyak kasus, tetapi ada satu aspek penting dari pemrograman basis
data yang hilang: stored procedure.
Stored procedure dikompilasi sekali dan disimpan dalam bentuk yang dapat
dieksekusi kembali. Sehingga prosedur dapat dipanggil dengan cepat dan
efisien. Kode yang dapat dieksekusi secara otomatis di-cache dan dibagikan di
antara pengguna. Hal ini menyebabkan terjadinya penurunan kebutuhan
memori. Dengan mengelompokkan pernyataan SQL, stored procedure
memungkinkan laporan diproses dengan satu panggilan yang kemudian bisa
mengurangi lalu lintas jaringan dan meningkatkan waktu respon.
stok.jml_masuk=(stok.jml_masuk+jml_masuk),
stok.total_barang=(stok.total_barang+jml_masuk)
WHERE stok.id_barang=id_barang;
END;
stok.total_barang=(stok.total_barang+jml_keluar)
WHERE stok.id_barang=id_barang;
END;
c) Trigger
Sebuah Script MySQL Command yang memicu suatu kejadian dalam
database MySQL berupa aksi insert, update dan delete setelah syarat tertentu .
Lokasi penulisan Trigger adalah di dalam database yang bersangkutan, dan
Trigger tidak ditempatkan di php script [9]. Hasil penulisan dari sebuah Trigger
akan menimbulkan efek manipulasi database secara otomatis sesuai dengan
yang kita inginkan. Misalnya, setelah insert pada tabel_a dan kolom a1 maka
akan otomatis insert pada tabel_b pada kolom b1. Begitu pula untuk aksi update
dan delete.
Bagian 5
IMPLEMENTASI
A. Aktivasi Codeigniter
Tahapan berikutnya :
a. Library database
b. Library session
c. Helper url
str_replace(basename($_SERVER['SCRIPT_NAME']),"",
$_SERVER['SCRIPT_NAME']);
$config['index_page'] = '';
B. Form Login
Berikutnya buat sebuah controller, dengan nama Login.php
application/controllers/Login.php
Contoh Syntax 5.6
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Login extends CI_Controller{
function __construct(){
parent::__construct();
$this->load->helper('url');
$this->load->model('m_login');
}
function index(){
$this->load->view('v_login');
}
function aksi_login(){
$username=htmlspecialchars($this->input-
>post('username',TRUE),ENT_QUOTES);
$password=htmlspecialchars($this->input-
>post('password',TRUE),ENT_QUOTES);
$cek_dosen=$this->m_login->cek_login($username,$password);
if($cek_dosen->num_rows() > 0){
$data=$cek_dosen->row_array();
$this->session->set_userdata('masuk',TRUE);
$this->session->set_userdata('akses','1');
$this->session->set_userdata('username',$data[username]);
redirect('home');
}else{
redirect('login');
}
}
function logout(){
$this->session->sess_destroy();
redirect(base_url('login'));
}
}
Bagian 6
Tamplate Premium
1. Tamplate
Tahapan pertama yang dibutuhkan adalah Folder pada bab 2, yang
berisi :
<!--[if lt IE 10]>
<script
src="../../../global/vendor/media-match/media.match.min.js"></script>
<script src="../../../global/vendor/respond/respond.min.js"></script>
<![endif]-->
<!-- Scripts -->
<script src="global/vendor/breakpoints/breakpoints.js"></script>
<script>
Breakpoints();
</script>
</head>
<body class="animsition page-login-v3 layout-full">
<!--[if lt IE 8]>
<p class="browserupgrade">You are using an
<strong>outdated</strong> browser. Please <a
href="http://browsehappy.com/">upgrade your browser</a> to improve
your experience.</p>
<![endif]-->
<!-- Page -->
<div class="page vertical-align text-center" data-animsition-in="fade-in"
data-animsition-out="fade-out">>
<div class="page-content vertical-align-middle animation-slide-top
animation-duration-1">
<div class="panel">
<div class="panel-body">
<div class="brand">
<img class="brand-img" src="assets//images/logo.png"
width="80px" alt="...">
<h2 class="brand-text font-size-18"></h2>
</div>
<form method="post" action="<?php echo
base_url('Login/aksi_login'); ?>">
<div class="form-group form-material floating" data-
plugin="formMaterial">
<input type="text" class="form-control" name="username" />
<label class="floating-label">Username</label>
</div>
<div class="form-group form-material floating" data-
plugin="formMaterial">
<input type="password" class="form-control" name="password" />
<label class="floating-label">Password</label>
</div>
<button type="submit" class="btn btn-primary btn-block btn-lg mt-
40">Sign in</button>
</form>
</div>
</div>
<footer class="page-copyright page-copyright-inverse">
Crafted with <i class="red-600 wb wb-heart"></i> by UKISI</a>
<p>© 2021 - <?=$tahun?></p>
</footer>
</div>
</div>
<!-- End Page -->
<!-- Core -->
<script src="global/vendor/babel-external-helpers/babel-external-
helpers.js"></script>
<script src="global/vendor/jquery/jquery.js"></script>
<script src="global/vendor/tether/tether.js"></script>
<script src="global/vendor/bootstrap/bootstrap.js"></script>
<script src="global/vendor/animsition/animsition.js"></script>
<script
src="global/vendor/mousewheel/jquery.mousewheel.js"></script>
<script src="global/vendor/asscrollbar/jquery-asScrollbar.js"></script>
<script src="global/vendor/asscrollable/jquery-asScrollable.js"></script>
<!-- Plugins -->
<script src="global/vendor/switchery/switchery.min.js"></script>
<script src="global/vendor/intro-js/intro.js"></script>
<script src="global/vendor/screenfull/screenfull.js"></script>
<script src="global/vendor/slidepanel/jquery-slidePanel.js"></script>
<script
src="global/vendor/jquery-placeholder/jquery.placeholder.js"></script>
<!-- Scripts -->
<script src="global/js/State.js"></script>
<script src="global/js/Component.js"></script>
<script src="global/js/Plugin.js"></script>
<script src="global/js/Base.js"></script>
<script src="global/js/Config.js"></script>
<script src="assets/js/Section/Menubar.js"></script>
<script src="assets/js/Section/Sidebar.js"></script>
<script src="assets/js/Section/PageAside.js"></script>
<script src="assets/js/Plugin/menu.js"></script>
<!-- Config -->
<script src="global/js/config/colors.js"></script>
<script src="assets/js/config/tour.js"></script>
<script>
Config.set('assets', 'assets');
</script>
<!-- Page -->
<script src="assets/js/Site.js"></script>
<script src="global/js/Plugin/asscrollable.js"></script>
<script src="global/js/Plugin/slidepanel.js"></script>
<script src="global/js/Plugin/switchery.js"></script>
<script src="global/js/Plugin/jquery-placeholder.js"></script>
<script src="global/js/Plugin/material.js"></script>
<script>
(function(document, window, $) {
'use strict';
var Site = window.Site;
$(document).ready(function() {
Site.run();
});
})(document, window, jQuery);
</script>
</body>
</html>
2. Dashboard
<div>
<div>
<ul class="site-menu" data-plugin="menu">
<li class="site-menu-category">General</li>
<?php if($pemakai->level =='administrator'||$pemakai-
>level =='peminjam'){ ?>
<li class="dropdown site-menu-item has-sub">
<a data-toggle="dropdown" href="<?php echo base_url().'Pinjam'?
>" data-dropdown-toggle="false">
<i class="site-menu-icon wb-layout" aria-hidden="true"></i>
<span class="site-menu-title">Peminjaman Barang</span>
</a>
</li>
<?php } ?>
<?php if($pemakai->level =='administrator'||$pemakai-
>level =='manajemen'){ ?>
<li class="dropdown site-menu-item has-sub">
<a data-toggle="dropdown" href="<?php echo base_url().'Barang'?
>" data-dropdown-toggle="false">
<i class="site-menu-icon wb-edit" aria-hidden="true"></i>
<span class="site-menu-title">Data Barang</span>
</a>
</li>
<li class="dropdown site-menu-item has-sub">
<a data-toggle="dropdown" href="<?php echo base_url().'Masuk'?>"
data-dropdown-toggle="false">
<i class="site-menu-icon wb-download" aria-hidden="true"></i>
<span class="site-menu-title">Barang Masuk</span>
</a>
</li>
<li class="dropdown site-menu-item has-sub">
<a data-toggle="dropdown" href="<?php echo base_url().'Keluar'?>"
data-dropdown-toggle="false">
<i class="site-menu-icon wb-upload" aria-hidden="true"></i>
<span class="site-menu-title">Barang Keluar</span>
</a>
</li>
<?php } ?>
<?php if($pemakai->level =='manajemen'){ ?>
<li class="dropdown site-menu-item has-sub">
Bagian 7
CRUD
application/views/Barang/V_ barang.php
<th
scope="col">Lokasi</th>
<th
scope="col">Kondisi</th>
<th
scope="col">Sumber Dana</th>
<th
scope="col">#</th>
</tr>
</tfoot>
<?php
error_reporting(0);
$no=1;
$sql="SELECT*FROM barang
ORDER BY id_barang DESC";
$query = $this->db-
>query($sql);
foreach ($query->result() as
$prodi)
{
?>
<tbody>
<tr>
<td><?=$no?
></td>
<td><?
=$prodi->id_barang?></td>
<td><?
=$prodi->nama_barang?></td>
<td><?
=$prodi->spesifikasi?></td>
<td><?
=$prodi->lokasi?></td>
<td><?
=$prodi->kondisi?></td>
<td><?
=$prodi->sumber_dana?></td>
<td
class="actions">
<a href="<?php
echo base_url(). 'Barang/edit/'.$prodi->id_barang;?>">
<button
type="button" class="btn btn-sm btn-icon btn-pure btn-default on-default
edit-row" data-toggle="tooltip"
data-original-
title="Edit"><i class="icon wb-edit" aria-hidden="true"></i>
</button>
</a>
<a href="<?php
echo base_url(). 'Barang/hapus/'.$prodi->id_barang;?>">
<button
type="button" class="btn btn-sm btn-icon btn-pure btn-default on-default
remove-row" data-toggle="tooltip"
data-original-
title="Delete"><i class="icon wb-trash" aria-hidden="true"></i>
</button>
</a>
</td>
</tr>
</tbody>
<?php
$no++;
}
?>
</table>
</div>
</div>
</div>
</div>
<!-- Second Row -->
$this->load->view('Barang/U_barang',$data);
$this->load->view('Footer');
}
function update(){
$id_barang = $this->input->post('id_barang');
$nama_barang = $this->input->post('nama_barang');
$spesifikasi = $this->input->post('spesifikasi');
$lokasi = $this->input->post('lokasi');
$kondisi = $this->input->post('kondisi');
$sumber_dana = $this->input->post('sumber_dana');
$data = array(
'nama_barang' => $nama_barang,
'spesifikasi' => $spesifikasi,
'lokasi' => $lokasi,
'kondisi' => $kondisi,
'sumber_dana' => $sumber_dana
);
$where = array(
'id_barang' => $id_barang
);
$this->M_barang->update_data($where,$data,'barang');
redirect('Barang/index');
}
function hapus($id){
$where = array('id_barang' => $id);
$this->M_barang->hapus_data($where,'barang');
redirect('Barang/index');
}
}
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Nama Barang
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="text" class="form-control" name="nama_barang"
placeholder="Komputer"
required="" >
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Spesifikasi
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="text" class="form-control" name="spesifikasi"
placeholder="Ram 4Gb, HDD 150Gb"
required="" >
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Lokasi
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="text" class="form-control" name="lokasi"
placeholder="Gudang 1"
required="" >
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Kondisi
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="text" class="form-control" name="kondisi"
placeholder="Baru"
required="" >
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Sumber Dana
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="text" class="form-control" name="sumber_dana"
placeholder="STMIK"
required="" >
</div>
</div>
<div class="form-group col-xl-12 text-right padding-top-m">
<button type="submit" class="btn btn-primary"
id="validateButton1">Submit</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
$no=1;
$sql="SELECT*FROM
barang_masuk ORDER BY id_barang DESC";
$query = $this->db-
>query($sql);
foreach ($query->result() as
$prodi)
{
?>
<tbody>
<tr>
<td><?=$no?
></td>
<td><?
=$prodi->id_barang?></td>
<td><?
=$prodi->nama_barang?></td>
<td><?
=$prodi->tgl_masuk?></td>
<td><?
=$prodi->jml_masuk?></td>
<td><?
=$prodi->id_supplier?></td>
<td
class="actions">
<a href="<?php
echo base_url(). 'Masuk/hapus/'.$prodi->id_barang;?>">
<button
type="button" class="btn btn-sm btn-icon btn-pure btn-default on-default
edit-row" data-toggle="tooltip"
data-original-
title="Batal"><i class="icon wb-trash" aria-hidden="true"></i>
</button>
</a>
</td>
</tr>
</tbody>
<?php
$no++;
}
?>
</table>
</div>
</div>
</div>
</div>
<!-- Second Row -->
$sql="SELECT*FROM barang";
//echo fdebug($sql);
$query = $this->db-
>query($sql);
foreach ($query->result() as
$prodi)
{
?>
<div>
<div class="radio-custom radio-primary">
<input type="radio" id="<?=$prodi->id_barang?>"
name="id_barang" value="<?=$prodi->id_barang?>" required="">
<label for="<?=$prodi->id_barang?>"><?=$prodi-
>nama_barang?></label>
</div>
</div>
<?php
}
?>
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Supplier
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<?php
$sql="SELECT*FROM supplier";
//echo fdebug($sql);
$query = $this->db-
>query($sql);
foreach ($query->result() as
$prodi)
{
?>
<div>
<div class="radio-custom radio-primary">
<input type="radio" id="<?=$prodi->id_supplier?>"
name="id_supplier" value="<?=$prodi->id_supplier?>" required="">
<label for="<?=$prodi->id_supplier?>"><?=$prodi-
>nama_supplier?></label>
</div>
</div>
<?php
}
?>
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Tanggal
Masuk
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="date" class="form-control" name="tgl_masuk" >
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Jumlah
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="number" class="form-control" name="jml_masuk"
required="" >
</div>
</div>
<div class="form-group col-xl-12 text-right padding-top-m">
<button type="submit" class="btn btn-primary"
id="validateButton1">Submit</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
}
function hapus($id){
$query = $this->db->query("SELECT*FROM barang_masuk
WHERE id_barang='".$id."'");
$barang = $query->row();
$query2 = $this->db->query("CALL batal_masuk('".$id."','".
$barang->jml_masuk."')");
$where = array('id_barang' => $id);
$this->M_masuk->hapus_data($where,'barang_masuk');
redirect('Masuk/index');
}
}
$no=1;
$sql="SELECT*FROM
barang_keluar ORDER BY id_barang DESC";
$query = $this->db-
>query($sql);
foreach ($query->result() as
$prodi)
{
?>
<tbody>
<tr>
<td><?=$no?
></td>
<td><?
=$prodi->id_barang?></td>
<td><?
=$prodi->nama_barang?></td>
<td><?
=$prodi->tgl_keluar?></td>
<td><?
=$prodi->jml_keluar?></td>
<td><?
=$prodi->id_supplier?></td>
<td
class="actions">
<a href="<?php
echo base_url(). 'Keluar/hapus/'.$prodi->id_barang;?>">
<button
type="button" class="btn btn-sm btn-icon btn-pure btn-default on-default
edit-row" data-toggle="tooltip"
data-original-
title="Batal"><i class="icon wb-trash" aria-hidden="true"></i>
</button>
</a>
</td>
</tr>
</tbody>
<?php
$no++;
}
?>
</table>
</div>
</div>
</div>
</div>
<!-- Second Row -->
$sql="SELECT*FROM barang";
//echo fdebug($sql);
$query = $this->db-
>query($sql);
foreach ($query->result() as
$prodi)
{
?>
<div>
<div class="radio-custom radio-primary">
<input type="radio" id="<?=$prodi->id_barang?>"
name="id_barang" value="<?=$prodi->id_barang?>" required="">
<label for="<?=$prodi->id_barang?>"><?=$prodi-
>nama_barang?></label>
</div>
</div>
<?php
}
?>
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Supplier
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<?php
$sql="SELECT*FROM supplier";
//echo fdebug($sql);
$query = $this->db-
>query($sql);
foreach ($query->result() as
$prodi)
{
?>
<div>
<div class="radio-custom radio-primary">
<input type="radio" id="<?=$prodi->id_supplier?>"
name="id_supplier" value="<?=$prodi->id_supplier?>" required="">
<label for="<?=$prodi->id_supplier?>"><?=$prodi-
>nama_supplier?></label>
</div>
</div>
<?php
}
?>
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Tanggal
Keluar
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="date" class="form-control" name="tgl_keluar" >
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Jumlah
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="number" class="form-control" name="jml_keluar"
required="" >
</div>
</div>
<div class="form-group col-xl-12 text-right padding-top-m">
<button type="submit" class="btn btn-primary"
id="validateButton1">Submit</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
}
function hapus($id){
$query = $this->db->query("SELECT*FROM barang_keluar
WHERE id_barang='".$id."'");
$barang = $query->row();
$query2 = $this->db->query("CALL batal_keluar('".$id."','".
$barang->jml_keluar."')");
$where = array('id_barang' => $id);
$this->M_keluar->hapus_data($where,'barang_keluar');
redirect('Keluar/index');
}
}
<th
scope="col">Kondisi</th>
<th
scope="col">#</th>
</tr>
</tfoot>
<?php
error_reporting(0);
$no=1;
$sql="SELECT*FROM
pinjam_barang ORDER BY id_pinjam DESC";
$query = $this->db-
>query($sql);
foreach ($query->result() as
$prodi)
{
?>
<tbody>
<tr>
<td><?=$no?
></td>
<td><?
=$prodi->id_pinjam?></td>
<td><?
=$prodi->peminjam?></td>
<td><?
=$prodi->tgl_pinjam?></td>
<td><?
=$prodi->nama_barang?></td>
<td><?
=$prodi->jml_barang?></td>
<td><?
=$prodi->tgl_kembali?></td>
<td><?
=$prodi->kondisi?></td>
<td
class="actions">
<a href="<?php
echo base_url(). 'Pinjam/edit/'.$prodi->id_pinjam;?>">
<button
type="button" class="btn btn-sm btn-icon btn-pure btn-default on-default
edit-row" data-toggle="tooltip"
data-original-
title="Edit"><i class="icon wb-edit" aria-hidden="true"></i>
</button>
</a>
<a href="<?php
echo base_url(). 'Pinjam/hapus/'.$prodi->id_pinjam;?>">
<button
type="button" class="btn btn-sm btn-icon btn-pure btn-default on-default
remove-row" data-toggle="tooltip"
data-original-
title="Delete"><i class="icon wb-trash" aria-hidden="true"></i>
</button>
</a>
</td>
</tr>
</tbody>
<?php
$no++;
}
?>
</table>
</div>
</div>
</div>
</div>
<!-- Second Row -->
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Nama
Peminjam
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="text" class="form-control" name="peminjam"
placeholder="STIKES"
required="" >
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Tanggal
Pinjam
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="date" class="form-control" name="tgl_pinjam"
required="" >
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Jumlah
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="text" class="form-control" name="jml_barang"
placeholder="5"
required="" >
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Barang
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<?php
$sql="SELECT*FROM barang";
//echo fdebug($sql);
$query = $this->db-
>query($sql);
foreach ($query->result() as
$prodi)
{
?>
<div>
<div class="radio-custom radio-primary">
<input type="radio" id="<?=$prodi->id_barang?>"
name="id_barang" value="<?=$prodi->id_barang?>" required="">
<label for="<?=$prodi->id_barang?>"><?=$prodi-
>nama_barang?></label>
</div>
</div>
<?php
}
?>
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Tanggal
Kembali
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="date" class="form-control" name="tgl_kembali" >
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Kondisi
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="text" class="form-control" name="kondisi"
placeholder="Baru">
</div>
</div>
<div class="form-group col-xl-12 text-right padding-top-m">
</label>
<div class=" col-xl-12 col-md-9">
<input type="text" class="form-control" name="id_pinjam"
placeholder="1" value="<?=$ubah->id_pinjam?>"
required="" >
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Nama
Peminjam
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="text" class="form-control" name="peminjam"
value="<?=$ubah->peminjam?>"
required="" >
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Tanggal
Pinjam
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="date" class="form-control" name="tgl_pinjam"
value="<?=$ubah->tgl_pinjam?>"
required="" >
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Jumlah
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="text" class="form-control" name="jml_barang"
value="<?=$ubah->jml_barang?>"
required="" >
</div>
</div>
<div class="form-group row">
$sql="SELECT*FROM barang";
//echo fdebug($sql);
$query = $this->db-
>query($sql);
foreach ($query->result() as
$prodi)
{
if($prodi-
>id_barang==$ubah->id_barang){
?>
<div>
<div class="radio-custom radio-primary">
<input type="radio" id="<?=$prodi->id_barang?>"
name="id_barang" value="<?=$prodi->id_barang?>" required="" checked>
<label for="<?=$prodi->id_barang?>"><?=$prodi-
>nama_barang?></label>
</div>
</div>
<?php
}else{
?>
<div>
<div class="radio-custom radio-primary">
<input type="radio" id="<?=$prodi->id_barang?>"
name="id_barang" value="<?=$prodi->id_barang?>" required="">
<label for="<?=$prodi->id_barang?>"><?=$prodi-
>nama_barang?></label>
</div>
</div>
<?php
}
}
?>
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Tanggal
Kembali
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="date" class="form-control" name="tgl_kembali"
value="<?=$ubah->tgl_kembali?>" >
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Kondisi
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="text" class="form-control" name="kondisi"
value="<?=$ubah->kondisi?>" placeholder="Baru">
</div>
</div>
<div class="form-group col-xl-12 text-right padding-top-m">
<button type="submit" class="btn btn-primary"
id="validateButton1">Submit</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<?php endforeach;?>
);
$this->M_pinjam->input_data($data,'pinjam_barang');
redirect('Pinjam/index');
}
function edit($id){
$data['Pinjam'] = $this->M_pinjam->edit_data($id);
$this->load->view('Header');
$this->load->view('Pinjam/U_pinjam',$data);
$this->load->view('Footer');
}
function update(){
$id_pinjam = $this->input->post('id_pinjam');
$peminjam = $this->input->post('peminjam');
$tgl_pinjam = $this->input->post('tgl_pinjam');
$id_barang = $this->input->post('id_barang');
$nama_barang = $this->input->post('nama_barang');
$jml_barang = $this->input->post('jml_barang');
$tgl_kembali = $this->input->post('tgl_kembali');
$kondisi = $this->input->post('kondisi');
$data = array(
'tgl_kembali' => $tgl_kembali,
'kondisi' => $kondisi
);
$where = array(
'id_pinjam' => $id_pinjam
);
$this->M_pinjam->update_data($where,$data,'pinjam_barang');
redirect('Pinjam/index');
}
function hapus($id){
$where = array('id_pinjam' => $id);
$this->M_pinjam->hapus_data($where,'pinjam_barang');
redirect('Pinjam/index');
}
}
$sql="SELECT*FROM stok";
$query = $this->db-
>query($sql);
foreach ($query->result() as
$prodi)
{
?>
<tbody>
<tr>
<td
align='center'><?=$no?></td>
<td
align='center'><?=$prodi->id_barang?></td>
<td><?
=$prodi->nama_barang?></td>
<td
align='center'><?=$prodi->jml_masuk?></td>
<td
align='center'><?=$prodi->jml_keluar?></td>
<td
align='center'><?=$prodi->total_barang?></td>
</tr>
</tbody>
<?php
$no++;
}
?>
</table>
Bagian 8
Report PDF dengan PHP menggunakan DOMPDF
application/controllers/Laporan.php
<?php
defined('BASEPATH') OR exit('No direct script
access allowed');
Penjelasan Skrip:
$this->pdf->loadHtml($html);
kita melakukan konversi dari code html yang ada di variabel $html,
menjadi bentuk PDF
$this->pdf->render();
$this->load->view('V_laporan');
$this->pdf->setPaper('A4', 'landscape');
Report Excel
</a>
</li>
<?php
header("Content-type: application/octet-stream");
header("Pragma: no-cache");
header("Expires: 0");
?>
<thead>
<tr>
<th
scope="col">No</th>
<th
scope="col">Nama</th>
<th
scope="col">Username</th>
<th
scope="col">Level</th>
</tr>
</thead>
<?php
error_reporting(0);
$no=1;
$sql="SELECT*FROM `user`";
$query = $this->db-
>query($sql);
foreach ($query->result() as
$prodi)
?>
<tbody>
<tr>
<td
align='center'><?=$no?></td>
<td
align='center'><?=$prodi->nama?></td>
<td><?
=$prodi->username?></td>
<td
align='center'><?=$prodi->level?></td>
</tr>
</tbody>
<?php
$no++;
?>
</table>
<?php
function __construct(){
parent::__construct();
$this->load->helper('url');
$this->load->view('V_lap_pengguna');
Mail Server
$kd=htmlspecialchars($this->input-
>post('id_barang',TRUE),ENT_QUOTES);
$nm=htmlspecialchars($this->input-
>post('nama_barang',TRUE),ENT_QUOTES);
$sp=htmlspecialchars($this->input-
>post('spesifikasi',TRUE),ENT_QUOTES);
$config['charset'] = 'iso-8859-1';
$config['wordwrap'] = TRUE;
$config['mailtype'] = 'html';
$this->load->library('PHPMailerAutoload');
//$mail->SMTPDebug = 1;
$mail->Debugoutput = 'html';
// set smtp
$mail->isSMTP();
$mail->Host = "ssl://smtp.gmail.com";
$mail->Port = '465';
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'TLS';
$mail->Username = '*********@gmail.com';
$mail->Password = '******';
// $mail->WordWrap = 50;
#$mail->addReplyTo('info@example.com', 'Information');
//$mail->addCC('info@example.com', 'Information');
//$mail->addBCC('info@example.com', 'Information');
//$mail->addAttachment('abc.jpg');
Spesifikasi ".$sp."
Regards,
Jl. Mayor M. Hasibuan No 68, Margahayu, Bekasi Timur, Kota Bekasi, Jawa Barat
17113
Website : stmik.banisaleh.ac.id
Mobile : 0811-9999-999
E-Mail : abc@gmail.com
$mail->Body = $message;
$mail->SMTPKeepAlive = true;
$mail->Mailer = "smtp";
$mail->send();
Bagian 9
Upload file & Dashboard
application/views/Header.php
Silahkan buka file Header.php menggunakan text edit pada baris 107,
lalu ubah code seperti berikut ini :
application/views/Footer.php
Silahkan buka file Footer.php menggunakan text edit pada baris 80,
lalu tambahkan code seperti berikut ini :
Form Profil
Berikutnya buat sebuah config, dengan nama autoload.php
application/config/autoload.php
Contoh Syntax 9.5
$autoload['helper'] = array('url','form');
<?php
function __construct(){
parent::__construct();
$this->load->helper('form','url');
$this->load->model('M_profil');
$data['Profil'] = $this->M_profil->edit_data($id);
$this->load->view('Header');
$this->load->view('V_profil',$data);
$this->load->view('Footer');
function update(){
$config['upload_path'] = 'foto/';
$config['allowed_types'] = 'jpg|png|jpeg';
$config['max_size'] = '2048';
$config['remove_space'] = TRUE;
if($this->upload->do_upload('gambar')){
$id_user = $this->input->post('id');
$username = $this->input->post('akun');
$nama = $this->input->post('nama');
$password = $this->input->post('sandi');
$data = array(
);
$where = array(
);
$this->M_profil->update_data($where,$data,'`user`');
redirect('Profil/index');
<?php
$count = 0;
foreach ($Profil->result() as
$ubah) :
$count++;
?>
<div class="page">
<div class="page-header">
<ol class="breadcrumb">
</ol>
<div class="page-header-actions">
target="_blank">
</a>
</div>
</div>
<div class="col-lg-6">
<div class="panel">
<div class="panel-body">
<span class="required">*</span>
</label>
required="">
</div>
</div>
<span class="required">*</span>
</label>
</div>
</div>
<span class="required">*</span>
</label>
required="">
</div>
</div>
<span class="required">*</span>
</label>
required="">
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<?php endforeach;?>
<?php
function update_data($where,$data,$table){
$this->db->where($where);
$this->db->update($table,$data);
function edit_data($id){
return $result;
Dashboard
<?php
function __construct(){
parent::__construct();
$this->load->helper('url');
$this->load->view('header');
$this->load->view('utama');
$this->load->view('footer');
<?php
error_reporting(0);
$b = $query2->row();
$b1 = $query2->row();
$c=($b->jum/$b1->ni)*100;
$f = $query2->row();
$f1 = $query2->row();
$f1=($f->jum/$f1->ni)*100;
$h = $query2->row();
$h1 = $query2->row();
$j=($h1->jum/$h->jum)*100;
?>
<div class="col-xxl-3">
<div class="row">
<div class="col-6">
</div>
<?=$b->jum?>
</div>
</div>
</div>
<div class="col-6">
</span>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-6">
</div>
<?=$f->jum?>
</div>
</div>
</div>
<div class="col-6">
</span>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-6">
</div>
<?=$h->jum?>
</div>
</div>
</div>
<div class="col-6">
</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
Bagian 10
Restfull API
– URL API
– Method GET/POST
– Parameter
http://pemrogramanweb2.xyz/belajar/
Sub Folder
http://pemrogramanweb2.xyz/belajar/categories/list.php
<?php
include 'inc.php';
?>
<html>
<head>
<title>Barang</title>
</head>
<script type="text/javascript">
function deleteData(id_barang) {
if (cfm) {
window.location.href='barang-delete.php?id_barang='+id_barang;
</script>
<body>
<?php
$api_categories_list = $api_url.'/categories/list.php';
$json_list = @file_get_contents($api_categories_list);
?>
<h1>Barang</h1>
<?php
if (!empty($info)) {
?>
<table border="1">
<tr>
<th>ID</th>
<th>Nama</th>
<th>Spesifikasi</th>
<th>Lokasi</th>
<th>Kondisi</th>
<th>jumlah</th>
<th>Sumber</th>
<th>Action</th>
</tr>
<?php
$no = 0;
foreach($result as $arr) {
$no++;
echo '
<tr>
<td>'.$no.'</td>
<td>'.$arr['nama_barang'].'</td>
<td>'.$arr['spesifikasi'].'</td>
<td>'.$arr['lokasi'].'</td>
<td>'.$arr['kondisi'].'</td>
<td>'.$arr['jumlah_barang'].'</td>
<td>'.$arr['sumber_dana'].'</td>
<td>'.$link_edit.' '.$link_delete.'</td>
</tr>
';
?>
</table>
</body>
</html>
<?php
header('Content-Type: application/json');
include dirname(dirname(__FILE__)).'/db/Db.class.php';
if (empty($id_barang)) {
$arr = array();
$arr['info'] = 'error';
echo json_encode($arr);
exit();
$datas = array();
$datas['id_barang'] = $id_barang;
$datas['nama_barang'] = $nama_barang;
$datas['spesifikasi'] = $spesifikasi;
$datas['lokasi'] = $lokasi;
$datas['kondisi'] = $kondisi;
$datas['jumlah_barang'] = $jumlah_barang;
$datas['sumber_dana'] = $sumber_dana;
if (!$exec) {
$arr = array();
$arr['info'] = 'error';
echo json_encode($arr);
exit();
$arr = array();
$arr['info'] = 'success';
echo json_encode($arr);
<?php
include 'inc.php';
if (!empty($id_barang)) {
$url = $api_url.'/categories/create.php';
$postdata = array();
$postdata['id_barang'] = $id_barang;
$postdata['nama_barang'] = $nama_barang;
$postdata['spesifikasi'] = $spesifikasi;
$postdata['lokasi'] = $lokasi;
$postdata['kondisi'] = $kondisi;
$postdata['jumlah_barang'] = $jumlah_barang;
$postdata['sumber_dana'] = $sumber_dana;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($postdata,'','&'));
$curl_error = curl_error($ch);
curl_close ($ch);
header('location:add.php?info='.$info.'&msg='.$msg);
exit();
?>
<html>
<head>
<title>Add Barang</title>
</head>
<body>
<h1>Add Barang</h1>
<?php
if (!empty($info)) {
?>
<table border="1">
<tr>
<td>ID</td>
<td>:</td>
</tr>
<tr>
<td>Nama</td>
<td>:</td>
</tr>
<tr>
<td>Spesifikasi</td>
<td>:</td>
</tr>
<tr>
<td>Lokasi</td>
<td>:</td>
</tr>
<tr>
<td>Kondisi</td>
<td>:</td>
</tr>
<tr>
<td>jumlah</td>
<td>:</td>
</tr>
<tr>
<td>Sumber</td>
<td>:</td>
</tr>
</table>
<p>
</p>
</form>
</body>
</html>
<?php
header('Content-Type: application/json');
include dirname(dirname(__FILE__)).'/db/Db.class.php';
$arr = array();
$arr['info'] = 'success';
$arr['result'] = $cat_detail;
echo json_encode($arr);
<?php
header('Content-Type: application/json');
include dirname(dirname(__FILE__)).'/db/Db.class.php';
if (empty($id_barang) OR empty($nama_barang)) {
$arr = array();
$arr['info'] = 'error';
echo json_encode($arr);
exit();
$datas = array();
$datas['id_barang'] = $id_barang;
$datas['nama_barang'] = $nama_barang;
$datas['spesifikasi'] = $spesifikasi;
$datas['lokasi'] = $lokasi;
$datas['kondisi'] = $kondisi;
$datas['jumlah_barang'] = $jumlah_barang;
$datas['sumber_dana'] = $sumber_dana;
if (!$exec) {
$arr = array();
$arr['info'] = 'error';
echo json_encode($arr);
exit();
$arr = array();
$arr['info'] = 'success';
echo json_encode($arr);
<?php
include 'inc.php';
if (empty($id_barang)) {
header('location:index.php');
exit();
if (!empty($nama_barang)) {
$url = $api_url.'/categories/update.php';
$postdata = array();
$postdata['id_barang'] = $id_barang;
$postdata['nama_barang'] = $nama_barang;
$postdata['spesifikasi'] = $spesifikasi;
$postdata['lokasi'] = $lokasi;
$postdata['kondisi'] = $kondisi;
$postdata['jumlah_barang'] = $jumlah_barang;
$postdata['sumber_dana'] = $sumber_dana;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($postdata,'','&'));
$curl_error = curl_error($ch);
curl_close ($ch);
header('location:edit.php?id_barang='.$id_barang.'&info='.$info.'&msg='.$msg);
exit();
?>
<html>
<head>
<title>Edit Barang</title>
</head>
<body>
<h1>Edit Barang</h1>
<?php
if (!empty($info)) {
$api_categories_detail = $api_url.'/categories/detail.php?id_barang='.$id_barang;
$json_detail = @file_get_contents($api_categories_detail);
?>
<table border="1">
<tr>
<td>Nama Barang</td>
<td>:</td>
</tr>
<tr>
<td>Spesifikasi</td>
<td>:</td>
</tr>
<tr>
<td>Lokasi</td>
<td>:</td>
</tr>
<tr>
<td>Kondisi</td>
<td>:</td>
</tr>
<tr>
<td>jumlah</td>
<td>:</td>
</tr>
<tr>
<td>Sumber</td>
<td>:</td>
</tr>
</table>
<p>
</p>
</form>
</body>
</html>
<?php
header('Content-Type: application/json');
include dirname(dirname(__FILE__)).'/db/Db.class.php';
if (empty($id_barang)) {
$arr = array();
$arr['info'] = 'error';
echo json_encode($arr);
exit();
$arr = array();
$arr['info'] = 'success';
echo json_encode($arr);
<?php
include 'inc.php';
if (empty($id_barang)) {
header('location:index.php');
exit();
$url = $api_url.'/categories/delete.php';
$postdata = array();
$postdata['id_barang'] = $id_barang;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($postdata,'','&'));
$curl_error = curl_error($ch);
curl_close ($ch);
header('location:index.php?info='.$info.'&msg='.$msg);
DAFTAR PUSTAKA