Perancangan dan implementasi proyek mini basis data
Jump to navigation
Jump to search
Berikut adalah Modul: Studi Kasus dan Proyek Mini dengan fokus pada *perancangan dan implementasi proyek mini basis data* di Ubuntu 24.04, lengkap dengan contoh praktis.
Studi Kasus dan Proyek Mini
Topik: Perancangan dan Implementasi Proyek Mini Basis Data
Tujuan Pembelajaran
- Mahasiswa mampu merancang, mengimplementasikan, dan menguji sistem basis data skala kecil.
- Mahasiswa dapat menerapkan konsep ERD, normalisasi, dan query SQL dalam proyek nyata.
Studi Kasus: Sistem Manajemen Perpustakaan Sederhana
Deskripsi Proyek
Proyek ini bertujuan untuk membangun sistem basis data sederhana untuk mengelola data buku, anggota, dan transaksi peminjaman di sebuah perpustakaan kecil.
Langkah Implementasi di Ubuntu 24.04
1. Instalasi MySQL
sudo apt update sudo apt install mysql-server sudo mysql_secure_installation
2. Desain Database (ERD)
Tabel yang dibutuhkan:
- `anggota` (id, nama, alamat, no_hp)
- `buku` (id, judul, penulis, penerbit, tahun_terbit, stok)
- `peminjaman` (id, id_anggota, id_buku, tanggal_pinjam, tanggal_kembali)
Contoh ERD (bisa digambar menggunakan [draw.io](https://draw.io) atau MySQL Workbench).
3. Pembuatan Database & Tabel
CREATE DATABASE perpustakaan; USE perpustakaan; CREATE TABLE anggota ( id INT AUTO_INCREMENT PRIMARY KEY, nama VARCHAR(100), alamat TEXT, no_hp VARCHAR(15) ); CREATE TABLE buku ( id INT AUTO_INCREMENT PRIMARY KEY, judul VARCHAR(200), penulis VARCHAR(100), penerbit VARCHAR(100), tahun_terbit YEAR, stok INT ); CREATE TABLE peminjaman ( id INT AUTO_INCREMENT PRIMARY KEY, id_anggota INT, id_buku INT, tanggal_pinjam DATE, tanggal_kembali DATE, FOREIGN KEY (id_anggota) REFERENCES anggota(id), FOREIGN KEY (id_buku) REFERENCES buku(id) );
4. Insert Data Awal
INSERT INTO anggota (nama, alamat, no_hp) VALUES ('Dzaq Rayhan', 'Jakarta', '08123456789'); INSERT INTO buku (judul, penulis, penerbit, tahun_terbit, stok) VALUES ('Dasar Basis Data', 'Onno W. Purbo', 'Informatika', 2021, 5);
5. Query Dasar
Menampilkan semua buku:
SELECT * FROM buku;
Menampilkan peminjaman beserta nama anggota dan judul buku:
SELECT p.id, a.nama, b.judul, p.tanggal_pinjam, p.tanggal_kembali FROM peminjaman p JOIN anggota a ON p.id_anggota = a.id JOIN buku b ON p.id_buku = b.id;
Bonus: Antarmuka Web Sederhana (Opsional)
Bisa digunakan framework Python Flask:
sudo apt install python3-flask
Contoh file `app.py`:
from flask import Flask, render_template import mysql.connector app = Flask(__name__) @app.route('/') def index(): db = mysql.connector.connect(user='root', password=, host='localhost', database='perpustakaan') cursor = db.cursor() cursor.execute("SELECT * FROM buku") data = cursor.fetchall() return render_template('index.html', buku=data)
Evaluasi
- Buatlah ERD dan implementasikan dalam MySQL.
- Lakukan pengujian query CRUD.
- Buat laporan singkat desain & hasil implementasi.