## Soal No Ke 4
Buatlah script untuk menampilkan form inputan dan melakukan insert data ke dalam tabel database (table_barang). Script PHP yang dibuat harus mampu menjalankan fungsi untuk Create, Read, Update, Delete data beserta tampilan form dan tabel(output) HTML nya: [Bobot: 30]
### Insert & Result Data
```php=
<?php
error_reporting(0);
$servername = "localhost";
$username = "root";
$password = "";
$database = "db_npm1234";
$connection = new mysqli($servername, $username, $password, $database);
if ($connection->connect_error) {
echo die("Connection Failed: " . $connection->connect_error);
}
// initialize all function method
insertData($connection);
function insertData($conn) {
if(isset($_POST["submit"])) {
$kode_barang = $_POST["kode_barang"];
$nama_barang = $_POST["nama_barang"];
$harga_barang = $_POST["harga_barang"];
$jumlah_barang = $_POST["jumlah_barang"];
$query = "INSERT INTO table_barang(kode_barang, nama_barang, harga_barang, jumlah_barang)
VALUES('$kode_barang','$nama_barang','$harga_barang','$jumlah_barang')";
if($conn->query($query) === TRUE) {
alert("Insert new record successfully");
} else {
alert("Insert new record failed");
}
}
}
function resultData($conn) {
$query = "SELECT * FROM table_barang";
$data = $conn->query($query);
if($data->num_rows > 0) {
return $data;
}
}
function alert($msg) {
echo "<script>alert('$msg');</script>";
}
function redirect($path) {
echo $path;
}
?>
```
```htmlembedded=
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" />
</head>
<body>
<div class="container mt-3">
<div class="row d-flex flex-fill justify-content-center">
<div class="col-6">
<div class="card">
<div class="card-header bg-white text-center">
<h4>Insert New Record</h4>
</div>
<div class="card-body">
<form autocomplete="off" method="POST">
<div class="form-group">
<label for="kode_barang" class="font-weight-bold">Kode Barang</label>
<input type="text" name="kode_barang" class="form-control" placeholder="Masukan Kode Barang"
required />
</div>
<div class="form-group">
<label for="nama_barang" class="font-weight-bold">Nama Barang</label>
<input type="text" name="nama_barang" class="form-control" placeholder="Masukan Nama Barang"
required />
</div>
<div class="form-group">
<label for="harga_barang" class="font-weight-bold">Harga Barang</label>
<input type="number" name="harga_barang" class="form-control"
placeholder="Masukan Harga Barang" required />
</div>
<div class="form-group">
<label for="jumlah_barang" class="font-weight-bold">Jumlah Barang</label>
<input type="number" name="jumlah_barang" class="form-control"
placeholder="Masukan Jumlah Barang" required />
</div>
<div class="form-group">
<input type="submit" name="submit" class="form-control btn btn-primary"
value="Add Record" />
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<div class="container mt-5">
<div class="row">
<div class="col-12">
<div class="card">
<div class="card-header text-center bg-white">
<h4>Record List</h4>
</div>
<div class="card-body">
<table class="table table-bordered table-hover table-stripped text-center">
<thead>
<tr>
<th>No</th>
<th>Kode Barang</th>
<th>Nama Barang</th>
<th>Harga Barang</th>
<th>Jumlah Barang</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php $id = 1; ?>
<?php foreach(resultData($connection) as $value) { ?>
<tr>
<td> <?= $id++; ?></td>
<td> <?= $value["kode_barang"] ?> </td>
<td> <?= $value["nama_barang"] ?> </td>
<td> <?= $value["harga_barang"] ?> </td>
<td> <?= $value["jumlah_barang"] ?> </td>
<td>
<a href="delete.php?del=<?= $value["id"] ?>"
class="btn btn-danger text-decoration-none">
Delete </a>
<a href="edit.php?edit=<?= $value["id"] ?>"
class="btn btn-success text-decoration-none">
Edit </a>
</td>
</tr>
<?php }?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
```
### Delete Data
```php=
<?php
error_reporting(0);
$servername = "localhost";
$username = "root";
$password = "";
$database = "db_npm1234";
$connection = new mysqli($servername, $username, $password, $database);
if ($connection->connect_error) {
echo die("Connection Failed: " . $connection->connect_error);
}
// initialize all function method
deleteData($_GET["del"], $connection);
function deleteData($id, $conn) {
$query = "DELETE FROM table_barang WHERE id = '$id' ";
if($conn->query($query) === TRUE) {
alert("Delete new record successfully");
redirect("/app");
} else {
alert("Delete new record failed");
redirect("/app");
}
}
function alert($msg) {
echo "<script>alert('$msg');</script>";
}
function redirect($path) {
echo "<script>window.location.href = '$path';</script>";
}
?>
```
### Edit & Update Data
```php=
<?php
error_reporting(0);
$servername = "localhost";
$username = "root";
$password = "";
$database = "db_npm1234";
$connection = new mysqli($servername, $username, $password, $database);
if ($connection->connect_error) {
echo die("Connection Failed: " . $connection->connect_error);
}
// initialize data
updateData($connection);
function editData($id, $conn) {
$query = "SELECT * FROM table_barang WHERE id = '$id' ";
$data = $conn->query($query);
return $data;
}
function updateData($conn) {
if(isset($_POST["submit"])) {
$id = $_POST["id"];
$kode_barang = $_POST["kode_barang"];
$nama_barang = $_POST["nama_barang"];
$harga_barang = $_POST["harga_barang"];
$jumlah_barang = $_POST["jumlah_barang"];
$query = "UPDATE table_barang
SET kode_barang = '$kode_barang', nama_barang = '$nama_barang', harga_barang = '$harga_barang', jumlah_barang = '$jumlah_barang' WHERE id = '$id' ";
$data = $conn->query($query);
if($data === TRUE) {
alert("Update new record successfully");
redirect("/app");
} else {
alert("Update new record failed");
redirect("/app");
}
}
}
function alert($msg) {
echo "<script>alert('$msg');</script>";
}
function redirect($path) {
echo "<script>window.location.href = '$path';</script>";
}
?>
```
```htmlembedded=
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" />
</head>
<body>
<div class="container mt-3">
<div class="row d-flex flex-fill justify-content-center">
<div class="col-6">
<div class="card">
<div class="card-header bg-white text-center">
<h4>Update New Record</h4>
</div>
<div class="card-body">
<form autocomplete="off" method="POST">
<?php foreach(editData($_GET["edit"], $connection) as $value) { ?>
<div class="form-group">
<input type="text" name="id" class="form-control" value="<?= $value["id"] ?>" hidden />
</div>
<div class="form-group">
<label for="kode_barang" class="font-weight-bold">Kode Barang</label>
<input type="text" name="kode_barang" class="form-control" placeholder="Masukan Kode Barang"
value="<?= $value["kode_barang"] ?>" required />
</div>
<div class="form-group">
<label for="nama_barang" class="font-weight-bold">Nama Barang</label>
<input type="text" name="nama_barang" class="form-control" placeholder="Masukan Nama Barang"
value="<?= $value["nama_barang"] ?>" required />
</div>
<div class="form-group">
<label for="harga_barang" class="font-weight-bold">Harga Barang</label>
<input type="number" name="harga_barang" class="form-control"
placeholder="Masukan Harga Barang" value="<?= $value["harga_barang"] ?>" required />
</div>
<div class="form-group">
<label for="jumlah_barang" class="font-weight-bold">Jumlah Barang</label>
<input type="number" name="jumlah_barang" class="form-control"
placeholder="Masukan Jumlah Barang" value="<?= $value["jumlah_barang"] ?>" required />
</div>
<div class="form-group">
<input type="submit" name="submit" class="form-control btn btn-success"
value="Update Record" />
</div>
<?php } ?>
</form>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
```
## Soal No Ke 5
5. Buatlah script PHP untuk menampilkan form inputan dan melakukan insert data ke dalam tabel database (table_barang_masuk), dengan ketentuan seperti dibawah ini: [Bobot: 20]
Script HTML untuk membuat input & output seperti gambar di bawah
Data pada dropdown kode_barang diisi dengan cara menarik data dari tabel_barang
Script HTML PHP untuk membaca inputan, menyimpan ke database, serta mengeluarkan output ke layar seperti dibawah ini (Hanya Fitur Insert)
```php=
<?php
error_reporting(0);
$servername = "localhost";
$username = "root";
$password = "";
$database = "db_npm1234";
$connection = new mysqli($servername, $username, $password, $database);
if ($connection->connect_error) {
echo die("Connection Failed: " . $connection->connect_error);
}
// initialize all function method
insertData($connection);
function insertData($conn) {
if(isset($_POST["submit"])) {
$kode_barang_masuk = $_POST["kode_barang_masuk"];
$kode_barang = $_POST["kode_barang"];
$nama_barang = $_POST["nama_barang"];
$jumlah_barang_masuk = $_POST["jumlah_barang_masuk"];
$query = "INSERT INTO table_barang_masuk(kode_barang_masuk, kode_barang, nama_barang, jumlah_barang_masuk)
VALUES('$kode_barang_masuk','$kode_barang','$nama_barang','$jumlah_barang_masuk')";
if($conn->query($query) === TRUE) {
alert("Insert new record successfully");
} else {
alert("Insert new record failed");
}
}
}
function resultDataBarang($conn) {
$query = "SELECT * FROM table_barang";
$data = $conn->query($query);
if($data->num_rows > 0) {
return $data;
}
}
function alert($msg) {
echo "<script>alert('$msg');</script>";
}
?>
```
```htmlembedded=
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" />
</head>
<body>
<div class="container mt-3">
<div class="row d-flex flex-fill justify-content-center">
<div class="col-6">
<div class="card">
<div class="card-header bg-white text-center">
<h4>Input</h4>
</div>
<div class="card-body">
<form autocomplete="off" method="POST">
<div class="form-group">
<label for="kode_barang_masuk" class="font-weight-bold">Kode Barang Masuk</label>
<input type="text" name="kode_barang_masuk" class="form-control"
placeholder="Masukan Kode Barang" required />
</div>
<div class="form-group">
<label for="kode_barang" class="font-weight-bold">Kode Barang</label>
<select name="kode_barang" class="form-control" onchange="selectedData()" id="selected">
<?php foreach(resultDataBarang($connection) as $value) { ?>
<option value="<?= $value["kode_barang"] ?>" selected="<?= $value["nama_barang"] ?>">
<?= $value["kode_barang"] ?></option>
<?php } ?>
</select>
</div>
<div class="form-group">
<label for="nama_barang" class="font-weight-bold">Nama Barang</label>
<input type="text" name="nama_barang" class="form-control" id="nama_barang"
placeholder="Masukan Harga Barang" required disabled />
</div>
<div class="form-group">
<label for="jumlah_barang_masuk" class="font-weight-bold">Jumlah Barang Masuk</label>
<input type="number" name="jumlah_barang_masuk" class="form-control"
placeholder="Masukan Jumlah Barang" required />
</div>
<div class="form-group">
<input type="submit" name="submit" class="form-control btn btn-primary"
value="Add Record" />
</div>
</form>
</div>
</div>
</div>
<dvi class="col-6">
<div class="card">
<div class="card-header bg-white text-center">
<h4>Output</h4>
</div>
<div class="card-body">
<h4 class="text-center">Daftar Barang Masuk</h4>
<ul class="list-group mt-3">
<li class="list-group-item">
<td><b>kode barang masuk:</b>
<td><?= $_POST["kode_barang_masuk"];?></td>
</td>
</li>
<li class="list-group-item">
<td><b>kode barang:</b>
<td><?= $_POST["kode_barang"];?></td>
</td>
</li>
<li class="list-group-item">
<td><b>nama barang:</b>
<td><?= $_POST["nama_barang"];?></td>
</td>
</li>
<li class="list-group-item">
<td><b>jumlah barang masuk:</b>
<td><?= $_POST["jumlah_barang_masuk"];?></td>
</td>
</li>
</ul>
</div>
</dvi>
</div>
</div>
</body>
</html>
<script>
function selectedData() {
const selectedValue = document.getElementById('selected')
const data = selectedValue.querySelector("select option").getAttribute("selected")
document.getElementById('nama_barang').value = data
}
</script>
```