MODUL AJAR Koding dan Kecerdasan Artifisial — Kelas 10 (Fase E) Topik: Bab 2 — Algoritma dan Pemrograman Lanjut INFORMASI UMUM| Mata Pelajaran | Koding dan Kecerdasan Artifisial |
|---|
| Fase / Kelas | Fase E / Kelas 10 |
|---|
| Topik | Bab 2 — Algoritma dan Pemrograman Lanjut |
|---|
| Alokasi Waktu | 12 JP (12 x 45 menit = 540 menit) |
|---|
| Jumlah Pertemuan | 6 |
|---|
| Tahun Ajaran | 2026/2027 |
|---|
| Semester | 1 |
|---|
TUJUAN PEMBELAJARAN- TP 10.2.1 Membandingkan beberapa algoritma untuk menyelesaikan permasalahan secara terstruktur
- TP 10.2.2 Menerapkan algoritma pemrograman untuk menghasilkan aplikasi
PROFIL LULUSAN| Dimensi | Disasar |
|---|
| Keimanan dan Ketakwaan terhadap Tuhan Yang Maha Esa | | | Kewargaan | | | Penalaran Kritis | ✓ | | Kreativitas | | | Kolaborasi | ✓ | | Kemandirian | ✓ | | Kesehatan | | | Komunikasi | |
PERTANYAAN PEMANTIK- Jika kamu mencari satu nama dalam buku telepon tebal berisi ribuan data yang sudah berurutan alfabetis, apakah kamu akan memeriksa lembar demi lembar dari halaman pertama, atau langsung membuka bagian tengah?
- Mengapa algoritma binary search mewajibkan kumpulan data diurutkan terlebih dahulu, sedangkan sequential search dapat langsung dijalankan pada data acak?
- Jika kamu memegang 5 kartu angka yang tidak berurutan di tangan, apakah kamu lebih memilih mencari angka terkecil lalu menukarnya ke depan satu per satu, atau menyisipkan setiap kartu langsung ke susunan kartu yang sudah rapi?
- Mengapa proses mengurutkan data dengan menukar elemen langsung (Selection Sort) memiliki karakteristik langkah yang berbeda dengan cara menggeser dan menyisipkan elemen (Insertion Sort)?
- Bagaimana cara komputer mencetak pola matriks atau tabel perkalian yang memiliki baris dan kolom sekaligus?
- Mengapa kita membutuhkan struktur perulangan di dalam perulangan lain (nested loop) disertai logika pengondisian (nested if) saat memproses data berjenjang?
- Bagaimana komputer dapat menyimpan dan mengelola daftar nilai dari puluhan siswa secara terorganisasi dalam satu variabel?
- Mengapa struktur data array sangat penting ketika kita ingin membangun komponen aplikasi yang memproses sekumpulan data seragam?
- Apa yang terjadi ketika kode program yang kita susun mengalami pesan kesalahan (syntax error atau runtime error) saat dijalankan?
- Bagaimana strategi melacak dan memperbaiki kesalahan (debugging) secara sistematis agar kode program dapat menghasilkan aplikasi yang berjalan tanpa galat?
- Bagaimana menentukan algoritma pencarian atau pengurutan yang paling tepat dan efisien untuk struktur data tertentu?
- Bagaimana memastikan kode program berstruktur logika, perulangan, dan array dapat berjalan bebas dari kesalahan (bug) sesuai rancangan aplikasi?
KEGIATAN PEMBELAJARANPertemuan 1 — Membandingkan Algoritma Pencarian Sequential Search dan Binary Search untuk Menyelesaikan Permasalahan — 2 JP (2 x 45 menit = 90 menit)Tujuan Pertemuan:- TP 10.2.1 Membandingkan beberapa algoritma untuk menyelesaikan permasalahan secara terstruktur
Pendahuluan:- Guru membuka kelas dengan salam, memeriksa kehadiran murid, dan menyampaikan tujuan pembelajaran pertemuan ini, yaitu membandingkan algoritma pencarian sequential search dan binary search secara terstruktur (5 menit).
- Guru memberikan asesmen awal diagnostik melalui 2 pertanyaan tertulis singkat: (1) 'Apa perbedaan cara memeriksa data pada daftar acak vs daftar terurut?' (Acuan jawaban: pada daftar acak harus dicek satu per satu/berurutan; pada daftar terurut bisa langsung membagi dua/menebak posisi tengah); (2) 'Jika ada 8 kartu angka, berapa jumlah langkah pencarian maksimal jika dicek satu demi satu?' (Acuan jawaban: 8 langkah/pemeriksaan) (10 menit).
Kegiatan Inti:Memahami (Bermakna):- Murid menyimak demonstrasi guru mengenai mekanisme kerja Sequential Search (pemeriksaan elemen satu per satu dari indeks 0 hingga n-1) dan Binary Search (penentuan elemen tengah pada rentang awal-akhir terurut, kemudian mempersempit rentang pencarian) menggunakan visualisasi deret data angka di papan tulis (15 menit).
- Murid mengidentifikasi secara mendalam 3 karakteristik pembeda utama: syarat keterurutan data (acak vs harus terurut), titik awal pencarian (indeks pertama vs titik tengah), dan efisiensi langkah/komparasi saat mencari data (10 menit).
Mengaplikasi (Menggembirakan):- Murid bermain tantangan berpasangan 'Tebak Angka Rahasia 1-16': Murid A menentukan angka rahasia, Murid B mencari angka tersebut menggunakan strategi tebak berurutan (Sequential), lalu mengulanginya dengan strategi tebak tengah secara konsisten (Binary Search), mencatat perbandingan jumlah langkah tebakan hingga angka ditemukan (15 menit).
- Secara berpasangan, murid menyelesaikan Lembar Kerja Komparasi yang memuat 4 butir perbandingan pada deret data [3, 7, 12, 18, 25, 30, 42, 50] untuk mencari nilai 42: (1) Syarat data awal (acuan: Sequential boleh acak/tidak terurut; Binary wajib terurut); (2) Indeks elemen yang diperiksa pada langkah pertama (acuan: Sequential memeriksa indeks 0 bernilai 3; Binary memeriksa indeks tengah 3 bernilai 18); (3) Jumlah langkah hingga nilai 42 ditemukan (acuan: Sequential membutuhkan 7 langkah; Binary membutuhkan 3 langkah yaitu cek 18, cek 30, cek 42); (4) Algoritma yang lebih efisien untuk kasus ini beserta alasannya (acuan: Binary Search lebih efisien karena membutuhkan perbandingan langkah lebih sedikit yaitu 3 kali dibanding 7 kali) (15 menit).
Merefleksi (Berkesadaran):- Murid bersama pasangannya memeriksa kembali hasil lembar kerjanya, mendiskusikan mengapa binary search tidak dapat diterapkan pada kumpulan data yang posisinya berantakan, serta menyimpulkan batasan penggunaan masing-masing algoritma secara objektif (10 menit).
Penutup:- Guru bersama murid menyimpulkan pembelajaran mengenai perbandingan sequential search dan binary search secara terstruktur (5 menit).
- Murid mengerjakan cek pemahaman akhir 1 butir: 'Sebutkan 1 kelebihan dan 1 kelemahan Sequential Search dibandingkan Binary Search!' (Acuan jawaban: Kelebihan = data tidak perlu diurutkan terlebih dahulu; Kelemahan = membutuhkan waktu/jumlah perbandingan lebih banyak pada data besar) (5 menit).
Diferensiasi:- Konten: Menyediakan representasi deret angka visual berindeks fisik bagi murid yang membutuhkan konkretisasi, dan deret angka bervolume lebih besar (misal: 32 data) bagi murid yang telah memahami konsep dasar.
- Proses: Memberikan scaffolding bertahap dengan memandu penentuan indeks tengah (mid = (low + high) / 2) bagi murid yang mengalami hambatan perhitungan, serta memfasilitasi murid yang cepat untuk langsung membandingkan kompleksitas kasus terburuk (worst case) kedua algoritma.
- Produk: Tabel perbandingan diisi dengan format panduan rumpang terstruktur untuk kelompok berkembang, sedangkan kelompok mahir mengisi lembar analisis komparasi mandiri lengkap dengan pencatatan jejak indeks penelusuran.
Asesmen Pertemuan:Awal:- Soal 1: Apa perbedaan mendasar cara memeriksa data pada daftar acak vs daftar terurut? (Acuan jawaban benar: Daftar acak harus diperiksa satu per satu secara berurutan; daftar terurut dapat langsung dibelah dua atau dicari dari posisi tengah).
- Soal 2: Jika tersedia 8 kartu angka acak, berapa jumlah pemeriksaan terbanyak (maksimal) yang harus dilakukan dengan metode sekuensial untuk menemukan angka tertentu? (Acuan jawaban benar: 8 kali pemeriksaan).
Proses:- Lembar Kerja Komparasi Algoritma Pencarian untuk deret terurut [3, 7, 12, 18, 25, 30, 42, 50] mencari nilai 42 yang dinilai berdasarkan 4 kunci jawaban: (1) Syarat data: Sequential Search tidak perlu terurut, Binary Search wajib terurut; (2) Elemen pertama yang dicek: Sequential memeriksa indeks 0 (angka 3), Binary memeriksa indeks 3 (angka 18); (3) Jumlah langkah perbandingan: Sequential butuh 7 langkah, Binary butuh 3 langkah; (4) Penentuan algoritma lebih efisien: Binary Search lebih efisien karena memangkas ruang pencarian menjadi setengahnya pada tiap tahap sehingga hanya memerlukan 3 langkah dibandingkan 7 langkah.
Akhir Pertemuan:- Pertanyaan refleksi akhir: Sebutkan 1 kelebihan dan 1 kelemahan Sequential Search dibandingkan Binary Search! (Acuan jawaban benar: Kelebihan = dapat bekerja pada data yang belum terurut/acak tanpa pra-pemrosesan; Kelemahan = membutuhkan waktu perbandingan jauh lebih banyak/lambat pada data berjumlah besar).
Formatif:- Tes diagnostik tertulis 2 butir pada apersepsi pendahuluan
- Observasi unjuk kerja simulasi berpasangan 'Tebak Angka'
- Penilaian lembar kerja komparasi 4 butir analisis algoritma pencarian
- Cek pemahaman tertulis singkat di akhir sesi
Rubrik Pertemuan:| Aspek | Belum Berkembang | Mulai | Berkembang | Sangat Berkembang |
|---|
| Perbandingan Karakteristik dan Efisiensi Algoritma Pencarian (Sequential Search vs Binary Search) | Tepat membandingkan 1 dari 4 butir acuan komparasi algoritma pencarian (syarat data, elemen awal pengujian, jumlah langkah perbandingan, atau penentuan efisiensi). | Tepat membandingkan 2 dari 4 butir acuan komparasi algoritma pencarian (syarat data, elemen awal pengujian, jumlah langkah perbandingan, atau penentuan efisiensi). | Tepat membandingkan 3 dari 4 butir acuan komparasi algoritma pencarian (syarat data, elemen awal pengujian, jumlah langkah perbandingan, dan penentuan efisiensi). | Tepat membandingkan seluruh (4 dari 4) butir acuan komparasi algoritma pencarian (syarat data, elemen awal pengujian, jumlah langkah perbandingan, dan penentuan efisiensi) secara tepat dan mandiri. |
Refleksi Pertemuan:Guru:- Apakah simulasi permainan tebak angka efektif membantu murid memahami konsep pembagian rentang pada binary search?
- Bagian mana dari langkah penelusuran indeks binary search yang paling banyak memicu kesalahan pemahaman murid?
Murid:- Kondisi apa yang membuat algoritma binary search jauh lebih unggul dibandingkan sequential search?
- Mengapa kita tidak selalu menggunakan binary search dalam setiap masalah pencarian data?
Pertemuan 2 — Membandingkan Algoritma Pengurutan Selection Sort dan Insertion Sort untuk Menyelesaikan Permasalahan — 2 JP (2 x 45 menit = 90 menit)Tujuan Pertemuan:- TP 10.2.1 Membandingkan beberapa algoritma untuk menyelesaikan permasalahan secara terstruktur
Pendahuluan:- Guru membuka kelas dengan salam, menyapa murid, dan memimpin doa bersama secara berkesadaran (3 menit).
- Guru menyampaikan tujuan pembelajaran pertemuan ini, yaitu membandingkan algoritma pengurutan Selection Sort dan Insertion Sort berdasarkan mekanisme kerja dan efisiensi langkahnya (3 menit).
- Guru melaksanakan asesmen awal singkat: murid menjawab pertanyaan pemantik mengenai perbedaan dasar teknik 'memilih-menukar' vs 'menggeser-menyisipkan' pada array [5, 2, 4, 1] (acuan: teknik Selection Sort mencari nilai 1 lalu menukar dengan 5 di posisi awal; teknik Insertion Sort mengambil angka 2 lalu menyisipkannya sebelum 5) (9 menit).
Kegiatan Inti:Memahami (Bermakna):- Guru menyajikan ilustrasi penelusuran (tracing) dua algoritma menggunakan array data [6, 3, 8, 5, 2]: Selection Sort (mencari nilai minimum pada bagian belum terurut lalu menukar ke indeks terdepan) dan Insertion Sort (mengambil elemen berikutnya lalu membandingkan ke belakang dan menyisipkan ke posisi tepat) (12 menit).
- Murid dalam kelompok kecil (3-4 orang) menerima lembar kerja perbandingan yang memuat tabel 3 aspek pembanding: (1) Metode/Prinsip Operasi Utama, (2) Mekanisme Eksekusi (Tukar vs Geser-Sisip), dan (3) Karakteristik Jumlah Pertukaran Data (8 menit).
Mengaplikasi (Menggembirakan, Bermakna):- Aktivitas Simulasi Permainan Kartu Algoritma: Setiap kelompok menerima set kartu angka bernilai [7, 3, 9, 2, 5]. Kelompok melakukan simulasi pengurutan secara bergantian menggunakan aturan Selection Sort dan aturan Insertion Sort, lalu mencatat total perulangan (pass), jumlah perbandingan nilai, dan jumlah pergeseran/pertukaran nilai pada lembar kerja (22 menit).
- Murid secara mandiri menyelesaikan latihan perbandingan tertulis pada lembar kerja berupa pengisian tabel komparasi algoritma Selection Sort vs Insertion Sort berdasarkan hasil simulasi data kartu (15 menit).
Merefleksi (Berkesadaran):- Murid bersama kelompoknya memeriksa kesesuaian hasil analisis komparasi mereka terhadap kunci acuan komparasi terstruktur yang ditampilkan guru (acuan: Selection Sort memilih nilai terkecil lalu menukar langsung sehingga pertukaran data lebih sedikit; Insertion Sort membandingkan ke kiri dan menggeser elemen lalu menyisipkan sehingga pertukaran/pergeseran lebih sering bergantung keacakan awal data) (10 menit).
Penutup:- Murid dan guru menyimpulkan inti perbandingan algoritma Selection Sort dan Insertion Sort untuk pengurutan data terstruktur (5 menit).
- Guru memberikan penguatan terhadap pencapaian belajar murid dan menutup pertemuan dengan doa serta salam penutup (3 menit).
Diferensiasi:- Konten: Menyediakan kartu angka konkret bergambar alur indeks bagi murid yang membutuhkan scaffolding visual dalam menghitung jumlah langkah pergeseran nilai.
- Proses: Bagi murid yang lebih cepat memahami, diberikan data array alternatif dengan kondisi hampir terurut [2, 3, 5, 4, 8] untuk membandingkan mengapa Insertion Sort bekerja jauh lebih cepat dibanding Selection Sort pada data tersebut.
- Produk: Tabel analisis komparasi dapat disajikan dalam bentuk diagram alur ringkas atau tabel matriks perbandingan berpoin terstruktur sesuai kesepakatan kelompok.
Asesmen Pertemuan:Awal:- Pertanyaan lisan diagnostik: Jika diberikan barisan angka [5, 2, 4, 1], sebutkan perbedaan langkah pertama jika diurutkan dengan cara 'mencari nilai minimum untuk ditukar ke depan' dibandingkan cara 'menyisipkan kartu kedua ke tempat yang sesuai' (acuan jawaban: cara mencari nilai minimum langsung menukar nilai 1 dengan 5 sehingga menjadi [1, 2, 4, 5]; cara menyisipkan membandingkan 2 dengan 5 lalu menyisipkan 2 sebelum 5 sehingga menjadi [2, 5, 4, 1]).
Proses:- Pengecekan kebenaran hasil penelusuran simulasi pengurutan kartu angka [7, 3, 9, 2, 5] pada lembar kerja: (1) Hasil trace Selection Sort pass 1 (tukar 2 dengan 7 -> [2, 3, 9, 7, 5]); (2) Hasil trace Insertion Sort pass 1 (sisipkan 3 sebelum 7 -> [3, 7, 9, 2, 5]); serta ketepatan pengisian 3 aspek tabel komparasi algoritma.
Akhir Pertemuan:- Cek pemahaman 3 butir isian terstruktur di lembar kerja perbandingan algoritma: (1) Manakah algoritma yang bekerja dengan mencari nilai minimum lalu menukarnya ke posisi awal? (acuan: Selection Sort); (2) Manakah algoritma yang melakukan pergeseran elemen ke kanan untuk memberikan ruang bagi elemen baru yang disisipkan? (acuan: Insertion Sort); (3) Manakah algoritma yang memiliki jumlah pertukaran fisik data (swap) lebih sedikit dan konstan pada setiap lintasan pengurutan? (acuan: Selection Sort).
Formatif:- Observasi unjuk kerja saat murid melakukan simulasi penelusuran kartu Selection Sort dan Insertion Sort
- Pemeriksaan lembar kerja komparasi algoritma pengurutan Selection Sort dan Insertion Sort
Rubrik Pertemuan:| Aspek | Belum Berkembang | Mulai | Berkembang | Sangat Berkembang |
|---|
| Kemampuan membandingkan algoritma pengurutan (Selection Sort vs Insertion Sort) | Belum mampu mengidentifikasi perbedaan mekanisme penukaran elemen pada Selection Sort dan mekanisme penyisipan elemen pada Insertion Sort sesuai acuan. | Mampu membandingkan 1 dari 3 aspek komparasi (metode, cara kerja penukaran/pergeseran, atau jumlah pertukaran) algoritma Selection Sort dan Insertion Sort secara tepat sesuai acuan. | Mampu membandingkan 2 dari 3 aspek komparasi (metode, cara kerja penukaran/pergeseran, atau jumlah pertukaran) algoritma Selection Sort dan Insertion Sort secara tepat sesuai acuan. | Mampu membandingkan seluruh 3 aspek komparasi (metode kerja, cara kerja penukaran/pergeseran, dan frekuensi pertukaran) algoritma Selection Sort dan Insertion Sort secara tepat dan terstruktur sesuai acuan secara mandiri. |
Refleksi Pertemuan:Guru:- Apakah simulasi kartu angka efektif membantu murid memahami perbedaan mendasar antara operasi 'menukar langsung' pada Selection Sort dan 'menggeser-menyisipkan' pada Insertion Sort?
- Apakah alokasi waktu 90 menit mencukupi bagi seluruh kelompok untuk menuntaskan perbandingan kedua algoritma secara terstruktur?
Murid:- Bagian mana dari cara kerja Selection Sort atau Insertion Sort yang menurutmu paling mudah dipahami langkah-langkahnya?
- Kondisi susunan data awal seperti apa yang membuat Insertion Sort terasa lebih efisien daripada Selection Sort saat kamu simulasikan?
Pertemuan 3 — Menerapkan Algoritma Pemrograman Berstruktur Logika dan Pengulangan Bersarang pada Kode Program — 2 JP (2 x 45 menit = 90 menit)Tujuan Pertemuan:- TP 10.2.2 Menerapkan algoritma pemrograman untuk menghasilkan aplikasi
Pendahuluan:- Guru membuka kelas dengan salam, memeriksa kesiapan belajar murid, dan menyampaikan tujuan pembelajaran menerapkan algoritma pemrograman berstruktur logika dan pengulangan bersarang pada kode program (5 menit).
- Murid mengerjakan asesmen diagnostik singkat berupa kuis 2 soal prediksi keluaran (tracing) potongan kode pada papan tulis: Soal 1: `for i in range(2): for j in range(2): print(i, j)` (acuan keluaran benar: 0 0, lalu 0 1, lalu 1 0, lalu 1 1); Soal 2: `nilai = 75; if nilai >= 70: if nilai >= 85: print('A') else: print('B')` (acuan keluaran benar: 'B') untuk memetakan kesiapan awal murid (10 menit).
Kegiatan Inti:Memahami (Bermakna, Menggembirakan):- Murid menyimak demonstrasi guru mengenai mekanisme eksekusi pengulangan bersarang (outer loop dan inner loop) serta pengondisian bertingkat (nested if) melalui visualisasi langkah per langkah alur program Python (15 menit).
- Secara berpasangan, murid mengikuti mini game tebak langkah interaktif 'Loop Runner' di mana murid menganalisis 3 kartu baris kode dan menebak total berapa kali perintah cetak di loop dalam dijalankan: Kartu 1: outer 3 kali, inner 2 kali (acuan: 6 kali); Kartu 2: outer 2 kali, inner 4 kali (acuan: 8 kali); Kartu 3: outer 3 kali dengan syarat if bilangan genap baru inner 2 kali jalan (acuan: 2 kali karena i=2 genap) (10 menit).
Mengaplikasi (Berkesadaran):- Murid secara mandiri menulis kode program Python pada IDE komputer untuk menyelesaikan 2 studi kasus: Kasus 1 (Mencetak matriks perkalian 1-5 menggunakan nested loop `for i in range(1, 6): for j in range(1, 6): print(i*j, end='\t') print()`); Kasus 2 (Sistem penentuan kategori tiket berdasarkan usia dan status member menggunakan nested if: jika usia >= 17, periksa jika member cetak 'Dewasa Member Rp40.000' jika bukan cetak 'Dewasa Reguler Rp50.000'; jika usia < 17, periksa jika member cetak 'Anak Member Rp20.000' jika bukan cetak 'Anak Reguler Rp25.000') (30 menit).
Merefleksi (Berkesadaran):- Murid menjalankan kode masing-masing, memvalidasi kesesuaian output dengan kriteria keluaran, dan menganalisis letak kesalahan logika (misalnya pergeseran indentasi blok perulangan/percabangan) secara mandiri (10 menit).
Penutup:- Guru memberikan penguatan terhadap aspek penting indentasi dan urutan eksekusi logika pengulangan bersarang pada kode program Python (5 menit).
- Murid bersama guru menyimpulkan cara kerja logika dan pengulangan bersarang serta merapikan lingkungan kerja koding untuk persiapan materi array pada pertemuan berikutnya (5 menit).
Diferensiasi:- Konten: Menyediakan kartu referensi struktur sintaks indentasi nested loop dan nested if bagi murid yang membutuhkan panduan langkah.
- Proses: Memberikan bimbingan langsung pada pengecekan blok indentasi bagi murid yang mengalami eror logika, sementara murid yang mahir diberikan tantangan membuat pola segitiga angka berjenjang.
- Produk: Variasi output mencakup tabel matriks perkalian standar hingga modifikasi batas ukuran baris-kolom dinamis berdasarkan input.
Asesmen Pertemuan:Awal:- Menganalisis 2 potongan kode program dasar: Butir 1 memprediksi keluaran `for i in range(2): for j in range(2): print(i, j)` (acuan: output berupa 4 baris yaitu 0 0, 0 1, 1 0, 1 1); Butir 2 menentukan keluaran percabangan `nilai = 75; if nilai >= 70: if nilai >= 85: print('A') else: print('B')` (acuan: output mencetak string 'B').
Proses:- Pengamatan langsung dan pemeriksaan kode program murid pada 2 tugas terstruktur: (1) Penulisan nested loop for untuk matriks perkalian 1-5 (acuan: sintaks memakai dua tingkat loop, output tepat 5 baris x 5 kolom hasil kali); (2) Penulisan nested if penentuan tarif tiket berdasarkan usia dan status member (acuan: percabangan bertingkat tepat menguji dua kondisi usia dan member menghasilkan teks kategori dan harga sesuai kriteria acuan).
Akhir Pertemuan:- Cek pemahaman singkat (1 butir kode tracing): Murid memprediksi nilai akhir variabel `total` dari kode: `total = 0; for i in range(1, 4): for j in range(1, 3): total = total + 1` (acuan: total bernilai 6 karena loop luar berjalan 3 kali dan loop dalam berjalan 2 kali untuk tiap iterasi luar, sehingga 3 x 2 = 6).
Formatif:- Tes diagnostik singkat tracing kode program (asesmen awal)
- Unjuk kerja penulisan dan pengeksekusian kode program Python materi nested loop dan nested if (asesmen proses)
Rubrik Pertemuan:| Aspek | Belum Berkembang | Mulai | Berkembang | Sangat Berkembang |
|---|
| Penerapan Algoritma Logika Bersarang (Nested If) pada Kode Program | Belum mampu menerapkan struktur percabangan bertingkat (terjadi eror sintaks atau salah menentukan kondisi). | Menerapkan struktur percabangan bertingkat dengan bantuan pendampingan guru untuk memperbaiki kondisi dan indentasi. | Menerapkan struktur percabangan bertingkat secara mandiri dan tepat menghasilkan keluaran sesuai seluruh kondisi acuan. | Menerapkan struktur percabangan bertingkat secara mandiri, tepat, dan mampu menambahkan validasi percabangan alternatif secara mandiri tanpa kesalahan logika. | | Penerapan Algoritma Pengulangan Bersarang (Nested Loop) pada Kode Program | Belum mampu menyusun dua tingkat perulangan (loop hanya berjalan satu tingkat atau salah indentasi sehingga infinite loop/eror). | Menerapkan pengulangan bersarang dengan bantuan bimbingan guru dalam menyusun relasi outer loop dan inner loop. | Menerapkan pengulangan bersarang secara mandiri hingga menghasilkan output matriks perkalian yang tepat. | Menerapkan pengulangan bersarang secara mandiri dan efisien serta mampu memodifikasi variabel indeks secara fleksibel dan tepat. |
Refleksi Pertemuan:Guru:- Apakah murid dapat memahami alur eksekusi perulangan dalam perulangan (nested loop) tanpa kebingungan?
- Bagian mana dari struktur logika bersarang yang paling sering menimbulkan kekeliruan indentasi atau logika pada murid?
Murid:- Bagian mana yang paling menantang saat menyusun blok kode di dalam blok kode lainnya?
- Bagaimana caramu melacak jalannya variabel iterasi pada loop luar dan loop dalam saat program dieksekusi?
Pertemuan 4 — Menerapkan Algoritma Pemrograman Berstruktur Array untuk Menghasilkan Komponen Aplikasi Sederhana — 2 JP (2 x 45 menit = 90 menit)Tujuan Pertemuan:- TP 10.2.2 Menerapkan algoritma pemrograman untuk menghasilkan aplikasi
Pendahuluan:- Guru membuka sesi pembelajaran, menyapa murid, dan memeriksa kehadiran di laboratorium komputer (3 menit).
- Guru menyampaikan tujuan pembelajaran pertemuan ini: menerapkan algoritma pemrograman berstruktur array untuk menghasilkan komponen aplikasi sederhana pengolah daftar nilai (4 menit).
- Guru melaksanakan asesmen awal diagnostik melalui 2 pertanyaan tertulis singkat: (1) Sebutkan indeks elemen pertama pada array dalam bahasa pemrograman standar (indeks berbasis 0)? (acuan: indeks 0); (2) Jika dideklarasikan array nilai = [75, 80, 90], berapa nilai dari elemen nilai[1]? (acuan: 80) (8 menit).
Kegiatan Inti:Memahami (Berkesadaran, Bermakna):- Guru mendemonstrasikan struktur deklarasi array, cara mengakses elemen melalui indeks, serta pengulangan (looping) untuk membaca seluruh elemen array pada lingkungan pemrograman (10 menit).
- Murid secara berkesadaran menyimak kode percontohan dan menelusuri bagaimana perulangan for membaca data array siswa = ['Andi', 'Budi', 'Cici'] dari indeks 0 hingga 2 untuk menghasilkan luaran daftar nama (10 menit).
Mengaplikasi (Menggembirakan, Bermakna):- Murid berpartisipasi dalam 'Tantangan Tebak Indeks Joyful': guru menampilkan 3 baris kode array acak di layar proyektor (baris 1: hewan = ['Kucing', 'Kelinci', 'Hamster'], nilai hewan[2]; baris 2: angka = [10, 20, 30, 40], nilai angka[0]; baris 3: skor = [85, 95], nilai skor[1]), murid serentak mengangkat kartu angka indeks yang tepat (acuan: 'Hamster', 10, 95) secara cepat dan menggembirakan (10 menit).
- Murid secara mandiri menulis kode program untuk membuat komponen aplikasi daftar nilai: mendeklarasikan array nilai_tugas = [80, 75, 90, 85, 70], menghitung total nilai menggunakan loop, dan mencetak nilai rata-rata kelas ke layar (25 menit).
Merefleksi (Berkesadaran):- Murid memeriksa kembali kode program masing-masing secara mindful, memverifikasi apakah luaran program sesuai dengan perhitungan manual (total = 400, rata-rata = 80.0) serta memastikan tidak terjadi kesalahan 'index out of bounds' (10 menit).
Penutup:- Murid dan guru menyimpulkan konsep utama penggunaan array dan perulangan dalam membangun komponen aplikasi pengolah data (5 menit).
- Guru memberikan umpan balik menyeluruh terhadap hasil eksekusi kode murid serta menyampaikan gambaran materi pertemuan berikutnya tentang perakitan kode program utuh dan proses debugging (5 menit).
Diferensiasi:- Konten: Menyediakan contoh kode dasar deklarasi array satu dimensi untuk murid yang butuh bimbingan, serta array berisi data dinamis untuk murid yang siap tantangan lebih.
- Proses: Memberikan scaffolding bertahap (panduan deklarasi variabel array) bagi murid yang belum lancar sintaks, sementara murid mahir langsung menulis kode algoritma komputasi rata-rata secara mandiri.
- Produk: Murid yang membutuhkan bimbingan cukup menghasilkan kode deklarasi dan pencetakan elemen array; murid mahir menghasilkan komponen aplikasi yang menghitung nilai rata-rata, nilai tertinggi, dan nilai terendah dari array.
Asesmen Pertemuan:Awal:- Dua pertanyaan diagnostik tertulis pada pendahuluan: (1) Sebutkan indeks elemen pertama pada array berbasis nol? (acuan: indeks 0); (2) Jika array nilai = [75, 80, 90], berapa nilai dari elemen nilai[1]? (acuan: 80).
Proses:- Pengamatan langsung saat murid menulis kode program array: memeriksa ketepatan sintaks deklarasi array nilai_tugas = [80, 75, 90, 85, 70], logika perulangan for untuk akumulasi total nilai, dan kebenaran luaran rata-rata yang dicetak (acuan output tepat: Total = 400, Rata-rata = 80.0).
Akhir Pertemuan:- Cek pemahaman di penutup: Murid menunjukkan hasil eksekusi kode program di layar komputer masing-masing untuk diverifikasi kesesuaian luaran nilai rata-rata sesuai data array yang diberikan (acuan: program berjalan tanpa galat dan menghasilkan rata-rata 80.0).
Formatif:- Tes diagnostik awal mengenai indeks dan pemanggilan elemen array.
- Observasi unjuk kerja penulisan kode program berstruktur array pada IDE/tools pemrograman.
Rubrik Pertemuan:| Aspek | Belum Berkembang | Mulai | Berkembang | Sangat Berkembang |
|---|
| Menerapkan algoritma pemrograman berstruktur array untuk menghasilkan komponen aplikasi | Belum mampu mendeklarasikan array dan belum dapat mengakses elemen data menggunakan perulangan secara tepat. | Mampu mendeklarasikan array nilai_tugas, namun masih membutuhkan bantuan dalam menyusun perulangan untuk membaca seluruh elemen array. | Mampu menerapkan struktur array dan perulangan secara mandiri untuk menghasilkan komponen aplikasi yang menghitung total dan rata-rata secara tepat (output rata-rata: 80.0). | Mampu menerapkan struktur array dan perulangan secara mandiri serta memperluas komponen aplikasi dengan menambahkan logika pencarian nilai tertinggi dan terendah dari array data secara konsisten dan bebas galat. |
Refleksi Pertemuan:Guru:- Apakah seluruh murid sudah memahami logika pengindeksan array berbasis nol?
- Bagian penulisan kode mana yang paling sering memicu kesalahan sintaks atau logika pada murid saat mengolah data array?
Murid:- Apa keuntungan yang kamu rasakan saat menyimpan banyak data menggunakan struktur array dibandingkan variabel biasa?
- Tantangan apa yang kamu hadapi saat menghubungkan struktur array dengan instruksi perulangan (loop)?
Pertemuan 5 — Menerapkan Algoritma Pemrograman secara Utuh dan Debugging untuk Menghasilkan Aplikasi yang Berjalan — 2 JP (2 x 45 menit = 90 menit)Tujuan Pertemuan:- TP 10.2.2 Menerapkan algoritma pemrograman untuk menghasilkan aplikasi
Pendahuluan:- Guru membuka pelajaran dengan salam, memeriksa kesiapan belajar, dan menyampaikan tujuan pertemuan ke-5 mengenai penerapan algoritma pemrograman secara utuh dan proses debugging untuk menghasilkan aplikasi sederhana yang berjalan tanpa galat (5 menit).
- Guru melaksanakan asesmen diagnostik singkat: murid diminta menganalisis 1 baris kode salah: `print("Nilai: " + 85)` dan menentukan jenis galat serta perbaikannya. Acuan jawaban benar: TypeError karena penggabungan string dengan integer; perbaikan: `print("Nilai: " + str(85))` atau `print("Nilai:", 85)` (10 menit).
Kegiatan Inti:Memahami (Berkesadaran, Bermakna):- Murid menyimak demonstrasi guru melalui proyektor mengenai integrasi logika percabangan, perulangan, dan array ke dalam satu modul aplikasi, serta teknik membaca pesan kesalahan (traceback error message) pada lingkungan pemrograman Python (10 menit).
- Murid secara berkesadaran mencermati perbandingan tiga jenis galat pemrograman: SyntaxError (kesalahan penulisan aturan sintaks), IndexError (mengakses indeks array di luar batas), dan ZeroDivisionError (pembagian dengan angka nol) beserta letak baris penyebabnya (10 menit).
Mengaplikasi (Menggembirakan, Bermakna):- Sebagai tantangan pengondisian awal yang menggembirakan ("Tantangan Detektif Bug"), murid secara mandiri berkompetisi cepat menemukan dan memperbaiki 2 galat pada cuplikan kode kalkulator diskon yang diberikan di layar: galat 1 `if total >= 100000` (kurang titik dua) dan galat 2 `diskon = total * 0.1` lalu dicetak variabel `diskon_total` (NameError); acuan perbaikan: menambah tanda `:` dan mengganti variabel cetak menjadi `diskon` (10 menit).
- Murid mengerjakan proyek mandiri (Aktivitas AP-K10-09): menerapkan algoritma pemrograman aplikasi kasir/katalog belanja sederhana yang memuat array data produk, perulangan input barang, percabangan hitung total, serta melakukan debugging mandiri hingga kode program berjalan tanpa galat dan menghasilkan luaran struk belanja yang sesuai (25 menit).
Merefleksi (Berkesadaran):- Murid melakukan verifikasi mandiri terhadap ketercapaian kode programnya menggunakan lembar cek kesalahan: memastikan kode bebas dari 3 galat (syntax, runtime, logic) dan output aplikasi berhasil tampil lengkap sesuai skenario uji (10 menit).
Penutup:- Guru memberikan penguatan terhadap prosedur debugging yang benar (identifikasi baris pesan error, analisis penyebab, perbaikan kode, uji coba ulang) dan mengapresiasi ketekunan murid memperbaiki galat pemrograman (5 menit).
- Murid mengisi cek pemahaman akhir pertemuan dan merapikan lingkungan kerja pemrograman untuk persiapan asesmen sumatif di pertemuan berikutnya (5 menit).
Diferensiasi:- Konten: Murid yang membutuhkan bimbingan diberikan panduan kamus pesan galat (error cheat-sheet) umum Python, sedangkan murid yang telah mahir diberikan kode program dengan variasi 4 galat logika bertingkat.
- Proses: Murid yang mengalami kendala debugging mendapat bimbingan bertahap (scaffolding pelacakan baris galat) dari guru, sedangkan murid yang cepat bekerja mandiri menyusun aplikasi utuh.
- Produk: Aplikasi yang dihasilkan murid dasar mencakup minimal 3 fitur (input data array, perulangan, perhitungan akhir tanpa galat), sedangkan murid mahir menambahkan validasi input try-except agar kebal dari galat input pengguna.
Asesmen Pertemuan:Awal:- Diagnostik identifikasi pesan galat: Murid menentukan jenis galat dan cara perbaikan dari kode `print("Nilai: " + 85)`. Kriteria penilaian: Tepat bila menyebutkan TypeError (atau galat penggabungan tipe data berbeda) dan menuliskan perbaikan `print("Nilai: " + str(85))` atau `print("Nilai:", 85)`.
Proses:- Formatif kinerja saat pengodean aplikasi dan debugging: Lembar observasi keterlaksanaan penerapan algoritma secara utuh (array, pengulangan, percabangan) dan keberhasilan menemukan serta memperbaiki bug program hingga aplikasi dapat dieksekusi tuntas (running without errors).
Akhir Pertemuan:- Cek pemahaman akhir: Murid menyebutkan 3 langkah runtut pelacakan bug ketika program mengalami galat run-time. Kriteria penerimaan: Murid secara runtut menuliskan (1) membaca baris pesan traceback/error; (2) memeriksa nilai variabel/sintaks di baris tersebut; (3) memperbaiki kode dan mengeksekusi ulang program hingga tidak muncul pesan eror.
Formatif:- Penilaian proses unjuk kerja pengodean mandiri dan lembar kerja pelacakan/debugging kode program aplikasi kasir/katalog belanja sederhana
Rubrik Pertemuan:| Aspek | Belum Berkembang | Mulai | Berkembang | Sangat Berkembang |
|---|
| Penerapan Algoritma Pemrograman Menjadi Aplikasi | Kode program belum mengintegrasikan struktur logika percabangan, pengulangan, dan array, serta program berhenti karena galat sintaks/eksekusi yang belum diperbaiki. | Kode program mengintegrasikan sebagian struktur logika namun masih terdapat 1-2 galat eksekusi (runtime error) sehingga aplikasi belum berjalan tuntas secara mandiri. | Menerapkan algoritma pemrograman secara utuh (struktur array, pengulangan, percabangan) ke dalam kode program dan berhasil memperbaiki seluruh galat sehingga aplikasi berjalan lancar menghasilkan luaran yang benar. | Menerapkan algoritma pemrograman secara utuh dan terstruktur rapi, berhasil melakukan debugging mandiri secara tuntas, serta menambahkan penanganan eksepsi (try-except) untuk mencegah galat runtime akibat input pengguna. |
Refleksi Pertemuan:Guru:- Apakah alokasi waktu 25 menit untuk mengode dan debugging mandiri cukup memfasilitasi murid yang mengalami galat kode berulang?
- Bagaimana respons dan efektivitas tantangan pelacakan bug dalam membangun ketelitian dan penalaran kritis murid?
Murid:- Langkah apa yang paling membantumu saat melacak dan memperbaiki bagian kode yang mengalami galat?
- Sejauh mana aplikasi yang kamu susun berhasil menjalankan seluruh algoritma yang direncanakan tanpa mengalami eror?
Pertemuan 6 — Asesmen Sumatif Bab — 2 JP (2 x 45 menit = 90 menit)Tujuan Pertemuan:- TP 10.2.1 Membandingkan beberapa algoritma untuk menyelesaikan permasalahan secara terstruktur
- TP 10.2.2 Menerapkan algoritma pemrograman untuk menghasilkan aplikasi
Pendahuluan:- Guru membuka sesi asesmen sumatif dengan salam, doa bersama, dan mengecek kesiapan perangkat komputer murid di laboratorium komputer (3 menit).
- Guru menyampaikan tujuan dan mekanisme pelaksanaan asesmen sumatif Bab 2 yang terdiri dari 2 bagian mandiri: Tugas 1 berupa analisis komparasi algoritma secara tertulis (30 menit pengerjaan) dan Tugas 2 berupa pembuatan dan demonstrasi produk aplikasi koding (50 menit pengerjaan), serta menegaskan tata tertib kejujuran dan kemandirian (2 menit).
Kegiatan Inti:Memahami (Berkesadaran):- Murid mencermati lembar instrumen Tugas 1 yang memuat tabel komparasi algoritma dengan 2 pasang algoritma: Pasangan A (Sequential Search vs Binary Search) dan Pasangan B (Selection Sort vs Insertion Sort), serta menyimak instruksi pengisian aspek kelebihan, kekurangan, dan kesesuaian kasus penggunaan untuk masing-masing algoritma (2 menit).
Mengaplikasi (Bermakna):- Tugas 1: Seluruh murid secara individual dan serentak mengisi tabel analisis perbandingan algoritma pada lembar kerja tertulis (30 menit). Acuan jawaban Tugas 1: (1) Sequential Search -> Kelebihan: dapat bekerja pada data yang belum terurut, implementasi sederhana; Kekurangan: lambat untuk data besar (kompleksitas O(n)); Kesesuaian kasus: pencarian data berukuran kecil atau data yang tidak terurut. (2) Binary Search -> Kelebihan: pencarian sangat cepat untuk data besar (kompleksitas O(log n)); Kekurangan: data wajib sudah terurut terlebih dahulu; Kesesuaian kasus: pencarian pada daftar data berskala besar yang sudah berurutan. (3) Selection Sort -> Kelebihan: jumlah pertukaran data (swapping) minimal O(n), mudah dipahami; Kekurangan: performa lambat pada data besar (kompleksitas O(n^2)), tidak adaptif; Kesesuaian kasus: pengurutan data kecil dengan keterbatasan kapasitas penulisan memori. (4) Insertion Sort -> Kelebihan: sangat efisien dan adaptif untuk data yang hampir terurut (kompleksitas terbaik O(n)); Kekurangan: tidak efisien untuk data dalam urutan terbalik atau berukuran besar (O(n^2)); Kesesuaian kasus: pengurutan data kecil atau penambahan data baru secara dinamis ke daftar yang sudah terurut.
- Murid mengumpulkan lembar jawaban Tugas 1, lalu guru membuka pengerjaan Tugas 2 di komputer masing-masing (3 menit).
- Tugas 2: Murid secara mandiri menuliskan kode program aplikasi sederhana menggunakan bahasa pemrograman berbasis teks (Python) yang mengintegrasikan struktur logika (if-else), perulangan bersarang (nested loop), dan struktur array/list, melakukan debugging hingga program bebas galat sintaks/logika, serta mendemonstrasikan eksekusi aplikasi berjalan secara serentak saat guru berkeliling memeriksa (45 menit). Acuan implementasi Tugas 2: Program mengelola data nilai/item (misal: sistem rekapitulasi data array) yang memuat: (a) inisialisasi dan manipulasi array/list data, (b) struktur pengulangan bersarang untuk input/pengolahan/tampilan matriks data, (c) percabangan logika penentuan kondisi/status, (d) kode program berhasil dikompilasi/dijalankan tanpa eror dan menghasilkan luaran sesuai masukan.
Merefleksi (Berkesadaran):- Murid melakukan refleksi ketercapaian pengerjaan asesmen secara singkat dengan mencentang lembar kendali mandiri terkait ketepatan analisis algoritma dan keberhasilan eksekusi kode program aplikasi (2 menit).
Penutup:- Guru mengumpulkan seluruh berkas kode program murid melalui repositori/folder bersama dan memastikan semua berkas tersimpan dengan format penamaan yang benar (2 menit).
- Guru memberikan penguatan atas proses pengerjaan mandiri murid selama Bab 2, menginformasikan jadwal umpan balik asesmen sumatif, dan menutup pertemuan dengan doa serta salam (1 menit).
Diferensiasi:- Konten: Akomodasi akses: teks lembar soal cetak tersedia dalam ukuran font yang jelas/kontras bagi murid yang membutuhkan tanpa mengubah isi butir instrumen.
- Proses: Akomodasi pengerjaan: murid dengan hambatan mengetik diperkenankan memanfaatkan editor teks dengan kontras tinggi/pembesar layar tanpa bantuan asistensi logika pemrograman.
- Produk: Standar bukti produk kode program dan tabel komparasi algoritma tetap seragam dan setara untuk seluruh murid sesuai acuan rubrik sumatif.
Asesmen Pertemuan:Awal:- Pemeriksaan kesiapan perangkat laboratorium dan pemahaman petunjuk pengerjaan asesmen sumatif: murid mengonfirmasi kesiapan editor kode Python dan kelengkapan lembar tabel analisis perbandingan algoritma.
Proses:- Pengamatan keteraturan dan kemandirian murid selama mengerjakan analisis komparasi tertulis dan pengkodean program aplikasi tanpa kecurangan atau saling bertukar kode.
Sumatif Bab:- penilaian unjuk kerja analisis komparasi algoritma dan pembuatan produk aplikasi koding sederhana: tabel analisis perbandingan efisiensi dan kompleksitas algoritma serta kode program aplikasi yang berjalan sesuai rancangan
- penilaian unjuk kerja analisis tertulis: tabel analisis perbandingan minimal dua algoritma (kelebihan, kekurangan, dan kesesuaian kasus) yang dikerjakan serentak oleh seluruh murid (35 menit; individual; instrumen: rubrik unjuk kerja analisis algoritma)
- penilaian produk dan demonstrasi aplikasi: berkas kode program yang dikompilasi/dijalankan dan demonstrasi aplikasi berjalan secara serentak di laboratorium komputer yang diperiksa guru secara berputar (55 menit; individual; instrumen: rubrik penilaian produk kode program dan fungsionalitas aplikasi)
Sumatif:- penilaian unjuk kerja analisis komparasi algoritma dan pembuatan produk aplikasi koding sederhana: tabel analisis perbandingan efisiensi dan kompleksitas algoritma serta kode program aplikasi yang berjalan sesuai rancangan
- penilaian unjuk kerja analisis tertulis: tabel analisis perbandingan minimal dua algoritma (kelebihan, kekurangan, dan kesesuaian kasus) yang dikerjakan serentak oleh seluruh murid (35 menit; individual; instrumen: rubrik unjuk kerja analisis algoritma)
- penilaian produk dan demonstrasi aplikasi: berkas kode program yang dikompilasi/dijalankan dan demonstrasi aplikasi berjalan secara serentak di laboratorium komputer yang diperiksa guru secara berputar (55 menit; individual; instrumen: rubrik penilaian produk kode program dan fungsionalitas aplikasi)
Rubrik Pertemuan:| Aspek | Belum Berkembang | Mulai | Berkembang | Sangat Berkembang |
|---|
| Analisis Komparasi Algoritma (TP 10.2.1) | Menuliskan perbandingan kelebihan, kekurangan, dan kesesuaian kasus hanya tepat untuk 1 algoritma dari 4 algoritma acuan (Sequential Search, Binary Search, Selection Sort, Insertion Sort). | Menuliskan perbandingan kelebihan, kekurangan, dan kesesuaian kasus secara tepat untuk 2 dari 4 algoritma acuan (Sequential Search, Binary Search, Selection Sort, Insertion Sort). | Menuliskan perbandingan kelebihan, kekurangan, dan kesesuaian kasus secara tepat untuk 3 dari 4 algoritma acuan (Sequential Search, Binary Search, Selection Sort, Insertion Sort). | Menuliskan perbandingan kelebihan, kekurangan, dan kesesuaian kasus secara tepat dan terstruktur untuk seluruh (4) algoritma acuan: Sequential Search, Binary Search, Selection Sort, dan Insertion Sort. | | Penerapan Algoritma Pemrograman pada Aplikasi (TP 10.2.2) | Kode program memuat struktur logika, perulangan, atau array namun masih mengalami eror (sintaks/runtime) dan aplikasi belum berhasil dijalankan. | Kode program berhasil dijalankan tanpa eror namun hanya menerapkan 2 dari 3 komponen struktur algoritma yang disyaratkan (logika pengondisian, perulangan bersarang, array). | Kode program menerapkan ketiga komponen struktur algoritma (logika pengondisian, perulangan bersarang, array) dan aplikasi berjalan menghasilkan luaran sesuai masukan secara mandiri. | Kode program menerapkan ketiga komponen struktur algoritma secara optimal dan efisien, bebas dari kesalahan (debugging tuntas), serta aplikasi berjalan konsisten dengan seluruh skenario pengujian input data. |
Refleksi Pertemuan:Guru:- Apakah alokasi waktu 30 menit untuk analisis tertulis dan 50 menit untuk implementasi program memadai bagi mayoritas murid dalam mendemonstrasikan kompetensi?
- Bagian mana dari struktur program (logika, nested loop, atau penanganan array) yang paling banyak memerlukan proses debugging oleh murid?
- Bagaimana ketercapaian murid pada TP 10.2.1 dan TP 10.2.2 sebagai dasar tindak lanjut pembelajaran bab berikutnya?
Murid:- Algoritma mana yang paling mudah dan paling menantang untuk dianalisis efisiensinya dalam permasalahan nyata?
- Kendala apa yang saya hadapi saat melakukan debugging kode program berstruktur logika, perulangan bersarang, dan array, serta bagaimana saya mengatasinya?
SUMBER BELAJAR- Buku Panduan Guru Koding dan Kecerdasan Artifisial untuk SMA/MA Kelas X (Kemendikdasmen, 2025), Bab 2
- Buku Siswa Koding dan Kecerdasan Artifisial untuk SMA/MA Kelas X (Kemendikdasmen, 2025), Bab 2 Halaman 50-53
- Kartu angka bernomor 1-16 dan lembar kerja perbandingan algoritma
- Buku Panduan Guru Koding dan Kecerdasan Artifisial untuk SMA/MA Kelas X, Kemendikdasmen 2025, Bab 2 (Halaman 58-81)
- Buku Siswa Koding dan Kecerdasan Artifisial untuk SMA/MA Kelas X, Bab 2 Algoritma dan Pemrograman Lanjut (Halaman 53-55)
- Set kartu angka (angka 1 sampai 10) untuk simulasi pengurutan fisik di kelompok
- Lembar Kerja Murid (LKPD) Komparasi Algoritma Pengurutan
- Buku Panduan Guru Koding dan Kecerdasan Artifisial SMA/MA Kelas X
- Buku Siswa Koding dan Kecerdasan Artifisial SMA/MA Kelas X Bab 2
- Perangkat komputer/laptop dengan compiler/IDE Python (IDLE, VS Code, atau Jupyter Notebook / Google Colab)
- Buku Panduan Guru Koding dan Kecerdasan Artifisial SMA/MA Kelas X (Kemendikdasmen, 2025)
- Buku Siswa Koding dan Kecerdasan Artifisial SMA/MA Kelas X (Kemendikbudristek)
- Lingkungan Pengembangan Terpadu (IDE) Python / Text Editor (IDLE / VS Code / Replit)
- Perangkat Komputer / Laptop Lab Komputer dan LCD Proyektor
- Buku Panduan Guru Koding dan Kecerdasan Artifisial untuk SMA/MA Kelas X, Kemendikdasmen RI, 2025
- Buku Siswa Koding dan Kecerdasan Artifisial untuk SMA/MA Kelas X, Bab 2, Kemendikdasmen RI, 2025
- Perangkat komputer/laptop dengan IDE/Compiler Python (IDLE/Thonny/VS Code/Google Colab)
- Lembar Kerja Aktivitas AP-K10-09 (Debugging & Aplikasi Pemrograman Teks)
- Buku Panduan Guru Koding dan Kecerdasan Artifisial untuk SMA/MA Kelas X, Kemendikdasmen 2025
- Buku Siswa Koding dan Kecerdasan Artifisial untuk SMA/MA Kelas X, Bab 2, Kemendikdasmen 2025
- Perangkat komputer/laptop laboratorium dengan lingkungan pemrograman teks (Python IDLE/VS Code)
- Lembar Instrumen Asesmen Sumatif Bab 2: Tabel Analisis Komparasi Algoritma dan Lembar Spesifikasi Tugas Koding Aplikasi
|