DataTables Server-side Processing dengan CodeIgniter

DataTables CodeIgniter dengan pemrosesan sisi server (server-side processing) sangat efisien untuk menampilkan ribuan baris data. Berbeda dari DataTables biasa yang memuat semua data sekaligus, versi server-side memproses pencarian, pengurutan, dan pagination di server, sehingga tetap ringan meski datanya sangat banyak.

Menyiapkan DataTables di View

<table id="tabel"><thead><tr><th>Nama</th><th>Harga</th></tr></thead></table>

<script>
$('#tabel').DataTable({
    processing: true,
    serverSide: true,
    ajax: '<?= base_url("produk/data") ?>'
});
</script>

Membuat Controller Server-side

Controller menerima parameter dari DataTables (draw, start, length, search) lalu mengembalikan data dalam format yang diharapkan:

<?php
public function data() {
    $draw   = $this->input->post('draw');
    $start  = $this->input->post('start');
    $length = $this->input->post('length');
    $cari   = $this->input->post('search')['value'];

    if ($cari) {
        $this->db->like('nama', $cari);
    }
    $data = $this->db->limit($length, $start)->get('produk')->result();

    echo json_encode(array(
        'draw'            => $draw,
        'recordsTotal'    => $this->db->count_all('produk'),
        'recordsFiltered' => $this->db->count_all('produk'),
        'data'            => $data
    ));
}
?>

Memahami Parameternya

DataTables mengirim start dan length untuk pagination, serta search untuk pencarian. Server merespons dengan jumlah total data dan data untuk halaman saat ini saja.

Kesimpulan

Dengan DataTables CodeIgniter server-side, aplikasi tetap ringan dan responsif meski menampilkan data dalam jumlah sangat besar. Semua pekerjaan berat dilakukan di server, bukan di browser pengguna.

Referensi: untuk penjelasan lebih mendalam, kunjungi dokumentasi resmi CodeIgniter.

Baca Juga

Ali Akbar

Software Developer yang fokus mengembangkan aplikasi berbasis Web dan Desktop. Senang mempelajari teknologi baru terutama di bidang web design dan web development.

View all posts by Ali Akbar →

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *