Coding dan Kecerdasan ArtifisialSemester 2Pertemuan 10 · 1 Pertemuan × 4 JP (JP = 45 menit)
Rekursi: Fibonacci & Factorial
Menerapkan rekursi pada kasus nyata: Fibonacci dan Factorial, termasuk optimasi memoization dan perbandingan performa.
#rekursi#fibonacci#factorial#memoization#optimasi
MODUL AJAR
Rekursi: Fibonacci & Factorial
Penyusun: Muhamad Hasim As'ari, S.Pd Jenjang: SMK Sekolah: SMK Bina Rahayu Kelas / Semester: X TJKT / Genap Tahun Pelajaran: 2025/2026 Fase: E Alokasi Waktu: 1 Pertemuan × 4 JP (180 menit)
| Komponen | Deskripsi |
|---|---|
| 1. Identitas Modul | |
| Nama Penyusun | Muhamad Hasim As'ari, S.Pd |
| Institusi | SMK Bina Rahayu |
| Mata Pelajaran | Coding dan Kecerdasan Artifisial |
| Kelas / Semester | X TJKT / Genap |
| Fase | E |
| Elemen / Topik | Rekursi: Fibonacci & Factorial (faktorial rekursif, fibonacci rekursif, optimasi memoization) |
| Alokasi Waktu | 1 Pertemuan × 4 JP (180 menit) |
| Tahun Pelajaran | 2025/2026 |
| 2. Kompetensi Awal | |
| a. Peserta didik telah memahami konsep dasar rekursi: definisi, base case, recursive case, dan stack. | |
| b. Peserta didik mampu menulis fungsi rekursif sederhana (faktorial, jumlah deret, pangkat) di Python. | |
| c. Peserta didik mampu men-trace eksekusi fungsi rekursif secara manual. | |
| d. Peserta didik memahami konsep perulangan (for/while) sebagai pembanding rekursi. | |
| e. Peserta didik memiliki kemampuan dasar mengukur waktu eksekusi program di Python. | |
| 3. Profil Pelajar Pancasila | |
| a. Bernalar Kritis - Menganalisis performa rekursi vs iterasi dan memilih pendekatan yang tepat untuk masalah tertentu. | |
| b. Mandiri - Menulis fungsi Fibonacci rekursif dan memoization secara mandiri. | |
| c. Kreatif - Menemukan solusi optimasi untuk masalah rekursi yang lambat. | |
| d. Gotong Royong - Bekerja sama dalam praktikum perbandingan performa dan diskusi strategi optimasi. | |
| 4. Sarana dan Prasarana | |
| a. Ruang kelas dengan meja dan kursi yang dapat diatur untuk diskusi kelompok. | |
| b. Proyektor/LCD dan layar tayang. | |
| c. Papan tulis / whiteboard dan spidol warna. | |
| d. Laptop/komputer guru dan siswa (minimal 1 per 2 siswa) dengan Python terinstal. | |
| e. Kertas HVS, spidol warna, sticky notes (3 warna). | |
| f. Lembar Kerja Peserta Didik (LKPD) - siap cetak dari lampiran. | |
| g. Bahan bacaan peserta didik - siap cetak dari lampiran. | |
| h. Kartu "Fibonacci Challenge" (siap cetak dari lampiran) - 1 set per kelompok. | |
| i. Timer/stopwatch untuk mengukur waktu eksekusi. | |
| 5. Target Peserta Didik | |
| a. Peserta didik reguler - seluruh siswa kelas X TJKT. | |
b. Peserta didik dengan pencapaian tinggi - diberikan pengayaan berupa analisis kompleksitas waktu O(2^n) vs O(n) memoization, eksplorasi teknik memoization dengan @lru_cache decorator, dan tantangan mengimplementasikan Fibonacci iteratif dengan optimasi memori. | |
| c. Peserta didik dengan kesulitan belajar - diberikan pendampingan, penyederhanaan materi dengan lebih banyak gambar/visual, LKPD terstruktur dengan contoh jawaban, dan bantuan teman sebaya. Fokus pada pemahaman faktorial rekursif dan fibonacci sederhana terlebih dahulu. | |
| 6. Model Pembelajaran | |
| a. Pendekatan: Saintifik (mengamati, menanya, mengumpulkan informasi, menalar, mengomunikasikan), berpusat pada peserta didik (student-centered). | |
| b. Model: Problem-Based Learning, Cooperative Learning, Discovery Learning. | |
| c. Metode: Praktikum langsung menulis kode, perbandingan performa (timing), diskusi kelompok optimasi memoization, kuis interaktif. |
Daftar Isi