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 4 Pertemuan Terintegrasi & Lab Virtual

PERTEMUAN 1 (TP 1)

Arsitektur Modular & Scope

🧪 Lab 1: Kalkulator Mutu Kopi 🧪 Lab 2: Memori Scope Variabel
PERTEMUAN 2 (TP 2)

Efisiensi Searching & Sorting

🧪 Lab 3: Visualizer Linear/Binary 🧪 Lab 4: Visualizer Bubble Sort
PERTEMUAN 3 (TP 2 & TP 3)

Multi-Atribut & Logika AI

🧪 Lab 5: Filter Multi-Atribut Toraja 🧪 Lab 6: AI Recommender Engine
PERTEMUAN 4 (TP 3)

Integrasi Sistem & Evaluasi

🧪 Lab 7: Stress-Testing Ketahanan 🎊 Selebrasi Kelulusan Proyek

Lembar Kerja Peserta Didik (LKPD) & Rubrik Asesmen

Proyek terintegrasi 5 Bagian praktikum berbasis kearifan lokal Kopi Toraja dan Ukiran Passura'.

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

Arsitektur Pemrograman Modular & Manajemen Ruang Lingkup (Scope)

Fokus: TP 1
Misi Proyek Semester (Tahap 1): Membangun fondasi sistem "Toraja Smart Recommender" untuk Koperasi Kopi Barana'. Kita merancang fungsi penilai mutu uji cita rasa (cupping score), memisahkan fungsi ke berkas modul terpisah (kopi_utils.py), dan mengisolasi memori variabel lokal vs global untuk mencegah tabrakan data!

Pertanyaan Pemantik (Apersepsi & Scope):

"Bayangkan sebuah aplikasi kasir di Toraja dengan 100 baris instruksi tanpa fungsi. Jika rumus diskon berubah, apa dampaknya? Dan jika bagian penimbangan serta pengemasan sama-sama membuat variabel bernama berat_kg = 50 di dalam fungsinya masing-masing, mengapa data tidak tertukar? Bagaimana konsep Dekomposisi dan Ruang Lingkup Memori (Scope) melindungi integritas program?"

Materi Inti 1: Dekomposisi & Anatomi Fungsi Python

Dekomposisi adalah proses memecah persoalan komputasi kompleks menjadi sub-masalah kecil yang mandiri. Dalam Python, konsep ini diwujudkan 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 dihitung secara terisolasi.

3. Nilai Kembalian (return)

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

Contoh Program 1: 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!

Materi Inti 2: Ruang Lingkup Memori (LEGB Rule) & Refaktorisasi Reusable Module

Dalam Python, setiap variabel memiliki Scope (Ruang Lingkup Hidup) yang diatur oleh aturan LEGB (Local, Enclosing, Global, Built-in):

  • Variabel Lokal: Variabel yang dideklarasikan di dalam fungsi hanya hidup saat fungsi dieksekusi, lalu dibersihkan dari RAM. Mengaksesnya dari luar fungsi akan menghasilkan galat fatal NameError.
  • Variabel Global: Variabel yang dideklarasikan di luar fungsi dan dapat dibaca oleh seluruh modul.
  • Refaktorisasi Modul (kopi_utils.py): Memisahkan fungsi-fungsi utilitas ke file terpisah agar dapat diimpor secara bersih di program utama (from kopi_utils import hitung_skor_kopi).
Contoh Program 2: refactor_kopi_koperasi.py
# Variabel Global Koperasi
nama_koperasi = "Koperasi Kopi Barana' Toraja"
standar_ekspor_skor = 8.50

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: name 'skor_lot' is not defined!

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!
Kuis Cek Pemahaman:

Apa yang terjadi jika variabel lokal yang didefinisikan di dalam fungsi dipanggil langsung dari luar fungsi tanpa kata kunci global?

Refleksi Metakognisi P1:

Tuliskan pemahamanmu: "Mengapa memecah program ke fungsi dan file terpisah (kopi_utils.py) membuat kolaborasi tim lebih aman dari tabrakan kode?"

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

Efisiensi Komputasi Searching & Sorting

Fokus: TP 2
Kelanjutan Proyek (Tahap 2): Gudang Koperasi Barana' menampung ribuan sampel karung kopi. Kita membangun dua algoritma vital: Searching (Linear vs Binary Search) untuk melacak karung sampel, dan Sorting (Bubble Sort teroptimasi flag swapped & Insertion Sort) untuk merangking mutu kopi ekspor tertinggi ke terendah secara mangkus!

Pertanyaan Pemantik:

"Jika gudang Koperasi Barana' memiliki 10.000 lot karung kopi dengan nomor ID terurut, mengapa Binary Search bisa menemukan karung target dalam maksimal 14 langkah, sedangkan Linear Search butuh hingga 10.000 langkah? Dan bagaimana cara algoritma pengurutan menghemat putaran komputasi jika data sudah rapi?"

Materi Inti 1: 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
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 Search

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

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

Materi Inti 2: Bubble Sort Descending & Optimasi Flag Swapped

Dalam perangkingan mutu kopi Koperasi Barana', kita mengurutkan dari skor mutu tertinggi ke terendah (Descending):

  • Mekanisme Swap: Membandingkan dua elemen berdekatan. Jika elemen kiri lebih kecil dari kanan, lakukan pertukaran posisi arr[j], arr[j+1] = arr[j+1], arr[j].
  • Optimasi Early-Stop: Jika dalam satu putaran lengkap tidak ada elemen yang ditukar, flag swapped tetap False dan perulangan dihentikan seketika dengan break!
Contoh Program: urutkan_skor_kopi.py
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):
            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 proses pertukaran balok secara langsung!

> Status: Data acak siap diurutkan.
Kuis Cek Pemahaman:

Apa syarat mutlak agar algoritma Binary Search dapat bekerja dengan benar?

Refleksi Metakognisi P2:

Tuliskan analisismu: "Mengapa optimasi flag swapped pada Bubble Sort sangat penting saat memproses dataset komoditas dalam skala besar?"

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

Struktur Data Multi-Atribut & Rekayasa Agen Cerdas Rekomendasi

Fokus: TP 2 & TP 3
Kelanjutan Proyek (Tahap 3): Basis data Koperasi Barana' kini memuat profil multi-atribut Kopi Toraja (Nama, Lembang, Varietas, Skor Cupping) dan Motif Ukiran Toraja (Passura'). Kita merancang otak agen cerdas AI yang menghitung tingkat kemiripan (Similarity Matching berbasis jarak Euclidean) untuk merekomendasikan kopi paling cocok sesuai preferensi pembeli!

Pertanyaan Pemantik:

"Bagaimana aplikasi seperti Spotify merekomendasikan lagu baru yang cocok dengan seleramu tanpa memiliki perasaan manusia? Dan bagaimana kita mengonversi profil rasa kopi menjadi titik koordinat vektor matematika untuk menemukan rekomendasi terbaik?"

Materi Inti 1: List of Dictionaries & Query Multi-Atribut Toraja

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

daftar_kopi = [
    {"kode": "KP-01", "nama": "Arabika Sapan", "lembang": "Buntao", "skor": 87.5},
    {"kode": "KP-02", "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

Materi Inti 2: Logika AI Heuristics & Jarak Kemiripan Euclidean

Kecerdasan Artifisial (AI) sistem rekomendasi bekerja dengan 3 tahapan matematis:

  1. Vektorisasi Profil: Setiap kopi direpresentasikan sebagai titik dimensi (Aroma, Flavor, Aftertaste).
  2. Perhitungan Jarak Kemiripan: Mengukur kedekatan titik preferensi pengguna dengan data kopi memakai rumus Euclidean Distance: $\sqrt{(A_1 - A_2)^2 + (F_1 - F_2)^2 + (Af_1 - Af_2)^2}$.
  3. Perangkingan Output: Mengurutkan dari jarak terdekat (persentase kecocokan 0 - 100% tertinggi) untuk menyajikan Top Rekomendasi terbaik.
Contoh Program: similarity_agent.py
import math

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

Lab Virtual 6: Simulator Mesin Rekomendasi Cerdas

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

Kuis Cek Pemahaman:

Pada formula Euclidean Distance, apa makna nilai jarak komputasi yang mendekati angka 0?

Refleksi Etika AI & Budaya P3:

Tuliskan pandanganmu: "Bagaimana memastikan algoritma rekomendasi tetap adil bagi seluruh petani kopi lokal tanpa diskriminasi?"

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

Integrasi Sistem "Toraja Smart Recommender", Uji Ketahanan, & Asesmen Sumatif

Puncak: TP 3
Puncak Proyek Semester (Tahap 4): Seluruh modul yang dibangun di P1 (fungsi & file modular), P2 (searching & sorting), dan P3 (database multi-atribut & mesin rekomendasi AI) kini disatukan menjadi aplikasi utuh (driver code)! Kita menambahkan penanganan eksepsi (try-except), melakukan stress-testing ekstrim, menggelar Gallery Walk Showcase, dan melakukan asesmen sumatif total!

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 angka negatif atau string kosong. Bagaimana program buatan timmu mengantisipasi data yang salah menggunakan exception handling?"

Materi Inti: Driver Code Arsitektur & Exception Handling (try - except)

Pada pertemuan puncak ini, arsitektur sistem disempurnakan dengan dua pilar rekayasa perangkat lunak:

  • Driver Code (if __name__ == "__main__":): Blok program pengendali utama yang mengoordinasikan pemanggilan modul input, pencarian, perangkingan, dan rekomendasi dalam satu siklus eksekusi teratur.
  • Penanganan Eksepsi (try - except): Menangkap galat tak terduga (seperti ValueError saat pengguna menginput teks alih-alih angka desimal) agar aplikasi tidak macet mendadak.
  • Gallery Walk Showcase: Setiap pasang siswa mendemokan hasil program dan menerima data uji tantangan dari rekan sebaya (peer testing).
Contoh Program: main_toraja_recommender.py
if __name__ == "__main__":
    try:
        aroma_in = float(input("Masukkan Target Aroma (1 - 10): "))
        if not (1.0 <= aroma_in <= 10.0):
            raise ValueError("Skor aroma harus berada di rentang 1 s.d. 10!")
        print(f"Input valid: {aroma_in}. Memproses rekomendasi cerdas...")
    except ValueError as e:
        print(f"[Peringatan Keamanan Sistem] Masukan tidak valid: {e}")
    finally:
        print("Sistem Koperasi Kopi Barana' tetap berjalan stabil.")

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 4 Pertemuan Telah Tuntas

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

Kuis Cek Pemahaman:

Apa peran utama konstruksi blok try - except pada software skala produksi?

Refleksi Metakognisi P4 (Instrumen 3-2-1):

Tuliskan refleksimu: "Sebutkan 1 ide penerapan koding & AI lanjutan yang ingin kamu kembangkan untuk membantu sekolah atau masyarakat 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 8 JP (4 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