Skip to content

Day 2 — Routing & Konsep MVC

Fase: 1 — Fundamental Laravel | Minggu: 1 | Hari: Selasa


🎯 Tujuan Hari Ini

Peserta memahami cara kerja Routing di Laravel dan mengerti alur data dalam arsitektur MVC (Model - View - Controller).


📋 Task Wajib

1. Baca & Pahami Konsep MVC (30 Menit)

Sebelum coding, baca dan catat di buku:

M — Model

Bagian yang berhubungan dengan Database. Model merepresentasikan satu tabel di database. Contoh: Model User → tabel users.

V — View

Bagian tampilan yang dilihat pengguna (HTML/Blade). View tidak boleh punya logika bisnis yang berat.

C — Controller

Bagian "otak" atau perantara. Controller menerima request dari Route, mengambil data dari Model, lalu mengirimkannya ke View.

Alur Kerja:

Browser (Request URL)

routes/web.php  ← "URL ini dihandle oleh siapa?"

Controller       ← "Proses logika di sini"

Model (opsional) ← "Ambil data dari database"

View (Blade)     ← "Tampilkan ke pengguna"

Browser (Response)

2. Buat Route Dasar di routes/web.php

Buka file routes/web.php. Tambahkan route berikut:

php
<?php

use Illuminate\Support\Facades\Route;

// Route halaman utama (sudah ada)
Route::get('/', function () {
    return view('welcome');
});

// Route baru: Halaman Tentang Kami
Route::get('/tentang', function () {
    return view('tentang');
});

// Route baru: Halaman dengan data dinamis
Route::get('/profil/{nama}', function ($nama) {
    return "Halo, selamat datang " . $nama . "!";
});

3. Buat View untuk Halaman Tentang

Buat file baru: resources/views/tentang.blade.php

html
<!DOCTYPE html>
<html lang="id">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Tentang Kami</title>
</head>
<body>
    <h1>Tentang Program Magang</h1>
    <p>Program magang ini bertujuan untuk mempersiapkan siswa SMK RPL menjadi web developer profesional.</p>
    <a href="/">← Kembali ke Home</a>
</body>
</html>

4. Uji Semua Route

Buka browser dan akses URL berikut satu per satu:

URLYang Diharapkan
http://127.0.0.1:8000/Halaman Welcome
http://127.0.0.1:8000/tentangHalaman Tentang Kami
http://127.0.0.1:8000/profil/BudiTampil teks: "Halo, selamat datang Budi!"
http://127.0.0.1:8000/profil/SariTampil teks: "Halo, selamat datang Sari!"

5. Tambahkan Route dengan Method POST (Teori)

Tambahkan ini di routes/web.php (tapi belum perlu diuji via browser, hanya untuk dipahami):

php
// POST Route: menerima data dari Form
Route::post('/kirim-data', function () {
    return "Data berhasil diterima!";
});

Catat perbedaannya:

  • Route::get() → diketik langsung di browser (URL bar)
  • Route::post() → hanya dikirim melalui HTML Form (method="POST")

📝 Laporan ke Mentor

📌 LAPORAN HARIAN — Day 2
Nama     : [Nama Lengkap]
Role     : [Role Kamu]

✅ Yang saya kerjakan hari ini:
- [ ] Memahami konsep MVC dan alurnya
- [ ] Membuat route /tentang dan halaman tentang.blade.php
- [ ] Membuat route /profil/{nama} dan mengujinya
- [ ] Memahami perbedaan GET vs POST

📸 Screenshot Wajib:
1. Browser membuka /tentang dengan tampilan halaman
2. Browser membuka /profil/[nama kamu] dengan output teks dinamis

🧠 Apa yang saya pelajari hari ini (min. 3 kalimat):
[Tulis pemahaman kamu tentang MVC dan Routing dengan kata-katamu sendiri]

❓ Kendala / Pertanyaan:
[Tulis jika ada]

⚠️ Yang Sering Error di Day 2

  • 404 Not Found → Cek ejaan nama route di web.php, pastikan tidak ada typo.
  • View [tentang] not found → Pastikan nama file tentang.blade.php (harus ada .blade.php, bukan .php saja).
  • Lupa jalankan php artisan serve → Pastikan server masih berjalan di terminal.

Catatan Mentor

Pastikan peserta benar-benar menggambar alur MVC secara manual di buku tulis. Pemahaman visual tentang "siapa yang ngomong ke siapa" sangat penting sebelum masuk ke Controller.

Program Magang SMK RPL — Rekayasa Perangkat Lunak