Belajar Entity Relationship Diagram(ERD): Studi kasus Sistem Manajemen Perpustakaan

Hello, spirit of learning, ERD dalam perancangan suatu aplikasi sering kali menjadi salah satu elemen penting karena dengan membuat ERD kita memiliki acuan dalam gambaran database yang akan dibuat. Kali ini kita akan membuat suatu ERD dengan studi kasus bagaimana Sistem Manajemen Perpustakaan. So let’s go the process…

Entitas yang diperlukan

Dalam pembuatan suatu ERD langkah pertama yang harus kita analisis adalah Entitas atau objek apa saja yang diperlukan dalam suatu kasus. Pada kali ini kita mendapatkan suatu studi kasus Sistem Manajemen Perpustakaan, antara lain kita dapat menyimpulkan beberapa hal:

  1. Dalam suatu perpustakaan terdapat seorang petugas dan anggota perpustakaan
  2. Ada suatu action yang terjadi dalam Manajemen Perpustakaan, yang kali ini kita akan mengambil contoh peminjaman dan pengembalian buku

Berdasarkan 2 hal diatas kita dapat menarik beberapa hal penting diantaranya

  • Petugas
  • Anggota
  • Peminjaman
  • Buku
  • Kategori buku

Atribut setiap Entitas

Setelah kita mengetahui objek yang akan diperlukan dalam perancangan suatu ERD, kita akan melanjutkan pembuatan Atribut dari setiap Entitas yang ada. Dalam hal ini kita membuat data apa saja yang diperlukan dalam setiap Entitas.

  • Petugas
ERDManajemenPerpustakaan_BuildWithAngga
  • Anggota
ERDManajemenPerpustakaan_BuildWithAngga
  • Buku
ERDManajemenPerpustakaan_BuildWithAngga
  • Kategori buku
  • Peminjaman
ERDManajemenPerpustakaan_BuildWithAngga

Mengapa tidak terdapat Entitas pengembalian buku? Pada hal ini kita dapat meletakan kondisi tersebut dalam Entitas Peminjaman, kita dapat membuat 2 atribut untuk tanggal peminjaman dan tanggal pengembalian dan juga status dari peminjaman buku sebagai deskripsi dari kondisi buku itu sendiri.

Hubungan antar Entitas

Setelah kita sudah mengetahui Entitas dan juga Atribut yang dibutuhkan kita dapat membuat suatu hubungan antar Entitas berdasarkan atribut yang ada dalam setiap Entitas, inilah juga mengapa dalam pembuatan ERD kita memerlukan Entitas yang jelas sesuai dengan fitur yang kita buat dan Atribut yang sesuai dengan kebutuhan Entitas itu sendiri.

ERDManajemenPerpustakaan_BuildWithAngga

Contoh penerapan dalam SQL

-- Membuat tabel untuk Anggota
CREATE TABLE Anggota (
    MemberID INT PRIMARY KEY AUTO_INCREMENT,
    Nama VARCHAR(255) NOT NULL,
    Alamat VARCHAR(255),
    NomorTelepon VARCHAR(15),
    TanggalBergabung DATE NOT NULL,
    Email VARCHAR(255) UNIQUE
);

-- Membuat tabel untuk Buku
CREATE TABLE Buku (
    BukuID INT PRIMARY KEY AUTO_INCREMENT,
    Judul VARCHAR(255) NOT NULL,
    Penulis VARCHAR(255) NOT NULL,
    Penerbit VARCHAR(255),
    TahunTerbit INT,
    ISBN VARCHAR(20) UNIQUE NOT NULL,
    SalinanTersedia INT DEFAULT 1
);

-- Membuat tabel untuk Kategori Buku
CREATE TABLE KategoriBuku (
    KategoriID INT PRIMARY KEY AUTO_INCREMENT,
    NamaKategori VARCHAR(100) NOT NULL,
    Deskripsi TEXT
);

-- Membuat tabel untuk menghubungkan Buku dengan KategoriBuku
CREATE TABLE BukuKategoriLink (
    BukuID INT,
    KategoriID INT,
    PRIMARY KEY (BukuID, KategoriID),
    FOREIGN KEY (BukuID) REFERENCES Buku(BukuID),
    FOREIGN KEY (KategoriID) REFERENCES KategoriBuku(KategoriID)
);

-- Membuat tabel untuk Peminjaman
CREATE TABLE Peminjaman (
    LoanID INT PRIMARY KEY AUTO_INCREMENT,
    AnggotaID INT,
    BukuID INT,
    TanggalPinjam DATE NOT NULL,
    TanggalKembali DATE,
    Status VARCHAR(50),
    FOREIGN KEY (AnggotaID) REFERENCES Anggota(AnggotaID),
    FOREIGN KEY (BukuID) REFERENCES Buku(BukuID)
);

-- Membuat tabel untuk Petugas
CREATE TABLE Petugas (
    StaffID INT PRIMARY KEY AUTO_INCREMENT,
    Nama VARCHAR(255) NOT NULL,
    Posisi VARCHAR(100),
    NomorTelepon VARCHAR(15),
    Email VARCHAR(255) UNIQUE
);

-- Membuat tabel untuk menghubungkan Petugas dengan Peminjaman
CREATE TABLE PetugasPeminjamanLink (
    StaffID INT,
    LoanID INT,
    PRIMARY KEY (StaffID, LoanID),
    FOREIGN KEY (StaffID) REFERENCES Petugas(StaffID),
    FOREIGN KEY (LoanID) REFERENCES Peminjaman(LoanID)
);

Kesimpulan

Dalam perancangan suatu aplikasi kita memerlukan gambaran data yang kita perlukan agar tidak kesulitan dalam prosesnya, ERD adalah satu tahapan perancangan yang sering kali diremehkan karena dalam perancangan kita lebih banyak berfokus pada fitur yang dibutuhkan serta UI/UX yang lebih menarik dalam proses pembuatannya. ERD juga menjadi salah satu elemen penting sama hal nya dengan UI/UX karena ERD menjadi salah satu patokan seperti apa database yang akan kita buat. Dalam studi kasus kali ini kita dapat melihat bahwa dalam Sistem Manjemen Perpustakaan ada beberapa objek(Entitas) penting yang sesuai dengan fitur yang kita butuhkan, selain itu juga kita dapat mengetahui Atribut yang dibutuhkan untuk Entitas tersebut serta Hubungan antar Entitas yang diperlukan. Kita dapat mempelajari bahwa dalam pelaksanaannya pada setiap Entitas Petugas, Anggota, Peminjaman, Buku dan Kategori buku memiliki kesinambungan yang diperlukan dalam proses peminjaman dan pengembalian buku.

Kalo kamu tertarik dengan contoh ERD dalam suatu project kamu bisa mengikuti rekomendasi Kelas Online ERD Essentials for Freelance Web Developers: Building Better Databases | BuildWithAngga. Jangan berhenti sampai disini mari kita asah terus skill kita dalam menganalisis data yang diperlukan dalam suatu perancangan aplikasi.