Materi Mata Kuliah

00 jam 00 menit 00 detik

    Materi belum tersedia

00 jam 00 menit 00 detik

    Materi belum tersedia

00 jam 00 menit 00 detik

    Materi belum tersedia

00 jam 10 menit 00 detik

00 jam 00 menit 00 detik

    Materi belum tersedia

00 jam 00 menit 00 detik

    Materi belum tersedia

00 jam 00 menit 00 detik

    Materi belum tersedia

00 jam 00 menit 00 detik

    Materi belum tersedia

00 jam 00 menit 00 detik

    Materi belum tersedia

Integrasi Routing, Controller, dan Blade Template

Capaian Pembelajaran

Mahasiswa mampu memahami integrasi antara route, controller, dan Blade Template pada Laravel, mampu mengirim data dari controller ke view, menampilkan data dinamis pada Blade, membuat halaman web sederhana, serta memahami struktur MVC pada Laravel.


Pendahuluan

Laravel menggunakan konsep MVC (Model View Controller) dalam pengembangan aplikasi web.

Komponen utama:

  • Route
  • Controller
  • View (Blade)

Ketiga komponen ini bekerja bersama untuk:

  • Menangani request user
  • Memproses data
  • Menampilkan halaman website

1. Alur Route ke Controller

A. Pengertian Route ke Controller

Route digunakan untuk:

  • Mengarahkan URL ke controller tertentu.

Controller akan:

  • Menjalankan logic aplikasi
  • Mengirim response ke user

B. Alur Dasar Laravel

 
User

Route

Controller

View

Browser
 

C. Membuat Controller

Command:

 
php artisan make:controller HomeController
 

D. Hasil Controller

Laravel membuat file:

 
app/Http/Controllers/HomeController.php
 

E. Membuat Method pada Controller

 
<?php

namespace App\Http\Controllers;

class HomeController extends Controller
{
public function index()
{
return "Halaman Home";
}
}
 

F. Menghubungkan Route ke Controller

Tambahkan pada:

 
routes/web.php
 

Kode:

 
use App\Http\Controllers\HomeController;

Route::get('/home', [HomeController::class, 'index']);
 

G. Penjelasan Route Controller

Bagian Fungsi
Route::get Request GET
/home URL
HomeController Nama controller
index Method controller

H. Hasil Route

Jika browser membuka:

 
http://127.0.0.1:8000/home
 

Maka method index() dijalankan.


I. Keuntungan Menggunakan Controller

Keuntungan Penjelasan
Kode lebih rapi Logic dipisahkan
Mudah maintenance Struktur jelas
Reusable Method dapat digunakan ulang

2. Controller Mengirim Data ke View

A. Pengertian Passing Data

Passing data adalah proses:

  • Mengirim data dari controller ke view.

B. Membuat View

Buat file:

 
resources/views/home.blade.php
 

C. Isi View

 
<h1>{{ $nama }}</h1>
 

D. Mengirim Data dari Controller

Controller:

 
<?php

namespace App\Http\Controllers;

class HomeController extends Controller
{
public function index()
{
$nama = "Mahasiswa Sistem Informasi";

return view('home', compact('nama'));
}
}
 

E. Fungsi compact()

 
compact('nama')
 

Digunakan untuk:

  • Mengirim variabel ke view.

F. Menampilkan Data di Blade

 
{{ $nama }}
 

G. Mengirim Banyak Data

Controller:

 
public function index()
{
$nama = "Laravel";
$kelas = "SI 4A";

return view('home', compact('nama', 'kelas'));
}
 

Blade:

 
<h1>{{ $nama }}</h1>
<p>{{ $kelas }}</p>
 

H. Fungsi Passing Data

Digunakan untuk:

  • Menampilkan data user
  • Menampilkan data produk
  • Dashboard aplikasi
  • Data database

3. Menampilkan Data Dinamis di Blade

A. Pengertian Data Dinamis

Data dinamis adalah data yang:

  • Berasal dari controller atau database
  • Dapat berubah sesuai kondisi aplikasi

B. Menampilkan Variabel

 
{{ $nama }}
 

C. Menampilkan Array

Controller:

 
public function index()
{
$mahasiswa = ['Andi', 'Budi', 'Citra'];

return view('home', compact('mahasiswa'));
}
 

D. Menampilkan dengan foreach

Blade:

 
@foreach($mahasiswa as $m)
<p>{{ $m }}</p>
@endforeach
 

E. Menggunakan Percabangan if

 
@if($nilai >= 75)
<p>Lulus</p>
@else
<p>Tidak Lulus</p>
@endif
 

F. Menampilkan Data HTML

Blade:

 
{!! $html !!}
 

Catatan:

  • Gunakan hati-hati karena tidak melakukan escape HTML.

G. Fungsi Data Dinamis

Digunakan untuk:

  • Menampilkan data database
  • Menampilkan profile user
  • Menampilkan laporan
  • Menampilkan produk

4. Membuat Halaman Web Sederhana

A. Tujuan

Membuat halaman sederhana menggunakan:

  • Route
  • Controller
  • Blade

B. Membuat Route

 
use App\Http\Controllers\PageController;

Route::get('/about', [PageController::class, 'about']);
 

C. Membuat Controller

Command:

 
php artisan make:controller PageController
 

D. Method Controller

 
<?php

namespace App\Http\Controllers;

class PageController extends Controller
{
public function about()
{
$judul = "Tentang Website";

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

E. Membuat View

File:

 
resources/views/about.blade.php
 

Isi:

 
<!DOCTYPE html>
<html>
<head>
<title>About</title>
</head>
<body>

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

<p>Website Laravel Pertama</p>

</body>
</html>
 

F. Menjalankan Halaman

Buka browser:

 
http://127.0.0.1:8000/about
 

G. Hasil

Browser menampilkan:

  • Judul dari controller
  • Isi halaman website

H. Struktur File Project

 
routes/web.php
app/Http/Controllers/PageController.php
resources/views/about.blade.php
 

5. Struktur MVC pada Laravel

A. Pengertian MVC

MVC adalah arsitektur aplikasi yang memisahkan:

  • Logic
  • Tampilan
  • Data

B. Komponen MVC

Komponen Fungsi
Model Mengelola data
View Menampilkan tampilan
Controller Mengatur alur aplikasi

C. Struktur MVC Laravel

 
app/
├── Models/
└── Http/Controllers/

resources/
└── views/

routes/
└── web.php
 

D. Alur MVC Laravel

 
User

Route

Controller

Model

Database

Controller

View

Browser
 

E. Penjelasan Alur MVC

Tahap Fungsi
Route Menentukan URL
Controller Mengatur logic
Model Mengambil data
View Menampilkan data

F. Keuntungan MVC

Keuntungan Penjelasan
Struktur rapi Mudah dikembangkan
Maintenance mudah Kode terpisah
Kolaborasi tim Frontend & backend terpisah

Praktikum

Praktikum 1 — Membuat Controller

Command:

 
php artisan make:controller PageController
 

Praktikum 2 — Membuat Route

 
use App\Http\Controllers\PageController;

Route::get('/profil', [PageController::class, 'profil']);
 

Praktikum 3 — Membuat Method Controller

 
public function profil()
{
$nama = "Laravel MVC";

return view('profil', compact('nama'));
}
 

Praktikum 4 — Membuat View

File:

 
resources/views/profil.blade.php
 

Isi:

 
<h1>{{ $nama }}</h1>
 

Praktikum 5 — Menampilkan Array

Controller:

 
$produk = ['Laptop', 'Mouse', 'Keyboard'];
 

Blade:

 
@foreach($produk as $p)
<p>{{ $p }}</p>
@endforeach
 

Tugas Praktikum

Tugas Individu

  1. Buat:
    • 1 Route
    • 1 Controller
    • 2 Method controller
    • 2 View Blade
  2. Buat halaman:
    • Home
    • About
  3. Kirim data dari controller ke view
  4. Tampilkan:
    • Variabel
    • Array menggunakan foreach
  5. Jelaskan:
    • Alur route ke controller
    • Fungsi controller
    • Fungsi Blade
    • Konsep MVC
  6. Screenshot:
    • File route
    • Controller
    • Blade
    • Hasil browser

Kesimpulan

Integrasi antara route, controller, dan Blade Template pada Laravel memungkinkan aplikasi web dibangun secara terstruktur sesuai konsep MVC. Dengan memahami alur request Laravel, mahasiswa dapat membuat halaman web dinamis yang lebih rapi, mudah dikembangkan, dan sesuai standar pengembangan aplikasi modern.


Report Error