1. Identitas
| Komponen | Keterangan |
| Nama Sekolah | SMK Salafiyah |
| Mata Pelajaran | Pemrograman Web Backend |
| Kategori Mapel | Produktif |
| Kelas | XI |
| Tema Pokok | Arsitektur Server dan Routing Web Laravel |
| Alokasi Waktu | 4 Pertemuan × 8 JP × 45 menit = 32 JP |
2. Tujuan Pembelajaran
- Menguraikan Arsitektur Client-Server: Murid mampu menjelaskan alur request dan response agar memahami peran "pelayan" (server) dalam sebuah sistem web.
- Mengonfigurasi Lingkungan Kerja: Murid mampu menginstal Laravel dan menjalankan server lokal agar siap membangun aplikasi dari nol.
- Menerapkan Sistem Routing: Murid mampu membuat rute URL agar aplikasi dapat mengarahkan pengguna ke halaman atau data yang tepat.
- Mendemonstrasikan Respon JSON: Murid mampu mengirimkan data terformat agar aplikasi backend mereka dapat berkomunikasi dengan aplikasi lain atau aplikasi mobile.
Profil Pelajar Pancasila
- Gotong Royong: Murid bekerja berpasangan dalam sistem tutor sebaya untuk memecahkan error kode, menumbuhkan solidaritas antar murid.
- Mandiri: Murid mencoba memperbaiki sintaks sederhana secara perlahan sebelum bertanya, meningkatkan rasa percaya diri dalam logika pemrograman.
- Bernalar Kritis: Murid menganalisis mengapa sebuah rute tidak berjalan dengan memeriksa pesan error yang muncul di browser.
3. Pemahaman Bermakna & Pertanyaan Pemantik
Pemahaman Bermakna: Ibarat sebuah warung soto di desa, Client adalah pembeli yang memesan makanan, dan Server adalah pelayan/koki. Jika pembeli meminta "Soto tanpa seledri" (Request), koki harus paham menu tersebut (Route) lalu menyajikannya dengan benar (Response) agar pembeli puas.
- Jika kamu ingin membeli barang di toko, apa yang kamu lakukan agar penjual tahu apa yang kamu inginkan?
- Apa yang terjadi jika koki di warung tidak tahu menu yang kamu pesan? Apakah soto akan datang?
- Bagaimana cara server komputer membedakan orang yang ingin melihat "Profil" dengan orang yang ingin melihat "Harga Barang"?
4. Desain Pembelajaran & Bahan Ajar
Model: Project Based Learning (PBL) — agar murid belajar melalui pengalaman nyata membangun "Warung Digital" sederhana.
Metode:
- Tutor Sebaya: Memasangkan murid yang lebih cepat paham dengan murid yang lambat agar suasana belajar lebih nyaman.
- Demonstrasi Langkah-demi-Langkah: Guru mempraktikkan satu baris kode, murid mengikuti, guna menghindari kebingungan.
Alat & Bahan:
- Laptop/PC dengan XAMPP dan Composer terinstal.
- Laravel Framework (versi 10/11).
- VS Code sebagai text editor.
- Lembar "Cheat Sheet" sintaks routing (berwarna).
- Proyektor untuk demonstrasi visual.
Strategi Diferensiasi:
- Murid Tertinggal: Diberikan template kode (boilerplate) yang sudah jadi, mereka hanya perlu mengubah bagian kecil.
- Murid Cepat: Diberikan tantangan menambahkan fitur "Parameter opsional" pada routing.
- Murid dengan hambatan: Penggunaan font editor berukuran besar dan kontras tinggi.
5. Langkah-langkah Pembelajaran
Pertemuan 1: Mengenal Arsitektur Web
Kegiatan Awal (15 menit)
- [3 mnt] Guru menyapa dengan hangat: "Selamat pagi kawan-kawan, mari kita bayangkan hari ini kita adalah pemilik warung digital."
- [5 mnt] Murid menceritakan pengalaman mereka saat mengakses website di HP.
- [5 mnt] Guru bertanya: "Apa yang membuat browser kita bisa menampilkan gambar soto saat kita klik link?"
- [2 mnt] Guru menyampaikan tujuan: memahami alur request dan response.
Kegiatan Inti (90 menit)
- [10 mnt] Guru mendemonstrasikan konsep HTTP dengan analogi pesan berantai.
- [10 mnt] Murid menggambar alur Client-Server di kertas masing-masing.
- [10 mnt] Guru menjelaskan komponen utama: Request, Server, Response.
- [15 mnt — CHECKPOINT] Tutor sebaya: menjelaskan kembali alur ke pasangannya.
- [10 mnt] Murid mencoba membuka 'Inspect Element' di browser.
- [15 mnt] Murid mencatat status code (200, 404) yang ditemukan.
- [10 mnt — CHECKPOINT] Pasangan saling cek catatan status code.
- [10 mnt] Guru mengapresiasi penemuan murid.
Kegiatan Penutup (15 menit)
- [5 mnt] Guru bertanya: "Mengapa error 404 muncul?"
- [3 mnt] Murid menuliskan jawaban di sticky note.
- [5 mnt] Guru: "Kalian luar biasa, memahami hal rumit ini selangkah lebih maju hari ini."
- [2 mnt] Preview: Besok kita akan mulai menginstal "dapur" Laravel.
Pertemuan 2: Instalasi Lingkungan Kerja
Kegiatan Awal (15 menit)
- [3 mnt] Guru menanyakan kesiapan laptop.
- [5 mnt] Murid membuka folder proyek masing-masing.
- [5 mnt] Guru bertanya: "Apa yang terjadi jika koki tidak punya alat masak?"
- [2 mnt] Tujuan: Menginstal Laravel dengan benar.
Kegiatan Inti (90 menit)
- [10 mnt] Guru demo instalasi Composer.
- [10 mnt] Murid mengikuti instalasi tahap demi tahap.
- [10 mnt] Guru membantu murid yang terkendala koneksi.
- [15 mnt — CHECKPOINT] Tutor sebaya memastikan folder 'vendor' ada.
- [10 mnt] Murid mencoba menjalankan `php artisan serve`.
- [15 mnt] Murid memodifikasi tampilan awal Laravel.
- [10 mnt — CHECKPOINT] Pasangan saling cek apakah halaman sudah tampil.
- [10 mnt] Guru memberikan stiker untuk yang berhasil.
Kegiatan Penutup (15 menit)
- [5 mnt] Guru: "Apa kesulitan terbesar saat instalasi tadi?"
- [3 mnt] Murid menjawab jujur.
- [5 mnt] Guru: "Kesalahan adalah cara komputer mengajari kita."
- [2 mnt] Preview: Besok kita buat jalan pintas (Routing).
Pertemuan 3: Dasar Routing
Kegiatan Awal (15 menit)
- [3 mnt] Guru mengulas kembali instalasi.
- [5 mnt] Murid membuka file `routes/web.php`.
- [5 mnt] Guru bertanya: "Bagaimana cara memberi alamat pada warung kita?"
- [2 mnt] Tujuan: Membuat rute sederhana.
Kegiatan Inti (90 menit)
- [10 mnt] Guru demo membuat route `/menu`.
- [10 mnt] Murid membuat route pertama mereka.
- [10 mnt] Guru mendampingi penulisan sintaks.
- [15 mnt — CHECKPOINT] Tutor sebaya mengecek penulisan titik koma.
- [10 mnt] Murid mencoba route `/kontak`.
- [15 mnt] Murid mencoba route dengan parameter `{nama}`.
- [10 mnt — CHECKPOINT] Pasangan saling mencoba route masing-masing.
- [10 mnt] Guru menampilkan contoh route terbaik.
Kegiatan Penutup (15 menit)
- [5 mnt] Guru: "Apa jadinya jika route kita salah tulis?"
- [3 mnt] Murid menjelaskan error yang muncul.
- [5 mnt] Guru: "Kalian sudah mulai berpikir seperti programmer."
- [2 mnt] Preview: Besok kita akan kirim data JSON.
Pertemuan 4: Respon JSON
Kegiatan Awal (15 menit)
- [3 mnt] Guru menyapa dengan semangat.
- [5 mnt] Murid menyiapkan file `web.php` atau `api.php`.
- [5 mnt] Guru bertanya: "Bagaimana jika koki mengirim daftar harga lewat pesan teks?"
- [2 mnt] Tujuan: Mengirim respon JSON.
Kegiatan Inti (90 menit)
- [10 mnt] Guru demo membuat respon JSON.
- [10 mnt] Murid menulis `return response()->json()`.
- [10 mnt] Guru menjelaskan arti setiap kurung kurawal.
- [15 mnt — CHECKPOINT] Tutor sebaya mengecek kurung kurawal yang kurang.
- [10 mnt] Murid menambahkan status code 200.
- [15 mnt] Murid mempraktikkan pengiriman data array.
- [10 mnt — CHECKPOINT] Pasangan saling mengetes URL JSON.
- [10 mnt] Guru melakukan selebrasi kecil atas keberhasilan.
Kegiatan Penutup (15 menit)
- [5 mnt] Refleksi: "Apa bagian paling seru dari 4 pertemuan ini?"
- [3 mnt] Murid menjawab lisan.
- [5 mnt] Guru: "Kalian baru saja membangun fondasi backend. Teruslah berkarya!"
- [2 mnt] Penutup: Tugas proyek sumatif diberikan.
6. Asesmen
Diagnostik
- Apakah kamu pernah menggunakan VS Code sebelumnya?
- Apakah kamu merasa nyaman mengetik perintah di layar hitam (terminal)?
- Seberapa sering kamu menggunakan internet untuk belajar?
- Apa yang kamu lakukan jika laptopmu tiba-tiba hang?
- Apa impianmu setelah lulus nanti?
Tindak lanjut: Murid yang belum pernah menggunakan terminal akan dipasangkan dengan yang sudah mahir di minggu pertama.
Formatif
- Keaktifan berpasangan saat checkpoint.
- Ketepatan sintaks pada file routing.
- Kemampuan menjelaskan kembali alur request secara sederhana.
Sumatif
Deskripsi Proyek: Membuat API sederhana "Daftar Menu Warung" yang menampilkan data JSON berisi nama makanan dan harga saat diakses melalui route tertentu.
Akomodasi Slow Learner: Disediakan "Kartu Sintaks" (Cheat Sheet) yang berisi potongan kode yang bisa langsung di-copy-paste dan dimodifikasi.
| Kriteria | Belum Tercapai | Cukup | Baik | Sangat Baik |
| Konsep Client-Server | Belum paham | Paham sebagian | Paham | Sangat Paham |
| Instalasi Laravel | Gagal total | Perlu bantuan penuh | Mandiri | Membantu orang lain |
| Implementasi Route | Tidak jalan | Jalan 1 route | Jalan banyak route | Bisa routing dinamis |
| Respon JSON | Format salah | Data muncul | Data rapi | Data kompleks |
Mengetahui,
Kepala SMK Salafiyah
Erni Sofa Nugraha, S. Pd
NIP. -
Guru Mata Pelajaran
Ahmad Hanif Dzikron
NIP. ........................................