Tutorials Membuat Pagination dengan codeigniter 4 – Pagination adalah fitur yang digunakan dalam membagi suatu resource/data dibuat dalam beberapa bagian kecil yang berpisah. Di dalam suatu system dunia web pagination biasanya dibuat sebagaimemecah resource/data yang besar (ada dalam database) supaya lebih mudah digunakan oleh user.
Pada dasarnya jika kita membuat pagination untuk website kita, seperti halnya kita membatasi data yang di tampilkan dan kemudian kita bagi untuk menjadi beberapa halaman agar saling terhubung. Mengapa kita perlu menggunakan pagination dalam website? Nah begini karena jika kita tidak menggunakan pagination dalam aplikasi website yang sudah mempunyai ribuan data maka yang terjadi pada website kita adalah load yang sangat lama dan server akan bekerja ekstra untuk menampilkan data yang kita minta.
Mungkin kita berandai kenapa kita membuat pagination tidak menggunakan datatable saja , karena pada datatable sistimnya itu datatable akan meload pada semua data terlebih dulu jadi baru menampilkan hasil perpage, bila kita memiliki ribuan data dan memakai datatable lalu yang terjadi itu seperti diatas load data yang lama dan sangat mempengaruhi performa website kita.
Daftar Isi
Cara Membuat Pagination dengan codeigniter 4 Dengan Mudah
Dalam Membuat Pagination saat kita membuat ini menggunakan framework codeigniter 4, dalam framework codeigmiter juga sering dinamai dengan CI adalah suatu kerangka kerja PHP biasanya cukup populer di dunia web development Indonesia di karenakan pemakaiannya yang cukup mudah dan memiliki performa bagus.
Dalam pembuatan pagination pada codeigniter 4 ini juga tidak terlalu rumit seperti codeigniter versi lalu yang sedikit rumit serta memakan banyak waktubanyak waktu. Yuk langsung saja kita pada tutorialnya.
Cara Installasi Codeigniter 4
Jika kita memulai aplikasi tapi bila kita tidak memiliki aplikasi itu caranya kita lakukan harus installasi aplikasi, bila anda belum mengerti cara installasi Codeigniter 4 sudah saya bahas pada artikel sebelumnya
Cara Membuat Database
Untuk melanjutkan kelangkah berikutnya kita buat dahulu database yang digunakan sebagai penyimpan data kita. Kali ini aku ingin membuat database dengan nama Sekolah serta tabel siswa pada contoh dibawah ini.
mysql> create database sekolah;
Query OK, 1 row affected (0.00 sec)
mysql> create table sis
mysql> create database sekolah;
Query OK, 1 row affected (0.00 sec)
mysql> create table siswa (ID int(5) not null AUTO_INCREMENT, NamaLengkap varchar(50), Kelas varchar(20), PRIMARY KEY(ID));
Query OK, 0 rows affected (0.53 sec)
Membuat Koneksi Database
Jika telah berhasil install codeigniter 4 serta sukses membuat database maka kita bisa untuk lanjut ke langkah berikutnya, untu membuat koneksi database.
Untuk membuat koneksi database pada codeigniter 4 ada dua cara yaitu maka yang pertama caranya dengan merubah file env di jadikan .env (menambah titik di depan) lalu edit kode koneksinya, selanjutnya cara kedua yaitu kita menambah file Database.php pada folder app/config. Nah yang kedua ini merupakan mirip dengan versi codeigniter yang dahulu, lalu kali ini kita ini membuat koneksi database pada file .env. lalu aku buka file env yang ada pada folder root CI 4 selanjutnya save as menjadi .env lalu cari dalam kode koneksi seperti dibawah ini.
database.default.hostname = localhost
database.default.database = sekolah
database.default.username = root
database.default.password =
database.default.DBDriver = MySQLi
Jika kode diatas di temukan maka selanjutnya kalian hilangkan tanda pagar serta kalian juga harus sesuaikan dengan host, database, username, dan password yang dibuat, serta jadi satu lagi, kalian jangan sampai lupa jika mengubah pada mode development di karenakan aplikasi ini masih dalam tahap beta pengembangan cara berikutnya kalian silahkan cari #CI_ENVIRONMENT = production selanjutnya rubah untuk menjadi CI_ENVIRONMENT = development
Membuat File Model
Lalu Tahap selanjutnya kita membuat struktur data model di codeigniter 4 selanjutnya silahkan kalian buat file baru di beri nama ModelsSiswa.php selanjutnya kita simpan pada folder app/Models selanjutnya masukan kode berikut ini.
<?php namespace App\Models;
use CodeIgniter\Model;
class ModelsSiswa extends Model
{
protected $table = 'siswa';
}
yang ada pada kode diatas ini kita telah membuat tabel siswa (protected $table = ‘siswa’;) yang akan kita proses.
Membuat File Controllers
Jika model ini telah di buat maka kita buat file controllers yang sebagai perantara models serta juga views. Silahkan kalian harus buat file baru dengan kalian beri nama Siswa.php simpanlaha pada folder app/models selanjutnya masukan kode berikut :
<?php namespace App\Controllers;
use CodeIgniter\Controller;
use App\Models\ModelsSiswa;
class Siswa extends BaseController
{
public function index()
{
$pager = \Config\Services::pager();
$model = new ModelsSiswa();
$data['siswa'] = $model->paginate(10);
$data['pager'] = $model->pager;
$data['page'] = $this->request->getVar('page') ? $this->request->getVar('page') : 1;
echo view('list_siswa',$data);
}
}
jika yang ada dalam controller ini terdapat kode $pager = \Config\Services::pager(); yang berfungsi dengan cara menload pagination yang ada juga kode paginate(10) ($data[‘siswa’] = $model->paginate(10);) fungsinya digunakan untuk menentukan banyaknya data yang tampil perhalaman. Dalam contoh diatas kita telah menset angka 10. Maka nantinya yang tampil perhalaman berjumlah 10 data (kita juga bisa untuk merubah data sesuai dengan keinginan kita dengan cara mengganti angka 10 dengan angka yang kita inginkan) serta kode pager ($data[‘pager’] = $model->pager;) sebagai method yang digunakan untuk menampilkan link pagination, nanti bila tidak ada kode tersebut, maka pagination tidak jalan.
Fungsi kode $model = new ModelsSiswa(); biasanya digunakan dalam memanggil class model yang telah kita buat pada file model tadi.
Membuat file View
Maka File view ini yang akan kita presentasikan tampilan pada layar/user silahkan buat file baru dengan nama list_siswa.php kemudian simpan di folder app/views lalu masukan kode berikut ini.
<!DOCTYPE html>
<html lang=”en”>
<head>
<meta charset=”UTF-8″>
<title>PAGINATION DENGAN CODEIGNITER 4</title>
<link href=”https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha/css/bootstrap.css” rel=”stylesheet”>
</head>
<body style=”width: 70%; margin: 0 auto; padding-top: 30px;”>
<div class=”row”>
<div class=”col-lg-12 margin-tb”>
<div class=”pull-left”>
<h2>PAGINATION DENGAN CODEIGNITER 4 </h2>
</div>
</div>
</div>
<hr>
<div class=”row”>
<div class=”col-lg-12 margin-tb”>
<table class=”table table-bordered”>
<tr>
<th>No</th>
<th>Nama Siswa</th>
<th>Kelas</th>
</tr>
<?php $no=1+(10*($page-1));
foreach($siswa as $row):?>
<tr>
<td><?=$no;?></td>
<td><?=$row[‘NamaLengkap’];?></td>
<td><?=$row[‘Kelas’];?></td>
</tr>
<?php $no++; endforeach;?>
</table>
<?= $pager->Links() ?>
</div>
</div>
</body>