FM
FIT MOTOR
/ Progress Modul Web Base
Dashboard IT

Monitoring Progress FIT MOTOR Web Base

v5 Terkonfirmasi

Status kesiapan 5 Modul • 11 Sub Modul • 32 Fitur untuk cabang Trayeman & Cik Ditiro.

0%
Fitur Siap Pakai

Visualisasi Gantt Chart Hierarki (WBS) |
Pengerjaan
Tahap Uji
Siap Pakai
Dokumentasi Komprehensif Sistem FIT MOTOR

Panduan Lengkap Sistem Web Bengkel FIT MOTOR

Halaman ini berisi dokumentasi menyeluruh tentang bagaimana sistem web bengkel bekerja — mulai dari alur kerja sehari-hari (servis, pembelian, kasir) hingga struktur penyimpanan data di balik layar. Ditulis dalam dua versi: bahasa operasional yang mudah dipahami semua staf, dan bahasa teknis untuk tim IT.

Penjelasan Sederhana: Apa Gunanya Halaman Ini?

  • PRD Bisnis = Penjelasan tentang apa yang bisa dilakukan sistem ini (siapa yang pakai, aturan mainnya, alur kerjanya).
  • PRD Teknis = Penjelasan bagaimana sistem ini dibangun (untuk tim IT yang mengembangkan dan merawat).
  • Alur Flow = Gambar langkah demi langkah proses kerja (seperti peta jalan dari pelanggan datang sampai bayar).
  • Visual ERD = Gambar hubungan antar data di sistem (ibarat peta siapa terhubung dengan siapa di database).
  • Kamus LRS = Daftar lengkap semua hubungan data — mana yang dijaga otomatis oleh sistem dan mana yang dijaga manual oleh program.
  • Temuan & Risiko = Catatan hal-hal yang perlu diperbaiki agar sistem makin andal.
Arsitektur
PHP 8.3 Prosedural

Sistem dibangun tanpa framework (langsung PHP murni), terdiri dari 768 file program.

fitmotor_dbbengkel
Database
294 Tabel Aktif

Ada 294 "laci" penyimpanan data berbeda, dikelompokkan ke 13 kategori besar.

62 View · 4 Trigger
Integritas Relasi
367 Total Relasi

66 Declared (dijaga MySQL) + 301 Logis (dijaga PHP).

18% DB Enforced
Visualisasi
React Flow Engine

Diagram alur interaktif dengan pan, zoom, dan minimap.

@xyflow/react
Panduan Kamus Istilah

Memahami Istilah Teknis dengan Bahasa Sehari-Hari

Gunakan tabel padanan ini agar tim operasional (Non-IT) dan tim developer (IT) dapat berkomunikasi dengan mudah:

Database
Bahasa Awam: Gudang Arsip Pusat
Tempat penyimpanan digital terpusat yang menampung seluruh data transaksi 4 cabang FIT MOTOR.
Tabel (Table)
Bahasa Awam: Lemari Map Berkas
Lemari khusus penampung 1 kategori data. Misal: lemari pelanggan, lemari nota servis, lemari stok sparepart.
Primary Key (PK)
Bahasa Awam: Nomor Identitas Unik (KTP/Plat)
Nomor unik yang tidak boleh sama antar baris data (contoh: Plat Nomor Motor, Nomor KTP Pegawai).
Foreign Key (FK)
Bahasa Awam: Nomor Rujukan Lintas Map
Nomor rujukan di nota yang menunjuk ke lemari lain (contoh: di nota servis dituliskan Nomor HP Pelanggan).
Declared FK (Gembok Sistem)
Bahasa Awam: Pengunci Otomatis Database
Pengunci otomatis di database: data pelanggan tidak bisa dihapus jika masih punya nota servis aktif yang belum selesai.
Logical FK (Gembok Kode)
Bahasa Awam: Pengecekan Manual Program
Relasi yang hanya dihitung via baris program PHP. Perlu ketelitian tinggi agar tidak ada data "tertinggal" saat revisi.

Daftar Dokumen: Klik untuk Membuka

Ringkasan tiap dokumen — klik baris untuk langsung berpindah ke tab yang bersangkutan:

Contoh Nyata: Satu Topik Dilihat Lewat Seluruh Dimensi

Klik topik di bawah untuk melihat bagaimana sebuah fitur ditinjau dari sisi bisnis, implementasi teknis, relasi ERD, dan struktur kolom LRS:

PRD Bisnis: Kebutuhan, Aturan & Proses Operasional

PRD Bisnis mendefinisikan seluruh fungsi operasional jaringan bengkel motor FIT MOTOR (1 kantor pusat/gudang dan 4 cabang: Pesalakan, Pacul, Cikditiro, dan Trayeman mitra). Ditulis dalam bahasa operasional agar mudah dipahami oleh pemilik, kepala cabang, kasir, mekanik, dan staf operasional.

Masalah Operasional yang Diselesaikan

Dulu (Microsoft Access per Cabang) Sekarang (Sistem Terpusat Web Bengkel)
Data tiap cabang terpisah; pemilik harus meminta rekap manual harian. Semua cabang terhubung ke satu sistem; pantau real-time lintas cabang kapan saja.
Pelanggan yang sama sering tercatat dobel dengan riwayat terpisah. Deteksi duplikat pelanggan otomatis; penggabungan (merge) wajib disetujui atasan.
Pemakaian sparepart pada servis manual dan tidak masuk kartu stok. Stok sparepart otomatis berkurang saat servis dibayar kasir (tipe stok 4).
Diskon dan potongan harga diberikan tanpa jejak persetujuan. Diskon manual di luar aturan member/promo wajib disetujui supervisor via sistem.
Aliran uang laci kasir sulit ditelusuri jika terjadi selisih. Urutan ketat: Kas Awal → Closing → Setoran Kurir → Validasi Keuangan → Bank.
Komisi mekanik dihitung ulang dan bisa berubah tiap servis direvisi. Komisi disimpan permanen (tabel servis_komisi) saat servis selesai atau dibayar.
Komplain pelanggan ditangani di chat WhatsApp pribadi dan sering terlupa. Modul komplain resmi: pengerjaan ulang (rework) otomatis jadi servis garansi urgent.

11 Peran Pengguna & Struktur Hak Akses

Setiap pegawai hanya melihat menu yang relevan dengan tanggung jawabnya (Role-Based Access Control):

menu_config.php

Bedah Alur Kerja 10 Modul Riil & Halaman Utama Aplikasi

Setiap modul terdiri dari rangkaian halaman PHP riil yang diakses oleh petugas operasional. Berikut adalah pemetaan detail nama file, peran petugas, tabel database, dan penjelasan aktivitasnya:

1. Modul Servis Bengkel & Pengerjaan Motor

Menu: Servis > Servis Reguler
servis-carinopol.php
Halaman Cari Nopol & Data Pelanggan

CS mengetik nomor plat motor. Sistem otomatis cek data pelanggan lama, histori servis, dan status tier member (diskon otomatis).

servis-input-reguler.php
Halaman Input Servis Reguler & Diagnosa

CS mencatat keluhan pemilik motor, KM odometer, foto kondisi kendaraan, paket servis/jasa yang dipilih, serta uang muka (DP).

kelola-antrian.php
Halaman Kelola Antrian Bengkel

Kepala Mekanik membagi tiket ke pit servis aktif dan menunjuk mekanik penanggung jawab.

servis-reguler-byr.php
Halaman Pelunasan Kasir Servis

Kasir memproses pelunasan nota (tunai/QRIS/transfer), memotong DP awal, dan mencetak struk bukti bayar resmi.

2. Modul Pembelian & Pengadaan (Procurement)

Menu: Pembelian
pr_auto_draft.php
Halaman Auto-Draft Cek Stok Minim

Sistem otomatis menyusun draf barang yang perlu dibeli berdasarkan Reorder Point (ROP) dan stok minimal rak.

pesanan_pembelian_add.php
Halaman Input Purchase Order (PO)

Staff pengadaan membuat dokumen PO resmi ke supplier terdaftar lengkap dengan kuantitas dan kesepakatan harga beli.

do_from_po.php
Halaman Penerimaan Gudang (DO)

Petugas gudang memeriksa fisik sparepart yang diantar kurir supplier vs dokumen PO sebelum disetujui masuk rak.

pembelian_dari_po.php
Halaman Input Faktur Pembelian (Invoice)

Akunting menginput faktur fisik supplier. Stok toko resmi bertambah (tbstok) dan saldo hutang supplier dicatat.

3. Modul Penjualan Ritel POS Kasir Toko

Menu: Penjualan
penjualan_add.php
Halaman Transaksi Kasir POS Ritel

Kasir memindai barcode oli/sparepart atau mengetik nama barang untuk pembeli ritel tanpa jasa servis bengkel.

retur_penjualan.php
Halaman Retur Pengembalian Barang

Pengembalian sparepart dari pembeli karena salah tipe atau cacat pabrik, dengan pengembalian uang/tukar part.

4. Modul Keuangan Kasir, Closing & Setoran Bank

Menu: Keuangan Kasir
_keuangan/kasir/index_kasir.php
Dashboard Kasir: Buka Modal & Tutup Kas (Closing)

Kasir mencatat modal receh awal laci pagi hari dan melakukan penghitungan keping uang fisik saat closing sore hari.

_keuangan/kasir/setoran_keuangan.php
Halaman Validasi Setoran Keuangan Pusat

Staf Keuangan pusat menerima amplop setoran uang tunai dari kurir cabang dan menyetorkannya ke rekening bank.

10 Aturan Bisnis Utama Penjaga Integritas Data

Aturan validasi yang harus dipatuhi di seluruh alur kerja sistem:

Aturan Otomatisasi Tier Member (CRM)

Pelanggan secara otomatis naik tingkat loyalitas berdasarkan akumulasi total belanja atau frekuensi kedatangan servis (hanya naik, tidak turun otomatis):

Kategori Member Syarat Total Belanja Syarat Kunjungan Diskon Jasa Diskon Part
Bronze s.d. Rp 1.999.999 0 - 4 kali - -
Silver Rp 2.000.000 - Rp 4.999.999 5 - 9 kali 10% 7%
Gold Rp 5.000.000 - Rp 9.999.999 10 - 19 kali 15% 11%
Platinum ≥ Rp 10.000.000 ≥ 20 kali 20% 14%

PRD Teknis: Arsitektur Monolit & Implementasi Kode

PRD Teknis disusun melalui reverse-engineering langsung terhadap 768 file PHP di app/ dan database live 294 tabel. Menjelaskan aturan penamaan berkas, manajemen sesi login, RBAC dinamis, dan penanganan integritas multi-cabang.

Arsitektur Berkas PHP Prosedural

// Pola dominan: 1 File = UI Render + Handler POST + Query SQL Prosedural
save_* : Menyimpan entitas baru (cth: save_service.php, save_item.php)
edit_* : Memperbarui entitas yang ada (cth: edit_service.php, edit_item.php)
del_* : Menghapus atau menandai nonaktif entitas
cari_* : Modal pencarian popup Ajax / DataTables (cth: cari_item.php)
lap_* : Modul pelaporan (HTML, PDF via dompdf, Excel via PhpSpreadsheet)
pmby_* : Alur pelunasan pembayaran (pmby_hutang, pmby_piutang)

Kaidah Kritis Multi-Cabang: Kunci Komposit tblservice

Nomor servis (no_service) TIDAK UNIK lintas cabang karena warisan penomoran aplikasi Microsoft Access lokal terdahulu (terdapat lebih dari 30.000 duplikasi nomor). Identitas unik transaksi di database adalah pasangan (no_service, kd_cabang).

Penjelasan Sederhana untuk Manajemen / Non-IT:

Dulu pas masih pakai aplikasi lama, cabang Pacul, Cikditiro, dan Pesalakan sama-sama memulai cetak nota dari Nomor 1. Akibatnya, ada lebih dari 30.000 nota di cabang berbeda yang nomornya persis sama. Supaya uang kas dan nota pelanggan tidak saling tertukar antar toko, sistem komputer wajib selalu mencatat Nomor Nota + Nama Cabang secara bersamaan.

JOIN SALAH (Tanpa Cabang)
SELECT * FROM tblservice s
JOIN servis_komisi k ON k.no_service = s.no_service

Hasil duplikasi data dan komisi cabang lain tercampur ke laporan.

JOIN BENAR (Dengan Cabang)
SELECT * FROM tblservice s
JOIN servis_komisi k ON k.no_service = s.no_service
                    AND k.kd_cabang = s.kd_cabang

Data terisolasi sempurna per entitas cabang masing-masing.

Struktur Mutasi Kartu Stok (Tabel tbstok)

Setiap kali sparepart masuk atau keluar rak toko, sistem mencatat jenis kejadiannya agar riwayat pergerakan fisik barang di gudang bisa dilacak dengan pasti:

Tipe 1
Saldo Awal Barang
Tipe 2
Pembelian / DO Masuk
Tipe 3
Penjualan Kasir POS
Tipe 4
Pemakaian Servis Motor
Tipe 5
Penyesuaian Masuk Manual
Tipe 6
Penyesuaian Keluar Manual
Tipe 7
Retur Pembelian (Draft)
Tipe 8
Retur Penjualan (Draft)
Interactive React Flow Canvas

Visualisasi Interaktif Sistem & Basis Data

Gunakan canvas interaktif di bawah untuk menelusuri Alur Proses Bisnis, memvisualisasikan ERD Relasi Antar Tabel, atau memeriksa kamus data LRS secara menyeluruh.

Navigasi Cepat:
Memuat diagram React Flow...
1
Navigasi & Geser: Klik dan tahan mouse di canvas untuk menggeser view (Pan), scroll mouse untuk Zoom In/Out.
2
Ganti Domain / Alur: Gunakan dropdown toolbar atas untuk beralih antar 6 Alur Kerja Bisnis atau 13 Domain ERD.
3
Detail Relasi: Garis solid hijau menandakan Declared FK di MySQL, garis putus-putus amber menandakan Logical FK di PHP.

Temuan Audit, Risiko Integritas & Rencana Perbaikan

Berdasarkan audit komparasi dokumen PRD dan kode riil per 2026-09-25, berikut daftar temuan teknis yang memerlukan perhatian prioritas:

10 Utang Teknis yang Sedang Diantisipasi

Total Fase
Selesai
Aktif / UAT
Rata-rata Progres
Progres Keseluruhan Modul
Selesai: Tahap Uji: Pengerjaan: Rencana:

Catatan Operasional / UAT Lapangan:

Edit Tahapan Alur Kerja

Tuliskan setiap langkah alur proses dalam baris baru. Format nomor urut akan digenerate otomatis.

Konfirmasi Hapus

Yakin ingin menghapus ? Tindakan ini tidak dapat dibatalkan.