$this->db->query()
A função SOMENTE retorna TRUE/FALSE em caso de sucesso ou falha. Ele NÃO retorna um conjunto de resultados de banco de dados, nem define o cronômetro de consulta, compila dados de ligação ou armazena sua consulta para depuração. Ele simplesmente permite que você envie uma consulta. A maioria dos usuários raramente usará essa função. Tente desta forma:-
$sql = "SELECT
a.ar,
a.jabatan,
COUNT(*) AS JumlahWPBaru,
SUM(
CASE WHEN a.no_shim IS NOT NULL
THEN 1
WHEN a.no_shim IS NULL
THEN 0
END ) AS JumlahHimbauan
FROM (
SELECT
a.ar,
c.jabatan,
a.npwp,
a.kpp,
a.cab,
a.namawp,
b.kd_shim,
b.no_shim,
b.tgl_shim
FROM mfwpbudi a
LEFT JOIN tb_shimbauan b ON ( a.npwp = b.npwp )
LEFT JOIN easystp_user c ON ( SUBSTR( a.ar, 1, 9 ) = c.id_user )
WHERE a.tanggal_daftar > '2013-12-31'
AND c.jabatan = '05E'
) AS a
GROUP BY a.ar";
$query = $this->db->query($sql);
$result = $query->result_array();
return $result;