Mahasiswa mampu memahami konsep arsitektur MVC (Model View Controller) pada framework Laravel serta memahami fungsi Model, View, dan Controller dalam proses pengembangan aplikasi web.
Laravel menggunakan konsep arsitektur MVC (Model View Controller) dalam pengembangan aplikasi.
Konsep MVC bertujuan untuk:
Dengan MVC, aplikasi menjadi lebih terstruktur dan scalable.
MVC adalah singkatan dari:
MVC merupakan pola arsitektur aplikasi yang memisahkan:
MVC digunakan untuk:
| Komponen | Fungsi |
|---|---|
| Model | Mengelola data |
| View | Menampilkan tampilan |
| Controller | Mengatur alur aplikasi |
Alur MVC:
User → Route → Controller → Model → Database
↓
View
↓
User
| Kelebihan | Penjelasan |
|---|---|
| Struktur Rapi | Kode lebih terorganisir |
| Mudah Maintenance | Mudah diperbaiki |
| Reusable | Logic dapat digunakan ulang |
| Kolaborasi Tim | Frontend dan backend dapat dipisah |
Model adalah bagian MVC yang digunakan untuk:
Pada Laravel, Model menggunakan ORM bernama:
Model berada di folder:
app/Models/
Model digunakan untuk:
Command:
php artisan make:model Mahasiswa
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Mahasiswa extends Model
{
}
$mahasiswa = Mahasiswa::all();
Penjelasan:
Eloquent mempermudah:
Tanpa harus menulis SQL secara manual.
View adalah bagian MVC yang digunakan untuk:
View berisi:
View berada pada folder:
resources/views/
Laravel menggunakan:
Format file:
.blade.php
Contoh:
home.blade.php
<!DOCTYPE html>
<html>
<head>
<title>Home</title>
</head>
<body>
<h1>Selamat Datang Mahasiswa</h1>
</body>
</html>
Route::get('/home', function () {
return view('home');
});
Blade digunakan untuk:
Contoh:
<h1>{{ $nama }}</h1>
| Keunggulan | Penjelasan |
|---|---|
| Sintaks sederhana | Mudah dipahami |
| Reusable layout | Bisa membuat template |
| Integrasi Laravel | Mendukung fitur Laravel |
Controller adalah bagian MVC yang digunakan untuk:
Controller berada pada folder:
app/Http/Controllers/
Command:
php artisan make:controller MahasiswaController
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class MahasiswaController extends Controller
{
public function index()
{
return "Data Mahasiswa";
}
}
use App\Http\Controllers\MahasiswaController;
Route::get('/mahasiswa', [MahasiswaController::class, 'index']);
public function index()
{
$nama = "Mahasiswa Sistem Informasi";
return view('home', compact('nama'));
}
<h1>{{ $nama }}</h1>
| Fungsi | Penjelasan |
|---|---|
| Mengatur logic | Mengatur proses aplikasi |
| Menghubungkan Model | Mengambil data |
| Mengirim ke View | Menampilkan data |
Request flow adalah proses perjalanan request dari user hingga menghasilkan response.
User
↓
Route
↓
Controller
↓
Model
↓
Database
↓
Controller
↓
View
↓
Browser User
| Tahap | Penjelasan |
|---|---|
| User | Mengakses URL |
| Route | Menentukan tujuan |
| Controller | Mengatur logic |
| Model | Mengambil data |
| Database | Penyimpanan data |
| View | Menampilkan tampilan |
User membuka:
http://127.0.0.1:8000/mahasiswa
Route::get('/mahasiswa', [MahasiswaController::class, 'index']);
public function index()
{
$nama = "Laravel MVC";
return view('mahasiswa', compact('nama'));
}
<h1>{{ $nama }}</h1>
Browser menampilkan:
Laravel MVC
php artisan make:controller DosenController
Buat file:
resources/views/dosen.blade.php
Isi:
<h1>Halaman Dosen</h1>
Tambahkan pada:
routes/web.php
Kode:
use App\Http\Controllers\DosenController;
Route::get('/dosen', function () {
return view('dosen');
});
Controller:
public function index()
{
$nama = "Pemrograman Laravel";
return view('dosen', compact('nama'));
}
View:
<h1>{{ $nama }}</h1>
Konsep MVC pada Laravel membantu developer membangun aplikasi web dengan struktur yang rapi, terorganisir, dan mudah dikembangkan. Dengan memahami fungsi Model, View, dan Controller serta alur request Laravel, mahasiswa dapat mulai membangun aplikasi Laravel secara profesional dan sesuai standar framework modern.