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

🔐 Belajar Laravel dari Nol – Part 6: Autentikasi, Login & Middleware

Laravel menyediakan sistem autentikasi yang powerful dan fleksibel. Dengan Laravel Breeze atau Laravel Fortify, kamu…

🛡️ Belajar Laravel dari Nol – Part 7: Role & Permission dengan Spatie Laravel Permission

Mengatur hak akses pengguna sangat krusial pada sistem seperti ERP, POS, e-commerce admin, hingga manajemen…

Tren Pengembangan Web 2025: Membangun Aplikasi Inovatif & Efisien

Tren Pengembangan Web, Membangun Aplikasi Inovatif & Efisien 🌐 Tren Pengembangan Web 2025: Membangun Aplikasi…