Belajar Entity Relationship Diagram: Studi kasus Platform Media Sosial

Hello, spirit of learning, Setelah sebelumnya kita sudah membahas bagaimana alur pembuatan ERD pada Sistem Manajemen Perpustakaan. Kali ini kita bakal bertemu pada studi kasus yang cukup kompleks pada Studi kasus Platform Media Sosial, sebagai salah satu kebutuhan yang kita konsumsi sehari-hari. So let’s go the process.

Entitas

Beberapa hal yang harus kita identifikasi pertama, kita harus tahu bagaimana suatu Platform Media Sosial bekerja seperti contoh kita dapat mengambil fitur suka dalam suatu postingan dan komentar dalam suatu postingan. Dengan ini kita sudah memunyai gambaran seperti apa Entitas yang diperlukan sebagai berikut:

  1. Pengguna
  2. Postingan
  3. Komentar
  4. Suka
ERDMediaSosial_BuildWithAngga

dalam Entitas pengguna kita dapat mengambil data siapa saja yang menyukai postingan dan siapa juga yang mengomentari postingan yang kita unggah.

Atribut

Pada pelaksanaannya atribut yang dibutuhkan akan menyesuaikan dengan fitur yang akan kita bawa kedalam aplikasi dengan hasil:

  • Pengguna
ERDMediaSosial_BuildWithAngga
  • Postingan
ERDMediaSosial_BuildWithAngga
  • Komentar
ERDMediaSosial_BuildWithAngga
  • Suka/Like
ERDMediaSosial_BuildWithAngga

Hubungan antar Entitas

Setelah kita tahu Atribut dari setiap Entitas kita bisa membuat suatu Relationship dalam ERD, kita dapat menghubungan satu entitas dengan entitas lainnya berdasarkan juga Atribut yang dimiliki setiap Entitas. Mari kita lihat setiap Hubungan antar Entitas berikut.

ERDMediaSosial_BuildWithAngga

Bisa dilihat pada hubungan antar entitas kita dapat membuat beberapa poin penting dimana:

  • Setiap pengguna dapat membuat banyak postingan
  • Setiap pengguna dapat berkomentar dalam banyak postingan
  • Setiap pengguna dapat menyukai banyak postingan
  • Setiap postingan dapat dikomentari oleh banyak pengguna
  • Setiap postingan dapat disukai oleh banyak pengguna

Contoh penerapan dalam SQL

-- Membuat tabel untuk Pengguna (User)
CREATE TABLE Pengguna (
    UserID INT PRIMARY KEY AUTO_INCREMENT,
    Username VARCHAR(100) NOT NULL,
    Password VARCHAR(100) NOT NULL,
    Email VARCHAR(255) UNIQUE NOT NULL,
    FullName VARCHAR(255),
    JoinDate DATE NOT NULL
);

-- Membuat tabel untuk Postingan (Post)
CREATE TABLE Postingan (
    PostID INT PRIMARY KEY AUTO_INCREMENT,
    UserID INT,
    Content TEXT NOT NULL,
    Timestamp DATETIME NOT NULL,
    FOREIGN KEY (UserID) REFERENCES Pengguna(UserID)
);

-- Membuat tabel untuk Komentar (Comment)
CREATE TABLE Komentar (
    CommentID INT PRIMARY KEY AUTO_INCREMENT,
    PostID INT,
    UserID INT,
    Content TEXT NOT NULL,
    Timestamp DATETIME NOT NULL,
    FOREIGN KEY (PostID) REFERENCES Postingan(PostID),
    FOREIGN KEY (UserID) REFERENCES Pengguna(UserID)
);

-- Membuat tabel untuk Suka (Like)
CREATE TABLE Suka (
    LikeID INT PRIMARY KEY AUTO_INCREMENT,
    PostID INT,
    UserID INT,
    Timestamp DATETIME NOT NULL,
    FOREIGN KEY (PostID) REFERENCES Postingan(PostID),
    FOREIGN KEY (UserID) REFERENCES Pengguna(UserID)
);

Kesimpulan

Relationship dalam ERD dengan studi kasus yang cukup kompleks akan mempengaruhi bagaimana proses back-end bekerja, karena dalam pembuatan ERD akan menjadikan acuan dalam pembuatan database dan bagaimana Logic aplikasi akan bekerja. ERD yang baik dalam pembuatannya akan memudahkan kita dalam merancang database yang akan kita buat. Dalam studi kasus kali ini kita memdapatkan gambaran ERD dalam Platform Media Sosial dalam fitur menyukai postingan dan mengomentari postingan. Dalam alurnya Entitas yang kita buat akan berdasar pada kebutuhan fitur yang akan kita buat, dan Atribut yang kita buat juga berdasarkan Entitas yang menyesuaikan fitur yang akan dibuat. Hubungan setiap Entitas akan menjadi salah satu poin penting dimana kita tahu kesinambungan antar Entitas akan terjalin. Hal ini juga yang menjadikan kita harus menganalisis Relationship yang akan terjadi dalam proses perancangannya.

Jika kamu tertarik untuk mendalami ERD dalam proses pembuatan suatu aplikasi kamu bisa mengikuti rekomendasi Kelas Online ERD Essentials for Freelance Web Developers: Building Better Databases | BuildWithAngga. Jangan berhenti sampai disini, kamu bisa eksplore lebih dalam memahami ERD dengan mempelajari proses pembuatan aplikasi.