Memastikan lingkungan pengembangan (PHP & MySQL) siap digunakan.
Mengoperasikan Composer sebagai package manager utama PHP.
Melakukan instalasi Laravel versi terbaru melalui jalur CLI (Command Line Interface).
Menjalankan local development server bawaan Laravel (Artisan).
Menjelaskan peran spesifik Model, View, dan Controller dalam Laravel.
Mempraktikkan alur permintaan (request) dari Route ke Controller.
Menghubungkan Controller dengan Model untuk mengambil data.
Mengirimkan data dari Controller ke View untuk ditampilkan ke pengguna.
Melacak alur masuknya sebuah request dari folder public hingga ke aplikasi.
Memahami peran index.php sebagai pintu masuk tunggal (Single Entry Point).
Mengidentifikasi urutan eksekusi: HTTP Kernel, Service Providers, hingga Routing.
Melakukan debugging sederhana pada setiap tahapan alur kerja.
Membedakan penggunaan metode GET dan POST dalam aplikasi web.
Menggunakan Route Parameters untuk menangkap data dari URL.
Menangani error handling jika parameter yang dicari tidak ditemukan.
Mengatur mode tampilan error melalui file konfigurasi .env.
Melakukan instalasi dan menggunakan Laravel Debugbar untuk memantau performa aplikasi.
Membuat halaman error kustom (misal: halaman 404 kustom) agar aplikasi lebih profesional.
Menganalisis log eksekusi, penggunaan memori, dan query database secara real-time
Membuat file tampilan menggunakan templating engine Blade (.blade.php).
Mengembalikan (return) view melalui Route Closure.
Mengembalikan (return) view melalui Controller.
Mengirimkan data variabel dari Controller untuk ditampilkan di View menggunakan fungsi compact() atau array associative
Membuat Master Layout sebagai kerangka utama website.
Menerapkan fitur Inheritance (@extends, @section, @yield) untuk efisiensi kode.
Menampilkan data dinamis menggunakan sintaks Blade Escape {{ $data }}.
Mengorganisir struktur folder View secara profesional.
Memahami peran Vite sebagai alat bundling aset di Laravel.
Menginstal dependencies yang diperlukan melalui NPM (Node Package Manager).
Menghubungkan file CSS dan JS ke dalam Blade menggunakan direktif @vite.
Menjalankan server pengembangan aset untuk fitur Hot Module Replacement (HMR).
Memahami konsep Migration sebagai version control untuk database.
Membuat file migration baru menggunakan perintah Artisan.
Mendefinisikan berbagai tipe data kolom (string, integer, text, date).
Menjalankan perintah migrate untuk membangun tabel di MySQL secara otomatis.
Menjalankan query SQL mentah menggunakan DB Facade.
Menggunakan Query Builder untuk mengambil, menambah, mengubah, dan menghapus data.
Memahami aspek keamanan database (mencegah SQL Injection) melalui teknik parameter binding di Laravel.
Membuat Model Eloquent sesuai dengan standar penamaan Laravel.
Mengimplementasikan relasi One-to-One (Satu ke Satu).
Mengimplementasikan relasi One-to-Many (Satu ke Banyak).
Mengimplementasikan relasi Many-to-Many (Banyak ke Banyak).
Mengubah array biasa menjadi objek Collection.
Menggunakan metode chaining (berantai) untuk memproses data secara deklaratif.
Menguasai fungsi-fungsi manipulasi data populer seperti filter, map, sum, avg, dan sort.
Memahami efisiensi penulisan kode menggunakan Collection dibandingkan foreach tradisional.
Memahami fungsi Controller sebagai pengatur lalu lintas data (logika) dalam pola MVC.
Membuat Controller secara otomatis menggunakan perintah Artisan.
Menghubungkan Route ke Method tertentu di dalam Controller.
Mengirimkan data dari Controller untuk ditampilkan di dalam View (Blade).
Menangani pengiriman data melalui metode POST.
Menggunakan Validation Rules (Required, Email, Min, Max, dll.) untuk memverifikasi input.
Menampilkan Pesan Error yang spesifik dan ramah pengguna di halaman Blade.
Memahami fungsi fitur old() agar data yang sudah diketik tidak hilang saat terjadi error.
Menyiapkan formulir HTML khusus untuk pengiriman berkas (multipart/form-data).
Melakukan validasi tipe file (MIME types) dan ukuran maksimal file.
Menyimpan file ke dalam disk tertentu (Local, Public, atau S3) secara terstruktur.
Menghubungkan folder penyimpanan agar file dapat diakses publik via browser.
Memahami struktur direktori bahasa di Laravel.
Membuat file referensi bahasa dalam format JSON dan PHP Array.
Menampilkan konten yang diterjemahkan menggunakan direktif Blade.
Membuat fitur pindah bahasa (Language Switcher) secara dinamis.
Menjelaskan peran Middleware dalam siklus permintaan (request) Laravel.
Membuat Middleware kustom menggunakan perintah Artisan.
Meregistrasikan Middleware agar dapat digunakan pada Route tertentu.
Mengimplementasikan logika "Sebelum" (Before) permintaan diproses oleh Controller.
Memahami konsep Stateful di dalam protokol HTTP yang Stateless.
Menyimpan data ke dalam Session menggunakan helper session() dan Request.
Mengambil dan menampilkan data Session di Controller maupun View.
Menghapus data Session (Flash session vs Permanent session).
Melakukan instalasi Laravel Breeze menggunakan Composer.
Mengonfigurasi database untuk kebutuhan sistem autentikasi.
Menjalankan proses migrasi tabel bawaan Laravel.
Memahami alur kerja Login, Register, Logout, dan Reset Password.
Memahami peran Middleware Auth sebagai gerbang keamanan aplikasi.
Mengamankan satu atau sekelompok Route menggunakan middleware auth.
Memahami perilaku aplikasi ketika mencoba mengakses halaman terproteksi tanpa login (Redirection).
Menggunakan teknik Grouping untuk efisiensi penulisan route yang terproteksi.
Memahami perbedaan antara Autentikasi dan Otorisasi.
Membuat file Policy yang terhubung dengan Model tertentu.
Mendefinisikan aturan akses (Logic Authorization) di dalam Policy.
Menerapkan proteksi Policy di dalam Controller dan View (Blade).
Mengintegrasikan Route, Controller, Model, dan View dalam satu alur kerja.
Mengelola database menggunakan Eloquent ORM.
Menangani proses input data, menampilkan data, mengubah, dan menghapus data secara aman.
Menjelaskan prinsip dasar REST (Representational State Transfer).
Memahami perbedaan antara Route Web (HTML) dan Route API (JSON).
Menggunakan HTTP Methods (GET, POST, PUT, DELETE) secara tepat.
Menghasilkan output data dalam format JSON.
Membedakan penggunaan routes/web.php dan routes/api.php.
Mendefinisikan rute API dengan prefix otomatis.
Mengelompokkan rute menggunakan Route::group atau Route::middleware.
Menerapkan pengamanan dasar pada rute API.
Menjelaskan perbedaan antara Route::resource (Web) dan Route::apiResource (API).
Mendaftarkan 5 rute CRUD API hanya dengan satu baris kode.
Menghubungkan rute API Resource dengan API Controller.
Melakukan pengujian rute menggunakan perintah php artisan route:list.
Mengubah data Array/Object PHP menjadi format JSON menggunakan helper response()->json().
Mengimplementasikan berbagai HTTP Status Code sesuai dengan kondisi logika program.
Membangun struktur response API yang konsisten (Success, Message, Data).
Membuat Resource Class menggunakan perintah Artisan.
Memetakan (mapping) data dari Model ke dalam format JSON yang spesifik.
Menyembunyikan data sensitif dari database agar tidak tampil di API.
Mengubah format data (misal: format tanggal) sebelum dikirim ke klien.
Membuat Resource Collection untuk menangani sekumpulan data (Array/Collection).
Membedakan penggunaan SiswaResource::collection() dan SiswaCollection.
Menambahkan Metadata tambahan (seperti status, author, atau version) pada hasil JSON.
Menghasilkan struktur API yang profesional dan konsisten untuk kebutuhan Frontend.
Menggunakan method when() untuk menampilkan atribut secara kondisional.
Menggunakan method whenLoaded() untuk mencegah masalah N+1 Query pada relasi database.
Membedakan tampilan respons API berdasarkan peran (Role) pengguna (Admin vs Siswa).
Meningkatkan keamanan data sensitif pada output API.
Menjelaskan konsep autentikasi pada aplikasi Web dan Mobile.
Memahami perbedaan mekanisme penyimpanan data pengguna.
Menganalisis kapan harus menggunakan Session atau Token (JWT).
Siswa mampu melakukan instalasi, konfigurasi, dan pengujian autentikasi API menggunakan token pada framework Laravel.
Membuat fungsi untuk menghasilkan beberapa token untuk satu pengguna.
Menampilkan daftar token yang sedang aktif.
Melakukan proses Revoke (pembatalan) token secara spesifik maupun massal.
Menjelaskan fungsi Middleware dalam siklus request API.
Mengelompokkan rute API (Route Grouping) berdasarkan hak akses.
Melindungi data sensitif dari akses pengguna yang tidak terautentikasi.
Memisahkan logika validasi dari Controller menggunakan Form Request.
Mengatur aturan validasi (rules) untuk data yang masuk ke API.
Menghasilkan respon error 422 Unprocessable Entity secara otomatis dalam format JSON.
Memahami peran Bootstrap/app.php (Laravel 11) atau App/Exceptions/Handler.php (Laravel <11) sebagai pusat kendali error.
Mengubah respon error sistem (404, 500, 405) menjadi format JSON yang seragam.
Meningkatkan User Experience bagi pengembang Front-End (Android/React) saat terjadi error pada API.
Memahami konsep Rate Limiting sebagai pertahanan dasar dari serangan Brute Force dan DoS.
Mengonfigurasi batasan jumlah request per menit di Laravel.
Menangani respon error 429 Too Many Requests.
Membuat Local Scopes untuk menyederhanakan kueri database yang kompleks.
Mengimplementasikan Eager Loading di dalam scope untuk mengatasi masalah N+1 Query.
Memanggil fungsi scope di Controller untuk menghasilkan kode yang lebih terbaca.
Memahami konsep Caching untuk mempercepat respon API.
Menggunakan Facade Cache di Laravel untuk menyimpan dan mengambil data.
Mengatur durasi waktu penyimpanan data (Expiration Time).
Memahami konsep Automated Testing menggunakan PHPUnit di Laravel.
Membuat Feature Test untuk menguji validitas API secara otomatis.
Melakukan pengujian terhadap Status Code, struktur JSON, dan proteksi Token
Menginstal dan mengonfigurasi library generator dokumentasi API.
Menulis DocBlocks (komentar khusus) di Controller untuk mendokumentasikan endpoint.
Menghasilkan halaman web dokumentasi API yang interaktif secara otomatis.