Membuat Pagination Codeigniter Dengan Bootstrap

Created at by Aris Munandar

Pada tutorial kali ini kita akan membahas bagaimana cara membuat pagination codeigniter dengan bootstrap, saya akan berusaha menjelaskan secara detail pembuatan pagination codeigniter ini. Didalam tutorial membuat pagination codeigniter dengan bootstrap ini saya menggunakan bootstrap versi 3 dan versi 4 dimana kita mengambil css dari CDN tanpa perlu mendownload file dari bootstrap.

Saya kan coba menjelaskan sedikit fungsi pagination, pagination berfungsi untuk mengelola data yang sangat banyak agar lebih ringan dan lebih mudah secara visual, dimana pagination akan mengelompokan beberapa baris data sesuai dengan urutan yang telah ditetapkan didalam kode program. Misalnya kita memiliki data 100 maka tentu apabila kita tampilkan semuanya akan terasa berat di sisi client sehingga kita perlu mengelompokannya menjadi per-10 misalnya (sesuai keinginan) sehingga kita akan miliki 10 link untuk menampilkan data berikutnya.

membuat pagination codeigniter dengan bootstrap

Gambar diatas adalah contoh pagination yang tadi saya jelaskan, kurang lebih yang akan kita buat seperti gambar diatas tersebut. Sebelum tutorial pagination codeigniter ini dimulai saya anggap pembaca telah menginstall dan mengerti dasar-dasar codeigniter sehingga lebih mudah dipahami.

Membuat Database

Pertama buatlah database terlebih dahulu, jalankan perintah dibawah ini.

CREATE DATABASE tutorial_pagination_codeigniter

Jika sudah, kita akan membuat tabel pengguna didalam database yang tadi kita buat, jalankan query dibawah ini:

CREATE TABLE pengguna(
     id INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
     nama VARCHAR(50) NOT NULL,
     umur INT(3) NOT NULL,
     tanggal_lahir DATETIME,
     jenis_kelamin VARCHAR(10)
);

Lalu kita akan memasukan beberapa data dummy sebagai bahan latihan kita, jalankan query dibawah ini.

INSERT INTO pengguna(nama, umur, tanggal_lahir, jenis_kelamin) VALUES
('Aris Munandar', 26, '1993-06-03 00:00:00', 'Lelaki'),
('Aditya', 26, '1993-06-03 00:00:00', 'Lelaki'),
('Budi Santoso', 26, '1993-06-03 00:00:00', 'Lelaki'),
('Ramdhoni', 26, '1993-06-03 00:00:00', 'Lelaki'),
('Ahmad', 26, '1993-06-03 00:00:00', 'Lelaki'),
('Iqbal Iskandar', 26, '1993-06-03 00:00:00', 'Lelaki'),
('Sofia', 26, '1993-06-03 00:00:00', 'Perempuan'),
('Azzahra', 26, '1993-06-03 00:00:00', 'Perempuan'),
('Tony Stark', 26, '1993-06-03 00:00:00', 'Lelaki'),
('Peter Parker', 26, '1993-06-03 00:00:00', 'Lelaki'),
('Jimmy Neutron', 26, '1993-06-03 00:00:00', 'Lelaki'),
('Rudy Tabootie', 26, '1993-06-03 00:00:00', 'Lelaki'),
('Hey Arnold', 26, '1993-06-03 00:00:00', 'Lelaki'),
('Gerald', 26, '1993-06-03 00:00:00', 'Lelaki'),
('Spongebob', 26, '1993-06-03 00:00:00', 'Lelaki');

Jika sudah, maka silakan cek didalam tabel tersebut ada 15 data pengguna dimana kita akan membaginya menjadi 3 kelompok sehingga data yang akan ditampilkan masing-masing adalah 5 baris data, seperti tujuan tutorial membuat pagination codeigniter dengan bootstrap ini.

Setelah langkah-langkah pembuatan database selesai maka selanjutnya melakukan beberapa konfigurasi database dan codeigniter.

Buka file /application/config/config.php

Lalu ubah bagian berikut:

$config['base_url'] = '';
$config['encryption_key'] = '';
$config['sess_save_path'] = NULL;Code language: PHP (php)

Menjadi

$config['base_url'] = 'url_aplikasi_anda';
$config['encryption_key'] = 'key123';
$config['sess_save_path'] = sys_get_temp_dir();
Code language: PHP (php)

Pada bagian url_aplikasi_anda silahkan ubah sesuai dengan URL yang anda gunakan, sebagai contoh http://localhost/codeigniter

Selanjutnya menyiapkan autoload, buka file /application/config/autload.php, lalu ubahlah kode dibawah ini:

$autoload['libraries'] = array();
$autoload['helper'] = array();Code language: PHP (php)

Menjadi

$autoload['libraries'] = array('database', 'session', 'pagination');
$autoload['helper'] = array('url');Code language: PHP (php)

Setelah itu kita perlu mengatur koneksi database dengan framework php codeigniter, caranya buka lah file /application/config/database.php

Lalu ubah parameter berikut sesuai dengan akun database local anda:

'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'tutorial_pagination_codeigniter',Code language: PHP (php)

Jika sudah maka seharusnya database dengan framework codeigniter sudah terkoneksi dengan benar.

Memulai Pembuatan Pagination Codeigniter

Setelah langkah-langkah konfigurasi diatas sudah dilakukan dan tidak ada masalah maka selanjutnya kita akan memulai pembuatan pagination codeigniter.

Pertama buatlah sebuah model dengan nama Pagination_model.php lalu simpan di folder /application/models setelah itu masukan kode dibawah ini.

<?php defined('BASEPATH') OR exit ('No direct script access allowed');

class Pagination_model extends CI_Model {

     public function getAll()
     {
          $this->db->select('*');
          $this->db->from('pengguna');
          $this->db->order_by('id', 'ASC');

          return $this->db->get();
     }

}Code language: HTML, XML (xml)

Jika sudah maka selanjutnya buatlah sebuah controller dengan nama Pagination.php lalu simpan di folder /application/controllers setelah itu masukan kode dibawah ini.

<?php defined('BASEPATH') OR exit ('No direct script access allowed');

class Pagination extends CI_Controller {

     public function __construct()
     {
          parent::__construct();
          $this->load->model('pagination_model');
     }
     public function index()
     {
          $data['semua_pengguna'] = $this->pagination_model->getAll()->result();

          $this->load->view('pagination', $data);
     }

}Code language: HTML, XML (xml)

Selanjutnya membuat bagian tampilannya, buatlah sebuah file bernama pagination.php lalu simpan di /application/views setelah itu masukan kode dibawah ini.

<!DOCTYPE html>
<html>
<head>
     <title>Tutorial Pagination Codeigniter</title>
</head>
<body>
     <table border="1" cellspacing="0" cellpadding="5">
          <thead>
               <tr>
                    <th>Nama</th>
                    <th>Jenis Kelamin</th>
                    <th>Tanggal Lahir</th>
                    <th>Umur</th>
               </tr>
          </thead>
          <tbody>
               <?php foreach($semua_pengguna as $pengguna): ?>
                    <tr>
                         <td><?php echo $pengguna->nama; ?></td>
                         <td><?php echo $pengguna->jenis_kelamin; ?></td>
                         <td><?php echo date('j F Y', strtotime($pengguna->tanggal_lahir)); ?></td>
                         <td><?php echo $pengguna->umur; ?></td>
                    </tr>
               <?php endforeach; ?>
          </tbody>
     </table>
</body>
</html>Code language: HTML, XML (xml)

Jika semua sudah tersimpan selanjutnya kita perlu mengatur halaman utama codeigniter, yaitu merubah tampilan welcome menjadi tampilan tabel data yang kita ambil dari tabel pengguna yang tadi kita telah buat, caranya sebagai berikut.

Buka file routes.php yang berada di dalam folder /application/config, lalu ubahlah kode dibawah ini.

$route['default_controller'] = 'welcome';Code language: PHP (php)

Menjadi

$route['default_controller'] = 'pagination';Code language: PHP (php)

Setelah itu simpan, dan refresh halaman utama codeigniter anda, kalau sudah betul maka seharusnya akan menampilkan halaman seperti gambar dibawah ini.

tutorial pagination codeigniter

Seperti yang terlihat bahwa halaman tersebut belum ada pagination codeigniter, nah secara skenarionya kita akan membagi 5 blok dari 15 data yang tersedia, berikut ini caranya.

Buka kembali file Pagination_model.php yang ada di folder /application/models lalu tambahkan kode dibawah ini tepat dibawah method getAll().

public function getDataPagination($limit, $offset)
{
     $this->db->select('*');
     $this->db->from('pengguna');
     $this->db->order_by('id', 'ASC');
     $this->db->limit($limit, $offset);

     return $this->db->get();
}Code language: PHP (php)

Jika sudah disimpan selanjutnya buka kita ubah bagian controller, buka kembali file Pagination.php yang ada di folder /application/controllers lalu ubahlah bagian index() menjadi kode dibawah ini.

public function index($num = '')
{
     $perpage = 5;
     $offset = $this->uri->segment(1);
     $data['semua_pengguna'] = $this->pagination_model->getDataPagination($perpage, $offset)->result();

     $config['base_url'] = site_url();
     $config['total_rows'] = $this->pagination_model->getAll()->num_rows();
     $config['per_page'] = $perpage;
     $this->pagination->initialize($config);

     $this->load->view('pagination', $data);
}Code language: PHP (php)

Pada bagian tampilan, kita akan sedikit merubah, yaitu untuk menampilkan baris nomor blok data, caranya buka file pagination.php yang ada di folder /application/views lalu tambahkan kode dibawah ini tepat dibawah tag </table>.

<?php echo $this->pagination->create_links(); ?>Code language: HTML, XML (xml)

Dan yang terakhir kita sedikit tambahkan kode dibagian route, buka kembali file routes.php yang ada di folder /application/config lalu tambahkan kode dibawah ini tepat berada dibawah default_controller.

$route['(:any)'] = 'pagination/index/$1';Code language: PHP (php)

Jika sudah selesai silakan refresh kembali halaman codeigniter di browser, jika tidak ada masalah seharusnya akan tampil pagination codeigniter yang kita buat tadi.

pagination codeigniter

Dari gambar diatas terlihat dibagian bawah tabel ada barisan angka, barisan angka tersebut adalah pagination blok data, silakan anda test, jika berhasil maka seharusnya didalam tabel tersebut akan tampil data-data berikutnya sesuai dengan urutan yang aktif.

Implementasi Pagination Codeigniter Dengan Bootstrap

Selanjutnya pada bagian ini kita akan mengimplementasikan pagination codeigniter dengan bootstrap, bootstrap yang saya gunakan adalah bootstrap versi 3.4.1 dengan menggunakan CDN sehingga kita tidak perlu mengunduh file bootstrap.

Yang pertama yang harus kita perhatikan adalah penggunaan tag HTML antara tag pagination standar codeigniter dengan tag pagination bootstrap, dimana kita akan meng-custom kode standar codeigniter menjadi pagination bootstrap, berikut ini perbedaan antara kode html pagination codeigniter dengan pagination bootstrap.

Terlihat bahwa yang standar tentu biasa saja ketimbang style yang di gunakan oleh bootstrap, terlihat lebih kompleks dan dari segi tampilan tentunya lebih bagus.

Mari kita mulai, bukalah file pagination.php yang berada di folder /application/views lalu ubah seluruh kode yang ada didalam file tersebut menjadi kode dibawah ini.

<!DOCTYPE html>
<html>
<head>
     <title>Tutorial Pagination Codeigniter</title>
     <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu" crossorigin="anonymous">
     <style type="text/css">
          body {
               margin-top: 20px;
          }
     </style>
</head>
<body>
     <div class="row">
          <div class="col-md-offset-2 col-md-8">
               <table class="table table-bordered" border="1" cellspacing="0" cellpadding="5">
                    <thead>
                         <tr>
                              <th>Nama</th>
                              <th>Jenis Kelamin</th>
                              <th>Tanggal Lahir</th>
                              <th>Umur</th>
                         </tr>
                    </thead>
                    <tbody>
                         <?php foreach($semua_pengguna as $pengguna): ?>
                              <tr>
                                   <td><?php echo $pengguna->nama; ?></td>
                                   <td><?php echo $pengguna->jenis_kelamin; ?></td>
                                   <td><?php echo date('j F Y', strtotime($pengguna->tanggal_lahir)); ?></td>
                                   <td><?php echo $pengguna->umur; ?></td>
                              </tr>
                         <?php endforeach; ?>
                    </tbody>
               </table>
               <nav aria-label="Page navigation">
                    <?php echo $this->pagination->create_links(); ?>
               </nav>
          </div>
     </div>
</body>
</html>Code language: HTML, XML (xml)

Dari kode diatas jika dilihat kita akan menggunakan style CSS dari bootstrap dengan menggunakan layanan CDN yang telah disediakan oleh bootstrap, jika di refresh maka bentuk tabel akan berubah, dimana penulis telah menambahkan class bootstrap untuk bagian tabel.

Selanjutnya buka file Pagination.php yang berada di folder /application/controllers, nah pada bagian inilah nantinya codeigniter akan generate html sesuai dengan format kode html yang ada di pagination bootstrap.

Perhatikan baris kode $config['per_page'] di dalam method index() yang berada di file Pagination.php tersebut, tambahkan kode dibawah ini tepat dibagian bawah baris kode $config['per_page'] tersebut.

$config['next_link'] = 'Selanjutnya';
$config['prev_link'] = 'Sebelumnya';
$config['first_link'] = 'Awal';
$config['last_link'] = 'Akhir';
$config['full_tag_open'] = '<ul class="pagination">';
$config['full_tag_close'] = '</ul>';
$config['num_tag_open'] = '<li>';
$config['num_tag_close'] = '</li>';
$config['cur_tag_open'] = '<li class="active"><a href="#">';
$config['cur_tag_close'] = '</a></li>';
$config['prev_tag_open'] = '<li>';
$config['prev_tag_close'] = '</li>';
$config['next_tag_open'] = '<li>';
$config['next_tag_close'] = '</li>';
$config['last_tag_open'] = '<li>';
$config['last_tag_close'] = '</li>';
$config['first_tag_open'] = '<li>';
$config['first_tag_close'] = '</li>';Code language: PHP (php)

Jika sudah maka simpan file tersebut, sebelum melakukan testing saya akan menjelaskan sedikit fungsi kode diatas, kode-kode diatas berguna untuk mengubah tag pembuka dan tag penutup kode html pagination codeigniter standar sesuai dengan yang kita inginkan termasuk teks pada bagian Selanjutnya dan Sebelumnya, kita dapat meng-custom sesuai dengan keinginan.

Silakan refresh halaman pagination codeigniter di browser anda, seharusnya akan tampil seperti gambar dibawah ini.

membuat pagination codeigniter dengan bootstrap

Sampai disini tutorial kita telah selesai, untuk implementasi pagination codeigniter dengan bootstrap 4 penulis menyarankan pembaca untuk mengimplementasinya sendiri sesuai dengan tutorial yang telah dibuat ini, sehingga pembaca dapat mengasah kemampuan codeigniter sendiri. Jika ada pertanyaan silakan tulis komentar dibawah ini.

2 Comments

prayogi

prayogi

sorry , mas kayaknya ada typo hasil copyan deh. $config['last_tag_open'] = ''; $config['last_tag_open'] = ''; -> harusnya close $config['first_tag_open'] = ''; $config['first_tag_open'] = ''; -> harusnya close
Reply #2082
Aris Munandar

Aris Munandar

@prayogi
oh iya mohon maaf ada keliru.. terima kasih atas koreksinya.
Reply #2083

Leave comment

Alamat email Anda tidak akan dipublikasikan. Required fields are marked *

news-1701

sabung ayam online

yakinjp

yakinjp

rtp yakinjp

slot thailand

yakinjp

yakinjp

yakin jp

yakinjp id

maujp

maujp

maujp

maujp

sabung ayam online

sabung ayam online

judi bola online

sabung ayam online

judi bola online

slot mahjong ways

slot mahjong

sabung ayam online

judi bola

live casino

sabung ayam online

judi bola

live casino

SGP Pools

slot mahjong

sabung ayam online

slot mahjong

SLOT THAILAND

article 138000631

article 138000632

article 138000633

article 138000634

article 138000635

article 138000636

article 138000637

article 138000638

article 138000639

article 138000640

article 138000641

article 138000642

article 138000643

article 138000644

article 138000645

article 138000646

article 138000647

article 138000648

article 138000649

article 138000650

article 138000651

article 138000652

article 138000653

article 138000654

article 138000655

article 138000656

article 138000657

article 138000658

article 138000659

article 138000660

article 138000661

article 138000662

article 138000663

article 138000664

article 138000665

article 138000666

article 138000667

article 138000668

article 138000669

article 138000670

article 138000671

article 138000672

article 138000673

article 138000674

article 138000675

article 138000676

article 138000677

article 138000678

article 138000679

article 138000680

article 138000681

article 138000682

article 138000683

article 138000684

article 138000685

article 138000686

article 138000687

article 138000688

article 138000689

article 138000690

article 138000691

article 138000692

article 138000693

article 138000694

article 138000695

article 138000696

article 138000697

article 138000698

article 138000699

article 138000700

article 138000701

article 138000702

article 138000703

article 138000704

article 138000705

article 208000456

article 208000457

article 208000458

article 208000459

article 208000460

article 208000461

article 208000462

article 208000463

article 208000464

article 208000465

article 208000466

article 208000467

article 208000468

article 208000469

article 208000470

208000446

208000447

208000448

208000449

208000450

208000451

208000452

208000453

208000454

208000455

article 228000306

article 228000307

article 228000308

article 228000309

article 228000310

article 228000311

article 228000312

article 228000313

article 228000314

article 228000315

article 228000316

article 228000317

article 228000318

article 228000319

article 228000320

article 228000321

article 228000322

article 228000323

article 228000324

article 228000325

article 228000326

article 228000327

article 228000328

article 228000329

article 228000330

article 228000331

article 228000332

article 228000333

article 228000334

article 228000335

article 238000336

article 238000337

article 238000338

article 238000339

article 238000340

article 238000341

article 238000342

article 238000343

article 238000344

article 238000345

article 238000346

article 238000347

article 238000348

article 238000349

article 238000350

article 238000351

article 238000352

article 238000353

article 238000354

article 238000355

article 238000356

article 238000357

article 238000358

article 238000359

article 238000360

article 238000361

article 238000362

article 238000363

article 238000364

article 238000365

article 238000366

article 238000367

article 238000368

article 238000369

article 238000370

article 238000371

article 238000372

article 238000373

article 238000374

article 238000375

article 238000376

article 238000377

article 238000378

article 238000379

article 238000380

article 238000381

article 238000382

article 238000383

article 238000384

article 238000385

article 238000386

article 238000387

article 238000388

article 238000389

article 238000390

article 238000391

article 238000392

article 238000393

article 238000394

article 238000395

article 238000396

article 238000397

article 238000398

article 238000399

article 238000400

article 238000401

article 238000402

article 238000403

article 238000404

article 238000405

article 238000406

article 238000407

article 238000408

article 238000409

article 238000410

sumbar-238000336

sumbar-238000337

sumbar-238000338

sumbar-238000339

sumbar-238000340

sumbar-238000341

sumbar-238000342

sumbar-238000343

sumbar-238000344

sumbar-238000345

sumbar-238000346

sumbar-238000347

sumbar-238000348

sumbar-238000349

sumbar-238000350

sumbar-238000351

sumbar-238000352

sumbar-238000353

sumbar-238000354

sumbar-238000355

sumbar-238000356

sumbar-238000357

sumbar-238000358

sumbar-238000359

sumbar-238000360

sumbar-238000361

sumbar-238000362

sumbar-238000363

sumbar-238000364

sumbar-238000365

sumbar-238000366

sumbar-238000367

sumbar-238000368

sumbar-238000369

sumbar-238000370

sumbar-238000371

sumbar-238000372

sumbar-238000373

sumbar-238000374

sumbar-238000375

sumbar-238000376

sumbar-238000377

sumbar-238000378

sumbar-238000379

sumbar-238000380

sumbar-238000381

sumbar-238000382

sumbar-238000383

sumbar-238000384

sumbar-238000385

sumbar-238000386

sumbar-238000387

sumbar-238000388

sumbar-238000389

sumbar-238000390

sumbar-238000391

sumbar-238000392

sumbar-238000393

sumbar-238000394

sumbar-238000395

sumbar-238000396

sumbar-238000397

sumbar-238000398

sumbar-238000399

sumbar-238000400

news-1701