Mohon tunggu...
GUSTI KRISNA PRANATA
GUSTI KRISNA PRANATA Mohon Tunggu... Freelancer - Mahasiswa

Fullstak Mobile Developer

Selanjutnya

Tutup

Ilmu Alam & Tekno

Membangun Aplikasi Perpustakaan Menggunakan Yii Framework : Studi kasus, Rancangan ERD, EERD dan CRUD

27 Desember 2024   18:12 Diperbarui: 27 Desember 2024   18:12 109
+
Laporkan Konten
Laporkan Akun
Kompasiana adalah platform blog. Konten ini menjadi tanggung jawab bloger dan tidak mewakili pandangan redaksi Kompas.
Lihat foto
Bagikan ide kreativitasmu dalam bentuk konten di Kompasiana | Sumber gambar: Freepik

Studi Kasus: Aplikasi Perpustakaan
Studi kasus yang akan kita bahas adalah pembuatan aplikasi perpustakaan menggunakan Yii Framework. Aplikasi ini bertujuan untuk mempermudah pengelolaan buku, anggota, peminjaman, dan staf di sebuah perpustakaan. Fitur utama dari aplikasi ini adalah manajemen buku, pengelolaan anggota, peminjaman buku, serta pengelolaan staf yang bertugas di perpustakaan.

Rancangan ERD (Entity Relationship Diagram)
Sebelum kita membahas cara pembuatan aplikasi menggunakan Yii Framework, mari kita lihat terlebih dahulu bagaimana kita merancang database untuk aplikasi ini. Dalam sistem perpustakaan ini, kita membutuhkan beberapa entitas utama yang saling berhubungan. Berikut adalah entitas dan hubungan yang perlu kita buat:

Entitas dalam Sistem: 
1. Anggota
Entitas ini menyimpan informasi mengenai anggota perpustakaan.
Atribut yang dimiliki meliputi:
 - id_anggota (Primary Key): Identitas unik setiap anggota.
 - nama: Nama anggota.
 - alamat: Alamat domisili anggota.
 - tgl_bergabung: Tanggal anggota bergabung dengan perpustakaan.
 - no_hp: Nomor telepon anggota.
 - email: Alamat email anggota.
Peran utama entitas ini adalah mengidentifikasi individu yang berhak meminjam buku.


2. Peminjaman
Entitas ini berfungsi untuk mencatat aktivitas peminjaman buku oleh anggota.
Atribut yang dimiliki:
- id_peminjaman (Primary Key): Identitas unik setiap peminjaman.
- tgl_pinjam: Tanggal peminjaman dilakukan.
- tgl_kembali: Tanggal buku dijadwalkan untuk dikembalikan.
- status_kembali: Status pengembalian buku (misalnya: sudah dikembalikan atau belum).
Entitas ini menjadi penghubung antara anggota, buku, dan staf.

3. Buku
Entitas ini mewakili koleksi buku yang tersedia di perpustakaan.
Atribut:
- id_buku (Primary Key): Identitas unik buku.
- judul: Judul buku.
- pengarang: Nama pengarang buku.
- tahun_terbit: Tahun penerbitan buku.
- penerbit: Penerbit buku.
- stok: Jumlah buku yang tersedia.
Entitas ini memastikan ketersediaan buku untuk dipinjam oleh anggota.


3. Kategori
Entitas ini berfungsi untuk mengelompokkan buku berdasarkan jenis atau kategori tertentu.
Atribut:
- id_kategori (Primary Key): Identitas unik kategori buku.
- nama_kategori: Nama kategori (misalnya: fiksi, non-fiksi, sejarah, dll.).
- deskripsi: Penjelasan singkat tentang kategori tersebut.
Buku di dalam perpustakaan dikelompokkan berdasarkan entitas ini.


4. Staff
Entitas ini mencatat data staf perpustakaan yang bertugas membantu proses pelayanan, terutama dalam aktivitas peminjaman.
Atribut:
- id_staff (Primary Key): Identitas unik staf.
- nama: Nama staf.
- jabatan: Posisi atau peran staf.
- no_hp: Nomor telepon staf.
- email: Alamat email staf.

Hubungan Antar Entitas

1. Anggota Melakukan Peminjaman
Hubungan ini menunjukkan bahwa anggota dapat meminjam buku dari perpustakaan.
Setiap anggota dapat melakukan banyak peminjaman (hubungan one-to-many).

2. Peminjaman Dilayani oleh Staff
Hubungan ini menjelaskan bahwa setiap aktivitas peminjaman buku dibantu oleh seorang staf.
Hubungan ini bersifat one-to-one, di mana satu peminjaman dilayani oleh satu staf.

3. Peminjaman Melibatkan Buku
Hubungan ini menggambarkan bahwa setiap transaksi peminjaman melibatkan satu atau lebih buku.
Hubungan ini bersifat many-to-many, karena satu peminjaman bisa mencakup banyak buku, dan satu buku bisa dipinjam di banyak transaksi.

4. Buku Memiliki Kategori
Hubungan ini menghubungkan buku dengan kategori tertentu.
Hubungan ini bersifat many-to-one, di mana satu kategori bisa memiliki banyak buku, tetapi satu buku hanya masuk ke dalam satu kategori.

Setelah proses pembuatan ERD (Entity-Relationship Diagram) selesai, langkah selanjutnya adalah mengembangkan diagram tersebut menjadi EERD (Enhanced Entity-Relationship Diagram) menggunakan MySQL Workbench. EERD memberikan representasi yang lebih rinci dengan menambahkan fitur seperti relationships, attributes, dan indexes yang lebih terstruktur.

Gambar 2. EERD Untuk Aplikasi Perpustakaan. Dok.Pribadi
Gambar 2. EERD Untuk Aplikasi Perpustakaan. Dok.Pribadi

EERD yang dibuat pada MySQL Workbench memiliki elemen-elemen sebagai berikut:
1. Tabel Anggota
Kolom:
- id_anggota (Primary Key): Identitas unik untuk setiap anggota.
- nama: Nama lengkap anggota.
- alamat: Alamat anggota.
- tgl_bergabung: Tanggal anggota bergabung.
- no_hp: Nomor telepon anggota.
- email: Email anggota.
Relasi: Tabel ini terhubung dengan tabel peminjaman melalui atribut anggota_id_anggota, yang merepresentasikan bahwa setiap anggota dapat melakukan banyak peminjaman.


2. Tabel Peminjaman
Kolom:
- id_peminjaman (Primary Key): Identitas unik setiap transaksi peminjaman.
- status_kembali: Status pengembalian buku (sudah atau belum).
- tgl_pinjam: Tanggal buku dipinjam.
- tgl_kembali: Tanggal pengembalian yang dijadwalkan.
- anggota_id_anggota (Foreign Key): Menghubungkan peminjaman dengan anggota.
- buku_id_buku (Foreign Key): Menghubungkan peminjaman dengan buku.
- staff_id_staff (Foreign Key): Menghubungkan peminjaman dengan staf yang melayani.
Relasi: Tabel ini menjadi pusat hubungan antara anggota, buku, dan staf.


3. Tabel Buku
Kolom:
- id_buku (Primary Key): Identitas unik buku.
- judul_buku: Judul buku.
- penulis: Nama pengarang buku.
- penerbit: Nama penerbit.
- tahun_terbit: Tahun penerbitan.
- stok: Jumlah stok buku yang tersedia.
- kategori_id_kategori (Foreign Key): Menghubungkan buku dengan kategori.
Relasi: Tabel ini terhubung dengan tabel peminjaman untuk mencatat buku mana yang dipinjam, dan terhubung dengan tabel kategori untuk mengelompokkan buku berdasarkan jenisnya.


4. Tabel Kategori
Kolom:
- id_kategori (Primary Key): Identitas unik kategori buku.
- deskripsi: Deskripsi kategori buku.
- nama_kategori: Nama kategori buku (misalnya: Fiksi, Non-Fiksi, dll.).
Relasi: Tabel ini memiliki hubungan one-to-many dengan tabel buku, karena satu kategori dapat memiliki banyak buku.


5. Tabel Staff
Kolom:
id_staff (Primary Key): Identitas unik staf.
nama: Nama staf.
jabatan: Posisi staf di perpustakaan.
alamat: Alamat staf.
no_hp: Nomor telepon staf.
email: Email staf.
Relasi: Tabel ini terhubung dengan tabel peminjaman, mencatat staf yang bertugas melayani peminjaman tertentu.

Setelah ERD dan EERD selesai dirancang, langkah berikutnya adalah mengimplementasikan desain tersebut ke dalam aplikasi berbasis web. Dalam proses ini, kita akan menggunakan Yii Framework, salah satu framework PHP yang terkenal dengan kemampuannya dalam mempermudah pengembangan aplikasi melalui fitur bawaan seperti CRUD (Create, Read, Update, Delete).

Yii Framework menyediakan scaffolding yang memungkinkan pengembang untuk dengan cepat menghasilkan kode dasar untuk mengelola setiap entitas yang ada di ERD. Hal ini sangat membantu dalam mempercepat proses pengembangan aplikasi, khususnya untuk aplikasi perpustakaan yang memiliki banyak entitas dan relasi antar tabel.
Berikut adalah langkah-langkah pembuatan CRUD untuk setiap entitas, dimulai dengan proses instalasi hingga pengelolaan data di setiap modul.

Cara Pembuatan Aplikasi Yii Framework
Setelah merancang ERD, langkah selanjutnya adalah implementasi aplikasi menggunakan Yii Framework. Berikut adalah langkah-langkah pembuatan CRUD untuk setiap entitas di aplikasi perpustakaan ini.


Langkah 1: Instalasi Yii Framework
Pertama-tama, kita perlu menginstal Yii Framework jika belum terpasang di sistem. Kamu bisa mengunduh Yii Framework melalui Composer.
composer create-project --prefer-dist yiisoft/yii2-app-advanced perpustakaan
Setelah proses instalasi selesai, masuk ke direktori proyek:
cd perpustakaan


Langkah 2: Membuat Model dengan Gii
Setelah aplikasi terinstal, kita perlu membuat model untuk setiap tabel yang ada di database. Kita bisa menggunakan Gii, yaitu alat generator yang disediakan oleh Yii Framework untuk membuat model, controller, dan view secara otomatis.
Misalnya, untuk membuat model Buku:
Akses URL Gii pada browser: http://localhost/perpustakaan/index.php?r=gii
Pilih "Model Generator" dan masukkan nama tabel dan nama kelas model, misalnya Buku untuk tabel buku.
Klik "Preview" dan setelah itu klik "Generate" untuk menghasilkan model.
Lakukan hal yang sama untuk tabel lain seperti Kategori, Anggota, Peminjaman, dan Staff.


Langkah 3: Membuat CRUD dengan Gii
Setelah model dibuat, langkah selanjutnya adalah membuat CRUD (Create, Read, Update, Delete) untuk setiap entitas. Gii juga menyediakan fitur untuk membuat CRUD otomatis.
Akses URL Gii pada browser: http://localhost/perpustakaan/index.php?r=gii/crud
Pilih model yang telah dibuat (misalnya Buku) dan tentukan nama controller, misalnya BukuController.
Klik "Preview" dan setelah itu klik "Generate".
Langkah ini akan menghasilkan controller dan view untuk CRUD Buku. Ulangi proses yang sama untuk entitas lainnya seperti Kategori, Anggota, Peminjaman, dan Staff.


Langkah 4: Menambahkan Menu Navigasi di Dashboard
Untuk mempermudah navigasi, kita dapat menambahkan menu di dashboard agar pengguna dapat langsung mengakses fitur seperti menambah buku, peminjaman, anggota, dan lainnya. Misalnya, kita dapat menambahkan menu di file views/layouts/main.php:


<?php
use yii\helpers\Html;
?>

<div class="navbar navbar-default">
    <ul class="nav navbar-nav">
        <li><?= Html::a('Home', ['/site/index']) ?></li>
        <li><?= Html::a('Buku', ['/buku/index']) ?></li>
        <li><?= Html::a('Kategori', ['/kategori/index']) ?></li>
        <li><?= Html::a('Anggota', ['/anggota/index']) ?></li>
        <li><?= Html::a('Peminjaman', ['/peminjaman/index']) ?></li>
        <li><?= Html::a('Staff', ['/staff/index']) ?></li>
    </ul>
</div>
Dengan menambahkan kode di atas, menu untuk mengelola Buku, Kategori, Anggota, Peminjaman, dan Staff akan muncul di halaman dashboard.

Langkah 5: Menjalankan Aplikasi
Sekarang, jalankan aplikasi Yii dengan perintah berikut:
php yii serve
Aplikasi Yii dapat diakses melalui browser di http://localhost:8080.

Kesimpulan
Dalam artikel ini, kita telah mempelajari cara membangun aplikasi perpustakaan menggunakan Yii Framework. Dimulai dengan perancangan ERD untuk entitas buku, kategori, anggota, peminjaman, dan staf. Setelah itu, kita membuat model, controller, dan view dengan menggunakan alat generator Yii (Gii), serta menambahkan menu navigasi di dashboard. Dengan langkah-langkah tersebut, kita dapat membuat aplikasi manajemen perpustakaan yang dapat digunakan untuk mengelola buku, anggota, peminjaman, dan staf dengan mudah. 


Baca konten-konten menarik Kompasiana langsung dari smartphone kamu. Follow channel WhatsApp Kompasiana sekarang di sini: https://whatsapp.com/channel/0029VaYjYaL4Spk7WflFYJ2H

HALAMAN :
  1. 1
  2. 2
  3. 3
Mohon tunggu...

Lihat Konten Ilmu Alam & Tekno Selengkapnya
Lihat Ilmu Alam & Tekno Selengkapnya
Beri Komentar
Berkomentarlah secara bijaksana dan bertanggung jawab. Komentar sepenuhnya menjadi tanggung jawab komentator seperti diatur dalam UU ITE

Belum ada komentar. Jadilah yang pertama untuk memberikan komentar!
LAPORKAN KONTEN
Alasan
Laporkan Konten
Laporkan Akun