RPP

Rencana Pelaksanaan Pembelajaran โ€” Advanced Mobile Development (Semester 2)

Satuan PendidikanSMA/SMK
Mata PelajaranInformatika (Advanced Mobile Development)
Kelas / SemesterXI / 2 (Genap)
Alokasi Waktu4 JP ร— 16 minggu
Jumlah Pertemuan32 Pertemuan
ModelProject Based Learning (PjBL)

Komponen RPP

KD

Kompetensi Dasar

Mengintegrasikan REST API, merancang serialisasi JSON data model, membangun secure token login, menerapkan Riverpod state management, menguasai Clean Architecture pattern, integrasi cloud DB Firebase/Supabase, MLKit, Gemini AI API, sensor mobile GPS/Camera, unit testing, dan build store release.

INDIKATOR

Indikator Pencapaian

Siswa mampu menulis model data modular Dart, memisahkan business logic & UI via Riverpod, menyusun Clean Architecture project, menyambungkan sensor kamera/GPS, menulis testing, dan build release bundle.

TUJUAN

Tujuan Pembelajaran

Setelah pembelajaran, siswa secara mandiri dapat membangun, menguji, mengamankan, dan merilis aplikasi mobile multi-layanan canggih yang terkoneksi API & cloud database.

MATERI

Materi Ajar

REST API Fundamental, JSON Data Modeling, Mobile Authentication (JWT), State Management, Riverpod, Clean Architecture, Firebase integration, MLKit Computer Vision, AI API Integration, Geolocator & Maps, Automation Testing, Release Deployment.

METODE

Metode

Ceramah terstruktur, live coding demonstrasi, tantangan latihan mandiri di lab, pengerjaan tugas proyek akhir kelompok.

MEDIA

Media & Alat

Modul koding, laptop siswa, VS Code / Android Studio, Flutter SDK, Dart compiler, emulator Android/iOS, HP fisik, Firebase console.

LANGKAH

Langkah Kegiatan

Apersepsi / Pre-test โ†’ Eksplorasi (Live Coding & Demo Teori) โ†’ Praktik Mandiri โ†’ Review Code & Evaluasi.

PENILAIAN

Penilaian

Sikap (kedisiplinan koding, kerja sama tim), Pengetahuan (kuis logic & ujian teori tulis), Keterampilan (penilaian source code Clean Architecture & demo APK/bundle).

Langkah Pembelajaran (Umum)

  1. Pendahuluan (15') โ€” Apersepsi modul sebelumnya, review sintaks/logika prasyarat bab ini, dan presentasi target capaian praktikum hari ini.
  2. Kegiatan Inti (90') โ€” Guru mendemonstrasikan penulisan kode di proyektor, siswa mengikuti secara interaktif di komputer masing-masing, dilanjutkan dengan pemecahan bug/error bersama-sama.
  3. Penutup (15') โ€” Review acak hasil koding siswa, refleksi pemecahan error, penugasan commit repository GitHub, dan doa penutup kegiatan belajar mengajar.

Rincian RPP per Bab (Pertemuan)

Pertemuan 1โ€“2 ยท REST API FundamentalBab 1
Tujuan: Memahami HTTP methods, status codes, dan integrasi HTTP package di Flutter.
Kegiatan: Live coding http.get() data posts, penanganan error code (404/500), load data dinamis.
Penilaian: Tugas mini koding pemanggilan API static list. Buka materi โ†’
Pertemuan 3โ€“4 ยท JSON & Data ModelingBab 2
Tujuan: Membuat class data model untuk serialisasi dan deserialisasi nested JSON data.
Kegiatan: Menulis factory constructors model data di Dart, konversi JSON map ke List objek.
Penilaian: Kuis parsing nested data JSON ke Flutter model. Buka materi โ†’
Pertemuan 5โ€“6 ยท Authentication MobileBab 3
Tujuan: Mengimplementasikan secure JWT token login dan penyimpanan secure storage lokal.
Kegiatan: Pengerjaan UI Login Form, request post login, simpan JWT ke secure_storage, dan intercept header request.
Penilaian: Keberhasilan login session persistence setelah aplikasi direstart. Buka materi โ†’
Pertemuan 7โ€“8 ยท State Management FundamentalBab 4
Tujuan: Memahami konsep reactive programming, state lifecycle, dan perbandingan Provider vs Riverpod.
Kegiatan: Analisis bottleneck setState, lifting state up, dan demo reactive state.
Penilaian: Kuis perbandingan state management di Flutter. Buka materi โ†’
Pertemuan 9โ€“10 ยท Provider & RiverpodBab 5
Tujuan: Menerapkan Riverpod (StateProvider, FutureProvider) untuk pengelolaan state global.
Kegiatan: Membangun modul catalog belanja dengan Riverpod, ConsumerWidget update real-time.
Penilaian: Modul keranjang belanja terintegrasi Riverpod state. Buka materi โ†’
Pertemuan 11โ€“12 ยท Clean ArchitectureBab 6
Tujuan: Menyusun folder project Flutter terstruktur dengan pembagian layer Clean Architecture.
Kegiatan: Pembuatan domain entity, data source, repository implementation, and presentation UI views secara terpisah.
Penilaian: Kerapian modularitas kode standard Clean Architecture. Buka materi โ†’
Pertemuan 13โ€“14 ยท Penilaian Tengah Semester (PTS) 2PTS
Kegiatan: Evaluasi tulis dan praktik koding menghubungkan UI Flutter ke REST API dengan Riverpod state management.
Penilaian: Rekapitulasi nilai PTS 2 berbasis fungsionalitas visual, logic, and state management.
Pertemuan 15โ€“16 ยท Firebase & Supabase IntegrationBab 7
Tujuan: Menyambungkan aplikasi ke Firebase Console untuk fitur Real-time Firestore database CRUD.
Kegiatan: Inisialisasi Firebase Core, implementasi Firestore Stream, setup data rules keamanan.
Penilaian: Keberhasilan sinkronisasi chat real-time multi-device. Buka materi โ†’
Pertemuan 17โ€“18 ยท MLKit & Computer VisionBab 8
Tujuan: Menggunakan Google MLKit on-device untuk barcode scanning dan OCR text recognition.
Kegiatan: Integrasi camera package, image feed ke MLKit, dan ekstraksi data barcode / plat nomor kendaraan.
Penilaian: Keberhasilan scanner mendeteksi data kamera secara real-time. Buka materi โ†’
Pertemuan 19โ€“20 ยท AI API IntegrationBab 9
Tujuan: Mengintegrasikan kecerdasan buatan LLM (Google Gemini API) langsung dari HP client.
Kegiatan: Pembuatan chatbot interaktif, implementasi streaming response API, penanganan gambar (multimodal API).
Penilaian: Hasil UI chat dynamic streaming yang responsif. Buka materi โ†’
Pertemuan 21โ€“22 ยท Advanced Mobile FeaturesBab 10
Tujuan: Menggunakan geolocator, maps SDK, dan setup push notification (Firebase Cloud Messaging).
Kegiatan: Plot koordinat user ke Google Maps widget, setup FCM token, simulasi pengiriman notifikasi backend.
Penilaian: Notifikasi masuk ke emulator/HP dan peta mendeteksi lokasi GPS. Buka materi โ†’
Pertemuan 23โ€“24 ยท Automation TestingBab 11
Tujuan: Menulis pengujian unit testing logika data model, widget testing UI, dan integration testing.
Kegiatan: Menulis unit test logic model Dart, test klik tombol login via widget testing, UI automation.
Penilaian: Laporan hasil testing passing 100%. Buka materi โ†’
Pertemuan 25โ€“26 ยท Deployment & Production AppBab 12
Tujuan: Mengkonfigurasi Gradle, iOS certificate, app signing, and automated build (Codemagic).
Kegiatan: Generate keystore file, update build.gradle, setup workflow CI/CD GitHub Actions, build release AAB/APK.
Penilaian: File AAB/APK berhasil di-build dan siap upload ke Play Console.
Buka materi โ†’
Pertemuan 27โ€“28 ยท Presentasi Proyek Advanced Mobile AppFinal
Tujuan: Mendemonstrasikan aplikasi mobile dinamis berkelas portfolio dan mempublikasikan code di GitHub.
Kegiatan: Demo APK langsung di hadapan kelas, pengujian API & AI secara live, penyusunan README.md portofolio.
Penilaian: Kelengkapan fungsionalitas, visual UI/UX Material 3, Clean Architecture, dan kelengkapan dokumentasi GitHub.
Pertemuan 29โ€“32 ยท Ujian Akhir Tahun (PAT) / PAS 2PAS
Kegiatan: Ujian teori akhir tahun, evaluasi perbaikan bugs portfolio, and rekapitulasi nilai praktikum ajar.
Penilaian: Hasil nilai PAT teori tulis dan nilai akumulasi tugas praktikum lab semester genap.