Analisis kasus nyata implementasi basis data

From OnnoWiki
Jump to navigation Jump to search

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.


Pranala Menarik