Belajar Entity Relationship Diagram: Studi kasus Sistem Manajemen Inventaris

Hello, spirit of learning. Mungkin banyak dari kita tidak terlalu familiar dengan Sistem Manajemen Inventaris, namun secara garis besar Sistem Manajemen Inventaris bisa kita temui dalam sebuah minimarket dimana dalam penyediaan produk yang akan kita beli terdapat pemasok yang menyediakan stok produk yang akan dijual nantinya. Pada prosesnya terjadinya penyediaan barang akan di beli berdasarkan stok yang diperlukan. Kita bisa membedah hal ini dengan Entity Relationship Diagram (ERD).

Entitas

Ada beberapa hal yang perlu kita fokuskan dalam pembuatan ERD, Pemasok, Produk, Stok yang ada, dan Transaksi. Dengan ini kita bisa mengambil poin-poin yang diperlukan serta menambahkan hal lain yang mungkin dapat membantu.

ERDSistemManajemenInventaris_BuildWithAngga

Atribut

Dengan Entitas yang ada tentu kita harus membuat atribut yang sesuai untuk melengkapi Entitas atau objek yang ada. Atribut juga diperlukan gambaran bagaimana beberapa hal dasar mengenai project yang akan kita buat. Pada atribut juga kita tau hubungan antar entitas nantinya akan seperti apa.

  • Pemasok
ERDSistemManajemenInventaris_BuildWithAngga
  • Produk
ERDSistemManajemenInventaris_BuildWithAngga
  • Kategori Produk
ERDSistemManajemenInventaris_BuildWithAngga
  • Stok
ERDSistemManajemenInventaris_BuildWithAngga
  • Transaksi
ERDSistemManajemenInventaris_BuildWithAngga

Hubungan antar Entitas

Sudah disinggung sebelumnya dengan kita mengetahui gambaran mengenai project yang akan kita buat kita dapat mengambil beberapa hal yang mungkin terjadi dengan mencari beberapa referensi bagaimana Sistem Manajemen Inventaris berjalan.

  • Setiap produk akan terkait dengan satu kategori produk.
  • Setiap produk juga akan terkait dengan satu pemasok.
  • Setiap produk dapat memiliki banyak stok
  • Setiap produk juga dapat terlibat dengan banyaknya transaksi
ERDSistemManajemenInventaris_BuildWithAngga

Contoh penerapan dalam SQL

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

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

-- Tabel Produk
CREATE TABLE Produk (
    ProductID INT PRIMARY KEY AUTO_INCREMENT,
    ProductName VARCHAR(100) NOT NULL,
    CategoryID INT,
    SupplierID INT,
    UnitPrice DECIMAL(10, 2),
    UnitsInStock INT,
    FOREIGN KEY (CategoryID) REFERENCES Kategori(CategoryID),
    FOREIGN KEY (SupplierID) REFERENCES Pemasok(SupplierID)
);

-- Tabel Stok
CREATE TABLE Stok (
    StockID INT PRIMARY KEY AUTO_INCREMENT,
    ProductID INT,
    Quantity INT,
    Location VARCHAR(100),
    FOREIGN KEY (ProductID) REFERENCES Produk(ProductID)
);

-- Tabel Transaksi
CREATE TABLE Transaksi (
    TransactionID INT PRIMARY KEY AUTO_INCREMENT,
    ProductID INT,
    TransactionDate DATE,
    Quantity INT,
    TransactionType ENUM('In', 'Out'),
    FOREIGN KEY (ProductID) REFERENCES Produk(ProductID)
);

Kesimpulan

ERD - Sistem Manajemen Inventaris yang dirancang ini mencakup entitas utama seperti Produk, Kategori, Pemasok, Stok, dan Transaksi, yang masing-masing memiliki karakteristik dan hubungan yang jelas. Dengan ERD ini, sistem dapat mengelola informasi produk, kategori, pemasok, stok, dan transaksi dengan efisien. Implementasi SQL memastikan bahwa tabel-tabel yang diperlukan dibuat dan dihubungkan dengan baik, yang memungkinkan pengelolaan inventaris real-time yang efektif. Sistem Manajemen Inventaris yang baik membantu mengelola stok, memantau transaksi masuk dan keluar, dan memastikan bahwa informasi produk selalu up-to-date. Pada akhirnya, ini akan meningkatkan efisiensi operasional dan kepuasan pelanggan.

Jangan berhenti disini! Kamu bisa mengikuti rekomendasi Kelas Online Web Development Laravel 11, Filament, MySQL: Sewa Barang App | BuildWithAngga, dan kamu juga bisa melihat kelas lain untuk memperluas wawasan dan menambah kemampuan coding kamu.