Anda di halaman 1dari 52

1JAM

MEMBUAT
APLIKASI RENTAL MOBIL
DENGAN PHP DAN MYSQL

SIGIT DWI PRASETYO


DAFTAR ISI

Hal. 3 Pengenalan singkat PDO

Hal. 3 Membuat Database

Hal. 4 Membuat Layout

Hal. 5 Membuat Koneksi ke Database

Hal. 6 Membuat File Index

Hal. 1 2 Membuat File Content

Hal. 1 3 Membuat Menu

Hal. 1 5 Membuat Halaman Utaman

Hal. 4 9 Membuat Laporan

SixghaKreasi
Madigondo RT 26/10, Sidoharjo, Samigaluh, Kulon Progo , DI Yogyakarta 55673

www.sixghakreasi.com webmaster@sixghakreasi.com 081-895-6973


PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL

Pengenalan singkat PDO

Dari sekian banyak tutorial lokal mengenai PHP dan MyS MySQLQL di Internet, hampir semuanya
menggunakan extension mysql extension
extension.. Padahal kalo dilihat, extension itu sudah old school.
Mungkin ada sedikit yang mulai beralih ke MySQLi extension.. Sebenernya mulai PHP 5.1 sudah ada
cara yang lebih baik dan dianjurkan daripada menggunakan extension mySQL dan MySQLi yaitu
menggunakan PDO (PHP Data Object)
Object).. PDO sendiri tidak bergantung kepada database MySQL saja,
tapi bisa mendukung ke DBMS yang lain. Dan banyak framework PHP yang sudah menggunakan PDO
secara default, salah satunya yii fr
framework.

Mengapa Menggunakan PDO PHP sebagai Koneksi Database?, maka jawaban yang paling singkat,
padat dan jelas adalah karena fungsi mysql_*() sudah deprecated sejak PHP versi 5.1 dan akan
segera dihilangkan dari PHP pada versi
versi-versi berikutnya. Untuk itu
u pada tulisan ini saya akan
menggunakan PDO sebagai salah satu metode mengakses basis data (dalam hal ini mysql).

“PDO : PHP Data Objek adalah sebuah lapisan akses basis data yang menyeragamkan metode untuk
mengakses banyak database. “

PDO tidak memperhitungkan sintaks database secara spesifik, tetapi dapat memungkinkan untuk
proses switching database dan platform yang biasanya dihindari oleh programmer, secara mudah
adalah dengan melakukan deklarasi koneksi untuk beberapa database sekaligus
sekaligus. PDO mendukung
database berikut ini.

 PDO_DBLIB ( FreeTDS / Microsoft SQL Server / Sybase )


 PDO_FIREBIRD ( Firebird/Interbase 6 )
 PDO_IBM ( IBM DB2 )
 PDO_INFORMIX ( IBM Informix Dynamic Server )
 PDO_MYSQL ( MySQL 3.x/4.x/5.x )
 PDO_OCI ( Oracle Call Interfa
Interface )
 PDO_ODBC ( ODBC v3 (IBM DB2, unixODBC and win32 ODBC) )
 PDO_PGSQL ( PostgreSQL )
 PDO_SQLITE ( SQLite 3 and SQLite 2 )
 PDO_4D ( 4D )

Membuat Database

Sebelum memulai coding pastikan terlebih dahulu, Anda sudah membuat database yang
bernama rental. Di dalamnya mesti ada lima tabel ini:

3
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL

CREATE TABLE `user` (


`id_user` varchar(10) NOT NULL,
`nama_user` varchar(20) NOT NULL,
`username` varchar(20) NOT NULL,
`password` varchar(50) NOT NULL,
`level` enum('admin','user') NOT NULL DEFAULT 'admin'
)
CREATE TABLE `level` (
`id_level` int(3) NOT NULL,
`level` varchar(10) NOT NULL
)
CREATE TABLE `mobil` (
`id_mobil` varchar(7) NOT NULL,
`nama_mobil` varchar(20) NOT NULL,
`nopol` varchar(100) NOT NULL,
`harga` decimal(10,2) NOT NULL,
`status` enum('Tersedia','Disewa') NOT NULL DEFAULT 'Tersedia'
)

CREATE TABLE `pelanggan` (


`id_pelanggan` varchar(7) NOT NULL,
`nama_pelanggan` varchar(20) NOT NULL,
`alamat` varchar(100) NOT NULL
)

CREATE TABLE `transaksi` (


`id_transaksi` varchar(10) NOT NULL,
`id_pelanggan` varchar(10) NOT NULL,
`id_mobil` varchar(10) NOT NULL,
`lama_sewa` int(3) NOT NULL,
`harga_sewa` decimal(10,2) NOT NULL,
`total_sewa` decimal(10,2) NOT NULL,
`denda` decimal(10,2) NOT NULL,
`status_mobil` enum('Open','Disewa','Dikembalikan') NOT NULL DEFAULT 'Open',
`tanggal_transaksi` datetime NOT NULL,
`tanggal_sewa` varchar(10) NOT NULL,
`tanggal_kembali` varchar(10) NOT NULL
)

Membuat Layout

4
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL

Untuk layout saya menggunakan template gratis dari Aceadmin. Aceadmin adalah salah satu
template yang sering digunakan oleh developer sebagai template backend nya, dulu nya template ini
berbayar tapi entah kenapa sekarang template ini tidak dijual lagi jad
jadii sudah otomatis tidak
dikembangkan lagi, walaupun begitu kita masih tetap bisa menggunakan nya sebagai salah satu
pilihan untuk template backend.

Buatlah folder baru dengan nama “rental” di htdocs xampp, kemudian copy folder asset template
aceAdmin didalamnya.

Membuat Koneksi ke Database dengan PDO contructor

Karena PDO adalah fungsi/fitur PHP yang ditulis menggunakan objek, maka untuk membuat koneksi
antara PHP dengan MySQL, kita menggunakan PDO constructor, yakni dengan membuat objek baru
dari class PDO (menggunakan keyword: new).
Berikut adalah struktur dasar cara penulisan PDO constructor untuk database MySQL:

$conn = new PDO('mysql:host=lokasi_db;dbname=nama_database',


"nama_user", "password_user");

Variabel $conn adalah variabel yang akan menjadi object PDO.. Object ini biasa disebut
sebagai “Database Handler”.. Object inilah yang nantinya akan kita gunakan untuk menjalankan
perintah PDO. Nama variabel boleh bebas, dan tidak harus $conn.
perintah-perintah
Argumen dari constructor PDO terdiri dari 3 bagian, bagian pertama berisi nama database
server(misalnya:mysql)
(misalnya:mysql) kemudian diikuti dengan alamat server dan nama database,
database semuanya di

5
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL

dalam 1 string. Untuk argumen kedua diisi dengan nama user, dan argumen ketiga berisi password
user.

OK kita lanjut ke next step, Buatlah folder config dan file konek
koneksi.php
.php sehingga struktur foldernya
config/koneksi.php
silahkan buka text editor anda lalu ketikan kode di bawah ini.

<?php

class DB{

private $dbHost = "127.0.0.1";

private $dbUsername = "root";

private $dbPassword = "qwerty";

private $dbName = "rental";

public function __construct(){

if(!isset($this->db)){

// Connect to the database

try{

$conn = new PDO("mysql:host=".$this-


->dbHost.";dbname=".$this->dbName, $this->dbUsername,
>dbUsername, $this->dbPassword);
$this

$conn ->
> setAttribute(PDO::ATTR_ERRMODE, P
PDO::ERRMODE_EXCEPTION);

$this->db = $conn;

}catch(PDOException $e){

die("Failed to connect with MySQL: " . $e


$e->getMessage());

public function getmyDB()

if ($this->db instanceof PDO)

return $this->db;

?>

...dst Koding bisa dilihat di source code lengkap.

Membuat File Index

File index.php adalah sebuah file yang menjadi indeks sebuah aplikasi berbasis website. Didalam
aplikasi ini file index.php berisi form login.

6
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL

<form id="login" name="login" method="POST" action="login">


<fieldset>
<label class="block clearfix">
<span class="block input-icon input-icon
icon-right">
<input type="text" class="form-control"
control" placeholder="Username" name="username" required="required"/>
<i class="ace-icon fa fa-user"></i>
</span>
</label>

<label class="block clearfix">


<span class="block input-icon input-icon
icon-right">
<input type="password" class="form-control"
control" name="password" id="password" required="required"/>
<i class="ace-icon fa fa-lock"></i>
</span>
</label>

<div class="space"></div>

<div class="clearfix">
<button type="submit" class="width-35
35 pull
pull-right btn btn-sm btn-primary">
<i class="ace-icon fa fa-key"></i>
<span class="bigger-110">Login</span>
110">Login</span>
</button>
</div>

<div class="space-4"></div>
</fieldset>
</form>

Membuat otentikasi untuk mengecek apakah user sudah login atau belum,username / password
benar atau salah. jika sudah selesai pengecekkan maka akan diarahkan ke site.php dan jika gagal
maka akan kembali ke index.php
index.php.

Buatlah folder halaman/hal_user/cek_login.php

7
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL

<?php
include "../../config/koneksi.php";
$db = new DB();

$username = $db->anti_injection($_POST['username']);
>anti_injection($_POST['username']);
$password = $db->anti_injection($_POST['password']);
>anti_injection($_POST['password']);

$r = $db->getRows('user',array('where'=>
>getRows('user',array('where'=>
array('username'=>$username,'password'=>$password),'return_type'=>'single'));
$ketemu = $db->getRows('user',array('where'=>
user',array('where'=>
array('username'=>$username,'password'=>$password),'return_type'=>'count'));

if ($ketemu > 0){ session_start();

// bikin variabel session


$_SESSION['username'] = $r['id_user'];
$_SESSION['passuser'] = $r['passw
$r['password'];
$_SESSION['namauser'] = $r['nama_user'];
$_SESSION['leveluser'] = $r['level'];

// bikin id_session yang unik dan mengupdatenya agar slalu berubah


// agar user biasa sulit untuk mengganti password Administrator
$sid_lama = session_id();
session_regenerate_id();
$sid_baru = session_id();

header("location:home");
}
else{ header("location:login-failed");}
failed");}
?>

Membuat File site

Jika pengecekkan lolos dari cek_login.php maka akan diarahkan ke file site.php
<?php
//error_reporting(0);
session_start();
// Apabila user belum login
if (empty($_SESSION['namauser']) AND empty($_SESSION['passuser'])){
echo "<h1>Untuk mengakses halaman, Anda harus login dulu.</h1><p><
dulu.</h1><p><a href=\"index.php\">LOGIN</a></p>";
">LOGIN</a></p>";
}
// Apabila user sudah login dengan benar, maka terbentuklah session
else{
$act = isset($_GET['act']) ? $_GET['act'] : '';
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="X-UA-Compatible"
Compatible" content="IE=edge,chrome=1" />
<meta charset="utf-8" />
<title> Administrator </title>

8
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL

<meta name="description" content="Static &amp; Dynamic Tables" />


<meta
meta name="viewport" content="width=device
content="width=device-width, initial-scale=1.0, maximum-scale=1.0"
scale=1.0" />

<!-- bootstrap & fontawesome -->


<link rel="stylesheet" href="assets/css/bootstrap.css" />
<link
link rel="stylesheet" href="assets/font
href="assets/font-awesome/4.5.0/css/font-awesome.min.css" />

<!-- page specific plugin styles --


-->
<link rel="stylesheet" href="assets/css/jquery
href="assets/css/jquery-ui.custom.min.css" />
<link rel="stylesheet" href="assets/css/chosen.min.css
href="assets/css/chosen.min.css" />
<link rel="stylesheet" href="assets/css/bootstrap
href="assets/css/bootstrap-datepicker3.min.css" />

<!-- text fonts -->


<link rel="stylesheet" href="assets/css/fonts.googleapis.com.css" />

<!-- ace styles -->


<link rel="stylesheet" href="assets/css/ace.mi
href="assets/css/ace.min.css" class="ace-main-stylesheet" id="main-
-ace-style" />

<!--[if lte IE 9]>


<link rel="stylesheet" href="assets/css/ace
href="assets/css/ace-part2.min.css" class="ace-main-stylesheet" />
<![endif]-->
<link rel="stylesheet" href="assets/css/ace
href="assets/css/ace-skins.min.css" />
<link rel="stylesheet" href="assets/css/ace
href="assets/css/ace-rtl.min.css" />

<!--[if lte IE 9]>


<link rel="stylesheet" href="assets/css/ace
href="assets/css/ace-ie.min.css" />
<![endif]-->

<!-- inline styles related to this page -->

<!-- ace settings handler -->


<script src="assets/js/ace-extra.min.js"></script>
extra.min.js"></script>

<!-- HTML5shiv and Respond.js for IE8 to support HTML5 elements and media queries -->

<!--[if lte IE 8]>


<script src="assets/js/html5shiv.min.js"></script>
<script src="assets/js/respond.min.js"></script>
ond.min.js"></script>
<![endif]-->
</head>
<body class="no-skin">
<div id="navbar" class="navbar navbar
navbar-default ace-save-state">
<div class="navbar-container ace-save
save-state" id="navbar-container">
<button
button type="button" class="navbar
class="navbar-toggle menu-toggler pull-left" id="menu-toggler" data-
-target="#sidebar">
<span class="sr-only">Toggle
only">Toggle sidebar</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<div class="navbar-header pull-left">
left">
<a href="?halamane=beranda" class="navbar
class="navbar-brand"><small>Aplikasi Rental Mobil</small></a>
</div>
<div class="navbar-buttons navbar-
-header pull-right" role="navigation">
<ul class="nav ace-nav">

<li class="light-blue dropdown-modal">


modal">
<a data-toggle="dropdown"
toggle="dropdown" href="#" class="dropdown
class="dropdown-toggle">

9
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
<img class="nav-user-photo"
photo" src="assets/images/avatars/avatar2.png" alt="Jason's Photo" />
<span class="user-info">
<small>Welcome,</small>
<?php echo"$_SESSION[namauser]"; ?>
</span>
<i class="ace-icon fa fa-caret-down"></i>
down"></i>
</a>
<ul class="user-menu dropdown-menu
menu-right dropdown-menu dropdown-yellow dropdown-caret
caret dropdown-close">
dropdown
<li><a href="#"><i class="ace-icon
icon fa fa
fa-user"></i>Profile</a></li>
<li class="divider"></li>
<li><a href="logout"><i class="ace
class="ace-icon fa fa-power-off"></i>Logout</a></li>
</ul>
</li>
</ul>
</div>
</div><!-- /.navbar-container -->
</div>
<!-- start .nav-list -->

<div class="main-container ace-save


save-state" id="main-container">
<script type="text/javascript">
try{ace.settings.loadState('main-container')}catch(e){}
container')}catch(e){}
</script>

<div
div id="sidebar" class="sidebar responsive ace
ace-save-state">
<script type="text/javascript">
try{ace.settings.loadState('sidebar')}catch(e){}
</script>
<!-- \.nav-list -->
<ul class="nav nav-list">
<?php include "menu/menu_active.php
"menu/menu_active.php";?>

<!--LEVEL ADMIN-->
<?php
if ($_SESSION['leveluser']=='admin'){include "menu/menu_admin.php";}
//Jika level ada user
else {include "menu/menu_user.php";}
?>
</ul>
<!-- /.nav-list -->
<div class="sidebar-toggle
toggle sidebar
sidebar-collapse" id="sidebar-collapse">
<i id="sidebar-toggle-icon"
icon" class="ace
class="ace-icon fa fa-angle-double-left ace-save-state"
data-icon1="ace-icon fa fa-angle-double
double-left" data-icon2="ace-icon fa fa-angle-double-right"></i
right"></i>
</div>
</div>
<!--isi dari halaman conten -->
<div class="main-content">
<div class="main-content-inner">
<div class="breadcrumbs ace-save-state"
state" id="breadcrumbs">

<ul class="breadcrumb">
<li><i class="ace-icon fa fa-home
home home
home-icon"></i><a href="home">Home</a></li>
<li><a href="#"><?php echo"".strtoupper($_GET['halamane'])."";?></a></li>
<li class="active">
<?php if ($act==''){ echo"View Data";} else{echo"$act";}?></li>
</ul><!-- /.breadcrumb -->
</div>

10
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
<div class="page-content">
<div class="ace-settings-container"
container" id="ace
id="ace-settings-container">
<div class="btn btn-app btn-xs
xs btn
btn-warning ace-settings-btn" id="ace-settings-btn">
<i class="ace-icon fa fa-cog
cog bigger
bigger-130"></i>
</div>

<div class="ace-settings-box
box clearfix" id="ace
id="ace-settings-box">
<div class="pull-left width-50">

<div class="ace-settings-item">
<input type="checkbox" class="ace ace
ace-checkbox-2 ace-save-state" id="ace-settings-navbar"
navbar"
autocomplete="off" />
<label class="lbl" for="ace-settings
settings-navbar"> Fixed Navbar</label>
</div>
<div class="ace-settings-item">
<input type="checkbox" class="ace ace
ace-checkbox-2 ace-save-state" id="ace-settings-sidebar"
sidebar"
autocomplete="off" />
<label class="lbl" for="ace-settings
settings-sidebar"> Fixed Sidebar</label>
</div>

<div class="ace-settings-item">
<input
input type="checkbox" class="ace ace
ace-checkbox-2 ace-save-state" id="ace-settings-breadcrumbs"
breadcrumbs"
autocomplete="off" />
<label class="lbl" for="ace-settings
settings-breadcrumbs"> Fixed Breadcrumbs</label>
</div>

</div><!-- /.pull-left -->


</div><!-- /.ace-settings-box -->
</div><!-- /.ace-settings-container
container -->

<div class="page-header">
</div><!-- /.page-header -->
<div class="row">
<div class="col-xs-12">
<!-- PAGE CONTENT BEGINS -->

<?php include "content.php"; ?>

<!-- PAGE CONTENT ENDS -->


</div><!-- /.col -->
</div><!-- /.row -->
</div><!-- /.page-content -->
</div>
</div><!-- /.main-content -->
<!--Akhir
Akhir isi dari halaman conten -->

<div class="footer">
<div class="footer-inner">
<div class="footer-content">
<span class="bigger-120">
<span class="blue bolder">sixghakreasi&copy; 2018</span>
</span>
</div>
</div>
</div>

<a href="#" id="btn-scroll-up"


up" class="btn
class="btn-scroll-up btn btn-sm btn-inverse">
<i class="ace-icon fa fa-angle-double
double-up icon-only bigger-110"></i>

11
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
</a>
</div>
</body>
</html>

Membuat File Content

File content.php
.php ini disisipkan di file site.php yang berisi kontent utama.

<?php
// Apabila user belum login
if (empty($_SESSION['namauser']) AND empty($_SESSION['passuser'])){
echo "<h1>Untuk mengakses halaman, Anda harus login dulu.</h1><p><a href=
href=\"index.php\">LOGIN</a></p>";
">LOGIN</a></p>";
}
// Apabila user sudah login dengan benar, maka terbentuklah sessio
session

else{
include "config/koneksi.php";
include "config/library.php";

// Home (Beranda)
if ($_GET['halamane']=='home'){
include "halaman/hal_beranda/home.php";
}

// Error 404
elseif ($_GET['halamane']=='error_404'){
include "halaman/hal_beranda/404.php";
}

// User
elseif ($_GET['halamane']=='user'){
if ($_SESSION['leveluser']=='admin'){
include "halaman/hal_user/user.php";
}
}

// pelanggan
elseif ($_GET['halamane']=='pelanggan'){
if ($_SESSION['leveluser']=='admin'){
include "halaman/hal_pelanggan/pelanggan.php";
}
}

// mobil
elseif ($_GET['halamane']=='mobil'){
if ($_SESSION['leveluser']=='admin'){
include "halaman/hal_mobil/mobil.php";
}
}

// transaksi

12
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
elseif ($_GET['halamane']=='transaksi'){
if ($_SESSION['leveluser']=='admin'){
include "halaman/hal_transaksi/transaksi.php";
}
}

// Report
elseif ($_GET['halamane']=='report'){
'halamane']=='report'){
if ($_SESSION['leveluser']=='admin' OR $_SESSION['leveluser']=='user'){
include "halaman/hal_report/report.php";
}
}

else{
echo "<p>Halaman Tidak Tersedia.</p>";
}
}
?>

Membuat Menu

Selanjutnya buatlah folder menu/


menu/menu_active.php. Fungsi ini sebagai elemen view berupa css class
yang akan digunakan untuk memilih div yang ketika menu diklik.. Melalui kondisional if dan else if,
tombol di daftar menu yang diklik akan diperiksa
diperiksa.

<?php
//halaman home view
if ($_GET['halamane']=='home'){
$h_active="active";
}
//halaman user view
if ($_GET['halamane']=='user'){
$master_active_open="active open";
$master_user_active="active";
}

//halaman pelanggan view


if ($_GET['halamane']=='pelanggan'){
$master_active_open="active open";
$master_pelanggan_active="active";
}

//halaman mobil view


if ($_GET['halamane']=='mobil'){
$master_active_open="active open";
$master_mobil_active="active";
}

//halaman transaksi view


if ($_GET['halamane']=='transaksi'){
$transaksi_active_open="active open";
$transaksi_transaksi_active="active";

13
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
}

//halaman Laporan view


if ($_GET['halamane']=='report'){
$laporan_active_open="active open";
$laporan_laporan_active="active";
}

?>

Buatlah folder dan file menu/


menu/menu_admin.php, Setelah itu kita Ketik-kan
kan skrip berikut untuk
menampilkan daftar menu.

<!--DASHBOARD-->
<li class='<?php echo"$h_active"; ?>'>
<a href='home'><i class='menu-icon
icon fa fa
fa-home'></i><span class='menu-text'>
text'> Home </span></a>
<b class='arrow'></b></li>
<!--MASTER-->
<li class="<?php echo"$master_active_open"; ?>"><a href="#" class="dropdown
class="dropdown-toggle">
<i class="menu-icon fa fa-database"></i><span
database"></i><span class="menu
class="menu-text"> Master </span>
<b class="arrow fa fa-angle-down"></b></a>
down"></b></a>
<b class="arrow"></b>
<ul class="submenu">
<li class="<?php echo"$master_user_active"; ?>">
<a href="user-view"><i class="menu-icon
icon fa fa
fa-caret-right"></i>User
right"></i>User Account</a><b class="arrow"></b></li>
<li class="<?php echo"$master_pelanggan_active"; ?>">
<a href="pelanggan-view"><i
view"><i class="menu
class="menu-icon fa fa-caret-right"></i>Pelanggan</a><b
right"></i>Pelanggan</a><b class="arrow"></b></li>
<li class="<?php
lass="<?php echo"$master_mobil_active"; ?>">
<a href="mobil-view"><i class="menu-
-icon fa fa-caret-right"></i>Mobil</a><b
right"></i>Mobil</a><b class="arrow"></b></li>
</ul>
</li>
<!--Transaksi-->
<li class="<?php echo"$transaksi_active_open"; ?>">
<a href="#" class="dropdown-toggle"><i
toggle"><i class="menu
class="menu-icon fa fa-book"></i>
<span class="menu-text">
text"> Transaksi </span><b class="arrow fa fa
fa-angle-down"></b></a>
<b class="arrow"></b>
<ul class="submenu">
<li class="<?php echo"$transaksi_transaksi_active"; ?>">
<a href="transaksi-view"><i
view"><i class="menu
class="menu-icon fa fa-caret-right"></i>Transaksi</a>
<b class="arrow"></b></li>
</ul>
</li>
<!--Laporan-->
<li class="<?php echo"$laporan_active_open"; ?>"><a href="#" class="dropdown
class="dropdown-toggle">
<i class="menu-icon fa fa-bar-chart-
-o"></i><span class="menu-text"> Laporan </span>
<b class="arrow fa fa-angle-down"></b></a>
down"></b></a>
<b class="arrow"></b>
<ul class="submenu">
<li class="<?php echo"$laporan_laporan_active"; ?>">
<a href="report-transaksi"><i
transaksi"><i class="menu
class="menu-icon fa fa-caret-right"></i>Laporan</a><b
right"></i>Laporan</a><b class="arrow"></b></li>
</ul>
</li>

Membuat Halaman Beranda

14
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL

Buatlah folder dan file halaman/


halaman/hal_beranda/home.php, Setelah itu kita Ketik-kan skrip
berikut untuk menampilkan halaman home atau beranda

<?php
// Apabila user belum login
if (empty($_SESSION['namauser']) AND empty($_SESSION['passuser'])){
echo "<h1>Untuk mengakses halaman, Anda harus login dulu.</h1><p><a href=
href=\"index.php\">LOGIN</a></p>";
">LOGIN</a></p>";
}
// Apabila user sudah login dengan benar, maka terbentuklah session
else{
// Initialing koneksi database
$db = new DB(); ?>
<div class="row"><div class='col-xs
xs-12'>
<div class="alert alert-block
block alert
alert-success">
<button type="button" class="close" data
data-dismiss="alert">
<i class="ace-icon fa fa-times"></i>
times"></i>
</button>

<p><strong>
<span class="black"><script language=JavaScript>var d = new Date();
var h = d.getHours();
if (h < 11) { document.write('Selamat pagi <
<?php echo $_SESSION['namauser']; ?>,'); }
else { if (h < 15) { document.write('Selamat siang <?php echo $_SESSION['namauser']; ?>,'); }
else { if (h < 19) { document.write('Selamat sore <?php echo $_SESSION['namauser']; ?>,'); }
else { if (h <= 23) { document.write('Selamat malam <?php echo $_SESSION['namauser']; ?>,'); }
}}}</script></span></strong>
Silahkan pilih menu yang tersedia untuk mengelola konten ini
</p>

<p>Download manual book pengguna sistem</p>


<p><button class="btn btn-sm btn-success">Download</button></p>
success">Download</button></p>
</div>
</div>
</div><!-- /.row --><?php } ?>

15
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL

Membuat Halaman User

Buatlah folder dan file halaman/hal_user/user.php


halaman/hal_user/user.php, Setelah itu kita Ketik-kan
kan skrip berikut untuk
menampilkan halaman user.

<?php
// Apabila user belum login
if (empty($_SESSION['namauser']) AND empty($_SESSION['passuser'])){
echo "<h1>Untuk mengakses halaman, Anda harus login dulu.</h1><p><a href=
href=\"index.php\">LOGIN</a></p>";
">LOGIN</a></p>";
}
// Apabila user sudah login dengan benar, maka terbentuklah session
else{
// Initialing koneksi database
$db = new DB();
$aksi = "halaman/hal_user/aksi_user.php";

// mengatasi variabel yang belum di definisikan (notice undefined index)


$act = isset($_GET['act']) ? $_GET['act'] : '';

switch($act){
// Tampil User
default:
echo"<div class='row'>
<div class='col-xs-12'>

<div class='clearfix'>
<button class='btn btn-sm btn-pink'
pink' onclick=win
onclick=window.location.href=\"add-user\"> Tambah User</button>
</div>
<br/>
<div class='table-header'>
Tabel User View
</div>
<div>";

echo"<table id='dynamic-table1'
table1' class='table table
table-striped table-bordered table-hover'>

16
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
<thead>
<tr>
<th class='center'>No</th>
<th>ID User</th>
<th>Username</th>
<th>Nama User</th>
<th class='hidden-480'>Level</th>
<th></th>
</tr>
</thead>
<tbody>";
$no=1;
// Pilih tabel di database
$user = $db->GetRowUser();
// Tampilkan data tabel yang dipilih
foreach($user ? $user : [] as $r){
$encrypted_txt = $db->encrypt_decrypt('encrypt',
>encrypt_decrypt('encrypt', $r['id_user']);

echo "<tr>
<td class='center'>$no</td>
<td>$r[id_user]</td>
<td>$r[username]</td>
<td>$r[nama_user]</td>
<td class='hidden-480'>$r[level]</td>
480'>$r[level]</td>

<td>
<div class='hidden-sm hidden-xs
xs action
action-buttons'>
<a class='green' href='edit-user-$encrypted_txt'><i
$encrypted_txt'><i class='
class='ace-icon fa fa-pencil bigger-130'></i></a>
130'></i></a>
<a onclick=\"return
"return confirm('Are sure want to delete this data ??')
??')\" href='hapus-user-$encrypted_txt'>
$encrypted_txt'>
<i class='ace-icon fa fa-trash-o
o bigger
bigger-130'></i></a>
</div>

<div class='hidden-md hidden-lg'>


<div class='inline pos-rel'>
<button class='btn btn-minier btn-
-yellow dropdown-toggle' data-toggle='dropdown' data-position='auto'>
position='auto'>
<i class='ace-icon fa fa-caret-down
down icon
icon-only bigger-120'></i>
</button>

<ul class='dropdown-menu dropdown-


-only-icon dropdown-yellow dropdown-menu-right dropdown-caret
caret dropdown-close'>
dropdown

<li><a href='edit-user-$encrypted_txt'
$encrypted_txt' class='tooltip
class='tooltip-success' data-rel='tooltip'
rel='tooltip' title='Edit'>
<span class='green'><i class='ace-
-icon fa fa-pencil-square-o bigger-120'></i></span></a>
</li>

<li><a onclick=\"return
"return confirm('Are sure want to delete this data ??')
??')\" href='hapus-user
user-$encrypted_txt'>
<span class='red'><i class='ace-icon
icon fa fa
fa-trash-o bigger-120'></i></span></a>
</li>

</ul>
</div>
</div>
</td>
</tr>";
$no++;
}
echo "</tbody>
</table>
</div>

17
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
</div>
</div>";
break;

//form tambah data


case "tambahuser":
echo" <div class='row'>
<div class='col-xs-12'>
<div class='widget-box'>
<div class='widget-header'>
<h4 class='widget-title'>Form
title'>Form Tambah User</h4>

<div class='widget-toolbar'>
<a href='#' data-action='collapse'>
action='collapse'>
<i class='ace-icon fa fa-chevron-up'></i>
up'></i>
</a>
</div>
</div>

<div class='widget-body'>
<div class='widget-main'>
<form class='form-horizontal'
horizontal' method=
method=\"POST\" action=\"$aksi?halamane=user&act=input\">

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right'
right' for='phone'>User ID:</label>

<div class='col-xs-12 col-sm-9'>


<div class='input-group'>
<span class='input-group-addon'>
<i class='ace-icon fa fa-key'></i>
key'></i>
</span>

<input type=\"text\" name=\"id_user


"id_user\" required='required' value='NEW-DOC' readonly='yes'>
</div>
</div>
</div>

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right'
right' for='name'>Nama User:</label>
<div class='col-xs-12 col-sm-9'>
<div class='clearfix'>
<input type='text' id='name' name='nama_user' class='col
class='col-xs-12 col-sm-8'
8' required='required'/>
</div>
</div>
</div>

<div class='space-2'></div>

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right'
right' for='name'>Username :</label>
<div class='col-xs-12 col-sm-9'>
<div class='clearfix'>
<input type='text' id='username' name='username' class='col
class='col-xs-12 col-sm-8' required='required'
quired' maxlength='12'/>
</div>
</div>

18
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
</div>

<div class='space-2'></div>

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right'
right' for='password'>Password:</label>
<div class='col-xs-12 col-sm-9'>
<div class='clearfix'>
<input type='password' name='password' id='password' class='col
class='col-xs-12 col-sm-4'
4' required='required'/>
</div>
</div>
</div>

<div class='hr hr-dotted'></div>

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right'
right' for='state'>Level</label>

<div class='col-xs-12 col-sm-9'>


<select id='state' name='level' class='select2' data
data-placeholder='Click
placeholder='Click to Choose...' required='required'>
<option value=\"0\" selected>- Pilih Level -</option>";
// Pilih tabel di database
$level = $db->GetRowLevel();
// Tampilkan data tabel yang dipilih
foreach($level ? $level : [] as $r){
echo "<option value='$r[level]'>$r[level]</option>";
}
echo "</select>
</div>
</div>
<div class='space-2'></div>

<div class='form-actions'>
<button class='btn btn-info'
info' type='submit'>
<i class='ace-icon fa fa-check
check bigger
bigger-110'></i>
Submit
</button>
&nbsp; &nbsp; &nbsp;
<button class='btn' type='reset' onclick=
onclick=\"self.history.back()\">
<i class='ace-icon fa fa-undo
undo bigger
bigger-110'></i>
Reset
</button>

</div>
</form>

</div>
</div>
</div>
</div><!-- /.span -->
</div>";

break;

//form ubah data


case "edituser":
//ambil data yang akan di edit

19
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
$decrypted_txt = $db->encrypt_decrypt('decrypt',
>encrypt_decrypt('decrypt', $_GET['id']);
$r = $db->getRows('user',array('where'=>array('id_user'=>
>getRows('user',array('where'=>array('id_user'=>$decrypted_txt),'return_type'=>'single'));
$decrypted_txt),'return_type'=>'single'));

echo" <div class='row'>


<div class='col-xs-12'>
<div class='widget-box'>
<div class='widget-header'>
<h4 class='widget-title'>Form
title'>Form Ubah User</h4>

<div class='widget-toolbar'>
<a href='#' data-action='collapse'>
action='collapse'>
<i class='ace-icon fa fa-chevron-up'></i>
up'></i>
</a>
</div>
</div>

<div class='widget-body'>
<div class='widget-main'>
<form class='form-horizontal'
horizontal' method=
method=\"POST\" action=\"$aksi?halamane=user&act=update\">

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right'
right' for='phone'>User ID:</label>

<div class='col-xs-12 col-sm-9'>


<div class='input-group'>
<span class='input-group-addon'>
<i class='ace-icon fa fa-key'></i>
key'></i>
</span>

<input type=\"text\" name=\"id_user


"id_user\"
" required='required' value='$decrypted_txt' readonly='yes'>
</div>
</div>
</div>

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right'
right' for='name'>Nama User:</label>
<div class='col-xs-12 col-sm-9'>
<div class='clearfix'>
<input type='text' id='name' name='nama_user' required='required' value='$r[nama_user]'/>
</div>
</div>
</div>

<div class='space-2'></div>

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right'
right' for='name'>Username :</label>
<div class='col-xs-12 col-sm-9'>
<div class='clearfix'>
<input type='text' id='username' name='username' required='required' maxlength='12' value='$r[username]'/>
</div>
</div>
</div>

<div class='space-2'></div>

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right'
right' for='password'>Password:</label>

20
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
<div class='col-xs-12 col-sm-9'>
<div class='clearfix'>
<input type='password' name='password' id='password' required='required' value='$r[password]'/>
</div>
</div>
</div>

<div class='hr hr-dotted'></div>


dotted'></div>

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right'
right' for='state'>State</label>
<div class='col-xs-12 col-sm-9'>
<select
select id='state' name='level' class='select2' data
data-placeholder='Click
placeholder='Click to Choose...' required='required'>";
if ($r['level']==0){
echo "<option value=\"0\"
" selected>
selected>- Pilih Level -</option>";
}
// Pilih tabel di database
$level = $db->GetRowLevel();
// Tampilkan data tabel yang dipilih
foreach($level ? $level : [] as $w){

if ($r['level']==$w['level']){
echo "<option value=\"$w[level]\"
" selected>$w[level]</option>";
}
else{
echo "<option value=\"$w[level]\">$w[level]</option>";
">$w[level]</option>";
}
}

echo "</select>

</div>
</div>
<div class='space-2'></div>

<div class='form-actions'>
<button class='btn btn-info'
info' type='submit'>
<i class='ace-icon fa fa-check
check bigger
bigger-110'></i>
Submit
</button>
&nbsp; &nbsp; &nbsp;
<button class='btn' type='reset' onclick=
onclick=\"self.history.back()\">
<i class='ace-icon fa fa-undo
undo bigger
bigger-110'></i>
Reset
</button>

</div>
</form>

</div>
</div>
</div>
</div><!-- /.span -->
</div>";

break;
}
}

21
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
?>

Buatlah folder dan file halaman/hal_user/ aksi_user.php, Setelah itu kita Ketik-kan skrip
berikut untuk meng-eksekusi
eksekusi perintah yang dikirim oleh form tambah,edit ataupun hapus di
halaman user.

<?php
session_start();
// Apabila user belum login
if (empty($_SESSION['namauser']) AND empty($_SESSION['passuser'])){
echo "<h1>Untuk
>Untuk mengakses halaman, Anda harus login dulu.</h1><p><a href=
href=\"index.php\">LOGIN</a></p>";
">LOGIN</a></p>";
}
// Apabila user sudah login dengan benar, maka terbentuklah session
else{
include "../../config/koneksi.php";
// initial database
$db = new DB();
$tblName = 'user';
$halamane = $_GET['halamane'];
$act = $_GET['act'];
// declare variable post
$id_user = trim(htmlspecialchars($_POST['id_user']));
$nama_user = trim(htmlspecialchars($_POST['nama_user']));
$password = trim(htmlspecialchars($_POST['password']));
lchars($_POST['password']));
$username = trim(htmlspecialchars($_POST['username']));
$level = trim(htmlspecialchars($_POST['level']));

// Input data user


if ($halamane=='user' AND $act=='input'){
//get last insert auto number
$Last_No = $db->last_inserted('id_user','user');
>last_inserted('id_user','user');
$kode_user=$db->buatkode($Last_No,
>buatkode($Last_No, 'US', 3);

$userData = array(
'id_user' => $kode_user,
'nama_user' => $nama_user,
'password' => $password,
'username' => $username,
'level' => $level);
$insert = $db->insert($tblName,$userData);
>insert($tblName,$userData);
header("location:../../user-view");
view");
}

// Update data user


elseif ($halamane=='user' AND $act=='update'){
$userData = array(
'id_user' => $id_user,
'nama_user' => $nama_user,
'password' => $password,
'username' => $username,
'level' => $level);
$condition = array('id_user' => $id_user);
$update = $db->update($tblName,$userData,$condition);
update($tblName,$userData,$condition);
header("location:../../user-view");
view");
}

22
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
// Hapus data user
elseif ($halamane=='user' AND $act=='hapus'){
$decrypted_txt = $db->encrypt_decrypt('decrypt',
>encrypt_decrypt('decrypt', $_GET['id']);
$condition = array('id_user' => $de
$decrypted_txt);
$delete = $db->delete($tblName,$condition);
>delete($tblName,$condition);
header("location:user-view");
}

}
?>

Membuat Halaman Pelanggan

Buatlah folder dan file halaman/hal_pelanggan/pelanggan.php


halaman/hal_pelanggan/pelanggan.php,, Setelah itu kita Ketik-kan
Ketik skrip
berikut untuk menampilkan halaman pelanggan.

<?php
// Apabila user belum login
if (empty($_SESSION['namauser']) AND empty($_SESSION['passuser'])){
echo "<h1>Untuk mengakses halaman, Anda harus login dulu.</h1><p><a href=
href=\"index.php\">LOGIN</a></p>";
">LOGIN</a></p>";
}
// Apabila user sudah login dengan benar, maka terbentuklah session
else{
// Initialing koneksi database
$db = new DB();
$aksi = "halaman/hal_pelanggan/aksi_pelanggan.php";

// mengatasi variabel yang belum di definisikan (notice undefined index)


$act = isset($_GET['act'])
set($_GET['act']) ? $_GET['act'] : '';

switch($act){
// Tampil pelanggan
default:
echo"<div class='row'>
<div class='col-xs-12'>

23
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL

<div class='clearfix'>
<button class='btn btn-sm btn-pink'
pink' onclick=window.location.href=
onclick=window.location.href=\"add-pelanggan\"></i>Tambah
"></i>Tambah Data</button>
</div>
<br/>
<div class='table-header'>
Tabel pelanggan
</div>
<div>";

echo"<table id='dynamic-table1'
table1' class='table tabl
table-striped table-bordered table-hover'>
<thead>
<tr>
<th width='5%'>No</th>
<th>Kode Pelanggan</th>
<th>Nama Pelanggan</th>
<th>Alamat</th>
<th></th>
</tr>
</thead>
<tbody>";

$no=1;
// Pilih tabel di database
$pelanggan = $db->getRows('pelanggan',array('order_by'=>'id_pelanggan
>getRows('pelanggan',array('order_by'=>'id_pelanggan DESC'));
// Tampilkan data tabel yang dipilih
foreach($pelanggan ? $pelanggan : [] as $r){
$encrypted_txt = $db->encrypt_decrypt('encrypt',
>encrypt_decrypt('encrypt', $r['id_pelanggan']);

echo "<tr>
<td><center>$no</center></td>
<td>$r[id_pelanggan]</td>
<td>$r[nama_pelanggan]</td>
<td>$r[alamat]</td>
<td>
<center>
<div class='hidden-sm hidden-xs
xs action
action-buttons'>
<a class='green' href='edit-pelanggan
pelanggan-$encrypted_txt'><i class='ace-icon fa fa-pencil
pencil bigger-130'></i></a>
bigger
<a onclick=\"return
"return confirm('Are sure want to delete this data ??')
??')\" href='hapus-pelanggan
pelanggan-$encrypted_txt'>
<i class='ace-icon fa fa-trash-o
o bigger
bigger-130'></i></a>
</div>

<div class='hidden-md hidden-lg'>


<div class='inline pos-rel'>
<button class='btn btn-minier btn-
-yellow dropdown-toggle' data-toggle='dropdown' data-position='auto'>
position='auto'>
<i class='ace-icon fa fa-caret-down
down icon
icon-only bigger-120'></i>
</button>

<ul class='dropdown-menu dropdown-


-only-icon dropdown-yellow dropdown-menu-right dropdown-caret
caret dropdown-close'>
dropdown

<li><a href='edit-pelanggan-$encrypted_txt'
$encrypted_txt' class='to
class='tooltip-success' data-rel='tooltip'
rel='tooltip' title='Edit'>
<span class='green'><i class='ace-
-icon fa fa-pencil-square-o bigger-120'></i></span></a>
</li>

<li><a onclick=\"return
"return confirm('Are sure want to delete this data ??')
??')\" href='hapus-pelanggan
pelanggan-$encrypted_txt'>
<span class='red'><i class='ace-icon
icon fa fa
fa-trash-o bigger-120'></i></span></a>
</li>

24
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
</ul>
</div>
</div>
</center>
</td>
</tr>";
$no++;
}
echo "</tbody>
</table>
</div>
</div>
</div>";
break;

//form tambah data


case "tambahpelanggan":

echo" <div class='row'>


<div class='col-xs-12'>
<div class='widget-box'>
<div class='widget-header'>
<h4 class='widget-title'>Form
title'>Form Tambah Data</h4>

<div class='widget-toolbar'>
<a href='#' data-action='collapse'>
action='collapse'>
<i class='ace-icon fa fa-chevron-up'></i>
up'></i>
</a>
</div>
</div>

<div class='widget-body'>
<div class='widget-main'>
<form class='form-horizontal'
horizontal' method=
method=\"POST\" action=\"$aksi?halamane=pelanggan&act=input\
\">

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right'
right' for='name'>Nama Pelanggan:</label>
<div class='col-xs-12 col-sm-9'>
<div class='clearfix'>
<input type='text' id='name' name='nama_pelanggan' class='col
class='col-xs-12 col-sm-8'
8' required='required'/>
</div>
</div>
</div>

<div class='space-2'></div>

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right'
right' for='name'>Alamat :</label>
<div class='col-xs-12 col-sm-9'>
<div class='clearfix'>
<input type='text' id='alamat' name='alamat' class='col
class='col-xs-12 col-sm-8'
8' required='required' maxlength='100'/>
</div>
</div>
</div>

<div class='space-2'></div>

25
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
<div class='form-actions'>
<button class='btn btn-info'
info' type='submit'>
<i class='ace-icon fa fa-check
check bigger
bigger-110'></i>
Submit
</button>

&nbsp; &nbsp; &nbsp;


<button class='btn' type='reset' onclick=
onclick=\"self.history.back()\">
<i class='ace-icon fa fa-undo
undo bigger
bigger-110'></i>
Reset
</button>

</div>
</form>

</div>
</div>
</div>
</div><!-- /.span -->
</div>";

break;

//form ubah data


case "editpelanggan":
//ambil data yang akan di edit
$decrypted_txt = $db->encrypt_decrypt('decrypt',
>encrypt_decrypt('decrypt', $_GET['id']);
$r = $db->getRows('pelanggan',array('where'=>
>getRows('pelanggan',array('where'=>array('id_pelanggan'=>$decrypted_txt),'return_type'=>'single'));
array('id_pelanggan'=>$decrypted_txt),'return_type'=>'single'));

echo" <div class='row'>


<div class='col-xs-12'>
<div class='widget-box'>
<div class='widget-header'>
<h4 class='widget-title'>Form
title'>Form Ubah Data</h4>

<div class='widget-toolbar'>
<a href='#' data-action='collapse'>
action='collapse'>
<i class='ace-icon fa fa-chevron-up'></i>
up'></i>
</a>
</div>
</div>

<div class='widget-body'>
<div class='widget-main'>
<form class='form-horizontal'
horizontal' method=
method=\"POST\" action=\"$aksi?halamane=pelanggan&act=update
"$aksi?halamane=pelanggan&act=update\">

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right'
right' for='phone'>Kode Pelanggan:</label>

<div class='col-xs-12 col-sm-9'>


<div class='input-group'>
<span class='input-group-addon'>
<i class='ace-icon fa fa-key'></i>
key'></i>
</span>

<input type=\"text\" name=\"id_pelanggan


"id_pelanggan\"
" required='required' value='$decrypted_txt' readonly='yes'>
readonly
</div>
</div>

26
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
</div>

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right'
right' for='name'>Nama Pelanggan:</label>
<div class='col-xs-12 col-sm-9'>
<div class='clearfix'>
<input type='text'
'text' id='name' name='nama_pelanggan' required='required' value='$r[nama_pelanggan]'/>
</div>
</div>
</div>

<div class='space-2'></div>

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right'
right' for='name'>Alamat :</label>
<div class='col-xs-12 col-sm-9'>
<div class='clearfix'>
<input type='text'
text' id='alamat' name='alamat' required='required' maxlength='100' value='$r[alamat]'/>
value='$r[alama
</div>
</div>
</div>

<div class='space-2'></div>
<div class='form-actions'>
<button class='btn btn-info'
info' type='submit'>
<i class='ace-icon fa fa-check
check bigger
bigger-110'></i>
Submit
</button>
&nbsp; &nbsp; &nbsp;
<button class='btn' type='reset' onclick=
onclick=\"self.history.back()\">
<i class='ace-icon fa fa-undo
undo bigger
bigger-110'></i>
Reset
</button>

</div>
</form>

</div>
</div>
</div>
</div><!-- /.span -->
</div>";

break;
}
}
?>

Buatlah folder dan file halaman/hal_pelanggan/


halaman/hal_pelanggan/aksi_pelanggan.php,, Setelah itu kita Ketik-kan
Ketik skrip
berikut untuk meng-eksekusi
eksekusi perintah yang dikirim oleh form tambah,edit ataupun hapus di
halaman pelanggan.

27
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL

<?php
session_start();
// Apabila user belum login
if (empty($_SESSION['namauser']) AND empty($_SESSION['passuser'])){
echo "<h1>Untuk mengakses halaman, Anda harus login dulu.</h1><p><a href=
href=\"index.php\">LOGIN</a><
">LOGIN</a></p>";
}
// Apabila user sudah login dengan benar, maka terbentuklah session
else{
include "../../config/koneksi.php";
// initial database
$db = new DB();
$tblName = 'pelanggan';
$halamane = $_GET['halamane'];
$act = $_GET['act'];
// declare variable post
$id_pelanggan = trim(htmlspecialchars($_POST['id_pelanggan']));
$nama_pelanggan = trim(htmlspecialchars($_POST['nama_pelanggan']));
$alamat = trim(htmlspecialchars($_POST['alamat']));

// Input data pelanggan


if ($halamane=='pelanggan' AND $act=='input'){
//get last insert auto number
$Last_No = $db->last_inserted('id_pelanggan','pelanggan');
>last_inserted('id_pelanggan','pelanggan');
$kode_pelanggan=$db->buatkode($Last_No,
>buatkode($Last_No, 'P', 3);

$pelangganData = array(
'id_pelanggan' => $kode_pelanggan,
'nama_pelanggan' => $nama_pelanggan,
'alamat' => $alamat);
$insert = $db->insert($tblName,$pelangganData);
>insert($tblName,$pelangganData);
header("location:../../pelanggan-view");
view");
}

// Update data pelanggan


elseif ($halamane=='pelanggan' AND $act=='update'){
$pelangganData = array(
'nama_pelanggan' => $nama_pelanggan,
'alamat' => $alamat);
$condition = array('id_pelanggan' => $id_pelanggan);
$update = $db->update($tblName,$pelangganData,$condition);
update($tblName,$pelangganData,$condition);
header("location:../../pelanggan-view");
view");
}

// Hapus data pelanggan


elseif ($halamane=='pelanggan' AND $act=='hapus'){
$decrypted_txt = $db->encrypt_decrypt('decrypt',
>encrypt_decrypt('decrypt', $_GET['id']);
$condition = array('id_pelanggan'
ray('id_pelanggan' => $decrypted_txt);
$delete = $db->delete($tblName,$condition);
>delete($tblName,$condition);
header("location:pelanggan-view");
view");
}

}
?>

28
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL

Membuat Halaman Mobil

Buatlah folder dan file halaman/hal_mobil/mobil.php


halaman/hal_mobil/mobil.php, Setelah itu kita Ketik-kan
kan skrip berikut untuk
menampilkan halaman mobil.

<?php
// Apabila user belum login
if (empty($_SESSION['namauser']) AND empty($_SESSION['passuser'])){
echo "<h1>Untuk mengakses halaman, Anda harus login dulu.</h1><p><a href=
href=\"index.php\">LOGIN</a></p>";
">LOGIN</a></p>";
}
// Apabila user sudah login dengan benar, maka terbentuklah session
else{
// Initialing koneksi database
$db = new DB();
$aksi = "halaman/hal_mobil/aksi_mobil.php";

// mengatasi variabel yang belum di definisikan (notice undefined index)


$act = isset($_GET['act'])
set($_GET['act']) ? $_GET['act'] : '';

switch($act){
// Tampil mobil
default:
echo"<div class='row'>
<div class='col-xs-12'>

<div class='clearfix'>
<button class='btn btn-sm btn-pink'
pink' onclick
onclick=window.location.href=\"add-mobil\">Tambah
">Tambah Data</button>
</div>
<br/>
<div class='table-header'>
Tabel mobil
</div>
<div>";

echo"<table id='dynamic-table1'
table1' class='table table
table-striped table-bordered table-hover'>

29
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
<thead>
<tr>
<th width='5%'>No</th>
<th>Nama mobil</th>
<th class='center'>Nopol</th>
<th class='center'>Harga Sewa</th>
<th class='center'>Status Mobil</th>
<th></th>
</tr>
</thead>
<tbody>";

$no=1;
// Pilih tabel di database
$mobil = $db->getRows('mobil',array('order_by'=>'id_mobil
>getRows('mobil',array('order_by'=>'id_mobil DESC'));
// Tampilkan data tabel yang dipilih
foreach($mobil ? $mobil : [] as $r){
$encrypted_txt = $db->encrypt_decrypt('encrypt',
>encrypt_decrypt('encrypt', $r['id_mobil']);

echo "<tr>
<td><center>$no</center></td>
<td>$r[nama_mobil]</td>
<td class='center'>$r[nopol]</td>
<td class='center'>".$db->format_rupiah($r['harga'])."</td>
>format_rupiah($r['harga'])."</td>
<td class='center'>";
if($r['status']=='Disewa'){echo'<span
'status']=='Disewa'){echo'<span class="label label
label-sm label-warning">'.$r['status'].'</span>';}
warning">'.$r['status'].'</span>';}
else {echo'<span class="label label
label-sm label-success">'.$r['status'].'</span>'; }
echo"</td>
<td>
<center>
<div class='hidden-sm hidden-xs
xs action
action-buttons'>
<a class='green' href='edit-mobil-
-$encrypted_txt'><i class='ace-icon fa fa-pencil bigger-130'></i></a>
130'></i></a>
<a onclick=\"return
"return confirm('Are sure want to delete this data ??')
??')\" href='hapus-mobil-$encrypted_txt'>
$encrypted_txt'>
<i class='ace-icon fa fa-trash-o
o bigger
bigger-130'></i></a>
</div>

<div class='hidden-md hidden-lg'>


<div class='inline pos-rel'>
<button class='btn btn-minier btn-
-yellow dropdown-toggle' data-toggle='dropdown' data-position='auto'>
osition='auto'>
<i class='ace-icon fa fa-caret-down
down icon
icon-only bigger-120'></i>
</button>

<ul class='dropdown-menu dropdown-


-only-icon dropdown-yellow dropdown-menu-right dropdown-caret
caret dropdown-close'>
dropdown

<li><a href='edit-mobil-$encrypted_txt'
$encrypted_txt' class='tooltip
class='tooltip-success' data-rel='tooltip'
rel='tooltip' title='Edit'>
<span class='green'><i class='ace-
-icon fa fa-pencil-square-o bigger-120'></i></span></a>
</li>

<li><a onclick=\"return
"return confirm('Are sure want to delete this data ?')\"
href='hapus-mobil-$encrypted_txt'
$encrypted_txt' class='tooltip
class='tooltip-error' data-rel='tooltip' title='Delete'>
<span class='red'><i class='ace-icon
icon fa fa
fa-trash-o bigger-120'></i></span></a>
</li>

</ul>
</div>
</div>
</center>
</td>

30
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
</tr>";
$no++;
}
echo "</tbody>
</table>
</div>
</div>
</div>";
break;

//form tambah data


case "tambahmobil":

echo" <div class='row'>


<div class='col-xs-12'>
<div class='widget-box'>
<div class='widget-header'>
<h4 class='widget-title'>Form
title'>Form Tambah Data</h4>

<div class='widget-toolbar'>
<a href='#' data-action='collapse'>
action='collapse'>
<i class='ace-icon fa fa-chevron-up'></i>
up'></i>
</a>
</div>
</div>

<div class='widget-body'>
<div class='widget-main'>
<form class='form-horizontal'
horizontal' method=
method=\"POST\" action=\"$aksi?halamane=mobil&act=input\">

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right' for='name'>Nama
Nama mobil:</label>
<div class='col-xs-12 col-sm-9'>
<div class='clearfix'>
<input type='text' id='name' name='nama_mobil' class='col
class='col-xs-12 col-sm-8'
8' required='required'/>
</div>
</div>
</div>

<div class='space-2'></div>

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right'
right' for='name'>nopol :</label>
<div class='col-xs-12 col-sm-9'>
<div class='clearfix'>
<input type='text' id='nopol' name='nopol' class='col
class='col-xs-12 col-sm-8'
8' required='required' maxlength='12'/>
</div>
</div>
</div>

<div class='space-2'></div>

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right'
right' for='name'>Harga Sewa :</label>
<div class='col-xs-12 col-sm-9'>
<div class='clearfix'>
<input type='number' id='harga' name='harga' class='col
class='col-xs-12 col-sm-8'
8' required='required' maxlength='12'/>

31
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
</div>
</div>
</div>

<div class='space-2'></div>

<div class='form-actions'>
<button class='btn btn-info'
info' type='submit'>
<i class='ace-icon fa fa-check
check bigger
bigger-110'></i>
Submit
</button>

&nbsp; &nbsp; &nbsp;


<button class='btn' type='reset' onclick=
onclick=\"self.history.back()\">
<i class='ace-icon fa fa-undo
undo bigger
bigger-110'></i>
Reset
</button>

</div>
</form>

</div>
</div>
</div>
</div><!-- /.span -->
</div>";

break;

//form ubah data


case "editmobil":
//ambil data yang akan di edit
$decrypted_txt = $db->encrypt_decrypt('decrypt',
>encrypt_decrypt('decrypt', $_GET['id']);
$r = $db->getRows('mobil',array('where'=>array('id_mobil'=>$decrypted_txt),'return_type'=>'single'));
>getRows('mobil',array('where'=>array('id_mobil'=>$decrypted_txt),'return_type'=>'single'));

echo" <div class='row'>


<div class='col-xs-12'>
<div class='widget-box'>
<div class='widget-header'>
<h4 class='widget-title'>Form
title'>Form Ubah Data</h4>

<div class='widget-toolbar'>
<a href='#' data-action='collapse'>
action='collapse'>
<i class='ace-icon fa fa-chevron-up'></i>
up'></i>
</a>
</div>
</div>

<div class='widget-body'>
<div class='widget-main'>
<form class='form-horizontal'
horizontal' method=
method=\"POST\" action=\"$aksi?halamane=mobil&act=update\">

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right'
right' for='phone'>Kode mobil:</label>

<div class='col-xs-12 col-sm-9'>


<div class='input-group'>
<span class='input-group-addon'>

32
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
<i class='ace-icon fa fa-key'></i>
key'></i>
</span>

<input type=\"text\" name=\"id_mobil


"id_mobil\"
" required='required' value='$decrypted_txt' readonly='yes'>
</div>
</div>
</div>

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right' for='name'>Nama mobil:</label>
/label>
<div class='col-xs-12 col-sm-9'>
<div class='clearfix'>
<input type='text' id='name' name='nama_mobil' class='col
class='col-xs-12 col-sm-8'
required='required' value='$r[nama_mobil]'/>
</div>
</div>
</div>

<div class='space-2'></div>

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right'
right' for='name'>nopol :</label>
<div class='col-xs-12 col-sm-9'>
<div class='clearfix'>
<input type='text' id='nopol' name='nopol' class='c
class='col-xs-12 col-sm-8'
8' required='required'
maxlength='12' value='$r[nopol]'/>
</div>
</div>
</div>

<div class='space-2'></div>

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right' for='name'>Harga
Harga Sewa :</label>
<div class='col-xs-12 col-sm-9'>
<div class='clearfix'>
<input type='number' id='harga' name='harga' class='col
class='col-xs-12 col-sm-8'
8' required='required'
maxlength='12' value='$r[harga]'/>
</div>
</div>
</div>

<div class='space-2'></div>

<div class='form-actions'>
<button class='btn btn-info'
info' type='submit'>
<i class='ace-icon fa fa-check
check bigger
bigger-110'></i>
Submit
</button>

&nbsp; &nbsp; &nbsp;

<button class='btn' type='reset' onclick=


onclick=\"self.history.back()\">
<i class='ace-icon fa fa-undo
undo bigger
bigger-110'></i>
Reset
</button>

33
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
</div>
</form>

</div>
</div>
</div>
</div><!-- /.span -->
</div>";

break;
}
}
?>

Buatlah folder dan file halaman/hal_mobil/


halaman/hal_mobil/aksi_mobil.php,, Setelah itu kita Ketik-kan
Ketik skrip berikut
untuk meng-eksekusi
eksekusi perintah yang dikirim oleh form tambah,edit ataupun hapus di halaman mobil.

<?php
session_start();
// Apabila user belum login
if (empty($_SESSION['namauser']) AND empty($_SESSION['passuser'])){
echo "<h1>Untuk mengakses halaman, Anda harus login dulu.</h1><p><a href=
href=\"index.php\">LOGIN</a></p>";
">LOGIN</a></p>";
}
// Apabila user sudah login
n dengan benar, maka terbentuklah session
else{
include "../../config/koneksi.php";
// initial database
$db = new DB();
$tblName = 'mobil';
$halamane = $_GET['halamane'];
$act = $_GET['act'];
// declare variable post
$id_mobil = trim(htmlspecialchars($_POST['id_mobil']));
$nama_mobil = trim(htmlspecialchars($_POST['nama_mobil']));
$nopol = trim(htmlspecialchars($_POST['nopol']));
$harga = trim(htmlspecialchars($_POST['harga']));

// Input data mobil


if ($halamane=='mobil' AND $act=='input'){
//get last insert auto number
$Last_No = $db->last_inserted('id_mobil','mobil');
>last_inserted('id_mobil','mobil');
$kode_mobil=$db->buatkode($Last_No,
>buatkode($Last_No, 'M', 3);

$mobilData = array(
'id_mobil' => $kode_mobil,
'nama_mobil' => $nama_mobil,
'nopol' => $nopol,
'harga' => $harga);
$insert = $db->insert($tblName,$mobilData);
>insert($tblName,$mobilData);
header("location:../../mobil-view");
view");
}

// Update data mobil


elseif ($halamane=='mobil' AND $act=='update'){
$mobilData = array(

34
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
'nama_mobil' => $nama_mobil,
'nopol' => $nopol,
'harga' => $harga);
$condition = array('id_mobil' => $id_mobil);
$update = $db->update($tblName,$mobilData,$condition);
tblName,$mobilData,$condition);
header("location:../../mobil-view");
view");
}

// Hapus data mobil


elseif ($halamane=='mobil' AND $act=='hapus'){
$decrypted_txt = $db->encrypt_decrypt('decrypt',
>encrypt_decrypt('decrypt', $_GET['id']);
$condition = array('id_mobil' => $decry
$decrypted_txt);
$delete = $db->delete($tblName,$condition);
>delete($tblName,$condition);
header("location:mobil-view");
}

}
?>

Membuat Halaman Transaksi

Buatlah folder dan file halaman/hal_transaksi/transaksi.php


halaman/hal_transaksi/transaksi.php,, Setelah itu kita Ketik-kan
Ketik skrip berikut
untuk menampilkan halaman transaksi.

<?php
// Apabila user belum login
if (empty($_SESSION['namauser']) AND empty($_SESSION['passuser'])){
echo "<h1>Untuk mengakses halaman, Anda harus login dulu.</h1><p><a href=
href=\"index.php\">LOGIN</a></p>";
">LOGIN</a></p>";
}
// Apabila user sudah login dengan benar, maka terbentuklah session
else{
// Initialing koneksi database
$db = new DB();
$aksi = "halaman/hal_transaksi/aksi_transaksi.php";

// mengatasi variabel yang belum di definisikan (notice undefined index)


$act = isset($_GET['act']) ? $_GET['act'] : '';

35
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL

switch($act){
// Tampil transaksi
default:

//Tombol Tambah data


echo"<div class='clearfix'>
<button class='btn btn-sm btn-pink'
pink' onclick=window.location.href=
onclick=window.location.href=\"add-transaksi\">
<i class='ace-icon
icon glyphicon glyphicon
glyphicon-plus'></i>Tambah Data</button>
</div>
<br/>";

echo"<div class='row'>
<div class='col-xs-12'>
12'>
<div class='table-header'>
Tabel transaksi
</div>
<div>

<table id='dynamic-table1'
table1' class='table table
table-striped table-bordered table-hover'>
<thead>
<tr>
<th width='5%' class='center'>No</th>
<th class='center'>No
No Transaksi</th>
<th class='hidden-480'>Nama
480'>Nama Pelanggan</th>
<th class='hidden-480'>Jenis
480'>Jenis Mobil</th>
<th class='hidden-480
480 center'>Lama Sewa</th>
<th class='hidden-480
480 center'>Harga Sewa</th>
<th class='hidden-480
480 center'>Denda</th>
<th class='hidden-480
480 center'>Total Sewa</th>
<th class='center'>Status Mobil</th>
<th class='hidden-480
480 center'>Tanggal Sewa</th>
<th class='hidden-480
480 center'>Tanggal Kembali</th>
<th></th>
</tr>
</thead>
<tbody>";

$no=1;
// Pilih tabel di database
$transaksi = $db->GetDataTransaksi();
>GetDataTransaksi();
// Tampilkan data tabel yang dipilih
foreach($transaksi ? $transaksi : [] as $r){
$encrypted_txt = $db->encrypt_decrypt('encrypt',
>encrypt_decrypt('encrypt', $r['id_transaksi']);
$total=$r['total_sewa']+$r['denda'];
echo "<tr>
<td><center>$no</center></td>
<td class='center'><a href='detail
href='detail-transaksi-$encrypted_txt'>$r[id_transaksi]</a></td>
<td class='hidden-480'>$r[nama_pelanggan]</td>
480'>$r[nama_pelanggan]</td>
<td class='hidden-480'>$r[nama_mobil]
480'>$r[nama_mobil] - [$r[nopol]]</td>
<td class='hidden-480
480 center'>$r[lama_sewa]</td>
<td class='hidden-480
480 center'>".$db
center'>".$db->format_rupiah($r['harga_sewa'])."</td>
<td class='hidden-480
480 center'>";if($r['denda']==0){echo"
center'>";if($r['denda']==0){echo"-";}
else {echo"".$db->format_rupiah($r['denda'])."";}echo"</td>
>format_rupiah($r['denda'])."";}echo"</td>
<td class='hidden-480
480 center'>".$db
center'>".$db->format_rupiah($total)."</td>
<td>";
//Jika status_mobil Open

36
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
if ($r['status_mobil']=='Open'){
echo"<div class='btn-group'>
<button data-toggle='dropdown'
toggle='dropdown' class='btn btn
btn-xs btn-danger dropdown-toggle'>
Open <i class='ace-icon fa fa-angle
angle-down icon-on-right'></i>
</button>";

//Hak Akses yang di ijinkan untuk merubah status


if ($_SESSION['leveluser']=='admin'){
echo"<ul class='dropdown-menu
menu dropdown
dropdown-danger'>
<li><a href='change-status-transaksi
transaksi-$encrypted_txt-Disewa'>Disewa</a></li>
</ul>";
} //Akhir Hak Akses yang di ijinkan untuk merubah status

echo"</div>";
} //End Jika status_mobil Open

//Jika status_mobil Disewa


elseif ($r['status_mobil']=='Disewa'){
echo"<div class='btn-group'>
<button data-toggle='dropdown'
toggle='dropdown' class='btn btn
btn-xs btn-warning dropdown-toggle'>
Disewa <i class='ace-icon fa fa-angle
angle-down icon-on-right'></i>
</button>";

//Hak Akses yang di ijinkan untuk merubah status


if ($_SESSION['leveluser']=='admin'){
echo"<ul class='dropdown-menu
menu dropdown
dropdown-danger'>
<li><a href='form-kembali-$encrypted_txt'>Dikembalikan</a></li>
$encrypted_txt'>Dikembalikan</a></li>
</ul>";
} //Akhir Hak Akses yang di ijinkan untuk merubah status

echo"</div>";
} //End Jika status Disewa

//Jika status Dikembalikan


elseif ($r['status_mobil']=='Dikembalikan'){
echo"<div class='btn-group'>
<button data-toggle='dropdown'
toggle='dropdown' class='btn btn
btn-xs btn-success dropdown-toggle'>
Dikembalikan <i class='ace-icon
icon fa fa
fa-angle-down icon-on-right'></i>
</button>";
echo"</div>";
} //End Jika status Dikembalikan

echo"</td>
<td class='hidden-480
480 center'>".date("d
center'>".date("d-m-Y",strtotime($r['tanggal_sewa']))."</td>
<td class='hidden-480
480 center'>";if($r['tanggal_kembali']==""){echo"
center'>";if($r['tanggal_kembali']==""){echo"-";}
else {echo"".date("d-m-Y",strtotime($r['tanggal_kembali']))."";}echo"</td>
Y",strtotime($r['tanggal_kembali']))."";}echo"</td>
<td>";
//Jika
ika status nya masih open maka dokumen bisa di edit atau dihapus
if ($r['status_mobil']=='Open'){
echo"
<center>
<div class='hidden-sm hidden-xs
xs action
action-buttons'>
<a class='green' href='edit-transaksi
transaksi-$encrypted_txt'><i class='ace-icon fa fa-pencil
pencil bigger-130'></i></a>
bigger
<a onclick=\"return
"return confirm('Are sure want to delete this data ??')
??')\"
class='red' href='hapus-transaksi-
-$encrypted_txt'>
<i class='ace-icon fa fa-trash-o
o bigger
bigger-130'></i></a>
</div>

37
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
<div class='hidden-md hidden-lg'>
<div class='inline pos-rel'>
<button class='btn btn-minier btn-
-yellow dropdown-toggle' data-toggle='dropdown' data-position='auto'>
position='auto'>
<i class='ace-icon fa fa-caret-down
down icon
icon-only bigger-120'></i>
</button>

<ul class='dropdown-menu dropdown-


-only-icon dropdown-yellow dropdown-menu-right dropdown-caret
caret dropdown-close'>
dropdown

<li><a href='edit-transaksi-$encrypted_txt'
$encrypted_txt' class='tooltip
class='tooltip-success' data-rel='tooltip'
rel='tooltip' title='Edit'>
<span class='green'><i class='ace-
-icon fa fa-pencil-square-o bigger-120'></i></span></a>
</li>

<li><a onclick=\"return
"return confirm('Are sure want to delete this data ??')
??')\"
href='hapus-transaksi-$encrypted_txt'
pted_txt' class='tooltip
class='tooltip-error' data-rel='tooltip'
rel='tooltip' title='Delete'>
<span class='red'><i class='ace-icon
icon fa fa
fa-trash-o bigger-120'></i></span></a>
</li>

</ul>
</div>
</div>
</center>";
} // akhir Jika status nya masih open maka dokumen bisa di edit atau dihapus
else {
echo"<center><a class='blue' href='print
href='print-transaksi-$encrypted_txt' target='_blank'>
<i class='ace-icon fa fa-print
print bigger
bigger-130'></i>
</a></center>";
}
echo"</td>
</tr>";
$no++;
}
echo "</tbody>
</table>

</div>
</div>
</div>";
break;

//form tambah data


case "tambahtransaksi":

echo" <div class='row'>


<div class='col-xs-12'>
<div class='widget-box'>
<div class='widget-header'>
<h4 class='widget-title'>Form
title'>Form Tambah Data</h4>

<div class='widget-toolbar'>
<a href='#' data-action='collapse'>
action='collapse'>
<i class='ace-icon fa fa-chevron-up'></i>
up'></i>
</a>
</div>
</div>

<div class='widget-body'>
<div class='widget-main'>
<form id='formID' class='form-horizontal'
horizontal' method=
method=\"POST\" action=\"$aksi?halamane=transaksi&act=input
"$aksi?halamane=transaksi&act=input\">

38
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right'
right' for='name'>Tanggal Sewa:</label>
<div class='col-xs-12 col-sm-4'>
<div class='clearfix'>
<div class='input-group'>
<input class='form-control date-picker'
picker' id='id
id='id-date-picker-2' type='text' name=\"tanggal_sewa
"tanggal_sewa\"
data-date-format='yyyy-mm-dd'
dd' required='required' value='$tgl_sekarang' maxlength='10'/>
<span class='input-group-addon'>
<i class='fa fa-calendar bigger-110'></i>
110'></i>
</span>
</div>
</div>
</div>
</div>
<div class='space-2'></div>

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right'
right' for='name'>Nama Pelanggan:</label>
<div class='col-xs-12 col-sm-4'>
<div class='clearfix'>
<select name='id_pelanggan' class=
class=\"chosen-select form-control\" id=\"form-field-select-1\
\"
data-placeholder='Click
placeholder='Click to Choose...' required='required'>
<option value='' selected>- Pilih pelanggan -</option>";
// Pilih tabel di database
$pelanggan = $db->getRows('pelanggan',array('order_by'=>'id_pelanggan
getRows('pelanggan',array('order_by'=>'id_pelanggan ASC'));
// Tampilkan data tabel yang dipilih
foreach($pelanggan ? $pelanggan : [] as $r){
echo "<option value='$r[id_pelanggan]'>$r[nama_pelanggan]</option>";
}
echo "</select>
</div>
</div>
</div>
<div class='space-2'></div>

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right'
right' for='id_mobil'>Jenis Mobil:</label>
<div class='col-xs-12 col-sm-4'>
<div class='clearfix'>";
echo'<select name="id_mobil" class="chosen
class="chosen-select form-control" id="form-field-select-2"
2" required="required"
onchange="document.getElementById(
onchange="document.getElementById(\'harga\').value = prdName[this.value]">';
echo"<option value=\"0\"
" selected>
selected>- Pilih mobil -</option>";
// Pilih tabel di database
$jsArray = "var prdName = new Array();
Array();\n";
$mobil = $db->getRows('mobil',array('where'=>array('status'=>'Tersedia')),array('order_by'=>'id_mobil
>getRows('mobil',array('where'=>array('status'=>'Tersedia')),array('order_by'=>'id_mobil ASC'));
// Tampilkan data tabel yang dipilih
foreach($mobil
obil ? $mobil : [] as $r){
echo "<option value='$r[id_mobil]'>$r[nama_mobil] - [$r[nopol]]</option>";
$jsArray .= "prdName['" . $r['id_mobil'] . "'] = '" . addslashes($r['harga']) . "';
"';\n";
}
echo "</select>
<span class=\"help-block\">Mobil
>Mobil yang ditampilkan hanya mobil yang status nya Tersedia.</span>
</div>
</div>
</div>

<div class='space-2'></div>

39
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right' for='harga'>Harga
Harga Sewa:</label>
<div class='col-xs-12 col-sm-9'>
<div class='clearfix'>
<input type='text' name='harga' id='harga' class='col
class='col-xs-12 col-sm-4'
4' readonly='readonly'/>
<script type='text/javascript'>$jsArray</script></div>
</div>
</div>
<div class='space-2'></div>

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right'
right' for='lama'>Lama Sewa (*Dalam Hari):</label>
<div class='col-xs-12 col-sm-9'>
<div class='clearfix'>
<input type='number'
ype='number' name='lama' id='lama' class='col
class='col-xs-12 col-sm-4'
onchange=\"subtotal();\" onkeyup=\
\"subtotal();\"/>
</div>
</div>
</div>
<div class='space-2'></div>

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right'
right' for='subtotaltxt'>Total:</label>
<div class='col-xs-12 col-sm-9'>
<div class='clearfix'>
<input type='text' name='total_sewa' id='subtotaltxt' class='col
class='col-xs-12 col-sm-4'
4' readonly='readonly'/>
readonly='
</div>
</div>
</div>
<div class='space-2'></div>

<div class='form-actions'>
<button class='btn btn-info'
info' type='submit'>
<i class='ace-icon fa fa-check
check bigger
bigger-110'></i>
Submit
</button>

&nbsp; &nbsp; &nbsp;


<button class='btn' type='reset' onclick=
onclick=\"self.history.back()\">
<i class='ace-icon fa fa-undo
undo bigger
bigger-110'></i>
Reset
</button>

</div>
</form>

</div>
</div>
</div>
</div><!-- /.span -->
</div>";

break;

//form ubah data

40
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
case "edittransaksi":
//ambil data yang akan di edit
$decrypted_txt = $db->encrypt_decrypt('decrypt',
>encrypt_decrypt('decrypt', $_GET['id']);
$r = $db->getRows('transaksi',array('where'=>
>getRows('transaksi',array('where'=>array('id_transaksi'=>$decrypted_txt),'return_type'=>'single'));
array('id_transaksi'=>$decrypted_txt),'return_type'=>'single'));

echo" <div class='row'>


<div class='col-xs-12'>
<div class='widget-box'>
<div class='widget-header'>
<h4 class='widget-title'>Form
title'>Form Ubah Data</h4>

<div class='widget-toolbar'>
<a href='#' data-action='collapse'>
action='collapse'>
<i class='ace-icon fa fa-chevron-up'></i>
up'></i>
</a>
</div>
</div>

<div class='widget-body'>
<div class='widget-main'>
<form id='formID' class='form-horizontal'
horizontal' method=
method=\"POST\" action=\"$aksi?halamane=transaksi&act=update
"$aksi?halamane=transaksi&act=update\">

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right'
right' for='phone'>Kode transaksi:</label>

<div class='col-xs-12 col-sm-9'>


<div class='input-group'>
<span class='input-group-addon'>
<i class='ace-icon fa fa-key'></i>
key'></i>
</span>

<input type=\"text\" name=\"id_transaksi


"id_transaksi\"
" required='required' value='$decrypted_txt' readonly='yes'>
</div>
</div>
</div>

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right'
right' for='name'>Tanggal Sewa:</label>
<div class='col-xs-12 col-sm-4'>
<div class='clearfix'>
<div class='input-group'>
<input class='form-control date-picker'
picker' id='id
id='id-date-picker-2' type='text'
name=\"tanggal_sewa\" data-date-format='yyyy
format='yyyy-mm-dd'
dd' required='required' value='$r[tanggal_sewa]' maxlength='10'/>
<span class='input-group-addon'>
<i class='fa fa-calendar bigger-110'></i>
110'></i>
</span>
</div>
</div>
</div>
</div>
<div class='space-2'></div>

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right'
right' for='name'>Nama Pelanggan:</label>
<div class='col-xs-12 col-sm-4'>
<div class='clearfix'>
<select name='id_pelanggan' class=
class=\"chosen-select form-control\"

41
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
id=\"form-field-select-1\" data-placeholder='Click
placeholder='Click to Choose...' required='required'>";
if ($r['id_pelanggan']==0){
echo "<option value=\"0\"
" selected>
selected>- Pilih pelanggan -</option>";
}
// Pilih tabel di database
$pelanggan = $db->getRows('pelanggan',array('order_by'=>'id_pelanggan
>getRows('pelanggan',array('order_by'=>'id_pelanggan ASC'));
// Tampilkan data tabel yang dipilih
foreach($pelanggan ? $pelanggan : [] as $w){

if ($r['id_pelanggan']==$w['id_pelanggan']){
echo "<option value=\"$w[id_pelanggan]
"$w[id_pelanggan]\" selected>$w[nama_pelanggan]</option>";
}else{
echo "<option value=\"$w[id_pelanggan]
"$w[id_pelanggan]\">$w[nama_pelanggan]</option>";
}
}
echo "</select>
</div>
</div>
</div>

<div class='space-2'></div>

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right'
right' for='id_mobil'>Jenis Mobil:</label>
<div class='col-xs-12 col-sm-4'>
<div class='clearfix'>";
echo'<select name="id_mobil" class="chosen
class="chosen-select form-control" id="form-field-select-2"
2" required="required"
onchange="document.getElementById(
onchange="document.getElementById(\'harga\').value = prdName[this.value]">';

if ($r['id_mobil']==0){
echo "<option value=\"0\"
" selected>
selected>- Pilih Mobil -</option>";}
// Pilih tabel di database
$jsArray = "var prdName = new Array();
Array();\n";
//$mobil = $db->getRows('mobil',array('order_by'=>'id_mobil
>getRows('mobil',array('order_by'=>'id_mobil ASC'));
$mobil = $db->getRows('mobil',array('where'=>array('status'=>'Tersedia')),array('order_by'=>'id_mobil
>getRows('mobil',array('where'=>array('status'=>'Tersedia')),array('order_by'=>'id_mobil ASC'));
// Tampilkan data tabel yang dipilih
foreach($mobil ? $mobil : [] as $w){

if ($r['id_mobil']==$w['id_mobil']){
echo "<option value=\"$w[id_mobil]
"$w[id_mobil]\" selected>$w[nama_mobil] - [$w[nopol]]</option>";
$jsArray .= "prdName['" . $w['id_mobil'] . "'] = '" . addslashes($w['harga']) . "';
"';\n";
}
else{
echo "<option value=\"$w[id_mobil]
"$w[id_mobil]\">$w[nama_mobil] - [$w[nopol]]</option>";
$jsArray .= "prdName['" . $w['id_mobil'] . "'] = '" . addslashes($w['harga']) . "';
"';\n";
}
}

echo "</select><span class=\"help-


-block\">Mobil
">Mobil yang ditampilkan hanya mobil yang status nya Tersedia.</span>
</div>
</div>
</div>

<div class='space-2'></div>

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right'
right' for='harga'>Harga Sewa:</label>
<div class='col-xs-12 col-sm-9'>

42
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
<div class='clearfix'>
<input
input type='text' name='harga' id='harga' class='col
class='col-xs-12 col-sm-4'
value='$r[harga_sewa]' readonly='readonly'/>
<script type='text/javascript'>$jsArray</script>
</div>
</div>
</div>
<div class='space-2'></div>

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right'
right' for='lama'>Lama Sewa (*Dalam Hari):</label>
<div class='col-xs-12 col-sm-9'>
<div class='clearfix'>
<input type='number' name='lama' id='lama' class='col
class='col-xs-12 col-sm-4'
value='$r[lama_sewa]' onchange=\"subtotal();
"subtotal();\" onkeyup=\"subtotal();\"/>
</div>
</div>
</div>
<div class='space-2'></div>

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right'
right' for='subtotaltxt'>Total:</label>
<div class='col-xs-12 col-sm-9'>
<div class='clearfix'>
<input type='text' name='total_sewa' id='subtotaltxt' class='col
class='col-xs-12 col-sm-4'
readonly='readonly'
nly='readonly' value='$r[total_sewa]'/>
</div>
</div>
</div>
<div class='space-2'></div>

<div class='form-actions'>
<button class='btn btn-info'
info' type='submit'>
<i class='ace-icon fa fa-check
check bigger
bigger-110'></i>
Submit
</button>

&nbsp; &nbsp; &nbsp;

<button class='btn' type='reset' onclick=


onclick=\"self.history.back()\">
<i class='ace-icon fa fa-undo
undo bigger
bigger-110'></i>
Reset
</button>

</div>
</form>

</div>
</div>
</div>
</div><!-- /.span -->
</div>";
break

case "ubahstatus":
//ambil data yang akan di kembalikan
$decrypted_txt = $db->encrypt_decrypt('decrypt',
>encrypt_decrypt('decrypt', $_GET['id']);
$r = $db->getRows('transaksi',array('where'=>array('id_transaksi'=>$decrypted_txt),'return_type'=>'single'));
>getRows('transaksi',array('where'=>array('id_transaksi'=>$decrypted_txt),'return_type'=>'single'));

43
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
echo" <div class='row'>
<div class='col-xs-12'>
<div class='widget-box'>
<div class='widget-header'>
<h4 class='widget-title'>Form
Form Pengembalian $decrypted_txt</h4>
<div class='widget-toolbar'>
<a href='#' data-action='collapse'><i
action='collapse'><i class='ace
class='ace-icon fa fa-chevron-up'></i></a>
</div>
</div>

<div class='widget-body'>
<div class='widget-main'>
<form method=\"POST\" action=\"$aksi?halamane=transaksi&act=pengembalian
"$aksi?halamane=transaksi&act=pengembalian\">
<input type='hidden' name='id_transaksi' value='$decrypted_txt'/>
<div>

<label for=\"id-date-picker-1\">Tanggal
">Tanggal Pengembalian</
Pengembalian</label>
<div class='row'>
<div class='col-xs-12 col-sm-4'>
<div class='input-group'>
<input class='form-control date-picker'
picker' id='id
id='id-date-picker-2' type='text' name=\"tanggal_kembali
"tanggal_kembali\"
data-date-format='yyyy-mm-dd'
dd' required='required' va
value='$tgl_sekarang' maxlength='10'/>
<span class='input-group-addon'>
<i class='fa fa-calendar bigger-110'></i>
110'></i>
</span>
</div>
</div>
</div>
<div class='space-2'></div>

<label for=\"id-date-picker-1\">Denda</label>
">Denda</label>
<div class='row'>
<div class='col-xs-12 col-sm-12'>
<input type='number' name='denda' id='denda'/>
</div>
</div>
<div class='space-2'></div>

<div class='clearfix form-actions'>


actions'>
<div class='col-md-offset-3 col-md-
-9'>
<button class='btn btn-info'
info' type='submit'>
<i class='ace-icon fa fa-check
check bigger
bigger-110'></i>
Submit
</button>
&nbsp; &nbsp; &nbsp;
<button class='btn' type='reset' onclick=
onclick=\"self.history.back()\">
<i class='ace-icon fa fa-undo
undo bigger
bigger-110'></i>
Reset
</button>
</div>
</div>
</form>

</div>
</div>
</div>
</div><!-- /.span -->

44
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
</div>";
break;

//form Detail Transaksi


case "detailtransaksi":
//ambil data yang akan di edit
$decrypted_txt = $db->encrypt_decrypt('decrypt',
>encrypt_decrypt('decrypt', $_GET['id']);
$r = $db->getRows('transaksi',array('where'=>array('id_transaksi'=>$decrypted_txt),'return_type'=>'single'));
>getRows('transaksi',array('where'=>array('id_transaksi'=>$decrypted_txt),'return_type'=>'single'));

echo" <div class='row'>


<div class='col-xs-12'>
<div class='widget-box'>
<div class='widget-header'>
<h4 class='widget-title'>Detail
title'>Detail Trasaksi $decrypted_txt</h4>

<div class='widget-toolbar'>
<a href='#' data-action='collapse'>
action='collapse'>
<i class='ace-icon fa fa-chevron-up'></i>
up'></i>
</a>
</div>
</div>

<div class='widget-body'>
<div class='widget-main'>
<form class='form-horizontal'>

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right' for='phone'>Kode
Kode transaksi:</label>

<div class='col-xs-12 col-sm-9'>


<div class='input-group'>
<span class='input-group-addon'>
<i class='ace-icon fa fa-key'></i>
key'></i>
</span>

<input type=\"text\" name=\"id_transaksi


"id_transaksi\" required='required' value='$decrypted_txt'
$decrypted_txt' readonly='yes'>
</div>
</div>
</div>

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right'
right' for='name'>Tanggal Sewa:</label>
<div class='col-xs-12 col-sm-4'>
<div class='clearfix'>
<div class='input-group'>
<input class='form-control date-picker'
picker' id='id
id='id-date-picker-2' type='text' name=\"tanggal_sewa
"tanggal_sewa\"
data-date-format='yyyy-mm-dd'
dd' required='required' value='$r[tanggal_sewa]' maxlength='10' disabled='true'/>
<span class='input-group-addon'>
<i class='fa fa-calendar bigger-110'></i>
110'></i>
</span>
</div>
</div>
</div>
</div>
<div class='space-2'></div>

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right'
right' for='name'>Nama Pelanggan:</label>

45
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
<div class='col-xs-12 col-sm-4'>
<div class='clearfix'>
<select name='id_pelanggan' class=
class=\"form-control\"
" required='required' disabled='true'>";

// Pilih tabel di database


$pelanggan = $db->getRows('pelanggan',array('order_by'=>'id_pelanggan
>getRows('pelanggan',array('order_by'=>'id_pelanggan ASC'));
// Tampilkan data tabel yang dipilih
foreach($pelanggan ? $pelanggan : [] as $w){

if ($r['id_pelanggan']==$w['id_pelanggan']){
echo "<option value=\"$w[id_pelanggan]
"$w[id_pelanggan]\" selected>$w[nama_pelanggan]</option>";
}
}
echo "</select>
</div>
</div>
</div>
<div class='space-2'></div>

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right'
right' for='id_mobil'>Jenis Mobil:</label>
<div class='col-xs-12 col-sm-4'>
<div class='clearfix'>";
echo'<select class="form-control"
control" required="required" disabled="true">';

// Pilih tabel di database


//$mobil = $db->getRows('mobil',array('order_by'=>'id_mobil
>getRows('mobil',array('order_by'=>'id_mobil ASC'));
$mobil = $db->getRows('mobil',array('order_by'=>'id_mobil
>getRows('mobil',array('order_by'=>'id_mobil ASC'));
// Tampilkan data tabel yang dipilih
foreach($mobil ? $mobil : [] as $w){

if ($r['id_mobil']==$w['id_mobil']){
echo "<option value=\"$w[id_mobil]
"$w[id_mobil]\" selected>$w[nama_mobil] - [$w[nopol]]</option>";
}
}
echo "</select>
</div>
</div>
</div>
<div class='space-2'></div>

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right'
right' for='harga'>Harga Sewa:</label>
<div class='col-xs-12 col-sm-9'>
<div class='clearfix'>
<input
input type='text' name='harga' id='harga' class='col
class='col-xs-12 col-sm-4'
value='".$db->format_rupiah($r['harga_sewa'])."'
>format_rupiah($r['harga_sewa'])."' disabled='disabled'/>
</div>
</div>
</div>
<div class='space-2'></div>

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right'
right' for='lama'>Lama Sewa (*Dalam Hari):</label>
<div class='col-xs-12 col-sm-9'>
<div class='clearfix'>
<input type='number' name='lama' id='lama' class='col
class='col-xs-12 col-sm-4'
value='".$db->format_rupiah($r['lama_sewa'])."'
>format_rupiah($r['lama_sewa'])."' disabled='disabled'/>

46
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
</div>
</div>
</div>
<div class='space-2'></div>

<div class='form-group'>
<label class='control-label col-xs
xs-12 col-sm-3 no-padding-right' for='subtotaltxt'>Total:</label>
al:</label>
<div class='col-xs-12 col-sm-9'>
<div class='clearfix'>
<input type='text' name='total_sewa' id='subtotaltxt' class='col
class='col-xs-12 col-sm-4'
value='".$db->format_rupiah($r['total_sewa'])."'
>format_rupiah($r['total_sewa'])."' disabled='disabled'/>
</div>
</div>
</div>
<div class='space-2'></div>

</form>

</div>
</div>
</div>
</div><!-- /.span -->
</div>";

break;

}
}
?>

Buatlah folder dan file halaman/hal_transaksi/


halaman/hal_transaksi/aksi_transaksi.php,, Setelah itu kita Ketik-kan
Ketik skrip
berikut untuk meng-eksekusi
eksekusi perintah yang dikirim oleh form tambah,edit
tambah,edit,hapus
,hapus ataupun ubah
status di halaman transaksi.

<?php
session_start();
// Apabila user belum login
if (empty($_SESSION['namauser']) AND empty($_SESSION['passuser'])){
echo "<h1>Untuk mengakses halaman, Anda harus login dulu.</h1><p><a href=
href=\"index.php\">LOGIN</a></p>";
">LOGIN</a></p>";
}
// Apabila user sudah login dengan benar, maka terbentuklah session
else{
include "../../config/koneksi.php";
include "../../config/encrypt_decrypt.php";
// initial database
$db = new DB();
$tblName = 'transaksi';
$halamane = $_GET['halamane'];
$act = $_GET['act'];
// declare variable post
$id_transaksi = trim(htmlspecialchars($_POST['id_trans
trim(htmlspecialchars($_POST['id_transaksi']));
$id_pelanggan = trim(htmlspecialchars($_POST['id_pelanggan']));
$id_mobil = trim(htmlspecialchars($_POST['id_mobil']));
$harga_sewa = trim(htmlspecialchars($_POST['harga']));
$lama_sewa = trim(htmlspecialchars($_POST['lama']));
$total_sewa
l_sewa = trim(htmlspecialchars($_POST['total_sewa']));

47
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
$tanggal_sewa = trim(htmlspecialchars($_POST['tanggal_sewa']));
$tanggal_kembali = trim(htmlspecialchars($_POST['tanggal_kembali']));
$denda = trim(htmlspecialchars($_POST['denda']));

$tanggal = date("Y-m-d H:i:s");


// Input data transaksi
if ($halamane=='transaksi' AND $act=='input'){

//get last insert auto number


$Last_No = $db->last_inserted('id_transaksi','transaksi');
>last_inserted('id_transaksi','transaksi');
$kode_transaksi=$db->buatkode($Last_No,
buatkode($Last_No, 'TR', 4);

$transaksiData = array(
'id_transaksi' => $kode_transaksi,
'id_pelanggan' => $id_pelanggan,
'id_mobil' => $id_mobil,
'lama_sewa' => $lama_sewa,
'harga_sewa'
' => $harga_sewa,
'total_sewa' => $total_sewa,
'tanggal_transaksi' => $tanggal,
'tanggal_sewa' => $tanggal_sewa
);
$insert = $db->insert($tblName,$transaksiData);
>insert($tblName,$transaksiData);
header("location:../../transaksi-view");
view");
}

// Update data transaksi


elseif ($halamane=='transaksi' AND $act=='update'){
$transaksiData = array(
'id_pelanggan' => $id_pelanggan,
'id_mobil' => $id_mobil,
'lama_sewa' => $lama_sewa,
'harga_sewa' => $harga_sewa,
'total_sewa' => $total_sewa,
'tanggal_sewa' => $tanggal_sewa
);
$condition = array('id_transaksi' => $id_transaksi);
$update = $db->update($tblName,$transaksiData,$condition);
>update($tblName,$transaksiData,$condition);
header("location:../../transaksi-v
view");
}

// Hapus data transaksi


elseif ($halamane=='transaksi' AND $act=='hapus'){
$decrypted_txt = $db->encrypt_decrypt('decrypt',
>encrypt_decrypt('decrypt', $_GET['id']);
$condition = array('id_transaksi' => $decrypted_txt);
$delete = $db->delete($tblName,$conditi
>delete($tblName,$condition);
header("location:transaksi-view");
view");
}
elseif ($halamane=='transaksi' AND $act=='updatestatus'){
$decrypted_txt = $db->encrypt_decrypt('decrypt',
>encrypt_decrypt('decrypt', $_GET['id']);
switch ($_GET['s']) {
//Jika status_mobil diubah menjadi Open
case 'Open':
$transaksiData = array('status_mobil' => 'Open');
break;

//Jika status_mobil diubah menjadi Disewa


case 'Disewa':

48
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
$transaksiData = array('status_mobil' => 'Disewa');
break;

//Jika status_mobil diubah menjadi Dikembalikan


case 'Dikembalikan':
$transaksiData = array('status_mobil' => 'Dikembalikan','tanggal_kembali'=>$tanggal);
break;

default:
// Always prepare for the unknown :
:-)
throw new \Exception("Unknown
n("Unknown operator");
}
$condition = array('id_transaksi' => $decrypted_txt);
$update = $db->update($tblName,$transaksiData,$condition);
>update($tblName,$transaksiData,$condition);
header("location:transaksi-view");
view");
}

elseif ($halamane=='transaksi' AND $act=='pengembalian')


$act=='pengembalian'){
$transaksiData = array(
'denda' => $denda,
'status_mobil' => 'Dikembalikan',
'tanggal_kembali' => $tanggal_kembali);
$condition = array('id_transaksi' => $id_transaksi);
$update = $db->update($tblName,$transaksiData,$condition);
update($tblName,$transaksiData,$condition);
header("location:../../transaksi-view");
view");
}

}
?>

Membuat Laporan

Buatlah folder dan file halaman/hal_


halaman/hal_report/report.php, Setelah itu kita Ketik-kan
kan skrip berikut untuk
menampilkan halaman di menu laporan.

<form method="POST" action="report-


-transaksi-view" target="_blank">

49
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
<label for="timepicker1">Dari</label>
<div class="input-group col-xs-8
8 col
col-sm-6">
<input name='dari' class="form-control
control date
date-picker" id="id-date-picker-1" type="text"
data-date-format="yyyy-mm-dd"
dd" readonly='true' required='required' value='<?php echo"$tgl_sekarang"; ?>'/>
<span class="input-group-addon">
<i class="fa fa-calendar bigger-110"></i>
110"></i>
</span>
</div>

<hr />
<label for="timepicker1">Sampai</label>
<div class="input-group col-xs-8
8 col
col-sm-6">
<input name='sampai' class="form-control
control date
date-picker" id="id-date-picker-2" type="text"
data-date-format="yyyy-mm-dd"
dd" readonly='true' required='required' value='<?php ec
echo"$tgl_sekarang";
ho"$tgl_sekarang"; ?>'/>
<span class="input-group-addon">
<i class="fa fa-calendar bigger-110"></i>
110"></i>
</span>
</div>
<hr />

<div class='clearfix form-actions'>


actions'>
<div class='col-md-offset-4 col-md-
-6'>
<button class='btn btn-info'
info' type='submit'>
<i class='ace-icon fa fa-check
check bigger
bigger-110'></i>
Submit
</button>
</div>
</div>

</form>

Buatlah folder dan file halaman/hal_


halaman/hal_report/report-transaksi.php,, Setelah itu kita Ketik-kan
Ketik skrip
berikut untuk meng-eksekusi
eksekusi perintah yang dikirim oleh form laporan berdasarkan tanggal yang
dipilih.

<?php
session_start();
include "../../config/koneksi.php";

// Apabila user belum login


if (empty($_SESSION['namauser']) AND empty($_SESSION['passuser'])){
echo "<h1>Untuk mengakses halaman, Anda harus login dulu.</h1><p><a href=
href=\"index.php\">LOGIN</a></p>";
">LOGIN</a></p>";
}
// Apabila user sudah login dengan benar, maka terbentuklah session
else{
$db = new DB();
?>
<html>
<head>
<title> :: LAPORAN DATA KOREKTIF</title>
<link href="halaman/hal_report/styles_cetak.css" rel="stylesheet" type="text/css">
</head>
<body>

<center>

50
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
<h2> LAPORAN DATA TRANSAKSI </h2>
<p><?php echo"Range Date : $_POST[dari] s/d $_POST[sampai]";?></p>
</center>
<?php
if($_POST['dari'] !=='' && $_POST['sampai'] !==''){
$transaksi = $db->GetDataTransaksiByDate($_POST['dari'],$_POST['sampai']);
>GetDataTransaksiByDate($_POST['dari'],$_POST['sampai']);
}
else {
$transaksi = $db->GetDataTransaksi();
aTransaksi();
}
echo"<table class='table-list'
list' width='100%' border='0' cellspacing='1' cellpadding='2'>
<thead>
<tr>
<td bgcolor='#F5F5F5'>#</td>
<td bgcolor='#F5F5F5'>No Transaksi</td>
<td bgcolor='#F5F5F5'>Nama Pelanggan</td>
<td bgcolor='#F5F5F5'>Jenis Mobil</td>
<td bgcolor='#F5F5F5'><center>Lama Sewa</center></td>
<td bgcolor='#F5F5F5'>Harga Sewa</td>
<td bgcolor='#F5F5F5'>Denda</td>
<td bgcolor='#F5F5F5'>Total Sewa</td>
<td bgcolor='#F5F5F5'>Status Mobil</td>
obil</td>
<td bgcolor='#F5F5F5'>Tanggal Sewa</td>
<td bgcolor='#F5F5F5'>Tanggal Kembali</td>
</tr>
</thead>
<tbody>";

$no = 1;
// Tampilkan data tabel yang dipilih
foreach($transaksi ? $transaksi : [] as $r){
$total=$r['total_sewa']+$r['denda'];
echo "
<tr>
<td class='center'>$no</td>
<td>$r[id_transaksi]</td>
<td>$r[nama_pelanggan]</td>
<td>$r[nama_mobil]</td>
<td><center>$r[lama_sewa]</center></td>
<td>".$db->format_rupiah($r['harga_sewa'])."</td>
format_rupiah($r['harga_sewa'])."</td>
<td>";if($r['denda']==0){echo"-";}
";} else {echo"".$db
{echo"".$db->format_rupiah($r['denda'])."";}echo"</td>
>format_rupiah($r['denda'])."";}echo"</td>
<td>".$db->format_rupiah($total)."</td>
>format_rupiah($total)."</td>
<td>$r[status_mobil]</td>
<td>".date("d-m-Y",strtotime($r['tanggal
Y",strtotime($r['tanggal_sewa']))."</td>
<td>";if($r['tanggal_kembali']==""){echo"
<td>";if($r['tanggal_kembali']==""){echo"-";}
else {echo"".date("d-m-Y",strtotime($r['tanggal_kembali']))."";}echo"</td>
Y",strtotime($r['tanggal_kembali']))."";}echo"</td>

</tr>"; $no++;
}
echo"
</tbody>
</table>";
?>
</body>
</html>
<?php}?>

51
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL

52

Anda mungkin juga menyukai