course-net
Search
Close this search box.

Home > ,

Laravel Pagination: Mempermudah Penyusunan Halaman Web

Wednesday, 25 October 2023 3:03 PM

Laravel Pagination

Apakah Anda pernah merasa kesulitan dalam mengatur tampilan halaman di dalam aplikasi web? Dalam pengembangan aplikasi web, seringkali kita perlu menampilkan data yang cukup banyak. Jangan khawatir, Laravel Pagination hadir untuk membantu Anda.

Mengenal Laravel Pagination

Laravel, sebagai salah satu framework PHP yang populer, telah menyediakan alat yang sangat berguna dalam hal ini.

Laravel menyediakan Paginator yang terintegrasi dengan query builder dan Eloquent ORM. Paginator ini memungkinkan Anda untuk dengan mudah melakukan pembagian halaman (pagination) pada data dalam database tanpa perlu konfigurasi rumit.

Laravel Pagination

Dalam artikel ini, kita akan membahas bagaimana Laravel Pagination dapat membantu Anda dengan mudah dan nyaman menyusun halaman untuk data dalam aplikasi web.

1. Penggunaan Dasar

Mari kita mulai dengan penggunaan dasar dari Pagination dalam Laravel. Ada beberapa cara untuk melakukan pembagian halaman, yang paling sederhana adalah dengan menggunakan metode `paginate` pada query builder atau query Eloquent.

Metode `paginate` akan secara otomatis menangani pembagian halaman berdasarkan jumlah data yang ingin Anda tampilkan per halaman.

Contoh penggunaannya adalah sebagai berikut:

use App\Models\User;

$users = User::paginate(15);

Dalam contoh di atas, kita menggunakan model `User` untuk melakukan pagination, dan kami ingin menampilkan 15 data per halaman. Laravel akan secara otomatis menangani query SQL untuk mengambil data sesuai dengan halaman yang sedang ditampilkan.

2. Pagination Sederhana

Namun, terkadang Anda hanya perlu menampilkan tautan “Halaman Selanjutnya” dan “Halaman Sebelumnya” dalam antarmuka aplikasi Anda tanpa perlu menampilkan jumlah halaman secara keseluruhan. Untuk kasus ini, Anda bisa menggunakan metode `simplePaginate`:

$users = User::simplePaginate(15);

Metode ini akan melakukan query yang lebih efisien karena tidak perlu menghitung jumlah halaman secara keseluruhan.

3. Penyesuaian URL Pagination

Laravel Pagination juga memungkinkan Anda untuk menyesuaikan URL. Secara default, URL pagination akan mengikuti URL saat ini. Namun, Anda bisa menggunakan metode `withPath` untuk menyesuaikan URL sesuai dengan kebutuhan Anda.

$users->withPath('/admin/users');

Ini akan membuat tautan pagination mengarah ke `/admin/users` di dalam aplikasi Anda.

4. Menambahkan Nilai ke Query String

Anda juga dapat menambahkan nilai ke query string pagination menggunakan metode `appends`. Misalnya, jika ingin menambahkan parameter `sort` ke tautan pagination, Anda dapat melakukannya seperti ini:

$users->appends(['sort' => 'votes']);

5. Pagination Berbasis Cursor

Selain Laravel Pagination berbasis offset, Laravel juga mendukung pagination berbasis cursor. Pagination berbasis cursor cocok untuk dataset besar dan antarmuka “infinite scrolling”.

Dalam metode ini, tautan pagination akan mengandung informasi berupa “cursor” yang menunjukkan posisi data yang ditampilkan.

$users = User::orderBy('id')->cursorPaginate(15);

Pada dasarnya, Laravel telah memberikan berbagai cara untuk mempermudah proses pagination dalam aplikasi web Anda. Dari pagination sederhana hingga pagination berbasis cursor, semuanya dapat dilakukan dengan mudah.

Perbandingan Pagination Offset dan Cursor

Dalam konteks pagination, ada dua metode utama yang digunakan: Cursor Pagination dan Offset Pagination. Untuk lebih memahami cara kerjanya, mari kita bahas perbedaan mendasar antara keduanya.

1. Offset Pagination

Pada dasarnya, Offset Laravel Pagination bekerja dengan cara menentukan jumlah data yang akan dilewati (offset) sebelum mengambil data yang akan ditampilkan pada halaman saat ini. Ini termasuk menghitung jumlah data secara keseluruhan dan mengabaikan data yang telah dilewati.

Contoh SQL untuk Offset Pagination:

SELECT * FROM users ORDER BY id ASC LIMIT 15 OFFSET 15;

Keuntungan dari Offset Pagination adalah sederhana dan mudah digunakan. Namun, metode ini memiliki beberapa kelemahan, terutama ketika menangani dataset yang besar atau dataset dengan banyak perubahan.

2. Cursor Pagination

Cursor Pagination adalah metode yang berbeda. Ini berfokus pada mengidentifikasi lokasi data yang akan ditampilkan pada halaman saat ini dengan menggunakan nilai “kursor.”

Nilai kursor adalah string yang mengandung informasi tentang lokasi data berdasarkan kolom yang diurutkan dalam query.

Contoh URL dengan Cursor:

http://localhost/users?cursor=eyJpZCI6MTUsIl9wb2ludHNUb05leHRJdGVtcyI6dHJ1ZX0

Dalam URL di atas, `cursor` adalah nilai kursor yang digunakan untuk menentukan lokasi data yang akan ditampilkan pada halaman saat ini.

Keuntungan dari Cursor Laravel Pagination adalah efisiensi. Dalam kasus dataset besar atau ketika data sering berubah, Cursor Pagination dapat bekerja lebih cepat dan akurat. Namun, ada beberapa batasan, seperti penggunaan kolom unik dan keterbatasan dalam ekspresi query.

3. Menyesuaikan Penggunaan Pagination

Ketika Anda memilih antara Cursor Pagination dan Offset Pagination, penting untuk mempertimbangkan jenis data yang Anda tangani dan kebutuhan aplikasi Anda.

Offset Pagination cocok untuk banyak kasus sederhana, sedangkan Cursor Pagination lebih cocok untuk dataset besar dan aplikasi dengan banyak perubahan data.

Sebagai seorang pengembang, Anda memiliki pilihan untuk menggunakan salah satu metode atau bahkan menggabungkannya sesuai kebutuhan. Laravel memberikan fleksibilitas untuk menggunakan kedua metode ini sesuai dengan tuntutan proyek Anda.

Kesimpulan

Dalam artikel ini, kita telah membahas Laravel Pagination, alat yang kuat yang dapat membantu Anda mengatur tampilan halaman dalam aplikasi web.

Dengan metode yang mudah digunakan dan berbagai opsi penyesuaian, pagination pada laravel memungkinkan Anda untuk mengelola data dengan lebih efisien.

Jika tertarik untuk mempelajari lebih dalam lagi mengenai laravel, Anda dapat mengikuti kursus Laravel di Course-Net. Upgrade skill Anda dan segera bangun karier sebagai Laravel Back End Web Developer!

Mau Ikut Kursus Di Course-Net? Lihat Jadwal Kelas Selangkapnya.

Kerja udh lama tapi karir masih stuck disitu-situ aja ? Atau udh coba ikut kursus, tapi malah isinya teori aja ? Tenang, Course-net punya solusinya. Anda akan didamping langsung oleh Coach Praktisi Aktif kelas dunia. Berminat ? Yuk Konsultasi sekarang juga.

Tags

Artikel Terkait

Facebook
Twitter
LinkedIn
Pinterest
Tumblr
Telegram
WhatsApp
Email
Print

Subscribe Sekarang!

Dapatkan berita & artikel terbaru seputar IT Gratis!