TUGAS AKHIR BAHASA PEMOGRAMAN II APLIKASI RENTAL MOBIL MENGGUNAKAN NETBEANSDeskripsi lengkap
TUGAS AKHIR BAHASA PEMOGRAMAN II APLIKASI RENTAL MOBIL MENGGUNAKAN NETBEANSFull description
proposal rental mobilFull description
Rekayasa Perangkat Lunak berikut , adalah edisi pertama dan tidak sempurna , ada edisi , dimana edisi Final , anda dapat kontak melalui email atau facebook , thank'sFull description
Rekayasa Perangkat Lunak berikut , adalah edisi pertama dan tidak sempurna , ada edisi , dimana edisi Final , anda dapat kontak melalui email atau facebook , thank's
APBOFull description
Full description
Full description
Contoh Rencana Usaha Rental MobilFull description
Laporan akhir sistem informasi, proyek sistem informasi rental mobilDeskripsi lengkap
proposal rental mobilDeskripsi lengkap
asFull description
Proposal Sistem Informasi Rental Mobil
asDeskripsi lengkap
Informatika
Berisi proposal rencana usaha yang dapat digunakan untuk pengajuan kredit ke bankFull description
Tugas Manajemen Proyek Sistem InformasiFull description
Aplikasi Penyewaan Pemesanan Rental Mobil Berbasis Android Menggunakan Java
1JAM MEMBUAT
APLIKASI RENTAL MOBIL
DENGAN PHP DAN MYSQL
SIGIT DWI PRASETYO
DAFTAR ISI
Hal. Ha l. 3
Pengenalan singkat PDO
Hal. Ha l. 3
Membuat Database
Hal. 4
Membuat Layout
Hal. 5
Membuat Koneksi ke Database
Hal. 6
Membuat File Index
Hal. Ha l. 1 2
Membuat File Content
Hal. Ha l. 1 3
Membuat Menu
Hal. Ha l. 1 5
Membuat Halaman Utaman
Hal. Ha l. 4 9
Membuat Laporan
SixghaKreasi Madigondo RT 26/10, Sidoharjo, Samigaluh, Kulon Progo , DI Yogyakarta 55673
APLIKASI RENTAL MOBIL PHP MYSQL Pengenalan singkat PDO Dari seki kia an ba banya yak k tu tutorial l kal mengenai PHP dan MySQL di Internet, hampir semuanya menggunakan extension mysql exten extension. sion. Padahal Padahal kalo dilihat, dilihat, exten extension sion it sudah old school. Mungkin ada sedikit yang mulai beral beralih ih ke MySQLi exten extension. sion. Seben Sebenernya ernya mul i PHP 5.1 sudah ada cara yang lebih baik dan dianjurka urkan n dari daripad pada a meng menggun gunaka akan n exte extensi nsion on myS L dan MySQLi yaitu menggunakan PDO (PHP Data bject). PD PDO se sendiri ti tidak be bergantung ke kepada d tabase MySQL saja, tapi ta pi bi bissa me mend nduk uku ung ke DB DBM MS yang lain. lain. Dan banyak frame framework work PHP PHP yang suda suda menggunakan PDO secara default, salah satunya yii framework. Mengap Meng apa a Me Meng nggu guna naka kan n PD PDO O 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 sege se gera ra di dih hil ilan angk gkan an dar arii PHP PHP pad ada a ver versi si--ver ersi si ber eriiku kutn tnya ya.. Un Untu tuk k itu itu pa pada da t lisan ini saya akan menggu men ggunak nakan an PDO PDO sebagai sebagai sala sala satu metode mengakses basis data (dalam hal ini mysql). “PDO : PHP Data Objek adalah sebuah la lapisan ak akses ba basis da data ya yang menyerag mkan metode untuk mengakses banyak database. “
PDO ti tidak memperhitungkan si sintaks database secara spesifik, tetapi dapat emungkinkan untuk proses switching database dan platf tfo orm yang bia biassanya dih ihiindari ol oleh pr progr gra a mer, secara mudah adal ala ah dengan me mellakukan deklarasi koneksi untuk beberapa database sekalig us. PDO mendukung database berikut ini.
PDO_DBLIB ( FreeTDS / Microsoft SQL Server / Sybase ) PDO_FIREBIRD ( Firebird/Interbase 6 ) PDO_IBM ( IBM DB2 ) PDO_ O_IINFOR ORM MIX ( IBM Informix Dynamic Server ) PDO_MYSQL ( MySQL 3.x/4.x/5.x ) PDO_OCI ( Oracle Call Inter ace ) 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 p pa astikan
terlebih
dahulu,
bernama rental . Di dalamnya m sti ada lima tabel ini:
3
Anda
sudah
me buat database yang
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` `lev el` enu enum('a m('admin dmin',' ','use user') r') NOT NOT NU L 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') OT NULL DEFAULT 'Tersedia' )
CREATE TABLE `pelanggan` ( `id_pelanggan` varchar(7) NOT NULL, `nama_pelanggan` varchar(20) NOT NU L, `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 NU L, `tanggal_sewa` varchar(10) NOT NULL `tanggal_kembali` varchar(10) NOT N LL )
Membuat Layout
4
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL Untu Un tuk k lay layou outt sa saya men engg ggu una an template gratis dari Aceadmin. Aceadmi adalah salah satu template yang sering digunakan oleh developer sebagai template backend nya, ulu nya template ini berbayar tapi entah kenapa s ek ekar aran ang g te temp mpla late te in inii ti tida dak k dij dijua uall lag lagii ja jadi di s dah otomatis tidak dikembangkan lagi, walaupun
egitu kita kita masih masih tetap tetap bisa menggun menggunakan akan ny sebagai salah satu
pilihan untuk template backend.
Buat Bu atla lah h fol folde derr ba baru ru de deng nga an na na a “re “ren nta tall” di di htd htdoc ocss xam xampp pp,, ke kemu mudi dian an cop opy y f lder asset template aceAdmin didalamnya.
Membuat Koneksi ke Database dengan PDO contructor Karena PDO adalah fungsi/fitur PHP yan yang g dituli dituliss mengg mengguna unakan kan obj objek, ek, maka unt k membuat koneksi antara PHP dengan MySQL, kita menggunakan PDO constructor, yakni dengan embuat objek baru dari class PDO (menggunakan k yword: new). Beriku Ber ikutt adal adalah ah str strukt uktur ur das dasar ar cara penulisan PDO constructor untuk untuk database M SQL: $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-perintah PDO. Nama v riabel boleh bebas, dan tidak harus $conn. Argumen dari constructor PDO PDO terdiri dari 3 bagian, bagian pertama b risi nama database (mis isal alny nya: a:my mysq sql) l) kemu kemudi di n diikuti dengan alamat server dan nama database, semuanya di server (m 5
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL dalam 1 string. Untuk argumen kedua diisi dengan nama user, dan argumen k tiga berisi password user. OK kita lanjut ke next step, Bu tlah folder config dan file koneksi.php sehing a struktur foldernya config/koneksi.php silahkan buka text editor anda l lu ketikan kode di bawah ini.
public function __construct(){ if(!isset($this->db)){ // Connect to the databas
try{ $conn = new PDO("mysql:host=".$this >dbHost.";dbname=".$this->dbName, $this->dbUsername, $this->dbPassword); $conn -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $this->db = $conn; }catch(PDOException $e){ die("Failed to connec with MySQL: " . $e->getMessage()); } } }
public function getmyDB() { if ($this->db instanceof PDO) { return $this->db; } } ?>
...dst Koding bisa dilihat di source ode lengkap.
Membuat File Index File index.php adalah sebuah file yang menjadi indeks sebuah aplikasi berba is website. Didalam aplikasi ini file index.php berisi form login.
6
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
Membuat otentikasi untuk me gecek apakah user sudah login atau belum,u ername / password benar atau salah. jika sudah selesai pengecekkan maka akan diarahkan ke site.php dan jika gagal maka akan kembali ke index.ph . Buatlah folder halaman/hal_use r/cek_login.php
// 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();
Membuat File Content File content.php ini disisipkan di file site.php yang berisi kontent utama. Untuk mengakses halaman, nd a haru s log in dulu.< p>L OGIN"; } // Apabila user sudah login dengan be ar, maka terbentuklah session
else{ include "config/koneksi.php"; include "config/library.php";
// Home (Beranda) if ($_GET['halamane']=='home'){ include "halaman/hal_beranda/ho e.php"; }
// Error 404 elseif ($_GET['halamane']=='error_4 4'){ include "halaman/hal_beranda/40 .php"; }
// User elseif ($_GET['halamane']=='user'){ if ($_SESSION['leveluser']=='admin'){ include "halaman/hal_user/user. hp"; } }
// pelanggan elseif ($_GET['halamane']=='pelangg n'){ if ($_SESSION['leveluser']=='admin'){ include "halaman/hal_pelanggan/ elanggan.php"; } }
// mobil elseif ($_GET['halamane']=='mobil') if ($_SESSION['leveluser']=='admin'){ include "halaman/hal_mobil/mobi .php"; } }
// transaksi
12
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL elseif ($_GET['halamane']=='transak i'){ if ($_SESSION['leveluser']=='admin'){ include "halaman/hal_transaksi/ ransaksi.php"; } }
// Report elseif ($_GET['halamane']=='report' { if ($_SESSION['leveluser']=='admin' OR $_SESSION['leveluser']=='user'){ include "halaman/hal_report/rep rt.php"; } }
else{ echo "
Halaman Tidak Tersedia.
"; } } ?>
Membuat Menu Selanjutnya buatlah folder men u/menu_active.php. Fungsi ini sebagai elemen view berupa css class yang akan digunakan untuk m milih div yang ketika menu diklik. Melalui kon isional if dan else if, tombol di daftar menu yang diklik akan diperiksa.
$master_user_active="active"; }
//halaman pelanggan view if ($_GET['halamane']=='p langgan'){ $master_active_open="active open";
$master_pelanggan_active="active"; }
//halaman mobil view if ($_GET['halamane']=='m bil'){ $master_active_open="active open";
$master_mobil_active="active"; }
//halaman transaksi view if ($_GET['halamane']=='t ansaksi'){ $transaksi_active_open="active open";
$transaksi_transaksi_active="active";
13
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL }
//halaman Laporan view if ($_GET['halamane']=='r port'){ $laporan_active_open="active open";
$laporan_laporan_active="active"; }
?>
Buatlah folder dan file menu menu_admin.php, Setelah itu kita Ketik-kan skrip berikut untuk menampilkan daftar menu.
Buatlah folder dan file hal man/hal_beranda/home.php, Setelah itu kita Ketik-kan berikut untuk menampilkan hal man home atau beranda Untuk mengakses halaman, Anda harus login dulu.
"; } // Apabila user sudah login dengan benar, maka terbentuklah session else{ // Initialing koneksi database $db = new DB(); ?>
<script language=JavaScript>var d = new Date(); var h = d.getHours(); if (h < 11) { document.write('Selamat pagi ,'); } else { if (h < 15) { document.wri e('Selamat siang ,'); } else { if (h < 19) { document.wri e('Selamat sore ,'); } else { if (h <= 23) { document.wr te('Selamat malam ,'); } }}} Silahkan pilih menu yang tersedia untuk mengelola konten ini
Download manual book pengguna sistem
15
skrip
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
Membuat Halaman User
Buatlah folder dan file halama /hal_user/user.php, Setelah itu kita Ketik-kan skrip berikut untuk menampilkan halaman user.
Untuk mengakses halaman, nd a haru s log in dulu.< p>L OGIN"; } // Apabila user sudah login dengan be ar, 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) $ac t = isset($ _GET ['act']) ? $_GE T['act'] : '';
switch($act){ // Tampil User default: echo"
Tabel User View
";
echo"
16
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
No
ID User
Username
Nama User
Level
"; $no=1; // Pilih tabel di database $user = $db->GetRowUser(); // Tampilkan data tabel yang dipilih foreach($user ? $user : [] as $r) $encrypted_txt = $db->encrypt_dec ypt('encrypt', $r['id_user']);
echo "
$no
$r[id_user]
$r[username]
$r[nama_user]
$r[level]< td>
"; $no++; } echo "
17
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
"; break;
//form tambah data case "tambahuser": echo"
Form Tam ah User
";
break;
//form ubah data case "edituser": //ambil data yang akan di edit
19
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL $decrypted_txt = $db->encrypt_dec ypt('decrypt', $_GET['id']); $r
Buatlah folder dan file halaman/hal_user/ aksi_user.php, Setelah itu kita Ketik-kan skrip berikut untuk meng-eksekusi erintah yang dikirim oleh form tambah,edit ataupun hapus di halaman user.
Untuk mengakses halaman, n da harus l og in dulu. h1 >
"; } // Apabila user sudah login dengan enar, maka terbentuklah session else{ include "../../config/koneksi.php"; // initial database $db = new DB(); $tblName = 'user'; $halamane = $_GET['halamane']; $act
APLIKASI RENTAL MOBIL PHP MYSQL // Hapus data user elseif ($halamane=='user' AND $act= 'hapus'){ $decrypted_txt = $db->enc ypt_decrypt('decrypt', $_GET['id']); $condition = array('id_user' => $decrypted_txt); $delete = $db->delete($tblName,$c ndition);
header("location:user-view"); }
} ?>
Membuat Halaman Pelanggan
Buatlah folder dan file halam n/hal_pelanggan/pelanggan.php, Setelah itu berikut untuk menampilkan hal man pelanggan.
ita Ketik-kan
Untuk mengakses halaman, nd a haru s log in dulu.< p>L OGIN"; } // Apabila user sudah login dengan be ar, 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) $ac t = isset($ _GET ['act' ]) ? $_GET['act'] : '';
switch($act){ // Tampil pelanggan default: echo"
23
skrip
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
Tabel pelanggan
";
echo"
No
Kode Pelanggan
Nama Pelanggan
Alamat
";
$no=1; // Pilih tabel di database $pelanggan = $db->getRows('pelang an',array('order_by'=>'id_pelanggan DESC')); // Tampilkan data tabel yang dipilih foreach($pelanggan ? $pelanggan : [] as $r){ $encrypted_txt = $db->encrypt_dec ypt('encrypt', $r['id_pelanggan']);
echo "
$no
$r[id_pelanggan]
$r[nama_pelanggan]
$r[alamat]
24
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
"; $no++; } echo "
"; break;
//form tambah data case "tambahpelanggan":
echo"
Form Tam ah Data
";
break;
//form ubah data case "editpelanggan": //ambil data yang akan di edit $decrypted_txt = $db->encrypt_dec ypt('decrypt', $_GET['id']); $r
Buatlah folder dan file halaman hal_pelanggan/aksi_pelanggan.php, Setelah itu kita Ketik-kan skrip berikut untuk meng-eksekusi perintah yang dikirim oleh form tambah,edi ataupun hapus di halaman pelanggan.
"; } // Apabila user sudah login dengan be ar, maka terbentuklah session else{ include "../../config/koneksi.php"; // initial database $db = new DB(); $tblName = 'pelanggan'; $halamane = $_GET['halamane']; $act
// Input data pelanggan if ($halamane=='pelanggan' AND $act ='input'){ //get last insert auto number $Last_No = $db->last_inserted('id pelanggan','pelanggan'); $kode_pelanggan=$db->buatkode($La t_No, 'P', 3);
$pelangganData = array( 'id_pelanggan'
=>
$kode pelanggan,
'nama_pelanggan' => $nama pelanggan, 'alamat'
=> $alamat);
$insert = $db->insert($tblName,$p langganData);
header("location:../../pelanggan- iew"); }
// Update data pelanggan elseif ($halamane=='pelanggan' AND act=='update'){ $pelangganData = array( 'nama_pelanggan' => $nama pelanggan, 'alamat'
Buatlah folder dan file halaman hal_mobil/mobil.php, Setelah itu kita Ketik-kan skrip berikut untuk menampilkan halaman mobil. Untuk mengakses halaman, nd a haru s log in dulu.< p>L OGIN"; } // Apabila user sudah login dengan benar, maka terbentuklah session else{ // Initialing koneksi database $db = new DB(); $aksi = "halaman/hal_mobil/aksi_mob l.php";
// mengatasi variabel yang belum di definisikan (notice undefined index) $ac t = isset($ _GET ['act' ]) ? $_GET['act'] : '';
switch($act){ // Tampil mobil default: echo"
Tabel mobil
";
echo"
29
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL
No
Nama mobil
Nopol
Harga Sewa
Status Mobil h>
";
$no=1; // Pilih tabel di database $mobil = $db->getRows('mobil',arr y('order_by'=>'id_mobil DESC')); // Tampilkan data tabel yang dipilih foreach($mobil ? $mobil : [] as $r){ $encrypted_txt = $db->encrypt_dec ypt('encrypt', $r['id_mobil']);
echo "
$no
$r[nama_mobil]
$r[nopol]
".$db->format_ upiah($r['harga'])."
"; if($r['status']=='Disewa'){echo'< pan class="label label-sm label-warning">'.$r['status'].'';} else {echo''.$r['status'].'' ; }
Buatlah folder dan file halama /hal_mobil/aksi_mobil.php, Setelah itu kita Ke ik-kan skrip berikut untuk meng-eksekusi perintah y ang dikirim oleh form tambah,edit ataupun hap s di halaman mobil. Untuk mengakses halaman, nd a haru s log in dulu.< p>L OGIN"; } // Apabila user sudah login dengan enar, maka terbentuklah session else{ include "../../config/koneksi.php"; // initial database $db = new DB(); $tblName = 'mobil'; $halamane = $_GET['halamane']; $act
// Hapus data mobil elseif ($halamane=='mobil' AND $act ='hapus'){ $decrypted_txt = $db->enc ypt_decrypt('decrypt', $_GET['id']); $condition = array('id_mobil' => $decrypted_txt); $delete = $db->delete($tblName,$c ndition);
header("location:mobil-view"); }
} ?>
Membuat Halaman Transaksi
Buatlah folder dan file halaman hal_transaksi/transaksi.php, Setelah itu kita Ke tik-kan skrip berikut untuk menampilkan halaman tr nsaksi. Untuk mengakses halaman, nd a haru s log in dulu.< p>L OGIN"; } // Apabila user sudah login dengan enar, 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) $ac t = isset($ _GET ['act']) ? $_GE T['act'] : '';
35
PDO-PHP
APLIKASI RENTAL MOBIL PHP MYSQL switch($act){ // Tampil transaksi default:
Buatlah folder dan file halama /hal_transaksi/aksi_transaksi.php, Setelah itu kita Ketik-kan skrip berikut untuk meng-eksekusi erintah yang dikirim oleh form tambah,edit, apus ataupun ubah status di halaman transaksi.
Untuk mengakses halaman, nd a haru s log in dulu.< p>L OGIN"; } // Apabila user sudah login dengan be ar, maka terbentuklah session else{ include "../../config/koneksi.php"; include "../../config/encrypt_decry t.php"; // initial database $db = new DB(); $tblName = 'transaksi'; $halamane = $_GET['halamane']; $act
Buatlah folder dan file halaman hal_report/report.php, Setelah itu kita Ketik-ka menampilkan halaman di menu laporan.
Buatlah folder dan file halaman/hal_report/report-transaksi.php, Setelah itu kita Ketik-kan skrip berikut untuk meng-eksekusi p erintah yang dikirim oleh form laporan berdasarkan tanggal yang dipilih.
// Apabila user belum login if (empty($_SESSION['namauser']) AN empty($_SESSION['passuser'])){ echo "
Untuk mengakses halaman, nd a haru s log in dulu.< p>L OGIN"; } // Apabila user sudah login dengan enar, maka terbentuklah session else{ $db = new DB(); ?> :: LAPORAN DATA KOREKTIF