Download Sistem Manajemen Barbershop & Salon Full Source Code

Sabtu sore, tiga pelanggan datang bersamaan, satu mengaku sudah booking lewat WhatsApp tapi namanya tidak ada di buku, dan di akhir hari uang di laci tidak cocok dengan catatan. Si...

Download Sistem Manajemen Barbershop & Salon Full Source Code

Sabtu sore, tiga pelanggan datang bersamaan, satu mengaku sudah booking lewat WhatsApp tapi namanya tidak ada di buku, dan di akhir hari uang di laci tidak cocok dengan catatan. Situasi seperti ini umum di barbershop dan salon yang masih mencatat manual. Artikel ini membahas apa yang perlu ada di sistem manajemen barbershop dan salon, bagaimana datanya mengalir, dan apa saja yang perlu Anda periksa sebelum memakai source code siap pakai.

Masalah yang Diselesaikan Sistem Ini

Usaha grooming punya ciri khas: layanan berbasis waktu, dikerjakan oleh orang tertentu, dan pelanggan sering kembali dengan preferensi yang sama. Pencatatan manual biasanya gagal di empat titik:

  • Jadwal bentrok: dua pelanggan dijanjikan ke stylist yang sama di jam yang sama.
  • Transaksi tidak tercatat lengkap: layanan tambahan seperti cuci atau creambath lupa ditulis.
  • Pendapatan sulit dipantau: pemilik baru tahu omzet setelah menghitung manual di akhir bulan.
  • Riwayat pelanggan hilang: model potongan atau warna cat terakhir hanya diingat oleh satu orang.

Modul Inti dan Alur Datanya

Sistem manajemen barbershop dan salon yang layak umumnya memiliki enam modul berikut. Memahami hubungan antarmodul membantu Anda menilai apakah sebuah source code dirancang dengan benar.

  1. Manajemen layanan dan harga: daftar layanan (potong, cukur, creambath, pewarnaan) beserta harga dan perkiraan durasi.
  2. Manajemen pegawai: data barber atau stylist yang akan ditugaskan ke booking dan transaksi.
  3. Data pelanggan: nama, nomor kontak, dan histori layanan.
  4. Booking atau reservasi: menghubungkan pelanggan, layanan, pegawai, dan slot waktu.
  5. Transaksi: mencatat layanan yang benar-benar dikerjakan dan pembayarannya.
  6. Laporan dan dashboard: merangkum pendapatan harian dan bulanan dari data transaksi.

Alurnya: pelanggan booking, booking dikonfirmasi saat pelanggan datang, layanan dikerjakan, lalu booking berubah menjadi transaksi. Laporan sebaiknya dihitung dari tabel transaksi, bukan dari booking, karena booking bisa batal.

Rekomendasi Desain Tabel

Jika Anda mengevaluasi source code atau ingin membangun sendiri, struktur berikut adalah acuan minimal. Perhatikan bahwa harga disalin ke detail transaksi, supaya laporan lama tidak berubah ketika harga layanan dinaikkan.

CREATE TABLE services (
  id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(100) NOT NULL,
  price DECIMAL(12,2) NOT NULL,
  duration_minutes SMALLINT UNSIGNED NOT NULL DEFAULT 30,
  is_active TINYINT(1) NOT NULL DEFAULT 1
);

CREATE TABLE staff (
  id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(100) NOT NULL,
  is_active TINYINT(1) NOT NULL DEFAULT 1
);

CREATE TABLE customers (
  id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(100) NOT NULL,
  phone VARCHAR(20) UNIQUE,
  notes TEXT NULL
);

CREATE TABLE bookings (
  id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  customer_id BIGINT UNSIGNED NOT NULL,
  staff_id BIGINT UNSIGNED NOT NULL,
  starts_at DATETIME NOT NULL,
  ends_at DATETIME NOT NULL,
  status ENUM('pending','confirmed','done','cancelled') DEFAULT 'pending',
  INDEX idx_staff_time (staff_id, starts_at)
);

CREATE TABLE transactions (
  id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  booking_id BIGINT UNSIGNED NULL,
  customer_id BIGINT UNSIGNED NULL,
  total DECIMAL(12,2) NOT NULL,
  paid_at DATETIME NOT NULL
);

CREATE TABLE transaction_items (
  id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  transaction_id BIGINT UNSIGNED NOT NULL,
  service_id BIGINT UNSIGNED NOT NULL,
  staff_id BIGINT UNSIGNED NOT NULL,
  price DECIMAL(12,2) NOT NULL
);

Kolom staff_id di transaction_items penting: dalam satu kunjungan, potong rambut bisa dikerjakan barber A dan pewarnaan oleh stylist B. Struktur ini juga memudahkan Anda menghitung kinerja per pegawai nanti.

Mencegah jadwal bentrok

Aturan paling penting di modul booking adalah menolak slot yang tumpang tindih untuk pegawai yang sama. Di Laravel, pengecekannya bisa seperti ini:

$bentrok = Booking::where('staff_id', $staffId)
    ->whereIn('status', ['pending', 'confirmed'])
    ->where('starts_at', '<', $endsAt)
    ->where('ends_at', '>', $startsAt)
    ->exists();

if ($bentrok) {
    return back()->withErrors(['starts_at' => 'Stylist sudah punya jadwal di jam tersebut.']);
}

Logikanya: dua rentang waktu bertabrakan jika awal yang satu lebih kecil dari akhir yang lain, dan sebaliknya. Saat mengevaluasi source code, coba buat dua booking di jam yang sama untuk stylist yang sama. Jika sistem menerimanya, Anda perlu menambahkan validasi ini.

Laporan yang Benar-Benar Berguna

Dashboard sering diisi grafik yang menarik tetapi jarang dipakai. Untuk barbershop dan salon, tiga angka biasanya paling menentukan keputusan: pendapatan harian, pendapatan per stylist, dan layanan yang paling sering dipesan. Ketiganya bisa dihitung langsung dari tabel detail transaksi:

SELECT DATE(t.paid_at) AS tanggal,
       s.name AS stylist,
       COUNT(ti.id) AS jumlah_layanan,
       SUM(ti.price) AS pendapatan
FROM transaction_items ti
JOIN transactions t ON t.id = ti.transaction_id
JOIN staff s ON s.id = ti.staff_id
WHERE t.paid_at >= '2026-10-01' AND t.paid_at < '2026-11-01'
GROUP BY DATE(t.paid_at), s.name
ORDER BY tanggal, pendapatan DESC;

Contoh pemakaian: jika laporan menunjukkan hari Selasa selalu sepi, Anda bisa menjadwalkan lebih sedikit pegawai atau membuat promo khusus hari itu. Tanpa data, keputusan seperti ini hanya berdasarkan perasaan.

Menjalankan Source Code di Komputer Lokal

Sebagian besar source code berbasis Laravel bisa dijalankan dengan langkah umum berikut. Detail tiap proyek bisa berbeda, jadi baca README-nya lebih dulu.

  1. Pastikan PHP, Composer, dan MySQL terpasang. Lihat panduan setup environment.
  2. Ekstrak proyek, lalu jalankan composer install.
  3. Salin .env.example menjadi .env, lalu jalankan php artisan key:generate.
  4. Buat database kosong dan isi kredensialnya di .env.
  5. Impor file SQL bawaan atau jalankan php artisan migrate --seed sesuai instruksi proyek.
  6. Jalankan php artisan serve dan buka alamat yang muncul di browser.

Langkah rinci beserta solusi error yang sering muncul ada di panduan menjalankan source code Laravel.

Kustomisasi yang Umum Dilakukan

  • Menambah komisi stylist: tambahkan kolom persentase komisi di tabel staff, lalu hitung dari transaction_items.
  • Pengingat booking: kirim pesan sehari sebelum jadwal lewat scheduler Laravel dan layanan WhatsApp gateway pilihan Anda.
  • Paket layanan: gabungan beberapa layanan dengan harga khusus.
  • Multi-cabang: tambahkan branch_id ke tabel utama. Ini perubahan besar, sebaiknya direncanakan sejak awal.

Lakukan setiap perubahan di branch Git terpisah dan uji di database salinan, bukan di data produksi.

Checklist Evaluasi Sebelum Memakai Source Code

  • Ada demo yang bisa dicoba, dan alur booking sampai laporan berjalan tanpa error.
  • Booking ganda untuk stylist yang sama di jam yang sama ditolak.
  • Harga di transaksi lama tidak berubah saat harga layanan diedit.
  • Password pengguna di-hash, bukan disimpan teks biasa.
  • Struktur folder mengikuti konvensi Laravel sehingga developer lain mudah memahami.
  • Ada dokumentasi instalasi dan daftar versi PHP yang didukung.
  • Lisensi jelas: boleh dipakai untuk usaha sendiri atau juga untuk klien.

Keterbatasan yang Perlu Diketahui

Source code siap pakai adalah fondasi, bukan produk jadi yang cocok untuk semua salon. Beberapa hal yang sering perlu dikerjakan sendiri: booking online yang bisa diakses pelanggan langsung, integrasi pembayaran digital, dan aturan bisnis khusus seperti diskon member. Anda juga bertanggung jawab atas hosting, backup, dan pembaruan keamanan. Jika tidak ada developer di tim, anggarkan biaya untuk freelancer yang akan merawat sistem.

Kapan Layak Beralih ke Sistem

Patokan praktis: jika Anda memiliki lebih dari dua pegawai, menerima booking dari lebih dari satu saluran, atau mulai kesulitan mencocokkan kas harian, sistem akan memberi manfaat nyata. Untuk usaha satu kursi dengan pelanggan tetap, buku catatan dan kalender di ponsel mungkin masih cukup. Gambaran manfaat dan biayanya bisa Anda baca di manfaat aplikasi bisnis untuk UMKM.

Salah satu contoh implementasi yang bisa Anda pelajari adalah sistem manajemen barbershop dan salon di GudangCode.

Ingin langsung mempraktikkannya?

Buat akun gratis untuk mengunduh contoh aplikasi Laravel, menyimpan tutorial favorit, dan mencoba kursus. Gratis, bisa daftar dengan akun Google.

Daftar Gratis Lihat katalog aplikasi
Yudhi
Ditulis oleh
Yudhi
Founder & Lead Developer, GudangCode

Yudhi adalah founder GudangCode dan developer Laravel dengan pengalaman membangun puluhan sistem informasi bisnis siap pakai — mulai dari POS, HRIS, hingga aplikasi manajemen. Ia menulis panduan dan artikel di GudangCode untuk membantu developer Indonesia menjalankan, memahami, dan men-deploy source code Laravel dengan benar.

Laravel PHP MySQL Sistem Informasi Bisnis
Lihat semua artikel Yudhi
barbershop salon source code aplikasi bisnis sistem manajemen
Bacaan Paling Dicari
📚 Free Learning Hub

Learn Coding for Free at DhieCoderWeb

Explore Laravel, PHP, JavaScript tutorials, source code, web development guides, and practical programming tips.

DhieCoderWeb
100+
Tutorials
Free
Learning
SEO
Tips
Visit Dhiecoderweb.com →