Anda di halaman 1dari 9

SOAL UJIAN AKHIR SEMESTER (UAS)

GENAP 2023/2024

Mata Kuliah : Pemrograman Web Waktu : 100 / 100 MENIT


Dosen : Dr. Laser Narindro, ST. MMSI Sifat Ujian : OPEN
Kelas : CA223 Program Studi : Sistem Informasi

Petunjuk: Silahkan jawab soal yang menurut Anda lebih mudah terlebih dahulu. Kumpulkan jawaban Ujian
Akhir Semester (UAS) dalam bentuk format PDF dan di unggah (upload) ke aplikasi elearning.stikom-
bali.ac.id sesuai dengan waktu yang telah ditentukan. Tidak diizinkan untuk melakukan copy paste jawaban
dari teman sekelas. Jika ditemukan atau teridentifikasi jawaban yang sama, maka nilai jawaban kedua
mahasiswa, saya KOSONGKAN.

Soal:

1. Tuliskan script dan capture tampilan hasilnya untuk halaman index aplikasi web kamu ? (gunakan
kalimat sendiri) (20)
<?php
include 'header.php';
?>
<!-- IMAGE -->
<div class="container-fluid" style="margin: 0;padding: 0;">
<div class="image" style="margin-top: -21px">
<img src="image/home/main.jpeg" style="display: block; margin-left:
auto; margin-right: auto;width: 80%; height: 80%;">
</div>
</div>
<br>
<br>

<!-- PRODUK TERBARU -->


<div class="container">

<h4 class="text-center" style="font-family: arial; padding-top: 10px;


padding-bottom: 10px; font-style: italic; line-height: 29px; border-top: 2px
solid #ff8d87; border-bottom: 2px solid #ff8d87;">Selamat datang di G-Tech -
Destinasi Utama untuk Peralatan Teknologi Terkini!

Kami di G-Tech memiliki misi untuk menyediakan solusi terbaik dalam dunia
teknologi melalui produk berkualitas tinggi dan pelayanan yang unggul. Sebagai
toko daring yang berfokus pada peralatan teknologi, kami menawarkan beragam
produk terbaru dalam kategori perangkat keras dan perangkat jaringan, membawa
teknologi canggih langsung ke tangan Anda.</h4>

<h2 style=" width: 100%; border-bottom: 4px solid #2D3250; margin-top:


80px;"><b>Produk Kami</b></h2>

<div class="row">
<?php
$result = mysqli_query($conn, "SELECT * FROM produk");
while ($row = mysqli_fetch_assoc($result)) {
?>
<div class="col-sm-6 col-md-4">
<div class="thumbnail">
<img src="image/produk/<?= $row['image']; ?>" >
<div class="caption">
<h3><?= $row['nama']; ?></h3>
<h4>Rp.<?= number_format($row['harga']); ?></h4>
<div class="row">
<div class="col-md-6">
<a href="detail_produk.php?produk=<?=
$row['kode_produk']; ?>" class="btn btn-warning btn-block">Detail</a>
</div>
<?php if(isset($_SESSION['kd_cs'])){ ?>
<div class="col-md-6">
<a href="proses/add.php?produk=<?=
$row['kode_produk']; ?>&kd_cs=<?= $kode_cs; ?>&hal=1" class="btn btn-success
btn-block" role="button"><i class="glyphicon glyphicon-shopping-cart"></i>
Tambah</a>
</div>
<?php
}
else{
?>
<div class="col-md-6">
<a href="keranjang.php" class="btn btn-
success btn-block" role="button"><i class="glyphicon glyphicon-shopping-
cart"></i> Tambah</a>
</div>

<?php
}
?>
</div>
</div>
</div>
</div>
<?php
}
?>
</div>
</div>
<br>
<br>
<br>
<br>
<?php
include 'footer.php';
?>

Pada halaman index ini,merupakan halaman utama pada website g-tech ini. Dimana pada halaman ini
menggunakan “include” untuk mengefisenkan code, sehingga kita hanya perlu memanggilnya saja
tanpa perlu membuat kode yang sama lagi. Pada halaman ini juga akan menampilkan semua fitur”
yang tersedia pada website g-tech ini, seperti produk, tentang perusahaan secara singkat.
OUTPUT
2. Tuliskan script dan capture tampilan hasilnya untuk 1 menu untuk fungsi insert, select, update dan
delete pada aplikasi yang kalian buat ? (40)

• Fungsi INSERT pada menambah barang pada keranjang

$insert = mysqli_query($conn, "INSERT INTO keranjang (kode_customer, kode_produk,


nama_produk, qty, harga) VALUES ('$kode_cs', '$kd', '$nama_produk', '" .
(isset($qty) ? $qty : 1) . "', '$harga')");

• Fungsi SELECT
$result = mysqli_query($conn, "SELECT * FROM produk WHERE kode_produk =
'$kode_produk'");
$row = mysqli_fetch_assoc($result);

Bagian ini melakukan SELECT query untuk mengambil informasi tentang produk tertentu dari
database berdasarkan kode produk yang diberikan.
• Fungsi UPDATE

$update = mysqli_query($conn, "UPDATE keranjang SET qty = '$set' WHERE


kode_produk = '$kode_produk' and kode_customer = '$kode_cs'");

Pada bagian ini berfungsi untuk memperbarui jumlah item yang sudah ada dalam keranjang

• Fungsi DELETE
if(isset($_GET['del'])){
$id_keranjang = $_GET['id'];
$del = mysqli_query($conn, "DELETE FROM keranjang WHERE id_keranjang =
'$id_keranjang'");

Pada bagian ini akan menghapus item yang ada di keranjang


3. Tuliskan script dan capture fungsi login pada aplikasi kamu dengan menggunakan fungsi
session_start ? (20)
<?php
session_start();
include '../koneksi/koneksi.php';

$username = $_POST['username'];
$password = $_POST['pass'];

$cek = mysqli_query($conn, "SELECT * FROM customer where username =


'$username'");
$jml = mysqli_num_rows($cek);
$row = mysqli_fetch_assoc($cek);

if($jml ==1){
if(password_verify($password, $row['password'])){
$_SESSION['user'] = $row['nama'];
$_SESSION['kd_cs'] = $row['kode_customer'];
header('location:../index.php');
}else{
echo "
<script>
alert('USERNAME/PASSWORD SALAH');
window.location = '../user_login.php';
</script>
";
die;
}
}else{
echo "
<script>
alert('USERNAME/PASSWORD SALAH');
window.location = '../user_login.php';
</script>
";
die;
}

?>

session_start();: Memulai sesi PHP, yang memungkinkan penggunaan variabel sesi untuk menyimpan
informasi antar halaman. Mengambil data username dan password dari formulir login. Selanjutnya
Memeriksa apakah username tersebut ada dalam database. Jika ada, memeriksa kecocokan password
dengan hash password yang disimpan. Jika kecocokan ditemukan, membuat sesi login dan
mengarahkan pengguna ke halaman utama. Jika tidak cocok, kembali ke halaman login dengan pesan
kesalahan.
4. Tuliskan script dan capture tampilan hasilnya untuk fungsi select dengan menggunakan join yang
terdapat pada aplikasi yang kalian buat ? (gunakan kalimat sendiri) (10)
$result = mysqli_query($conn, "SELECT k.id_keranjang as keranjang,
k.kode_produk as kd, k.nama_produk as nama, k.qty as jml, p.image as gambar,
p.harga as hrg FROM keranjang k JOIN produk p on k.kode_produk=p.kode_produk
WHERE kode_customer = '$kode_cs'");

Pada fungsi ini digunakan untuk mengambil data dari keranjang yang dimana juga digunakan fungsi
JOIN untuk mengambil dari dari tabel produk

5. Tuliskan script dan capture tampilan hasilnya untuk fungsi aritmatika yang terdapat pada aplikasi
yang kalian buat ? (30)
<div class="col-md-6">
<h4>Daftar Pesanan</h4>
<table class="table table-stripped">
<tr>
<th>No</th>
<th>Nama</th>
<th>Harga</th>
<th>Qty</th>
<th>Sub Total</th>
</tr>
<?php
$result = mysqli_query($conn, "SELECT * FROM keranjang WHERE
kode_customer = '$kd'");
$no = 1;
$hasil = 0;
while($row = mysqli_fetch_assoc($result)){
?>
<tr>
<td><?= $no; ?></td>
<td><?= $row['nama_produk']; ?></td>
<td>Rp.<?= number_format($row['harga']); ?></td>
<td><?= $row['qty']; ?></td>
<td>Rp.<?= number_format($row['harga'] * $row['qty']);
?></td>
</tr>
<?php
$total = $row['harga'] * $row['qty'];
$hasil += $total;
$no++;
}
?>
<tr>
<td colspan="5" style="text-align: right; font-weight:
bold;">Grand Total = <?= number_format($hasil); ?></td>
</tr>
</table>
</div>

Pada bagian ini, terdapat penggunaan fungsi aritmatika khuhsnya perkalian pada
halaman checkout, dimana pada halaman ini akan menghitung jumlah barang per produk
dan total harga yang harus dibayar. Untuk hasilnya seperti berikut:

- Selamat Mengerjakan -

Anda mungkin juga menyukai