Alur Kerja & Arsitektur Proyek
Skema arsitektur sistem, alur operasional, dan pemetaan komunikasi antar-layanan.
Apa itu SRM Command Center?
SRM Command Center adalah aplikasi dashboard internal yang dikembangkan secara khusus untuk tim Security Risk Management (SRM) PT Freeport Indonesia. Aplikasi ini mengintegrasikan berbagai macam data operasional—seperti area penugasan, daftar nomor kontak darurat, pengiriman laporan lapangan, status outposts pengamanan, dan repositori dokumen SOP—ke dalam satu portal visual yang aman dan cepat.
Kenapa Aplikasi Ini Dibuat?
Sebelumnya, personel pengamanan di sektor Highland dan Lowland bekerja dengan data yang terpisah. Berkas SOP disimpan secara manual, dan pelaporan pos pengamanan dilakukan via berkas statis. Command Center menyelesaikan masalah ini dengan menyediakan kontrol akses berbasis peran (RBAC) yang seragam, memusatkan alur persetujuan laporan lapangan, dan menyediakan pencarian pintar berbasis kecerdasan buatan (NLP) untuk menemukan SOP saat terjadi insiden.
Pengguna & Peran Utama Main Users & Roles
Super Admin
Hak akses penuh ke seluruh sistem. Mengelola database, menetapkan hak akses peran, audit log, manajemen pengguna, serta memantau integrasi API FastAPI.
SRM Manager
Memiliki izin tinjau laporan. Memantau dasbor ringkasan operasi lapangan, melihat riwayat insiden, log aktivitas AOR, dan mengevaluasi metrik kinerja.
SOC Admin
Bertanggung jawab atas verifikasi laporan insiden harian, menyetujui draf berita/pengumuman lapangan, mengelola kontak darurat, serta memperbarui pustaka file SOP.
Security Staff & QRF
Personel di lapangan. Mengirimkan laporan keamanan, mencatat jumlah penjaga di pos, melihat peta AOR, serta mencari dokumen panduan SOP menggunakan AI.
Arsitektur Sistem Tingkat Tinggi High-Level System Architecture
Personel Keamanan / Browser Pengguna
React Frontend Client (Tailwind)Memuat file model `.pkl` (Pickle) hasil training dataset di Google Colab
Modul Utama Aplikasi Core Application Modules
1. Dashboard
Pemetaan pos jaga aktif, indikator cuaca, jumlah antrean approval, informasi darurat, dan tombol pemilih wilayah kerja Highland/Lowland.
2. Emergency Center
Daftar kontak darurat prioritas yang disaring berdasarkan AOR, disertai dengan pemancar sinyal bahaya (broadcast alert).
3. AOR Management
Pengaturan batas wilayah tugas (Highland AOR 3-6 & Lowland AOR 1-2) lengkap dengan peta sektor GIS statis serta data manajer wilayah.
4. Manned Guarding Reports
Pencatatan daftar hadir pos jaga, pembagian shift kerja tim pengamanan, serta laporan harian status outposts.
5. News and Field Reports
Formulir pengiriman laporan insiden keamanan dari lapangan oleh staf pengaman, lengkap dengan unggahan bukti foto.
6. Approval Center
Antrean persetujuan khusus bagi admin SOC atau manajer untuk memeriksa, menyetujui, atau menolak draf berita dan laporan lapangan.
7. Document and SOP Library
Pustaka penyimpanan berkas dokumen panduan SOP keamanan yang aman, lengkap dengan kontrol hak akses Clearance Level.
8. Recommendation Engine
Menangani ekstraksi kemiripan teks dokumen SOP menggunakan algoritma NLP yang dieksekusi di server FastAPI Python.
9. Archive
Tempat pengarsipan berkas laporan insiden lama yang telah diselesaikan serta dokumen sejarah AOR.
10. Admin Management
Menu khusus Super Admin untuk mengatur akun pengguna, memberikan otorisasi peran (roles Protection), dan mengedit parameter database.
11. Analytics and Logs
Dashboard audit log sistem, pelacakan aktivitas click-rate, statistik pencarian, dan rekaman fallback koneksi API.
Alur Rekomendasi Dokumen SOP
Berikut merupakan alur pemrosesan dari dokumen mentah hingga dapat disajikan kepada petugas di lapangan berdasarkan kata kunci risiko:
Upload Dokumen
Admin mengunggah dokumen SOP/policy/report via panel Laravel
Indeks Database
Teks dokumen diproses dan diindeks ke tabel metadata database
TF-IDF Vectorizer
Python FastAPI memproses representasi numerik teks dengan model TF-IDF
Pencarian / Query
User mengetik query risiko atau masalah keamanan di kolom cari
Cosine Similarity
Sistem menghitung kecocokan skor Cosine Similarity query ke model
Hasil Tampilan
Laravel menampilkan rekomendasi dokumen berperingkat kecocokan
Umpan Balik
User memberi feedback relevan atau tidak relevan demi akurasi
Alur Pengguna Lapangan
- 01. Login: Personel melakukan autentikasi kredensial untuk memperoleh izin peran dashboard.
- 02. Catat Pos: Memilih pos pengamanan aktif, memasukkan jumlah penjaga, dan mencatat checklist log pos.
- 03. Kirim Laporan: Mengisi formulir kejadian lapangan, mengunggah bukti foto, lalu menyimpan ke antrean persetujuan.
- 04. Pencarian SOP: Bila terjadi ancaman, user mencari panduan respons cepat menggunakan mesin pencari berbasis AI.
Alur Persetujuan Laporan
- 01. Notifikasi Masuk: Laravel mengirimkan event. Antrean peninjauan laporan di sidebar bertambah.
- 02. Peninjauan Berkas: SOC Admin membuka antrean, memeriksa detail kronologi kejadian serta lampiran gambar.
- 03. Keputusan Admin: Memilih tombol "Approve" (Setuju) atau "Reject" (Tolak), disertai komentar evaluasi.
- 04. Audit Transaction: Sistem menulis catatan ke `approval_logs` di database. Dasbor visual terupdate secara instan.
Pemetaan Letak Struktur Program & Fitur
Berikut adalah pemetaan letak komponen frontend, backend, struktur database, serta modul-modul penting dalam sistem SRM Command Center:
Frontend Layer (React + Inertia.js)
Terletak di direktori resources/js/. Menangani rendering antarmuka pengguna secara responsif.
- Landing Page (Home): Rute
/→Welcome.jsx - Halaman Login: Rute
/login→Auth/Login.jsx - Admin/Ops Dashboard: Rute
/dashboard→Dashboard.jsx - Emergency Center: Rute
/emergency→Emergency/Index.jsx - AOR Detail: Rute
/aor/{id}→Aor/Show.jsx
Backend Core (Laravel 11)
Terletak di direktori app/ dan routes/web.php. Mengatur otentikasi, otorisasi RBAC (7 roles), logging aktivitas, data MySQL, dan integrasi API FastAPI.
AI Recommendation Engine (FastAPI)
Terletak di /recommendation_service (Port 8000). Memproses vektor dokumen SOP via TF-IDF dan menghitung Cosine Similarity menggunakan file model .pkl.
Struktur Database (MySQL - 19 Tabel) Database Structure (MySQL - 19 Tables)
Sistem menggunakan database relasional terpusat dengan 19 tabel utama untuk mengelola seluruh data Command Center:
• Autentikasi & RBAC
- users
- roles
- permissions
- role_user
- permission_role
• Area & Kontak
- aor_groups
- areas
- emergency_contacts
• Laporan & Approval
- news_posts
- field_reports
- approval_logs
• SOP Pustaka & Log AI
- documents
- document_categories
- document_tags
- document_tag
- recommendation_logs
- recommendation_feedback
- archive_items
- activity_logs
Workflow Masa Depan Terintegrasi
Setelah seluruh 20 tiket pengembangan selesai diimplementasikan, Command Center akan menjadi hub tanggap darurat yang terintegrasi secara dinamis. Ketika staf lapangan melaporkan insiden berstatus kritis di AOR tertentu, sistem akan secara otomatis memicu banner peringatan darurat di terminal pusat, menyajikan daftar nomor respons darurat wilayah kerja terkait, menyarankan SOP mitigasi berbasis kemiripan teks NLP, dan mencatat riwayat log audit untuk laporan direksi.