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

ayowin

yakinjp id

maujp

maujp

sv388

taruhan bola online

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

slot mahjong

sabung ayam online

slot mahjong

118000601

118000602

118000603

118000604

118000605

118000606

118000607

118000608

118000609

118000610

118000611

118000612

118000613

118000614

118000615

118000616

118000617

118000618

118000619

118000620

118000621

118000622

118000623

118000624

118000625

118000626

118000627

118000628

118000629

118000630

118000631

118000632

118000633

118000634

118000635

118000636

118000637

118000638

118000639

118000640

118000641

118000642

118000643

118000644

118000645

118000646

118000647

118000648

118000649

118000650

118000651

118000652

118000653

118000654

118000655

118000656

118000657

118000658

118000659

118000660

118000661

118000662

118000663

118000664

118000665

118000666

118000667

118000668

118000669

118000670

118000671

118000672

118000673

118000674

118000675

128000666

128000667

128000668

128000669

128000670

128000671

128000672

128000673

128000674

128000675

128000676

128000677

128000678

128000679

128000680

128000681

128000682

128000683

128000684

128000685

128000686

128000687

128000688

128000689

128000690

128000691

128000692

128000693

128000694

128000695

128000696

128000697

128000698

128000699

128000700

128000701

128000702

128000703

128000704

128000705

128000706

128000707

128000708

128000709

128000710

128000711

128000712

128000713

128000714

128000715

128000716

128000717

128000718

128000719

128000720

128000721

128000722

128000723

128000724

128000725

128000726

128000727

128000728

128000729

128000730

138000421

138000422

138000423

138000424

138000425

138000426

138000427

138000428

138000429

138000430

138000431

138000432

138000433

138000434

138000435

138000436

138000437

138000438

138000439

138000440

208000341

208000342

208000343

208000344

208000345

208000346

208000347

208000348

208000349

208000350

208000351

208000352

208000353

208000354

208000355

208000356

208000357

208000358

208000359

208000360

208000361

208000362

208000363

208000364

208000365

208000366

208000367

208000368

208000369

208000370

208000371

208000372

208000373

208000374

208000375

208000376

208000377

208000378

208000379

208000380

208000381

208000382

208000383

208000384

208000385

208000386

208000387

208000388

208000389

208000390

208000391

208000392

208000393

208000394

208000395

208000396

208000397

208000398

208000399

208000400

208000401

208000402

208000403

208000404

208000405

208000406

208000407

208000408

208000409

208000410

208000411

208000412

208000413

208000414

208000415

news-1701