Class Diagram dan ERD untuk Sistem Penjualan Sparepart Motor Online
Table of Content
Class Diagram dan ERD untuk Sistem Penjualan Sparepart Motor Online

Industri penjualan sparepart motor mengalami transformasi digital yang signifikan. Pergeseran dari penjualan konvensional ke platform online menuntut sistem yang handal dan efisien untuk mengelola berbagai aspek bisnis, mulai dari pengelolaan inventaris hingga pemrosesan pesanan. Untuk membangun sistem tersebut, diperlukan perencanaan yang matang, termasuk pembuatan model data yang akurat dan terstruktur. Dua alat yang sangat penting dalam perencanaan ini adalah Class Diagram (diagram kelas) dan Entity-Relationship Diagram (ERD). Artikel ini akan membahas penerapan kedua diagram tersebut dalam konteks sistem penjualan sparepart motor online.
I. Entity-Relationship Diagram (ERD) untuk Sistem Penjualan Sparepart Motor Online
ERD merupakan representasi grafis dari struktur data dalam basis data relasional. Ia menggambarkan entitas (objek data), atribut (sifat objek), dan relasi (hubungan antar entitas). Berikut adalah entitas-entitas utama dan relasi di antara mereka dalam sistem penjualan sparepart motor online:
-
Pelanggan (Customer): Entitas ini menyimpan informasi pelanggan, termasuk ID pelanggan (primary key), nama, alamat, nomor telepon, email, dan password.
-
Sparepart (SparePart): Entitas ini menyimpan informasi detail sparepart, termasuk ID sparepart (primary key), nama sparepart, kode sparepart, merek, tipe motor yang kompatibel, harga, stok, dan deskripsi.
-
Supplier (Supplier): Entitas ini menyimpan informasi supplier sparepart, termasuk ID supplier (primary key), nama supplier, alamat supplier, nomor telepon supplier, dan kontak person.
-
Pesanan (Order): Entitas ini menyimpan informasi pesanan pelanggan, termasuk ID pesanan (primary key), ID pelanggan (foreign key), tanggal pesanan, status pesanan (misalnya: pending, processing, shipped, delivered), dan total harga.
-
Detail Pesanan (OrderDetail): Entitas ini menyimpan detail item dalam sebuah pesanan, termasuk ID detail pesanan (primary key), ID pesanan (foreign key), ID sparepart (foreign key), jumlah sparepart yang dipesan, dan harga per unit.
Pembayaran (Payment): Entitas ini menyimpan informasi pembayaran, termasuk ID pembayaran (primary key), ID pesanan (foreign key), metode pembayaran, tanggal pembayaran, dan status pembayaran.
-
Pengiriman (Shipment): Entitas ini menyimpan informasi pengiriman, termasuk ID pengiriman (primary key), ID pesanan (foreign key), nomor resi pengiriman, kurir pengiriman, tanggal pengiriman, dan status pengiriman.

Relasi antar entitas:
- Customer 1:N Order: Seorang pelanggan dapat melakukan banyak pesanan.
- Order 1:N OrderDetail: Sebuah pesanan dapat terdiri dari banyak detail pesanan (berbagai sparepart).
- SparePart 1:N OrderDetail: Sebuah sparepart dapat termasuk dalam banyak detail pesanan.
- Supplier 1:N SparePart: Sebuah supplier dapat memasok banyak sparepart.
- Order 1:1 Payment: Sebuah pesanan memiliki satu pembayaran.
- Order 1:1 Shipment: Sebuah pesanan memiliki satu pengiriman.
Diagram ERD dapat digambarkan sebagai berikut (representasi sederhana):
Customer ---1:N---> Order ---1:N---> OrderDetail ---N:1---> SparePart
|
1:1
|
Payment
|
1:1
|
Shipment
Supplier ---1:N---> SparePart
II. Class Diagram untuk Sistem Penjualan Sparepart Motor Online
Class Diagram merupakan representasi grafis dari struktur kelas dalam sistem berorientasi objek. Ia menggambarkan kelas, atribut (variabel), dan metode (fungsi) dari setiap kelas. Berikut adalah kelas-kelas utama dalam sistem penjualan sparepart motor online, beserta atribut dan metode yang relevan:
-
Kelas Customer:
- Atribut: customerId (int, primary key), nama (String), alamat (String), noTelepon (String), email (String), password (String), riwayatPesanan (List
) - Metode: register(), login(), updateProfile(), viewOrderHistory()
- Atribut: customerId (int, primary key), nama (String), alamat (String), noTelepon (String), email (String), password (String), riwayatPesanan (List
-
Kelas SparePart:
- Atribut: sparepartId (int, primary key), namaSparepart (String), kodeSparepart (String), merek (String), tipeMotor (String), harga (double), stok (int), deskripsi (String), supplier (Supplier)
- Metode: updateStok(), getDetail()
-
Kelas Supplier:
- Atribut: supplierId (int, primary key), namaSupplier (String), alamatSupplier (String), noTeleponSupplier (String), kontakPerson (String)
- Metode: addSparePart()
-
Kelas Order:
- Atribut: orderId (int, primary key), customerId (int, foreign key), tanggalPesanan (Date), statusPesanan (String), totalHarga (double), detailPesanan (List
), payment (Payment), shipment (Shipment) - Metode: createOrder(), updateStatus(), calculateTotalPrice()
- Atribut: orderId (int, primary key), customerId (int, foreign key), tanggalPesanan (Date), statusPesanan (String), totalHarga (double), detailPesanan (List
-
Kelas OrderDetail:
- Atribut: orderDetailId (int, primary key), orderId (int, foreign key), sparepartId (int, foreign key), jumlah (int), hargaSatuan (double)
- Metode: calculateTotalPrice()
-
Kelas Payment:
- Atribut: paymentId (int, primary key), orderId (int, foreign key), metodePembayaran (String), tanggalPembayaran (Date), statusPembayaran (String)
- Metode: processPayment()
-
Kelas Shipment:
- Atribut: shipmentId (int, primary key), orderId (int, foreign key), noResi (String), kurir (String), tanggalPengiriman (Date), statusPengiriman (String)
- Metode: updateStatus()
Hubungan antar kelas:
Hubungan antar kelas dalam class diagram serupa dengan relasi dalam ERD, menggunakan notasi UML. Misalnya, hubungan satu-ke-banyak (1:N) antara Customer dan Order diwakili oleh panah dari Customer ke Order dengan notasi 1 di sisi Customer dan N di sisi Order.
III. Perbedaan dan Hubungan antara ERD dan Class Diagram
Meskipun keduanya digunakan untuk memodelkan data, ERD dan Class Diagram memiliki fokus yang berbeda:
-
ERD: Berfokus pada struktur data dan relasi antar entitas dalam basis data relasional. Ia lebih abstrak dan tidak mempertimbangkan aspek perilaku sistem.
-
Class Diagram: Berfokus pada struktur kelas dan hubungan antar kelas dalam sistem berorientasi objek. Ia mempertimbangkan baik struktur data maupun perilaku (metode) kelas.
Dalam pengembangan sistem penjualan sparepart motor online, ERD digunakan sebagai dasar untuk mendesain skema basis data, sementara Class Diagram digunakan untuk mendesain struktur dan perilaku sistem secara keseluruhan. ERD membantu menentukan tabel dan kolom dalam basis data, sedangkan Class Diagram membantu menentukan kelas, atribut, dan metode dalam kode program. Kedua diagram tersebut saling melengkapi dan bekerja sama untuk memastikan konsistensi dan integritas data dalam sistem.
IV. Kesimpulan
Pengembangan sistem penjualan sparepart motor online yang sukses membutuhkan perencanaan yang matang dan model data yang akurat. ERD dan Class Diagram merupakan alat yang penting dalam proses ini. ERD membantu dalam mendesain skema basis data yang efisien dan terstruktur, sementara Class Diagram membantu dalam mendesain sistem berorientasi objek yang handal dan mudah dipelihara. Dengan menggunakan kedua diagram ini secara efektif, pengembang dapat membangun sistem yang mampu memenuhi kebutuhan bisnis dan memberikan pengalaman pengguna yang optimal. Penting untuk diingat bahwa diagram ini hanyalah representasi sederhana dan dapat diperluas dan diperbaiki sesuai dengan kebutuhan dan kompleksitas sistem yang sebenarnya. Detail dan atribut tambahan dapat ditambahkan untuk meningkatkan akurasi dan kelengkapan model.
![]()


