PENULISAN ILMIAH
i
PERNYATAAN ORIGINALITAS DAN PUBLIKASI
NPM : 14117220
Tanggal Sidang :
Tanggal Lulus :
Dengan ini menyatakan bahwa tulisan ini adalah merupakan hasil karya
sendiri dan dapat dipublikasikan sepenuhnya oleh Universitas Gunadarma. Segala
kutipan dalam bentuk apapun telah mengikuti kaidah, etika yang berlaku. Mengenai
isi dan tulisan merupakan tanggung jawab penulis, bukan Universitas Gunadarma.
ii
LEMBAR PENGESAHAN
Menyetujui,
(Dr. Dewi Agushinta R, SKom, MSc.,) (Dr. Sri Nawangsari, SE., MM)
iii
ABSATRAK
Dapur Nunuy merupakan salah satu dari beberapa toko makanan yang ada di
wilayah Kalibata. Toko Dapur Nunuy menjual berbagai macam masakan dan
mempunyai konsumen yang cukup banyak. Persaingan toko makanan sekarang ini
sangat menjamur di kehidupan masyarakat. Maka dari itu pembuatan website ini
merupakan hal yang penting untuk membantu dalam memberikan pengenalan
masakan secara tepat yang tidak memandang ruang dan waktu. Keberadaan website
e-commerce ini diharapkan agar para konsumen dapat memperoleh kemudahan
dalam memilih dan memesan masakan yang mereka inginkan, kapan saja di mana
saja mereka berada, tanpa harus datang ke toko.
iv
KATA PENGANTAR
Segala puji dan syukur kehadirat Tuhan Yang Maha Kuasa yang telah memberikan
berkat, anugerah dan karunia yang melimpah, sehingga penulis dapat menyelesaikan
Penulisan Ilmiah ini.
Penulisan Ilmiah ini disusun guna melengkapi Sebagian syarat dalam mencapai gelar
Setara Sarjana Muda pada jurusan Sistem Informasi, Fakultas Ilmu Komputer dan Teknologi
Informasi, Universitas Gunadarma. Adapun judul Penulisan Ilmiah ini adalah Pembuatan
website pemesanan masakan rumah pada toko Dapur Nunuy menggunakan php.
Walaupun banyak kesulitan yang penulis harus hadapi ketika menyusun Penulisan
Ilmiah ini, namun berkat bantuan dan dorongan dari berbagai pihak akhirnya tugas ini dapat
diselesaikan dengan baik. Untuk itu penulis mengucapkan terima kasih, kepada :
v
8. Sahabat-sahabat penulis yang selalu berada di saat suka maupun duka.
9. Kak Nurul Selaku pemilik toko Dapur Nunuy dan teman-teman.
10. Semua pihak yang telah memberi dukungan baik secara langsung maupun tidak
langsung yang tidak bisa disebutkan namanya secara satu-persatu.
Penulis menyadari terdapat banyak kekurangan dari penulisan ilmiah ini. Hal ini
disebabkan karena keterbatasan kemampuan, pengetahuan dan pengalaman yang dimiliki
oleh penulis. Oleh karena itu, penulis memohon maaf atas ketidaksempurnaan penulisan
ilmiah ini. Penulis mengharapkan kritik serta saran yang dapat membangun penulis agar
penulisan di masa yang akan datang akan lebih baik dan berkembang dari yang sekarang.
Demikianlah Tulisan Ilmiah ini, penulis berharap agar penulisan ilmiah ini dapat
memberikan manfaat bagi kita semua.
vi
DAFTAR ISI
vii
2.4.1 HTML (HyperText Markup Language)......................................6
2.4.2 PHP (Hyper Text Processor)......................................................7
2.4.3 CSS(Cascading Stylw Sheets)....................................................7
2.4.4 Javascript................................................................................…8
viii
3.3 Kebutuhan Perangkat.......................................................................... 23
3.4 Struktur Navigasi................................................................................ 23
3.5 Use Case Diagram............................................................................... 24
3.6 Tahapan Perancangan Basis Data (database).................................... 24
3.7 Tahapan Perancangan Antarmuka..................................................... 26
3.7.1 Rancangan Halaman Home................................................ 27
3.7.2 Rancangan Halaman Detail Product................................... 28
3.7.3 Rancangan Halaman Keranjang (Cart)............................... 28
3.7.4 Rancangan Halaman Pemesanan........................................ 29
3.7.5 Rancangan Halaman Login Admin Toko........................... 30
3.7.6 Rancangan Halaman Profile Admin................................... 31
3.7.7 Rancangan Halaman Admin Add Product.......................... 31
3.7.8 Rancangan Halaman admin table product, order................ 32
3.8 Tahapan Impelementasi Basis Data (Database)................................. 32
3.8.1 Implementasi Basis Data Tabel Admin............................... 33
3.8.2 Implementasi Basis Data Tabel Keranjang......................... 33
3.8.3 Implementasi Basis Data Tabel Pelanggan......................... 34
3.8.4 Implementasi Basis Data Tabel product............................. 34
3.8.5 Implementasi Basis Data Tabel order................................. 34
3.9 Tahapan Implementasi Antarmuka.................................................... 35
3.9.1 Implementasi Halaman Utama........................................... 36
3.9.2 Implementasi Halaman Detail Masakan............................. 37
3.9.3 Implementasi Halaman Keranjang .................................... 38
3.9.4 Implementasi Halaman Pemesanan ................................... 39
3.9.5 Implementasi Halaman Login Admin ................................ 40
3.9.6 Implementasi Halaman Profile Admin................................ 41
ix
3.9.7 Implementasi Halaman Add Product Admin....................... 42
3.9.8 Implementasi Halaman Tabel Product................................. 43
3.10. Tahap Uji Coba .............................................................................. 44
3.10.1. Blackbox Testing ..................................................................... 44
3.10.2 Tahap Uji Coba User (UAT) .................................................... 44
4. PENUTUPAN.........................................................................................….. 45
4.1Kesimpulan ......................................................................................45
4.2 Saran ........................... ........... .......................................................45
Daftar Pustaka...................................................................................................46
Lampiran……..................................................................................................L-1
x
DAFTAR GAMBAR
xi
Gambar 3.18 Halaman Home .................................................................................36
Gambar 3.19 Halaman Detail Product .................................................................... 37
Gambar 3.20 Halaman Keranjang .......................................................................... 38
Gambar 3.21 Halaman Pemesanan ........................................................................ 39
Gambar 3.22 Halaman admin login ....................................................................... 40
Gambar 3.23 Halaman Profil Admin ..................................................................... 41
Gambar 3.24 Add Product Admin ...........................................................................42
Gambar 3.25 Tabel product .................................................................................... 43
xii
DAFTAR TABEL
xiii
DAFTAR LAMPIRAN
xiv
BAB I
PENDAHULUAN
Dapur Nunuy merupakan salah satu dari beberapa toko makanan yang ada di
wilayah Kalibata. Toko Dapur Nunuy menjual berbagai macam masakan dan
mempunyai konsumen yang cukup banyak. Persaingan toko makanan sekarang ini
sangat menjamur di kehidupan masyarakat.
Maka dari itu pembuatan website ini merupakan hal yang penting untuk
membantu dalam memberikan pengenalan masakan secara tepat yang tidak
memandang ruang dan waktu. Keberadaan website e-commerce ini diharapkan agar
para konsumen dapat memperoleh kemudahan dalam memilih dan memesan masakan
yang mereka inginkan, kapan saja di mana saja mereka berada, tanpa harus datang ke
toko.
Dengan begitu diharapkan pembuatan website ini dapat memudahkan
konsumen untuk melakukan pemesan makanan dan juga untuk memperluas nama
Dapur Nunuy ke masyarakat luas terutama yang berada di daerah Kalibata. Dengan
berbagai varian menu dan harga yang bersaing untuk semua kalangan.
1
1.2 Batasan Masalah
Adapun batasan masalah dalam penulisan ini antara lain :
1. Website bersifat offline.
2. Website yang dibuat tidak dapat melakukan transaksi secara online, transaksi
harus dilakukan secara langsung melalui transfer bank manual pada rekening
pribadi dan melakukan konfirmasi pada pemilik website.
3. Konfirmasi dilakukan dengan menghubungi pelanggan untuk dimintai
informasi terkait makanan yang dipesan melalui website.
2
1.5 Sistematika Penulisan
Berikut ini beberapa isi dari sistematika dari sistem yang dibuat, dibuat dalam
4 (empat bab).
1. Pendahuluan, membahas tentang latar belakang, rumusan masalah, tujuan
penulisan, metode penelitian, dan sistematika penulisan.
2. Landasan Teori, membahas semua teori pengertian website, sistem informasi,
xampp, basis data, PHP, MySQL dan segala tentang proses pembuatan
website ini.
3. Pembahasan, menyajikan hasil-hasil implementasi dari website yang sudah
dibuat yaitu berupa rancangan, struktur, dan hasil.
4. Penutup, menjelaskan kesimpulan yang sudah dibahas pada bab-bab
sebelumnya serta saran dan masukan.
3
BAB 2
TINJAUAN PUSTAKA
Ada yang membuat perbedaan yang jelas antara sistem informasi, dan
komputer sistem TIK, dan proses bisnis. Sistem informasi yang berbeda dari
teknologi informasi dalam sistem informasi biasanya terlihat seperti memiliki
komponen TIK. Hal ini terutama berkaitan dengan tujuan pemanfaatan
teknologi informasi. Sistem informasi juga berbeda dari proses bisnis. Sistem
informasi membantu untuk mengontrol kinerja proses bisnis.
4
2.2 Pengertian Website
5
2.3 Pengertian Basis Data
Database atau basis data adalah suatu susunan atau kumpulan data
operasional lengkap dari suatu organisasi/ perusahaan yang dikelola dan
disimpan secara terintegrasi melalui metode tertentu dengan menggunakan
komputer, sehingga mampu menyediakan informasi secara optimal yang
diperlukan pemakainya (Indrajani, 2015).
6
2.4.2 PHP (Hypertext Preprocessor )
CSS adalah salah satu bahasa desain web yang bisa dilakukan untuk
mengatur sebuah halaman web menggunakan perancangan desain text berupa
size, color, font, marginz, dan lain-lain. Menurut Sibero (2013:112) “CSS
memiliki arti gaya menata halaman bertingkat, pada dasarnya setiap satu
elemen yang sudah diformat dan memiliki anak dan sudah diformat, maka
anak dari elemen tersebut secara otomatis akan mengikuti format elemen
induknya”. Menurut Abdul Kadir dan Triwahyuni (2013:323) “ CSS adalah
kode yang dimaksudkan untuk mengatur halaman web”. Sedangkan menurut
Saputra dan Agustin (2013:6) “CSS atau yang memiliki kepanjangan
Cascading Style Sheets merupakan suatu bahasa pemrograman web yang
digunakan untuk megendalikan dan membangun berbagai web agar tampilan
web terstruktur dan beragam”.
7
2.4.4 Javascript
MYSQL adalah salah satu jenis database server yang sangat terkenal
dan banyak digunakan untuk membangun aplikasi web yang menggunakan
database sebagai sumber dan pengolahan datanya. MySQL dikembangkan
oleh perusahaan swedia bernama MySQL AB yang pada saat ini bernama Tcx
Data Konsult AB sekitar tahun 1994-1995, namun cikal bakal kodenya sudah
8
ada sejak tahun 1979. Awalnya Tcx merupakan perusahaan pengembang
software dan konsultan database, dan saat ini MySQL sudah diambil alih oleh
Oracle Corp. MySQL merupakan database yang pertama kali didukung oleh
bahasa pemrograman skrip untuk internet (PHP dan Perl). MySQL dan PHP
dianggap sebagai pasangan software pembangun aplikasi web yang ideal.
MySQL lebih sering digunakan untuk membangun aplikasi berbasis web,
umumnya pengembangan aplikasinya menggunakan bahasa pemrograman
skrip PHP (Sudrajat, 2014).
Menurut Setiawan dalam jurnal Khairil dkk (2012 : 60) MySQL adalah
database yang menghubungkan script PHP menggunakan perintah query dan
escape character yang sama dengan PHP.
Secara umum bahasa SQL dibagi menjadi tiga bagian ( Setiawan dalam
khairil, dkk 2012:60) yaitu:
9
2.6.3 DCL (Data Control Language)
10
2.7.1. Use Case Diagram
a. Stereotype
b. Actor
Mewakili pihak yang terlibat dalam suatu use case yang terjadi.
Actor dapat berupa manusia, sistem dan device yang memiliki peranan
dalam keberhasilan operasi dari sistem.
c. Use Case
d. Relationship
11
Tabel 2.1. Jenis Relationship
sesuatu.
Usecase Mengidentifikasi fitur
kunci dari sistem.
Association Jalur komunikasi antar
aktor dengan use case
yang saling berpartisipasi.
Extend Penambahan perilaku ke
dalam use case
Usecase Hubungan antara use case
Generalization
umum dengan use case
yang lebih spesifik, yang
mewarisi dan menambah
fitur terhadapnya.
Include Penambahan perilaku ke
dalam use case dasar <<include>>
yang secara eksplisit
12
2.7.2. Sequence Diagram
a. Object
b. Activation Boxes
c. Actors
d. Lifeline
13
2.7.3. Activity Diagram
14
2.8.2. Struktur Navigasi Non-Linier
15
Gambar 2.4 Struktur Navigasi Hirarki
16
Pengujian fungsional meliputi 22 seberapa baik sistem
melaksanakan fungsinya, termasuk perintah-perintah pengguna,
manipulasi data, pencarian dan proses bisnis, pengguna layar, dan
integrasi. Pengujian fumgsional juga meliputi permukaan yang
jelas dari jenis fungsi-fungsi, serta operasi back-end (seperti,
keamanan dan bagaimana meningkatkan sistem).
17
5. Pengujian Penyelidikan (Exploratory Testing)
18
9. Pengujian Volume (Volume Testing)
19
testing), daerah yang sama yang sudah diuji, akan kita uji lagi dengan
pengujian yang berbeda (semakin kompleks). Usaha regresi bertujuan
untuk mengurangi risiko berikut ini: a. Perubahan yang dimaksudkan
untuk memperbaiki bug yang gagal. b. Beberapa perubahan memiliki
efek samping, tidak memperbaiki bug lama atau memperkenalkan bug
baru.
20
pengembang. Penguji beta dilakukan setelah penguji alfa. Versi
perangkat lunak yang dikenal dengan sebutan versi beta dirilis untuk
pengguna yang terbatas diluar perusahaan. Perangkat lunak
dilepaskan ke kelompok masyarakat agar dapat memastikan bahwa
perangkat lunak tersebut memiliki beberapa kesalahan atau bug.
1. Sublime Text 3
2. Bootstrap
21
BAB 3
RANCANGAN & IMPLEMENTASI
22
3.3 Kebutuhan Perangkat
Dalam pembuatan aplikasi website ini, menggunakan
perangkat lunak (software) dan perangkat keras (hardware) dengan
rincian hardware yang digunakan yaitu :
1. Intel Core i5
2. Random Access Memory (RAM) 4GB
3. Video Graphic Audio (VGA) NVIDIA GEFORCE 840M
4. Harddisk 500gb
Rincian untuk software yang digunakan yaitu :
1. Windows 10 Pro 64Bit Operating System
2. XAMPP Control Panel v3.2.2
3. Sublime Text 3/ Visual Studio Code
4. Google Chrome Version 58.0.3029.110 (64-bit)
23
3.5 Use Case Diagram
Use case di gambar 3.2 menunjukkan bahwa pemilik atau admin dapat
mengelola data toko, pelanggan, delete data, view data, insert produk
masakan, view produk, delete produk, dan update produk. Sedangkan
pelanggan dapat melihat produk, menambah produk ke keranjang, dan
melakukan order produk yang telah dimasukkan ke dalam keranjang.
24
NAMA KOLOM TIPE DATA KETERANGAN
USERNAME Varchar(15) Username Admin
Password Varchar(15) Password Admin
Email Varchar(25) Email
No HP Varchar(20) Nomor handphone
Alamat Varchar(50) Alamat
Description Varchar (200) Deskripsi
2. Tabel Keranjang
Tabel 3.2 adalah tentang keranjang pelanggan, berisi 6 kolom/ field yaitu
id_keranjang, id_pelanggan, id_product, nama product, banyak product,
harga product.
Tabel 1.2 Keranjang
NAMA KOLOM TIPE DATA KETERANGAN
Id_Keranjang (PK)** Int(11) id_keranjang
Id_Pelanggan Int(11) id_pelanggan
Id_Product Int(11) id_produk
Nama_Product Varchar(100) Nama Produk
Banyak Product Int(12) jumlah produk
Harga Product Int(12) harga produk
3. Tabel Pelanggan
Tabel 3.3 adalah tentang pelanggan, berisi 11 kolom/ field yaitu
id_pelanggan, nama_pelanggan, alamat, nomor, email, kelurahan,
kecamatan, kota, kodepos, ongkir, waktu.
Tabel 3.3 Pelanggan
NAMA KOLOM TIPE DATA KETERANGAN
Id_Pelanggan (PK)** Int(11) id_pelanggan
Nama_Pelanggan Varchar(25) nama pelanggan
Alamat Varchar(25) alamat pelanggan
Nomor Varchar(13) nomor pelanggan
Email Varchar(30) email pelanggan
Kelurahan Varchar(15) kelurahan
Kecamatan Varchar(15) kecamatan
Kota Varchar(15) kota
Kodepos Varchar(7) kodepos pada kota
Ongkir Varchar(12) Ongkos kirim
Waktu Varchar(100) waktu belanja
25
4. Tabel Product
Tabel product di tabel 3.4 berisi 6 kolom/ field yaitu id_product,
nama_product, gambar, harga, stock, description.
Tabel 3.4 Product
NAMA KOLOM TYPE DATA KETERANGAN
Id_Product (PK)** Int(11) Id Produk
Nama_Product Varchar(100) Nama Produk
Gambar Varchar(200) Gambar_Produk
Harga Int(100) Harga Produk
Stock Int(255) Stok Produk
Description Text Deskripsi Produk
26
3.7.1 Rancangan Halaman Home
Antarmuka sistem diperlukan untuk memudahkan user
dalam mengakses website atau sistem. Antarmuka menyediakan
tampilan halaman yang digunakan untuk proses input hingga
menghasilkan ouput yang sesuai dengan kebutuhan. Rancangan
halaman home dapat dilihat di gambar 3.3.
Logo toko
FOOTER
27
3.7.2 Rancangan Halaman Detail Product
Tampilan halaman detil produk di gambar 3.4 berfungsi
bagi member untuk melihat lebih rinci barang yang akan dibeli.
Nama logi
Navbar Cart
toko n
GAMBAR
Detail Product
PRODUCT
FOOTER
Nama logi
Navbar
toko n
FOOTER
28
3.7.4 Rancangan Halaman Pemesanan
Halaman pelanggan di gambar 3.6 untuk melakukan
pembelian dengan mengisi data pembelian dan melakukan cek
ongkos kirim terlebih dahulu.
Nama logi
Navbar
toko n
FOOTER
29
3.7.6 Rancangan Halaman Profile Admin
Tampilan menu Dashboard Admin di gambar 3.8 dapat
diakses melalui menu utama setalah member login, berfungsi bagi
admin untuk melihat profil.
Navbar logout
Profile
toko
MENU
FORM UBAH DETAIL TOKO
ADMIN
Detail Toko
Navbar logout
ISI DATA
MENU ISI DATA PRODUCT
PRODUCT
ADMIN
30
3.7.8 Rancangan Halaman admin table product, order, transaksi selesai
Tampilan menu Dashboard Admin bagian tabel dapat
diakses melalui menu utama setelah member login, berfungsi bagi
admin untuk melihat produk yang telah diinput, melihat pelanggan
yang sudah melakukan order, melihat transaksi yang sudah selesai,
seperti di gambar 3.10.
31
dilakukan saat membuat database adalah menyalakan MySQL dengan
cara menekan tombol start.
32
3.8.3 Implementasi Basis Data Tabel Keranjang
33
3.9 Tahapan Implementasi Antarmuka
Pada tahapan ini akan dilakukan implementasi pembuatan website
berdasarkan rancangan yang telah dibuat sebelumnya, terdiri dari 8
halaman yaitu:
1. Pembuatan halaman home
2. Pembuatan halaman detail masakan
3. Pembuatan halaman keranjang
4. Pembuatan halaman pemesanan
5. Pembuatan halaman login
6. Pembuatan halaman profile admin
7. Pembuatan halaman input product
8. Pembuatan halaman tabel (Product, Order, Transaksi Admin).
34
3.9.1 Implementasi Halaman Utama
Berikut ini adalah source code yang ada pada halaman home.
<?php
session_start();
include 'function.php';
$products = query("SELECT * from product");
$data = query("SELECT * FROM admin")[0];
?>
…………
Untuk melihat source code lengkap ada pada bagian Lampiran halaman L-1
Dengan nama Index.php
35
3.9.2 Implementasi Halaman Detail Masakan
Berikut ini adalah potongan source code yang ada pada halaman
Detail masakan.
<?php
session_start();
include 'function.php';
$id_product = $_GET['id_product'];
$products = query("SELECT * from product WHERE
id_product = $id_product")[0];
?>
……..
Untuk melihat program lengkap ada pada bagian Lampiran halaman L-9 d engan
nama detail.php
36
3.9.3 Implementasi Halaman Keranjang
Berikut ini adalah potongan source code yang ada pada halaman
keranjang.
<?php
include 'function.php';
session_start();
$data = query("SELECT * FROM admin")[0];
?>
……….
Untuk melihat program lengkap ada pada bagian Lampiran halaman L-19
dengan nama keranjang.php
37
3.9.4 Implementasi Halaman Pemesanan
Berikut ini adalah potongan source code yang ada pada halaman
pemesanan.
<?php
include 'function.php';
session_start();
$nama = "";
$alamat = "";
……….
Untuk melihat program lengkap ada pada bagian Lampiran halaman L-3
dengan nama cekout.php
38
3.9.5 Implementasi Halaman Login Admin
Berikut ini adalah potongan source code yang ada pada halaman login.
<?php
session_start();
Include '../function.php';
if ( isset( $_SESSION['login']) ) {
header('Location: dashboard.php?page=admin');
}
……….
Untuk melihat program lengkap ada pada bagian Lampiran halaman L-48
dengan nama login.php
39
3.9.6 Implementasi Halaman Profile Admin
Berikut ini adalah potongan source code yang ada pada halaman
profile admin.
<?php
include '../function.php';
$data = query("SELECT * FROM admin")[0];
?>
<main>
……….
Untuk melihat program lengkap ada pada bagian Lampiran halaman L-32
dengan nama admin.php
40
3.9.7 Implementasi Halaman Add Product Admin
Berikut ini adalah potongan source code yang ada pada halaman
add product admin.
<?php
include '../function.php';
if (isset($_POST['submit'])) {
if (tambah($_POST) > 0) {
echo (" <script>
……
Untuk melihat program lengkap ada pada bagian Lampiran halaman L-28
dengan nama add_product.php
41
3.9.8 Implementasi Halaman Tabel Product
Berikut ini adalah potongan source code yang ada pada halaman
tabel product.
<?php
require '../function.php';
$product = query("SELECT * FROM product");
if(isset($_SESSION['logout'])){
session_unset();
……
Untuk melihat program lengkap ada pada bagian Lampiran halaman L-38
dengan nama product.php
42
3.10. Tahap Uji Coba
Pada tahap ini website akan diuji dengan menggunakan blackbox testing
dan uji coba user.
43
yang diberikan, sementara pemilik aplikasi akan mengamati, mendengar,
dan mencatat hasil dari uji coba yang dilakukan oleh user.
STEP 1. User Menambahkan makanan yang dipilih kedalam keranjang.
STEP 2. User mengurangi, menambah, menghapus makanan yang telah
dipilih di dalam keranjang.
STEP 3. User Melakukan Cekout makanan yang dipilih.
STEP 4. User mengisi data order berupa identitas & alamat.
User 1 r
User 2
User 3
Lancar
Cukup Lama
Tidak Berjalan
44
BAB 4
PENUTUPAN
4.1 Kesimpulan
4.2 Saran
45
DAFTAR PUSTAKA
Abdul Kadir. 2002, Dasar Pemrograman Web Dinamis Menggunakan PHP, Andi
Offset, Yogyakarta
46
LAMPIRAN
Index.php
<?php
session_start();
include 'function.php';
$products = query("SELECT * from product");
$data = query("SELECT * FROM admin")[0];
?>
<!DOCTYPE html>
<html>
<head>
<title>product</title>
<link rel="stylesheet" type="text/css" href="./assets/css/main.css">
<link rel="stylesheet" type="text/css"
href="./assets/bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="./assets/bootstrap/css/bootstrap.css">
<link rel="stylesheet" type="text/css" href="./assets/fontawesome/css/all.css">
<link rel="stylesheet" type="text/css" href="./assets/fontawesome/css/svg-with-
js.min.css">
<link rel="stylesheet" type="text/css" href="./assets/fontawesome/css/svg-with-
js.css">
<link rel="stylesheet" type="text/css" href="assets/css/style.css">
<!-- <link rel="stylesheet" type="text/css"
href="https://mdbootstrap.com/previews/ecommerce-
demo/css/mdb.ecommerce.min.css"> -->
<link rel="stylesheet" href="assets/css/style.css">
<style type="text/css">
.categories{
font-size: 15px;
color: #9e9e9e;
} .circle-image {
width: 300px;
height: 250px !important;
overflow: hidden;
}
</style>
</head>
<body>
L-1
<button class="navbar-toggler" type="button" data-toggle="collapse" data-
target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-
expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="footer-dark">
<footer>
<div class="container">
<div class="row">
<div class="col-sm-6 col-md-3 item text">
<h3><i class="fas fa-map-marker-alt"></i> Alamat</h3>
<p><?= $data['alamat'] ?></p>
</div>
<div class="col-sm-6 col-md-3 item text">
<h3><i class="fas fa-mobile-alt"></i> Telepon</h3>
<p><?= $data['nomor_hp'] ?></p>
</div>
<div class="col-md-6 item text">
<h3><i class="fab fa-readme"></i> Tentang Kami</h3>
<p><?= $data['description'] ?></p>
</div>
</div>
L-2
</footer>
</div>
</body>
<script>
src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<!-- <script type="text/javascript" src="./assets/bootstrap/js/popper.min.js"></script>
-->
<script type="text/javascript" src="./assets/bootstrap/js/bootstrap.js"></script>
<script type="text/javascript" src="./assets/bootstrap/js/bootstrap.min.js"></script>
<script type="text/javascript" src="./assets/bootstrap/js/bootstrap.bundle.js"></script>
<!-- <script type="text/javascript"
src="./assets/bootstrap/js/core/jquery.3.2.1r.min.js"></script> -->
</html>
Cekout.php
<?php
include 'function.php';
session_start();
$data = query("SELECT * FROM admin")[0];
$nama = "";
$alamat = "";
$nomor = "";
$email = "";
$kota = "";
$kecamatan = "";
$kelurahan = "";
$kode = "";
$ongkir = 0;
$harga_total = 0;
if (isset($_POST['ongkir'])) {
if ($_POST['kota'] == "jakarta" || $_POST['kota'] == "Jakarta" || $_POST['kota'] ==
"depok") {
$ongkir = 10000;
$nama .= $_POST['nama'];
$alamat .= $_POST['alamat'];
$nomor .= $_POST['nomor'];
L-3
$email .= $_POST['email'];
$kota .= $_POST['kota'];
$kecamatan .= $_POST['kecamatan'];
$kelurahan .= $_POST['kelurahan'];
$kode .= $_POST['kodepos'];
} else {
$ongkir = 20000;
$nama .= $_POST['nama'];
$alamat .= $_POST['alamat'];
$nomor .= $_POST['nomor'];
$email .= $_POST['email'];
$kota .= $_POST['kota'];
$kecamatan .= $_POST['kecamatan'];
$kelurahan .= $_POST['kelurahan'];
$kode .= $_POST['kodepos'];
}
}
if (isset($_POST['submit'])) {
if (pelanggan($_POST) > 0) {
//-----------------------------------------------------
// print_r($_SESSION['keranjang']); die;
foreach ($_SESSION['keranjang'] as $id_product_keranjang => $jumlah){
$products = query("SELECT * FROM product where id_product =
$id_product_keranjang")[0];
$total = $products['harga']*$jumlah;
$nama_product = $products["nama_product"];
$id_product = $products['id_product'];
$harga_product = $products["harga"];
$query = "INSERT INTO keranjang VALUES
('','$id_pelanggan','$id_product', '$nama_product', '$jumlah', '$harga_product')";
mysqli_query($conn, $query);
}
session_unset();
echo (" <script>
alert('data berhasil ditambahkan');
document.location.href = 'index.php';
</script>");
L-4
} else {
echo (" <script>
alert('data gagal ditambahkan silakan masukan data ulang');
</script>");
echo($conn -> error);
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-
fit=no">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>Material Design Bootstrap</title>
<!-- Font Awesome -->
<link rel="stylesheet"
href="https://use.fontawesome.com/releases/v5.11.2/css/all.css">
<!-- Bootstrap core CSS -->
<body >
L-5
<a class="nav-link" href="index.php">Home <span class="sr-
only">(current)</span></a>
</li>
</ul>
<ul class="navbar-nav mr-10">
<a class="btn btn-primary btn-sm" href="">login</a>
</ul>
</div>
</nav>
<div class="row">
<div class="col-md-8 mb-2">
<div class="md-form ">
<input required="" type="email" id="email" name="email" class="form-
control" placeholder="Email" value="<?= $email; ?>">
</div>
</div>
L-6
<div class="row">
<div class="col-md-8 mb-2">
<div class="md-form ">
<input required="" type="text" id="alamat" name="alamat" class="form-
control" placeholder="Alamat" value="<?= $alamat; ?>">
</div>
</div>
<div class="row">
<div class="col-md-4 mb-2">
<div class="md-form ">
<input required="" type="text" id="kecamatan" name="kecamatan"
class="form-control" placeholder="Kecamatan" value="<?= $kecamatan; ?>">
</div>
</div>
<br><h6 class="alert
alert-danger" style="color: red;">Anda harus cek ongkir terlebih dahulu !!</h6>
<?php } else {
echo '<button class="btn btn-primary btn-lg btn-block" type="submit" name="submit"
>Submit</button>';
L-7
} ?>
</div>
</div>
</div>
L-8
</div>
</div>
</form>
</div>
</main>
<div class="footer-dark">
<footer>
<div class="container">
<div class="row">
<div class="col-sm-6 col-md-3 item text">
<h3><i class="fas fa-map-marker-alt"></i> Alamat</h3>
<p><?= $data['alamat'] ?></p>
</div>
<div class="col-sm-6 col-md-3 item text">
<h3><i class="fas fa-mobile-alt"></i> Telepon</h3>
<p><?= $data['nomor_hp'] ?></p>
</div>
<div class="col-md-6 item text">
<h3><i class="fab fa-readme"></i> Tentang Kami</h3>
<p><?= $data['description'] ?></p>
</div>
</div>
</footer>
</div>
</body>
<script type="text/javascript" src="assets/MDB/js/jquery-3.4.1.min.js"></script>
Detail.php
<?php
session_start();
include 'function.php';
L-9
$id_product = $_GET['id_product'];
$data = query("SELECT * FROM admin")[0];
$products = query("SELECT * from product WHERE id_product = $id_product")[0];
if (isset($_POST['cart'])) {
}
?>
<!DOCTYPE html>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="./assets/css/main.css">
<link rel="stylesheet" type="text/css"
href="./assets/bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="./assets/bootstrap/css/bootstrap.css">
<link rel="stylesheet" type="text/css" href="./assets/fontawesome/css/all.css">
<link rel="stylesheet" type="text/css" href="./assets/fontawesome/css/svg-with-
js.min.css">
<link rel="stylesheet" type="text/css" href="./assets/fontawesome/css/svg-with-
js.css">
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark bg-company-red">
<a class="navbar-brand" style="color:cyan"><strong>DAPUR
NUNUY</strong></a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-
target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-
expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
L-10
</a><?php ?>
<a href="login.php" class="btn btn-primary ">Login</a>
</div>
</nav>
<!--Grid row-->
<div class="row wow fadeIn">
<!--Grid column-->
<div class="col-md-6 mb-4">
</div>
<!--Grid column-->
<!--Grid column-->
<div class="col-md-6 mb-4">
<!--Content-->
<div class="p-1">
<p class="lead">
<span class="mr-1">
<del> </del>
</span>
<b><span class="mr-1" style="color:red;">Rp.<?=
number_format($products['harga']) ?> </span></b>
L-11
</p>
<span class="lead font-weight-bold">Stock : </span><?= $products['stock'] ?>
Porsi
<!-- <p><span class="lead font-weight-bold">Category : </span><?=
$products['kategori'] ?></p> -->
<p class="lead font-weight-bold">Description</p>
<?= $products['description'] ?>
<p>
</p>
</div>
<!--Grid column-->
</div>
<!--Grid row-->
<hr>
<!--Grid row-->
<!--Grid row-->
</div>
</main>
<div class="footer-dark">
<footer>
<div class="container">
<div class="row">
<div class="col-sm-6 col-md-3 item text">
<h3><i class="fas fa-map-marker-alt"></i> Alamat</h3>
<p><?= $data['alamat'] ?></p>
</div>
<div class="col-sm-6 col-md-3 item text">
<h3><i class="fas fa-mobile-alt"></i> Telepon</h3>
<p><?= $data['nomor_hp'] ?></p>
L-12
</div>
<div class="col-md-6 item text">
<h3><i class="fab fa-readme"></i> Tentang Kami</h3>
<p><?= $data['description'] ?></p>
</div>
</div>
</footer>
</div>
<!--/.Footer-->
</body>
<script type="text/javascript" src="./assets/bootstrap/js/popper.min.js"></script>
<script type="text/javascript" src="./assets/bootstrap/js/bootstrap.js"></script>
<script type="text/javascript" src="./assets/bootstrap/js/bootstrap.min.js"></script>
<script type="text/javascript"
src="./assets/bootstrap/js/bootstrap.bundle.js"></script>
<script type="text/javascript"
src="./assets/bootstrap/js/core/jquery.3.2.1r.min.js"></script>
</html>
Function.php
<?php
$conn = mysqli_connect("localhost","root","","dapur_nunuy");
function query($query){
global $conn;
$result = mysqli_query($conn, $query);
$rows = [];
while ( $row = mysqli_fetch_assoc($result) ) {
$rows[]= $row;
}
if (!$result) {
die('Could not query:' . mysql_error());
}
return $rows;
function pelanggan($data){
global $conn;
$ongkir = $data['ongkir'];
$nama = $data['nama'];
$alamat = $data['alamat'];
$nomor = $data['nomor'];
L-13
$email = $data['email'];
$kota = $data['kota'];
$kecamatan = $data['kecamatan'];
$kelurahan = $data['kelurahan'];
$kode = $data['kodepos'];
$date = date("d-m-Y");
function tambah($data){
global $conn;
'$_POST['harga']', '$_POST['stock']', '$_POST['kategori']', '$_POST['berat']',
'$_POST['description']')";
// $id_product = $data['id_rental'];
$nama = $data['nama']; //htmlspecialchars($data['nama'])
$gambar = $data['gambar']; //htmlspecialchars($data['kelas'])
$harga = $data['harga'];
$stock = $data['stock'];
$description = $data['description'];
$gambar = upload($nama,$kategori);
if ( !$gambar) {
return false;
}
mysqli_query($conn, $query);
return mysqli_affected_rows($conn);
}
function upload($nama,$kategori){
$namaFile = $_FILES['gambar']['name'];
$ukuranFile = $_FILES['gambar']['size'];
$error = $_FILES['gambar']['error'];
$tmp = $_FILES['gambar']['tmp_name'];
//cek apakah tidak ada gambar yang diupload 4 adalah pesan error artinya tidak ada
gambar yg diupload
L-14
if( $error === 4 ) {
echo "<script>
alert('Pilih gambar terlebih dahulu')
</script>";
return false;
}
$ekstensiFile = ['jpg','png','jpeg'];
$ekstensiGambar = explode('.', $namaFile);
$ekstensiGambar = end($ekstensiGambar);
$ekstensiGambar = strtolower($ekstensiGambar); if ( !in_array($ekstensiGambar,
$ekstensiFile)) {
echo "<script>
alert('yang anda upload bukan gambar')
</script>";
return false;
}
//jika lolos semua pengecekan data gambar siap di kembalikan dan di simpan kedalam
folder img
move_uploaded_file($tmp, '../img/'.$namaFileBaru);
return $namaFileBaru;
}
function hapus($id){
global $conn;
$query = "DELETE FROM product WHERE id_product = $id";
mysqli_query($conn, $query);
return mysqli_affected_rows($conn);
}
function hapus_pelanggan($id){
global $conn;
L-15
$query = "DELETE FROM pelanggan WHERE id_pelanggan = $id";
mysqli_query($conn, $query);
return mysqli_affected_rows($conn);
}
function transaksi($id){
global $conn;
$pelanggan = query("SELECT * FROM pelanggan WHERE id_pelanggan = $id")[0];
$id_pelanggan = $pelanggan['id_pelanggan'];
$nama = $pelanggan['nama'];
$alamat = $pelanggan['alamat'];
$nomor = $pelanggan['nomor'];
$email = $pelanggan['email'];
$kelurahan = $pelanggan['kelurahan'];
$kecamatan = $pelanggan['kecamatan'];
$kota = $pelanggan['kota'];
$kodepos = $pelanggan['kodepos'];
$ongkir = $pelanggan['ongkir'];
$waktu = $pelanggan['waktu'];
function ubah($data){
global $conn;
// $gambar = $data['gambarBaru'];
$gambarLama = $data['gambarLama'];
$id_product = $data['id_product'];
$nama_product = $data['nama'];
$harga = $data['harga'];
$stock = $data['stock'];
$description = $data['description'];
if( $_FILES['gambar']['error'] === 4){ // === 4 artinya tidak ada gambar yang di upload
$gambar = $gambarLama;
} else {
$gambar = upload($nama_product,$kategori);
}
L-16
nama_product = '$nama_product',
gambar = '$gambar',
harga = '$harga',
stock = '$stock',
description = '$description'
WHERE id_product = $id_product
";
mysqli_query($conn, $query);
return mysqli_affected_rows($conn);
}
function cari($keyword){
global $conn;
function order($data,$id_rental,$id_mobil,$nama_mobil){
global $conn;
$nama = $data['nama']; //htmlspecialchars($data['nama'])
$alamat = $data['alamat']; //htmlspecialchars($data['kelas'])
$nomor = $data['nomor'];
$gender = $data['gender'];
$email = $data['email'];
$awal = $data['awal'];
$akhir = $data['akhir'];
$query = "INSERT INTO booking VALUES
('','$id_rental','$id_mobil', '$nama','$nama_mobil', '$alamat', '$nomor', '$gender',
'$email', '$awal', '$akhir')";
mysqli_query($conn, $query);
return mysqli_affected_rows($conn);
}
function update_product($id_pelanggan){
global $conn;
$datas = query("SELECT id_product,banyak_product from keranjang where
id_pelanggan = $id_pelanggan");
$i=0;
foreach ($datas as $data) {
$id_product = $data['id_product'];
$product = query("SELECT stock from product where id_product= $id_product")[0];
L-17
$update_stock = $product['stock'] - $data['banyak_product'];
$query = "UPDATE product SET
stock = '$update_stock'
WHERE id_product = $id_product
";
mysqli_query($conn, $query);
$i += mysqli_affected_rows($conn);
}
return $i;
}
?>
Hapus Keranjang.php
<?php
session_start();
$id_product = $_GET['id_product'];
unset($_SESSION['keranjang'][$id_product]);
echo (" <script>
alert('produk berhasil dihapus');
document.location.href = 'keranjang.php';
</script>");
?>
Home.php
<div class="container">
<nav class="navbar navbar-expand-lg navbar-dark bg-dark bg-company-red mdb-
color lighten-3 mt-3 mb-5">
<a class="navbar-brand" > </a>
L-18
<li class="nav-item active">
<a class="nav-link" href="index.php"> <!-- home--><span class="sr-
only">(current)</span></a>
</li>
<main>
<div class="container">
<section class="text-center mb-4">
<div class="row wow fadeIn">
<?php include 'product.php' ?>
</div>
</section>
</div>
</main>
Keranjang.php
<?php
include 'function.php';
session_start();
$data = query("SELECT * FROM admin")[0];
?>
<!DOCTYPE html>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="./assets/css/main.css">
<link rel="stylesheet" type="text/css"
href="./assets/bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="./assets/bootstrap/css/bootstrap.css">
<link rel="stylesheet" type="text/css" href="./assets/fontawesome/css/all.css">
<link rel="stylesheet" type="text/css" href="./assets/fontawesome/css/svg-with-
js.min.css">
L-19
<link rel="stylesheet" type="text/css" href="./assets/fontawesome/css/svg-with-
js.css">
<link rel="stylesheet" type="text/css" href="./assets/MDB/css/mdb.css">
<link rel="stylesheet" type="text/css" href="./assets/MDB/css/style.css">
<link rel="stylesheet" type="text/css" href="./assets/MDB/css/mdb.min.css">
<link rel="stylesheet" type="text/css" href="./assets/MDB/css/mdb.min.css.map">
<link rel="stylesheet" href="assets/css/style.css">
<link rel="stylesheet" type="text/css"
href="https://mdbootstrap.com/previews/ecommerce-
demo/css/mdb.ecommerce.min.css">
</head>
<body>
<section>
<div class="row">
<div class="col-lg-8">
<div class="card wish-list mb-3">
<div class="card-body">
L-20
<h6 class="alert alert-danger"> Keranjang anda kosong, silakan tambah
product kedalam keranjang</h6>
<?php } ?>
L-21
<small id="passwordHelpBlock" class="form-text text-muted text-
center">Stock
<?= $products['stock'] ?>
</small>
</div>
</form>
</div>
<div class="d-flex justify-content-end align-items-right" >
<p class="mb-0">
<div class="row">
<div class="col-xs-8">
</div>
</div>
<span></span>
<span><strongs style="color: black; margin-right: 20px;"><?= $jumlah ?> x
<?= number_format($products['harga']) ?></strong></span>
</p>
</div>
<hr>
</div>
</div>
<span></span>
<span>Total : <strongs style="color: red; margin-right: 20px;"> Rp.<?=
number_format($total) ?></strong></span>
</p>
</div>
</div>
</div>
</div>
<hr class="mb-4">
<!-- BATAS AKHIR list baranng -->
</div>
</div>
L-22
</div>
<div class="col-lg-4">
<strong>
<p class="mb-0">Total</p>
</strong>
</div>
<span><strong><?= number_format($harga_total); ?></strong></span>
</li>
</ul>
</div>
<div class="col-sm-6 col-md-3 item text">
<h3><i class="fas fa-mobile-alt"></i> Telepon</h3>
L-23
<p><?= $data['nomor_hp'] ?></p>
</div>
<div class="col-md-6 item text">
<h3><i class="fab fa-readme"></i> Tentang Kami</h3>
<p><?= $data['description'] ?></p>
</div>
</div>
</footer>
</div>
</body>
<script type="text/javascript" src="./assets/bootstrap/js/popper.min.js"></script>
<script type="text/javascript" src="./assets/bootstrap/js/bootstrap.js"></script>
<script type="text/javascript" src="./assets/bootstrap/js/bootstrap.min.js"></script>
<script type="text/javascript"
src="./assets/bootstrap/js/bootstrap.bundle.js"></script>
<script type="text/javascript"
src="./assets/bootstrap/js/core/jquery.3.2.1r.min.js"></script>
<script type="text/javascript" src="./assets/js/keranjang.js"></script>
</html>
Login.php
<?php
session_start();
if ( isset( $_SESSION['login']) ) {
header('Location : dashboard.php');
require 'function.php';
if (isset($_POST['login'])) {
// var_dump($_POST);
$username = $_POST["username"];
$password = $_POST['password'];
if ( mysqli_num_rows($result) === 1) {
$row = mysqli_fetch_assoc($result);
if (password_verify($password, $row["password"])){
L-24
// var_dump($row);
$_SESSION['login'] = true; //set session
$_SESSION['id_rental'] = $row["id_rental"];
header('Location: dashboard.php?id_rental='.$_SESSION["id_rental"]);
exit;
}
$error = true;
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
<link rel="stylesheet" type="text/css" href="css/login.css">
<link href="//maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css"
rel="stylesheet">
<style type="text/css">
body {
background-color: #bd2130 !important;
margin: 0px;
}
img{
height: auto;
width: 50px;
}
</style>
</head>
<body>
<a href="index.php" style="margin-left: 10px; margin-top: 10px; font-style: bold; color:
white;"><< Kembali</a>
L-25
<img src="logo.PNG" id="icon" alt="User Icon" />
</div>
</form>
</div>
</div>
</body>
<script
src="//maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</html>
Product.php
<?php foreach ($products as $product) : ?>
<!--Card image-->
<div class="view overlay">
<img src="img/<?= $product['gambar'] ?>" class="card-img-top" alt=""
style="width: 250px; height: 250px;">
<a>
<div class="mask rgba-white-slight"></div>
</a>
L-26
</div>
<!--Card image-->
<!--Card content-->
<div class="card-body text-center">
<!--Category & Title-->
<h5>
<strong>
<a href="detail.php?id_product=<?= $product['id_product'] ?>" class="dark-
grey-text"><?= $product['nama_product'] ?>
</a>
</strong>
</h5>
Tambah_keranjang.php
<?php
session_start();
$id_product= $_GET['id_product'];
if (isset($_SESSION['keranjang'][$id_product])) {
$_SESSION['keranjang'][$id_product]+=1;
} else {
$_SESSION['keranjang'][$id_product] = 1;
}
L-27
echo "<script> alert('product telah ditambahkan ke keranjang'); </script>";
echo "<script> location='index.php'; </script>";
?>
Update_keranjang.php
<?php
session_start();
include 'function.php';
$id_product= $_GET['id_product'];
$product = query("SELECT stock FROM product where id_product= $id_product")[0];
$stock = $product['stock'];
if ($_GET['action'] == 'tambah') {
if ($_SESSION['keranjang'][$id_product] < $stock) {
$_SESSION['keranjang'][$id_product]+=1;
}
$_SESSION['keranjang'][$id_product] == $stock;
}
if ($_GET['action'] == 'kurang') {
$_SESSION['keranjang'][$id_product] -= 1;
}
if ($_SESSION['keranjang'][$id_product] < 1) {
unset($_SESSION['keranjang'][$id_product]);
}
add_product.php
<?php
include '../function.php';
$data = query("SELECT * FROM admin")[0];
?>
<main>
<div class="container-fluid">
<div class="row">
<div class="col-md-8">
L-28
<div class="card strpied-tabled-with-hover"
style="margin-top: 15px;">
<div class="card-header ">
<strong>Edit Profile</strong>
</div>
<div class="card-body table-full-width table-
responsive">
<form>
<!-- Grid row -->
<div class="form-row">
<!-- Default input -->
<div class="form-group
col-md-6">
<label
for="nama">Nama</label>
<input
type="text" class="form-control" name="nama">
</div>
<!-- Default input -->
<div class="form-group
col-md-6">
<label
for="alamat">Alamat</label>
<input
type="text" class="form-control" name="alamat">
</div>
</div>
<div class="form-row">
<!-- Default input -->
<div class="form-group
col-md-6">
L-29
<label
for="nomor">No HP</label>
<input
type="text" class="form-control" name="nomor">
</div>
<!-- Default input -->
<div class="form-group
col-md-6">
<label
for="email">Email</label>
<input
type="email" class="form-control" name="email">
</div>
</div>
<!-- Grid row -->
<!-- Default input -->
<div class="form-group col-md-
20" style="margin-left: 5px;">
<label
for="description">Description</label>
<textarea
name="description" class="form-control" id="exampleFormControlTextarea1" rows="3"
style="height:200px "></textarea>
</div>
<div class="form-row">
<div class="form-group
col-md-6">
<a href=""
class="btn btn-primary" type="submit" name="submit">Update</a>
</div>
</div>
</form>
L-30
</div>
</div>
</div>
<div class="col-md-4">
<div class="card card-user strpied-tabled-with-hover"
style="margin-top: 15px;">
<div class="card-image" style="background-
color: black;">
</div>
<div class="card-body">
<div class="author">
<a href="../<?=
$data['gambar'] ?>">
<img class="avatar
border-gray" src="../<?= $data['gambar'] ?>" alt="...">
<h5 class="title"><?=
$data['nama_toko'] ?></h5>
</a>
<p class="description"
style="margin-top: 2px;">
<i class="fas fa-map-
marker-alt"></i> <?= $data['alamat'] ?>
</p>
</div>
<p class="description">
"<?= $data['description'] ?>"
</p>
<hr>
<div class="rows">
L-31
<div class="col-xs-1"
style="font-size: 13px;">
<i class="fas fa-phone-
alt"></i> <?= $data['nomor_hp'] ?>
</div>
<div class="col-xs-1"
style="font-size: 13px;">
<i class="fas fa-
envelope"></i> <?= $data['email'] ?>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</main>
admin.php
<?php
include '../function.php';
$data = query("SELECT * FROM admin")[0];
?>
<main>
<div class="container-fluid">
<div class="row">
<div class="col-md-8">
<div class="card strpied-tabled-with-hover"
style="margin-top: 15px;">
<div class="card-header ">
<strong>Edit Profile</strong>
L-32
</div>
<div class="card-body table-full-width table-
responsive">
<form>
<!-- Grid row -->
<div class="form-row">
<!-- Default input -->
<div class="form-group
col-md-6">
<label
for="nama">Nama</label>
<input
type="text" class="form-control" name="nama">
</div>
<!-- Default input -->
<div class="form-group
col-md-6">
<label
for="alamat">Alamat</label>
<input
type="text" class="form-control" name="alamat">
</div>
</div>
<div class="form-row">
<!-- Default input -->
<div class="form-group
col-md-6">
<label
for="nomor">No HP</label>
<input
type="text" class="form-control" name="nomor">
</div>
L-33
<!-- Default input -->
<div class="form-group
col-md-6">
<label
for="email">Email</label>
<input
type="email" class="form-control" name="email">
</div>
</div>
<!-- Grid row -->
<!-- Default input -->
<div class="form-group col-md-
20" style="margin-left: 5px;">
<label
for="description">Description</label>
<textarea
name="description" class="form-control" id="exampleFormControlTextarea1" rows="3"
style="height:200px "></textarea>
</div>
<div class="form-row">
<div class="form-group
col-md-6">
<a href=""
class="btn btn-primary" type="submit" name="submit">Update</a>
</div>
</div>
</form>
</div>
</div>
</div>
<div class="col-md-4">
L-34
<div class="card card-user strpied-tabled-with-hover"
style="margin-top: 15px;">
<div class="card-image" style="background-
color: black;">
</div>
<div class="card-body">
<div class="author">
<a href="../<?=
$data['gambar'] ?>">
<img class="avatar
border-gray" src="../<?= $data['gambar'] ?>" alt="...">
<h5 class="title"><?=
$data['nama_toko'] ?></h5>
</a>
<p class="description"
style="margin-top: 2px;">
<i class="fas fa-map-
marker-alt"></i> <?= $data['alamat'] ?>
</p>
</div>
<p class="description">
"<?= $data['description'] ?>"
</p>
<hr>
<div class="rows">
<div class="col-xs-1"
style="font-size: 13px;">
<i class="fas fa-phone-
alt"></i> <?= $data['nomor_hp'] ?>
</div>
L-35
<div class="col-xs-1"
style="font-size: 13px;">
<i class="fas fa-
envelope"></i> <?= $data['email'] ?>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</main>
order.php
<?php
require '../function.php';
// $dist = "SELECT distinct Name FROM table";
$products = query("SELECT * FROM pelanggan");
// $pelanggan2 = $pelanggan['id_pelanggan'];
// $productss = query("SELECT * FROM keranjang inner join pelanggan on
keranjang.id_pelanggan = pelanggan.id_pelanggan where keranjang.id_pelanggan =
$pelanggan2 ");
if(isset($_SESSION['logout'])){
$_SESSION =[];
session_unset();
L-36
session_destroy();
header("Location : index.php");
exit;
}
if ( !isset( $_SESSION['login']) ) {
echo (" <script>
alert('Anda Harus login terlebih dahulu');
document.location.href = 'login.php';
</script>");
if ( isset ($_POST["cari"])) {
$product = cari($_POST["keyword"]);
}
?>
<main>
<div class="container-fluid">
<div class="row">
<div class="col-md-12">
<div class="card strpied-tabled-with-hover" style="margin-top: 15px;">
<div class="card-header ">
<h4>Table Order</h4>
</div>
<div class="card-body table-full-width table-responsive">
L-37
<table class="table table-hover table-striped">
<thead>
<th>No</th>
<th>Nama Pelanggan</th>
<th>Alamat</th>
<th>Nomor HP</th>
<th>Kota</th>
<th>tanggal</th>
<th></th>
</thead>
<tbody>
<?php $i= 1 ?>
<?php foreach ($products as $data) : ?>
<tr>
<td>1</td>
<td><?= $data['nama']; ?></td>
<td><?= $data['alamat']; ?></td>
<td><?= $data['nomor']; ?></td>
<td><?= $data['kota']; ?></td>
<td><?= $data['waktu']; ?></td>
<td style="text-align: center;">
<a href="dashboard.php?page=order-
detail&id_pelanggan=<?= $data['id_pelanggan']?>" class="btn btn-warning btn-
sm">Detail</a>
<a href="confirm.php?id_pelanggan=<?=
$data['id_pelanggan']?>" class="btn btn-success btn-sm">Confirm</a>
<a href="hapus_pelanggan.php?id_pelanggan=<?=
$data['id_pelanggan']?>" class="btn btn-danger btn-sm ">Hapus</a>
</td>
L-38
</tr>
<?php $i++; endforeach; ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</main>
product.php
<?php
require '../function.php';
if(isset($_SESSION['logout'])){
$_SESSION =[];
session_unset();
session_destroy();
header("Location : index.php");
exit;
}
if ( isset ($_POST["cari"])) {
$product = cari($_POST["keyword"]);
}
L-39
?>
<main>
<div class="container-fluid">
<div class="row">
<div class="col-md-12">
<div class="card strpied-tabled-with-hover" style="margin-top: 15px;">
<div class="card-header ">
<h4>Table Product</h4>
</div>
<div class="card-body table-full-width table-responsive">
<table class="table table-hover table-striped">
<thead>
<th>No</th>
<th>Gambar</th>
<th>Nama</th>
<th>stock</th>
<th>Harga</th>
<th>status</th>
<th></th>
<th></th>
</thead>
<tbody>
<?php $i = 1 ?>
<?php foreach ($product as $data) : ?>
<tr>
<td><?= $i ?></td>
L-40
<td><img src="../img/<?= $data['gambar'] ?>" height="50px"
width="50px"></td>
<td><?= $data['nama_product'] ?></td>
<td><?= $data['stock'] ?></td>
<td><?= $data['harga'] ?></td>
<td>
<h5 style="color: green;">active</h5>
</td>
<td></td>
<td style="text-align: center;">
<a href="dashboard.php?page=ubah&id_product=<?=
$data['id_product'] ?>" class="btn btn-primary " style="margin-right: 5px;">Ubah</a>
order-detail.php
<?php
include '../function.php';
L-41
if ( !isset( $_SESSION['login']) ) {
echo (" <script>
alert('Anda Harus login terlebih dahulu');
document.location.href = 'login.php';
</script>");
$id_pelanggan = $_GET['id_pelanggan'];
$product = query("SELECT * FROM product inner join keranjang on
product.id_product = keranjang.id_product where id_pelanggan = $id_pelanggan");
?>
<div class="container">
<main>
<div class="row">
<div class="col-lg-8">
<div class="card wish-list mb-3">
<div class="card-body">
L-42
<?php foreach ($product as $products) {
$id_product = $products['id_product'];
$gambar_product = query("SELECT * FROM
product where id_product = $id_product")[0];
$jumlah += $products['banyak_product'];
?>
</a>
</div>
</div>
<div class="col-md-7 col-lg-9 col-xl-9">
<div>
<div class="d-flex justify-content-between">
<div>
<h5><?= $products['nama_product'] ?
></h5>
</div>
<form action="" method="post">
<div>
<!-- <h6 style="margin-left: 10px; margin-
right: 10px;">Banyak Barang </h6>
L-43
<h5 style="margin-left: 10px; margin-
right: 10px; text-align: center;"> <?= $products['banyak_product']; ?> </h5> -->
</div>
</form>
</div>
<div class="d-flex justify-content-end align-
items-right" >
</div>
<hr>
</div>
</div>
<span></span>
<span>Jumlah : <strongs style="color: red;
margin-right: 20px;"> Rp.<?=
number_format($products['banyak_product']*$products['harga'] ) ?></strong></span>
</p>
</div>
L-44
</div>
</div>
</div>
<hr class="mb-4">
<!-- BATAS AKHIR baranng -->
<?php $total+=
$products['banyak_product']*$products['harga'] ?>
<?php } ?>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="row-lg-4">
L-45
<span style="color: black;"><?=
$data_pelanggan['alamat']; ?></span>
</li>
</li>
<li class="d-flex justify-content-between align-
items-center border-0 px-0" style="color: red;">
No HP :
<span style="color: black;"><?=
$data_pelanggan['nomor']; ?></span>
</li>
L-46
</tbody>
</table>
<h5 class="mb-3"><strong>Total
Pembelian</strong></h5><hr>
L-47
<li class="list-group-item d-flex justify-content-
between align-items-center px-0">
Ongkir
<span><?=
number_format($data_pelanggan['ongkir']); ?></span>
</li>
<li class="list-group-item d-flex justify-content-
between align-items-center border-0 px-0 mb-3">
<div>
<strong>Harga Total :</strong>
</div>
<span><strong>Rp.<?= number_format($total+
$data_pelanggan['ongkir']); ?></strong></span>
</li>
</ul>
<a href="dashboard.php?page=order"
type="button" class="btn btn-primary btn-block " style="background-color: blue; color:
white;">kembali</a>
</div>
</div>
</div>
</div>
</div>
</main>
</div>
Login.php
<?php
L-48
session_start();
Include '../function.php';
if ( isset( $_SESSION['login']) ) {
header('Location: dashboard.php?page=admin');
}
if (isset($_POST['login'])) {
// var_dump($_POST);
$username = $_POST["username"];
$password = $_POST['password'];
if ( mysqli_num_rows($result) === 1) {
$row = mysqli_fetch_assoc($result);
if ($password == $row["password"]){
// var_dump($row);
$_SESSION['login'] = true; //set session
header('Location: dashboard.php?page=admin');
exit;
}
} else{
$error = true;
}
}
L-49
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>The Easiest Way to Add Input Masks to Your Forms</title>
<link href="https://cdnjs.cloudflare.com/ajax/libs/simple-line-icons/2.4.1/css/simple-
line-icons.min.css" rel="stylesheet">
<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
<link rel="stylesheet" href="css/login.css">
<link href="//maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css"
rel="stylesheet" id="bootstrap-css">
<script
src="//maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
<script
src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<!------ Include the above in your HEAD tag ---------->
<script
src="https://cdn.jsdelivr.net/jquery.validation/1.15.1/jquery.validate.min.js"></script>
<link href="https://fonts.googleapis.com/css?family=Kaushan+Script"
rel="stylesheet">
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-
awesome.min.css" rel="stylesheet" integrity="sha384-
wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN"
crossorigin="anonymous">
</head>
L-50
<body>
<a href="../index.php" style="margin-left: 30px"><< Kembali</a>
<div class="container">
<div class="row">
<div class="col-md-5 mx-auto">
<div id="first">
<div class="myform form ">
<div class="logo mb-3">
<div class="col-md-12 text-center">
<h1>Login</h1>
</div>
</div>
<form action="" method="post" name="login">
<div class="form-group">
<label for="exampleInputEmail1">Username</label>
<input type="username" name="username" class="form-control"
id="username" aria-describedby="usernameHelp" placeholder="Enter username">
</div>
<div class="form-group">
<label for="exampleInputEmail1">Password</label>
<input type="password" name="password" id="password"
class="form-control" aria-describedby="emailHelp" placeholder="Enter Password">
</div>
<br>
<div class="col-md-12 text-center ">
<button type="submit" name="login" class=" btn btn-block mybtn btn-
primary tx-tfm">Login</button><br>
<?php if(isset($error)) : ?>
L-51
<h5 style="color: red; font-style: italic; font-size: 15px;"> Username
atau password salah </h5>
<?php endif; ?>
</div>
<!-- <div class="col-md-12 ">
<div class="login-or">
<hr class="hr-or">
<span class="span-or">atau</span>
</div>
</div>
-->
<!-- <div class="form-group">
<p class="text-center">Belum mempunyai akun? <a href="#"
id="signup">Daftar disini!</a></p>
</div> -->
</form>
</div>
</div>
<div id="second">
<div class="myform form ">
<div class="logo mb-3">
<div class="col-md-12 text-center">
<h1 >Daftar</h1>
</div>
</div>
<form action="#" name="registration">
<div class="form-group">
<label for="exampleInputEmail1">Nama</label>
<input type="text" name="firstname" class="form-control"
id="firstname" aria-describedby="emailHelp" placeholder="Enter Firstname">
</div>
L-52
<div class="form-group">
<label for="exampleInputEmail1">Username</label>
<input type="text" name="lastname" class="form-control"
id="lastname" aria-describedby="emailHelp" placeholder="Enter Lastname">
</div>
<div class="form-group">
<label for="exampleInputEmail1">Email</label>
<input type="email" name="email" class="form-control" id="email"
aria-describedby="emailHelp" placeholder="Enter email">
</div>
<div class="form-group">
<label for="exampleInputEmail1">Password</label>
<input type="password" name="password" id="password"
class="form-control" aria-describedby="emailHelp" placeholder="Enter Password">
</div>
<div class="col-md-12 text-center mb-3">
<button type="submit" class=" btn btn-block mybtn btn-primary tx-
tfm">Daftar!</button>
</div>
<div class="col-md-12 ">
<div class="form-group">
<p class="text-center"><a href="" id="signin">Sudah punya akun?
login disini!</a></p>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
L-53
</body>
<script type="text/javascript" src="js/login.js"></script>
</html>
ubah.php
<?php
include '../function.php';
$id_product = $_GET["id_product"];
if ( !isset( $_SESSION['login']) ) {
echo (" <script>
alert('Anda Harus login terlebih dahulu');
document.location.href = 'login.php';
</script>");
if (isset($_POST["submit"])) {
if (ubah($_POST) > 0) {
echo (" <script>
alert('data berhasil diubah');
document.location.href = 'dashboard.php?page=product';
</script>");
} else {
L-54
echo (" <script>
alert('data gagal diubah, silakan masukan data ulang');
</script>");
echo($conn -> error);
}
}
?>
<main>
<div class="container-fluid">
<h4>Update Product</h4>
</div>
<div class="card-body table-full-width table-responsive">
<!-- Grid row -->
<div class="form-row">
<!-- Default input -->
<div class="form-group col-md-6">
<label for="nama">Nama</label>
<input type="text" class="form-control" name="nama"
value="<?= $product['nama_product'] ?>">
</div>
<!-- Default input -->
L-55
<div class="form-group col-md-6">
<label for="stock">stock</label>
<input type="text" class="form-control" name="stock"
value="<?= $product['stock'] ?>">
</div>
</div>
<!-- Grid row -->
<div class="col-md-5">
<div class="card strpied-tabled-with-hover" style="margin-top:
15px;">
<div class="card-header ">
</div>
<div class="card-body table-full-width table-responsive">
<div class="form-row">
<div class="form-group col-md-6">
<label for="inputEmail4">Kategori</label>
<input type="text" class="form-control" name="kategori"
value="<?= $product['kategori'] ?>">
</div>
<div class="form-group col-md-6">
L-56
<label for="berat">Berat</label>
<input type="text" class="form-control" name="berat"
value="<?= $product['berat'] ?>">
</div>
</div>
<div class="form-row">
<label for="harga">Harga</label>
<input type="text" class="form-control" name="harga"
value="<?= $product['harga'] ?>">
</div>
<div class="form-row">
<div class="form-group ">
<label for="gambar">Upload Foto Produk</label><br>
<input type="hidden" name="id_product" class="form-
control" value="<?= $id_product ?>">
<input type="hidden" name="gambarLama" class="form-
control" value="<?= $product['gambar'] ?>">
<input type="file" name="gambar" class="form-control" >
</div>
</div>
</div>
</div>
L-57
</div>
</div>
</form>
</div>
</main>
L-58