Anda di halaman 1dari 6

Membuat Pagination di Laravel dengan Tampilan

Bootstrap
Abdul Rohman
admin@abdulrohman.web.id :: http://www.abdulrohman.web.id

Abstrak
Menampilkan data dalam jumlah banyak dalam satu halaman bukanlah pilihan yang
baik. Selain membuat load database menjadi besar, dari sisi user juga tentu tidak
nyaman untuk selalu men-scroll halaman hingga ratusan bahkan ribuan baris data.
Altenatif terbaik adalah menggunakan pagination dan pada framework Laravel fitur
tersebut sudah tersedia.

Kata Kunci: Pagination, Framework PHP, Laravel.

Pendahuluan
Pada artikel ini kita akan membuat pagination di Laravel dengan tampilan CSS
Bootstrap 3. Kurang lebih tampilan seperti gambar dibawah ini.

Lisensi Dokumen:
Copyright 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. T idak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org

Pembahasan
A. Membuat Schema Table Dengan Banyak Data
Kenapa harus dengan banyak data? Ya, karena tentunya pagination sejatinya digunakan
untuk menampilkan data yang sangat banyak, sehingga membutuhkan halaman-halaman
untuk melihatnya agar tidak terlalu banyak melakukan scrolling mouse.

Sebelumnya

buat

schema

terlebih

dahulu.

Silahkan

unduh

SQL

di

http://pastebin.com/uem1BWYN

B. Membuat Model
1. Buat sebuah model di Laravel ./app/models/City.php
2. Ketik sebuah model City dengan extends Eloquent berikut
class City extends Eloquent {
protected $table
protected $primaryKey
public $timestamps

= 'city';
= 'city_id';
= false;

Lisensi Dokumen:
Copyright 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. T idak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org

C. Membuat Controller
1. Membuat CityControlle r di ./app/controllers/CityController.php
class CityController extends \BaseController {
public function getIndex()
{
$daftarKota = City::paginate(50);
return View::make('city')
->with('city', $daftarKota);
}
}

Pada baris ke-6 terdapat pemanggilan model dengan function paginate() dengan
sebuah parameter dengan tipe data integer. Parameter tersebut digunakan untuk
berapa banyak data yang akan ditampilkan setiap halamannya atau dalam SQL
digunakan untuk limit data. Anda tidak perlu memikirkan offset datanya
bagaimana, karena sudah menjadi 1 paket disana.

D. Membuat View
1. Buatlah sebuah view di ./app/views/city.php
<!DOCTYPE html>
<html>
<head>
<title>Daftar Kota</title>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet"
href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.
min.css">
<!-- Optional theme -->
<link rel="stylesheet"
href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstraptheme.min.css">
<!-- Latest compiled and minified JavaScript -->
<script
src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.mi
n.js"></script>
</head>
<body>
Lisensi Dokumen:
<table>
Copyright 2008-2014 ilmuti.org
<thead>
Seluruh dokumen di ilmuti.org
dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus
<tr>
atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. T idak diperbolehkan melakukan penulisan
ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
<th>ID</th>
<th>Nama Kota</th>
</tr>
</thead>
<tbody>

<body>
<table>
<thead>
<tr>
<th>ID</th>
<th>Nama Kota</th>
</tr>
</thead>
<tbody>
<?php foreach ($city as $kota): ?>
<tr>
<td><?php echo $kota->city_id ?></td>
<td><?php echo $kota->city_name ?></td>
</tr>
<?php endforeach ?>
</tbody>
</table>
<?php echo $city->links('pagination') ?>
</body>
</html>

2. Buatlah sebuah view di ./app/views/pagination.php


<ul class="pagination">
<li>
<a href="<?php echo $paginator->getUrl(1)
?>">&laquo;</a>
</li>
<?php for ($i=1; $i <= $paginator->getLastPage(); $i++):
?>
<li <?php echo ($i == $paginator->getCurrentPage() ?
'class="active"' : '') ?>><a href="<?php echo $paginator>getUrl($i) ?>"><?php echo $i ?></a>
</li>
<?php endfor ?>
<li><a href="<?php echo $paginator->getLastPage()
?>">&raquo;</a></li>
</ul>

3. Beberapa function yang dapat digunakan di $paginator


a. getCurrentPage : halaman saat ini (active)
b. getLastPage : halaman terakhir
c. getPerPage : banyak data setiap halaman
d. getTotal : total banyak data keseluruhan dari halaman 1 sampai terakhir
e. getFrom : data offset pada halaman active
f.

getTo : data terakhir pada halaman active

Lisensi Dokumen:
Copyright 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. T idak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org

g. count : sama seperti getPerPage banyak data setiap halaman

E. Menambahkan Route
1. Tambahkan routing di ./app/routes.php
Route::get('kota', 'CityController@index');

F. Selesai
1. Silahkan akses project Anda melalui web browser
http://localhost/projectku/public/kota

2. Berikut hasilnya

Lisensi Dokumen:
Copyright 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. T idak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org

Penutup
Semoga artikel ini sangat membantu bagi Anda yang ingin belajar membuat halaman
(pagination) menggunakan

framework

Laravel.

Jika Anda menyukai artikel ini atau

memiliki pertanyaan, silakan posting komentar dibawah sehingga mendorong saya


untuk menulis artikel yang lebih berguna. Selamat berjumpa di artikel saya selanjutnya.
Terima kasih telah membaca artikel ini. :D

Referensi
http://laravel.com/docs/pagination
http://habibnurrahman.com/2014/web/php/laravel/membuat-pagination-css-bootstrapdengan-laravel/
http://id-laravel.com/post/custom-pagination- mengganti-tampilan-default
http://aditiyagita.com/laravel/membuat-pagination- laravel/
http://www.kikibaehaki.com/laravel/pagination-ajax-pada-laravel/

Biografi
Abdul Rohman
Lahir di Tangerang pada tanggal 10 Mei 1990. Merupakan seorang yang
berpenampilan sederhana tapi berkompeten dalam hal-hal yang
berhubungan dengan komputer. Dia mulai memperdalam dunia
komputer pada jurusan Multimedia di SMKN 1 Tangerang. Saat ini dia
sedang menempuh pendidikan perkuliahan di STMIK Raharja jurusan
Sistem Informasi konsentrasi Computer Accountancy dan selanjutnya
akan menempuh program masternya di Universitas Negeri atau Luar Negeri (Insyallahamin).
Disamping kuliah dia juga bekerja di perusahaan Digital Printing yang mana menurutnya disitu
ada keseimbangan antara ide kreatif, teknologi dan konsep. Cita-citanya yang sekarang adalah
ingin menjadi seorang Technopreneur.

Info lebih lanjut (jangan hubungi dokter) www.abdulrohman.web.id


Lisensi Dokumen:
Copyright 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. T idak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org

Anda mungkin juga menyukai