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

Membuat dan Menggunakan Controller Laravel

Capaian Pembelajaran

Mahasiswa mampu memahami konsep controller pada Laravel, membuat controller menggunakan artisan, menggunakan method pada controller, menghubungkan route ke controller, serta mengirim data dari controller ke view.


Pendahuluan

Pada arsitektur MVC (Model View Controller), Laravel menggunakan Controller sebagai penghubung antara:

  • Request user
  • Logic aplikasi
  • Tampilan website

Controller membantu membuat kode:

  • Lebih rapi
  • Terstruktur
  • Mudah dikembangkan

1. Pengertian Controller

A. Pengertian Controller

Controller adalah bagian dari MVC yang digunakan untuk:

  • Mengatur logic aplikasi
  • Menangani request user
  • Menghubungkan Model dan View

Controller menjadi pusat pengolahan request pada Laravel.


B. Fungsi Controller

Controller digunakan untuk:

  • Mengambil data
  • Menjalankan proses aplikasi
  • Mengatur tampilan
  • Menghubungkan route dengan view

C. Alur Controller

 
User

Route

Controller

View

Browser
 

D. Lokasi Controller

Controller berada pada folder:

 
app/Http/Controllers/
 

E. Keuntungan Menggunakan Controller

Keuntungan Penjelasan
Kode lebih rapi Logic dipisahkan
Mudah maintenance Struktur jelas
Reusable Method dapat digunakan ulang
Mendukung MVC Sesuai standar Laravel

2. Membuat Controller dengan Artisan

A. Pengertian Artisan

Laravel Artisan adalah command line interface Laravel yang digunakan untuk membantu proses development.


B. Command Membuat Controller

Format:

 
php artisan make:controller NamaController
 

C. Contoh Membuat Controller

 
php artisan make:controller MahasiswaController
 

D. Hasil Controller

Laravel akan membuat file:

 
app/Http/Controllers/MahasiswaController.php
 

E. Isi Default Controller

 
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class MahasiswaController extends Controller
{

}
 

F. Penjelasan Struktur Controller

Bagian Fungsi
namespace Lokasi class
use Request Menggunakan request Laravel
extends Controller Inherit controller utama

G. Membuat Resource Controller

Command:

 
php artisan make:controller ProdukController --resource
 

Digunakan untuk membuat controller CRUD otomatis.


H. Method Resource Controller

Method Fungsi
index Menampilkan data
create Form tambah
store Simpan data
edit Form edit
update Update data
destroy Hapus data

3. Method pada Controller

A. Pengertian Method

Method adalah fungsi yang terdapat di dalam controller.

Method digunakan untuk:

  • Menjalankan proses tertentu
  • Menampilkan halaman
  • Mengolah data

B. Contoh Method

 
<?php

namespace App\Http\Controllers;

class MahasiswaController extends Controller
{
public function index()
{
return "Halaman Mahasiswa";
}
}
 

C. Penjelasan Method

Bagian Fungsi
public function Membuat method
index() Nama method
return Output

D. Membuat Beberapa Method

 
class MahasiswaController extends Controller
{
public function index()
{
return "Data Mahasiswa";
}

public function profil()
{
return "Profil Mahasiswa";
}
}
 

E. Fungsi Method pada Controller

Digunakan untuk:

  • Halaman home
  • Halaman detail
  • Menyimpan data
  • Update data

F. Method dengan Parameter

 
public function detail($id)
{
return "ID Mahasiswa: ".$id;
}
 

G. Keuntungan Menggunakan Method

Keuntungan Penjelasan
Kode modular Mudah dipisahkan
Mudah dipanggil Fleksibel
Logic lebih jelas Terstruktur

4. Menghubungkan Route ke Controller

A. Pengertian Route ke Controller

Laravel memungkinkan route diarahkan ke controller.


B. Import Controller

Tambahkan pada:

 
routes/web.php
 

Kode:

 
use App\Http\Controllers\MahasiswaController;
 

C. Route ke Method Controller

 
Route::get('/mahasiswa', [MahasiswaController::class, 'index']);
 

D. Penjelasan Route Controller

Bagian Fungsi
Route::get Method GET
/mahasiswa URL
MahasiswaController Nama controller
index Nama method

E. Hasil Route

Jika browser membuka:

 
http://127.0.0.1:8000/mahasiswa
 

Maka method index() dijalankan.


F. Route ke Method Lain

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

G. Route dengan Parameter

 
Route::get('/detail/{id}', [MahasiswaController::class, 'detail']);
 

H. Controller Parameter

 
public function detail($id)
{
return "Detail ID: ".$id;
}
 

5. Passing Data dari Controller ke View

A. Pengertian Passing Data

Passing data adalah proses mengirim data dari controller ke view.


B. Membuat View

Buat file:

 
resources/views/mahasiswa.blade.php
 

C. Isi View

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

D. Passing Data dengan compact()

Controller:

 
public function index()
{
$nama = "Mahasiswa Sistem Informasi";

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

E. Penjelasan compact()

 
compact('nama')
 

Digunakan untuk:

  • Mengirim variabel ke view.

F. Menampilkan Data di View

 
{{ $nama }}
 

G. Passing Multiple Data

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

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

H. Menampilkan Multiple Data

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

I. Fungsi Passing Data

Digunakan untuk:

  • Menampilkan data database
  • Menampilkan profil
  • Menampilkan detail produk
  • Menampilkan dashboard

Praktikum

Praktikum 1 — Membuat Controller

Command:

 
php artisan make:controller DosenController
 

Praktikum 2 — Membuat Method

Controller:

 
public function index()
{
return "Halaman Dosen";
}
 

Praktikum 3 — Menghubungkan Route

 
use App\Http\Controllers\DosenController;

Route::get('/dosen', [DosenController::class, 'index']);
 

Praktikum 4 — Membuat View

File:

 
resources/views/dosen.blade.php
 

Isi:

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

Praktikum 5 — Passing Data

Controller:

 
public function index()
{
$nama = "Laravel Controller";

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

Tugas Praktikum

Tugas Individu

  1. Buat:
    • 1 Controller
    • 3 Method controller
    • 2 View
  2. Hubungkan route ke controller
  3. Kirim data dari controller ke view
  4. Buat:
    • Route parameter
    • Method parameter
  5. Screenshot:
    • Hasil artisan make:controller
    • File route
    • Tampilan browser
  6. Jelaskan:
    • Pengertian controller
    • Fungsi method
    • Fungsi passing data
    • Fungsi compact()

Kesimpulan

Controller pada Laravel berfungsi sebagai pengatur logic aplikasi dan penghubung antara route dengan view. Dengan memahami cara membuat controller, menggunakan method, menghubungkan route, dan melakukan passing data ke view, mahasiswa dapat membangun aplikasi Laravel yang lebih terstruktur dan mengikuti konsep MVC secara benar.


Report Error