| MATA KULIAH (MK) | KODE | Rumpun MK | BOBOT (sks) | SMT | Tgl Penyusunan |
| FRAMEWORK WEB | SIF25707T | Pemrograman & Teknologi Digital | 3 sks | 7 | 30 Maret 2026 |
| PENGESAHAN | Dosen Pengembang RPS | Koordinator MK | Kaprodi | ||
| Badiyanto. S.Kom, M.Kom | ........................................... | ........................................... | |||
Capaian Pembelajaran
| CPL-PRODI yang dibebankan pada MK | |
| CPL-05 | Menguasai konsep teoritis bidang pengetahuan Ilmu Komputer/Informatika dalam mendesain dan mensimulasikan aplikasi teknologi multi-platform yang relevan dengan kebutuhan industri dan masyarakat. |
| CPL-09 | Kemampuan menganalisis, merancang, membuat dan mengevaluasi user interface dan aplikasi interaktif dengan mempertimbangkan kebutuhan pengguna dan perkembangan ilmu transdisiplin. |
| CPL-10 | Kemampuan mendesain, mengimplementasi dan mengevaluasi solusi berbasis computing multi-platform yang memenuhi kebutuhan-kebutuhan computing pada sebuah organisasi. |
| Capaian Pembelajaran Mata Kuliah (CPMK) | |
|
CPMK1 FRAMEWORK WEB |
Menjelaskan konsep dasar framework web dan arsitektur Laravel dalam pengembangan aplikasi web modern. |
|
CPMK2 FRAMEWORK WEB |
Menganalisis komponen inti Laravel (routing, controller, model, view) dalam mendukung aplikasi multi-platform. (CPL5, CPL09) |
|
CPMK3 FRAMEWORK WEB |
Menganalisis dan menjelaskan konsep Query Builder dan Eloquent ORM dalam pengelolaan basis data aplikasi web berbasis Laravel. (CPL5, CPL10) |
|
CPMK4 FRAMEWORK WEB |
Mengevaluasi penerapan Laravel sebagai solusi pengembangan aplikasi web yang aman, terstruktur, dan sesuai kebutuhan organisasi. (CPL10) |
| Kemampuan akhir tiap tahapan belajar (Sub-CPMK) | |
| Sub-CPMK1.1 | Mahasiswa mampu menjelaskan konsep dasar framework web & web modern |
| Sub-CPMK1.2 | Mahasiswa mampu menjelaskan konsep Arsitektur MVC |
| Sub-CPMK1.3 | Mahasiswa mampu mamahami pengenalan Laravel & ekosistem |
| Sub-CPMK2.1 | Mahasiswa mampu memahami dan meniplmentasikan Routing & Controller |
| Sub-CPMK2.2 | Mahasiswa mampu memahami rancangan tabel migration & database Migration & Database Design |
| Sub-CPMK2.3 | Memahami view & blade Mahasiswa mampu membuat keluaran view menggunakan blade tamplate |
| Sub-CPMK3.1 | Mahasiswa mampu melakukan Data Fetching dari API menggunakan composables Nuxt (useFetch dan useAsyncData). |
| Sub-CPMK3.1 | Mahasiswa mampu memahami dan membuat program menggunakan kelas Model & Eloquent ORM |
| Sub-CPMK3.2 | Mahasiswa mampu memahami CRUD (Create, Reade, Update, Delete) |
| Sub-CPMK3.3 | Mahasiswa mampu memahami konsep dan penggunaan Query Builder dalam pengelolaan data pada aplikasi web |
| Sub-CPMK3.4 | Mahasiswa mampu memahami dan penerapan Form Handling & Validation |
| Sub-CPMK4.1 | Mahasiswa mampu menulis kode program menggunakan Authentication & Authorization |
| Sub-CPMK4.2 | Mahasiswa mampu menulis kode program untuk REST API Dasar |
| Sub-CPMK4.3 | Mahasiswa mampu menulis kode program untuk REST API implementasi menggunakan Sanctum, |
| Sub-CPMK4.4 | Mahasiswa mampu dan menerapkan untuk Studi Kasus Proyek, presenstasi |
Korelasi CPL terhadap CPMK
| CPL\CPMK |
CPMK1 FRAMEWORK WEB |
CPMK2 FRAMEWORK WEB |
CPMK3 FRAMEWORK WEB |
CPMK4 FRAMEWORK WEB |
|---|---|---|---|---|
| CPL-05 | ✓ | ✓ | ||
| CPL-09 | ✓ | |||
| CPL-10 | ✓ | ✓ |
Korelasi CPMK terhadap Sub-CPMK
| CPMK \ Sub-CPMK | Sub-CPMK | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Sub-CPMK1.1 | Sub-CPMK1.2 | Sub-CPMK1.3 | Sub-CPMK2.1 | Sub-CPMK2.2 | Sub-CPMK2.3 | Sub-CPMK3.1 | Sub-CPMK3.1 | Sub-CPMK3.2 | Sub-CPMK3.3 | Sub-CPMK3.4 | Sub-CPMK4.1 | Sub-CPMK4.2 | Sub-CPMK4.3 | Sub-CPMK4.4 | |
|
CPMK1 FRAMEWORK WEB |
✓ | ✓ | ✓ | ||||||||||||
|
CPMK2 FRAMEWORK WEB |
✓ | ✓ | ✓ | ||||||||||||
|
CPMK3 FRAMEWORK WEB |
✓ | ✓ | ✓ | ✓ | ✓ | ||||||||||
|
CPMK4 FRAMEWORK WEB |
✓ | ✓ | ✓ | ✓ | |||||||||||
| Deskripsi Singkat MK |
Mata kuliah ini membahas konsep dasar dan implementasi Framework Web dengan fokus pada teknologi Laravel. Mahasiswa akan mempelajari prinsip Model-View-Controller (MVC) serta fitur-fitur utama seperti migrasi database, seeder, routing, model, view, dan controller. Selain itu, mahasiswa akan dilatih untuk membuat program menggunakan Eloquent ORM, Query Builder, template Blade, serta membangun RESTful API untuk kebutuhan backend. Pengujian front-end dilakukan menggunakan Postman. Mata kuliah ini juga menekankan penerapan teknologi framework melalui studi kasus secara individu maupun dalam kerja tim |
||
| Bahan Kajian: Materi Pembelajaran |
1. Konsep Framework Web 2. Arsitektur MVC 3. Pengenalan Laravel 4. Routing dan Controller 5. Blade Template Engine 6. Eloquent ORM dan Query Builder 7. Migration dan Seeder 8. Form Handling dan Validation 9. Authentication dan Authorization 10. Middleware dan Security 11. REST API dengan Laravel 12. Proyek Web Mengunakan Laravel |
||
| Pustaka |
Utama: 1. Badiyanto, 2023, Framework Web Laravel Membangun Aplikasi Web. Penerbit Teknosain. Yogyakarta Badiyanto, 2023, Web Service Menggunakan RESTful API, Aplikasi Web PHP menggunakan Framework Laravel, Penerbit Teknosain. Yogyakarta Pendukung: 1. Documentation, https://laravel.com/docs/10.x, https://laravel.com/docs/11.x "Building APIs with Laravel" oleh Sanjib Sinha Buku ini mengajarkan cara membangun API menggunakan Laravel, termasuk cara mengimplementasikan CRUD, autentikasi, dan pengelolaan data melalui API. Edisi terbaru: 2019: ISBN: 978-1838981599 |
||
| Pengampu |
Badiyanto,
S.Kom, M.Kom |
||
| Penilaian | Komponen CPMK | Bentuk Penilaian | Persentase Bobot |
| SIF25707T (CPMK1) | Tugas/Kuis (Formatif) | 25.00% | |
| SIF25707T (CPMK2) | Tugas/Kuis (Formatif) / UTS (Sumatif) | 25.00% | |
| SIF25707T (CPMK3) | Tugas/Kuis (Formatif) | 25.00% | |
| SIF25707T (CPMK4) | Tugas/Kuis (Formatif) / UAS (Sumatif) | 25.00% | |
| Total | 100% | ||
| Matakuliah Syarat | - | ||
Rencana Pembelajaran Semester
| Mg Ke- |
Sub-CPMK (sbg kemampuan akhir diharapkan) |
Penilaian | Bentuk Pembelajaran; Metode Pembelajaran; Penugasan Mahasiswa; | Materi Pembelajaran |
Bobot Penilaian |
||
|---|---|---|---|---|---|---|---|
| Indikator | Kriteria & Bentuk | Luring | Daring | ||||
| (1) | (2) | (3) | (4) | (5) | (6) | (7) | (8) |
| 1 |
Sub-CPMK1.1
(FRAMEWORK WEB)
Mahasiswa mampu menjelaskan konsep dasar framework web & web modern |
Bentuk: Diskusi Kelas (partisipasi) | Kriteria: Manggunakan Skor Bentuk: menjelaskan konsep, disampaikan dengan bahasa yang jelas Sopan menghargai pendapat orang lain | Kuliah Ekspositori, Diskusi Interaktif. Ceramah, Tanya Jawab, Brainstorming, Latihan di Kelas. Tugas Individu: | Konsep web modern & framework Client–server architecture Frontend dan backend Web monolithic vs service-based Aplikasi web multi-platform Pengertian framework | 5.00% | |
| 2 |
Sub-CPMK1.2
(FRAMEWORK WEB)
Mahasiswa mampu menjelaskan konsep Arsitektur MVC |
Definisi Komponen Alur Request-Response Implementasi Struktur Analisis Manfaat | Kriteria: Manggunakan Skor Bentuk: Menjalaskan konsep MVC Memahami MVC Output Visual (Diagram): | Luring: Ceramah; Forum Diskusi; Tugas: Analisis Alur Kerja dan Tanggung Jawab Komponen MVC. Definisi Peran Analisis Alur (Request Lifecycle) | Arsitektur MVC Model–View–Controller sebagai design pattern Sejarah singkat MVC Alasan MVC digunakan dalam framework web modern | 5.00% | |
| 3 |
Sub-CPMK1.3
(FRAMEWORK WEB)
Mahasiswa mampu mamahami pengenalan Laravel & ekosistem |
Pemahaman Fitur Penguasaan Ekosistem Struktur Direktori Laravel Konfigurasi (.env) Laporan & Analisis | Kriteria: Manggunakan Skor Bentuk: Pengambangan lengkap & sesuai standar (PHP, Composer, Web Server) Environment Check Struktur Folder Laravel berhasil diinstal tanpa error Hasil pengujian | Luring: Ceramah; Tugas: Lakukan Eksplorasi Ekosistem dan Arsitektur Dasar Laravel Fitur Utama: Menjelaskan fitur-fitur kunci Laravel (Eloquent, Blade, Routing, Middleware, Migration). Ekosistem & Tools: Menjelaskan peran tools pendukung seperti Composer (Package Manager), Artisan (CLI), dan NPM/Vite (Asset Bundling). File Structure: Menjelaskan fungsi direktori utama di Laravel (app, config, database, public, resources, routes, storage). Instalasi & Environment: Menjelaskan peran file .env dalam konfigurasi aplikasi. | Pengenalan Laravel Arsitektur dan Konsep Dasar Laravel Struktur Direktori Laravel Fitur Utama Laravel Laravel dalam Pengembangan Aplikasi Web Perbandingan Laravel dengan Pengembangan Native PHP | 5.00% | |
| 4 |
Sub-CPMK2.1
(FRAMEWORK WEB)
Mahasiswa mampu memahami dan meniplmentasikan Routing & Controller |
Ketepatan penggunaan HTTP method Kesesuaian routing dengan controller Keberhasilan response ditampilkan Kejelasan penjelasan alur MVC | Kriteria: Manggunakan Skor Bentuk: Penggunaan GET dan POST tepat sesuai fungsi Route terhubung ke controller dengan benar | Luring: Studi kasus; Tugas: Buat sebuah route menggunakan: GET untuk menampilkan data POST untuk mengirim data Hubungkan route tersebut ke sebuah controller. Pada controller, buat method untuk: Menerima request Mengembalikan response sederhana (teks atau view) Jelaskan secara singkat alur request– response yang terjadi. Output: Screenshot hasil akses di browser Penjelasan singkat alur request– response | Routing & Controller: Pengertian request dan response HTTP method (GET, POST, PUT, DELETE) Peran routing dalam menangani request Hubungan routing dengan arsitektur MVC | 5.00% | |
| 5 |
Sub-CPMK2.2
(FRAMEWORK WEB)
Mahasiswa mampu memahami rancangan tabel migration & database Migration & Database Design |
Kesesuaian struktur tabel Keberhasilan menjalankan migration Pemahaman fungsi migration Kerapian dan kejelasan penjelasan Membuat laporan | Kriteria: Manggunakan Skor Bentuk: Kelengkapan struktur tabel sesuai spesifikasi. Migration berhasil dijalankan tanpa error | Luring: Tutorial, Ceramah Tugas: Buat sebuah migration untuk tabel mahasiswa dengan atribut: (1) id,nama,npm, (2) program_studi; (3) created_at; (4) updated_at Jalankan migration, dan elaskan fungsi migration dan manfaatnya dalam pengelolaan struktur database. Output: Screenshot struktur tabel hasil migration Penjelasan singkat | Pengertian migration Tujuan penggunaan migration Migration sebagai version control database Perbedaan migration dengan pembuatan tabel manual Alur kerja migration (create, update, rollback) | 5.00% | |
| 6 |
Sub-CPMK2.3
(FRAMEWORK WEB)
Memahami view & blade Mahasiswa mampu membuat keluaran view menggunakan blade tamplate |
Penggunaan layout dan inheritance Kesesuaian struktur Blade Kerapian tampilan Pemahaman konsep Blade Template Membuat laporan | Kriteria: Manggunakan Skor Bentuk: Inheritance & Layout Struktur Blade Data Passing Laporan & Analisis | Luring: Ceramah, Tutorial; Tugas: Buat satu layout utama menggunakan Blade Template. Buat minimal dua halaman yang menggunakan layout tersebut. Gunakan konsep: Template inheritance (layout) Section dan yield Tampilkan data statis atau data sederhana dari controller ke view. Output: Screenshot tampilan halaman Struktur file Blade Penjelasan singkat konsep Blade yang digunakan | Blade Template: Konsep View dalam Aplikasi Web Pengenalan Blade Template Engine Struktur dan Konsep Dasar Blade Blade dan Pengelolaan Data Tampilan | 5.00% | |
| 7 |
Sub-CPMK3.1
(FRAMEWORK WEB)
Mahasiswa mampu memahami dan membuat program menggunakan kelas Model & Eloquent ORM |
Implementasi Migration • Konfigurasi Model • Penggunaan Query Eloquent • Data Passing & View | Kriteria: Manggunakan Skor Bentuk: Kode Program Screenshot Database Screenshot Aplikasi Penjelasan Singkat | Luring: Ceramah; Tugas: Implementasi CRUD Sederhana dengan Eloquent ORM. Migrasi Database: Buat tabel barang menggunakan Migration Model untuk tabel tersebut dan atur properti $fillable Eloquent Operations Tampilkan semua data menggunakan Model::all(). Tampilkan detail data berdasarkan ID menggunakan Model::find(). Tambahkan data baru ke database menggunakan metode Model::create() di Controller. Integration: Hubungkan hasil query Eloquent tersebut ke dalam View (melanjutkan tugas Blade Template sebelumnya). | Kelas Eloquent Model, method Create(), Update(), Delete(), All() save() select() with() where(), get(), orderBy(), limit() count() sum() groupBy() paginate() fisrt() find() Query berbasis objek Perbedaan gaya ORM dan Query Builde | 5.00% | |
| 8 |
Sub-CPMK1.2
(FRAMEWORK WEB)
Mahasiswa mampu menjelaskan konsep Arsitektur MVC Sub-CPMK2.2 (FRAMEWORK WEB) Mahasiswa mampu memahami rancangan tabel migration & database Migration & Database Design |
- | - | UTS | - | 10.00% | |
| 9 |
Sub-CPMK3.2
(FRAMEWORK WEB)
Mahasiswa mampu memahami CRUD (Create, Reade, Update, Delete) |
Alur CRUD (Logika) Keamanan & Validasi Integrasi View & Route Kerapian Kode Laporan Hasil | Kriteria: Manggunakan Skor Bentuk: Demonstrasi Aplikasi (Coding membuat Video) Struktur File Laporan Pertanyaan Evaluasi Lisan | Luring: tutorial; Tugas: proyek kecil menbuat CRUD Validation: Menerapkan validasi dasar (misal: required, numeric) pada form input | Konsep CRUD (Create, Read, Update, Delete) dalam pengelolaan data pada aplikasi web | 5.00% | |
| 10 |
Sub-CPMK3.3
(FRAMEWORK WEB)
Mahasiswa mampu memahami konsep dan penggunaan Query Builder dalam pengelolaan data pada aplikasi web |
Sintaks Query Builder Implementasi Join Fungsi Agregasi Keamanan & Efisiensi Laporan & Analisis | Kriteria: Manggunakan Skor Bentuk: Controller: File nyang berisi method DB::table(...)->join(...)->where(...)->get(). View: menampilkan hasil join dan statistik (misal:"Total Stok: 150unit"). SQL Debug: menunjukkan query raw SQL menggunakan toSql() atau Laravel Debugbar). | Luring: Ceramah, tuturial Tugas: Eksplorasi Data Lanjutan menggunakan Query Builder. Gunakan 2 tabel, barang, dan kategori. Pengambilan Data: Gunakan DB::table() Sorting & Limiting Join Table: Agregasi: Raw Query (Opsional): | Query Builder Laravel, kelas DB::table, DB::raw(), selectRaw() select() groupBy() orderBy() join(), leftJoin() limit() first(), get() insert() update() delete() where() dan filtering data join antar tabel Sorting dan pagination (konsep) | 5.00% | |
| 11 |
Sub-CPMK3.4
(FRAMEWORK WEB)
Mahasiswa mampu memahami dan penerapan Form Handling & Validation |
Logika Handling Kualitas Validasi User Feedback (Error) Keamanan Form | Kriteria: Manggunakan Skor Bentuk: Output Teknis: View (Blade) Controller: Method store/update UI/UX: Bukti visual berupa screenshot saat user sengaja mengosongkan form dan muncul pesan peringatan. | Luring: Ceramah, tutorial; Tugas: Implementasi Form Validasi dan Handling pada Sistem Registrasi/Input Data. Request Handling: Menangkap data dari form menggunakan objek Request di Controller. Server-Side Validation: Menerapkan rule validasi Error Messages: Menampilkan pesan kesalahan yang spesifik di samping input field yang salah menggunakan direktif @error. Old Input: Menggunakan fungsi old() agar data yang sudah diisi tidak hilang saat terjadi kesalahan validasi. Flash Messages: Menampilkan notifikasi sukses menggunakan Session Flash setelah data berhasil divalidasi dan disimpan | Form & Validation Kelas Request Validasi otomatis Laravel Aturan validasi bawaan Pesan kesalahan (error message) Hubungan validasi dengan controlle | 5.00% | |
| 12 |
Sub-CPMK4.1
(FRAMEWORK WEB)
Mahasiswa mampu menulis kode program menggunakan Authentication & Authorization |
Implementasi Auth Middleware & Protection Logic Authorization Blade Authorization | Kriteria: Manggunakan Skor Bentuk: Database: Screenshot tabel users is_admin atau role File Route: kode Route::middleware([ 'auth'])->group(...). File Provider/Policy: Cuplikan definisi Gate di AuthServiceProvide r atau file Policy. View: Cuplikan penggunaan @can('delete-post', $post) | Luring: Tutorial; Tugas Kelompok: Authentication: Login, Register, dan Logout (bisa menggunakan Breeze/Starter Middleware: Memproteksi route user, login (auth). Authorization (Rolebased): Membuat perbedaan hak akses. Contoh: User dengan role admin bisa menghapus data, sedangkan user biasa hanya bisa melihat data. Blade Directive: Menggunakan @auth, @guest, dan @can | Authentication Pengertian authentication Tujuan authentication dalam aplikasi web Proses login & logout (konseptual) Perbedaan: User Session Credential (email, password) Authentication berbasis: Session | 5.00% | |
| 13 |
Sub-CPMK4.2
(FRAMEWORK WEB)
Mahasiswa mampu menulis kode program untuk REST API Dasar |
Pemahaman Arsitektur Desain Endpoint (URL) Status Code & Response Laporan & Analisis | Kriteria: Manggunakan Skor Bentuk: Tabel Mapping: aksi (Create, Read, Update, Delete) ke URL dan HTTP Method yang sesuai. JSON Schema: Contoh struktur data JSON yang dikirim (Request Body) dan diterima (Response Body). Diagram Alur: Penjelasan bagaimana Client melakukan request ke Server dan mendapatkan response. | Luring: Ceramah, tutorial; Tugas: Buatlah kesus analisis Arsitektur dan Desain Endpoint REST API. Identifikasi Prinsip REST: Client-Server, Stateless, Cacheable, Uniform Interface HTTP Methods Mapping: Menjelaskan penggunaan yang tepat untuk GET, POST, PUT, PATCH, dan DELETE HTTP Status Codes: Desain ResourceBased URL Data Representation: Menjelaskan mengapa JSON | REST API: Client–server Stateless Resource-based Representasi data (JSON) HTTP method (GET, POST, PUT, DELETE) | 5.00% | |
| 14 |
Sub-CPMK4.3
(FRAMEWORK WEB)
Mahasiswa mampu menulis kode program untuk REST API implementasi menggunakan Sanctum, |
Implementasi Sanctum Struktur Respon JSON Pengamanan Endpoint Metode HTTP & Routing Dokumentasi & Testing | Kriteria: Manggunakan Skor Bentuk: Controller API (respons) Routes API (uath:sanctum) Collection Postman: API haeder | Luring: Ceramah Tugas: Membangun RESTful API Aman dengan Laravel Sanctum. API Resource Controller: dalam formt JSON. Sanctum Setup: instalasi dan konfigurasi Laravel Sanctum untuk autentikasi berbasis Token. Authentication API: Membuat endpoint login memberikan Plain Text Token dan endpoint logout Protected Routes: Mengamankan endpoint CRUD (misal: /api/products) menggunakan middleware auth:sanctum. API Testing: Melakukan uji coba request (GET, POST, PUT, DELETE) menggunakan tools seperti Postman/Insomnia. | Alur Kerja API Sanctum (Untuk Laporan Mahasiswa) Mahasiswa harus mampu mendokumentasikan urutan berikut: • Client mengirimkan kredensial (email & password) ke endpoint /api/login. • Server memverifikasi dan mengirimkan Plain Text Token. Client menyimpan token tersebut. Client mengirimkan request ke endpoint terproteksi (misal: /api/data) dengan menyertakan token di Bearer Header. Sanctum memvalidasi token sebelum mengizinkan Controller memproses data. | 5.00% | |
| 15 |
Sub-CPMK4.4
(FRAMEWORK WEB)
Mahasiswa mampu dan menerapkan untuk Studi Kasus Proyek, presenstasi |
Kompleksitas Solusi Kualitas Kode & Struktur Skill Presentasi Tanya Jawab (Defensif) Kelengkapan Dokumen | Kriteria: Manggunakan Skor Bentuk: Produk Digital Source Code Database Dokumentasi API Materi Presentasi: Slide Presentasi: Live Demo | uring: Ceramah, presentasi; Tugas Kelompok: Judul Tugas: Pengembangan Aplikasi Web FullStack (Studi Kasus). Pemilihan Kasus: Mahasiswa memilih satu kasus nyata (misal: Sistem Reservasi Kafe, Manajemen Perpustakaan, ECommerce Sederhana). Manajemen data lengkap (CRUD) dengan Eloquent/Query Builder. Minimal tersedia 2-3 Endpoint REST API (Sanctum) untuk modul utama. Presentasi | Studi kasus proyek kelompok | 10.00% | |
| 16 |
Sub-CPMK3.2
(FRAMEWORK WEB)
Mahasiswa mampu memahami CRUD (Create, Reade, Update, Delete) Sub-CPMK4.3 (FRAMEWORK WEB) Mahasiswa mampu menulis kode program untuk REST API implementasi menggunakan Sanctum, |
UAS | Tugas | - | 15.00% | ||
| Total Bobot | 100% | ||||||
Catatan:
RUBRIK PENILAIAN (MARKING SCORE)
CPMK1: Menjelaskan konsep dasar framework web dan arsitektur Laravel dalam pengembangan aplikasi web modern.
| Indikator | Sangat Kurang (<20) | Kurang (21-40) | Cukup (41-60) | Baik (61-80) | Sangat Baik (81-100) |
|---|---|---|---|---|---|
| (1) Karakteristik Web Modern, (2) Logika & Argumentasi; (3) Kelengkapan Laporan | (1) Tidak tahu perbedaan antara web lama dan modern. (2) Argumentasi tidak berdasar atau hanya menyalin dari internet.; (3) Laporan tidak terstruktur dan sulit dibaca. | (1) Hanya menyebutkan istilah (seperti SPA atau API) tanpa paham definisinya.; (2) Argumen terlalu singkat dan tidak menyentuh aspek teknis pengembangan. (3) Laporan ada namun isinya terlalu umum dan tidak fokus pada Sub-CPMK. | (1) Mampu menjelaskan perbedaan dasar antara PHP Native dan Laravel secara umum.; (2) Memberikan argumen yang cukup kuat mengenai efisiensi penggunaan framework. (3) Laporan disusun secara sistematis dengan referensi yang cukup; | (1) Menjelaskan konsep Stateless, Reactive UI, dan penggunaan API pada web moder; (2) Argumentasi logis didukung dengan perbandingan fitur keamanan dan kecepatan development; (3) Laporan rapi, menggunakan istilah teknis yang tepat, dan mudah dipahami. | (1) Analisis mendalam tentang performa, skalabilitas, dan keamanan pada arsitektur web modern; (2) Argumentasi sangat kritis, menyertakan perbandingan konkret antara efisiensi biaya dan waktu.; (3) Laporan sangat profesional, menggunakan diagram alur (flowchart) untuk menjelaskan konsep |
| Implementasi <br> Migration Konfigurasi Model | Tidak membuat migration; membuat tabel manual di phpMyAdmin. Tidak membuat file Model | Membuat migration tapi gagal saat dijalankan (error). Model dibuat tapi tidak terhubung ke tabel (kesalahan nama). | Migration berhasil tapi struktur kolom tidak sesuai ketentuan tugas. Model berfungsi tapi tidak mengatur Mass Assignment ($fillable) | Migration berhasil dengan tipe data kolom Model diatur dengan $fillable dan terhubung ke Controller dengan benar yang tepat. | Migration sempurna, menggunakan naming convention Laravel, dan ada default value/nullable. Model diatur dengan sangat baik, termasuk penggunaan timestamps atau logic tambahan |
CPMK2: Menganalisis komponen inti Laravel (routing, controller, model, view) dalam mendukung aplikasi multi-platform. (CPL5, CPL09)
| Indikator | Sangat Kurang (<20) | Kurang (21-40) | Cukup (41-60) | Baik (61-80) | Sangat Baik (81-100) |
|---|---|---|---|---|---|
| (1) Penggunaan layout dan inheritance (2) Kesesuaian struktur Blade (3) Kerapian tampilan (4) Pemahaman konsep Blade Template (5) Membuat laporan | (1) Tidak menggunakan konsep layout; setiap halaman berdiri sendiri (duplikasi kode). (2) Struktur file acak-acakan dan tidak mengikuti konvensional Laravel. (3) Tampilan berantakan (HTML polos tanpa styling) dan navigasi rusak. (4) Tidak mampu menjelaskan perbedaan @yield, @section, dan @extends. (5) Tidak mengumpulkan laporan atau laporan hanya berisi screenshot saja. | (1) Menggunakan layout tapi gagal menerapkan @extends dengan benar. (2) File Blade diletakkan di satu folder tanpa sub-folder layouts. (3) Tampilan minimalis, navigasi antar halaman masih ada yang error. (4) Penjelasan sangat singkat dan banyak kekeliruan istilah teknis. (5) Laporan tidak lengkap; tidak ada penjelasan kode atau struktur file. | (1) Berhasil menggunakan @extends, namun penggunaan @yield tidak efektif. (2) Menggunakan sub-folder namun penamaan file tidak konsisten/standar. (3) Tampilan standar, menggunakan CSS dasar namun kurang estetis. (4) Memahami dasar konsep namun sulit menjelaskan alur data dari controller. (5) Laporan cukup lengkap namun tata letak (formatting) tidak rapi. | (1) Layout dan inheritance berfungsi dengan benar di semua halaman. (2) Struktur file rapi, memisahkan folder layouts dan folder views halaman. (3) Tampilan rapi, menggunakan framework (Bootstrap/Tailwind), navigasi lancar (4) Mampu menjelaskan fungsi masing-masing direktif Blade dengan benar (5) Laporan lengkap, mencakup struktur file, kode, dan hasil tampilan. | (1) Implementasi sangat efisien; menggunakan master layout yang mendukung konten dinamis secara optimal. (2) Struktur sangat rapi, standar industri, dan memudahkan skalabilitas proyek. (3) Tampilan profesional, responsif, konsisten, dan user-friendly. (4) Penjelasan mendalam, mampu menganalisis efisiensi penggunaan Blade dibandingkan PHP native (5) Laporan sangat profesional, sistematis, disertai analisis teknis yang tajam. |
| Struktur Layout Efisiensi Kode Konsistensi UI | Tidak menggunakan folder layouts/. Semua elemen UI ditulis ulang di setiap halaman. Masih menggunakan import manual untuk setiap komponen di dalam folder components/. Tampilan antar halaman sangat berbeda (Navbar/Footer hilang atau berubah posisi di halaman lain). | Menggunakan folder layouts/ tetapi gagal menerapkan tag <slot /> sehingga konten tidak muncul. Menggunakan auto-import tetapi penamaan komponen tidak standar sehingga sering terjadi konflik atau error. Navbar dan Footer ada di setiap halaman tetapi menggunakan komponen yang berbeda-beda (tidak terpusat). | Berhasil membuat satu layout dasar, namun penggunaan definePageMeta untuk mengganti layout masih salah. Berhasil menggunakan auto-import untuk komponen dasar, namun folder komponen masih berantakan (tidak terorganisir). Elemen UI statis (Navbar/Footer) sudah terpusat di layout, namun gaya visual (CSS) masih sering tabrakan. | Mampu membuat dan menerapkan beberapa layout (misal: Default & Admin) dengan penggunaan <slot /> yang benar. Memanfaatkan fitur auto-import Nuxt secara maksimal dan mengorganisir komponen ke dalam sub-folder yang rapi. UI sangat konsisten di seluruh aplikasi. Perpindahan halaman tidak merusak tata letak elemen global. | Struktur layout sangat modular, penggunaan nested layout tepat, dan transisi antar layout berjalan mulus. Kode sangat bersih, tidak ada redudansi, organisasi komponen sangat logis, dan memanfaatkan fitur Lazy Loading komponen. Konsistensi UI sempurna, desain responsif terjaga di seluruh layout, dan pengalaman pengguna (UX) sangat stabil |