; Memahami Routing di Laravel - Blog Rudi Kurniawan

Blog Laravel Indonesia

Belajar Laravel dengan Mudah dan Menyenangkan

Memahami Routing di Laravel
12-07-2025 | Admin User Programming 26 x dilihat

Memahami Routing di Laravel

Apa Itu Routing di Laravel?

Routing adalah cara Laravel menentukan apa yang harus dilakukan ketika pengguna mengakses URL tertentu di aplikasi. Rute menghubungkan URL (seperti /posts) dengan logika aplikasi, seperti menampilkan data atau memanggil controller.

Hubungan dengan Aplikasi

Rute didefinisikan di file routes/web.php (untuk aplikasi web) atau routes/api.php (untuk API). Rute bisa menjalankan fungsi sederhana, memanggil controller, atau mengembalikan view.

Tutorial Membuat Routing

Berikut langkah-langkah membuat rute sederhana untuk menampilkan data dari tabel posts (dengan kolom id, title, content).

Persiapan

Pastikan kamu sudah:

  • Menginstal Laravel dan mengatur koneksi database di file .env.
  • Membuat tabel posts dengan migration dan mengisi data (misalnya, via seeder).
  • Membuat model Post dan controller PostController (opsional untuk contoh lanjutan).

Langkah-Langkah

  1. Buka File Routing
    File rute utama ada di routes/web.php. Buka file ini untuk menambahkan rute.

  2. Buat Rute Dasar
    Tambahkan rute sederhana di routes/web.php untuk menampilkan teks:

    Route::get('/hello', function () {
        return 'Hello, Laravel!';
    });
    

    Penjelasan:

    • Route::get: Menangani permintaan HTTP GET.
    • /hello: URL yang diakses (misalnya, http://localhost:8000/hello).
    • function (): Logika yang dijalankan, mengembalikan teks.
  3. Rute dengan Data dari Model
    Tambahkan rute untuk menampilkan semua postingan:

    use App\Models\Post;
    
    Route::get('/posts', function () {
        $posts = Post::all();
        return view('posts', ['posts' => $posts]);
    });
    

    Pastikan resources/views/posts.blade.php ada (lihat tutorial Blade sebelumnya).

  4. Rute dengan Parameter
    Tambahkan rute untuk menampilkan satu postingan berdasarkan ID:

    Route::get('/posts/{id}', function ($id) {
        $post = Post::find($id);
        return $post ?: 'Postingan tidak ditemukan';
    });
    

    Penjelasan:

    • {id}: Parameter dinamis yang diambil dari URL (misalnya, /posts/1).
    • Post::find($id): Mencari postingan berdasarkan ID.
  5. Rute dengan Controller
    Hubungkan rute ke controller untuk logika yang lebih terorganisir. Misalkan ada PostController:

    use App\Http\Controllers\PostController;
    
    Route::get('/posts', [PostController::class, 'index']);
    Route::get('/posts/{id}', [PostController::class, 'show']);
    

    Penjelasan:

    • [PostController::class, 'index']: Memanggil metode index di PostController.
  6. Jalankan Server
    Jalankan server Laravel dengan:

    php artisan serve
    

    Uji rute:

    • http://localhost:8000/hello → Menampilkan "Hello, Laravel!".
    • http://localhost:8000/posts → Menampilkan daftar postingan.
    • http://localhost:8000/posts/1 → Menampilkan postingan dengan ID 1.

Jenis Rute Lain

  • POST: Untuk membuat data (misalnya, form submission):
    Route::post('/posts', [PostController::class, 'store']);
    
  • PUT/PATCH: Untuk memperbarui data:
    Route::put('/posts/{id}', [PostController::class, 'update']);
    
  • DELETE: Untuk menghapus data:
    Route::delete('/posts/{id}', [PostController::class, 'destroy']);
    

Mengapa Routing Penting?

  • Kontrol Akses: Menentukan apa yang terjadi saat URL diakses.
  • Organisasi: Memisahkan logika aplikasi dari tampilan dan data.
  • Fleksibel: Mendukung parameter, middleware, dan berbagai metode HTTP.

Contoh Hasil

Jika tabel posts berisi:

[{"id": 1, "title": "Belajar Laravel", "content": "Routing sangat mudah..."}]
  • /posts menampilkan daftar postingan di view.
  • /posts/1 menampilkan data postingan dengan ID 1.

Langkah Selanjutnya

  • Pelajari middleware untuk mengamankan rute (misalnya, Route::get('/posts', ...)->middleware('auth')).
  • Gunakan resource routes untuk CRUD otomatis:
    Route::resource('posts', PostController::class);
    
  • Baca dokumentasi Routing untuk fitur seperti named routes atau route groups.

Selamat! Kamu sudah menguasai dasar Routing di Laravel untuk mengatur alur aplikasi!

Share this

Facebook Whatsapp