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.
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>
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
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.
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.