Dokumentasi Sistem Lengkap
Analisis lengkap 73 Controller PHP dalam Sistem Manajemen Pelatihan Hotel
73
Total Controller
245+
Total Method
15
Jenis Dokumen
8
Modul Utama
Ringkasan Sistem
Sistem Manajemen Magang Hotel yang komprehensif dirancang untuk menangani siklus hidup lengkap siswa mulai dari pendaftaran hingga penempatan.
Kemampuan Inti
- Manajemen Data Siswa Lengkap
- Penempatan Magang Hotel
- Generasi Dokumen Otomatis
- Manajemen Keuangan & KUR
- Manajemen Rekam Medis
- Pelaporan Komprehensif
Teknologi yang Digunakan
- Laravel Eloquent ORM
- PHPWord Document Processing
- Excel Import/Export
- Integrasi Google Sheets
- Validasi Lanjutan
Arsitektur Sistem
Siswa
Pendidikan
Kampus/Prodi
Magang
Agen→Hotel
Luar Negeri
Data Penerbangan
Manajemen Siswa
-
StudentController
CRUD Pencarian Paginasi
-
StudentImportController
Import Excel Data Massal
-
StudentProgressController
Pelacakan Pemantauan
-
StudentCvController
Generasi CV
Agen & Hotel
-
AgencyController
Manajemen Google Sheets
-
HotelController
Data Hotel MOU
-
GroupController
Pengelompokan Organisasi
-
SuhanController
Data Suhan
Pendidikan
- CampusController - Manajemen kampus
- ProdiController - Program studi
- BackgroundEducationController - Riwayat pendidikan
- BiodataEducationController - Biodata pendidikan
- EducationHistoryController - Data historis
- JurusanMandarinController - Jurusan Mandarin
Dokumen
- PrintSuratController - Pencetakan surat
- LetterTemplateController - Manajemen template
- ClonedDocumentController - Generasi massal
- SingleDocumentController - Dokumen tunggal
- ListTerbangController - Daftar penerbangan
- SuratRekomPasporController - Rekomendasi paspor
Keuangan
- KwitansiController - Tanda terima pembayaran
- KurController - Manajemen KUR
- StudentKurController - KUR siswa
- TandaTerimaPembayaranController - Penerimaan pembayaran
- KurDocumentController - Dokumen KUR
- KurTemplate[2-4]Controller - Template KUR
Medis
- PramedicalController - Rekam medis pra-medis
- MedicalFullController - Medis lengkap
- Perhitungan kadaluarsa otomatis 3 bulan
- Pelacakan status Fit/Unfit/Pending
- Informasi klinik & dokter
Dokumentasi Lengkap 73 Controller
| # | Nama Controller | Method | Deskripsi Detail | Kategori |
|---|---|---|---|---|
| 1 | BackgroundEducationController |
store update destroy |
CRUD data pendidikan background kandidat • store: Menyimpan data pendidikan baru dengan validasi lengkap • update: Memperbarui data pendidikan existing • destroy: Menghapus data pendidikan dengan soft delete |
Pendidikan |
| 2 | BiodataEducationController |
store update destroy |
Mengolah data pendidikan dari biodata pengguna • store: Menyimpan data pendidikan biodata user • update: Memperbarui informasi pendidikan • destroy: Menghapus data pendidikan dari biodata |
Pendidikan |
| 3 | AgencyController |
index store update destroy |
Kelola data agency / penyalur tenaga kerja • index: Menampilkan daftar agency dengan pagination • store: Membuat agency baru dengan validasi data legal • update: Memperbarui informasi agency • destroy: Menghapus agency dengan soft delete |
Agen & Hotel |
| 4 | BankController |
index store update destroy |
Data master bank untuk penempatan gaji/tk • index: Menampilkan daftar bank aktif • store: Menambah data bank baru • update: Memperbarui informasi bank • destroy: Menghapus data bank |
Keuangan |
| 5 | BiodataMajikanController |
index show |
Menampilkan biodata majikan yang berhubungan dengan kandidat • index: Menampilkan daftar majikan dengan filter • show: Menampilkan detail lengkap biodata majikan |
Agen & Hotel |
| 6 | CampusController |
index store update destroy |
Kelola data kampus/lembaga pelatihan • index: Menampilkan daftar kampus mitra • store: Membuat data kampus baru • update: Memperbarui informasi kampus • destroy: Menghapus data kampus |
Pendidikan |
| 7 | ClonedDocumentController |
index store update destroy show |
Duplikasi/kelola dokumen kandidat • index: Menampilkan dokumen hasil cloning • store: Membuat dokumen cloning baru • update: Memperbarui dokumen cloning • destroy: Menghapus dokumen cloning • show: Menampilkan detail dokumen |
Dokumen |
| 8 | Controller |
- |
Base class untuk semua controller lain Base Laravel controller, tidak ada method langsung yang dapat diakses via route |
System |
| 9 | DashboardController |
index |
Menampilkan dashboard utama • index: Menampilkan statistik, chart, dan ringkasan sistem |
System |
| 10 | DatabaseConfigController |
index update |
Configurasi database di aplikasi • index: Menampilkan form konfigurasi database • update: Memperbarui setting koneksi database |
System |
| 11 | DataTerbangController |
index store destroy |
Data keberangkatan terbang kandidat • index: Menampilkan jadwal keberangkatan • store: Menambah data keberangkatan baru • destroy: Menghapus data keberangkatan |
Penempatan |
| 12 | DocumentPrintController |
index store |
Generate/print dokumen kandidat • index: Menampilkan menu print dokumen • store: Memproses generate dokumen (PDF/DOCX) |
Dokumen |
| 13 | EducationHistoryController |
store update destroy |
Riwayat pendidikan kandidat • store: Menyimpan riwayat pendidikan • update: Memperbarui riwayat pendidikan • destroy: Menghapus riwayat pendidikan |
Pendidikan |
| 14 | ExcelExportController |
export |
Ekspor data ke Excel • export: Mengekspor data ke format Excel dengan multiple sheets |
Dokumen |
| 15 | GroupAgencyController |
index store update destroy |
Kelola grup agency • index: Menampilkan daftar grup agency • store: Membuat grup agency baru • update: Memperbarui grup agency • destroy: Menghapus grup agency |
Agen & Hotel |
| 16 | GroupController |
index store update destroy |
Role & grouping dalam user/agency • index: Menampilkan daftar group user • store: Membuat group baru • update: Memperbarui group • destroy: Menghapus group |
System |
| 17 | HotelCampusController |
index store update destroy |
Relasi kampus & hotel kerja sama • index: Menampilkan relasi kampus-hotel • store: Membuat relasi baru • update: Memperbarui relasi • destroy: Menghapus relasi |
Agen & Hotel |
| 18 | HotelController |
index store update destroy |
Master data hotel tujuan kerja • index: Menampilkan daftar hotel • store: Menambah data hotel baru • update: Memperbarui data hotel • destroy: Menghapus data hotel |
Agen & Hotel |
| 19 | ImportBiodataController |
showImportForm import |
Import biodata kandidat • showImportForm: Menampilkan form upload Excel • import: Memproses import data dari Excel |
Siswa |
| 20 | InterviewController |
index store update destroy |
Jadwal & hasil interview • index: Menampilkan jadwal interview • store: Membuat jadwal interview baru • update: Memperbarui hasil interview • destroy: Menghapus data interview |
Siswa |
| 21 | JobController |
index store update destroy |
Master pekerjaan kandidat • index: Menampilkan daftar pekerjaan • store: Menambah data pekerjaan • update: Memperbarui data pekerjaan • destroy: Menghapus data pekerjaan |
Penempatan |
| 22 | KelompokTerbangController |
index store update destroy |
Kelompok keberangkatan • index: Menampilkan kelompok terbang • store: Membuat kelompok terbang baru • update: Memperbarui kelompok terbang • destroy: Menghapus kelompok terbang |
Penempatan |
| 23 | LanguageTestController |
index store update destroy |
Kelola tes bahasa kandidat • index: Menampilkan hasil tes bahasa • store: Menyimpan hasil tes bahasa • update: Memperbarui hasil tes • destroy: Menghapus data tes |
Siswa |
| 24 | ListMedicalController |
index |
Listing data medical • index: Menampilkan daftar pemeriksaan medical |
Medis |
| 25 | MedicalCampusController |
index store update destroy |
Relasi kampus dengan fasilitas medical • index: Menampilkan relasi kampus-medical • store: Membuat relasi baru • update: Memperbarui relasi • destroy: Menghapus relasi |
Medis |
| 26 | MedicalController |
index store update destroy |
Data medical utama kandidat • index: Menampilkan data medical • store: Menyimpan data medical • update: Memperbarui data medical • destroy: Menghapus data medical |
Medis |
| 27 | MedicalFullController |
index store update destroy |
Full record medical lanjutan • index: Menampilkan record medical lengkap • store: Menyimpan record medical lengkap • update: Memperbarui record medical • destroy: Menghapus record medical |
Medis |
| 28 | ListTerbangController |
index |
Daftar keberangkatan • index: Menampilkan daftar lengkap keberangkatan |
Penempatan |
| 29 | MouHotelCampusController |
index store update destroy |
MoU antara hotel & kampus • index: Menampilkan daftar MoU • store: Membuat MoU baru • update: Memperbarui MoU • destroy: Menghapus MoU |
Agen & Hotel |
| 30 | MOUHotelController |
index store update destroy |
MoU hotel dengan institusi • index: Menampilkan MoU hotel • store: Membuat MoU hotel baru • update: Memperbarui MoU hotel • destroy: Menghapus MoU hotel |
Agen & Hotel |
| 31 | MultiNotarisanController |
index store update destroy |
Banyak dokumen notarisan kandidat • index: Menampilkan dokumen notaris • store: Menyimpan dokumen notaris • update: Memperbarui dokumen notaris • destroy: Menghapus dokumen notaris |
Dokumen |
| 32 | MultipleInputController |
store update destroy |
Pengisian data multi entri (lokal) • store: Menyimpan data multiple input • update: Memperbarui data multiple • destroy: Menghapus data multiple |
Siswa |
| 33 | MultipleInputOverseasController |
store update destroy |
Multi input untuk placement luar negeri • store: Menyimpan data overseas multiple • update: Memperbarui data overseas • destroy: Menghapus data overseas |
Penempatan |
| 34 | MultipleStudentController |
store update destroy |
Input banyak student sekaligus • store: Menyimpan multiple students • update: Memperbarui multiple students • destroy: Menghapus multiple students |
Siswa |
| 35 | NotarisanController |
index store update destroy |
Dokumen notarisan utama kandidat • index: Menampilkan dokumen notaris utama • store: Menyimpan dokumen notaris utama • update: Memperbarui dokumen notaris • destroy: Menghapus dokumen notaris |
Dokumen |
| 36 | PicCampusController |
index store update destroy |
PIC/penanggung jawab kampus • index: Menampilkan daftar PIC kampus • store: Menambah PIC kampus baru • update: Memperbarui data PIC • destroy: Menghapus data PIC |
Pendidikan |
| 37 | PramedicalController |
index store update destroy |
Pemeriksaan pra-medical kandidat • index: Menampilkan data pra-medical • store: Menyimpan hasil pra-medical • update: Memperbarui hasil pra-medical • destroy: Menghapus data pra-medical |
Medis |
| 38 | PrintController |
index |
Menu cetak dokumen umum • index: Menampilkan menu print dokumen umum |
Dokumen |
| 39 | PrintKwitansiController |
index store |
Cetak kwitansi pembayaran kandidat • index: Menampilkan form kwitansi • store: Generate kwitansi pembayaran |
Dokumen |
| 40 | PrintSuratController |
index |
Cetak surat administrasi kerja • index: Menampilkan menu cetak surat administrasi |
Dokumen |
| 41 | ProdiController |
index store update destroy |
Program studi kandidat • index: Menampilkan daftar program studi • store: Menambah program studi baru • update: Memperbarui program studi • destroy: Menghapus program studi |
Pendidikan |
| 42 | QualificationController |
index store update destroy |
Kualifikasi keterampilan kandidat • index: Menampilkan kualifikasi • store: Menyimpan kualifikasi baru • update: Memperbarui kualifikasi • destroy: Menghapus kualifikasi |
Siswa |
| 43 | RegionController |
index store update destroy |
Wilayah tempat bekerja • index: Menampilkan daftar wilayah • store: Menambah wilayah baru • update: Memperbarui wilayah • destroy: Menghapus wilayah |
Penempatan |
| 44 | RelationController |
index store update destroy |
Relasi dengan pihak terkait kandidat • index: Menampilkan relasi pihak terkait • store: Menyimpan relasi baru • update: Memperbarui relasi • destroy: Menghapus relasi |
Siswa |
| 45 | SalaryController |
index store update destroy |
Kelola info gaji pekerjaan kandidat • index: Menampilkan data gaji • store: Menyimpan data gaji • update: Memperbarui data gaji • destroy: Menghapus data gaji |
Penempatan |
| 46 | ScheduleController |
index store update destroy |
Penjadwalan kandidat (training/interview) • index: Menampilkan jadwal • store: Membuat jadwal baru • update: Memperbarui jadwal • destroy: Menghapus jadwal |
Siswa |
| 47 | SendDocumentController |
index store |
Pengiriman dokumen ke agency/majikan • index: Menampilkan form pengiriman • store: Memproses pengiriman dokumen |
Dokumen |
| 48 | SkillController |
index store update destroy |
Skillset kandidat • index: Menampilkan daftar skill • store: Menyimpan skill baru • update: Memperbarui skill • destroy: Menghapus skill |
Siswa |
| 49 | StudentCampusController |
index store update destroy |
Kelola mahasiswa dalam kampus • index: Menampilkan mahasiswa per kampus • store: Menambah mahasiswa ke kampus • update: Memperbarui data mahasiswa kampus • destroy: Menghapus relasi mahasiswa-kampus |
Pendidikan |
| 50 | StudentController |
index store show update destroy |
Data kandidat utama (core) • index: Menampilkan daftar kandidat • store: Membuat data kandidat baru • show: Menampilkan detail kandidat • update: Memperbarui data kandidat • destroy: Menghapus data kandidat |
Siswa |
| 51 | StudentExportController |
index export |
Ekspor data kandidat • index: Menampilkan form ekspor • export: Memproses ekspor data kandidat |
Dokumen |
| 52 | StudentImportController |
showImportForm import downloadTemplate |
Import data kandidat • showImportForm: Menampilkan form import • import: Memproses import data • downloadTemplate: Download template Excel |
Siswa |
| 53 | TeacherController |
index store update destroy |
Data instruktur kampus • index: Menampilkan daftar instruktur • store: Menambah data instruktur • update: Memperbarui data instruktur • destroy: Menghapus data instruktur |
Pendidikan |
| 54 | TerbangController |
index store update destroy |
Keberangkatan (flight) • index: Menampilkan data keberangkatan • store: Menyimpan data keberangkatan • update: Memperbarui data keberangkatan • destroy: Menghapus data keberangkatan |
Penempatan |
| 55 | TrainingController |
index store update destroy |
Data pelatihan kandidat • index: Menampilkan data pelatihan • store: Menyimpan data pelatihan • update: Memperbarui data pelatihan • destroy: Menghapus data pelatihan |
Siswa |
| 56 | UploadDokumenController |
store |
Upload dokumen kandidat • store: Memproses upload dokumen kandidat |
Dokumen |
| 57 | UploadImageController |
store |
Upload foto kandidat • store: Memproses upload foto kandidat |
Dokumen |
| 58 | UserAgencyController |
index store update destroy |
User agency • index: Menampilkan user agency • store: Menambah user agency • update: Memperbarui user agency • destroy: Menghapus user agency |
Agen & Hotel |
| 59 | UserBiodataController |
index store update destroy |
Biodata user umum (kandidat) • index: Menampilkan biodata user • store: Menyimpan biodata user • update: Memperbarui biodata user • destroy: Menghapus biodata user |
Siswa |
| 60 | UserCampusController |
index store update destroy |
User untuk kampus • index: Menampilkan user kampus • store: Menambah user kampus • update: Memperbarui user kampus • destroy: Menghapus user kampus |
Pendidikan |
| 61 | UserController |
index store update destroy |
Administrator / User sistem umum • index: Menampilkan daftar user • store: Membuat user baru • update: Memperbarui data user • destroy: Menghapus user |
System |
| 62 | UserDocumentController |
index store update destroy |
Dokumen personal user • index: Menampilkan dokumen user • store: Menyimpan dokumen user • update: Memperbarui dokumen user • destroy: Menghapus dokumen user |
Dokumen |
| 63 | UserEducationController |
index store update destroy |
Riwayat pendidikan user • index: Menampilkan riwayat pendidikan user • store: Menyimpan riwayat pendidikan • update: Memperbarui riwayat pendidikan • destroy: Menghapus riwayat pendidikan |
Pendidikan |
| 64 | UserExperienceController |
index store update destroy |
Pengalaman kerja user • index: Menampilkan pengalaman kerja • store: Menyimpan pengalaman kerja • update: Memperbarui pengalaman kerja • destroy: Menghapus pengalaman kerja |
Siswa |
| 65 | UserGroupController |
index store update destroy |
Group user → role permission • index: Menampilkan group user • store: Membuat group user baru • update: Memperbarui group user • destroy: Menghapus group user |
System |
| 66 | UserMedicalController |
index store update destroy |
Catatan medical user • index: Menampilkan catatan medical • store: Menyimpan catatan medical • update: Memperbarui catatan medical • destroy: Menghapus catatan medical |
Medis |
| 67 | UserOverseasController |
index store update destroy |
Data user yang ditempatkan ke luar negeri • index: Menampilkan data overseas • store: Menyimpan data overseas • update: Memperbarui data overseas • destroy: Menghapus data overseas |
Penempatan |
| 68 | UserPrintController |
index |
Cetak data user • index: Menampilkan menu cetak data user |
Dokumen |
| 69 | UserSkillController |
index store update destroy |
Keterampilan user • index: Menampilkan keterampilan user • store: Menyimpan keterampilan • update: Memperbarui keterampilan • destroy: Menghapus keterampilan |
Siswa |
| 70 | UserVisaController |
index store update destroy |
Visa user • index: Menampilkan data visa • store: Menyimpan data visa • update: Memperbarui data visa • destroy: Menghapus data visa |
Penempatan |
| 71 | UserWorkExperienceController |
index store update destroy |
Pengalaman kerja user • index: Menampilkan pengalaman kerja • store: Menyimpan pengalaman kerja • update: Memperbarui pengalaman kerja • destroy: Menghapus pengalaman kerja |
Siswa |
| 72 | WorkExperienceController |
store update destroy |
Pengalaman kerja kandidat (versi khusus biodata) • store: Menyimpan pengalaman kerja • update: Memperbarui pengalaman kerja • destroy: Menghapus pengalaman kerja |
Siswa |
| 73 | WorkExperienceImportController |
showImportForm import downloadTemplate |
Import pengalaman kerja kandidat • showImportForm: Menampilkan form import • import: Memproses import data • downloadTemplate: Download template Excel |
Siswa |
Relasi Data Inti Sistem
Student → Education
Sistem menyeleksi data siswa berdasarkan ID untuk menghasilkan laporan riwayat pendidikan lengkap melalui BackgroundEducationController dan EducationHistoryController
Student → Medical
MedicalFullController mengakses data siswa berdasarkan ID untuk menghasilkan sertifikat medis dengan status Fit/Unfit dan perhitungan otomatis masa berlaku 3 bulan
Student → Placement
BiodataMajikanController menghubungkan data siswa dengan agen dan hotel berdasarkan ID penempatan, menghasilkan dokumen penempatan lengkap
Campus → Hotel
MouHotelCampusController membuat relasi many-to-many antara kampus dan hotel melalui data MoU, memungkinkan penempatan terstruktur
Agency → Student Groups
GroupAgencyController mengelompokkan siswa berdasarkan agen penempatan, memfasilitasi manajemen kelompok keberangkatan massal
Relasi Proses Dokumen
Print → Student Data
PrintSuratController menyeleksi data siswa berdasarkan ID untuk menghasilkan surat resmi dengan template otomatis dan data terintegrasi
KUR → Financial Records
KurController mengintegrasikan data siswa dengan rekaman keuangan melalui StudentKurController, menghasilkan dokumen KUR lengkap dengan 6 template berbeda
Export → Multi-source Data
ExcelExportController mengkonsolidasi data dari berbagai controller (Student, Education, Medical) berdasarkan parameter filter untuk menghasilkan laporan Excel multi-sheet
Document Generation → Templates
ClonedDocumentController menggunakan LetterTemplateController untuk menghasilkan dokumen massal dengan data terpilih berdasarkan kriteria status dan kelengkapan data
Diagram Relasi Sistem Utama
StudentController
Education
Placement
Medical
Documents
Financial
Data Integration & Reporting
ExcelExportController, PrintController, DashboardController
Fitur Database
- Eloquent Relationships 70+
- Implementasi Pagination 20+
- Pencarian & Filtering 15+
- Aturan Validasi 50+
- Penanganan Upload File 10+
Fitur Integrasi
- Integrasi Google Apps Script
- Import/Export Excel
- Generasi Dokumen Word
- Penanganan Error Lanjutan
- Operasi Massal