Versi 1
| Field | Isi |
|---|---|
| Dokumen ID | VBS-MST-008 |
| Deskripsi | Master jenis customer: mengelompokkan customer berdasarkan jenis beserta persentase diskon penjualan yang berlaku untuk jenis tersebut |
| Nomor Revisi | 1 |
| Tanggal | 2026-10-04 |
| Keterangan | Dokumentasi baseline dari dokumentasi fitur demo dan kode FE |
1. Ringkasan
a. In scope
- User dapat melihat daftar jenis customer beserta diskon penjualan (%)
- User dapat mencari jenis customer berdasarkan nama
- User dapat menambah jenis customer langsung di baris tabel dengan nama dan diskon penjualan
- User dapat mengubah nama dan diskon jenis customer secara inline
- User dapat menghapus jenis customer dan memulihkannya dari arsip
- Jenis customer dipakai sebagai klasifikasi customer dan acuan harga / diskon per jenis customer pada barang
b. Catatan
c. Kesimpulan
- [FE] -
- [BE] -
2. Functional Requirement
| Kode | Deskripsi |
|---|---|
| FR-01 | Sistem menampilkan daftar jenis customer aktif dengan kolom jenis customer dan diskon penjualan |
| FR-02 | User dapat mencari jenis customer berdasarkan nama |
| FR-03 | User dapat menambah jenis customer secara inline dengan nama wajib dan diskon opsional |
| FR-04 | User dapat mengubah jenis customer secara inline |
| FR-05 | Sistem hanya mengizinkan satu baris dalam mode edit pada satu waktu |
| FR-06 | User dapat menghapus jenis customer |
| FR-07 | User dapat memulihkan jenis customer dari arsip secara massal |
3. Use Case List
| Kode | Deskripsi |
|---|---|
| UC-01 | Melihat dan mencari daftar jenis customer |
| UC-02 | Menambah jenis customer dengan diskon penjualan |
| UC-03 | Mengubah nama atau diskon jenis customer |
| UC-04 | Menghapus jenis customer |
| UC-05 | Memulihkan jenis customer dari arsip |
4. Use Case Scenario
UC-01 : Melihat dan mencari daftar jenis customer
| Aktor | User brand dengan hak #jenis-customer |
| Deskripsi | User melihat jenis customer beserta diskonnya |
| Prekondisi | User sudah login |
| Alur utama | 1. User membuka menu Master, Kontak, Jenis Customer. 2. Sistem menampilkan jenis customer dan diskon penjualan. 3. User mengetik nama untuk mencari. |
| Alur negatif | - Jika gagal memuat atau tidak ada hasil, daftar kosong. |
| Bisnis rule | - Diskon kosong ditampilkan sebagai 0 %. |
| Postkondisi | Daftar jenis customer tampil |
| Trigger | User membuka menu Jenis Customer |
| Kode FR | FR-01 FR-02 |
UC-02 : Menambah jenis customer dengan diskon penjualan
| Aktor | User brand dengan hak basic |
| Deskripsi | User membuat jenis customer baru |
| Prekondisi | Tidak ada baris lain yang sedang diedit |
| Alur utama | 1. User klik Tambah. 2. Sistem menambah baris kosong di paling atas dalam mode edit. 3. User mengisi nama jenis customer dan diskon penjualan. 4. User klik simpan pada baris. 5. Sistem menyimpan, memuat ulang daftar, dan menampilkan "Berhasil membuat jenis customer". |
| Alur negatif | - Jika ada baris lain yang sedang diedit, muncul "Selesaikan proses edit yang sedang berjalan". - Jika nama kosong, muncul "Masukkan nama terlebih dahulu sebelum simpan". - Jika simpan gagal, muncul pesan error dari server. |
| Bisnis rule | - Diskon penjualan dalam persen dan boleh kosong. |
| Postkondisi | Jenis customer baru tersimpan |
| Trigger | User klik simpan pada baris baru |
| Kode FR | FR-03 FR-05 |
UC-03 : Mengubah nama atau diskon jenis customer
| Aktor | User brand dengan hak basic |
| Deskripsi | User mengubah jenis customer langsung di tabel |
| Prekondisi | Jenis customer sudah ada |
| Alur utama | 1. User klik baris jenis customer. 2. Baris masuk mode edit. 3. User mengubah nama atau diskon lalu klik simpan. 4. Sistem menampilkan "Berhasil mengupdate jenis customer". |
| Alur negatif | - Jika nama dikosongkan, muncul "Masukkan nama terlebih dahulu sebelum simpan". - Jika gagal, muncul pesan error dari server. |
| Bisnis rule | - Perubahan diskon berlaku untuk customer yang memakai jenis ini. |
| Postkondisi | Jenis customer terbarui |
| Trigger | User klik simpan pada baris |
| Kode FR | FR-04 FR-05 |
UC-04 : Menghapus jenis customer
| Aktor | User brand dengan hak basic |
| Deskripsi | User menghapus jenis customer |
| Prekondisi | Jenis customer ada di daftar |
| Alur utama | 1. User klik hapus pada baris. 2. Sistem meminta konfirmasi "Anda yakin ingin menghapus jenis customer ini?". 3. User konfirmasi. 4. Sistem menampilkan "Berhasil hapus jenis customer". |
| Alur negatif | - Jika baris adalah baris baru yang belum disimpan, baris langsung dibuang tanpa konfirmasi. - Jika server menolak, muncul pesan error dari server. |
| Bisnis rule | - Jenis customer yang dihapus dapat dipulihkan dari arsip. |
| Postkondisi | Jenis customer tidak tampil di daftar aktif |
| Trigger | User klik hapus |
| Kode FR | FR-06 |
UC-05 : Memulihkan jenis customer dari arsip
| Aktor | User brand dengan hak archive |
| Deskripsi | User mengaktifkan kembali jenis customer |
| Prekondisi | Ada jenis customer tidak aktif |
| Alur utama | 1. User membuka Arsip. 2. User mencentang jenis customer, klik pulihkan, dan konfirmasi. 3. Sistem menampilkan "Berhasil memulihkan Jenis Customer terpilih". |
| Alur negatif | - Jika gagal, muncul pesan error dari server. |
| Bisnis rule | - Pemulihan massal. |
| Postkondisi | Jenis customer kembali aktif |
| Trigger | User klik pulihkan |
| Kode FR | FR-07 |
5. Data Flow Diagram
DFD-01
6. Sequence Diagram
SD-01 — UC-01 : Melihat dan mencari daftar jenis customer
SD-02 — UC-02 : Menambah jenis customer dengan diskon penjualan
SD-03 — UC-03 : Mengubah nama atau diskon jenis customer
SD-04 — UC-04 : Menghapus jenis customer
SD-05 — UC-05 : Memulihkan jenis customer dari arsip
7. Table Schema
8. API Schema
| Endpoint | Status | Perubahan |
|---|---|---|
GET /jenis-customer | existing | - |
POST /jenis-customer | existing | - |
PUT /jenis-customer/:id | existing | - |
DELETE /jenis-customer/:id | existing | - |
POST /jenis-customer/bulk-update | existing | - |