Analisis kasus nyata implementasi basis data
Berikut adalah Modul 14: Studi Kasus dan Proyek Mini – Analisis Kasus Nyata Implementasi Basis Data lengkap dengan contoh implementasi di Ubuntu 24.04.
Modul: Studi Kasus dan Proyek Mini
Topik: Analisis Kasus Nyata Implementasi Basis Data
1. Tujuan Pembelajaran
Setelah mempelajari modul ini, mahasiswa diharapkan mampu:
- Menganalisis implementasi basis data dalam kasus nyata.
- Mendesain proyek mini berbasis skenario dunia nyata.
- Mengimplementasikan proyek berbasis database di Ubuntu 24.04 menggunakan MySQL dan Python.
2. Studi Kasus: Sistem Informasi Perpustakaan Sederhana
Deskripsi Kasus
Sebuah perpustakaan sekolah ingin mengelola data buku, anggota, dan transaksi peminjaman. Saat ini masih menggunakan pencatatan manual. Tujuan sistem:
- Menyimpan data buku dan anggota.
- Mencatat peminjaman dan pengembalian buku.
- Menampilkan laporan transaksi.
3. Desain Basis Data
Tabel:
- `buku` (id_buku, judul, penulis, tahun)
- `anggota` (id_anggota, nama, kelas)
- `peminjaman` (id_peminjaman, id_buku, id_anggota, tanggal_pinjam, tanggal_kembali)
4. Implementasi di Ubuntu 24.04
Langkah 1: Instalasi MySQL
sudo apt update sudo apt install mysql-server sudo mysql_secure_installation
Langkah 2: Buat Database dan Tabel
sudo mysql -u root -p
CREATE DATABASE db_perpustakaan; USE db_perpustakaan; CREATE TABLE buku ( id_buku INT AUTO_INCREMENT PRIMARY KEY, judul VARCHAR(100), penulis VARCHAR(100), tahun INT ); CREATE TABLE anggota ( id_anggota INT AUTO_INCREMENT PRIMARY KEY, nama VARCHAR(100), kelas VARCHAR(20) ); CREATE TABLE peminjaman ( id_peminjaman INT AUTO_INCREMENT PRIMARY KEY, id_buku INT, id_anggota INT, tanggal_pinjam DATE, tanggal_kembali DATE, FOREIGN KEY (id_buku) REFERENCES buku(id_buku), FOREIGN KEY (id_anggota) REFERENCES anggota(id_anggota) );
Langkah 3: Instalasi Library Python
sudo apt install python3-pip pip install mysql-connector-python
Langkah 4: Script Python untuk Input dan Laporan
File: perpustakaan.py
import mysql.connector from datetime import date # Koneksi ke database conn = mysql.connector.connect( host="localhost", user="root", password="password", # ganti sesuai konfigurasi database="db_perpustakaan" ) cursor = conn.cursor() # Fungsi menambahkan buku def tambah_buku(judul, penulis, tahun): query = "INSERT INTO buku (judul, penulis, tahun) VALUES (%s, %s, %s)" cursor.execute(query, (judul, penulis, tahun)) conn.commit() # Fungsi menambahkan anggota def tambah_anggota(nama, kelas): query = "INSERT INTO anggota (nama, kelas) VALUES (%s, %s)" cursor.execute(query, (nama, kelas)) conn.commit() # Fungsi mencatat peminjaman def pinjam_buku(id_buku, id_anggota): query = "INSERT INTO peminjaman (id_buku, id_anggota, tanggal_pinjam, tanggal_kembali) VALUES (%s, %s, %s, NULL)" cursor.execute(query, (id_buku, id_anggota, date.today())) conn.commit() # Fungsi menampilkan laporan peminjaman def laporan_peminjaman(): query = """ SELECT p.id_peminjaman, a.nama, b.judul, p.tanggal_pinjam, p.tanggal_kembali FROM peminjaman p JOIN buku b ON p.id_buku = b.id_buku JOIN anggota a ON p.id_anggota = a.id_anggota """ cursor.execute(query) for row in cursor.fetchall(): print(row) # Contoh penggunaan tambah_buku("Belajar Python", "Onno W. Purbo", 2024) tambah_anggota("Dzaq Rayhan", "12 IPA") pinjam_buku(1, 1) laporan_peminjaman()
5. Proyek Mini yang Direkomendasikan
Judul Proyek | Deskripsi Singkat |
---|---|
Sistem Booking Klinik | Pasien dapat daftar dan cek jadwal dokter |
Aplikasi Pencatatan Keuangan | Catat pemasukan dan pengeluaran pribadi atau organisasi |
Database Alumni Sekolah | Menyimpan dan menelusuri data alumni berbasis web |
Manajemen Tugas Siswa | Catat tugas, deadline, dan status pengerjaan |
6. Kesimpulan
Dengan mengerjakan proyek mini berbasis studi kasus nyata, mahasiswa tidak hanya memahami teori basis data tetapi juga mampu mengimplementasikannya di lingkungan nyata. Ubuntu 24.04 mendukung penuh pengembangan ini melalui MySQL dan Python.