Ringkasan Eksekutif
Cadangan Pembangunan Perkhidmatan Digital Portal Rasmi JKPTG
Cadangan ini bukan sekadar pembangunan semula portal, tetapi merupakan transformasi perkhidmatan digital JKPTG yang merangkumi:
- Tadbir Urus Digital - Struktur kawalan, kelulusan kandungan, dan akauntabiliti
- Pematuhan Piawaian - MAMPU, WCAG 2.1 AA, PDPA, MyGDX-readiness
- Keselamatan Bersepadu - Bukan sekadar VA/PT, tetapi governance framework
- Kelestarian Operasi - Pelan migrasi, pemilikan, dan kesinambungan perkhidmatan
- Pematuhan piawaian MAMPU untuk CMS kerajaan
- Komuniti pembangun tempatan yang aktif
- Ketersediaan sumber manusia untuk penyelenggaraan
- Kos pemilikan jangka panjang lebih rendah
- Audit trail dan logging terbina dalam
- Migrasi antara versi telah terbukti stabil
- Pembangunan menggunakan Joomla 5.2+ (versi terkini)
- Kod custom mengikut Joomla coding standards
- Template menggunakan Bootstrap 5 (platform-agnostic)
- Migrasi ke Joomla 6 LTS dalam DLP (Tahun 1)
- Dokumentasi teknikal lengkap untuk vendor succession
- Source code escrow arrangement
| Komponen | Skop | Pemilikan |
|---|---|---|
| Portal Awam | 25+ halaman, responsive, WCAG 2.1 AA compliant | JKPTG |
| Sistem CMS | Joomla 5.x dengan custom template dan extensions | JKPTG |
| Chatbot | Freshwork dengan knowledge base terkawal | Lesen 2 tahun |
| Dokumentasi | Teknikal, operasi, pengguna, dan keselamatan | JKPTG |
| Source Code | Custom template, extensions, configurations | JKPTG |
Tel: 03-2166 6558 | Email: info@unijaya.com | CP: W10181032100126
Tadbir Urus & Akauntabiliti
Struktur kawalan, kelulusan, dan tanggungjawab operasi
| Aktiviti | Super Admin | Publisher | Editor | Author |
|---|---|---|---|---|
| Konfigurasi sistem | R/A | - | - | - |
| Pengurusan pengguna | R/A | C | - | - |
| Kelulusan penerbitan | A | R | C | I |
| Semakan kandungan | I | A | R | C |
| Penyediaan kandungan | I | I | C | R |
| Audit log review | R/A | C | - | - |
R = Responsible, A = Accountable, C = Consulted, I = Informed
- Draft - Author mencipta kandungan, status: Draft
- Review - Editor menyemak dan mengemaskini, status: Pending Review
- Approval - Publisher meluluskan atau reject, status: Pending Approval
- Publish - Kandungan diterbitkan secara automatik atau dijadualkan
- Archive - Kandungan tamat tempoh dialihkan ke arkib
Audit Trail: Setiap perubahan status direkodkan dengan timestamp, user ID, dan IP address.
- Minimum 12 aksara
- Kombinasi huruf, nombor, simbol
- Tukar setiap 90 hari
- 5 percubaan gagal = kunci akaun
- Auto-logout selepas 30 minit idle
- Single session per user
- Session token rotation
- HTTPS enforced
- Audit logs: 24 bulan
- Access logs: 12 bulan
- Error logs: 6 bulan
- Backup logs: 36 bulan
Pada akhir projek, item berikut akan diserahkan kepada JKPTG:
| Item | Format | Pemilikan |
|---|---|---|
| Source code (template, extensions) | Git repository + ZIP archive | 100% JKPTG |
| Database schema & documentation | SQL + ERD diagram | 100% JKPTG |
| Technical documentation | PDF + DOCX | 100% JKPTG |
| User manual | PDF + Video | 100% JKPTG |
| Admin credentials | Encrypted document | 100% JKPTG |
| SSL certificates | PEM files | 100% JKPTG |
Pematuhan Piawaian
Mapping kepada piawaian kerajaan dan antarabangsa
| Piawaian | Keperluan | Status | Implementasi |
|---|---|---|---|
| GPKTMK | Garis Panduan Keselamatan TMK | Patuh | SSL/TLS, 2FA, audit logging, password policy |
| GPPDP | Garis Panduan Pengurusan Data | Patuh | Data classification, retention policy, backup |
| GPWAK | Garis Panduan Web Agensi Kerajaan | Patuh | Struktur navigasi, aksesibiliti, dwi-bahasa |
| MyGDX | Government Data Exchange | Bersedia | API endpoints boleh dibangunkan bila diperlukan |
| Prinsip | Garis Panduan | Implementasi |
|---|---|---|
| Perceivable | 1.1 Text Alternatives | Alt text untuk semua imej, ARIA labels |
| 1.3 Adaptable | Semantic HTML, proper heading hierarchy | |
| 1.4 Distinguishable | Contrast ratio 4.5:1, resizable text 200% | |
| Operable | 2.1 Keyboard Accessible | Full keyboard navigation, visible focus |
| 2.4 Navigable | Skip links, breadcrumbs, descriptive titles | |
| Understandable | 3.1 Readable | Language declaration, abbreviation expansion |
| 3.2 Predictable | Consistent navigation, clear form labels | |
| Robust | 4.1 Compatible | Valid HTML5, ARIA compliance |
- Nama dan alamat (borang maklum balas)
- Nombor telefon (pilihan)
- Alamat e-mel
- IP address (untuk keselamatan)
- Notis privasi di setiap borang
- Consent checkbox sebelum submit
- Data retention: 24 bulan maksimum
- Prosedur deletion atas permintaan
| Klasifikasi | Contoh Data | Kawalan |
|---|---|---|
| TERBUKA | Berita, pengumuman, FAQ, maklumat perkhidmatan | Tiada sekatan akses |
| TERHAD | Dokumen dalaman, laporan draft | Login required, role-based access |
| SULIT | Data peribadi pelanggan, audit logs | Encryption, audit trail, admin only |
Keselamatan & Kawalan
Framework keselamatan bersepadu, bukan sekadar checklist
| Peranan | Config | Users | Publish | Edit | Create | View |
|---|---|---|---|---|---|---|
| Super Administrator | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Administrator | - | ✓ | ✓ | ✓ | ✓ | ✓ |
| Publisher | - | - | ✓ | ✓ | ✓ | ✓ |
| Editor | - | - | - | ✓ | ✓ | ✓ |
| Author | - | - | - | Own | ✓ | ✓ |
- SSL/TLS 1.3 enforced
- HSTS header enabled
- WAF integration ready
- Rate limiting (100 req/min)
- IP whitelist untuk admin
- OWASP Top 10 compliance
- SQL injection prevention
- XSS protection (CSP)
- CSRF token validation
- Input sanitization
- Password hashing (bcrypt)
- Database encryption at rest
- Backup encryption (AES-256)
- PII data masking in logs
- Secure credential storage
| Fasa | Aktiviti | Tanggungjawab | SLA |
|---|---|---|---|
| 1. Detection | Monitoring alerts, user reports | Helpdesk / System Admin | - |
| 2. Triage | Assess severity, classify incident | IT Security Officer | 15 minit |
| 3. Containment | Isolate affected systems | System Admin | 30 minit |
| 4. Eradication | Remove threat, patch vulnerability | Vendor / System Admin | 4 jam |
| 5. Recovery | Restore services, verify integrity | System Admin | 8 jam |
| 6. Post-Incident | Root cause analysis, report | IT Security Officer | 48 jam |
| Full Backup | Mingguan (Ahad 2:00 AM) |
| Incremental | Harian (2:00 AM) |
| Database | Setiap 6 jam |
| Retention | 30 hari on-site, 90 hari off-site |
| Testing | Restore test bulanan |
| RTO (Recovery Time) | 4 jam |
| RPO (Recovery Point) | 6 jam (max data loss) |
| MTTR | 2 jam (target) |
| Availability Target | 99.5% (excl. maintenance) |
VA/PT akan dilaksanakan oleh pihak ketiga bertauliah sebelum Go-Live:
| Kategori | Skop |
|---|---|
| Infrastructure | Server, firewall, network configuration |
| Application | OWASP Top 10, business logic flaws |
| Authentication | Password policy, session management, 2FA |
| Authorization | RBAC bypass, privilege escalation |
| Data Protection | Encryption, data leakage, PII exposure |
Deliverable: Laporan VA/PT dengan severity rating (Critical/High/Medium/Low) dan remediation plan.
Seni Bina Sistem
Logical architecture, deployment topology, dan environment separation
| Environment | Tujuan | Akses | Data |
|---|---|---|---|
| DEV | Pembangunan dan unit testing | Pembangun sahaja | Dummy / sanitized data |
| UAT | User Acceptance Testing | JKPTG testers + vendor | Sanitized production-like |
| STAGING | Pre-production verification | Limited (final check) | Production mirror |
| PROD | Live production | Public (portal), Admin (CMS) | Real data |
| Layer | Technology | Version | Justifikasi |
|---|---|---|---|
| CMS | Joomla | 5.2.x LTS | MAMPU compliant, proven migration path |
| Language | PHP | 8.2+ | Performance, security, Joomla requirement |
| Database | MySQL | 8.0.x | Stability, support lifecycle until 2026+ |
| Web Server | Apache | 2.4.x | Joomla native support, .htaccess |
| CSS Framework | Bootstrap | 5.3.x | Responsive, accessible, maintainable |
| Chatbot | Freshwork | SaaS | AI-powered, multilingual, gov-ready |
| Komponen | Minimum | Disyorkan |
|---|---|---|
| CPU | 4 vCPU | 8 vCPU |
| RAM | 8GB | 16GB |
| Storage | 100GB SSD | 200GB NVMe SSD |
| OS | Ubuntu 22.04 LTS / RHEL 8+ | |
| SSL Certificate | Required (OV or EV recommended) | |
Tadbir Urus Chatbot
Governance framework untuk AI chatbot dalam konteks kerajaan
- Owner: JKPTG (Bahagian Korporat)
- Custodian: Webmaster JKPTG
- Approver: Ketua Bahagian berkaitan
- Lokasi: Freshwork cloud (data sovereignty: MY)
- FAQ perkhidmatan am
- Waktu operasi dan lokasi
- Prosedur permohonan (umum)
- Pautan ke borang dan dokumen
- TIDAK TERMASUK: Nasihat undang-undang, status kes spesifik
| Langkah | Aktiviti | Tanggungjawab | SLA |
|---|---|---|---|
| 1 | Cadangan kemas kini knowledge base | Bahagian berkaitan | - |
| 2 | Semakan ketepatan maklumat | Subject Matter Expert | 3 hari bekerja |
| 3 | Kelulusan penerbitan | Ketua Bahagian | 2 hari bekerja |
| 4 | Kemas kini di Freshwork | Webmaster | 1 hari bekerja |
| 5 | Ujian dan pengesahan | Webmaster | 1 hari bekerja |
- Restricted Scope: Chatbot hanya menjawab berdasarkan knowledge base yang diluluskan, bukan general AI
- Confidence Threshold: Jika confidence < 70%, chatbot akan direct ke pegawai
- Escalation Path: "Saya tidak pasti. Sila hubungi pegawai kami di..."
- No Legal Advice: Chatbot dikonfigurasi untuk menolak soalan nasihat undang-undang
- Audit Trail: Semua conversation dilog untuk quality review
| Metrik | Target | Tindakan Jika Tidak Capai |
|---|---|---|
| Resolution Rate | > 60% | Review dan tambah knowledge base |
| Escalation Rate | < 30% | Identify gaps in knowledge base |
| User Satisfaction | > 70% | Improve response quality |
| Response Accuracy | > 95% | Immediate correction + root cause |
Jadual Pelaksanaan
24 minggu dengan buffer untuk kitaran kelulusan kerajaan
Sprint 2 (M9-10): Homepage, navigation, main pages
Sprint 3 (M11-12): Custom modules, forms, integrations
Sprint 4 (M13-14): Chatbot setup, content population, optimization
M17-18: VA/PT assessment oleh pihak ketiga
M19-20: UAT dengan JKPTG, remediation, UAT sign-off
M22: Post-launch monitoring, issue resolution
M23: Training (3 hari hands-on)
M24: Documentation handover, project closure
Tempoh waranti merangkumi:
- Bug fixing tanpa caj tambahan
- Security patching (Joomla updates)
- Technical support (waktu pejabat: 9am-5pm)
- Minor enhancements (< 8 jam effort)
- Joomla 6 migration (jika dikeluarkan dalam tempoh DLP)
SLA: Critical issues: 4 jam response, 24 jam resolution. Non-critical: 2 hari bekerja.
Kos & Pembayaran
Pecahan kos terperinci dengan justifikasi
| Komponen | Skop | Harga (RM) |
|---|---|---|
| Chatbot Freshwork | Lesen 2 tahun, setup, knowledge base configuration | 12,000 |
| VA/PT Assessment | Pihak ketiga bertauliah, infrastructure + application | 20,000 |
| Training (3 Hari) | Admin training (2 hari) + Content management (1 hari) | 10,000 |
| PMO (Extended) | Governance setup, stakeholder management | 5,000 |
| Subtotal Sokongan | 47,000 | |
| Pembangunan Portal | 370,000.00 |
| Komponen Sokongan | 47,000.00 |
| Jumlah Sebelum Cukai | 417,000.00 |
| SST @ 8% | 33,360.00 |
| JUMLAH KESELURUHAN | 450,360.00 |
RINGGIT MALAYSIA: EMPAT RATUS LIMA PULUH RIBU TIGA RATUS ENAM PULUH SAHAJA
| Milestone | Trigger | % | Amaun (RM) |
|---|---|---|---|
| Milestone 1 | Design Approval (Minggu 6) | 30% | 135,108.00 |
| Milestone 2 | UAT Sign-off (Minggu 20) | 40% | 180,144.00 |
| Milestone 3 | PAC Issuance (Minggu 24) | 30% | 135,108.00 |
- Tempoh: 30 hari dari tarikh invois
- Kesahan: 90 hari dari 27 Januari 2026
- Tidak Termasuk: Hosting, domain, SSL certificate (disediakan JKPTG)
Kelestarian & Roadmap
Pelan jangka panjang untuk kesinambungan perkhidmatan digital
| Tahun | Platform | Aktiviti | Tanggungjawab |
|---|---|---|---|
| 2026 | Joomla 5.2 | Go-Live, DLP support, security patches | Unijaya (DLP) |
| 2027 | Joomla 5 → 6 | Joomla 6 migration (dalam DLP), continued support | Unijaya (DLP) |
| 2028 | Joomla 6 LTS | Maintenance & enhancement contract (optional) | JKPTG / Vendor |
| 2029-30 | Joomla 6 LTS | Continued operation, minor enhancements | JKPTG / Vendor |
| 2031+ | Joomla 7 / Evaluate | Major refresh or platform evaluation | JKPTG |
Joomla 6 LTS dijangka dikeluarkan Q4 2026. Migrasi akan dilaksanakan dalam tempoh DLP tanpa kos tambahan:
- Audit compatibility semua extensions
- Update custom code untuk Joomla 6
- Testing di staging environment
- Migration dengan minimal downtime (< 4 jam)
- Post-migration verification
Risiko: Rendah - Joomla mempunyai track record migrasi yang stabil. Template Bootstrap 5 adalah platform-agnostic.
- Complete source code dengan comments
- Database schema documentation
- API documentation (jika ada)
- Deployment procedures
- Known issues dan workarounds
- Contact list untuk 3rd party services
- 2 sesi KT kepada vendor baharu (4 jam setiap sesi)
- Walkthrough architecture dan codebase
- Handover documentation
- 30 hari email support selepas handover
| Fasa | Enhancement | Anggaran Kos | Nota |
|---|---|---|---|
| Tahun 2 (2027) | MyGDX API integration | RM50,000 - 80,000 | Jika diperlukan oleh MAMPU |
| Tahun 2 (2027) | Advanced analytics dashboard | RM20,000 - 30,000 | Custom reporting |
| Tahun 3 (2028) | Mobile app (PWA) | RM80,000 - 120,000 | Optional enhancement |
| Tahun 3 (2028) | AI-enhanced search | RM30,000 - 50,000 | Semantic search |
*Anggaran kos adalah indikatif dan tertakluk kepada skop sebenar