Belajar Entity Relationship Diagram: Studi kasus Sistem E-commerce

Hello, spirit of learning. Sistem E-commerce merupakan salah satu elemen yang sering kita gunakan dalam pencarian suatu produk, baik itu membandingkan harga dan mencari produk yang di inginkan. Sistem E-commerce sendiri termasuk kedalam kategori yang rumit karena banyak kondisi yang mungkin tidak diduga bisa saja terjadi. Namun kali ini kita hanya mengambil sedikit gambaran seperti apa Sistem E-commerce.

Entitas

Sistem E-commerce, seperti yang kita ketahui pengguna tentu mencari produk yang di inginkan lalu membeli produk tersebut berdasarkan kategori produk yang kita pilih. Berdasarkan hal itu juga kita dapat mengambil beberapa poin yang dijadikan objek untuk pembuatan Entitas yang diperlukan.

ERDSistemE-Commerce_BuildWithAngga

Atribut

Dalam pembuatan atribut pada studi kasus kali ini, kita harus teliti dalam menentukan atribut apa saja yang berkemungkinan ada dalam setiap entitas. Seperti yang kita ketahui juga dengan atribut yang baik dan tepat akan memudahkan kita dalam melanjutkan ke tahap database. Kamu bisa melihat pada atribut dari setiap entitas yang sudah kita tentukan.

  • Pengguna
ERDSistemE-Commerce_BuildWithAngga
  • Produk
ERDSistemE-Commerce_BuildWithAngga
  • Kategori Produk
ERDSistemE-Commerce_BuildWithAngga
  • Pesanan
ERDSistemE-Commerce_BuildWithAngga
  • Detail Pesanan
ERDSistemE-Commerce_BuildWithAngga
  • Pembayaran
ERDSistemE-Commerce_BuildWithAngga

Hubungan antar Entitas

Setiap hubungan antar entitas tentunya kita harus melakukan riset untuk mempermudah kita dalam membuat ataupun mengembangkan sebuah sistem. Poin-poin yang bisa kita ambil dalam studi kasus kali ini:

  • Setiap pengguna dapat membuat banyak pesanan (1-N).
  • Setiap produk dapat termasuk dalam banyak detail pesanan (1-N).
  • Setiap pesanan dapat memiliki banyak detail pesanan (1-N).
  • Setiap pesanan memiliki satu pembayaran (1-N).
  • Setiap produk memiliki satu kategori produk (1-N).
ERDSistemE-Commerce_BuildWithAngga

Contoh Penerapan dalam SQL

-- Tabel Kategori Produk
CREATE TABLE KategoriProduk (
    CategoryID INT PRIMARY KEY AUTO_INCREMENT,
    CategoryName VARCHAR(100) NOT NULL
);

-- Tabel Pengguna
CREATE TABLE Pengguna (
    UserID INT PRIMARY KEY AUTO_INCREMENT,
    FullName VARCHAR(100) NOT NULL,
    Email VARCHAR(100) NOT NULL,
    PhoneNumber VARCHAR(15),
    Address TEXT
);

-- Tabel Produk
CREATE TABLE Produk (
    ProductID INT PRIMARY KEY AUTO_INCREMENT,
    ProductName VARCHAR(100) NOT NULL,
    Price DECIMAL(10, 2) NOT NULL,
    Stock INT NOT NULL,
    Description TEXT,
    CategoryID INT,
    FOREIGN KEY (CategoryID) REFERENCES KategoriProduk(CategoryID)
);

-- Tabel Pesanan
CREATE TABLE Pesanan (
    OrderID INT PRIMARY KEY AUTO_INCREMENT,
    UserID INT,
    OrderDate DATETIME,
    Status ENUM('Pending', 'Shipped', 'Delivered', 'Cancelled') DEFAULT 'Pending',
    FOREIGN KEY (UserID) REFERENCES Pengguna(UserID)
);

-- Tabel Detail Pesanan
CREATE TABLE DetailPesanan (
    OrderDetailID INT PRIMARY KEY AUTO_INCREMENT,
    OrderID INT,
    ProductID INT,
    Quantity INT NOT NULL,
    Price DECIMAL(10, 2) NOT NULL,
    FOREIGN KEY (OrderID) REFERENCES Pesanan(OrderID),
    FOREIGN KEY (ProductID) REFERENCES Produk(ProductID)
);

-- Tabel Pembayaran
CREATE TABLE Pembayaran (
    PaymentID INT PRIMARY KEY AUTO_INCREMENT,
    OrderID INT,
    PaymentDate DATE,
    Amount DECIMAL(10, 2),
    PaymentMethod VARCHAR(50),
    FOREIGN KEY (OrderID) REFERENCES Pesanan(OrderID)
);

Kesimpulan

Dalam sistem e-commerce, Entity Relationship Diagram (ERD) mencakup entitas utama seperti Pengguna, Produk, Pesanan, Detail Pesanan, Pembayaran, dan Kategori Produk. Masing-masing entitas memiliki karakteristik dan hubungan yang jelas satu sama lain, yang memungkinkan pengelolaan informasi yang efektif. Pengguna dapat dengan mudah berbelanja produk, mengelola pesanan, dan memproses pembayaran karena implementasi SQL yang disediakan memastikan bahwa tabel-tabel yang diperlukan dibuat dan dihubungkan dengan baik. Sistem ini meningkatkan pengalaman pelanggan, efisiensi operasional, dan efektivitas proses e-commerce.

Jika kamu tertarik untuk implementasi ERD secara langsung dengan studi kasus yang serupa, kamu bisa mengikuti rekomendasi Kelas Online Freelance Web Developer: Bikin Marketplace Produk Digital | BuildWithAngga.