Belajar Entity Relationship Diagram: Studi kasus Sistem Produksi Manufaktur

Hello, Spirit of learning. Dalam sebuah perusahaan manufaktur dalam membangun sistemnya, ada banyak hal yang perlu kita ketahui dari bagaimana sistem akan bekerja, lalu seperti apa bahan yang diperlukan, siapakah suppliernya, dan bagaimana proses produksinya. Let’s get into it.

Entitas

Pemilihan entitas yang diperlukan kita bisa mengambil salah satu contoh dalam Bagaimana produksi manufaktur berjalan?

Dari pertanyaan itu kita bisa mengambil beberapa hal

  1. Produk yang akan diproduksi,
  2. Bahan Baku dari produk yang akan dibuat,
  3. Siapakah pemasok untuk bahan baku,
  4. dan siapa yang akan melakukan proses produksi.
ERDSistemProduksiManufaktur_BuildWithAngga

Atribut

Dalam pemilihan atribut kita bisa melakukan analisis terhadap data yang diperlukan dari setiap entitas yang ada.

  • Produk
ERDSistemProduksiManufaktur_BuildWithAngga
  • Bahan Baku
ERDSistemProduksiManufaktur_BuildWithAngga
  • Pemasok
ERDSistemProduksiManufaktur_BuildWithAngga
  • Pemesanan Bahan
ERDSistemProduksiManufaktur_BuildWithAngga
  • Proses Produksi
ERDSistemProduksiManufaktur_BuildWithAngga
  • Staff
ERDSistemProduksiManufaktur_BuildWithAngga
  • Shift Kerja
ERDSistemProduksiManufaktur_BuildWithAngga

Hubungan antar Entitas

Selalu ingat dalam Hubungan antar Entitas akan menjadi kunci bagi ERD karena dengan kita mengetahui gambaran mengenai studi kasus yang kita hadapi, analisis setiap kemungkinan yang ada menjadi salah satu hal yang baik. Kita juga bisa mencari referensi di internet untuk meyakinkan Hubungan antar Entitas yang akan terjalin. Beberapa poin mengenai Hubungan antar Entitas:

  • Setiap produk dihasilkan melalui beberapa proses produksi (1-N).
  • Setiap bahan baku dipesan dari pemasok (N-N), memerlukan entitas penghubung pemesanan bahan.
  • Setiap proses produksi melibatkan satu staf dan satu shift kerja (N-1).
  • Setiap pemasok dapat menyediakan banyak bahan baku (1-N).
ERDSistemProduksiManufaktur_BuildWithAngga

Contoh Penerapan dalam SQL

-- 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,
    StockQuantity INT NOT NULL
);

-- Tabel Bahan Baku
CREATE TABLE BahanBaku (
    RawMaterialID INT PRIMARY KEY AUTO_INCREMENT,
    MaterialName VARCHAR(100) NOT NULL,
    UnitPrice DECIMAL(10, 2) NOT NULL,
    StockQuantity INT NOT NULL
);

-- Tabel Pemasok
CREATE TABLE Pemasok (
    SupplierID INT PRIMARY KEY AUTO_INCREMENT,
    SupplierName VARCHAR(100) NOT NULL,
    ContactName VARCHAR(100),
    PhoneNumber VARCHAR(15),
    Address TEXT
);

-- Tabel Pemesanan Bahan
CREATE TABLE PemesananBahan (
    MaterialOrderID INT PRIMARY KEY AUTO_INCREMENT,
    RawMaterialID INT,
    SupplierID INT,
    OrderDate DATE,
    Quantity INT,
    TotalCost DECIMAL(10, 2),
    FOREIGN KEY (RawMaterialID) REFERENCES BahanBaku(RawMaterialID),
    FOREIGN KEY (SupplierID) REFERENCES Pemasok(SupplierID)
);

-- Tabel Proses Produksi
CREATE TABLE ProsesProduksi (
    ProcessID INT PRIMARY KEY AUTO_INCREMENT,
    ProductID INT,
    StaffID INT,
    WorkShiftID INT,
    StartTime DATETIME,
    EndTime DATETIME,
    Status ENUM('Pending', 'In Progress', 'Completed') DEFAULT 'Pending',
    FOREIGN KEY (ProductID) REFERENCES Produk(ProductID),
    FOREIGN KEY (StaffID) REFERENCES Staf(StaffID),
    FOREIGN KEY (WorkShiftID) REFERENCES ShiftKerja(WorkShiftID)
);

-- Tabel Staf
CREATE TABLE Staf (
    StaffID INT PRIMARY KEY AUTO_INCREMENT,
    FullName VARCHAR(100) NOT NULL,
    Position VARCHAR(100) NOT NULL,
    PhoneNumber VARCHAR(15)
);

-- Tabel Shift Kerja
CREATE TABLE ShiftKerja (
    WorkShiftID INT PRIMARY KEY AUTO_INCREMENT,
    ShiftName VARCHAR(100) NOT NULL,
    StartTime TIME NOT NULL,
    EndTime TIME NOT NULL
);

Kesimpulan

Entity Relationship Diagram (ERD) untuk sistem produksi manufaktur ini mencakup entitas utama seperti Produk, Bahan Baku, Pemasok, Pemesanan Bahan, Proses Produksi, Staff, dan Shift Kerja. Semua entitas memiliki fitur dan hubungan yang jelas, yang memungkinkan pengelolaan data yang efektif. Tabel-tabel yang diperlukan dibuat dan dihubungkan melalui implementasi SQL yang ada sebagai contoh, yang memungkinkan manajemen staf, pengadaan bahan baku, dan produksi. Sistem ini memastikan kualitas produk yang tinggi, mengoptimalkan proses produksi, dan meningkatkan efisiensi operasional. Perlu di ingat mengasah skill kita dalam memahami sistem yang akan dibuat harus teliti dalam analisisnya, dalam banyak kasus kita mungkin cukup sulit dalam menentukan setiap hubungan antar Entitas.

Jika kamu ingin terus berlatih dalam pembuatan suatu ERD kamu bisa mengikuti rekomendasi Kelas Online ERD Essentials for Freelance Web Developers: Building Better Databases | BuildWithAngga. Keep learning and stay healthy.