Belajar Entity Relationship Diagram: Studi kasus Sistem Customer Relationship Management (CRM)

Hello, Spirit of learning. Mungkin kamu merasa tidak familiar dengan CRM (Customer Relationship Management), CRM sendiri sering kita gunakan dalam melakukan review terhadap produk yang di sediakan oleh produsen yang menyediakan produk berupa barang ataupun jasa. Beberaoa dari kalian tentu pernah melakukan survey untuk menilai hasil dari produk tersebut. Mari kita buat ERD dengan studi kasus Sistem Customer Relationship Management (CRM)!

Entitas

Dalam menentukan entitas tentu kita harus melakukan riset dan analisis yang cukup mendalam mengenai respon pengguna (customer) dengan produk yang kita sediakan. Setelah melakukan analisis yang cukup mendalam kita bisa mengambil beberapa entitas yang bisa kita gunakan.

ERDSistemCRM_BuildWithAngga

Atribut

Dalam pembuatan atribut, kita harus memilih data yang diperlukan dalam pembuatan ERD. Atribut sendiri harus kita garis bawahi akan sangat berpengaruh kepada Hubungan antar Entitas dan database kedepannya.

  • Customer (Pelanggan)
ERDSistemCRM_BuildWithAngga
  • Contact (Kontak)
ERDSistemCRM_BuildWithAngga
  • Opportunity (Peluang)
ERDSistemCRM_BuildWithAngga
  • Sales (Penjualan)
ERDSistemCRM_BuildWithAngga
  • Product (Produk)
ERDSistemCRM_BuildWithAngga
  • Interaction (Interaksi)
ERDSistemCRM_BuildWithAngga

Hubungan antar Entitas

Dalam menganalisis hubungan antar entitas yang kita perlukan, kita bisa mengambil beberapa poin sebagai acuan.

  • Setiap pelanggan dapat memiliki banyak kontak (1-N).
  • Setiap pelanggan dapat memiliki banyak peluang (1-N).
  • Setiap peluang dapat menghasilkan satu penjualan (1-1).
  • Setiap penjualan melibatkan satu produk (N-1).
  • Setiap pelanggan dapat memiliki banyak interaksi (1-N).
ERDSistemCRM_BuildWithAngga

Contoh Penerapan dalam SQL

-- Tabel Pelanggan
CREATE TABLE Pelanggan (
    CustomerID INT PRIMARY KEY AUTO_INCREMENT,
    Name VARCHAR(100) NOT NULL,
    Email VARCHAR(100) NOT NULL,
    PhoneNumber VARCHAR(15),
    Address TEXT
);

-- Tabel Kontak
CREATE TABLE Kontak (
    ContactID INT PRIMARY KEY AUTO_INCREMENT,
    CustomerID INT,
    ContactDate DATE,
    ContactMethod ENUM('Email', 'Phone', 'In-Person'),
    FOREIGN KEY (CustomerID) REFERENCES Pelanggan(CustomerID)
);

-- Tabel Peluang
CREATE TABLE Peluang (
    OpportunityID INT PRIMARY KEY AUTO_INCREMENT,
    CustomerID INT,
    OpportunityDescription TEXT,
    Status ENUM('Open', 'Closed-Won', 'Closed-Lost'),
    CloseDate DATE,
    FOREIGN KEY (CustomerID) REFERENCES Pelanggan(CustomerID)
);

-- Tabel Penjualan
CREATE TABLE Penjualan (
    SalesID INT PRIMARY KEY AUTO_INCREMENT,
    OpportunityID INT,
    ProductID INT,
    SaleDate DATE,
    Amount DECIMAL(10, 2),
    FOREIGN KEY (OpportunityID) REFERENCES Peluang(OpportunityID),
    FOREIGN KEY (ProductID) REFERENCES Produk(ProductID)
);

-- Tabel Produk
CREATE TABLE Produk (
    ProductID INT PRIMARY KEY AUTO_INCREMENT,
    ProductName VARCHAR(100) NOT NULL,
    ProductType VARCHAR(100) NOT NULL,
    Price DECIMAL(10, 2) NOT NULL
);

-- Tabel Interaksi
CREATE TABLE Interaksi (
    InteractionID INT PRIMARY KEY AUTO_INCREMENT,
    CustomerID INT,
    InteractionDate DATE,
    InteractionType ENUM('Support', 'Query', 'Feedback'),
    Notes TEXT,
    FOREIGN KEY (CustomerID) REFERENCES Pelanggan(CustomerID)
);

Kesimpulan

Arsitektur Entity Relationship Diagram (ERD) Sistem Customer Relationship Management (CRM) harus mempertimbangkan beberapa faktor penting. Pertama, mengurangi kerumitan yang tidak perlu dan menempatkan prioritas yang lebih tinggi pada keterbacaan dan kesederhanaan. Pemahaman dan pemeliharaan ditingkatkan dengan menggunakan standar penamaan untuk entitas, properti, dan hubungan yang jelas dan konsisten. Kedua, tentukan dengan jelas hubungan antara entitas, dengan menyebutkan berbagai jenis seperti "satu-ke-satu" (1-1), "satu-ke-banyak" (1-N), atau "banyak-ke-banyak" (N-N). Terakhir, pilih dengan hati-hati nama atribut yang relevan dan bermakna, dengan mempertimbangkan apakah atribut tersebut diperlukan atau opsional untuk setiap entitas. Manajemen informasi pelanggan yang efektif, pelacakan peluang penjualan, dan kinerja bisnis secara keseluruhan dimungkinkan oleh ERD yang dirancang dengan baik.

Jika kamu ingin menambah skill kamu dalam pembuatan ERD dan mempelajari Laravel 11 secara bersamaan, kamu bisa mengikuti rekomendasi Kelas Online Web Development Laravel 11: Multi-Purpose Company Profile | BuildWithAngga.