{"id":191,"date":"2026-07-16T13:50:34","date_gmt":"2026-07-16T05:50:34","guid":{"rendered":"https:\/\/www.ukm.my\/upsoku\/?page_id=191"},"modified":"2026-09-11T10:45:00","modified_gmt":"2026-09-11T02:45:00","slug":"statistik-warga-oku-ukm","status":"publish","type":"page","link":"https:\/\/www.ukm.my\/upsoku\/utama\/statistik-warga-oku-ukm\/","title":{"rendered":"Statistik Warga OKU UKM"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"191\" class=\"elementor elementor-191\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d409d00 e-grid e-con-boxed e-con e-parent\" data-id=\"d409d00\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-19e5bf8 e-grid e-con-full e-con e-child\" data-id=\"19e5bf8\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e566088 elementor-widget elementor-widget-counter\" data-id=\"e566088\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"counter.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-counter\">\n\t\t\t<div class=\"elementor-counter-title\">Staf OKU<\/div>\t\t\t<div class=\"elementor-counter-number-wrapper\">\n\t\t\t\t<span class=\"elementor-counter-number-prefix\"><\/span>\n\t\t\t\t<span class=\"elementor-counter-number\" data-duration=\"2000\" data-to-value=\"50\" data-from-value=\"0\" data-delimiter=\",\">0<\/span>\n\t\t\t\t<span class=\"elementor-counter-number-suffix\"><\/span>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d7aca42 e-grid e-con-full e-con e-child\" data-id=\"d7aca42\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-332c66d elementor-widget elementor-widget-html\" data-id=\"332c66d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t\r\n<div class=\"oku-chart-wrapper\" style=\"width: 100%; max-width: 900px; margin: 0 auto; background: transparent; padding: 24px; border-radius: 12px; font-family: 'Barlow', 'Segoe UI', sans-serif;\">\r\n    \r\n    <h3 style=\"text-align: center; color: #1e1e1e; font-size: 1.25rem; font-weight: 400; margin-top: 0; margin-bottom: 24px;\">\r\n        Senarai Staf OKU mengikut Kategori OKU\r\n    <\/h3>\r\n    \r\n\r\n    <div style=\"position: relative; height: 400px; width: 100%;\">\r\n        <canvas id=\"okuVerticalChart\"><\/canvas>\r\n    <\/div>\r\n\r\n<\/div>\r\n\r\n\r\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js@3.9.1\/dist\/chart.min.js\"><\/script>\r\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chartjs-plugin-datalabels@2.2.0\/dist\/chartjs-plugin-datalabels.min.js\"><\/script>\r\n\r\n<script>\r\n    document.addEventListener(\"DOMContentLoaded\", function() {\r\n\r\n        Chart.register(ChartDataLabels);\r\n\r\n        const ctx = document.getElementById('okuVerticalChart').getContext('2d');\r\n        \r\n\r\n        const chartData = [58.0, 26.0, 10.0, 4.0, 2.0, 0, 0];\r\n        \r\n\r\n        const chartLabels = [\r\n            'Kurang Upaya Fizikal',\r\n            'Kurang Upaya Penglihatan',\r\n            'Kurang Upaya Pendengaran',\r\n            'Kurang Upaya Pembelajaran',\r\n            'Kurang Upaya Mental',\r\n            'Kurang Upaya Pelbagai',\r\n            'Kurang Upaya Pertuturan'\r\n        ];\r\n\r\n        new Chart(ctx, {\r\n            type: 'bar',\r\n            data: {\r\n                labels: chartLabels,\r\n                datasets: [{\r\n                    label: 'Peratusan (%)',\r\n                    data: chartData,\r\n \r\n                    backgroundColor: '#1a4cce', \r\n\r\n                    hoverBackgroundColor: '#0075C5',\r\n\r\n                    borderRadius: 6,\r\n                    borderSkipped: false,\r\n\r\n                    maxBarThickness: 40\r\n                }]\r\n            },\r\n            options: {\r\n                indexAxis: 'y', \r\n                responsive: true,\r\n                maintainAspectRatio: false,\r\n                plugins: {\r\n\r\n                    legend: {\r\n                        display: false \r\n                    },\r\n\r\n                    tooltip: {\r\n                        backgroundColor: 'rgba(17, 24, 39, 0.9)',\r\n                        titleFont: { size: 18, family: 'inherit' },\r\n                        bodyFont: { size: 14, family: 'inherit', weight: 'bold' },\r\n                        padding: 12,\r\n                        cornerRadius: 8,\r\n                        displayColors: false,\r\n                        callbacks: {\r\n                            label: function(context) {\r\n                                return context.parsed.x + '%';\r\n                            }\r\n                        }\r\n                    },\r\n\r\n                    datalabels: {\r\n                        anchor: 'end',\r\n                        align: 'right', \r\n                        color: '#4b5563', \r\n                        font: {\r\n                            weight: '600',\r\n                            size: 12,\r\n                            family: 'inherit'\r\n                        },\r\n                        formatter: function(value) {\r\n   \r\n                            return value > 0 ? value + '%' : '0%'; \r\n                        }\r\n                    }\r\n                },\r\n                scales: {\r\n                    x: { \r\n                        beginAtZero: true,\r\n                        \/\/ Force the maximum value to be 100%\r\n                        max: 100, \r\n                        grid: {\r\n                            color: '#f3f4f6', \r\n                            drawBorder: false, \r\n                        },\r\n                        ticks: {\r\n                            color: '#6b7280',\r\n                            font: { family: 'inherit' },\r\n                            callback: function(value) {\r\n                                return value + '%';\r\n                            }\r\n                        }\r\n                    },\r\n                    y: { \r\n                        grid: {\r\n                            display: false, \r\n                            drawBorder: false\r\n                        },\r\n                        ticks: {\r\n                            color: '#4b5563',\r\n                            font: { family: 'inherit', size: 12 }\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n        });\r\n    });\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-29275ba e-grid e-con-boxed e-con e-parent\" data-id=\"29275ba\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-2600d10 e-grid e-con-full e-con e-child\" data-id=\"2600d10\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c612567 elementor-widget elementor-widget-html\" data-id=\"c612567\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"oku-chart-wrapper\" style=\"width: 100%; max-width: 900px; margin: 0 auto; background: transparent; padding: 24px; border-radius: 12px; font-family: 'Barlow', 'Segoe UI', sans-serif;\">\r\n    \r\n    <h3 style=\"text-align: center; color: #1e1e1e; font-size: 1.25rem; font-weight: 400; margin-top: 0; margin-bottom: 24px;\">\r\n        Senarai Staf OKU mengikut Kategori Kampus\r\n    <\/h3>\r\n    \r\n    <div style=\"position: relative; height: 300px; width: 100%;\">\r\n        <canvas id=\"kampusChart\"><\/canvas>\r\n    <\/div>\r\n\r\n<\/div>\r\n\r\n<!-- Pastikan fail Chart.js dan DataLabels ini dimuatkan jika belum ada -->\r\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js@3.9.1\/dist\/chart.min.js\"><\/script>\r\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chartjs-plugin-datalabels@2.2.0\/dist\/chartjs-plugin-datalabels.min.js\"><\/script>\r\n\r\n<script>\r\n    document.addEventListener(\"DOMContentLoaded\", function() {\r\n\r\n        Chart.register(ChartDataLabels);\r\n\r\n        const ctx = document.getElementById('kampusChart').getContext('2d');\r\n        \r\n        \/\/ Data peratusan dari gambar\r\n        const chartData = [50.0, 12.0,38.0];\r\n        \r\n        \/\/ Kategori kampus\r\n        const chartLabels = [\r\n            'Bangi',\r\n            'Kuala Lumpur',\r\n            'Cheras'\r\n        ];\r\n\r\n        new Chart(ctx, {\r\n            type: 'bar',\r\n            data: {\r\n                labels: chartLabels,\r\n                datasets: [{\r\n                    label: 'Peratusan (%)',\r\n                    data: chartData,\r\n                    \r\n                    \/\/ Warna kelabu gelap sepadan dengan gambar rujukan\r\n                    backgroundColor: '#52525B', \r\n                    hoverBackgroundColor: '#3F3F46',\r\n\r\n                    borderRadius: 6,\r\n                    borderSkipped: false,\r\n                    maxBarThickness: 40\r\n                }]\r\n            },\r\n            options: {\r\n                indexAxis: 'y', \r\n                responsive: true,\r\n                maintainAspectRatio: false,\r\n                plugins: {\r\n                    legend: {\r\n                        display: false \r\n                    },\r\n                    tooltip: {\r\n                        backgroundColor: 'rgba(17, 24, 39, 0.9)',\r\n                        titleFont: { size: 18, family: 'inherit' },\r\n                        bodyFont: { size: 14, family: 'inherit', weight: 'bold' },\r\n                        padding: 12,\r\n                        cornerRadius: 8,\r\n                        displayColors: false,\r\n                        callbacks: {\r\n                            label: function(context) {\r\n                                return context.parsed.x + '%';\r\n                            }\r\n                        }\r\n                    },\r\n                    datalabels: {\r\n                        anchor: 'end',\r\n                        align: 'right', \r\n                        color: '#4b5563', \r\n                        font: {\r\n                            weight: '600',\r\n                            size: 12,\r\n                            family: 'inherit'\r\n                        },\r\n                        formatter: function(value) {\r\n                            return value > 0 ? value + '%' : '0%'; \r\n                        }\r\n                    }\r\n                },\r\n                scales: {\r\n                    x: { \r\n                        beginAtZero: true,\r\n                        max: 100, \r\n                        grid: {\r\n                            color: '#f3f4f6', \r\n                            drawBorder: false, \r\n                        },\r\n                        ticks: {\r\n                            color: '#6b7280',\r\n                            font: { family: 'inherit' },\r\n                            callback: function(value) {\r\n                                return value + '%';\r\n                            }\r\n                        }\r\n                    },\r\n                    y: { \r\n                        grid: {\r\n                            display: false, \r\n                            drawBorder: false\r\n                        },\r\n                        ticks: {\r\n                            color: '#4b5563',\r\n                            font: { family: 'inherit', size: 12 }\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n        });\r\n    });\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-46103db e-grid e-con-full e-con e-child\" data-id=\"46103db\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-62a7436 elementor-widget elementor-widget-html\" data-id=\"62a7436\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"oku-chart-wrapper\" style=\"width: 100%; max-width: 900px; margin: 0 auto; background: transparent; padding: 24px; border-radius: 12px; font-family: 'Barlow', 'Segoe UI', sans-serif;\">\r\n    \r\n    <h3 style=\"text-align: center; color: #1e1e1e; font-size: 1.25rem; font-weight: 400; margin-top: 0; margin-bottom: 24px;\">\r\n        Senarai Staf OKU mengikut Kategori Kumpulan Perkhidmatan\r\n    <\/h3>\r\n    \r\n    <div style=\"position: relative; height: 300px; width: 100%;\">\r\n        <canvas id=\"perkhidmatanChart\"><\/canvas>\r\n    <\/div>\r\n\r\n<\/div>\r\n\r\n<!-- Pastikan fail Chart.js dan DataLabels ini dimuatkan di dalam laman anda -->\r\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js@3.9.1\/dist\/chart.min.js\"><\/script>\r\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chartjs-plugin-datalabels@2.2.0\/dist\/chartjs-plugin-datalabels.min.js\"><\/script>\r\n\r\n<script>\r\n    document.addEventListener(\"DOMContentLoaded\", function() {\r\n\r\n        Chart.register(ChartDataLabels);\r\n\r\n        const ctx = document.getElementById('perkhidmatanChart').getContext('2d');\r\n        \r\n        \/\/ Data peratusan\r\n        const chartData = [4.0, 16.0, 80.0];\r\n        \r\n        \/\/ Kategori Kumpulan Perkhidmatan\r\n        const chartLabels = [\r\n            'Pengurusan dan Profesional',\r\n            'Akademik',\r\n            'Pelaksana'\r\n        ];\r\n\r\n        new Chart(ctx, {\r\n            type: 'bar',\r\n            data: {\r\n                labels: chartLabels,\r\n                datasets: [{\r\n                    label: 'Peratusan (%)',\r\n                    data: chartData,\r\n                    \r\n                    \/\/ Array warna untuk setiap bar: Kuning, Merah, Hijau\r\n                    backgroundColor: ['#FACC15', '#EF4444', '#16A34A'], \r\n                    hoverBackgroundColor: ['#EAB308', '#DC2626', '#15803D'],\r\n\r\n                    borderRadius: 6,\r\n                    borderSkipped: false,\r\n                    maxBarThickness: 40\r\n                }]\r\n            },\r\n            options: {\r\n                indexAxis: 'y', \r\n                responsive: true,\r\n                maintainAspectRatio: false,\r\n                plugins: {\r\n                    legend: {\r\n                        display: false \r\n                    },\r\n                    tooltip: {\r\n                        backgroundColor: 'rgba(17, 24, 39, 0.9)',\r\n                        titleFont: { size: 18, family: 'inherit' },\r\n                        bodyFont: { size: 14, family: 'inherit', weight: 'bold' },\r\n                        padding: 12,\r\n                        cornerRadius: 8,\r\n                        displayColors: false,\r\n                        callbacks: {\r\n                            label: function(context) {\r\n                                return context.parsed.x + '%';\r\n                            }\r\n                        }\r\n                    },\r\n                    datalabels: {\r\n                        anchor: 'end',\r\n                        align: 'right', \r\n                        color: '#4b5563', \r\n                        font: {\r\n                            weight: '600',\r\n                            size: 12,\r\n                            family: 'inherit'\r\n                        },\r\n                        formatter: function(value) {\r\n                            return value > 0 ? value + '%' : '0%'; \r\n                        }\r\n                    }\r\n                },\r\n                scales: {\r\n                    x: { \r\n                        beginAtZero: true,\r\n                        max: 100, \r\n                        grid: {\r\n                            color: '#f3f4f6', \r\n                            drawBorder: false, \r\n                        },\r\n                        ticks: {\r\n                            color: '#6b7280',\r\n                            font: { family: 'inherit' },\r\n                            callback: function(value) {\r\n                                return value + '%';\r\n                            }\r\n                        }\r\n                    },\r\n                    y: { \r\n                        grid: {\r\n                            display: false, \r\n                            drawBorder: false\r\n                        },\r\n                        ticks: {\r\n                            color: '#4b5563',\r\n                            font: { family: 'inherit', size: 12 }\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n        });\r\n    });\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-162f796 e-grid e-con-boxed e-con e-parent\" data-id=\"162f796\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-c654b44 e-grid e-con-full e-con e-child\" data-id=\"c654b44\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6c72850 elementor-widget elementor-widget-html\" data-id=\"6c72850\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"oku-chart-wrapper\" style=\"width: 100%; max-width: 1000px; margin: 0 auto; background: transparent; padding: 24px; border-radius: 12px; font-family: 'Barlow', 'Segoe UI', sans-serif;\">\r\n    \r\n    <h3 style=\"text-align: center; color: #1e1e1e; font-size: 1.25rem; font-weight: 400; margin-top: 0; margin-bottom: 24px;\">\r\n        Senarai Staf OKU mengikut PTj\/Fakulti\/Institut\r\n    <\/h3>\r\n    \r\n    <!-- Ketinggian dilaraskan untuk memberi ruang kepada label paksi X yang condong -->\r\n    <div style=\"position: relative; height: 550px; width: 100%;\">\r\n        <canvas id=\"ptjChart\"><\/canvas>\r\n    <\/div>\r\n\r\n<\/div>\r\n\r\n<!-- Memuatkan pustaka Chart.js dan DataLabels -->\r\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js@3.9.1\/dist\/chart.min.js\"><\/script>\r\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chartjs-plugin-datalabels@2.2.0\/dist\/chartjs-plugin-datalabels.min.js\"><\/script>\r\n\r\n<script>\r\n    document.addEventListener(\"DOMContentLoaded\", function() {\r\n\r\n        Chart.register(ChartDataLabels);\r\n\r\n        \/\/ Menetapkan font Barlow secara global\r\n        Chart.defaults.font.family = \"'Barlow', 'Segoe UI', sans-serif\";\r\n\r\n        const staffRecords = [\r\n    { \"label\": \"Jabatan Pendaftar\", \"quantity\": 2, \"percentage\": 4.0 },\r\n    { \"label\": \"Jabatan Bendahari\", \"quantity\": 2, \"percentage\": 4.0 },\r\n    { \"label\": \"Pusat Teknologi Digital\", \"quantity\": 1, \"percentage\": 2.0 },\r\n    { \"label\": \"Jabatan Pembangunan dan Prasarana UKM\", \"quantity\": 1, \"percentage\": 2.0 },\r\n    { \"label\": \"Pusat Pengurusan Penjanaan UKM\", \"quantity\": 1, \"percentage\": 2.0 },\r\n    { \"label\": \"Unit Audit Dalam\", \"quantity\": 1, \"percentage\": 2.0 },\r\n    { \"label\": \"Perpustakaan Tun Seri Lanang\", \"quantity\": 2, \"percentage\": 4.0 },\r\n    { \"label\": \"Perpustakaan Undang Undang\", \"quantity\": 1, \"percentage\": 2.0 },\r\n    { \"label\": \"Pusat Sukan\", \"quantity\": 1, \"percentage\": 2.0 },\r\n    { \"label\": \"Institut Alam & Tamadun Melayu\", \"quantity\": 1, \"percentage\": 2.0 },\r\n    { \"label\": \"Institut Islam Hadhari\", \"quantity\": 1, \"percentage\": 2.0 },\r\n    { \"label\": \"Fakulti Sains Sosial dan Kemanusiaan\", \"quantity\": 4, \"percentage\": 8.0 },\r\n    { \"label\": \"Fakulti Perubatan\", \"quantity\": 2, \"percentage\": 4.0 },\r\n    { \"label\": \"Fakulti Kejuruteraan dan Alam Bina\", \"quantity\": 2, \"percentage\": 4.0 },\r\n    { \"label\": \"Fakulti Pendidikan\", \"quantity\": 1, \"percentage\": 2.0 },\r\n    { \"label\": \"Fakulti Teknologi dan Sains Maklumat\", \"quantity\": 2, \"percentage\": 4.0 },\r\n    { \"label\": \"Fakulti Sains dan Teknologi\", \"quantity\": 2, \"percentage\": 4.0 },\r\n    { \"label\": \"Fakulti Pengajian Islam\", \"quantity\": 0, \"percentage\": 0.0 },\r\n    { \"label\": \"Fakulti Sains Kesihatan\", \"quantity\": 1, \"percentage\": 2.0 },\r\n    { \"label\": \"Fakulti Undang Undang\", \"quantity\": 0, \"percentage\": 0.0 },\r\n    { \"label\": \"Fakulti Pergigian\", \"quantity\": 1, \"percentage\": 2.0 },\r\n    { \"label\": \"Fakulti Ekonomi dan Pengurusan\", \"quantity\": 1, \"percentage\": 2.0 },\r\n    { \"label\": \"Kolej Ibrahim Yaakob\", \"quantity\": 1, \"percentage\": 2.0 },\r\n    { \"label\": \"Hospital Canselor Tuanku Muhriz\", \"quantity\": 19, \"percentage\": 38.0 }\r\n];\r\n\r\n        \/\/ Menyusun data (menaik berdasarkan bilangan)\r\n        staffRecords.sort((a, b) => a.quantity - b.quantity);\r\n\r\n        \/\/ Penjanaan warna dinamik dari kod asal anda\r\n        const buildColors = (count) => {\r\n            const colors = [];\r\n            for (let i = 0; i < count; i++) {\r\n                const hue = (i * 360 \/ count) % 360; \r\n                colors.push(`hsl(${hue}, 70%, 50%)`);\r\n            }\r\n            return colors;\r\n        };\r\n\r\n        const colorSet = buildColors(staffRecords.length);\r\n        const ctx = document.getElementById('ptjChart').getContext('2d');\r\n\r\n        new Chart(ctx, {\r\n            type: 'bar', \/\/ Kekal menegak (vertical) secara lalai\r\n            data: {\r\n                labels: staffRecords.map(rec => rec.label),\r\n                datasets: [{\r\n                    label: 'Bilangan',\r\n                    data: staffRecords.map(rec => rec.quantity),\r\n                    \r\n                    backgroundColor: colorSet, \r\n                    \r\n                    \/\/ Style bar\r\n                    borderRadius: 6,\r\n                    borderSkipped: false,\r\n                    maxBarThickness: 40 \r\n                }]\r\n            },\r\n            options: {\r\n                responsive: true,\r\n                maintainAspectRatio: false,\r\n                plugins: {\r\n                    legend: {\r\n                        display: false \r\n                    },\r\n                    tooltip: {\r\n                        backgroundColor: 'rgba(17, 24, 39, 0.9)',\r\n                        titleFont: { size: 14, family: \"'Barlow', 'Segoe UI', sans-serif\" },\r\n                        bodyFont: { size: 14, family: \"'Barlow', 'Segoe UI', sans-serif\", weight: 'bold' },\r\n                        padding: 12,\r\n                        cornerRadius: 8,\r\n                        displayColors: false,\r\n                        callbacks: {\r\n                            label: function(context) {\r\n                                const rec = staffRecords[context.dataIndex];\r\n                                return `Bilangan: ${rec.quantity} (${rec.percentage}%)`;\r\n                            }\r\n                        }\r\n                    },\r\n                    datalabels: {\r\n                        anchor: 'end',\r\n                        align: 'top', \/\/ Ubah kedudukan label ke bahagian atas bar\r\n                        color: '#4b5563', \r\n                        font: {\r\n                            weight: '600',\r\n                            size: 10,\r\n                            family: \"'Barlow', 'Segoe UI', sans-serif\"\r\n                        },\r\n                        formatter: function(value, context) {\r\n                            const rec = staffRecords[context.dataIndex];\r\n                            \/\/ Memaparkan data dalam 2 baris agar lebih kemas dan tidak bertindih\r\n                            return [`${rec.percentage}%`, `(${rec.quantity})`];\r\n                        }\r\n                    }\r\n                },\r\n                scales: {\r\n                    x: { \r\n                        grid: {\r\n                            display: false, \/\/ Buang grid menegak\r\n                            drawBorder: false, \r\n                        },\r\n                        ticks: {\r\n                            color: '#6b7280',\r\n                            font: { family: \"'Barlow', 'Segoe UI', sans-serif\", size: 10 },\r\n                            autoSkip: false,\r\n                            maxRotation: 45, \/\/ Condongkan teks 45 darjah\r\n                            minRotation: 45\r\n                        }\r\n                    },\r\n                    y: { \r\n                        beginAtZero: true,\r\n                        grace: '15%', \/\/ Ruang tambahan di bahagian atas carta\r\n                        grid: {\r\n                            color: '#f3f4f6', \r\n                            drawBorder: false\r\n                        },\r\n                        ticks: {\r\n                            color: '#4b5563',\r\n                            font: { family: \"'Barlow', 'Segoe UI', sans-serif\", size: 12 }\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n        });\r\n    });\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-bcd0983 e-flex e-con-boxed e-con e-parent\" data-id=\"bcd0983\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c729912 elementor-widget elementor-widget-text-editor\" data-id=\"c729912\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><em><i>Dikemaskini pada: <strong>31 Ogos 2026<\/strong><\/i><\/em><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-46c9361 e-flex e-con-boxed e-con e-parent\" data-id=\"46c9361\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-efd9a6e elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"efd9a6e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-40a7999 e-flex e-con-boxed e-con e-parent\" data-id=\"40a7999\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-867b171 elementor-widget elementor-widget-spacer\" data-id=\"867b171\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4899c4b e-grid e-con-boxed e-con e-parent\" data-id=\"4899c4b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-554c3e0 e-grid e-con-full e-con e-child\" data-id=\"554c3e0\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-aa60693 elementor-widget elementor-widget-counter\" data-id=\"aa60693\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"counter.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-counter\">\n\t\t\t<div class=\"elementor-counter-title\">Pelajar OKU<\/div>\t\t\t<div class=\"elementor-counter-number-wrapper\">\n\t\t\t\t<span class=\"elementor-counter-number-prefix\"><\/span>\n\t\t\t\t<span class=\"elementor-counter-number\" data-duration=\"2000\" data-to-value=\"78\" data-from-value=\"0\" data-delimiter=\",\">0<\/span>\n\t\t\t\t<span class=\"elementor-counter-number-suffix\"><\/span>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-5f03cd1 e-grid e-con-full e-con e-child\" data-id=\"5f03cd1\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-53bd7dc elementor-widget elementor-widget-html\" data-id=\"53bd7dc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t\r\n<div class=\"pelajar-oku-chart-wrapper\" style=\"width: 100%; max-width: 900px; margin: 0 auto; background: transparent; font-family: 'Barlow', 'Segoe UI', sans-serif;\">\r\n    \r\n    <h3 style=\"text-align: center; color: #1e1e1e; font-size: 1.25rem; font-weight: 400; margin-top: 0; margin-bottom: 24px;\">\r\n        Senarai Pelajar OKU mengikut Kategori OKU\r\n    <\/h3>\r\n    \r\n\r\n    <div style=\"position: relative; height: 400px; width: 100%;\">\r\n        <canvas id=\"pelajarokuVerticalChart\"><\/canvas>\r\n    <\/div>\r\n\r\n<\/div>\r\n\r\n\r\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js@3.9.1\/dist\/chart.min.js\"><\/script>\r\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chartjs-plugin-datalabels@2.2.0\/dist\/chartjs-plugin-datalabels.min.js\"><\/script>\r\n\r\n<script>\r\n    document.addEventListener(\"DOMContentLoaded\", function() {\r\n\r\n        Chart.register(ChartDataLabels);\r\n\r\n        const ctx = document.getElementById('pelajarokuVerticalChart').getContext('2d');\r\n        \r\n\r\n        const chartData = [47.4, 14.1, 19.2, 15.4, 3.8, 0, 0];\r\n        \r\n\r\n        const chartLabels = [\r\n            'Kurang Upaya Fizikal',\r\n            'Kurang Upaya Penglihatan',\r\n            'Kurang Upaya Pendengaran',\r\n            'Kurang Upaya Pembelajaran',\r\n            'Kurang Upaya Mental',\r\n            'Kurang Upaya Pelbagai',\r\n            'Kurang Upaya Pertuturan'\r\n        ];\r\n\r\n        new Chart(ctx, {\r\n            type: 'bar',\r\n            data: {\r\n                labels: chartLabels,\r\n                datasets: [{\r\n                    label: 'Peratusan (%)',\r\n                    data: chartData,\r\n \r\n                    backgroundColor: '#93003f', \r\n\r\n                    hoverBackgroundColor: '#990202',\r\n\r\n                    borderRadius: 6,\r\n                    borderSkipped: false,\r\n\r\n                    maxBarThickness: 40\r\n                }]\r\n            },\r\n            options: {\r\n                indexAxis: 'y', \r\n                responsive: true,\r\n                maintainAspectRatio: false,\r\n                plugins: {\r\n\r\n                    legend: {\r\n                        display: false \r\n                    },\r\n\r\n                    tooltip: {\r\n                        backgroundColor: 'rgba(17, 24, 39, 0.9)',\r\n                        titleFont: { size: 13, family: 'inherit' },\r\n                        bodyFont: { size: 14, family: 'inherit', weight: 'bold' },\r\n                        padding: 12,\r\n                        cornerRadius: 8,\r\n                        displayColors: false,\r\n                        callbacks: {\r\n                            label: function(context) {\r\n                                return context.parsed.x + '%';\r\n                            }\r\n                        }\r\n                    },\r\n\r\n                    datalabels: {\r\n                        anchor: 'end',\r\n                        align: 'right', \r\n                        color: '#4b5563', \r\n                        font: {\r\n                            weight: '600',\r\n                            size: 12,\r\n                            family: 'inherit'\r\n                        },\r\n                        formatter: function(value) {\r\n   \r\n                            return value > 0 ? value + '%' : '0%'; \r\n                        }\r\n                    }\r\n                },\r\n                scales: {\r\n                    x: { \r\n                        beginAtZero: true,\r\n                        \/\/ Force the maximum value to be 100%\r\n                        max: 100, \r\n                        grid: {\r\n                            color: '#f3f4f6', \r\n                            drawBorder: false, \r\n                        },\r\n                        ticks: {\r\n                            color: '#6b7280',\r\n                            font: { family: 'inherit' },\r\n                            callback: function(value) {\r\n                                return value + '%';\r\n                            }\r\n                        }\r\n                    },\r\n                    y: { \r\n                        grid: {\r\n                            display: false, \r\n                            drawBorder: false\r\n                        },\r\n                        ticks: {\r\n                            color: '#4b5563',\r\n                            font: { family: 'inherit', size: 12 }\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n        });\r\n    });\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a6fd394 e-grid e-con-boxed e-con e-parent\" data-id=\"a6fd394\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-1275de4 e-grid e-con-full e-con e-child\" data-id=\"1275de4\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-cbae544 elementor-widget elementor-widget-html\" data-id=\"cbae544\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"oku-chart-wrapper\" style=\"width: 100%; max-width: 1000px; margin: 0 auto; background: transparent; padding: 24px; border-radius: 12px; font-family: 'Barlow', 'Segoe UI', sans-serif;\">\r\n    \r\n    <h3 style=\"text-align: center; color: #1e1e1e; font-size: 1.25rem; font-weight: 400; margin-top: 0; margin-bottom: 24px;\">\r\n        Senarai Pelajar OKU mengikut Fakulti\/Institut\r\n    <\/h3>\r\n    \r\n    <!-- Ketinggian dilaraskan ke 550px untuk memberi ruang kepada label paksi X yang condong -->\r\n    <div style=\"position: relative; height: 550px; width: 100%;\">\r\n        <canvas id=\"fakultiChart\"><\/canvas>\r\n    <\/div>\r\n\r\n<\/div>\r\n\r\n<!-- Memuatkan pustaka Chart.js dan DataLabels -->\r\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js@3.9.1\/dist\/chart.min.js\"><\/script>\r\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chartjs-plugin-datalabels@2.2.0\/dist\/chartjs-plugin-datalabels.min.js\"><\/script>\r\n\r\n<script>\r\n    document.addEventListener(\"DOMContentLoaded\", function() {\r\n\r\n        Chart.register(ChartDataLabels);\r\n\r\n        \/\/ Menetapkan font Barlow secara global untuk carta ini\r\n        Chart.defaults.font.family = \"'Barlow', 'Segoe UI', sans-serif\";\r\n\r\n        const dataPoints = [\r\n    { \"label\": \"FSSK\", \"quantity\": 14, \"percentage\": 18.18 },\r\n    { \"label\": \"FST\", \"quantity\": 4, \"percentage\": 5.19 },\r\n    { \"label\": \"FEP\", \"quantity\": 4, \"percentage\": 3.90 },\r\n    { \"label\": \"Fakulti Farmasi\", \"quantity\": 0, \"percentage\": 0.00 },\r\n    { \"label\": \"FPI\", \"quantity\": 6, \"percentage\": 7.79 },\r\n    { \"label\": \"FSK\", \"quantity\": 1, \"percentage\": 1.30 },\r\n    { \"label\": \"FKAB\", \"quantity\": 6, \"percentage\": 7.79 },\r\n    { \"label\": \"FUU\", \"quantity\": 5, \"percentage\": 6.49 },\r\n    { \"label\": \"FGG\", \"quantity\": 0, \"percentage\": 0.00 },\r\n    { \"label\": \"FPEND\", \"quantity\": 24, \"percentage\": 31.17 },\r\n    { \"label\": \"FPER\", \"quantity\": 3, \"percentage\": 3.90 },\r\n    { \"label\": \"FTSM\", \"quantity\": 6, \"percentage\": 7.79 },\r\n    { \"label\": \"CITRA\", \"quantity\": 1, \"percentage\": 1.30 },\r\n    { \"label\": \"UKM-GSB\", \"quantity\": 1, \"percentage\": 1.30 },\r\n    { \"label\": \"SELFUEL\", \"quantity\": 2, \"percentage\": 2.60 },\r\n    { \"label\": \"IMEN\", \"quantity\": 1, \"percentage\": 1.30 },\r\n    { \"label\": \"ATMA\", \"quantity\": 0, \"percentage\": 0.00 }\r\n];\r\n\r\n        \/\/ Menyusun data (menaik berdasarkan bilangan)\r\n        dataPoints.sort((a, b) => a.quantity - b.quantity);\r\n\r\n        \/\/ Fungsi penjanaan warna asal dikekalkan\r\n        const generateColors = (count) => {\r\n            const colors = [];\r\n            for (let i = 0; i < count; i++) {\r\n                const hue = (i * 360 \/ count) % 360; \r\n                colors.push(`hsl(${hue}, 70%, 50%)`);\r\n            }\r\n            return colors;\r\n        };\r\n\r\n        const colors = generateColors(dataPoints.length);\r\n        const ctx = document.getElementById('fakultiChart').getContext('2d');\r\n\r\n        new Chart(ctx, {\r\n            type: 'bar', \/\/ Carta Bar Menegak\r\n            data: {\r\n                labels: dataPoints.map(dp => dp.label),\r\n                datasets: [{\r\n                    label: 'Bilangan',\r\n                    data: dataPoints.map(dp => dp.quantity),\r\n                    \r\n                    backgroundColor: colors, \r\n                    \r\n                    \/\/ Radius dan style sepadan dengan design sistem\r\n                    borderRadius: 6,\r\n                    borderSkipped: false,\r\n                    maxBarThickness: 40 \r\n                }]\r\n            },\r\n            options: {\r\n                responsive: true,\r\n                maintainAspectRatio: false,\r\n                plugins: {\r\n                    legend: {\r\n                        display: false \r\n                    },\r\n                    tooltip: {\r\n                        backgroundColor: 'rgba(17, 24, 39, 0.9)',\r\n                        titleFont: { size: 14, family: \"'Barlow', 'Segoe UI', sans-serif\" },\r\n                        bodyFont: { size: 14, family: \"'Barlow', 'Segoe UI', sans-serif\", weight: 'bold' },\r\n                        padding: 12,\r\n                        cornerRadius: 8,\r\n                        displayColors: false,\r\n                        callbacks: {\r\n                            label: function(context) {\r\n                                const dp = dataPoints[context.dataIndex];\r\n                                return `Bilangan: ${dp.quantity} (${dp.percentage}%)`;\r\n                            }\r\n                        }\r\n                    },\r\n                    datalabels: {\r\n                        anchor: 'end',\r\n                        align: 'top', \r\n                        color: '#4b5563', \r\n                        font: {\r\n                            weight: '600',\r\n                            size: 10,\r\n                            family: \"'Barlow', 'Segoe UI', sans-serif\"\r\n                        },\r\n                        formatter: function(value, context) {\r\n                            const dp = dataPoints[context.dataIndex];\r\n                            \/\/ Memaparkan peratusan (atas) & bilangan (bawah)\r\n                            return [`${dp.percentage}%`, `(${dp.quantity})`];\r\n                        }\r\n                    }\r\n                },\r\n                scales: {\r\n                    x: { \r\n                        grid: {\r\n                            display: false, \r\n                            drawBorder: false, \r\n                        },\r\n                        ticks: {\r\n                            color: '#6b7280',\r\n                            font: { family: \"'Barlow', 'Segoe UI', sans-serif\", size: 10 },\r\n                            autoSkip: false,\r\n                            maxRotation: 45, \/\/ Teks condong\r\n                            minRotation: 45\r\n                        }\r\n                    },\r\n                    y: { \r\n                        beginAtZero: true,\r\n                        grace: '15%', \/\/ Tambahan ruang di atas carta\r\n                        grid: {\r\n                            color: '#f3f4f6', \r\n                            drawBorder: false\r\n                        },\r\n                        ticks: {\r\n                            color: '#4b5563',\r\n                            font: { family: \"'Barlow', 'Segoe UI', sans-serif\", size: 12 }\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n        });\r\n    });\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-18a99e8 e-grid e-con-full e-con e-child\" data-id=\"18a99e8\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-16e431e elementor-widget elementor-widget-html\" data-id=\"16e431e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"oku-chart-wrapper\" style=\"width: 100%; max-width: 900px; margin: 0 auto; background: transparent; padding: 24px; border-radius: 12px; font-family: 'Barlow', 'Segoe UI', sans-serif;\">\r\n    \r\n    <h3 style=\"text-align: center; color: #1e1e1e; font-size: 1.25rem; font-weight: 400; margin-top: 0; margin-bottom: 24px;\">\r\n        Senarai Pelajar OKU mengikut Tahap Pengajian\r\n    <\/h3>\r\n    \r\n    <div style=\"position: relative; height: 400px; width: 100%;\">\r\n        <canvas id=\"tahapPengajianChart\"><\/canvas>\r\n    <\/div>\r\n\r\n<\/div>\r\n\r\n<!-- Pastikan fail Chart.js dan DataLabels ini dimuatkan jika belum ada -->\r\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js@3.9.1\/dist\/chart.min.js\"><\/script>\r\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chartjs-plugin-datalabels@2.2.0\/dist\/chartjs-plugin-datalabels.min.js\"><\/script>\r\n\r\n<script>\r\n    document.addEventListener(\"DOMContentLoaded\", function() {\r\n\r\n        Chart.register(ChartDataLabels);\r\n\r\n        const ctx = document.getElementById('tahapPengajianChart').getContext('2d');\r\n        \r\n        \/\/ Data peratusan dari gambar rujukan\r\n        const chartData = [51.3, 20.5, 16.7, 10.3, 1.3, 0];\r\n        \r\n        \/\/ Kategori tahap pengajian\r\n        const chartLabels = [\r\n            'Ijazah Sarjana Muda',\r\n            'Sarjana',\r\n            'Doktor Falsafah (PhD)',\r\n            'Diploma Lepasan Ijazah',\r\n            'Ijazah Doktor Perubatan',\r\n            'Diploma Pascasiswazah'\r\n        ];\r\n\r\n        new Chart(ctx, {\r\n            type: 'bar',\r\n            data: {\r\n                labels: chartLabels,\r\n                datasets: [{\r\n                    label: 'Peratusan (%)',\r\n                    data: chartData,\r\n                    \r\n                    \/\/ Warna kelabu gelap sepadan dengan gambar rujukan\r\n                    backgroundColor: '#52525B', \r\n                    hoverBackgroundColor: '#3F3F46',\r\n\r\n                    borderRadius: 6,\r\n                    borderSkipped: false,\r\n                    maxBarThickness: 40\r\n                }]\r\n            },\r\n            options: {\r\n                indexAxis: 'y', \r\n                responsive: true,\r\n                maintainAspectRatio: false,\r\n                plugins: {\r\n                    legend: {\r\n                        display: false \r\n                    },\r\n                    tooltip: {\r\n                        backgroundColor: 'rgba(17, 24, 39, 0.9)',\r\n                        titleFont: { size: 18, family: 'inherit' },\r\n                        bodyFont: { size: 14, family: 'inherit', weight: 'bold' },\r\n                        padding: 12,\r\n                        cornerRadius: 8,\r\n                        displayColors: false,\r\n                        callbacks: {\r\n                            label: function(context) {\r\n                                return context.parsed.x + '%';\r\n                            }\r\n                        }\r\n                    },\r\n                    datalabels: {\r\n                        anchor: 'end',\r\n                        align: 'right', \r\n                        color: '#4b5563', \r\n                        font: {\r\n                            weight: '600',\r\n                            size: 12,\r\n                            family: 'inherit'\r\n                        },\r\n                        formatter: function(value) {\r\n                            return value > 0 ? value + '%' : '0%'; \r\n                        }\r\n                    }\r\n                },\r\n                scales: {\r\n                    x: { \r\n                        beginAtZero: true,\r\n                        max: 100, \r\n                        grid: {\r\n                            color: '#f3f4f6', \r\n                            drawBorder: false, \r\n                        },\r\n                        ticks: {\r\n                            color: '#6b7280',\r\n                            font: { family: 'inherit' },\r\n                            callback: function(value) {\r\n                                return value + '%';\r\n                            }\r\n                        }\r\n                    },\r\n                    y: { \r\n                        grid: {\r\n                            display: false, \r\n                            drawBorder: false\r\n                        },\r\n                        ticks: {\r\n                            color: '#4b5563',\r\n                            font: { family: 'inherit', size: 12 }\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n        });\r\n    });\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-37a58e7 e-flex e-con-boxed e-con e-parent\" data-id=\"37a58e7\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-db5d7f3 elementor-widget elementor-widget-text-editor\" data-id=\"db5d7f3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><em><i>Dikemaskini pada: <strong>31 Ogos <\/strong><strong>2026<\/strong><\/i><\/em><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Staf OKU 0 Senarai Staf OKU mengikut Kategori OKU Senarai Staf OKU mengikut Kategori Kampus Senarai Staf OKU mengikut Kategori Kumpulan Perkhidmatan Senarai Staf OKU<a class=\"ut-readmore\" href=\"https:\/\/www.ukm.my\/upsoku\/utama\/statistik-warga-oku-ukm\/\"> &#8230;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":26,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-191","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.ukm.my\/upsoku\/wp-json\/wp\/v2\/pages\/191","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ukm.my\/upsoku\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.ukm.my\/upsoku\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.ukm.my\/upsoku\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ukm.my\/upsoku\/wp-json\/wp\/v2\/comments?post=191"}],"version-history":[{"count":16,"href":"https:\/\/www.ukm.my\/upsoku\/wp-json\/wp\/v2\/pages\/191\/revisions"}],"predecessor-version":[{"id":1028,"href":"https:\/\/www.ukm.my\/upsoku\/wp-json\/wp\/v2\/pages\/191\/revisions\/1028"}],"up":[{"embeddable":true,"href":"https:\/\/www.ukm.my\/upsoku\/wp-json\/wp\/v2\/pages\/26"}],"wp:attachment":[{"href":"https:\/\/www.ukm.my\/upsoku\/wp-json\/wp\/v2\/media?parent=191"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}