1. π Pengertian Sistem Peminjaman Buku
Sistem peminjaman buku adalah aplikasi untuk:
- Mengelola data buku
- Mengelola data anggota
- Mencatat transaksi peminjaman
2. π― Tujuan Pembelajaran
Mahasiswa mampu:
- Membuat database relasional
- Menggunakan JOIN antar tabel
- Mengimplementasikan CRUD
- Menghubungkan PHP dengan MySQL
3. π§© Arsitektur Sistem
6
4. π Analisis Kebutuhan
π Data yang dikelola:
- Buku
- Anggota
- Peminjaman
π Fitur:
- CRUD Buku
- CRUD Anggota
- Transaksi Peminjaman
- Tampilkan data relasi
5. ποΈ Perancangan Database
π Struktur Tabel
CREATE DATABASE perpustakaan;
USE perpustakaan;CREATE TABLE buku (
id INT AUTO_INCREMENT PRIMARY KEY,
judul VARCHAR(100),
pengarang VARCHAR(100)
);CREATE TABLE anggota (
id INT AUTO_INCREMENT PRIMARY KEY,
nama VARCHAR(100)
);CREATE TABLE peminjaman (
id INT AUTO_INCREMENT PRIMARY KEY,
id_buku INT,
id_anggota INT,
tanggal_pinjam DATE,
FOREIGN KEY (id_buku) REFERENCES buku(id),
FOREIGN KEY (id_anggota) REFERENCES anggota(id)
);
6. π§± ERD (Relasi Tabel)
6
7. π Struktur Folder Project
perpustakaan/
β
βββ koneksi.php
βββ index.php
βββ tambah.php
βββ edit.php
βββ hapus.php
8. π Koneksi Database
<?php
$conn = mysqli_connect("localhost","root","","perpustakaan");
?>
π IMPLEMENTASI CRUD
9. β CREATE (Tambah Data Peminjaman)
<?php
include 'koneksi.php';if(isset($_POST['simpan'])){
mysqli_query($conn,"INSERT INTO peminjaman
(id_buku,id_anggota,tanggal_pinjam)
VALUES ('$_POST[buku]','$_POST[anggota]','$_POST[tanggal]')"); header("Location:index.php");
}
?><form method="POST">
<input name="buku" placeholder="ID Buku"><br>
<input name="anggota" placeholder="ID Anggota"><br>
<input type="date" name="tanggal"><br>
<button name="simpan">Simpan</button>
</form>
10. π READ (Tampilkan Data dengan JOIN)
<?php
include 'koneksi.php';$query = "SELECT peminjaman.id, anggota.nama, buku.judul, tanggal_pinjam
FROM peminjaman
JOIN anggota ON peminjaman.id_anggota = anggota.id
JOIN buku ON peminjaman.id_buku = buku.id";$data = mysqli_query($conn,$query);while($row = mysqli_fetch_assoc($data)){
echo $row['nama']." meminjam ".$row['judul']." (".$row['tanggal_pinjam'].")";
echo " <a href='edit.php?id=".$row['id']."'>Edit</a>";
echo " <a href='hapus.php?id=".$row['id']."'>Hapus</a><br>";
}
?>
11. βοΈ UPDATE (Edit Data)
<?php
include 'koneksi.php';$id = $_GET['id'];if(isset($_POST['update'])){
mysqli_query($conn,"UPDATE peminjaman SET
id_buku='$_POST[buku]',
id_anggota='$_POST[anggota]',
tanggal_pinjam='$_POST[tanggal]'
WHERE id='$id'"); header("Location:index.php");
}
?>
12. β DELETE (Hapus Data)
<?php
include 'koneksi.php';$id = $_GET['id'];
mysqli_query($conn,"DELETE FROM peminjaman WHERE id='$id'");header("Location:index.php");
?>
13. π Alur CRUD + JOIN
7
14. π§ͺ Latihan Sederhana
π― Latihan 1:
Buat database:
perpus_latihan
π― Latihan 2:
Tambahkan field:
- tanggal_kembali
π― Latihan 3:
Tampilkan data dalam tabel HTML
15. π Tugas Praktikum
π― Tugas: Pengembangan Sistem Perpustakaan
6
π Ketentuan:
- Tambahkan fitur:
- Pencarian buku
- Status (dipinjam/kembali)
- Tambahkan:
- Validasi input
- Gunakan:
- HTML tabel rapi
16. π― Kesimpulan
- Sistem ini menggunakan relasi tabel (JOIN)
- CRUD menjadi dasar pengolahan data
- PHP + MySQL sangat cocok untuk sistem perpustakaan