Coding dan Kecerdasan Artifisial

Semester 1

14 modul ajar · XI TJKT · Fase F

1

ML ITU MUDAH & MENYENANGKAN (No-Code)

3 modul — 4 pertemuan — kenalan dengan ML tanpa coding

Isi Pokok

• Definisi AI, ML, Deep Learning • Supervised Learning: data berlabel, prediksi (klasifikasi + regresi) • Unsupervised Learning: data tidak berlabel, clustering • Analogi: guru (supervised) vs self-learning (unsupervised)

Kegiatan Praktik

• Card sorting: kelompokkan contoh aplikasi ke Supervised/Unsupervised • Studi kasus: deteksi spam, rekomendasi Netflix, pengelompokan pelanggan • Diskusi: aplikasi ML apa yang paling sering kalian pakai?

Buka modul →

Isi Pokok

• Dataset, class, sample — apa bedanya? • Pengaruh jumlah & variasi data terhadap akurasi • Training model tanpa coding

Kegiatan Praktik

• Kumpulkan 3 objek (botol, buku, HP, dll) • Buka Teachable Machine → webcam → record @50+ sampel per kelas • Klik **Train Model** — lihat AI belajar otomatis • Tes prediksi: ubah sudut, jarak, pencahayaan — apa yang terjadi?

Buka modul →

Isi Pokok

• Feature = angka yang dibaca komputer • Label = jawaban yang benar • Feature relevan vs tidak relevan • Feature Engineering: memilih & membuat feature yang baik

Kegiatan Praktik

• Card sort: ciri-ciri siswa (tinggi, berat, rambut, warna sepatu) — mana feature relevan? • Think-Pair-Share: kasus "Prediksi siswa naik kelas" — feature apa saja? • Praktik Excel/Sheets: buat dataset 20 baris dari data teman sekelas

Buka modul →
2

CODING ML DENGAN PYTHON

3 modul — 3 pertemuan — belajar coding untuk ML

Isi Pokok

• Kenapa Python untuk AI/ML? • Google Colab: notebook online, gratis, GPU • Variabel, tipe data (int, float, string) • List, perulangan `for`, percabangan `if-else` • Library: `import`, fungsi sederhana

Kegiatan Praktik

• Live coding guru — siswa ikut mengetik • Tebak output — kuis interaktif • Modifikasi kode: ganti nilai, lihat perubahan • Perbandingan: syntax Python vs C++ (yang sudah dipelajari di kelas X)

Buka modul →

Isi Pokok

• Dataset dunia nyata: CSV (Comma Separated Values) • GIGO: Garbage In, Garbage Out • Data Exploration: head, info, describe • Outlier: data aneh yang merusak model

Kegiatan Praktik

• Download dataset dari Kaggle / data nilai siswa • Upload ke Colab → `pd.read_csv()` • Eksplorasi: berapa baris? kolom? tipe data? • Berburu outlier: cari nilai janggal di data • Diskusi: "Apa akibatnya kalau data kotor?"

Buka modul →

Isi Pokok

• Normalisasi: menyamakan skala angka (0–1) • Train-Test Split: 80% belajar, 20% ujian • Kenapa tidak boleh pakai data ujian untuk belajar?

Kegiatan Praktik

• Simulasi kartu: 80 kartu train, 20 kartu test • Praktik Colab: `train_test_split()` • Praktik: `MinMaxScaler` untuk normalisasi • Eksperimen: bandingkan model dengan & tanpa normalisasi

Buka modul →
3

MEMBUAT MODEL SENDIRI

3 modul — 3 pertemuan — training, evaluasi, save/load

Isi Pokok

• MLPClassifier: jaringan saraf sederhana • Hyperparameter: epoch, learning rate • Overfitting vs underfitting • Model = kumpulan angka (bobot/weight)

Kegiatan Praktik

• Praktik Colab: training MLPClassifier di dataset numerik • Eksperimen 9 kombinasi: epoch (50/100/200) × learning rate (0.001/0.01/0.1) • Catat akurasi tiap kombinasi — mana terbaik? • Diskusi: "Kenapa learning rate besar malah jelek?"

Buka modul →

Isi Pokok

• Confusion Matrix: TP, TN, FP, FN • Accuracy per class (tidak cukup accuracy saja) • Precision, Recall, F1-score (intuisi) • Kapan FP berbahaya? Kapan FN berbahaya?

Kegiatan Praktik

• Simulasi kartu: 4 kuadran confusion matrix • Praktik Colab: `confusion_matrix()`, `classification_report()` • Analisis: kelas mana yang paling sering salah? • Studi kasus: deteksi penyakit — FP vs FN, mana lebih berbahaya?

Buka modul →
1× JP

Isi Pokok

• `joblib.dump()` — simpan model ke file • `joblib.load()` — muat model dari file • .pkl = file model jadi • Prediksi data baru tanpa training ulang

Kegiatan Praktik

• Train model → `joblib.dump()` → download .pkl • Upload .pkl → `joblib.load()` → prediksi data baru • Eksperimen: prediksi data siswa baru (yang tidak ada di dataset training) • Diskusi: "Ini yang terjadi di aplikasi nyata — model dilatih sekali, dipakai berkali-kali"

Buka modul →
4

APLIKASI DUNIA NYATA

3 modul — 3 pertemuan — real-time, chatbot, LLM

Isi Pokok

• Static vs Real-time classification • Export model TM ke TensorFlow.js • Confidence bar chart • Faktor: jarak, sudut, pencahayaan

Kegiatan Praktik

• Buat model di TM → Export → TensorFlow.js → Download ZIP • Buka `index.html` di browser — kamera hidup, prediksi real-time! • Eksperimen: jarak dekat vs jauh, terang vs redup, angle berbeda • Diskusi: "Di aplikasi nyata, apa saja tantangan real-time?"

Buka modul →
1× JP

Isi Pokok

• TF-IDF: mengubah teks jadi angka • Cosine Similarity: mengukur kemiripan teks • Threshold: batas keyakinan chatbot • Dataset FAQ: 30+ pertanyaan + jawaban

Kegiatan Praktik

• Buat 30+ FAQ di Google Sheets → download CSV • Upload CSV ke Colab → training TF-IDF • Uji chatbot: tanya 6 tipe pertanyaan • Eksperimen: ubah threshold — apa efeknya? • Diskusi: "Kapan chatbot rule-based lebih baik dari AI?"

Buka modul →

Isi Pokok

• LLM vs Rule-based: perbedaan fundamental • API key: kunci rumah digital • Temperature: kreativitas vs kepastian • Prompt engineering: cara bertanya yang baik • Halusinasi AI: AI percaya diri tapi salah

Kegiatan Praktik

• Daftar provider (Groq/Gemini) — pilih salah satu • Dapatkan API key • Jalankan chatbot Colab — ngobrol dengan AI! • Eksperimen temperature: 0 vs 1 — beda apa? • Bandingkan: tanya hal yang sama ke chatbot Modul 11 vs Modul 12

Buka modul →
5

PROYEK AKHIR

2 modul — 4 pertemuan — science project + integrasi

Isi Pokok

• Siklus ilmiah ML: Collect → Train → Predict • MediaPipe Pose Detection: 33 landmark → 99 angka • Dataset postur: tegak, miring, bungkuk • Training MLPClassifier → real-time predict • Ergonomi untuk TJKT

Kegiatan Praktik

**Pertemuan 1:** Setup MediaPipe → collect data 3 postur @50 sampel → train model → save .pkl **Pertemuan 2:** Load model → real-time predict → eksperimen jarak/cahaya → analisis akurasi → diskusi ergonomi

Buka modul →

Isi Pokok

• Integrasi 5 fitur dalam 1 program Streamlit • Detection (MediaPipe) → ML (.pkl) → Chatbot (TF-IDF) → Graphics (chart) → Statistics (log) • Arsitektur sistem: data mengalir antar fitur • Challenge: Most Complete Program

Kegiatan Praktik

**Pertemuan 1:** Setup Streamlit → integrasi Detection + ML + Graphics → dashboard **Pertemuan 2:** Integrasi Chatbot + Statistics → debugging → presentasi

Buka modul →
14 Modul17 Pertemuan

Daftar Modul

Pertemuan 1

Supervised dan Unsupervised Learning

Mengenal dua pendekatan utama Machine Learning: Supervised Learning (belajar dengan data berlabel) dan Unsupervised Learning (menemukan pola tanpa label).

2 Pertemuan × 4 JP (1 JP = 45 menit)
Baca
supervised learningunsupervised learningklasifikasi+1
Pertemuan 2

Teachable Machine — No Code ML

Membuat model Machine Learning tanpa coding menggunakan Teachable Machine: klasifikasi gambar, suara, dan pose secara visual.

1 Pertemuan × 4 JP (180 menit)
Baca
teachable machineno-code MLklasifikasi gambar+1
Pertemuan 3

Feature Engineering

Memahami konsep fitur dan label, serta teknik feature engineering: seleksi fitur, encoding, scaling, dan ekstraksi fitur.

1 Pertemuan × 4 JP (180 menit)
Baca
feature engineeringfiturlabel+2
Pertemuan 4

Python dan Google Colab

Pengenalan dasar pemrograman Python untuk Machine Learning menggunakan Google Colab: variabel, tipe data, perulangan, dan library ML.

1 Pertemuan × 4 JP (180 menit)
Baca
pythongoogle colabpemrograman+2
Pertemuan 5

CSV dan Data Exploration

Membaca, mengeksplorasi, dan memahami dataset CSV menggunakan pandas: statistik deskriptif, visualisasi, dan deteksi anomali.

1 Pertemuan × 4 JP (180 menit)
Baca
csvpandasdata exploration+2
Pertemuan 6

Preprocessing Data

Teknik preprocessing: menangani missing values, encoding data kategorikal, scaling fitur, dan train-test split.

1 Pertemuan × 4 JP (180 menit)
Baca
preprocessingdata cleaningencoding+2
Pertemuan 7

Training dan Hyperparameter

Melatih model MLPClassifier, memahami epoch dan learning rate, serta melakukan eksperimen hyperparameter tuning.

1 Pertemuan × 4 JP (180 menit)
Baca
traininghyperparametermlpclassifier+2
Pertemuan 8

Model Evaluation

Mengevaluasi performa model dengan confusion matrix, akurasi per kelas, precision, recall, dan F1-score.

1 Pertemuan × 4 JP (180 menit)
Baca
evaluasiconfusion matrixakurasi+2
Pertemuan 9

Save dan Load Model

Menyimpan model ke file .pkl dengan joblib, memuatnya kembali, dan memahami konsep deployment model.

1 Pertemuan × 4 JP (180 menit)
Baca
joblibsave modelload model+2
Pertemuan 10

Real-time Classification

Menerapkan model real-time dengan webcam: ekspor ke TensorFlow.js, confidence score, dan pengujian di berbagai kondisi.

1 Pertemuan × 4 JP (180 menit)
Baca
real-timetensorflow.jswebcam+1
Pertemuan 11

Chatbot FAQ dengan TF-IDF

Membangun chatbot FAQ berbasis TF-IDF dan Cosine Similarity: dataset CSV, threshold, testing, dan improvement.

1 Pertemuan × 4 JP (180 menit)
Baca
chatbotfaqtf-idf+2
Pertemuan 12

Chatbot dengan LLM (Groq/Gemini)

Membangun chatbot berbasis Large Language Model: API Groq/Gemini, temperature, prompt engineering, dan halusinasi AI.

1 Pertemuan × 4 JP (180 menit)
Baca
llmchatbotgroq+3
Pertemuan 13

Klasifikasi Postur Duduk

Proyek deteksi postur duduk real-time: MediaPipe Pose Detection, MLPClassifier, dan ergonomi postur tegak, miring, bungkuk.

2 Pertemuan × 4 JP (360 menit)
Baca
mediapipepose detectionpostur+2
Pertemuan 14

All Features Integration — Smart Lab Assistant

Proyek capstone mengintegrasikan 5 fitur (Detection, ML, Chatbot, Graphics, Statistics) dalam satu dashboard Streamlit.

2 Pertemuan × 4 JP (360 menit)
Baca
streamlitintegrasidashboard+2