diff --git a/app/Config/Boot/development.php b/app/Config/Boot/development.php
index 73c7c60a..9e209ba3 100644
--- a/app/Config/Boot/development.php
+++ b/app/Config/Boot/development.php
@@ -9,7 +9,7 @@
  |
  | If you set 'display_errors' to '1', CI4's detailed error report will show.
  */
-ini_set('display_errors', '0');
+ini_set('display_errors', '1');
 error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT & ~E_USER_NOTICE & ~E_USER_DEPRECATED);
 
 /*
@@ -20,4 +20,4 @@ error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT & ~E_USER_NOTICE &
  | the system. It's not widely used currently, and may not survive
  | release of the framework.
  */
-defined('CI_DEBUG') || define('CI_DEBUG', false);
+defined('CI_DEBUG') || define('CI_DEBUG', true);
diff --git a/app/Controllers/Home.php b/app/Controllers/Home.php
index 1bb4a2b1..6dd04686 100644
--- a/app/Controllers/Home.php
+++ b/app/Controllers/Home.php
@@ -3,11 +3,16 @@
 namespace App\Controllers;
 
 use App\Models\Mpemby;
+use CodeIgniter\HTTP\RequestInterface;
+use CodeIgniter\HTTP\ResponseInterface;
 
 class Home extends BaseController
 {
+
+
 	public function index()
 	{
+
 		if (session('isLogin')) {
 
 			$model = new Mpemby();
@@ -24,6 +29,10 @@ class Home extends BaseController
 			$p['updatex'] = $model->getUpd()->getFirstRow('array');
 			$p['perkategori'] = $model->getKat($param)->getResult();
 			$p['pie_penerimaan'] = $model->getPiePen($param)->getResult();
+			$p['paycomp'] = $model->paycompNas($param)->getResult();
+			$p['parsesof'] = $model->sofNas($param)->getResult();
+
+
 
 
 			echo view('inc/head');
diff --git a/app/Models/Mpemby.php b/app/Models/Mpemby.php
index 383d499f..72bb541c 100644
--- a/app/Models/Mpemby.php
+++ b/app/Models/Mpemby.php
@@ -55,13 +55,34 @@ class Mpemby extends Model
         $tahunl = $tahun - 1;
         $bln = date('m');
         $query = $this->db->query("SELECT NM_PAJAK,TOTALN PENERIMAAN,
-                                    (SELECT ROUND(SUM(TOTAL)) FROM PERJENIS_MV)  PENERIMAAN_TOT
+                                    (SELECT ROUND(SUM(TOTAL)) FROM PERJENIS_MV WHERE THNBYR = '" . $tahun . "')  PENERIMAAN_TOT
                                     FROM (
                                     SELECT NM_PAJAK,ROUND(SUM(CASE WHEN THNBYR= '" . $tahun . "' THEN TOTAL ELSE 0 END)) TOTALN,
                                     ROUND(SUM(CASE WHEN THNBYR= '" . $tahunl . "' THEN TOTAL ELSE 0 END)) TOTALP
-                                    FROM PERJENIS_MV
-                                    GROUP BY NM_PAJAK ORDER BY TOTALN DESC)
+                                    FROM PERJENIS_MV 
+                                    GROUP BY NM_PAJAK ORDER BY TOTALN DESC) WHERE ROWNUM < = 10
                                     ");
         return $query;
     }
+
+
+    function paycompNas($param)
+    {
+        $tahun = $param['tahun'];
+        $tahunl = $tahun - 1;
+        $query = $this->db->query("SELECT A.JMLBULAN, A.JUMLAHWP,B.JUMLAHWP JUMLAHWPP FROM
+                                (SELECT TO_NUMBER(BLNBYR) JMLBULAN,JUMLAHWP FROM PAYCOMPNAS
+                                WHERE THNBYR = '" . $tahun . "') A,
+                                (SELECT TO_NUMBER(BLNBYR) JMLBULAN,JUMLAHWP FROM PAYCOMPNAS
+                                WHERE THNBYR = '" . $tahunl . "') B
+                                WHERE A.JMLBULAN =B.JMLBULAN");
+        return $query;
+    }
+
+    function sofNas($param)
+    {
+        $tahun = $param['tahun'];
+        $query = $this->db->query("SELECT LAPISAN,TO_NUMBER(WPBYR) WPBYR,ROUND(TOTAL) TOTAL FROM SOFNAS WHERE THNBYR = '" . $tahun . "'");
+        return $query;
+    }
 }
diff --git a/app/Views/inc/js.php b/app/Views/inc/js.php
index 4a6a2462..65409ebd 100644
--- a/app/Views/inc/js.php
+++ b/app/Views/inc/js.php
@@ -13,6 +13,9 @@
 <script src="<?= base_url('public/theme/plugins/tempusdominus-bootstrap-4/build/js/tempusdominus-bootstrap-4.min.js') ?>"></script>
 <script src="https://cdnjs.cloudflare.com/ajax/libs/highcharts/11.3.0/highcharts.js"></script>
 <script src="https://cdnjs.cloudflare.com/ajax/libs/highcharts/11.3.0/highcharts-more.min.js"></script>
+<script src="https://code.highcharts.com/modules/exporting.js"></script>
+<script src="https://code.highcharts.com/modules/export-data.js"></script>
+<script src="https://code.highcharts.com/modules/accessibility.js"></script>
 <script src="<?= base_url('public/theme/js/tables.js') ?>"></script>
 <script src="<?= base_url('public/theme/js/widgets.js') ?>"></script>
 <script src="<?= base_url('public/theme/dist/js/theme.min.js') ?>"></script>
diff --git a/app/Views/inc/sidebar.php b/app/Views/inc/sidebar.php
index 19dda028..8b87f196 100644
--- a/app/Views/inc/sidebar.php
+++ b/app/Views/inc/sidebar.php
@@ -19,7 +19,7 @@
                         <a href="index.html"><i class="ik ik-bar-chart-2"></i><span>Dashboard</span></a>
                     </div>
                     <div class="nav-item">
-                        <a href="pages/navbar.html"><i class="ik ik-menu"></i><span>Navigation</span> <span class="badge badge-success">New</span></a>
+                        <a href="pages/navbar.html"><i class="ik ik-menu"></i><span>Grafik Map KJS</span> <span class="badge badge-success">New</span></a>
                     </div>
                     <div class="nav-item has-sub">
                         <a href="javascript:void(0)"><i class="ik ik-layers"></i><span>Widgets</span> <span class="badge badge-danger">150+</span></a>
diff --git a/app/Views/ppm/dashboard.php b/app/Views/ppm/dashboard.php
index b8af8c59..98e2cbe2 100644
--- a/app/Views/ppm/dashboard.php
+++ b/app/Views/ppm/dashboard.php
@@ -1,3 +1,48 @@
+<style>
+    .highcharts-figure,
+    .highcharts-data-table table {
+        min-width: 320px;
+        max-width: 800px;
+        margin: 1em auto;
+    }
+
+    .highcharts-data-table table {
+        font-family: Verdana, sans-serif;
+        border-collapse: collapse;
+        border: 1px solid #ebebeb;
+        margin: 10px auto;
+        text-align: center;
+        width: 100%;
+        max-width: 500px;
+    }
+
+    .highcharts-data-table caption {
+        padding: 1em 0;
+        font-size: 1.2em;
+        color: #555;
+    }
+
+    .highcharts-data-table th {
+        font-weight: 600;
+        padding: 0.5em;
+    }
+
+    .highcharts-data-table td,
+    .highcharts-data-table th,
+    .highcharts-data-table caption {
+        padding: 0.5em;
+    }
+
+    .highcharts-data-table thead tr,
+    .highcharts-data-table tr:nth-child(even) {
+        background: #f8f8f8;
+    }
+
+    .highcharts-data-table tr:hover {
+        background: #f1f7ff;
+    }
+</style>
+
 <?php
 $tgt = 0;
 $pennow = 0;
@@ -14,11 +59,33 @@ foreach ($penerimaan as $row) {
 
 
 
+$jml_penerimaan = 0;
+foreach ($pie_penerimaan as $_junk => $data) {
+    $jml_penerimaan = $jml_penerimaan + $data->PENERIMAAN;
+    $jml_penerimaantot = $data->PENERIMAAN_TOT;
+}
+$jml_penerimaan = $jml_penerimaantot - $jml_penerimaan;
+$row = 0;
+
 $datanya_penerimaan = "[";
 foreach ($pie_penerimaan as $_junk => $data) {
-    $datanya_penerimaan = $datanya_penerimaan . "['" . $data->NM_PAJAK . "', " . $data->PENERIMAAN . "],";
+    $datanya_penerimaan = $datanya_penerimaan . "{name :'" . $data->NM_PAJAK . "',y: " . $data->PENERIMAAN . "}";
+    break;
 }
-$datanya_penerimaan = $datanya_penerimaan . "]";
+foreach ($pie_penerimaan as $_junk => $data) {
+    if ($row <> 0) {
+        $datanya_penerimaan = $datanya_penerimaan . ",{name :'" . $data->NM_PAJAK . "',y: " . $data->PENERIMAAN . "}";
+    }
+    $row = $row + 1;
+}
+$datanya_penerimaan = $datanya_penerimaan . ",{name: 'Lainnya',y:" . $jml_penerimaan . "}]";
+
+
+$datapaycomp = "[";
+foreach ($paycomp as $rowp) {
+    $datapaycomp = $datapaycomp . "{name : 'Jmlbln : " . $rowp->JMLBULAN . "',y: " . $rowp->JUMLAHWP . "},";
+}
+$datapaycomp = $datapaycomp . "]";
 
 
 
@@ -28,7 +95,6 @@ $datanya_penerimaan = $datanya_penerimaan . "]";
     <div class="container-fluid">
         <h3>Dashboard Nasional</h3>
         <div class="row clearfix">
-
             <div class="col-lg-3 col-md-6 col-sm-12">
                 <div class="widget">
                     <div class="widget-body">
@@ -95,7 +161,7 @@ $datanya_penerimaan = $datanya_penerimaan . "]";
                                 <h6><b><?= number_format($carryover, 0, ',', '.') ?></b></h6>
                             </div>
                             <div class="icon">
-                                <i class="ik ik-message-square"></i>
+                                <i class="ik ik-alert-triangle"></i>
                             </div>
                         </div>
                         <small class="text-small mt-10 d-block">update <?= $updatex['UPD'] ?></small>
@@ -245,17 +311,17 @@ $datanya_penerimaan = $datanya_penerimaan . "]";
             <div class="col-md-4">
                 <div class="card" style="min-height: 422px;">
                     <div class="card-header">
-                        <h3>Per Jenis Pajak</h3>
+                        <h3>Info Wajib Pajak</h3>
                     </div>
                     <div class="card-body">
-                        <div id="preview_jenis_penerimaan"></div>
+
                     </div>
                 </div>
             </div>
         </div>
 
         <div class="row">
-            <div class="col-md-4">
+            <div class="col-md-6">
                 <div class="card">
                     <div class="card-header">
                         <h3>Payment Compliance</h3>
@@ -268,15 +334,16 @@ $datanya_penerimaan = $datanya_penerimaan . "]";
                         </div>
                     </div>
                     <div class="card-body">
-
+                        <div id="paycomp"></div>
                     </div>
 
                 </div>
             </div>
-            <div class="col-md-4">
+
+            <div class="col-md-6">
                 <div class="card">
                     <div class="card-header">
-                        <h3>Strength of Figure</h3>
+                        <h3>PerJenis Pajak</h3>
                         <div class="card-header-right">
                             <ul class="list-unstyled card-option">
                                 <li><i class="ik ik-chevron-left action-toggle"></i></li>
@@ -286,15 +353,18 @@ $datanya_penerimaan = $datanya_penerimaan . "]";
                         </div>
                     </div>
                     <div class="card-body">
-
+                        <div id="preview_jenis_penerimaan"></div>
                     </div>
 
                 </div>
             </div>
-            <div class="col-md-4">
+        </div>
+
+        <div class="row">
+            <div class="col-md-12">
                 <div class="card">
                     <div class="card-header">
-                        <h3>Info WP</h3>
+                        <h3>Strength of Figure</h3>
                         <div class="card-header-right">
                             <ul class="list-unstyled card-option">
                                 <li><i class="ik ik-chevron-left action-toggle"></i></li>
@@ -304,7 +374,35 @@ $datanya_penerimaan = $datanya_penerimaan . "]";
                         </div>
                     </div>
                     <div class="card-body">
-
+                        <table class="table table-sm">
+                            <thead>
+                                <th class="text-center">SOF</th>
+                                <th class="text-center">WP</th>
+                                <th class="text-center">WP %</th>
+                                <th class="text-center">Jumlah</th>
+                                <th class="text-center">Jumlah %</th>
+                            </thead>
+                            <?=
+                            $totwpsof = 0;
+                            $totjmlsof = 0;
+                            foreach ($parsesof as $datasof) {
+                                $totwpsof += $datasof->WPBYR;
+                                $totjmlsof += $datasof->TOTAL;
+
+                                $pctwp = $datasof->WPBYR / $totwpsof * 100;
+                                $pctpen = $datasof->TOTAL / $totjmlsof * 100;
+                                print_r((array_sum(array($totwpsof))));
+                            ?>
+                                <tbody>
+
+                                    <td><?= $datasof->LAPISAN ?></td>
+                                    <td class="text-right"><?= number_format($datasof->WPBYR, 0, ',', '.') ?></td>
+                                    <td class="text-right"><?= number_format($pctwp, 2) ?></td>
+                                    <td class="text-right"><?= number_format($datasof->TOTAL, 0, ',', '.') ?></td>
+                                    <td class="text-right"><?= number_format($pctpen, 2) ?></td>
+                                </tbody>
+                            <?php } ?>
+                        </table>
                     </div>
 
                 </div>
@@ -477,203 +575,251 @@ $datanya_penerimaan = $datanya_penerimaan . "]";
     </div>
 </div>
 
-<aside class="right-sidebar">
-    <div class="sidebar-chat" data-plugin="chat-sidebar">
-        <div class="sidebar-chat-info">
-            <h6>Chat List</h6>
-            <form class="mr-t-10">
-                <div class="form-group">
-                    <input type="text" class="form-control" placeholder="Search for friends ...">
-                    <i class="ik ik-search"></i>
-                </div>
-            </form>
-        </div>
-        <div class="chat-list">
-            <div class="list-group row">
-                <a href="javascript:void(0)" class="list-group-item" data-chat-user="Gene Newman">
-                    <figure class="user--online">
-                        <img src="img/users/1.jpg" class="rounded-circle" alt="">
-                    </figure><span><span class="name">Gene Newman</span> <span class="username">@gene_newman</span> </span>
-                </a>
-                <a href="javascript:void(0)" class="list-group-item" data-chat-user="Billy Black">
-                    <figure class="user--online">
-                        <img src="img/users/2.jpg" class="rounded-circle" alt="">
-                    </figure><span><span class="name">Billy Black</span> <span class="username">@billyblack</span> </span>
-                </a>
-                <a href="javascript:void(0)" class="list-group-item" data-chat-user="Herbert Diaz">
-                    <figure class="user--online">
-                        <img src="img/users/3.jpg" class="rounded-circle" alt="">
-                    </figure><span><span class="name">Herbert Diaz</span> <span class="username">@herbert</span> </span>
-                </a>
-                <a href="javascript:void(0)" class="list-group-item" data-chat-user="Sylvia Harvey">
-                    <figure class="user--busy">
-                        <img src="img/users/4.jpg" class="rounded-circle" alt="">
-                    </figure><span><span class="name">Sylvia Harvey</span> <span class="username">@sylvia</span> </span>
-                </a>
-                <a href="javascript:void(0)" class="list-group-item active" data-chat-user="Marsha Hoffman">
-                    <figure class="user--busy">
-                        <img src="img/users/5.jpg" class="rounded-circle" alt="">
-                    </figure><span><span class="name">Marsha Hoffman</span> <span class="username">@m_hoffman</span> </span>
-                </a>
-                <a href="javascript:void(0)" class="list-group-item" data-chat-user="Mason Grant">
-                    <figure class="user--offline">
-                        <img src="img/users/1.jpg" class="rounded-circle" alt="">
-                    </figure><span><span class="name">Mason Grant</span> <span class="username">@masongrant</span> </span>
-                </a>
-                <a href="javascript:void(0)" class="list-group-item" data-chat-user="Shelly Sullivan">
-                    <figure class="user--offline">
-                        <img src="img/users/2.jpg" class="rounded-circle" alt="">
-                    </figure><span><span class="name">Shelly Sullivan</span> <span class="username">@shelly</span></span>
-                </a>
-            </div>
-        </div>
-    </div>
-</aside>
-
-<div class="chat-panel" hidden>
-    <div class="card">
-        <div class="card-header d-flex justify-content-between">
-            <a href="javascript:void(0);"><i class="ik ik-message-square text-success"></i></a>
-            <span class="user-name">John Doe</span>
-            <button type="button" class="close" aria-label="Close"><span aria-hidden="true">×</span></button>
-        </div>
-        <div class="card-body">
-            <div class="widget-chat-activity flex-1">
-                <div class="messages">
-                    <div class="message media reply">
-                        <figure class="user--online">
-                            <a href="#">
-                                <img src="img/users/3.jpg" class="rounded-circle" alt="">
-                            </a>
-                        </figure>
-                        <div class="message-body media-body">
-                            <p>Epic Cheeseburgers come in all kind of styles.</p>
-                        </div>
-                    </div>
-                    <div class="message media">
-                        <figure class="user--online">
-                            <a href="#">
-                                <img src="img/users/1.jpg" class="rounded-circle" alt="">
-                            </a>
-                        </figure>
-                        <div class="message-body media-body">
-                            <p>Cheeseburgers make your knees weak.</p>
-                        </div>
-                    </div>
-                    <div class="message media reply">
-                        <figure class="user--offline">
-                            <a href="#">
-                                <img src="img/users/5.jpg" class="rounded-circle" alt="">
-                            </a>
-                        </figure>
-                        <div class="message-body media-body">
-                            <p>Cheeseburgers will never let you down.</p>
-                            <p>They'll also never run around or desert you.</p>
-                        </div>
-                    </div>
-                    <div class="message media">
-                        <figure class="user--online">
-                            <a href="#">
-                                <img src="img/users/1.jpg" class="rounded-circle" alt="">
-                            </a>
-                        </figure>
-                        <div class="message-body media-body">
-                            <p>A great cheeseburger is a gastronomical event.</p>
-                        </div>
-                    </div>
-                    <div class="message media reply">
-                        <figure class="user--busy">
-                            <a href="#">
-                                <img src="img/users/5.jpg" class="rounded-circle" alt="">
-                            </a>
-                        </figure>
-                        <div class="message-body media-body">
-                            <p>There's a cheesy incarnation waiting for you no matter what you palete preferences are.</p>
-                        </div>
-                    </div>
-                    <div class="message media">
-                        <figure class="user--online">
-                            <a href="#">
-                                <img src="img/users/1.jpg" class="rounded-circle" alt="">
-                            </a>
-                        </figure>
-                        <div class="message-body media-body">
-                            <p>If you are a vegan, we are sorry for you loss.</p>
-                        </div>
-                    </div>
-                </div>
-            </div>
-        </div>
-        <form action="javascript:void(0)" class="card-footer" method="post">
-            <div class="d-flex justify-content-end">
-                <textarea class="border-0 flex-1" rows="1" placeholder="Type your message here"></textarea>
-                <button class="btn btn-icon" type="submit"><i class="ik ik-arrow-right text-success"></i></button>
-            </div>
-        </form>
-    </div>
-</div>
 
 
-<?php echo view('inc/js.php') ?>
-
 
-<script type="text/javascript">
-    var chart;
+<?php echo view('inc/js.php') ?>
 
-    $(document).ready(function() {
 
-        // Build the chart
-        chart = new Highcharts.Chart({
-            chart: {
-                renderTo: 'preview_jenis_penerimaan',
-                plotBackgroundColor: null,
-                plotBorderWidth: null,
-                plotShadow: false
-            },
-            title: {
-                text: '',
-                style: {
-                    fontSize: '18px',
-                    fontWeight: 'bold',
-                    textTransform: 'uppercase'
+<script>
+    (function(H) {
+        H.seriesTypes.pie.prototype.animate = function(init) {
+            const series = this,
+                chart = series.chart,
+                points = series.points,
+                {
+                    animation
+                } = series.options,
+                {
+                    startAngleRad
+                } = series;
+
+            function fanAnimate(point, startAngleRad) {
+                const graphic = point.graphic,
+                    args = point.shapeArgs;
+
+                if (graphic && args) {
+
+                    graphic
+                        // Set inital animation values
+                        .attr({
+                            start: startAngleRad,
+                            end: startAngleRad,
+                            opacity: 1
+                        })
+                        // Animate to the final position
+                        .animate({
+                            start: args.start,
+                            end: args.end
+                        }, {
+                            duration: animation.duration / points.length
+                        }, function() {
+                            // On complete, start animating the next point
+                            if (points[point.index + 1]) {
+                                fanAnimate(points[point.index + 1], args.end);
+                            }
+                            // On the last point, fade in the data labels, then
+                            // apply the inner size
+                            if (point.index === series.points.length - 1) {
+                                series.dataLabelsGroup.animate({
+                                        opacity: 1
+                                    },
+                                    void 0,
+                                    function() {
+                                        points.forEach(point => {
+                                            point.opacity = 1;
+                                        });
+                                        series.update({
+                                            enableMouseTracking: true
+                                        }, false);
+                                        chart.update({
+                                            plotOptions: {
+                                                pie: {
+                                                    innerSize: '10%',
+                                                    borderRadius: 8
+                                                }
+                                            }
+                                        });
+                                    });
+                            }
+                        });
                 }
-            },
-            tooltip: {
-                formatter: function() {
-                    return '<b>' + this.point.name + '</b>: ' + Highcharts.numberFormat(this.y, 0);
+            }
+
+            if (init) {
+                // Hide points on init
+                points.forEach(point => {
+                    point.opacity = 0;
+                });
+            } else {
+                fanAnimate(points[0], startAngleRad);
+            }
+        };
+    }(Highcharts));
+
+    Highcharts.chart('preview_jenis_penerimaan', {
+        chart: {
+            type: 'pie'
+        },
+        title: {
+            text: ''
+        },
+        subtitle: {
+            text: ''
+        },
+        tooltip: {
+            pointFormat: 'Peranan: <b>{point.percentage:.1f}%</b>'
+        },
+        accessibility: {
+            point: {
+                valueSuffix: '%'
+            }
+        },
+        plotOptions: {
+            pie: {
+                allowPointSelect: true,
+                borderWidth: 2,
+                cursor: 'pointer',
+                dataLabels: {
+                    enabled: true,
+                    format: '<b>{point.name}</b><br>{point.percentage:.1f}%',
+                    distance: 20
                 }
+            }
+        },
+        credits: {
+            enabled: false
+        },
+        series: [{
+            // Disable mouse tracking on load, enable after custom animation
+            enableMouseTracking: false,
+            animation: {
+                duration: 2000
             },
-            colors: ['#7cb5ec', '#f7a35c', '#90ee7e', '#7798BF', '#aaeeee', '#ff0066', '#eeaaee', '#55BF3B', '#DF5353', '#6798BF', '#eeeeee'],
-            plotOptions: {
-                pie: {
-                    allowPointSelect: true,
-                    cursor: 'pointer',
-                    dataLabels: {
-                        style: {
-                            width: '250px'
-                        },
-                        enabled: true,
-                        color: '#000000',
-                        connectorColor: 'red',
-                        formatter: function() {
-                            return '<b>' + this.point.name + '</b>: ' + Highcharts.numberFormat(this.percentage, 0) + ' % ';
-                        }
-                    },
-                    showInLegend: false
+            colorByPoint: true,
+            data: <?php echo $datanya_penerimaan  ?>
+        }]
+    });
+</script>
+
+
+<script>
+    (function(H) {
+        H.seriesTypes.pie.prototype.animate = function(init) {
+            const series = this,
+                chart = series.chart,
+                points = series.points,
+                {
+                    animation
+                } = series.options,
+                {
+                    startAngleRad
+                } = series;
+
+            function fanAnimate(point, startAngleRad) {
+                const graphic = point.graphic,
+                    args = point.shapeArgs;
+
+                if (graphic && args) {
+
+                    graphic
+                        // Set inital animation values
+                        .attr({
+                            start: startAngleRad,
+                            end: startAngleRad,
+                            opacity: 1
+                        })
+                        // Animate to the final position
+                        .animate({
+                            start: args.start,
+                            end: args.end
+                        }, {
+                            duration: animation.duration / points.length
+                        }, function() {
+                            // On complete, start animating the next point
+                            if (points[point.index + 1]) {
+                                fanAnimate(points[point.index + 1], args.end);
+                            }
+                            // On the last point, fade in the data labels, then
+                            // apply the inner size
+                            if (point.index === series.points.length - 1) {
+                                series.dataLabelsGroup.animate({
+                                        opacity: 1
+                                    },
+                                    void 0,
+                                    function() {
+                                        points.forEach(point => {
+                                            point.opacity = 1;
+                                        });
+                                        series.update({
+                                            enableMouseTracking: true
+                                        }, false);
+                                        chart.update({
+                                            plotOptions: {
+                                                pie: {
+                                                    innerSize: '20%',
+                                                    borderRadius: 8
+                                                }
+                                            }
+                                        });
+                                    });
+                            }
+                        });
                 }
+            }
+
+            if (init) {
+                // Hide points on init
+                points.forEach(point => {
+                    point.opacity = 0;
+                });
+            } else {
+                fanAnimate(points[0], startAngleRad);
+            }
+        };
+    }(Highcharts));
+
+    Highcharts.chart('paycomp', {
+        chart: {
+            type: 'pie'
+        },
+        title: {
+            text: ''
+        },
+        subtitle: {
+            text: ''
+        },
+        tooltip: {
+            pointFormat: '{point.name}: <b>{point.percentage:.1f}%</b> <br> jmlWP : {point.y}'
+        },
+        accessibility: {
+            point: {
+                valueSuffix: '%'
+            }
+        },
+        plotOptions: {
+            pie: {
+                allowPointSelect: true,
+                borderWidth: 2,
+                cursor: 'pointer',
+                dataLabels: {
+                    enabled: true,
+                    format: '<b>{point.name}</b><br>{point.percentage:.1f}%',
+                    distance: 20
+                }
+            }
+        },
+        credits: {
+            enabled: false
+        },
+        series: [{
+            // Disable mouse tracking on load, enable after custom animation
+            enableMouseTracking: false,
+            animation: {
+                duration: 2000
             },
-            exporting: {
-                enabled: false
-            },
-            credits: {
-                enabled: false
-            },
-            series: [{
-                type: 'pie',
-                name: 'Peranan',
-                data: <?php echo $datanya_penerimaan;  ?>,
-                innerSize: '50%'
-            }]
-        });
+            colorByPoint: true,
+            data: <?php echo $datapaycomp ?>
+        }]
     });
 </script>
\ No newline at end of file