📘 Buku Panduan Panel Admin

Dokumentasi lengkap untuk seluruh fitur dan menu pada Panel Admin / HRD sistem HRIS PT. Mitra Surya Persada.

Akses panel: /admin · Role yang diizinkan: Super Admin, Admin, HR Manager

📊 Dashboard

Ringkasan Dashboard

Halaman Dashboard adalah halaman utama yang tampil setelah Anda berhasil login. Dashboard menampilkan beberapa widget statistik penting yang membantu Anda memantau kondisi perusahaan secara real-time:

  • Kontrak Akan Berakhir (30 Hari) — Menampilkan jumlah kontrak karyawan yang akan habis dalam 30 hari ke depan. Klik widget ini untuk melihat daftar lengkapnya. Berwarna merah jika ada kontrak yang mendesak.
  • Total Karyawan Aktif — Jumlah seluruh karyawan berstatus aktif di perusahaan.
  • Kehadiran Hari Ini — Jumlah karyawan yang sudah tercatat hadir pada tanggal hari ini.
  • Cuti Pending — Jumlah pengajuan cuti yang masih menunggu persetujuan Anda. Berwarna kuning jika ada yang pending.
  • Proyek Aktif — Jumlah proyek dengan status Planning atau In Progress.
  • Pajak Kendaraan Segera Habis — Peringatan untuk kendaraan yang pajaknya akan habis dalam 30 hari.
  • STNK Kendaraan Segera Habis — Peringatan untuk kendaraan yang STNK-nya akan habis dalam 30 hari.
💡 Widget Kontrak Akan Berakhir dapat diklik untuk langsung membuka halaman daftar kontrak yang memerlukan perhatian. Pastikan rutin memeriksa dashboard setiap pagi untuk mengetahui status terbaru.

🏢 Companies

Kelola Data Perusahaan CRUD

Menu ini digunakan untuk mengelola data profil perusahaan yang menggunakan sistem HRIS. Satu instalasi HRIS dapat menampung lebih dari satu perusahaan.

FieldKeterangan
NamaNama resmi perusahaan (wajib diisi)
EmailEmail kontak resmi perusahaan
PhoneNomor telepon perusahaan
WebsiteURL website perusahaan
Tax ID (NPWP)Nomor Pokok Wajib Pajak perusahaan
AddressAlamat lengkap perusahaan
LogoUpload file gambar logo perusahaan

Tabel menampilkan jumlah karyawan yang terkait dengan setiap perusahaan. Data dapat dicari berdasarkan nama dan email.

🗂️ Departments

Kelola Departemen CRUD

Menu ini digunakan untuk mengelola departemen/divisi di bawah sebuah perusahaan.

FieldKeterangan
CompanyPilih perusahaan induk (wajib)
NamaNama departemen, misal: Human Resources, IT, Finance
DescriptionDeskripsi singkat mengenai departemen

Tabel menampilkan jumlah jabatan (positions) dan karyawan di setiap departemen. Tersedia filter berdasarkan Company.

💼 Positions (Jabatan)

Kelola Jabatan CRUD

Jabatan merupakan peran spesifik dalam sebuah departemen. Contoh: Software Developer di departemen IT.

FieldKeterangan
DepartmentPilih departemen induk (wajib)
NamaNama jabatan, misal: HR Administrator, Software Developer
Bidang PekerjaanBidang pekerjaan jabatan. Contoh: Teknologi Informasi
DescriptionDeskripsi singkat jabatan
ℹ️ Bidang Pekerjaan digunakan untuk keperluan cetak dokumen kontrak kerja (PKWT/PKWTT).

👥 Employees

Kelola Data Karyawan CRUD

Menu utama untuk mengelola seluruh data karyawan. Formulir dibagi menjadi beberapa tab untuk memudahkan pengisian:

Tab 1: Personal Info

FieldKeterangan
User AccountAkun login yang dikaitkan. Dapat membuat baru langsung dari sini.
Employee IDNomor induk karyawan, unik. Contoh: EMP-001
Nama Depan / BelakangNama lengkap karyawan
Jenis KelaminMale / Female
Tempat & Tanggal LahirTempat lahir dan tanggal lahir
PhoneNomor telepon/HP karyawan
NIK (No. KTP)Nomor Induk Kependudukan (16 digit)
Status PernikahanSingle, Married, Divorced, Widowed
Status Tempat TinggalKost, Rumah Sendiri, Kontrak, dll.
PhotoUpload foto profil karyawan

Tab 2: Employment

FieldKeterangan
CompanyPerusahaan tempat karyawan bekerja (wajib)
DepartmentDepartemen (terfilter berdasarkan company)
PositionJabatan (terfilter berdasarkan department)
Employment StatusActive, Inactive, Resigned, Terminated
Employment TypePermanent, Contract, Intern, Probation
Join DateTanggal mulai bekerja (wajib)
Resign DateTanggal berhenti bekerja (opsional)

Tab 3: Address

Mengisi alamat lengkap karyawan sesuai KTP: Alamat (Jalan), RT/RW, Kelurahan/Desa, Kecamatan, Kabupaten/Kota, Kota, Provinsi, Kode Pos, dan Negara.

Tab 4: Salary & Bank

FieldKeterangan
Base SalaryGaji pokok bulanan (format Rupiah)
Bank NameNama bank untuk transfer gaji
Bank AccountNomor rekening bank
💡 Halaman View Employee menampilkan profil karyawan secara lengkap dengan beberapa tab tambahan: Kontrak Kerja, Surat Tugas Proyek, Penilaian Kinerja, dan Inventaris yang sedang dipinjam. Tersedia tombol "Cetak Profil" untuk mengunduh profil karyawan dalam format PDF.

📄 Kontrak Kerja

Kelola Kontrak Kerja CRUD Cetak PDF

Menu ini digunakan untuk membuat dan mengelola kontrak kerja karyawan (PKWT / PKWTT).

FieldKeterangan
KaryawanPilih karyawan yang terkait kontrak (wajib)
Jenis KontrakPKWT (Waktu Tertentu) atau PKWTT (Waktu Tidak Tertentu)
Nomor KontrakDihasilkan otomatis saat dibuat. Format: PKWT/001/VII/2026
Tanggal MulaiTanggal awal kontrak (wajib)
Tanggal SelesaiTanggal akhir kontrak. Kosongkan jika PKWTT.
StatusAktif, Expired, Terminated
CatatanCatatan tambahan (opsional)

🖨️ Aksi: Cetak PDF

Setiap kontrak memiliki tombol "Cetak PDF" di kolom aksi tabel. Klik untuk mengunduh surat kontrak kerja resmi dalam format PDF, lengkap dengan kop surat perusahaan.

⚠️ Dashboard akan menampilkan peringatan jika ada kontrak yang akan habis dalam 30 hari ke depan. Pastikan untuk segera membuat kontrak perpanjangan atau mengambil tindakan yang diperlukan.

Attendance

Kelola Kehadiran CRUD

Menu untuk mencatat dan mengelola data kehadiran harian seluruh karyawan.

FieldKeterangan
EmployeePilih karyawan (wajib)
DateTanggal kehadiran (default: hari ini)
Clock InJam masuk (datetime)
Clock OutJam pulang (datetime)
StatusPresent (hijau), Absent (merah), Late (kuning), Half Day (biru), Holiday (abu)
Work HoursTotal jam kerja (numerik)
NotesCatatan tambahan

Data diurutkan berdasarkan tanggal terbaru. Filter tersedia berdasarkan karyawan dan status kehadiran.

📅 Work Schedules

Kelola Jadwal Kerja CRUD

Menu untuk membuat template jadwal kerja (shift) yang berlaku untuk perusahaan.

FieldKeterangan
CompanyPerusahaan yang menggunakan jadwal ini
NamaNama jadwal. Contoh: Shift Pagi, Regular Office Hours
Start TimeJam mulai kerja
End TimeJam selesai kerja
DaysPilih hari kerja (checkbox: Senin s.d. Minggu)
Is DefaultTandai sebagai jadwal default perusahaan

📋 Leave Types (Jenis Cuti)

Kelola Jenis Cuti CRUD

Tentukan jenis-jenis cuti yang tersedia di perusahaan beserta kuota hariannya.

FieldKeterangan
CompanyPerusahaan terkait (wajib)
NamaNama jenis cuti. Contoh: Cuti Tahunan, Cuti Sakit
Days AllowedJumlah hari cuti yang diperbolehkan per tahun
Is PaidApakah cuti ini berbayar (toggle on/off)
DescriptionDeskripsi tambahan

✈️ Leave Requests (Pengajuan Cuti)

Kelola & Approve Pengajuan Cuti CRUD Approve/Reject

Menu ini menampilkan seluruh pengajuan cuti dari karyawan. Admin dapat menyetujui atau menolak pengajuan yang berstatus Pending.

FieldKeterangan
EmployeeKaryawan yang mengajukan cuti
Leave TypeJenis cuti yang dipilih
Start Date / End DateRentang tanggal cuti
Total DaysJumlah hari cuti
Pengganti (Backup)Karyawan pengganti dari departemen yang sama
ReasonAlasan cuti
StatusPending (kuning), Approved (hijau), Rejected (merah), Cancelled (abu)

✅ Cara Approve / Reject

  1. Buka halaman Leave Requests
  2. Cari pengajuan dengan status Pending (badge kuning)
  3. Klik tombol ✅ Approve (hijau) untuk menyetujui — akan diminta konfirmasi
  4. Atau klik ❌ Reject (merah) untuk menolak — wajib mengisi alasan penolakan

📋 Jenis Izin

Kelola Jenis Izin CRUD

Tentukan jenis-jenis izin (bukan cuti) yang tersedia, seperti Izin Sakit, Izin Keperluan Keluarga, dll.

FieldKeterangan
CompanyPerusahaan terkait (wajib)
NamaNama jenis izin. Contoh: Izin Sakit, Izin Keluarga
Wajib LampiranJika diaktifkan, karyawan wajib mengupload dokumen pendukung (misal surat dokter)
DescriptionDeskripsi tambahan

🛡️ Persetujuan Izin

Kelola & Approve Pengajuan Izin CRUD Setujui/Tolak

Menu ini menampilkan seluruh pengajuan izin dari karyawan. Mirip dengan Leave Requests, admin dapat menyetujui atau menolak pengajuan.

FieldKeterangan
KaryawanKaryawan yang mengajukan izin
Jenis IzinTipe izin yang dipilih
Tgl Mulai / SelesaiRentang tanggal izin
AlasanKeterangan/alasan pengajuan
LampiranFile pendukung (jika jenis izin mewajibkan)
StatusPending, Approved, Rejected, Cancelled

✅ Cara Setujui / Tolak

  1. Cari pengajuan izin berstatus Pending
  2. Klik "Setujui" untuk menyetujui (dengan konfirmasi)
  3. Atau klik "Tolak" dan isikan alasan penolakan (wajib)

💰 Payroll Periods

Kelola Periode Penggajian CRUD Generate

Menu ini digunakan untuk membuat periode penggajian bulanan dan melakukan generate slip gaji otomatis untuk seluruh karyawan aktif.

FieldKeterangan
CompanyPerusahaan terkait
NamaNama periode. Contoh: Gaji Juli 2026
Start DateTanggal awal periode gaji
End DateTanggal akhir periode gaji
StatusDraft (abu), Processing (kuning), Completed (biru), Paid (hijau)

⚡ Aksi: Generate Payroll

  1. Buat periode penggajian baru dengan status Draft
  2. Klik tombol "Generate" (ikon kalkulator) pada baris periode tersebut
  3. Sistem akan otomatis membuat payroll item untuk setiap karyawan aktif di perusahaan yang dipilih, dengan gaji pokok sesuai data karyawan
  4. Status periode berubah menjadi Processing
  5. Edit setiap payroll item untuk menambahkan tunjangan, potongan, lembur, dan pajak
  6. Ubah status menjadi Completed atau Paid secara manual

🧮 Payroll Items

Detail Slip Gaji per Karyawan CRUD

Menu ini menampilkan rincian komponen gaji untuk setiap karyawan dalam setiap periode penggajian.

FieldKeterangan
PeriodPeriode penggajian terkait
EmployeeKaryawan terkait
Base SalaryGaji pokok (Rp)
AllowancesTotal tunjangan (Rp)
DeductionsTotal potongan (Rp)
OvertimeUang lembur (Rp)
TaxPotongan pajak (Rp)
Net SalaryGaji bersih yang diterima (Rp) — ditampilkan dengan huruf tebal

Filter tersedia berdasarkan periode penggajian. Semua nilai ditampilkan dalam format mata uang Rupiah (IDR).

📁 Projects

Kelola Proyek CRUD

Menu untuk membuat dan mengelola proyek perusahaan, termasuk menetapkan anggota tim proyek.

FieldKeterangan
CompanyPerusahaan pemilik proyek
NamaNama proyek
DescriptionDeskripsi dan scope proyek
Start Date / End DateTanggal mulai dan target selesai
StatusPlanning (abu), In Progress (biru), On Hold (kuning), Completed (hijau), Cancelled (merah)
BudgetAnggaran proyek dalam Rupiah
MembersPilih anggota tim proyek (multi-select karyawan)

📎 Tab Relasi pada Halaman Edit

Saat mengedit proyek, tersedia tiga tab relasi tambahan di bagian bawah:

  • Surat Tugas — Buat dan kelola surat tugas (SK penugasan) untuk setiap anggota proyek. Nomor surat dihasilkan otomatis.
  • Inventaris Proyek — Kelola barang inventaris yang dialokasikan untuk proyek ini.
  • Dokumen Proyek — Upload dan kelola dokumen proyek (SPK, RAB, Jasa Konstruksi, Struktur Organisasi, CAR). Mendukung file PDF dan gambar hingga 10MB.

Tasks

Kelola Tugas CRUD

Menu untuk membuat dan mendelegasikan tugas kepada karyawan dalam konteks proyek tertentu.

FieldKeterangan
ProjectProyek induk tugas ini
Assigned ToKaryawan yang ditugaskan
TitleJudul tugas
DescriptionDeskripsi detail tugas
PriorityLow (abu), Medium (biru), High (kuning), Urgent (merah)
StatusTo Do, In Progress, Review, Done
Due DateBatas waktu penyelesaian

Filter tersedia berdasarkan Project, Status, dan Priority. Karyawan dapat memperbarui status task mereka dari portal Employee.

📊 Performance Assessment

Penilaian Kinerja Karyawan CRUD

Menu utama untuk melakukan penilaian kinerja (evaluasi) terhadap karyawan. Terdapat dua jenis evaluasi:

  • Office Evaluation — Evaluasi untuk karyawan kantor (office-based)
  • Project Evaluation — Evaluasi untuk karyawan di lapangan (project-based). Pertanyaan dapat disesuaikan berdasarkan jabatan karyawan.
FieldKeterangan
KaryawanPilih karyawan yang akan dievaluasi (wajib)
Jenis EvaluasiOffice Evaluation atau Project Evaluation
Tahap (Phase)Tahap 1 atau Tahap 2 (evaluasi bertingkat)
PeriodePeriode evaluasi. Contoh: Juni 2026
PenilaiUser yang melakukan penilaian (assessor)
StatusDraft (abu) atau Final (hijau)

📝 Cara Melakukan Penilaian

  1. Klik "New Performance Assessment"
  2. Pilih karyawan dan jenis evaluasi — pertanyaan penilaian akan muncul secara otomatis
  3. Untuk Project Evaluation, pertanyaan disesuaikan dengan jabatan karyawan. Jika jabatan tidak memiliki kategori kompetensi, akan muncul peringatan.
  4. Berikan skor 1 s.d. 5 untuk setiap pertanyaan (1=Sangat Kurang, 5=Sangat Baik)
  5. Set status Draft (masih bisa diedit) atau Final (terkunci dan terlihat oleh karyawan)
  6. Klik Save
ℹ️ Rata-rata nilai ditampilkan di tabel list dengan warna: Hijau (≥4), Biru (≥3), Kuning (≥2), Merah (<2). Karyawan hanya dapat melihat penilaian yang berstatus Final di portal mereka.

⚙️ Kelola Kategori & Pertanyaan

Master Data Assessment CRUD

Menu ini untuk mengatur kategori dan pertanyaan yang digunakan dalam formulir penilaian kinerja.

Field KategoriKeterangan
Tipe AssessmentOffice Evaluation atau Project Evaluation
Nama KategoriNama kelompok pertanyaan. Contoh: Kedisiplinan, Kompetensi Teknis
Jabatan (khusus Project)Jika diisi, kategori ini hanya muncul untuk jabatan tertentu. Kosongkan untuk berlaku universal.
Urutan TampilAngka urutan tampil di formulir penilaian

Pada halaman edit setiap kategori, terdapat tab "Questions" untuk menambahkan pertanyaan-pertanyaan evaluasi di bawah kategori tersebut.

💡 Untuk membuat pertanyaan kompetensi yang spesifik per jabatan (misal: pertanyaan teknis untuk Software Developer berbeda dengan pertanyaan untuk Site Manager), buat kategori terpisah dengan Jabatan yang sesuai dan Tipe = Project.

🏷️ Inventory Categories

Kategori Inventaris CRUD

Tentukan kategori pengelompokan untuk barang inventaris perusahaan. Contoh: Elektronik, ATK, Peralatan Lapangan.

FieldKeterangan
CompanyPerusahaan pemilik kategori
NamaNama kategori inventaris
DescriptionDeskripsi singkat

📦 Inventory Items

Kelola Barang Inventaris CRUD

Menu untuk mencatat dan memantau stok barang inventaris perusahaan.

FieldKeterangan
CompanyPerusahaan pemilik barang
CategoryKategori inventaris
NamaNama barang
DescriptionDeskripsi barang
QuantityJumlah stok saat ini
UnitSatuan: pcs, box, kg, dll.
Min StockBatas minimum stok (early warning)
PriceHarga satuan barang (Rp)
LocationLokasi penyimpanan
⚠️ Barang dengan jumlah stok ≤ Min Stock akan ditandai dengan warna merah di kolom Quantity. Gunakan filter "Low Stock" untuk melihat barang yang perlu di-restock.

🔄 Inventory Transactions

Pencatatan Transaksi Inventaris Create + View

Catat setiap pergerakan stok barang inventaris (masuk, keluar, penyesuaian, pengembalian).

FieldKeterangan
ItemPilih barang inventaris
EmployeeKaryawan yang terlibat
TypeStock In (hijau), Stock Out (merah), Adjustment (kuning), Return (biru)
QuantityJumlah unit yang ditransaksikan
ReferenceNomor referensi (opsional)
NotesCatatan tambahan
ℹ️ Transaksi inventaris bersifat append-only: hanya bisa dibuat dan dilihat, tidak bisa diedit atau dihapus, untuk menjaga integritas data audit trail.

🚗 Kendaraan

Kelola Kendaraan Operasional CRUD

Menu untuk mengelola seluruh kendaraan milik perusahaan, termasuk pelacakan pajak, STNK, PIC, dan riwayat perbaikan.

Section 1: Informasi Kendaraan

FieldKeterangan
Merk KendaraanMerk/model kendaraan (wajib)
Nomor PolisiPlat nomor, unik (wajib)
Nomor MesinNomor mesin kendaraan (wajib)
Nomor RangkaNomor rangka kendaraan (wajib)
Atas NamaNama pemilik di STNK/BPKB

Section 2: Pembelian & Lokasi

FieldKeterangan
Harga BeliHarga pembelian (Rp)
Tanggal BeliTanggal pembelian kendaraan
PIC / Penanggung JawabKaryawan yang bertanggung jawab
Lokasi (Branch)Cabang/lokasi kendaraan ditempatkan
ProyekProyek yang menggunakan kendaraan
StatusAktif, Tidak Aktif, Dalam Perbaikan
AsuransiToggle apakah memiliki asuransi

Section 3: Pajak & STNK

FieldKeterangan
Pajak Berlaku SampaiTanggal jatuh tempo pajak
Biaya Perpanjang PajakEstimasi biaya perpanjangan pajak (Rp)
STNK Berlaku SampaiTanggal jatuh tempo STNK
Biaya Perpanjang STNKEstimasi biaya perpanjangan STNK (Rp)
⚠️ Di tabel list, kolom Pajak Berlaku dan STNK Berlaku ditampilkan sebagai badge berwarna: Merah (≤30 hari), Kuning (≤60 hari), Hijau (>60 hari). Dashboard juga menampilkan widget peringatan untuk kendaraan yang pajaknya/STNK-nya segera habis.

📎 Tab Relasi pada Halaman View/Edit

  • Riwayat Perbaikan — Catat setiap servis/perbaikan kendaraan beserta biaya dan deskripsinya.
  • Riwayat PIC — Riwayat serah terima kendaraan antar karyawan, mencatat tanggal penugasan dan pelepasan.

🔑 User Management

Kelola Akun Pengguna CRUD

Menu untuk membuat dan mengelola akun login pengguna sistem (Users). Setiap karyawan harus memiliki satu akun user yang terhubung.

FieldKeterangan
NameNama tampilan pengguna
EmailEmail login, harus unik
PasswordPassword login. Wajib saat create, opsional saat edit (kosongkan jika tidak ingin mengubah).
Is ActiveToggle aktif/non-aktif. User non-aktif tidak bisa login ke panel manapun.
RolesPilih satu atau lebih role: super_admin, admin, hr_manager, employee
ℹ️ Akses Panel berdasarkan Role:
super_admin, admin, hr_manager → Panel Admin (/admin) + Panel Employee (/employee)
employee → Hanya Panel Employee (/employee)