Anda di halaman 1dari 29

LAPORAN UAS PEMROGRAMAN WEB

MEMBUAT TOKO ONLINE DENGAN PHP DAN MYSQL

NAMA: GILANG M.C.P. MAN


NIM: 23121024

PROGRAM STUDI ILMU KOMPUTER


FAKULTAS TEKNIK
UNIVERSITAS KATOLIK WIDYA MANDIRA
TAHUN AJARAN 2023/2024
DAFTAR ISI

DAFTAR ISI...............................................................................................................................................2
PEMBAHASAN.........................................................................................................................................3
1. Persiapan Folder..............................................................................................................................3
2. Persiapan Admin..............................................................................................................................3
3. Pembuatan database.........................................................................................................................3
4. Tampil data......................................................................................................................................4
5. Detail Pembelian..............................................................................................................................5
6. Tambah Produk...............................................................................................................................7
7. Hapus Produk..................................................................................................................................8
8. Ubah Produk....................................................................................................................................9
9. Login dan Logout..........................................................................................................................12
10. Mengamankan Admin................................................................................................................14
11. Tampil Halaman Produk Pengunjung........................................................................................15
12. Beli Produk................................................................................................................................16
13. Tampil Keranjang Belanja.........................................................................................................17
14. Login Pelanggan........................................................................................................................18
15. Hapus Produk dari Keranjang....................................................................................................20
16. Checkout 1.................................................................................................................................21
17. Checkout 2.................................................................................................................................22
18. Membenahi Nota.......................................................................................................................23
19. Detail Produk.............................................................................................................................25
20. Daftar Pelanggan.......................................................................................................................26
PEMBAHASAN

1. Persiapan Folder

a. Nyalakan XAMPP
b. Buat folder dengan nama masing-masing. Contohnya: GilangToko.
c. Akses foldernya di website dengan mengakses localhost/GilangToko.

2. Persiapan Admin

a. Download file template admin di website https://teamtrainit.com/binaryadmin.zip.


b. Ekstrak file zipnya lalu copy folder admin ke C:\xampp\htdocs\GilangToko.
c. Buka Visual Studio Code lalu pilih Open Folder lalu arahkan ke folder yang telah di
copy.
d. Ubah index.html menjadi index.php
e. Kosongkan menu template yang ada lalu ganti dengan menu yang akan digunakan
yaitu Home, Produk, Pembelian, Pelanggan, dan Logout.
f. Lalu hapus tampilan tengahnya.
g. Isikan parameter pada masing-masing menu misalnya produk diberikan parameter ?
halaman=produk sehingga menjadi index.php?halaman=produk.
h. Isi tulisan kosong dengan mendeklarasikan php lalu membuat percabangan if else
yang dimana jika ada halaman dan selain itu akan dipanggil home.php.
i. Buat file baru di folder admin dengan nama home.php lalu isikan Selamat Datang
Administrator.
j. Lalu buat percabangan if jika ada halaman produk, pembelian, pelanggan, dan logout.
k. Buat yang sama dengan Langkah i untuk produk, pembelian, pelanggan, dan logout
dan isikan kalimatnya masing-masing.

3. Pembuatan database

a. Buka phpMyAdmin.
b. Buat database dengan nama terserah. Misalnya gilangtoko.
c. Buat tabel pertama yaitu admin dengan kolom 4 lalu isikan kolomnya yaitu id_admin,
username, password, nama_lengkap. Untuk id_admin diberikan tipe integer dengan
11 digit. atur sebagai auto increment dan otomatis menjadi primary key. Untuk yang
lainnya diberikan tipe varchar dengan 100 digit.
d. Buat tabel yang kedua yaitu pelanggan dengan 5 kolom lalu isikan kolomnya yaitu
id_pelanggan email_pelanngan, password_pelanggan, nama_pelanggan, dan
telepon_pelanggan. Untuk id_pelanggan sama seperti id_admin yaitu tipe integer
dengan 11 digit. Lalu untuk sisanya diberikan tipe varchar dimana untuk
email_pelanggan dan nama_pelanggan memiliki 100 digit sedangkan
password_pelanggan dan telepon pelanggan memiliki digit masing-masing 50 dan 25.
e. Lakukan yang sama untuk tabel produk, pembelian, dan pembayaran dengan tipe data
masing-masing.

4. Tampil data

a. Buat perintah koneksi ke database pada halaman index.php dengan perintah <?php
$koneksi = new mysqli("localhost","root","","trainIttoko"); ?> atau buat file
koneksi.php lalu ketikkan kode tersebut lalu di save dan pada file index.php, ketikan
perintah include ’koneksi.php’.
b. Pada bagian produk, buatlah tabel untuk menampilkan nomor, nama, harga, berat,
foto, dan aksi.
c. Untuk menampilkan info kedalam tabel, ketikkan perintah <?php $ambil=$koneksi-
>query("SELECT * FROM produk "); ?> lalu pecahkan dengan menggunakan
<?php while($pecah=$ambil->fetch_assoc()){ ?>.
d. Lalu pada baris di bawah, isikan <?php echo $pecah["nama_produk"]; ?></td> untuk
menampilkan nama produk. Lakukan yang sama pada kolom-kolom berikutnya
dengan perintah menampilkan masing-masing kolom tabel.
e. Pada pembelian, ketik <?php $ambil=$koneksi->query("SELECT * FROM
pembelian JOIN pelanggan ON pembelian.id_pelanggan
=pelanggan.id_pelanggan"); ?> untuk mengambil data pada tabel lalu pecahkan
dengan menggunakan perintah <?php while($pecah=$ambil->fetch_assoc()){ ?>.
f. Untuk menampilkan data pada masing-masing kolom tabel, ketik <? Php
$pecah[nama kolom];>?. Tambahkan tombol pada kolom aksi.
g. Lakukan cara yang sama dengan untuk pelanggan dengan tabel dan kolomnya
masing-masing.

5. Detail Pembelian

a. Masukkan link untuk menuju ke halaman detail pada a href tombol detail dan id-nya
adalah id produk tersebut.
b. Buatlah file detail.php dan buatkan tabel-tabel didalamnya.
c. Untuk menampilkan nama, nomor telepon, tanggal pembelian, dan total pembayaran,
buatlah perintah berikut:

$ambil = $koneksi->query("SELECT * FROM pembelian JOIN pelanggan ON


pembelian.id_pelanggan=pelanggan.id_pelanggan
WHERE pembelian.id_pembelian='$_GET[id]'");
$detail = $ambil->fetch_assoc();
?>
<strong><?php echo $detail['nama_pelanggan']; ?></strong> <br>
<p>
<?php echo $detail['telepon_pelanggan']; ?> <br>
<?php echo $detail['email_pelanggan']; ?>
</p>
<p>
Tanggal: <?php echo $detail['tanggal_pembelian']; ?> <br>
total: <?php echo $detail['total_pembelian']; ?>
</p>
d. Buatlah perintah untuk mengambil data dari tabel pembelian dan memecahkan ke
dalam tabel yang telah dibuat agar dapat ditampilkan kedalam tabel dengan perintah
berikut:

<?php $nomor=1 ?>


<?php $ambil=$koneksi->query("SELECT * FROM pembelianproduk JOIN
produk ON pembelianproduk.id_produk=
produk.id_produk WHERE pembelianproduk.id_pembelian= '$_GET[id]'"); ?>
<?php while($pecah=$ambil->fetch_assoc()){ ?>
<tr>

e. Buatlah perintah php pada masing-masing kolom di baris untuk menampilkan


masing-masing data pada kolom tabel pembelian. Contohnya <td><?php echo
$pecah['nama_produk']; ?></td>
6. Tambah Produk

a. Buatlah tombol tambah dibawah tabel dan deklarasikan link php yang akan dituju.
b. Buatlah percabangan else if untuk tambah produk pada file index.
c. Buatlah nama judul link dan form untuk mengisi tabel dengan tipe form adalah
method dan variabelnya adalah post lalu enctype nya adalah multipart-form data.
d. Buatlah div class, label, dan input untuk form yang akan diinput dengan div classnya
adalah form-group dan input type untuk masing-masing form mulai dari Nama,
Harga, Berat, sampai Foto yaitu text, number, dan file. Untuk deskripsi, gunakan
textarea.
e. Buatlah tombol untuk menyimpan data.
f. Buatlah satu folder baru di folder GilangToko dengan nama foto_produk.
g. Dibawah penutup form, buatlah perintah php untuk menyimpan data yang telah
diinputkan ke dalam tabel. Perintahnya adalah berikut ini:

<?php
if (isset($_POST['save']))
{
$nama=$_FILES['foto']['name'];
$lokasi=$_FILES['foto']['tmp_name'];
move_uploaded_file($lokasi"../foto_produk/".$nama);
$koneksi->query("INSERT INTO
produk(nama_produk,harga_produk,berat_produk,foto_produk,deskripsi_produk)

VALUES('$_POST[nama]','$_POST[harga]','$_POST[berat]','$nama','$_POST[deskr
ipsi]')");

echo "<div class='alert alert-info'>Data Tersimpan</div>";


echo "<meta http-equiv='refresh' content='1;url=index.php?halaman=produk'>";
}
?>
Setelah itu, simpankan data tersebut hingga muncul di tabel.

h. Pada file produk.php di kolom foto, buatlah perintah img src untuk menampilkan foto
dari produk dengan file fotonya di foto_produk serta perintah php nya adalah <?php
echo $pecah['foto_produk']; ?> dan lebar dari gambar tersebut adalah 100 pixel.
7. Hapus Produk

a. Buatlah tombol hapus pada file produk.php


b. Buatlah perintah php untuk menghapus produk yaitu sebagai berikut:
<?php
$ambil = $koneksi->query("SELECT * FROM produk WHERE
id_produk='$_GET[id]'");
$pecah = $ambil->fetch_assoc();
$fotoproduk = $pecah['foto_produk'];

if (file_exists("../foto_produk/$fotoproduk"))
{
unlink("../foto_produk/$fotoproduk");
}
$koneksi->query("DELETE FROM produk WHERE id_produk='$_GET[id]'");

echo "<script>alert('Produk Terhapus');</script>";


echo "<script>location='index.php?halaman=produk';</script>";
?>
8. Ubah Produk

a. Buatlah tombol ubah


b. Deklarasikan percabangan else if untuk ubahproduk di file index.php
c. Buat file baru dengan nama ubahproduk.php
d. Isikan perintah atau source codenya sebagai berikut:

<h2>Ubah Produk</h2>

<?php
$ambil = $koneksi->query("SELECT * FROM produk WHERE
id_produk='$_GET[id]'");
$pecah = $ambil->fetch_assoc();
?>
<div class="form-group">
<label>Nama</label>
<input type="text" class="form-control" name="nama" value="<?php echo
$pecah['nama_produk']; ?>">
</div>
<div class="form-group">
<label>Harga (Rp)</label>
<input type="number" class="form-control" name="harga" value="<?php echo
$pecah['harga_produk']; ?>">
</div>
<div class="form-group">
<label>Berat (Gr)</label>
<input type="number" class="form-control" name="berat" value="<?php echo
$pecah['berat_produk']; ?>">
</div>
<div class="form-group">
<img src="../foto_produk/<?php echo $pecah['foto_produk']; ?>" width="200">
</div>
<div class="form-group">
<label>Ganti Foto</label>
<input type="file" class="form-control" name="foto">
</div>
<div class="form-group">
<label>Deskripsi</label>
<textarea class="form-control" name="deskripsi" rows="10">
<?php echo $pecah['deskripsi_produk']; ?>
</textarea>
</div>
<div class="form-group">
<label>Stok</label>
<input type="number" class="form-control" name="stok" value="<?php echo
$pecah["stok_produk"]; ?>">
</div>
<button class="btn btn-primary" name="save">Simpan</button>
</form>
<?php
if (isset($_POST['save']))
{
$nama=$_FILES['foto']['name'];
$lokasi=$_FILES['foto']['tmp_name'];
if (!empty($lokasi)) {

move_uploaded_file($lokasi, "../foto_produk/".$nama);
$koneksi->query("UPDATE produk SET
nama_produk='$_POST[nama]',harga_produk='$_POST[harga]',
berat_produk='$_POST[berat]',foto_produk='$nama',deskripsi_produk='$_POST[des
kripsi]']'
WHERE id_produk ='$_GET[id]'");

}
else {
$koneksi->query("UPDATE produk SET
nama_produk='$_POST[nama]',harga_produk='$_POST[harga]',
berat_produk='$_POST[berat]',deskripsi_produk='$_POST[deskripsi]'
WHERE id_produk ='$_GET[id]'");
}
echo "<script>alert('Data telah diubah');</script>";
echo "<script>location='index.php?halaman=produk';</script>";
}
?>
9. Login dan Logout

a. Ubah file login.html menjadi login.php


b. Buatlah skrip php untuk menyambungkan ke database modifikasi nama dari masing-
masing form yang ada.
c. Buatlah percabangan if sebagai berikut:
<?php
if (isset($_POST['login'])) {
$ambil = $koneksi->query("SELECT * FROM admin
WHERE username='$_POST[user]'
AND password = '$_POST[pass]'");
$yangcocok = $ambil->num_rows;
if ($yangcocok==1) {
$_SESSION['admin']=$ambil->fetch_assoc();
echo "<div class='alert alert-info'>Login Sukses</div>";
echo "<meta http-equiv='refresh'
content='1;url=index.php'>";
}
else {
echo "<div class='alert alert-danger'>Login Gagal</div>";
echo "<meta http-equiv='refresh'
content='1;url=login.php'>";
}
}
?>
d. Jangan lupa buat session_start(); untuk memulai sesi dari login.
10. Mengamankan Admin

Untuk bagian cukup ketikkan perintah php sebagai berikut:


if (!isset($_SESSION['admin']))
{
echo "<script>alert('Anda harus login');</script>";
echo "<script>location='login.php';</script>";
header('location=login.php');
exit();
}
11. Tampil Halaman Produk Pengunjung

a. Buat file index.php pada folder GilangToko lalu buatkan menu navbar Home, Keranjang,
Login, dan Checkout.
b. Ketikkan coding berikut untuk menampilkan barang-barang yang dijual:
<section class="konten">
<div class="container">
<h1>Produk Terbaru</h1>
<?php $ambil = $koneksi->query("SELECT * FROM produk"); ?>
<?php while($perproduk = $ambil->fetch_assoc()) { ?>
<div class="row">
<div class="col-md-3">
<div class="thumbnail">
<img src="foto_produk/<?php echo $perproduk['foto_produk']; ?>" alt="">
<div class="caption">
<h3><?php echo $perproduk['nama_produk']; ?></h3>
<h5>Rp. <?php echo number_format($perproduk['harga_produk']); ?
></h5>
<a href=" "
class="btn btn-primary">Beli</a>
</div>
</div>
</div>
<?php } ?>
</div>
</div>

12. Beli Produk

a. Tambahkan script php pada a href tombol beli


<a href="beli.php?id=<?php echo $perproduk['id_produk']; ?>"
class="btn btn-primary">Beli</a>
b. Buatlah file beli.php pada file GilangToko lalu buatlah coding untuk mendapatkan
id_produk dari url.
$id_produk = $_GET['id'];
c. Buatlah percabangan untuk kondisi jika produk itu sudah ada dikeranjang, maka
jumlahnya ditambah 1 dan selain itu maka produk itu dibeli satu.
if (isset($_SESSION['keranjang'][$id_produk]))
{
$_SESSION['keranjang'][$id_produk]+=1;
}
else
{
$_SESSION['keranjang'][$id_produk] = 1;
}
d. Buatlah perintah javascript untuk menampilkan pesan jika produk telah masuk ke
dalam keranjang.
echo "<script>alert('Produk telah masuk ke keranjang');</script>";
echo "<script>location='keranjang.php';</script>";
13. Tampil Keranjang Belanja

a. Buatlah file baru dengan nama keranjang.php


b. Buatlah tabel untuk menampilkan nomor, produk, harga, jumlah, dan subharga.
c. Buatlah perulangan foreach yang dimana variabel session keranjang sebagai variabel
id_produk untuk menampilkan array jumlah.
<?php foreach ($_SESSION["keranjang"] as $id_produk => $jumlah): ?>
d. Untuk menampilkan produk, ketikkan perintah berikut:
<?php $ambil = $koneksi->query("SELECT * FROM produk
WHERE id_produk='$id_produk'");
$pecah = $ambil->fetch_assoc();
$subharga = $pecah["harga_produk"]*$jumlah;
?>
<tr>
<td><?php echo $nomor ?></td>
<td><?php echo $pecah["nama_produk"]; ?></td>
<td>Rp. <?php echo number_format($pecah["harga_produk"]); ?
></td>
<td><?php echo $jumlah; ?></td>
<td>Rp. <?php echo number_format($subharga); ?></td>
<td>
>
</td>
</tr>
<?php $nomor++; ?>
Dengan variabel $nomor adalah 1.
e. Buatlah tombol untuk lanjutkan belanja dan checkout.

14. Login Pelanggan

a. Buat file baru dengan nama login.php lalu isikan perintah koneksi ke database, judul
tab, serta form yang akan diisi yaitu email dan password.
b. Buatlah tombol untuk log in ke akun pelanggan.
c. Buat percabangan dimana jika diklik tombol log in, maka dia akan mengambil email
dan password dari tabel pelanggan. Kemudian buat percabangan lagi jika satu akun
yang cocok maka diloginkan.
if (isset($_POST["login"])) {
$email = $_POST["email"];
$password = $_POST["password"];
$ambil = $koneksi->query("SELECT * FROM pelanggan WHERE
email_pelanggan='$email'
AND password_pelanggan='$password'");

$akunyangcocok = $ambil->num_rows;

if($akunyangcocok==1){
$akun = $ambil->fetch_assoc();
$_SESSION["pelanggan"] = $akun;
echo "<script>alert('Login berhasil');</script>";
if (isset($_SESSION["keranjang"]) OR !empty($_SESSION["keranjang"])) {
echo "<script>location='checkout.php';</script>";
}
d. Buat lagi percabangan yang dimana selain akun yang sudah ada di database, maka log
in di tolak.
else {
echo "<script>alert('Login gagal');</script>";
echo "<script>location='login.php';</script>";
}
15. Hapus Produk dari Keranjang.

a. Buatlah kolom aksi pada tabel keranjang php lalu buatlah tombol hapus pada td yang
keempat dan buat link a hrefnya yaitu hapuskeranjang.php.
b. Buat file hapuskeranjang.php lalu ketikkan source code berikut:
<?php
session_start();
$id_produk=$_GET['id'];
unset($_SESSION["keranjang"][$id_produk]);

echo "<script>alert('Produk telah dihapus dari keranjang');</script>";


echo "<script>location='keranjang.php';</script>";
?>
Dimana kita akan mengambil id_produk yang dihapus. Perintah unset digunakan
untuk menghapus produk dari keranjang berdasarkan id_produk. Tampilkan perintah
bahwa produk telah dihapus dengan javascript lalu buat lokasi link yang akan
diarahkan setelah produk terhapus dari keranjang.

c. Jika produk dari keranjang sudah terhapus, maka buatlah perintah javascript untuk
menampilkan perintah bahwa jika tidak ada produk dalam keranjang, maka harus
belanja dulu pada file keranjang.php

if(empty($_SESSION["keranjang"]) OR !isset($_SESSION["keranjang"])) {
echo "<script>alert('Keranjang kosong, silakan belanja dulu');</script>";
echo "<script>location='index.php';</script>";
}
16. Checkout 1

a. Buatlah form di bawah tabel untuk menampilkan nama pembeli, nomor telepon, serta
untuk memilih kota dan biaya ongkos kirim. Form classnya harus method dengan
nilai post.
b. Buatlah tabel ongkir pada phpMyAdmin dengan kolom masing-masing yaitu
id_ongkir, nama_kota, dan tarif lalu masukkan nama kota dengan tarif masing-
masing.
c. Buatlah source code php untuk menampilkan nama kota dan tarif pada combo box
ongkos kirim.
<option value="">Pilih Ongkos Kirim</option>
<?php $ambil=$koneksi->query("SELECT * FROM ongkir");
while($perongkir=$ambil->fetch_assoc()){
?>
<option value="<?php echo $perongkir ["id_ongkir"] ?>">
<?php echo $perongkir['nama_kota'] ?>
Rp. <?php echo number_format($perongkir['tarif']) ?>
</option>
<?php }?>
d. Buatlah tombol untuk melakukan checkout.
e. Pada tabel pembelian, tambahkan id_ongkir dengan tipe data integer.

17. Checkout 2

a. Pada bagian bawah penutup form, buatlah perintah php untuk mengambil data id
pelanggan, id ongkir, dan tanggal pembelian. Setelah itu, buatlah koneksi untuk
mengambil data dari tabel ongkir dimana id_ongkir adalah variabel dari id_ongkir
php lalu buatkan array ongkir.
$id_pelanggan = $_SESSION["pelanggan"]["id_pelanggan"];
$id_ongkir = $_POST["id_ongkir"];
$tanggal_pembelian = date("Y-m-d");
$ambil = $koneksi->query("SELECT * FROM ongkir WHERE
id_ongkir='$id_ongkir'");
$arrayongkir = $ambil->fetch_assoc();
$total_pembelian = $totalbelanja + $tarif;

b. Buatlah koneksi untuk menyimpan data ke tabel pembelian dan mendapatkan id


pembelian yang barusan terjadi
$koneksi->query("INSERT INTO
pembelian(id_pelanggan,id_ongkir,tanggal_pembelian,total_pembelian)
VALUES
('$id_pelanggan','$id_ongkir','$tanggal_pembelian','$total_pembelian')");

$id_pembelian_barusan = $koneksi->insert_id;

foreach ($_SESSION["keranjang"] as $id_produk => $jumlah)


{
$ambil = $koneksi->query("SELECT * FROM produk WHERE
id_produk='$id_produk'");
$perproduk = $ambil->fetch_assoc();
$koneksi->query("INSERT INTO pembelianproduk
(id_pembelian,id_produk,jumlah)
VALUES ('$id_pembelian_barusan','$id_produk', $jumlah')");
c. Buatlah skrip javascript untuk menampilkan perintah jika checkout berhasil dan
diarahkan ke halaman berikutnya yaitu nota.
echo "<script>alert('Pembelian sukses');</script>";
echo "<script>location='nota.php?id=$id_pembelian_barusan';</script>";
d. Buat file nota.php lalu ambil tabel yang dibuat dari file detail yang ada di admin.
e. Buatkan perintah untuk pembeli melakukan pembayaran ke rekening yang telah
disiapkan oleh penjual.

18. Membenahi Nota

a. Buatlah kolom baru pada tabel pembelianproduk dengan nama kolom dan tipe data
sebagai berikut:

b. Buatlah coding php untuk mendapatkan data produk berdasarkan id_produk pada file
checkout:
$ambil = $koneksi->query("SELECT * FROM produk WHERE
id_produk='$id_produk'");
$perproduk = $ambil->fetch_assoc();

$nama = $perproduk['nama_produk'];
$harga = $perproduk['harga_produk'];
$berat = $perproduk['berat_produk'];
c. Buat kolom baru yaitu subberat dan subharga lalu tambahkan coding php di bawah
berat.

$subberat = $perproduk['berat_produk']*$jumlah;
$subharga = $perproduk['harga_produk']*$jumlah;
d. Tambahkan subberat dan subharga pada bagian untuk memasukkan data kedalam
pembelianproduk
e. Pada file nota.php, tambahkan kolom baru pada tabel html yaitu berat dan subberat
serta buatlah perintah php untuk menampilkan data tersebut.
<td><?php echo $pecah['berat']; ?> Gr.</td>
<td><?php echo $pecah['subberat']; ?> Gr.</td>
f. Tambahkan kolom nama_kota dan tarif pada tabel pembelian lalu masukkan
nama_kota dan tarif pada masing-masing variabel arrayongkir pada file checkout.php.
g. Tambahkan nama_kota dan tarif serta masing-masing variabel tersebut ke dalam
perintah untuk menambahkan data ke tabel pembelian.
$nama_kota = $arrayongkir['nama_kota'];
$tarif = $arrayongkir['tarif'];

$total_pembelian = $totalbelanja + $tarif;

$koneksi->query("INSERT INTO
pembelian(id_pelanggan,id_ongkir,tanggal_pembelian,total_pembelian,nama_kota,ta
rif,alamat_pengiriman)
VALUES
('$id_pelanggan','$id_ongkir','$tanggal_pembelian','$total_pembelian','$nama_kota','$
tarif','$alamat_pengiriman')");
h. Buatlah coding tentang nomor pembelian, tanggal pembelian, serta total pada file
nota.php untuk menampilkan informasi yang sudah disebutkan diatas.
<div class="col-md-4">
<h3>Pembelian</h3>
<strong>No. Pembelian: <?php echo $detail['id_pembelian']
?></strong><br>
Tanggal: <?php echo $detail['tanggal_pembelian']; ?><br>
Total: Rp. <?php echo number_format( $detail['total_pembelian']); ?>
</div>
i. Buatlah textarea pada file checkout.php untuk menginput alamat pengiriman yang
akan dituju.
<div class="form-group">
<label>Alamat Pengiriman</label>
<textarea class="form-control" name="alamat_pengiriman"
placeholder="Masukkan alamat lengkap pengiriman"></textarea>
</div>
j. Buatlah perintah php mysqli untuk menyimpan alamat_pengiriman pada
phpMyAdmin dan menampilkannya pada nota.
$alamat_pengiriman = $_POST['alamat_pengiriman'];
$koneksi->query("INSERT INTO
pembelian(id_pelanggan,id_ongkir,tanggal_pembelian,total_pembelian,nama_kota,ta
rif,alamat_pengiriman)
VALUES
('$id_pelanggan','$id_ongkir','$tanggal_pembelian','$total_pembelian','$nama_kota','$
tarif','$alamat_pengiriman')");

<div class="cod-md-4">
<h3>Pengiriman</h3>
<strong><?php echo $detail['nama_kota']; ?></strong><br>
Ongkos Kirim: Rp. <?php echo number_format($detail['tarif']); ?><br>
Alamat: <?php echo $detail['alamat_pengiriman'] ?>
</div>

19. Detail Produk

a. Pada file index.php, buatlah tombol detail dibawah tombol beli yang nantinya saat
muncul di web, tombol detail berada disebelah kanan tombol beli.
b. Buatlah file detail.php lalu masukkan coding yang sudah ada dari index untuk menu
navigasi serta perintah agar php menyambungkan ke database.
c. Buatlah perintah untuk menampilkan id_produk dari URL dan query ambil data.
<?php include'koneksi.php' ?>
<?php
$id_produk = $_GET["id"];
$ambil = $koneksi->query("SELECT * FROM produk WHERE
id_produk='$id_produk'");
$detail = $ambil->fetch_assoc();
d. Buatlah container dan form untuk menampilkan foto produk, nama produk, harga
produk serta jumlah barang yang akan dibeli.
<section class="konten">
<div class="container">
<div class="row">
<div class="col-md-6">
<img src="foto_produk/<?php echo
$detail["foto_produk"]; ?>" alt = "" class="img-responsive">
</div>
<div class="col-md-6">
<h2><?php echo $detail["nama_produk"]; ?></h2>
<h4>Rp. <?php echo
number_format($detail["harga_produk"]); ?></h4>

<h5>Stok: <?php echo $detail['stok_produk'] ?></h5>

<form method="post">
<div class="form-group">
<div class="input-group">
<input type="number" min="1"
class="form-control"name="jumlah" max="<?php echo $detail['stok_produk'] ?>">
<div class="input-group-btn">
<button class="btn btn-
primary" name="beli">Beli</button>
</div>
</div>
</div>
</form>
e. Buatlah percabangan jika ada tombol beli maka jumlah yang diinputkan akan
dimasukkan kedalam kolom jumlah pada database dan akan dimasukkan kedalam
keranjang.
if (isset($_POST["beli"]))
{
$jumlah = $_POST["jumlah"];
$_SESSION["keranjang"][$id_produk] = $jumlah;

echo "<script>alert('Produk telah masuk ke


keranjang belanja');</script>";
echo "<script>location='keranjang.php';</script>";
}

20. Daftar Pelanggan

a. Pada index.php atau menu.php jika navbar dibuat file sendiri, tambahkan navbar
daftar dan dimasukkan ke dalam percabangan jika pelanggan belum memiliki akun.
<?php else: ?>
<li><a href="login.php">Login</a></li>
<li><a href="daftar.php">Daftar</a></li>
b. Buat file baru dengan nama daftar.php lalu masukkan form yang digunakan untuk
menginput nama, email, password, alamat, dan nomor telepon serta tombol daftar.
<div class="container">
<div class="row">
<div class="col-md-8 col-md-offset-2">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Daftar
Pelanggan</h3>
</div>
<div class="panel-body">
<form method="post" class="form-
horizontal">
<div class="form-group">
<label class="control-label
col-md-3">Nama</label>
<div class="col-md-
7">
<input
type="text" class="form-control" name="nama" required>
</div>
</div>
<div class="panel-body">
<form method="post" class="form-
horizontal">
<div class="form-group">
<label class="control-
label col-md-3">Email</label>
<div
class="col-md-7">
<input
type="email" class="form-control" name="email" required>
</div>
</div>
<div class="panel-body">
<form method="post"
class="form-horizontal">
<div class="form-
group">
<label
class="control-label col-md-3">Password</label>
<div
class="col-md-7">

<input type="password" class="form-control" name="password" required>


</div>
</div>
<div class="panel-body">
<form method="post"
class="form-horizontal">
<div class="form-
group">
<label
class="control-label col-md-3">Alamat</label>
<div
class="col-md-7">

<textarea class="form-control" name="alamat" required></textarea>


</div>
</div>
<div class="panel-body">
<form method="post"
class="form-horizontal">
<div class="form-
group">
<label
class="control-label col-md-3">No HP</label>
<div
class="col-md-7">

<input type="text" class="form-control" name="telepon" required>


</div>
</div>
<div class="form-group">
<div class="col-md-7 col-
md-offset-3">
<button class="btn
btn-primary" name="daftar">Daftar</button>
</div>
</div>
</form>
c. Buatlah percabangan pada php jika tombol daftar tersebut ditekan dan apabila jika
sudah digunakan maka pendaftaran gagal dan selain dari itu, maka pendaftaran
berhasil.
<?php
if (isset($_POST["daftar"]))
{
$nama = $_POST["nama"];
$email = $_POST["email"];
$password = $_POST["password"];
$alamat = $_POST["alamat"];
$telepon = $_POST["telepon"];

$ambil = $koneksi-
>query("SELECT * FROM pelanggan WHERE email_pelanggan='$email'");
$yangcocok = $ambil->num_rows;
if ($yangcocok==1) {
echo
"<script>alert('Pendaftaran Gagal, Email telah digunakan');</script>";
echo
"<script>location='daftar.php';</script>";
}
else
{
$koneksi->query("INSERT
INTO
pelanggan(email_pelanggan,password_pelanggan,nama_pelanggan,telepon_pelangga
n,alamat_pelanggan)

VALUES('$email','$password','$nama','$telepon','$alamat')");
echo
"<script>alert('Pendaftaran Sukses, Lakukan Login');</script>";
echo
"<script>location='login.php';</script>";
}
}
?>

Anda mungkin juga menyukai