πŸ“š MEMBUAT DATABASE (CRUD) PROGRAM SEDERHANA PHP + MySQL, 🎯 STUDI KASUS: DATA PEMINJAMAN BUKU


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

https://images.openai.com/static-rsc-4/N7ezii49lvmsqoRlYfSr3t1cfsVDAPij37-cEK5lPwj7655B4MTgW_kTxr16kNfIfwy7uowJi_ENpJduXq9vg3oDHAF--0R8LbdYV3LPp0SJeiuRQUyr-0285tZ8WUlNxPTrWugLmHN99WwlhKv9etFR9_LEw4-7mqGY89Z8hmXJW2Ho5cTD4LpVf5138God?purpose=fullsize
https://images.openai.com/static-rsc-4/P4OiuURHe2aqlA6sOHfsUslLfQIHepsN6-FosEvt7gxQxiDJZmrx_eLOb6WBNxj3_5jCjLqzaMAMtirdl7duJATiiD5qdtPY5H7R35EmHO9mh12_mq3aiCBLt7unzXlC2PhXBhLBzoWIee0qLgb3pemCwzbEcn7FcyrshpsvdmhoIKrvfQigeZ4Abyfo5wCD?purpose=fullsize
https://images.openai.com/static-rsc-4/KRolvirXXimXYkdsYvj_OxwJXbfzWiXi3Lme7w56RTmipFr9Zi0k8_CvQaQYlKemwYXtPzf4kjIXQoiudpQ6tEvbF-CJSRdU_v5YtI7UAMRgS4iFzq1wH4wHcyUCGn6DY2TZQC9cQZzBtXAsjZG23Bh7YNMjKWBLq4i9gW34ct0MfgDYDBql9qozlojfJPuJ?purpose=fullsize

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)

https://images.openai.com/static-rsc-4/Kug9UyDqpe7h34DcDp-4dMk8_oTMOEhafJErLwHwuP0YiIF7xPWMJyfrPTWPDLyUsYvUBVjBkS-5ncNbXy-LjmPNF3Z1VAmzlQaryiOcgUQytzZqsWbXAvvWXoCp16kTAD1fo1hHFOeIGbkcZ895EHapYwUjsbpLtEDhVfRaHxIxl4oaB-4RLbDi-PSPLGPc?purpose=fullsize
https://images.openai.com/static-rsc-4/mAufJzwUe4QqA-sLTp1fcjZkWnoPCyiUvuv-93D2jmsAXZsxPLjbBH_QcwAFi0JHKLtHRdAhzxxyQHW8L2h6oRfZYoL530pdQfIcyXHeD4k34aERvha0T_1s7wQcOxDDiKXfsT0cp2jC6dboqc4DbOSiUzIjK0zXeCix8A1LXsixbP4WcUjDa1ThgA6WjLu0?purpose=fullsize
https://images.openai.com/static-rsc-4/_ZEhhqXg8HvthsVvXonSmEswrKYeQZ1wjeo_0JRBOh6XHwcdJrxJlKxTkHZvo3h7BJM5tkNDPb4zvzOHtsKnlqfEpfRKIDXVJSZfDDH9aOJZUL2p3DKMD5LXtGpofpEd_EBGaBuAD6_NmURdC2d0XYtg24nRMlpy8otLW2ihnlCnsbMREd6oAm7e0zT2jpnL?purpose=fullsize

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

https://images.openai.com/static-rsc-4/_ZEhhqXg8HvthsVvXonSmEswrKYeQZ1wjeo_0JRBOh6XHwcdJrxJlKxTkHZvo3h7BJM5tkNDPb4zvzOHtsKnlqfEpfRKIDXVJSZfDDH9aOJZUL2p3DKMD5LXtGpofpEd_EBGaBuAD6_NmURdC2d0XYtg24nRMlpy8otLW2ihnlCnsbMREd6oAm7e0zT2jpnL?purpose=fullsize
https://images.openai.com/static-rsc-4/He1go6GSbKl8RNKkr_BETfeZdNyGPyDzuEkuA_YwfQc2Z8PkTQ-HwRL4l4ZhtANpajl_GNQv3XTLSUpbhcsdgVecmpoYr6TEAGIphntlwUHabW-0FMgVtVwEEH9VKfLrC4qkm2xuHDxCRxbVnlEErQ8WIgKnjCCNTM4NU1bFl3PhzGrMOanK2anNHpDXsWpm?purpose=fullsize
https://images.openai.com/static-rsc-4/0k6Ph8Dgk87YvCC-s3z6ev5TaB0_ZIE8v6TTWwNACdHs2UJEgRd7wqiOzGjsAi9J8N6n8KE-jRXb_c_mNB7oo4hri0Ou9MQXN_jDS03SM6ByaY3iD_YnqjZWJLJV8kce8Bsc3Gbiy_FQ7l4xZwfjwSGb2CUNr5ZVERCrpbxYtfwtNdcBsDCBK6st459vSv1p?purpose=fullsize

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

https://images.openai.com/static-rsc-4/G7QDyUpW9EtD-E1Ml1IHYzV9L2ilvDG4Z6nDNvIw1rZJ7uP6K9lV6Fe2jhOUAMurtW2jo958Yb9JAhR0jB7bLWcY7PKzrzsJ7Irgyml8NGskCViXfXA6KWCphXOaFvv7uRHT_bVsMZnhIk1q2Vj67N4TIXshsYfC0KIMvPCU-uX8mHZiAIUkOXT-qHY6GFiY?purpose=fullsize
https://images.openai.com/static-rsc-4/CBeDTpPm8c2VOcl8MCca_gg6VoIhTcCKKQBpPKPQ1rIuh5ACFMF_RlhJ4TmzOf-q85ZCeozbGGyqJS2zD2yIPqDpXpt5yeS0bTnMC0-agy47gvEuA4w8Ewu8NHsS2Ji-HinQTUEHueY8FDF0Km6TVTsKu-3Xsc74J32hXlj3K50W1_AbKi4mTGz81S4TJCaO?purpose=fullsize
https://images.openai.com/static-rsc-4/Zh6VaK0TD8XdPjf0Oue8AuDDkQMikhA_exGj3go1FioOV4DyrDiDorwCEx1CYkwISam6NEEcBYeALIApYbbqmdu-80wHj6RTB2x604kR6aZq5YblVORutCRaWijizU2Idpqla4o7Z64QCE1QCc12vpc-HAtPLq71oyXD4DsLqz2u8TOGprQ4sLnSFkghKlED?purpose=fullsize

6

πŸ“Œ Ketentuan:

  1. Tambahkan fitur:
    • Pencarian buku
    • Status (dipinjam/kembali)
  2. Tambahkan:
    • Validasi input
  3. Gunakan:
    • HTML tabel rapi

16. 🎯 Kesimpulan

  • Sistem ini menggunakan relasi tabel (JOIN)
  • CRUD menjadi dasar pengolahan data
  • PHP + MySQL sangat cocok untuk sistem perpustakaan