GfMpTfG9TSY9TSCiTUr0TfG0

Tutorial Laravel 13 Untuk Pemula - Routing, Controller Dan Model

Routing, Controller, dan Model di Laravel 13


Laravel menggunakan arsitektur MVC (Model-View-Controller) yang membuat pengembangan aplikasi menjadi lebih rapi, mudah dipelajari, dan mudah dikembangkan. Tiga komponen utama yang wajib dipahami adalah Routing, Controller, dan Model.

Pada artikel ini kita akan mempelajari ketiganya secara bertahap beserta contoh implementasinya di Laravel 13.


Apa itu MVC?

MVC adalah pola arsitektur yang memisahkan aplikasi menjadi tiga bagian.

  • Model → Mengelola data dan database.
  • View → Menampilkan halaman kepada pengguna.
  • Controller → Menghubungkan Model dan View.

Alur kerjanya sebagai berikut:

Browser
   │
   ▼
Route
   │
   ▼
Controller
   │
   ▼
Model
   │
Database
   │
   ▼
Controller
   │
   ▼
View
   │
   ▼
Browser

Mengenal Routing Laravel

Routing adalah proses menentukan URL mana yang akan dijalankan oleh Laravel.

File routing web berada pada:

routes/web.php

Sedangkan API berada pada:

routes/api.php

Membuat Route Sederhana


use Illuminate\Support\Facades\Route;

Route::get('/', function () {
    return "Selamat Datang di Laravel 13";
});

Ketika browser membuka:

http://localhost:8000

Maka akan tampil:

Selamat Datang di Laravel 13

Jenis HTTP Method

Method Fungsi
GET Menampilkan data
POST Menyimpan data
PUT Mengubah seluruh data
PATCH Mengubah sebagian data
DELETE Menghapus data


Route::post('/simpan', function () {
    return "Data disimpan";
});

Route dengan Parameter


Route::get('/user/{id}', function ($id) {
    return "ID User : ".$id;
});

URL

/user/10

Output

ID User : 10

Multiple Parameter


Route::get('/produk/{kategori}/{id}', function ($kategori,$id){

    return $kategori." ".$id;

});

Parameter Optional


Route::get('/profile/{nama?}', function($nama="Guest"){

    return $nama;

});

Jika URL:

/profile

Output:

Guest

Jika:

/profile/Budi

Output:

Budi

Named Route


Route::get('/dashboard', function(){

    return "Dashboard";

})->name('dashboard');

Pemanggilan:


route('dashboard');

Route Group


Route::prefix('admin')->group(function(){

    Route::get('/guru', function(){

        return "Data Guru";

    });

    Route::get('/siswa', function(){

        return "Data Siswa";

    });

});

Route Resource


Route::resource('produk', ProdukController::class);
URL Method Fungsi
/produk GET index
/produk/create GET create
/produk POST store
/produk/{id} GET show
/produk/{id}/edit GET edit
/produk/{id} PUT update
/produk/{id} DELETE destroy

Mengenal Controller

Controller adalah tempat menyimpan logika aplikasi sehingga file routing tetap bersih dan mudah dipelihara.

Membuat Controller

php artisan make:controller ProdukController

File akan dibuat pada:

app/Http/Controllers/ProdukController.php

Struktur Controller


<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class ProdukController extends Controller
{
    public function index()
    {
        return "Daftar Produk";
    }
}

Memanggil Controller


use App\Http\Controllers\ProdukController;

Route::get('/produk',[ProdukController::class,'index']);

Mengirim Data ke View


public function index()
{
    $judul = "Belajar Laravel";

    return view('produk', compact('judul'));
}

View:


<h1>{{ $judul }}</h1>

Menggunakan Request


public function store(Request $request)
{
    $nama = $request->nama;

    return $nama;
}

Redirect


return redirect('/dashboard');

atau


return redirect()->route('dashboard');

Controller Resource

php artisan make:controller ProdukController --resource

Method yang otomatis dibuat:

  • index()
  • create()
  • store()
  • show()
  • edit()
  • update()
  • destroy()

Mengenal Model

Model bertugas berkomunikasi dengan database menggunakan Eloquent ORM.

Membuat Model

php artisan make:model Produk

File:

app/Models/Produk.php

Membuat Model Sekaligus Migration

php artisan make:model Produk -m
atau
php artisan make:model Produk -mfsc

Struktur Model


<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Produk extends Model
{

}

Menentukan Nama Tabel


protected $table = "barang";

Primary Key


protected $primaryKey = "id_produk";

Fillable


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

Operasi Dasar Eloquent

Mengambil Semua Data


$produk = Produk::all();

Mengambil Berdasarkan ID


$produk = Produk::find(5);

Menambahkan Data


Produk::create([
    'nama'=>'Laptop',
    'harga'=>8000000,
    'stok'=>10
]);

Mengubah Data


$produk = Produk::find(1);

$produk->harga = 9000000;

$produk->save();

Menghapus Data


$produk = Produk::find(1);

$produk->delete();

Menggunakan Model di Controller


use App\Models\Produk;

public function index()
{
    $produk = Produk::all();

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

Alur Kerja Routing, Controller, dan Model

  1. Pengguna membuka URL /produk.
  2. Route menerima request.
  3. Controller menjalankan logika aplikasi.
  4. Model mengambil data dari database.
  5. Controller menerima data.
  6. Data dikirim ke View.
  7. View ditampilkan ke browser.
Browser
   │
   ▼
Route (/produk)
   │
   ▼
ProdukController@index
   │
   ▼
Produk::all()
   │
   ▼
Database
   │
   ▼
View
   │
   ▼
Browser

Tips Belajar Laravel

  • Gunakan Route hanya untuk mengarahkan URL.
  • Simpan logika aplikasi di Controller.
  • Gunakan Eloquent ORM untuk mengakses database.
  • Manfaatkan Resource Controller untuk CRUD.
  • Gunakan Named Route agar URL mudah dikelola.

Kesimpulan

Routing, Controller, dan Model merupakan fondasi utama dalam Laravel 13. Routing bertugas menerima request dari pengguna, Controller menjalankan logika aplikasi, sedangkan Model mengelola komunikasi dengan database menggunakan Eloquent ORM. Dengan memahami ketiga komponen ini, Anda dapat membangun aplikasi Laravel yang lebih rapi, mudah dipelihara, dan siap dikembangkan menjadi aplikasi berskala besar.

0Komentar

Special Ads
Special Ads
Special Ads