Mini Project: Sistem Manajemen Perpustakaan

Pertemuan 15 - Konsolidasi Materi Pemrograman Web

Integrasi Seluruh Materi yang Telah Dipelajari

Tujuan Mini Project

Mini project ini bertujuan untuk mengkonsolidasi seluruh materi yang telah dipelajari selama semester ini melalui implementasi praktis dalam sebuah aplikasi fungsional.

📊 BOBOT PENILAIAN

Mini Project bernilai 50% dari nilai UAS

Project ini merupakan komponen utama penilaian akhir semester

🎯 Tujuan Pembelajaran

  • Integrasi Materi: Menggabungkan berbagai konsep pemrograman yang telah dipelajari
  • Problem Solving: Melatih kemampuan analisis dan pemecahan masalah nyata
  • Kolaborasi Tim: Belajar bekerja dalam tim dengan pembagian peran yang jelas
  • Pengembangan Aplikasi: Memahami siklus pengembangan perangkat lunak sederhana
KOMPETENSI YANG DIKEMBANGKAN:
1. Kemampuan teknis pemrograman web
2. Kemampuan analisis dan desain sistem
3. Kemampuan kerja tim dan kolaborasi
4. Kemampuan presentasi dan dokumentasi

Pilihan Topik Mini Project

Pilih salah satu dari empat topik berikut untuk dikembangkan sebagai mini project:

📚 Sistem Manajemen Perpustakaan

Input buku, input anggota, peminjaman, pengembalian

  • CRUD data buku
  • Manajemen anggota
  • Sistem peminjaman
  • Tracking pengembalian
💰 Aplikasi Manajemen Keuangan

Input pemasukan/pengeluaran, kategorisasi, laporan sederhana

  • Input transaksi
  • Kategorisasi otomatis
  • Laporan bulanan
  • Visualisasi data
📝 Aplikasi Blog Sederhana

Input artikel, tampilkan artikel, komentar

  • Create/Read artikel
  • Sistem komentar
  • Kategori artikel
  • Search artikel
📦 Sistem Inventory Barang

Input barang, stok, supplier

  • Manajemen stok
  • Data supplier
  • Alert stok rendah
  • Laporan inventory
TOPIK YANG DIPILIH: SISTEM MANAJEMEN PERPUSTAKAAN

Komponen Wajib dalam Project

Berikut adalah materi yang harus diimplementasikan dalam mini project:

📋 DAFTAR KOMPONEN WAJIB

1. Form dan Input Data HTML

Implementasi berbagai elemen form: input, select, radio, checkbox

<input type="text" name="judul_buku">
<select name="kategori">...</select>
<input type="radio" name="status" value="tersedia">
<input type="checkbox" name="kondisi[]" value="baru">
2. Validasi Form dengan PHP

Validasi input menggunakan filter_var() dan fungsi validasi lainnya

$email = $_POST['email'];
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
  echo "Email tidak valid!";
}
3. Manipulasi String

Penggunaan fungsi string: strlen(), strtoupper(), strtolower(), substr()

$judul = "pemrograman web";
echo strtoupper($judul); // PEMROGRAMAN WEB
echo substr($judul, 0, 5); // pemro
4. File Handling

Operasi file: fopen(), fread(), fwrite(), fclose()

$file = fopen("data.txt", "w");
fwrite($file, "Data baru\\n");
fclose($file);
5. Pemecahan Masalah dan Debugging

Teknik debugging dan problem solving dalam pengembangan

error_reporting(E_ALL);
var_dump($variable);
print_r($array);

Fitur Sistem Manajemen Perpustakaan

Berikut adalah fitur-fitur yang harus ada dalam sistem manajemen perpustakaan:

📖 Manajemen Buku
  • Tambah data buku baru
  • Edit informasi buku
  • Hapus data buku
  • Pencarian buku
  • Filter berdasarkan kategori
👥 Manajemen Anggota
  • Registrasi anggota baru
  • Update data anggota
  • Status keanggotaan
  • Riwayat peminjaman
🔄 Sistem Peminjaman
  • Proses peminjaman buku
  • Pengecekan ketersediaan
  • Batas peminjaman
  • Notifikasi jatuh tempo
⏰ Sistem Pengembalian
  • Proses pengembalian
  • Perhitungan denda
  • Update status buku
  • Riwayat pengembalian

Contoh Form Input Buku

Pembagian Tugas Tim

Setiap tim terdiri dari 3 orang dengan peran berbeda yang harus berkolaborasi dalam pengembangan sistem.

Struktur Tim & Peran

ROLE 1: UI/UX DESIGNER
Tugas dan Tanggung Jawab:
  • Mendesain wireframe dan mockup antarmuka
  • Membuat user flow diagram untuk setiap fitur
  • Memilih color scheme dan typography yang sesuai
  • Mendesain form input yang user-friendly
  • Membuat prototype interaktif
ROLE 2: FRONTEND DEVELOPER
Tugas dan Tanggung Jawab:
  • Mengimplementasikan HTML form berdasarkan desain
  • Membuat styling dengan CSS yang responsif
  • Menambahkan interaktivitas dengan JavaScript
  • Validasi client-side pada form input
  • Memastikan tampilan responsive di berbagai device
ROLE 3: BACKEND DEVELOPER
Tugas dan Tanggung Jawab:
  • Validasi server-side dengan PHP filter_var()
  • Manipulasi string dan data menggunakan fungsi PHP
  • File handling untuk penyimpanan data (fopen, fwrite, dll)
  • Mengembangkan logika bisnis aplikasi
  • Debugging dan error handling
KOLABORASI: Setiap anggota bertanggung jawab pada area spesifik namun harus berkoordinasi untuk memastikan integrasi yang smooth antara frontend dan backend.

Cara Pengumpulan

📤 Instruksi Pengumpulan

a) Dikumpulkan di S-Learn

b) Hanya ketua Tim yang upload dengan memasukkan anggota kelompok

c) Yang di upload link drive dari zip folder berisi:

  • Source code lengkap
  • Laporan project (PDF)
  • File presentasi (jika ada)
  • Video (jika ada)
  • Dokumentasi screenshot aplikasi

📊 BOBOT PENILAIAN AKHIR

Mini Project = 50% dari nilai UAS

Nilai project akan sangat menentukan nilai akhir mata kuliah

Tugas sudah tersedia di S-Learn. Silakan login dan kerjakan sesuai instruksi.