Selasa, 29 September 2026

Modul 2 : Algoritma dan Pemrograman Lanjut (Revisi)

Media Pembelajaran Deep Learning: Koding & AI - SMAS Kristen Barana'
Kurikulum Merdeka • Permendikdasmen 13/2025

Pemrograman Lanjut & Fondasi Kecerdasan Artifisial

Selamat datang di media pembelajaran mendalam (*Deep Learning*). Kuasai pemrograman modular Python, uji efisiensi algoritma *Searching & Sorting*, dan bangun prototipe agen cerdas rekomendasi komoditas lokal Kopi Toraja!

Mindful (Berkesadaran)

Setiap pertemuan dilengkapi Pertanyaan Pemantik, Materi Konsep Mendalam, Lab Virtual Interaktif, dan Jurnal Refleksi agar siswa menyadari proses berpikirnya.

Meaningful (Bermakna)

Menghubungkan komputasi dengan realitas Toraja: mengolah mutu Kopi Arabika Toraja dan katalogisasi digital motif ukiran *Passura'*.

Joyful (Menggembirakan)

Eksperimen langsung di browser tanpa instalasi tambahan, umpan balik kuis instan, dan selebrasi kelulusan confetti di akhir modul.

Peta 7 Pertemuan Lengkap & Lab Virtual

PERTEMUAN 1

Fungsi Modular

🧪 Lab Uji Fungsi Kopi
PERTEMUAN 2

Scope Variabel

🧪 Lab Memori Scope
PERTEMUAN 3

Searching: Linear/Binary

🧪 Lab Visualizer Search
PERTEMUAN 4

Sorting: Bubble/Insertion

🧪 Lab Visualizer Balok
PERTEMUAN 5

Struktur Multidimensi

🧪 Lab Filter Data Toraja
PERTEMUAN 6

AI Similarity Engine

🧪 Lab Agen Rekomendasi
PERTEMUAN 7

Showcase & Evaluasi

🧪 Lab Stress-Testing AI
PROYEK LKPD LENGKAP

Toraja Recommender

📋 Siap Cetak / Praktikum
PROYEK BERKELANJUTAN: TAHAP 1 DARI 7
Pertemuan 1 (2 JP × 40 Menit)

Fondasi: Modul Penilai Mutu Kopi Toraja

Fokus: TP 1
Misi Proyek Semester: Membangun aplikasi "Toraja Smart Recommender" untuk Koperasi Kopi Barana'. Di Pertemuan 1 ini, kita membangun blok bangunan pertama: fungsi untuk menghitung skor mutu uji cita rasa (*cupping score*) dan menentukan grade kopi.

Pertanyaan Pemantik (Apersepsi):

"Bayangkan sebuah aplikasi kasir di Toraja yang memiliki 100 baris instruksi perhitungan diskon. Jika setiap kali menghitung kasir harus menulis ulang 100 baris yang sama, apa dampaknya saat ada kesalahan rumus? Bagaimana programmer profesional memecah masalah besar menjadi modul-modul mandiri?"

Materi Inti: Dekomposisi & Anatomi Fungsi Python

Dekomposisi adalah proses memecah persoalan komputasi kompleks menjadi sub-masalah kecil yang berdiri sendiri. Dalam bahasa Python, konsep ini diimplementasikan melalui Fungsi (Function).

1. Header Fungsi (def)

Menggunakan kata kunci def nama_fungsi(parameter): untuk mendeklarasikan modul.

2. Parameter & Argumen

Pintu masuk nilai data dari luar ke dalam tubuh fungsi untuk diproses.

3. Nilai Kembalian (return)

Mengirimkan kembali hasil kalkulasi ke baris pemanggil, bukan sekadar mencetak teks ke layar.

Contoh Program: hitung_kopi.py
# Fungsi 1: Dekomposisi perhitungan skor mutu (Aroma 30%, Flavor 40%, Aftertaste 30%)
def hitung_skor_kopi(aroma, flavor, aftertaste):
    total = (aroma * 0.3) + (flavor * 0.4) + (aftertaste * 0.3)
    return total

# Fungsi 2: Dekomposisi klasifikasi mutu (Grade)
def tentukan_grade(skor):
    if skor >= 8.5:
        return "Specialty Grade 1 (Kualitas Ekspor)"
    elif skor >= 8.0:
        return "Premium Grade"
    else:
        return "Commercial Grade"

# Program Utama (Driver Code)
skor_sapan = hitung_skor_kopi(8.5, 9.0, 8.7)
grade_sapan = tentukan_grade(skor_sapan)
print(f"Kopi Arabika Sapan -> Skor: {skor_sapan:.2f} | Status: {grade_sapan}")

Lab Virtual 1: Simulator Eksekusi Fungsi Modular

Ubah parameter nilai masukan, lalu klik tombol untuk melihat bagaimana fungsi menerima argumen dan mengembalikan return value!

> Siap mengeksekusi fungsi. Masukkan angka lalu klik tombol eksekusi di atas!
Kuis Cek Pemahaman:

Apa akibatnya jika sebuah fungsi tidak memiliki kata kunci return saat dipanggil oleh variabel penampung?

Refleksi Metakognisi P1:

Tuliskan pemahamanmu: "Apa perbedaan utama antara mencetak (print) dengan mengembalikan nilai (return)?"

PROYEK BERKELANJUTAN: TAHAP 2 DARI 7
Pertemuan 2 (2 JP × 40 Menit)

Refactoring & Scope Memori Sistem Koperasi Kopi

Fokus: TP 1
Kelanjutan Proyek: Setelah fungsi penilai mutu dibuat di Pertemuan 1, kini Koperasi Barana' ingin memisahkan fungsi-fungsi tersebut ke dalam modul terpisah (kopi_utils.py) dan mengisolasi variabel lokal data sampel agar tidak merusak data inventaris global koperasi!

Pertanyaan Pemantik:

"Jika bagian penimbangan dan bagian pengemasan di Koperasi Kopi sama-sama membuat variabel bernama berat_kg = 50 di dalam fungsinya masing-masing, mengapa data kopi tidak tertukar atau saling menimpa? Bagaimana memori lokal Python melindungi data tersebut?"

Materi Inti: Ruang Lingkup Memori (LEGB Rule) & Refactoring Modul Kopi

Dalam Python, setiap variabel memiliki Scope (Ruang Lingkup):

  • Variabel Lokal: Variabel data sampel kopi di dalam fungsi penilai hanya hidup saat penilaian berlangsung, lalu terhapus otomatis dari memori.
  • Variabel Global: Variabel seperti nama_koperasi = "Koperasi Kopi Barana'" yang bersifat konstan di seluruh aplikasi.
  • Refactoring Modul: Memindahkan fungsi hitung_skor_kopi() dari Pertemuan 1 ke file terpisah kopi_utils.py agar siap dipakai di sistem pencarian (Pertemuan 3) dan pengurutan (Pertemuan 4).
Contoh Program: refactor_kopi_koperasi.py
# Variabel Global Koperasi
nama_koperasi = "Koperasi Kopi Barana' Toraja"
standar_ekspor_skor = 85.0

def evaluasi_lot_kopi(kode_lot, aroma, flavor, aftertaste):
    # Variabel Lokal: hanya ada saat fungsi ini dipanggil
    skor_lot = (aroma * 0.3) + (flavor * 0.4) + (aftertaste * 0.3)
    status_ekspor = skor_lot >= standar_ekspor_skor
    print(f"[{nama_koperasi}] Lot {kode_lot} -> Skor: {skor_lot:.2f} | Siap Ekspor: {status_ekspor}")
    return skor_lot

# Memanggil fungsi evaluasi
evaluasi_lot_kopi("LOT-TP-01", 8.8, 9.1, 8.9)
# print(skor_lot)  # ERROR! NameError: skor_lot tidak dikenal di luar fungsi!

Lab Virtual 2: Simulator Memori Scope Variabel

Uji coba memanggil variabel dari luar fungsi untuk mengamati isolasi memori lokal vs global.

1. Memanggil Variabel Global

Variabel dideklarasikan di luar fungsi (nama_sekolah).

2. Memanggil Variabel Lokal

Mencoba memanggil variabel dari dalam fungsi (status_kondisi).

> Klik salah satu tombol uji coba di atas untuk melihat respon memori Python!
Refleksi Metakognisi P2:

"Mengapa programmer profesional sangat menghindari ketergantungan pada variabel global saat membuat sistem besar?"

PROYEK BERKELANJUTAN: TAHAP 3 DARI 7
Pertemuan 3 (2 JP × 40 Menit)

Pencarian Cepat Lot Kopi: Linear vs Binary Search

Fokus: TP 2
Kelanjutan Proyek: Gudang Koperasi Barana' kini menampung ribuan sampel karung kopi. Pembeli internasional menanyakan sampel kopi tertentu berdasarkan nomor lot. Kita butuh algoritma pencarian mangkus: Linear Search untuk data baru acak, dan Binary Search untuk database lot terurut!

Pertanyaan Pemantik:

"Jika gudang Koperasi Barana' memiliki 10.000 lot karung kopi dengan nomor ID terurut (1 s.d. 10000), bagaimana cara petugas menemukan sampel ID 7.342 dalam waktu kurang dari 15 kali tebakan tanpa harus membaca karung satu per satu dari pintu depan?"

Materi Inti: Linear Search (O(n)) vs Binary Search (O(log n))

Pencarian data lot kopi koperasi mengandalkan dua pendekatan algoritma:

Linear Search:

Memeriksa nomor karung kopi satu per satu dari awal. Berguna saat sampel baru masuk dan belum sempat disusun urut.

Binary Search:

Syarat mutlak: NOMOR LOT HARUS TERURUT. Algoritma membelah tumpukan data menjadi dua. Dari 10.000 karung, target ditemukan maksimal dalam 14 langkah!

Contoh Program: cari_lot_kopi.py
# Database ID Lot Kopi Terurut di Koperasi
lot_terurut = [101, 105, 120, 134, 150, 175, 188, 192, 205, 210]

def cari_lot_binary(arr, target_lot):
    low = 0
    high = len(arr) - 1
    langkah = 0
    while low <= high:
        langkah += 1
        mid = (low + high) // 2
        if arr[mid] == target_lot:
            print(f"[Binary Search] Lot {target_lot} DITEMUKAN di index {mid} dalam {langkah} langkah!")
            return mid
        elif arr[mid] < target_lot:
            low = mid + 1
        else:
            high = mid - 1
    return -1

cari_lot_binary(lot_terurut, 188)

Lab Virtual 3: Simulator Perbandingan Efisiensi Langkah

Bandingkan jumlah langkah pencarian Linear vs Binary pada 100 data terurut.

LINEAR SEARCH 73 Langkah
BINARY SEARCH 6 Langkah
> Klik "Jalankan Simulasi" untuk mengamati perbandingan langkah komputasi!
Refleksi Metakognisi P3:

"Kapan Binary Search sama sekali TIDAK BISA digunakan? Mengapa keterurutan data menjadi syarat mutlak?"

PROYEK BERKELANJUTAN: TAHAP 4 DARI 7
Pertemuan 4 (2 JP × 40 Menit)

Perangkingan Mutu Kopi: Algoritma Sorting Descending

Fokus: TP 2
Kelanjutan Proyek: Setelah kita bisa mencari lot kopi di P3, pembeli luar negeri kini meminta: "Tolong tampilkan daftar kopi dari mutu tertinggi (Specialty Grade) ke yang terendah!" Kita membangun mesin perangkingan data kopi menggunakan algoritma Bubble & Insertion Sort!

Pertanyaan Pemantik:

"Jika Koperasi menerima puluhan karung kopi dengan skor mutu acak antara 78 hingga 91, bagaimana program komputer memindahkan karung-karung kopi kualitas juara ke posisi paling atas secara sistematis menggunakan pertukaran bertahap (Swap)?"

Materi Inti: Memahami Logika Swap & Optimasi Flag Swapped

Dalam proyek Koperasi Kopi Toraja, kita melakukan pengurutan Descending (Terbesar ke Terkecil):

  • Bubble Sort: Membandingkan skor karung ke-$j$ dengan karung ke-$j+1$. Jika skor sebelah kiri lebih kecil, tukar posisinya agar skor besar bergeser ke depan.
  • Optimasi Early-Stop: Jika seluruh karung kopi sudah rapi terurut sebelum putaran terakhir selesai, variabel flag swapped = False akan menghentikan proses untuk menghemat daya prosesor!
Contoh Program: urutkan_skor_kopi.py
# Daftar skor cupping kopi acak di Koperasi Barana'
skor_lot = [82.5, 89.0, 79.5, 91.2, 85.0, 87.8]

def urutkan_kopi_descending(arr):
    n = len(arr)
    for i in range(n):
        swapped = False
        for j in range(0, n - i - 1):
            # Tanda '<' untuk mengurutkan dari skor terbesar ke terkecil
            if arr[j] < arr[j + 1]:
                arr[j], arr[j + 1] = arr[j + 1], arr[j]
                swapped = True
        if not swapped:
            break
    return arr

hasil_ranking = urutkan_kopi_descending(skor_lot)
print("Hasil Perangkingan Kopi Koperasi:", hasil_ranking)

Lab Virtual 4: Visualizer Animasi Pengurutan Balok

Klik "Mulai Bubble Sort" untuk mengamati pertukaran balok secara langsung!

> Status: Data acak siap diurutkan.
Refleksi Metakognisi P4:

"Jika data sejak awal sudah hampir terurut, algoritma mana yang selesai lebih cepat? Mengapa penukaran swap Python sangat praktis?"

PROYEK BERKELANJUTAN: TAHAP 5 DARI 7
Pertemuan 5 (2 JP × 40 Menit)

Database Multi-Atribut Kopi Lembang Toraja

Fokus: TP 2
Kelanjutan Proyek: Data kopi koperasi kini bukan hanya sekadar angka skor, melainkan dictionary lengkap berisi nama varietas, asal lembang/desa, ketinggian mdpl, dan skor mutu! Kita menyusun modul query filter cerdas untuk memilah kopi sesuai spesifikasi pembeli.

Pertanyaan Pemantik:

"Di dunia nyata, data tidak pernah sesederhana daftar angka [10, 20, 30]. Kopi Toraja memiliki nama varietas, desa asal (lembang), aroma, rasa, dan harga. Bagaimana Python menyatukan data multi-atribut ini agar bisa disortir dan dicari secara fleksibel?"

Materi Inti: List of Dictionaries & Custom Key Sorting

Dalam Python, representasi entitas dunia nyata menggunakan struktur data List of Dictionaries:

daftar_kopi = [
    {"nama": "Arabika Sapan", "lembang": "Buntao", "skor": 87.5},
    {"nama": "Arabika Pulu-pulu", "lembang": "Buntu Pepasan", "skor": 89.0}
]
# Mengakses atribut skor item pertama:
print(daftar_kopi[0]["skor"])  # Output: 87.5
Contoh Program: filter_toraja.py
katalog_toraja = [
    {"nama": "Pa'tedong", "kategori": "Ukiran", "makna": "Kemakmuran & Tenaga", "popularitas": 95},
    {"nama": "Pa'barre Allo", "kategori": "Ukiran", "makna": "Kebesaran Sang Pencipta", "popularitas": 92},
    {"nama": "Arabika Sapan", "kategori": "Kopi", "makna": "Cita Rasa Tinggi", "popularitas": 88}
]

# Filter kategori Ukiran dengan popularitas > 90
hasil = [item for item in katalog_toraja if item['kategori'] == 'Ukiran' and item['popularitas'] > 90]
print(hasil)

Lab Virtual 5: Mesin Filter Multi-Atribut Toraja

Pilih kriteria untuk menyaring list of dictionaries secara instan!

80 Min: 85 95
Nama Item Kategori Makna / Keterangan Skor
Refleksi Budaya & Komputasi P5:

"Bagaimana kecakapan koding dapat berperan nyata dalam melestarikan budaya dan memajukan komoditas lokal Toraja?"

PROYEK BERKELANJUTAN: TAHAP 6 DARI 7
Pertemuan 6 (2 JP × 40 Menit)

Otak AI: Agen Rekomendasi Cerdas Selera Pembeli

Fokus: TP 3
Kelanjutan Proyek: Puncak logika AI! Pembeli internasional dari Jepang menginginkan profil rasa spesifik (Aroma 8.5, Rasa Buah 9.0, Aftertaste 8.8). Agen cerdas buatan kita menghitung jarak kemiripan (*similarity matching*) terhadap seluruh data P5, lalu memanggil fungsi sorting P4 untuk memberikan Top-3 rekomendasi terbaik!

Pertanyaan Pemantik:

"Bagaimana aplikasi seperti Spotify merekomendasikan lagu baru yang belum pernah kamu dengar, tapi langsung kamu sukai? Apakah komputer benar-benar memiliki perasaan, atau komputer sebenarnya hanya menghitung jarak angka kemiripan (similarity distance)?"

Materi Inti: Demistifikasi AI & Rumus Jarak Euclidean

Kecerdasan Artifisial (AI) sistem rekomendasi pada dasarnya bertumpu pada 3 langkah komputasi:

  1. Representasi Vektor: Data dikonversi menjadi koordinat titik angka (misal: Aroma=8.5, Flavor=9.0, Aftertaste=8.7).
  2. Perhitungan Jarak: Menghitung selisih jarak antara titik preferensi pengguna dengan setiap item kopi menggunakan rumus Euclidean Distance: $\sqrt{(x_1 - x_2)^2 + (y_1 - y_2)^2 + (z_1 - z_2)^2}$.
  3. Perangkingan (Sorting): Mengurutkan data dari jarak terkecil (skor kemiripan tertinggi) untuk menyajikan Top-3 Rekomendasi terbaik.
Contoh Program: similarity_agent.py
import math

def hitung_kemiripan(target, item):
    # Euclidean Distance antara target dan item data
    jarak = math.sqrt(
        (target['aroma'] - item['aroma'])**2 +
        (target['flavor'] - item['flavor'])**2 +
        (target['aftertaste'] - item['aftertaste'])**2
    )
    # Konversi jarak menjadi skor kemiripan persentase (0 - 100%)
    persen = max(0, 100 - (jarak * 25))
    return round(persen, 1)

Lab Virtual 6: Simulator Mesin Rekomendasi Cerdas

Atur profil rasa pembeli dan amati agen cerdas merangking kopi paling cocok.

Refleksi Etika AI P6:

"Apakah algoritma rekomendasi berpotensi memiliki 'bias' terhadap kelompok tertentu? Bagaimana memastikan agen AI berlaku adil?"

PROYEK BERKELANJUTAN: TAHAP 7 DARI 7 (PUNCAK)
Pertemuan 7 (2 JP × 40 Menit)

Penyatuan Sistem Terintegrasi "Toraja Recommender" & Uji Ketahanan

Evaluasi & Refleksi
Puncak Proyek Semester: Seluruh modul yang dibangun dari P1 (kalkulasi), P2 (arsitektur file), P3 (pencarian), P4 (perangkingan), P5 (database), dan P6 (otak AI) kini disatukan menjadi sebuah aplikasi utuh! Di tahap akhir ini, kita menambahkan penanganan galat (*try-except*), melakukan uji ketahanan, dan memamerkannya di sesi *Showcase*!

Pertanyaan Pemantik:

"Sebuah software yang hebat bukan hanya software yang berjalan benar saat data sempurna, melainkan software yang tangguh (robust) dan tidak crash saat pengguna memasukkan data yang aneh. Bagaimana program buatan timmu mengantisipasi data yang salah?"

Materi Inti: Exception Handling & Peer Code Review

Pada pertemuan puncak ini, setiap tim melakukan dua hal penting:

  • Penanganan Eksepsi (try - except): Menangkap galat tak terduga (misal input huruf saat diminta angka) agar aplikasi tetap stabil.
  • Gallery Walk Showcase: Mendemonstrasikan aplikasi kepada kelompok lain dan menerima masukan perbaikan (*constructive peer review*).

Lab Virtual 7: Stress-Testing Ketahanan Program AI

Uji bagaimana program Anda menangani masukan ekstrim (nilai negatif, string kosong, atau angka tidak wajar).

> Status: Siap melakukan stress-testing pada prototipe.

Selamat! Seluruh 7 Pertemuan Telah Tuntas

Anda telah menguasai struktur modular, efisiensi searching & sorting, hingga membangun agen cerdas rekomendasi data lokal Toraja!

Lembar Kerja Peserta Didik (LKPD)

Proyek: Toraja Smart Recommender

LEMBAR KERJA PESERTA DIDIK (LKPD)

PROYEK: SISTEM AGEN CERDAS REKOMENDASI MUTU KOPI TORAJA

Mata Pelajaran: Koding & AI | Fase E (Kelas X) | SMAS Kristen Barana' - Toraja Utara

Nama Kelompok: ..............................................................
Kelas / Ruang: X ..... / Lab Komputer
Anggota Tim (Driver & Navigator):
1. ....................................................................................................................
2. ....................................................................................................................

A. Skenario Masalah Nyata

Koperasi Usaha Kopi Barana' menerima puluhan sampel biji kopi dari berbagai lembang di Toraja Utara. Koperasi membutuhkan sebuah program terstruktur berbasis Python yang dapat:

  1. Menyimpan data sampel kopi (Kode Lot, Nama Lembang, Varietas, Skor Aroma, Skor Rasa, Skor Aftertaste).
  2. Memiliki fungsi modular hitung_skor_total() untuk menghitung Skor Mutu Kopi (Aroma 30%, Rasa 40%, Aftertaste 30%).
  3. Memiliki modul pencarian cepat cari_lot_binary() (Binary Search) untuk melacak karung sampel di gudang data terurut.
  4. Memiliki modul pengurutan urutkan_kopi() (Bubble Sort Descending) untuk merangking mutu kopi dari kualitas ekspor tertinggi ke terendah.
  5. Memiliki modul agen cerdas rekomendasi_kopi() (Similarity Matching) yang merekomendasikan 2 kopi paling cocok sesuai preferensi rasa pembeli internasional.

B. Dataset Sampel Kopi Toraja

Kode Varietas / Lembang Aroma (30%) Flavor (40%) Aftertaste (30%)
KP-01 Arabika Sapan (Buntao) 8.5 9.0 8.7
KP-02 Arabika Pulu-pulu (2000 mdpl) 9.0 8.8 9.2
KP-03 Arabika Gandangbatu (Sillanan) 8.0 7.9 8.2

C. Tugas & Langkah Pengerjaan Proyek Tim

Bagian 1: Desain Fungsi Modular Mutu Kopi (Menguji TP 1)

Tuliskan implementasi fungsi penghitung skor total mutu kopi dengan rumus pembobotan SCA (Aroma 30%, Rasa 40%, Aftertaste 30%):

def hitung_skor_total(aroma, rasa, aftertaste):
    # Tuliskan rumus perhitungan dan kembalikan nilai (return):
    ...........................................................................................................
    pass
Bagian 2: Algoritma Pencarian Cepat Lot Kopi (Menguji TP 2 - Searching)

Lengkapi fungsi Binary Search di bawah ini untuk mencari indeks kode lot kopi pada daftar lot terurut:

def cari_lot_binary(daftar_lot_terurut, target_lot):
    low = 0
    high = len(daftar_lot_terurut) - 1
    while low <= high:
        mid = (low + high) // 2
        # Tuliskan kondisi percabangan Binary Search:
        ...................................................................................................
        ...................................................................................................
        ...................................................................................................
    return -1 # Kembalikan -1 jika kode lot tidak ditemukan
Bagian 3: Algoritma Pengurutan Mutu Kopi (Menguji TP 2 - Sorting)

Lengkapi implementasi Bubble Sort descending untuk merangking data kopi dari mutu tertinggi ke terendah:

def urutkan_kopi(daftar_kopi):
    n = len(daftar_kopi)
    for i in range(n):
        swapped = False
        for j in range(0, n - i - 1):
            # Tuliskan kondisi perbandingan dan penukaran (swap) elemen:
            ...................................................................................................
            ...................................................................................................
        if not swapped:
            break
    return daftar_kopi
Bagian 4: Agen Cerdas Rekomendasi (Menguji TP 3 - Similarity Matching)

Rancang fungsi pencocokan jarak kemiripan (Euclidean Distance) dan kembalikan 2 kopi paling cocok:

import math

def rekomendasi_kopi(daftar_kopi, target_aroma, target_rasa, target_after):
    for item in daftar_kopi:
        # 1. Hitung jarak kemiripan Euclidean Distance:
        ...................................................................................................
        # 2. Konversikan jarak menjadi persentase skor kemiripan (0 - 100%):
        ...................................................................................................
    # 3. Urutkan berdasarkan kemiripan tertinggi dan kembalikan 2 rekomendasi terbaik:
    ...........................................................................................................
    pass
Bagian 5: Uji Coba Program & Bukti Running Terminal

Jalankan program terpadu di VS Code / Google Colab dan tempelkan salinan output terminal konsol:

[Area tempel teks output konsol / tangkapan layar eksekusi program]
Mengetahui,
Guru Mata Pelajaran,



Rislyon Ripi, S.Kom.
NIP. -
Toraja Utara, .................... 2025
Ketua Kelompok,



( .................................................... )
Instrumen Evaluasi & Rubrik Asesmen

Panduan Asesmen Diagnostik, Formatif, & Sumatif

Mengacu pada Permendikdasmen No. 13 Tahun 2025 (8 Dimensi Profil Lulusan & Pembelajaran Mendalam)

A. Asesmen Diagnostik Awal

Kuis Cepat Apersepsi (5 Menit via Kahoot / Google Form / IFP Board)

Pertanyaan 1: Konsep Modularitas

"Apa kegunaan utama membuat fungsi dalam pemrograman dibandingkan menulis seluruh kode secara memanjang (monolitik)?"

Pertanyaan 2: Efisiensi Komputasi

"Jika terdapat 1.000 data acak, berapa perkiraan perbandingan langkah mencari data antara memeriksa satu per satu vs data yang sudah terurut rapi?"

B. Asesmen Formatif (Ceklis Observasi Selama Pembelajaran 3M)

Instrumen Pemantauan Perkembangan Berkesadaran (Mindful), Bermakna (Meaningful), & Menggembirakan (Joyful)

Ceklis Kolaborasi (Pair Programming)

Peserta didik aktif bergantian peran antara Driver (mengetik kode implementasi) dan Navigator (meneliti logika, algoritma, serta pencegahan bug).

Ceklis Kemandirian Debugging

Peserta didik membaca dan menafsirkan pesan kesalahan (error traceback) secara mandiri serta melakukan dry-run variabel sebelum meminta bantuan guru.

Ceklis Penalaran Kritis & Etika AI

Mampu memvalidasi kebenaran hasil pengurutan data serta menjelaskan batasan asumsi algoritma rekomendasi (misal: potensi bias terhadap komoditas tertentu).

C. Asesmen Sumatif: Rubrik Analitik Proyek Prototipe AI (4 Skala)

Persis Sesuai Dokumen Resmi Word: Menilai TP 1, TP 2 (Searching & Sorting), TP 3, serta Dimensi Profil Lulusan

Kriteria Penilaian Perlu Bimbingan (1) Cukup (2) Baik (3) Sangat Baik (4)
Struktur Modular & Dekomposisi (TP 1) Program masih bersifat monolitik/panjang tanpa fungsi, atau fungsi tidak memiliki parameter dan return value yang tepat. Program sudah menggunakan fungsi dasar, namun pemisahan tanggung jawab logika antar-fungsi masih tumpang tindih. Program terdekomposisi dengan baik ke dalam beberapa fungsi modular mandiri dengan parameter dan return yang tepat. Arsitektur modular sangat rapi, reusable, bersih (clean code), menerapkan variable scoping sempurna, dan minim redundansi.
Implementasi Searching & Sorting (TP 2) Mengalami kesulitan menuliskan algoritma sorting/searching secara mandiri; perulangan logika menghasilkan galat tak berhingga (infinite loop). Algoritma sorting dan searching dapat berjalan untuk data sederhana, namun gagal saat diterapkan pada list of dictionary multi-atribut. Mampu mengimplementasikan algoritma Binary Search dan Bubble Sort dengan tepat pada struktur data multidimensi kontekstual lokal. Mampu memodifikasi dan mengoptimasi algoritma (early-stop flag) serta menjelaskan perbandingan efisiensi waktu komputasi secara mendalam.
Logika Agen Cerdas Rekomendasi (TP 3) Sistem belum mampu memberikan rekomendasi berbasis data; pencocokan masih berupa percabangan statis (hardcoded if-else). Logika rekomendasi bekerja dengan aturan sederhana, tetapi perankingan hasil kemiripan belum akurat. Berhasil mengintegrasikan fungsi modular, sorting, dan similarity score untuk menghasilkan rekomendasi berbasis data kontekstual yang valid. Agen cerdas mampu menghitung metrik jarak kemiripan terbobot, menangani galat input (exception handling), dan memberi rasional rekomendasi.
Penalaran Kritis & Kolaborasi (Profil Lulusan) Pasif dalam kerja tim; tidak mampu menjelaskan alur kerja baris kode yang dibuatnya sendiri. Cukup aktif dalam tim, namun kesulitan saat diminta melakukan trace code (melacak nilai variabel per langkah eksekusi). Mampu berkolaborasi harmonis dalam pair programming dan menjelaskan alur algoritma dengan lancar saat ditanya guru/rekan sejawat. Menunjukkan penalaran kritis tajam dalam mengevaluasi kelemahan/bias algoritma, mendokumentasikan kode secara profesional, dan memimpin kolaborasi tim.

Lembar Refleksi Diri Siswa (Metakognisi 3-2-1)

3 Hal Baru yang Saya Pahami:

Dekomposisi modular Python, efisiensi Binary vs Linear Search, dan formula matematis kemiripan AI.

2 Hal Paling Menantang & Solusinya:

Melacak indeks nested loop pada sorting dan menghitung rumus Euclidean Distance.

1 Ide Kreatif untuk Toraja:

Mengembangkan sistem katalog rekomendasi motif ukiran Passura' atau pemetaan mutu kopi petani Toraja berbasis Python.

Lembar Refleksi Guru (Evaluasi Desain Pembelajaran)

• Kecukupan Waktu: Apakah 14 JP (7 Pertemuan) mencukupi bagi seluruh peserta didik untuk menuntaskan prototipe program?
• Bottleneck Materi: Pada pertemuan mana siswa mengalami kesulitan konsep paling signifikan (perulangan bersarang atau formula jarak)?
• Kontekstual Lokal: Apakah studi kasus komoditas Kopi Toraja terbukti membangkitkan antusiasme belajar (Meaningful & Joyful)?
• Tindak Lanjut: Langkah scaffolding adaptif apa yang disiapkan untuk kelompok yang memerlukan bimbingan meja intensif?

Media Pembelajaran Mendalam (Deep Learning) • Koding & Kecerdasan Artifisial

Rislyon Ripi - SMA Kristen Barana - 2025/2026