Kami Hadir Membantu Anda Dalam Pengembangan Usaha Anda

Ketapang, Kalimantan Barat elektranetworkvision@gmail.com
Posted On June 21, 2025

πŸ” Belajar Laravel dari Nol – Part 5 (Lanjutan): Pagination & Pencarian Data Produk

elektra_network 0 comments

Fitur pencarian dan pagination sangat dibutuhkan saat data sudah banyak, seperti dalam sistem produk, pelanggan, transaksi, dll. Dengan Laravel, implementasi fitur ini sangat efisien menggunakan query builder atau Eloquent.


🎯 Tujuan Part Ini

  • Menerapkan pagination pada halaman data produk
  • Menambahkan fitur pencarian produk berdasarkan nama
  • Menjaga performa dan UX saat data bertambah

🧱 Struktur Awal: Model Produk

Sudah dibuat pada part sebelumnya:

protected $fillable = ['nama', 'harga', 'foto'];

🧭 1. Routing

Tidak perlu tambahan route baru. Gunakan route produk.index:

Route::resource('produk', ProdukController::class);

πŸ› οΈ 2. Tambahkan Fitur Pencarian di Controller

Edit ProdukController.php, method index():

public function index(Request $request)
{
    $keyword = $request->get('cari');

    $produk = Produk::when($keyword, function ($query) use ($keyword) {
        $query->where('nama', 'like', "%$keyword%");
    })->orderBy('id', 'desc')->paginate(5);

    return view('produk.index', compact('produk', 'keyword'));
}

πŸ–₯️ 3. Tambahkan Form Pencarian & Pagination di View

a. Form Pencarian

Tambahkan di bagian atas index.blade.php:

<form action="{{ route('produk.index') }}" method="GET">
  <input type="text" name="cari" value="{{ request('cari') }}" placeholder="Cari produk...">
  <button type="submit">Cari</button>
</form>

b. Tampilkan Data + Pagination

@foreach($produk as $p)
<tr>
  <td>{{ $p->nama }}</td>
  <td>{{ $p->harga }}</td>
  <td>
    @if($p->foto)
      <img src="{{ asset('uploads/produk/' . $p->foto) }}" width="60">
    @else
      <small>-</small>
    @endif
  </td>
</tr>
@endforeach

c. Link Pagination

<div>
  {{ $produk->appends(['cari' => request('cari')])->links() }}
</div>

βš™οΈ 4. Hasil: UX Lebih Rapi & Performant

  • Data hanya ditampilkan per 5 entri (paginate)
  • User bisa mencari produk berdasarkan nama
  • Halaman tetap ringan & cepat meski data banyak

πŸ” Tips SEO & UX

AspekRekomendasi
URL ramah mesinGunakan query string seperti ?cari=produkA&page=2
Pagination UXGunakan Tailwind/Bootstrap untuk tampilan yang rapi
Search RealtimeGunakan AJAX atau Livewire (lanjutan fitur)

🧰 Elektra Network Vision – Solusi Laravel CRUD, Filter & Search

Kami bantu Anda:

  • Membangun panel admin Laravel lengkap
  • Optimasi fitur search + filter dinamis
  • Integrasi frontend modern (Livewire, Vue, AJAX)

🌐 elektranetworkvision.com β€” Spesialis Laravel & sistem manajemen data profesional untuk bisnis Anda.

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Post

Tutorial Laravel: Koneksi ke CouchDB Menggunakan PHPOnCouch

Laravel dikenal sebagai framework PHP modern yang kuat untuk membangun aplikasi web. Namun, secara bawaan…

Next.js & Tailwind CSS: Kombinasi Ampuh untuk Pengembangan Web 2025

🌐 Next.js dan Tailwind CSS: Kombinasi Ampuh untuk Pengembangan Web Modern di 2025 Di tahun…

Integrasi Laravel dan Next.js: Panduan Lengkap Membangun Arsitektur Web Modern

Dalam pengembangan aplikasi web modern, pendekatan decoupled architecture (frontend dan backend terpisah) semakin populer. Laravel…