AI: Kuliah
Modul Kuliah Artificial Intelligence
- Program: Sarjana bidang Komputer/Teknologi Informasi
- Jumlah pertemuan: 14 pertemuan
- Pendekatan: Konsep, demonstrasi, praktik, diskusi kasus, dan evaluasi
- Perangkat utama: Orange Data Mining, Python, Jupyter Notebook, Ollama, Open WebUI, AnythingLLM, MCP, n8n, Hermes, dan OpenClaw
Deskripsi Mata Kuliah
Mata kuliah ini memperkenalkan Artificial Intelligence (AI) dari konsep dasar hingga penerapan modern. Mahasiswa mempelajari hubungan AI, Machine Learning, Deep Learning, Large Language Model, Retrieval*Augmented Generation, Model Context Protocol, otomatisasi, dan AI Agent. Pembelajaran dimulai dengan pendekatan visual menggunakan Orange, dilanjutkan dengan implementasi Python, kemudian berkembang menuju pemanfaatan model bahasa lokal dan sistem AI berbasis dokumen.
Mata kuliah menekankan pemahaman proses, bukan sekadar penggunaan aplikasi. Mahasiswa diharapkan mampu mengenali masalah yang sesuai untuk AI, menyiapkan data, membangun dan mengevaluasi model, menggunakan LLM secara bertanggung jawab, serta memahami risiko keamanan dan etika.
Capaian Pembelajaran
Setelah menyelesaikan mata kuliah ini, mahasiswa mampu:
- Menjelaskan konsep, sejarah, jenis, kemampuan, dan keterbatasan AI.
- Membedakan supervised, unsupervised, dan reinforcement learning.
- Menyiapkan data untuk proses Machine Learning.
- Membuat model klasifikasi dan clustering menggunakan Orange.
- Membuat pipeline Machine Learning menggunakan Python dan Scikit*learn.
- Menjelaskan konsep dasar LLM, transformer, token, context window, dan inference.
- Menjalankan model AI lokal dan menggunakan API Ollama.
- Menjelaskan serta membangun alur dasar RAG dan knowledge base.
- Menjelaskan fungsi MCP, tool calling, workflow otomatis, dan AI Agent.
- Mengidentifikasi risiko bias, privasi, hak cipta, hallucination, prompt injection, jailbreak, dan kebocoran data.
Metode dan Penilaian
| Komponen | Bobot |
|---|---|
| Latihan dan kuis | 30% |
| UTS | 30% |
| UAS | 40% |
- Catatan: bobot dapat disesuaikan dengan RPS dan kebijakan program studi.
Daftar Isi
- [Pengenalan Artificial Intelligence](pertemuan 1 pengenalan artificial-intelligence)
- [Dasar Machine Learning](pertemuan 2 dasar machine-learning)
- [Data dan Preprocessing](pertemuan 3 data dan preprocessing)
- [Machine Learning dengan Orange](pertemuan 4 machine-learning dengan orange)
- [Clustering dengan Orange](pertemuan 5 clustering dengan orange)
- [Machine Learning dengan Python](pertemuan 6 machine-learning dengan python)
- [ML Project dengan Python](pertemuan 7 ml-project dengan python)
- [Large Language Model](pertemuan 8 large language model llm)
- [Local AI dengan Ollama](pertemuan 9 local-ai dengan ollama)
- [RAG dan Knowledge Base](pertemuan 10 RAG dan knowledge-base)
- [Open WebUI dan AnythingLLM](pertemuan 11 open-webui dan anythingllm)
- [Model Context Protocol](pertemuan 12 model context protocol mcp)
- [AI Automation dan Agent](pertemuan 13 ai-automation dan agent)
- [Etika, Keamanan, dan Masa Depan AI](pertemuan 14 etika keamanan dan masa depan ai)
Pertemuan 1 — Pengenalan Artificial Intelligence
Tujuan Pembelajaran
Mahasiswa mampu menjelaskan pengertian AI, perkembangan singkat AI, perbedaan Narrow AI dan Generative AI, serta karakteristik dasar AI Agent.
Pengertian AI
Artificial Intelligence adalah bidang ilmu komputer yang mempelajari cara membangun sistem yang dapat melakukan tugas yang biasanya membutuhkan kecerdasan manusia. Tugas tersebut antara lain mengenali pola, memahami bahasa, mengambil keputusan, memecahkan masalah, merencanakan tindakan, dan menghasilkan konten.
AI bukan satu program atau satu algoritma. AI merupakan payung besar yang mencakup berbagai pendekatan, seperti:
- sistem berbasis aturan;
- pencarian dan perencanaan;
- Machine Learning;
- Deep Learning;
- pemrosesan bahasa alami;
- computer vision;
- robotika;
- Generative AI dan AI Agent.
Hubungan konsep utamanya dapat diringkas sebagai berikut:
Artificial Intelligence
└── Machine Learning
└── Deep Learning
└── Generative AI dan Large Language Model
Tidak semua AI menggunakan Machine Learning. Sistem pakar klasik, misalnya, dapat menggunakan aturan `IF–THEN` yang ditulis langsung oleh manusia.
Sejarah Singkat AI
| Periode | Perkembangan penting |
| 1940–1950-an | Fondasi komputasi, neuron buatan, dan pertanyaan mengenai mesin yang dapat berpikir |
| 1956 | Istilah Artificial Intelligence dipopulerkan dalam Dartmouth Workshop |
| 1960–1970-an | Berkembangnya symbolic AI, pencarian, dan pemecahan masalah |
| 1970–1990-an | Sistem pakar berkembang; keterbatasan komputer memicu beberapa periode AI winter |
| 1990–2010 | Machine Learning dan pendekatan berbasis data semakin dominan |
| 2010–2020 | Deep Learning berkembang karena data besar, GPU, dan peningkatan komputasi |
| 2020–sekarang | Generative AI, foundation model, multimodal AI, dan AI Agent berkembang pesat |
Perkembangan AI tidak hanya ditentukan oleh algoritma. Kemajuan juga dipengaruhi oleh ketersediaan data, kapasitas komputasi, infrastruktur cloud, perangkat GPU, dan ekosistem perangkat lunak terbuka.
Narrow AI
Narrow AI dirancang untuk menjalankan tugas tertentu. Sistem dapat sangat baik pada tugas tersebut, tetapi tidak otomatis mampu mengerjakan tugas lain.
Contoh:
- penyaring spam;
- rekomendasi film atau produk;
- pengenal wajah;
- prediksi transaksi penipuan;
- deteksi objek pada kamera;
- sistem navigasi.
Kemampuan tinggi pada satu tugas tidak berarti sistem mempunyai kesadaran atau kecerdasan umum seperti manusia.
Generative AI
Generative AI mempelajari pola dari data untuk menghasilkan konten baru, misalnya teks, gambar, audio, video, kode program, atau data sintetis. Model tidak mengambil satu dokumen lalu menyalinnya secara langsung. Model menghitung keluaran yang paling mungkin berdasarkan pola yang dipelajari dan konteks masukan.
Contoh pemanfaatan:
- membuat ringkasan;
- menyusun rancangan surat;
- menghasilkan ilustrasi;
- membantu pemrograman;
- membuat transkripsi dan suara sintetis;
- melakukan tanya jawab berbasis dokumen.
Generative AI dapat menghasilkan jawaban yang tampak meyakinkan tetapi salah. Karena itu, hasilnya harus diverifikasi.
AI Agent
AI Agent adalah sistem yang dapat menerima tujuan, mengamati keadaan, menentukan tindakan, menggunakan tools, dan mengulangi proses sampai tujuan tertentu tercapai atau proses dihentikan.
Komponen umum AI Agent:
- Goal — tujuan yang ingin dicapai.
- Model — komponen penalaran atau pengambilan keputusan.
- Memory/state — informasi yang dipertahankan selama proses.
- Tools — fungsi seperti pencarian, basis data, API, atau eksekusi program.
- Planning — pemilihan langkah untuk mencapai tujuan.
- Guardrails — batasan, validasi, izin, dan mekanisme keamanan.
Chatbot biasa merespons pesan. Agent dapat memilih tindakan dan berinteraksi dengan sistem lain. Tingkat otonomi yang lebih tinggi juga menghasilkan risiko yang lebih tinggi.
Aktivitas Kelas
Kelompokkan aplikasi berikut sebagai sistem berbasis aturan, predictive AI, Generative AI, atau AI Agent: filter spam, chatbot FAQ, generator gambar, deteksi fraud, dan agent pemesanan perjalanan.
Pertanyaan Diskusi
- Apakah setiap program otomatis dapat disebut AI?
- Mengapa model yang lancar menulis belum tentu memahami fakta?
- Kapan chatbot cukup, dan kapan sebuah agent dibutuhkan?
Rangkuman
AI adalah bidang luas untuk membangun sistem yang menjalankan tugas cerdas. Narrow AI berfokus pada tugas tertentu, Generative AI menghasilkan konten, sedangkan AI Agent dapat menggunakan model dan tools untuk menjalankan rangkaian tindakan.
Pertemuan 2 — Dasar Machine Learning=
Tujuan Pembelajaran
Mahasiswa mampu membedakan supervised, unsupervised, dan reinforcement learning serta menjelaskan fitur, label, training, validation, dan testing.
Pengertian Machine Learning
Machine Learning adalah pendekatan yang memungkinkan komputer mempelajari pola dari data. Alih*alih menulis semua aturan secara manual, pengembang menyediakan data dan algoritma pembelajaran untuk membentuk model.
Proses sederhananya:
Data → Preprocessing → Training → Model → Prediction → Evaluation
Istilah Dasar
- Instance/sample: satu baris pengamatan.
- Feature: variabel masukan yang digunakan model.
- Label/target: nilai yang ingin diprediksi.
- Model: representasi pola yang dipelajari dari data.
- Training: proses model belajar menggunakan data latih.
- Validation: proses memilih konfigurasi atau hyperparameter.
- Testing: pengukuran akhir pada data yang belum digunakan untuk belajar.
- Prediction/inference: penggunaan model untuk menghasilkan keluaran dari data baru.
Contoh prediksi kelulusan mahasiswa:
| Kehadiran | Nilai tugas | Jam belajar | Lulus |
|---|---|---|---|
| 90% | 85 | 8 | Ya |
| 55% | 60 | 2 | Tidak |
Tiga kolom pertama dapat menjadi fitur. Kolom `Lulus` menjadi label.
Supervised Learning
Supervised learning menggunakan data yang memiliki label.
Jenis tugas utama:
- Classification: memprediksi kategori, seperti spam/tidak spam.
- Regression: memprediksi nilai numerik, seperti harga rumah.
Algoritma contoh: Logistic Regression, Decision Tree, Random Forest, Support Vector Machine, k*Nearest Neighbors, dan Linear Regression.
Unsupervised Learning
Unsupervised learning bekerja pada data tanpa label untuk menemukan struktur tersembunyi.
Contoh tugas:
- mengelompokkan pelanggan;
- menemukan pola perilaku pengguna;
- mengurangi dimensi data;
- membantu mendeteksi anomali.
Algoritma contoh: K-Means, Hierarchical Clustering, DBSCAN, dan PCA.
Cluster tidak otomatis memiliki makna. Manusia tetap perlu menganalisis karakteristik setiap kelompok.
Reinforcement Learning
Reinforcement Learning melibatkan agent yang berinteraksi dengan environment. Agent memilih action, menerima reward atau penalty, lalu mempelajari policy yang memaksimalkan reward jangka panjang.
Komponen:
- agent;
- environment;
- state;
- action;
- reward;
- policy.
Contohnya antara lain permainan, robotika, pengendalian, dan optimasi keputusan berurutan.
Overfitting dan Underfitting
Underfitting terjadi ketika model terlalu sederhana dan gagal menangkap pola. Overfitting terjadi ketika model sangat cocok dengan data training tetapi buruk pada data baru.
Pencegahan overfitting meliputi:
- menyediakan data yang memadai;
- menggunakan train*validation*test;
- cross*validation;
- regularization;
- membatasi kompleksitas model;
- menghindari data leakage.
Aktivitas Kelas
Tentukan tipe pembelajaran untuk kasus prediksi harga rumah, klasifikasi email, segmentasi pelanggan, robot belajar berjalan, dan pengelompokan berita.
Latihan
Untuk kasus deteksi transaksi mencurigakan, tentukan instance, lima calon fitur, label, dan alasan pemilihan metode pembelajaran.
Pertemuan 3 — Data dan Preprocessing=
Tujuan Pembelajaran
Mahasiswa mampu melakukan pemeriksaan kualitas data, menangani missing value, mengubah data kategorikal, melakukan normalisasi, dan membagi data secara benar.
Mengapa Preprocessing Penting?
Model mempelajari pola yang terdapat dalam data. Data yang salah, bias, tidak konsisten, atau bocor akan menghasilkan model yang tidak dapat dipercaya. Istilah *garbage in, garbage out* menegaskan bahwa algoritma yang baik tidak dapat sepenuhnya menyelamatkan data yang buruk.
Data Cleaning
Pemeriksaan awal meliputi:
- nama dan arti setiap kolom;
- tipe data;
- rentang nilai;
- data duplikat;
- format tidak konsisten;
- nilai mustahil;
- outlier;
- distribusi kelas;
- sumber dan waktu pengumpulan data.
Contoh inkonsistensi kategori: `Jakarta`, `jakarta`, `JKT`, dan `DKI Jakarta`. Nilai harus diseragamkan berdasarkan definisi yang disepakati.
Missing Value
Pilihan penanganan missing value:
- Menghapus baris jika jumlahnya kecil dan penghapusan tidak menimbulkan bias.
- Menghapus kolom jika sebagian besar nilai hilang dan kolom tidak penting.
- Imputasi mean atau median untuk numerik.
- Imputasi modus untuk kategori.
- Menggunakan nilai `Unknown` apabila ketiadaan nilai memiliki makna.
- Menggunakan model imputasi untuk kasus yang lebih kompleks.
Keputusan tidak boleh hanya berdasarkan kemudahan. Penyebab data hilang perlu dipahami.
Encoding Data Kategorikal
Model umumnya membutuhkan angka. Data kategorikal dapat diubah menggunakan:
- Ordinal encoding: cocok jika kategori memiliki urutan, misalnya rendah–sedang–tinggi.
- One*hot encoding: membuat kolom biner untuk setiap kategori tanpa urutan.
Memberi kode `Jakarta=1`, `Bandung=2`, `Surabaya=3` dapat menimbulkan urutan palsu jika digunakan sembarangan.
Scaling dan Normalisasi
Standardisasi mengubah data agar rata-rata mendekati 0 dan standar deviasi mendekati 1:
$$z = \frac{x*\mu}{\sigma}$$
Min*max scaling memetakan nilai ke rentang tertentu, umumnya 0–1:
$$x' = \frac{x*x_{min}}{x_{max}*x_{min}}$$
Scaling penting bagi metode berbasis jarak atau gradien, seperti K*Means, KNN, SVM tertentu, dan neural network. Decision Tree biasanya tidak terlalu bergantung pada scaling.
Train-Test Split
Data training digunakan untuk belajar; data testing digunakan untuk evaluasi akhir. Pembagian umum adalah 80:20 atau 70:30. Untuk klasifikasi, gunakan stratification agar proporsi kelas tetap terjaga.
Preprocessing yang mempelajari statistik data—misalnya imputasi dan scaling—harus di**fit* hanya pada data training. Jika seluruh data digunakan sebelum split, informasi data testing dapat bocor ke proses training.
Data Leakage
Data leakage terjadi saat model memperoleh informasi yang seharusnya tidak tersedia ketika prediksi nyata dilakukan.
Contoh:
- fitur `tanggal_lunas` digunakan untuk memprediksi gagal bayar;
- normalisasi dilakukan menggunakan seluruh data sebelum split;
- baris dari orang yang sama masuk ke training dan testing;
- fitur dibuat dari kejadian yang baru terjadi setelah label diketahui.
Praktik
Gunakan dataset sederhana. Lakukan inspeksi tipe data, duplikat, nilai hilang, distribusi label, encoding, scaling, dan train*test split. Dokumentasikan alasan setiap keputusan.
Checklist Preprocessing
- [ ] Arti setiap fitur diketahui.
- [ ] Duplikat telah diperiksa.
- [ ] Missing value ditangani secara beralasan.
- [ ] Kategori sudah konsisten.
- [ ] Scaling diterapkan bila dibutuhkan.
- [ ] Split dilakukan sebelum fitting preprocessing.
- [ ] Kebocoran target dan kebocoran waktu sudah diperiksa.
Pertemuan 4 — Machine Learning dengan Orange=
Tujuan Pembelajaran
Mahasiswa mampu membangun workflow klasifikasi visual dan membandingkan beberapa model menggunakan Orange Data Mining.
Mengenal Orange
Orange adalah perangkat lunak visual untuk data mining dan Machine Learning. Proses analisis dibangun dengan menghubungkan widget. Orange cocok untuk memahami alur ML karena mahasiswa dapat melihat hubungan antara data, preprocessing, model, evaluasi, dan visualisasi.
Workflow Klasifikasi Dasar
Bangun alur berikut:
File → Select Columns → Data Table
→ Distributions
→ Test & Score ← Logistic Regression
← Tree
← Random Forest
→ Confusion Matrix
→ ROC Analysis
Fungsi widget:
| Widget | Fungsi |
|---|---|
| File | Membaca CSV, Excel, atau dataset contoh |
| Select Columns | Menentukan feature, target, dan meta |
| Data Table | Memeriksa baris data |
| Impute | Menangani missing value |
| Continuize | Mengubah kategori atau melakukan transformasi tertentu |
| Test & Score | Mengevaluasi dan membandingkan learner |
| Confusion Matrix | Melihat benar/salah per kelas |
| ROC Analysis | Membandingkan kemampuan pemisahan kelas |
Evaluasi Klasifikasi
Confusion matrix untuk klasifikasi biner terdiri dari:
- True Positive (TP): positif diprediksi positif.
- True Negative (TN): negatif diprediksi negatif.
- False Positive (FP): negatif diprediksi positif.
- False Negative (FN): positif diprediksi negatif.
Metrik penting:
$$Accuracy = \frac{TP+TN}{TP+TN+FP+FN}$$
$$Precision = \frac{TP}{TP+FP}$$
$$Recall = \frac{TP}{TP+FN}$$
$$F1 = 2\times\frac{Precision\times Recall}{Precision+Recall}$$
Accuracy dapat menyesatkan pada data tidak seimbang. Pada deteksi penyakit atau serangan, false negative dapat lebih berbahaya sehingga recall perlu diperhatikan.
Praktikum
- Buka dataset klasifikasi contoh, misalnya Iris atau Titanic.
- Tentukan target dan fitur.
- Periksa distribusi label.
- Bandingkan Logistic Regression, Tree, dan Random Forest.
- Gunakan cross*validation pada Test & Score.
- Buka Confusion Matrix dan identifikasi jenis kesalahan.
- Jelaskan model yang dipilih berdasarkan kebutuhan kasus, bukan hanya skor tertinggi.
Tugas
Simpan workflow `.ows` dan buat laporan satu halaman berisi dataset, target, fitur, preprocessing, tiga model, hasil evaluasi, dan interpretasi kesalahan.
Pertemuan 5 — Clustering dengan Orange
Tujuan Pembelajaran
Mahasiswa mampu melakukan clustering menggunakan K*Means dan Hierarchical Clustering serta menggunakan PCA untuk visualisasi.
Konsep Clustering
Clustering mengelompokkan data berdasarkan kemiripan tanpa menggunakan label target. Objek dalam cluster yang sama diharapkan lebih mirip dibandingkan dengan objek pada cluster berbeda.
Clustering berguna untuk eksplorasi dan pembentukan hipotesis. Hasil cluster bukan kebenaran mutlak dan tidak otomatis sama dengan kategori dunia nyata.
K-Means
K-Means membagi data menjadi `K` cluster melalui proses berulang:
- memilih centroid awal;
- menempatkan setiap titik ke centroid terdekat;
- menghitung ulang centroid;
- mengulangi sampai stabil.
Kelebihan: sederhana dan cepat. Keterbatasan: jumlah cluster harus ditentukan, sensitif terhadap skala dan outlier, serta cocok terutama untuk cluster yang relatif kompak.
Metode untuk membantu memilih K:
- elbow method;
- silhouette score;
- interpretasi domain.
Hierarchical Clustering
Hierarchical Clustering membentuk hierarki kelompok yang divisualisasikan sebagai dendrogram. Pendekatan agglomerative dimulai dari setiap objek sebagai cluster terpisah, kemudian menggabungkan cluster terdekat secara bertahap.
Hasil dapat dipengaruhi oleh distance metric dan linkage method.
PCA
Principal Component Analysis mengubah banyak fitur menjadi komponen baru yang mempertahankan sebanyak mungkin variasi data. PCA sering digunakan untuk reduksi dimensi dan visualisasi dua dimensi.
Komponen PCA bukan fitur asli, melainkan kombinasi linear dari fitur. Oleh karena itu, visualisasi menjadi lebih mudah tetapi interpretasi dapat berkurang.
Workflow Orange
File → Select Columns → Impute → Normalize → K*Means → Scatter Plot
→ Distances → Hierarchical Clustering
→ PCA → Scatter Plot
Praktikum
- Pilih dataset numerik.
- Hapus identifier yang tidak relevan.
- Tangani nilai hilang.
- Normalisasi fitur.
- Jalankan K*Means untuk beberapa nilai K.
- Bandingkan silhouette score.
- Gunakan PCA dan Scatter Plot.
- Jelaskan karakteristik setiap cluster menggunakan distribusi fitur asli.
Pertanyaan Kritis
- Apakah ID pelanggan boleh menjadi fitur clustering?
- Mengapa hasil berubah setelah normalisasi?
- Apakah cluster boleh langsung diberi label “pelanggan baik” atau “buruk”?
Pertemuan 6 — Machine Learning dengan Python
Tujuan Pembelajaran
Mahasiswa mampu menggunakan Jupyter Notebook, Pandas, NumPy, dan Scikit*learn untuk membaca, memeriksa, membagi, dan memodelkan data.
Perangkat
- Python: bahasa pemrograman.
- Jupyter Notebook: lingkungan interaktif berisi kode, teks, dan hasil.
- NumPy: operasi array dan numerik.
- Pandas: manipulasi data tabular.
- Scikit*learn: preprocessing, model, evaluasi, dan pipeline ML.
- Matplotlib/Seaborn: visualisasi data.
Instalasi dalam virtual environment:
python3 *m venv .venv source .venv/bin/activate python *m pip install **upgrade pip python *m pip install jupyterlab pandas numpy scikit*learn matplotlib seaborn jupyter lab
Membaca dan Memeriksa Data
import pandas as pd
df = pd.read_csv("data.csv")
display(df.head())
print(df.shape)
print(df.info())
display(df.describe(include="all"))
print(df.isna().sum())
print(df.duplicated().sum())
Pemeriksaan tidak berhenti pada output program. Mahasiswa harus menjelaskan apakah tipe data masuk akal, apakah distribusi target seimbang, dan apakah terdapat kolom yang dapat menyebabkan leakage.
Contoh Klasifikasi Dasar
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score, classification_report
data = load_iris(as_frame=True)
X = data.data
y = data.target
X_train, X_test, y_train, y_test = train_test_split(
X,
y,
test_size=0.2,
random_state=42,
stratify=y,
)
model = LogisticRegression(max_iter=1000)
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
print("Accuracy:", accuracy_score(y_test, y_pred))
print(classification_report(y_test, y_pred))
`random_state` membantu reproduksibilitas. `stratify=y` mempertahankan proporsi kelas. Data testing tidak digunakan dalam `fit()`.
NumPy Singkat
import numpy as np nilai = np.array([70, 80, 90, 85]) print(nilai.mean()) print(nilai.std())
Pandas dibangun di atas konsep array dan cocok untuk data berlabel. NumPy lebih dekat dengan operasi numerik array.
Latihan
Ubah `test_size`, coba Decision Tree, lalu bandingkan accuracy, precision, recall, dan F1*score. Jelaskan mengapa satu kali split belum cukup untuk menyatakan satu algoritma selalu lebih baik.
Pertemuan 7 — ML Project dengan Python
Tujuan Pembelajaran
Mahasiswa mampu membangun pipeline lengkap dari preprocessing hingga evaluasi model tanpa data leakage.
Rumusan Masalah
Sebelum menulis kode, tentukan:
- masalah yang ingin diselesaikan;
- unit observasi;
- target yang diprediksi;
- kapan prediksi dilakukan;
- fitur yang tersedia pada saat prediksi;
- dampak false positive dan false negative;
- metrik keberhasilan.
Pipeline Preprocessing dan Model
Contoh berikut menangani fitur numerik dan kategorikal dalam satu pipeline:
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.compose import ColumnTransformer
from sklearn.pipeline import Pipeline
from sklearn.impute import SimpleImputer
from sklearn.preprocessing import OneHotEncoder, StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import classification_report, confusion_matrix
df = pd.read_csv("data.csv")
target = "label"
X = df.drop(columns=[target])
y = df[target]
numeric_features = X.select_dtypes(include="number").columns
categorical_features = X.select_dtypes(exclude="number").columns
numeric_pipeline = Pipeline([
("imputer", SimpleImputer(strategy="median")),
("scaler", StandardScaler()),
])
categorical_pipeline = Pipeline([
("imputer", SimpleImputer(strategy="most_frequent")),
("encoder", OneHotEncoder(handle_unknown="ignore")),
])
preprocessor = ColumnTransformer([
("numeric", numeric_pipeline, numeric_features),
("categorical", categorical_pipeline, categorical_features),
])
pipeline = Pipeline([
("preprocessor", preprocessor),
("model", LogisticRegression(max_iter=1000)),
])
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42, stratify=y
)
pipeline.fit(X_train, y_train)
y_pred = pipeline.predict(X_test)
print(confusion_matrix(y_test, y_pred))
print(classification_report(y_test, y_pred))
Pipeline memastikan transformasi dipelajari dari training dan diterapkan secara konsisten pada testing atau data baru.
Baseline dan Perbandingan Model
Model harus dibandingkan dengan baseline. Untuk klasifikasi, baseline sederhana dapat selalu memilih kelas terbanyak. Model kompleks tidak bernilai jika tidak memperbaiki baseline secara bermakna.
Gunakan cross-validation untuk perbandingan yang lebih stabil:
from sklearn.model_selection import cross_val_score
scores = cross_val_score(pipeline, X, y, cv=5, scoring="f1_macro")
print(scores)
print("Mean F1:", scores.mean())
==Dokumentasi Eksperimen
Catat dataset, versi data, definisi target, fitur, split, random seed, preprocessing, algoritma, hyperparameter, metrik, hasil, dan keterbatasan.
Proyek Mini
Mahasiswa membuat proyek klasifikasi atau regresi dengan keluaran:
- rumusan masalah;
- data dictionary;
- notebook yang dapat dijalankan ulang;
- analisis kualitas data;
- pipeline preprocessing;
- baseline dan minimal dua model;
- evaluasi dan interpretasi;
- keterbatasan, risiko, serta rekomendasi.
Pertemuan 8 — Large Language Model (LLM)=
Tujuan Pembelajaran
Mahasiswa mampu menjelaskan transformer, token, context window, inference, parameter sampling, dan prinsip prompt engineering.
Apa Itu LLM?
LLM adalah model bahasa berskala besar yang dilatih pada data teks dalam jumlah besar untuk memprediksi token. Dari kemampuan dasar ini muncul kemampuan menghasilkan teks, meringkas, menerjemahkan, menjawab pertanyaan, dan membantu pemrograman.
LLM bukan basis data fakta. Jawaban dibentuk melalui prediksi probabilistik. Pengetahuan model dapat tidak lengkap, kedaluwarsa, atau salah.
Token
Token adalah unit yang diproses model. Satu token dapat berupa kata, bagian kata, tanda baca, atau karakter tertentu. Jumlah token tidak sama dengan jumlah kata.
Token digunakan untuk menghitung panjang input dan output. Percakapan, instruksi, dokumen, serta hasil model semuanya dapat memakai ruang context window.
Transformer dan Attention
Transformer adalah arsitektur yang memungkinkan model memperhatikan hubungan antar*token dalam konteks. Mekanisme attention membantu model menentukan bagian input yang relevan ketika menghasilkan token berikutnya.
Penjelasan konseptual:
- teks diubah menjadi token;
- token diubah menjadi vektor;
- attention menghitung hubungan antar*token;
- lapisan jaringan mengolah representasi;
- model menghasilkan distribusi probabilitas token berikutnya;
- proses diulang sampai keluaran selesai.
Context Window
Context window adalah jumlah token yang dapat dipertimbangkan dalam satu proses. Jika konteks terlalu panjang, aplikasi dapat memotong, meringkas, atau menolak sebagian input. Context window besar tidak menjamin semua detail digunakan secara sama baik.
Training dan Inference
- Pretraining: mempelajari pola umum dari korpus besar.
- Fine*tuning: melatih lebih lanjut untuk tugas atau perilaku tertentu.
- Alignment: mengarahkan perilaku agar lebih membantu dan aman.
- Inference: menjalankan model untuk menghasilkan respons.
Parameter Generasi
- Temperature: mengatur keragaman keluaran.
- Top-p: memilih token dari kumpulan probabilitas kumulatif.
- Max tokens: membatasi panjang keluaran.
- Stop sequence: menghentikan generasi pada pola tertentu.
Untuk tugas faktual, temperature rendah sering lebih stabil. Namun temperature rendah tidak menjamin kebenaran.
Prompt Engineering
Prompt yang baik umumnya memuat:
- peran atau konteks;
- tujuan;
- data masukan;
- batasan;
- format keluaran;
- kriteria kualitas;
- contoh bila diperlukan.
Contoh:
Anda adalah asisten analisis data tingkat sarjana. Jelaskan confusion matrix berdasarkan data yang diberikan. Gunakan bahasa Indonesia yang sederhana. Pisahkan TP, TN, FP, dan FN dalam tabel. Jangan membuat angka yang tidak tersedia. Jika data kurang, tuliskan data apa yang dibutuhkan.
Aktivitas
Bandingkan prompt yang kabur dengan prompt terstruktur. Evaluasi hasil berdasarkan ketepatan, kelengkapan, konsistensi format, dan halusinasi.
Pertemuan 9 — Local AI dengan Ollama
Tujuan Pembelajaran
Mahasiswa mampu menjalankan model lokal menggunakan Ollama, memilih model berdasarkan sumber daya, serta memanggil API lokal.
Mengapa Menjalankan AI Lokal?
Keuntungan:
- data dapat tetap berada di perangkat;
- dapat digunakan tanpa bergantung penuh pada layanan cloud;
- biaya eksperimen lebih terkontrol;
- model dan konfigurasi lebih mudah diuji.
Keterbatasan:
- membutuhkan RAM/VRAM dan penyimpanan;
- model kecil dapat memiliki kemampuan lebih rendah;
- keamanan perangkat tetap menjadi tanggung jawab pengguna;
- penggunaan lokal tidak otomatis membuat sistem aman atau privat.
Perintah Dasar Ollama
Setelah Ollama terpasang:
ollama list ollama pull qwen3:4b ollama run qwen3:4b ollama ps ollama stop qwen3:4b
Nama dan ketersediaan model dapat berubah. Periksa library model Ollama sebelum praktikum.
Pemilihan Model
Pertimbangkan:
- ukuran model dan quantization;
- RAM dan VRAM;
- kualitas bahasa Indonesia;
- kemampuan coding atau reasoning;
- panjang konteks;
- kecepatan yang dibutuhkan;
- lisensi model.
Model yang lebih besar biasanya membutuhkan memori lebih besar, tetapi ukuran bukan satu*satunya penentu kualitas.
API Ollama
Contoh menggunakan `curl`:
curl http://localhost:11434/api/chat \ -H 'Content*Type: application/json' \ -d '{ "model": "qwen3:4b", "messages": [ {"role": "user", "content": "Jelaskan supervised learning secara singkat."} ], "stream": false }'
Contoh Python:
import requests
payload = {
"model": "qwen3:4b",
"messages": [
{"role": "user", "content": "Jelaskan K*Means dalam lima kalimat."}
],
"stream": False,
}
response = requests.post(
"http://localhost:11434/api/chat",
json=payload,
timeout=120,
)
response.raise_for_status()
print(response.json()["message"]["content"])
Praktikum
- Jalankan satu model lokal.
- Uji tiga jenis prompt: penjelasan, ringkasan, dan ekstraksi terstruktur.
- Catat penggunaan memori, waktu respons, dan kualitas keluaran.
- Bandingkan hasil temperature rendah dan tinggi jika antarmuka mendukung.
- Jangan memasukkan data pribadi atau rahasia dalam eksperimen kelas.
Pertemuan 10 — RAG dan Knowledge Base=
Tujuan Pembelajaran
Mahasiswa mampu menjelaskan dan mempraktikkan alur PDF ke Markdown, chunking, embedding, vector database, retrieval, serta generasi jawaban.
Masalah yang Diselesaikan RAG
Retrieval*Augmented Generation menggabungkan pencarian informasi dengan generasi LLM. Sebelum menjawab, sistem mencari potongan dokumen yang relevan lalu memberikannya sebagai konteks kepada model.
RAG dapat membantu:
- menggunakan dokumen internal;
- memperbarui pengetahuan tanpa melatih ulang model;
- menampilkan sumber;
- mengurangi sebagian hallucination.
RAG tidak menjamin jawaban benar. Jika dokumen buruk, chunk tidak tepat, atau retrieval gagal, jawaban juga dapat salah.
Pipeline RAG
PDF → Ekstraksi/Markdown → Cleaning → Chunking → Embedding → Vector DB
↓
Pertanyaan → Embedding → Similarity Search → Context → LLM → Jawaban + Sumber
PDF ke Markdown
PDF adalah format tampilan, bukan selalu format data yang bersih. Tantangan meliputi tabel, kolom ganda, header/footer, catatan kaki, hasil scan, dan OCR.
Markdown membantu mempertahankan struktur judul, daftar, tabel sederhana, dan paragraf. Setelah konversi, lakukan pemeriksaan manual terhadap urutan teks dan bagian yang hilang.
Chunking
Chunking membagi dokumen menjadi bagian yang dapat dicari. Strategi:
- ukuran karakter atau token tetap;
- berdasarkan paragraf;
- berdasarkan heading;
- semantic chunking;
- overlap antar*chunk.
Chunk terlalu kecil kehilangan konteks. Chunk terlalu besar memasukkan informasi tidak relevan dan menghabiskan context window.
Embedding dan Vector Database
Embedding mengubah teks menjadi vektor numerik yang mewakili kedekatan makna. Pertanyaan dan chunk dipetakan ke ruang vektor, kemudian sistem mencari chunk dengan kemiripan tinggi.
Vector database menyimpan vektor beserta metadata, misalnya nama dokumen, halaman, heading, tanggal, atau hak akses.
Retrieval
Retrieval bukan sekadar mengambil hasil terdekat. Sistem dapat menggunakan:
- semantic search;
- keyword search;
- hybrid search;
- metadata filtering;
- reranking;
- top*k selection.
Evaluasi RAG
Evaluasi sebaiknya memisahkan dua hal:
- Retrieval quality: apakah potongan yang benar berhasil ditemukan?
- Answer quality: apakah jawaban didukung konteks dan menjawab pertanyaan?
Buat kumpulan pertanyaan uji beserta jawaban dan sumber yang diharapkan. Periksa relevansi, faithfulness, kelengkapan, kutipan, dan kemampuan menolak ketika informasi tidak tersedia.
Praktikum
Gunakan satu dokumen publik. Konversi ke Markdown, periksa hasil, masukkan ke knowledge base, kemudian uji minimal sepuluh pertanyaan: langsung, paraphrase, lintas*bagian, di luar dokumen, dan pertanyaan ambigu.
Pertemuan 11 — Open WebUI dan AnythingLLM
Tujuan Pembelajaran
Mahasiswa mampu membuat knowledge base berbasis dokumen dan menguji chatbot dokumen menggunakan antarmuka grafis.
Peran Aplikasi
Open WebUI dan AnythingLLM menyediakan antarmuka untuk berinteraksi dengan model serta membangun knowledge base. Keduanya dapat dihubungkan dengan model lokal atau penyedia model lain, bergantung pada konfigurasi.
Konsep produk, menu, dan fitur dapat berubah. Fokus praktikum adalah prinsip yang stabil: koneksi model, ingestion dokumen, retrieval, prompt, sitasi, hak akses, dan evaluasi.
Alur Pembuatan Knowledge Base
- Tentukan ruang lingkup dokumen.
- Pastikan izin penggunaan dokumen.
- Bersihkan dan konversi dokumen bila perlu.
- Buat knowledge base/workspace.
- Pilih embedding model.
- Unggah atau sinkronkan dokumen.
- Atur chunking dan retrieval jika tersedia.
- Hubungkan knowledge base ke chatbot.
- Atur system prompt.
- Uji pertanyaan dan sumber.
Contoh system prompt:
Jawab hanya berdasarkan konteks dokumen yang diberikan. Cantumkan sumber atau nama dokumen pada jawaban. Jika informasi tidak ditemukan, katakan bahwa informasi tidak tersedia dalam knowledge base. Jangan mengarang jawaban.
Skenario Pengujian
| Jenis uji | Tujuan |
|---|---|
| Fakta langsung | Memastikan informasi sederhana ditemukan |
| Paraphrase | Menguji pencarian semantik |
| Multi-bagian | Menguji penggabungan konteks |
| Di luar dokumen | Menguji kemampuan menolak |
| Instruksi jahat dalam dokumen | Menguji ketahanan terhadap indirect prompt injection |
| Dokumen bertentangan | Menguji penanganan versi dan sumber |
Praktikum
Buat knowledge base dari 3–5 dokumen Markdown. Siapkan sepuluh pertanyaan uji dan tabel hasil berisi jawaban yang diharapkan, sumber, jawaban sistem, kualitas retrieval, kualitas jawaban, dan catatan kesalahan.
Prinsip Keamanan
- pisahkan knowledge base berdasarkan hak akses;
- jangan mengunggah data sensitif tanpa persetujuan;
- jangan menganggap sistem lokal otomatis bebas kebocoran;
- perlakukan dokumen sebagai input yang mungkin tidak tepercaya;
- periksa log, konektor, backup, dan kebijakan retensi.
Pertemuan 12 — Model Context Protocol (MCP)
Tujuan Pembelajaran
Mahasiswa mampu menjelaskan arsitektur MCP, membedakan tools, resources, dan prompts, serta menilai risiko integrasi LLM dengan sistem eksternal.
Konsep MCP
Model Context Protocol adalah protokol untuk menghubungkan aplikasi AI dengan sumber data dan kemampuan eksternal melalui antarmuka yang terstruktur. MCP membantu mengurangi kebutuhan membuat integrasi khusus yang berbeda untuk setiap kombinasi aplikasi dan layanan.
Komponen
- Host: aplikasi tempat pengguna berinteraksi dengan AI.
- Client: komponen yang membuka koneksi ke MCP server.
- Server: menyediakan capability kepada client.
- Tool: operasi yang dapat dipanggil, misalnya membuat tiket atau menjalankan query.
- Resource: data atau konteks yang dapat dibaca.
- Prompt: template interaksi yang disediakan server.
Tools, Resources, dan Prompts
| Komponen | Fungsi | Contoh |
|---|---|---|
| Tool | Melakukan tindakan atau komputasi | mencari data, menambah tiket |
| Resource | Menyediakan informasi yang dapat dibaca | dokumen, skema, log |
| Prompt | Menyediakan template instruksi | analisis insiden, ringkasan laporan |
Alur Konseptual
Pengguna → Host/LLM → MCP Client → MCP Server → API/File/Database
↑ ↓
└── hasil terstruktur ──┘
Model dapat mengusulkan penggunaan tool, tetapi aplikasi harus menerapkan izin, validasi parameter, dan konfirmasi untuk tindakan berisiko.
Contoh Tool Sederhana
Secara konseptual, tool dapat memiliki definisi:
{
"name": "cari_mahasiswa",
"description": "Mencari data mahasiswa berdasarkan NIM",
"inputSchema": {
"type": "object",
"properties": {
"nim": {"type": "string"}
},
"required": ["nim"]
}
}
Definisi schema membantu validasi, tetapi tidak menggantikan autentikasi dan otorisasi.
Risiko Keamanan
- tool memiliki izin terlalu luas;
- prompt injection memengaruhi pemanggilan tool;
- argumen tidak divalidasi;
- data sensitif dikirim ke model;
- server palsu atau dependency berbahaya;
- tindakan destruktif tanpa konfirmasi;
- credential tersimpan dalam konfigurasi tidak aman.
Prinsip pengamanan: least privilege, allowlist, validasi input, autentikasi, isolasi, audit log, timeout, pembatasan hasil, dan human approval untuk tindakan berisiko.
Aktivitas
Rancang MCP server untuk sistem akademik yang hanya dapat membaca jadwal kuliah. Tentukan satu resource, dua tools, schema input, izin, log, dan tindakan yang harus membutuhkan konfirmasi.
Pertemuan 13 — AI Automation dan Agent
Tujuan Pembelajaran
Mahasiswa mampu membedakan workflow deterministik, tool calling, dan agent serta merancang otomatisasi yang dapat diaudit dan dikendalikan.
Workflow dan Agent
Workflow mengikuti urutan yang telah ditentukan. Agent dapat memilih langkah berikutnya berdasarkan tujuan, konteks, dan hasil sebelumnya.
| Aspek | Workflow | Agent |
|---|---|---|
| Jalur proses | Ditentukan pengembang | Dapat dipilih secara dinamis |
| Prediktabilitas | Lebih tinggi | Lebih rendah |
| Audit | Lebih mudah | Memerlukan observability lebih kuat |
| Cocok untuk | Proses berulang dan stabil | Tugas terbuka dan adaptif |
| Risiko | Umumnya lebih terkontrol | Lebih besar karena otonomi |
Gunakan workflow jika langkah dapat didefinisikan dengan jelas. Agent tidak selalu menjadi solusi terbaik.
n8n
n8n menghubungkan trigger, aplikasi, API, logika, database, dan model AI dalam workflow visual.
Contoh alur:
Form/Webhook → Validasi → LLM klasifikasi → IF/Rule → Database → Notifikasi
↓
Human Review
Node LLM tidak boleh menjadi satu*satunya pengendali tindakan penting. Gunakan validasi, batas nilai, dan persetujuan manusia.
Tool Calling
Tool calling memungkinkan model memilih fungsi dan mengisi argumen terstruktur. Aplikasi tetap bertanggung jawab untuk:
- memeriksa apakah tool diizinkan;
- memvalidasi argumen;
- meminta persetujuan jika perlu;
- menjalankan tool;
- mengembalikan hasil ke model;
- mencatat seluruh proses.
Hermes dan OpenClaw
Hermes dan OpenClaw dapat dipelajari sebagai contoh ekosistem agent yang menggabungkan model, tools, memory, dan eksekusi tugas. Karena proyek agent berkembang cepat, instruksi instalasi harus selalu disesuaikan dengan dokumentasi versi yang digunakan saat praktikum.
Fokus pembelajaran:
- bagaimana agent menerima tujuan;
- bagaimana tool didaftarkan;
- bagaimana agent memilih tindakan;
- bagaimana hasil diamati;
- bagaimana proses dihentikan;
- bagaimana izin dan secret diamankan.
Pola Agent Loop
Tujuan → Observasi → Rencana → Pilih Tool → Jalankan → Evaluasi hasil
↑ ↓
└──────── ulang atau berhenti ─────────┘
Guardrails
- batasi tools dan scope credential;
- gunakan sandbox;
- tetapkan batas langkah, waktu, dan biaya;
- cegah akses jaringan yang tidak perlu;
- validasi output sebelum diteruskan;
- wajibkan approval untuk mengirim, membeli, menghapus, atau mengubah data;
- sediakan kill switch;
- simpan audit log.
Praktikum
Buat workflow n8n yang menerima teks laporan, menghapus data sensitif sederhana, meminta LLM mengklasifikasikan kategori, menyimpan hasil ke tabel, dan meminta persetujuan manusia sebelum mengirim notifikasi. Gunakan data sintetis.
Tugas Desain
Bandingkan tiga solusi untuk proses yang sama: aturan biasa, workflow dengan satu langkah LLM, dan agent. Jelaskan pilihan berdasarkan risiko, biaya, ketepatan, serta kebutuhan audit.
Pertemuan 14 — Etika, Keamanan, dan Masa Depan AI
Tujuan Pembelajaran
Mahasiswa mampu mengidentifikasi risiko sosial dan teknis AI serta mengusulkan kontrol Responsible AI sepanjang siklus hidup sistem.
Bias dan Fairness
Bias dapat berasal dari data historis, sampling, label, desain fitur, tujuan optimasi, deployment, dan interpretasi pengguna. Menghapus atribut sensitif tidak selalu menghapus bias karena fitur lain dapat menjadi proxy.
Pertanyaan evaluasi:
- siapa yang diuntungkan atau dirugikan?
- apakah data mewakili populasi penggunaan?
- apakah tingkat kesalahan berbeda antar*kelompok?
- apakah tersedia proses banding dan koreksi?
Privacy dan Data Protection
Risiko privasi meliputi pengumpulan berlebihan, penggunaan di luar tujuan awal, penyimpanan terlalu lama, akses tidak sah, dan pengiriman data ke layanan pihak ketiga.
Prinsip:
- data minimization;
- purpose limitation;
- informed consent;
- access control;
- encryption;
- retention policy;
- penghapusan dan koreksi data;
- penilaian risiko sebelum deployment.
Copyright
Risiko hak cipta dapat muncul pada data pelatihan, dokumen RAG, prompt, dan keluaran. Pengguna harus memeriksa lisensi, izin, atribusi, serta batas penggunaan. Keluaran AI tidak otomatis bebas risiko hukum.
Deepfake
AI dapat membuat media sintetis yang realistis. Dampaknya mencakup penipuan, pencemaran nama baik, manipulasi informasi, dan impersonation. Kontrol dapat mencakup verifikasi sumber, provenance, watermark, autentikasi kanal, dan literasi media.
Hallucination
Hallucination adalah keluaran yang tidak didukung fakta atau sumber tetapi disampaikan secara meyakinkan.
Mitigasi:
- RAG dan sumber tepercaya;
- kewajiban sitasi;
- output terstruktur;
- validasi otomatis;
- human review;
- kemampuan mengatakan “tidak tahu”;
- pengujian sistematis.
Prompt Injection dan Jailbreak
Prompt injection mencoba memanipulasi model agar mengikuti instruksi berbahaya dari pengguna atau konten eksternal. Indirect prompt injection dapat tersembunyi dalam situs, email, atau dokumen yang dibaca sistem. Jailbreak berusaha melewati pembatasan keselamatan model.
Instruksi model bukan batas keamanan yang cukup. Kontrol harus diterapkan di luar model melalui izin, isolasi, validasi, dan approval.
Data Leakage
Kebocoran dapat terjadi ketika prompt, log, memory, hasil tool, vector database, atau output memuat informasi rahasia. Pisahkan data berdasarkan tenant dan hak akses. Hindari memasukkan password, API key, data kesehatan, data mahasiswa, atau rahasia organisasi ke model tanpa kontrol yang sah.
Responsible AI
Prinsip umum:
- fairness;
- reliability dan safety;
- privacy dan security;
- inclusiveness;
- transparency;
- accountability;
- human oversight.
Responsible AI bukan pemeriksaan satu kali. Kontrol perlu diterapkan sejak perumusan masalah, pengumpulan data, pengembangan, pengujian, deployment, monitoring, hingga penghentian sistem.
Keamanan AI Agent
Risiko agent lebih besar karena sistem dapat bertindak. Ancaman meliputi excessive agency, tool misuse, confused deputy, credential theft, memory poisoning, supply*chain compromise, dan tindakan berulang tanpa batas.
Kontrol minimum:
- least privilege;
- pemisahan read dan write;
- approval tindakan berdampak tinggi;
- allowlist tool dan domain;
- sandbox dan network isolation;
- batas langkah, waktu, biaya, dan volume;
- audit trail;
- secret management;
- monitoring dan incident response;
- kill switch.
Masa Depan AI
Arah perkembangan mencakup model multimodal, model yang lebih kecil dan efisien, AI lokal, integrasi tool, agentic workflow, synthetic data, robotika, serta peningkatan regulasi dan audit. Keterampilan penting bukan hanya membuat model, tetapi juga merumuskan masalah, mengevaluasi bukti, mengelola risiko, dan memahami dampak manusia.
Studi Kasus Akhir
Sebuah perguruan tinggi ingin membuat agent yang membaca email, menjawab mahasiswa, memperbarui data akademik, dan mengirim keputusan secara otomatis. Mahasiswa diminta:
- mengidentifikasi pemangku kepentingan;
- memetakan data pribadi;
- mengidentifikasi kemungkinan kesalahan dan serangan;
- menentukan tugas yang boleh otomatis;
- menentukan tindakan yang wajib disetujui manusia;
- merancang logging, monitoring, dan kill switch;
- menyusun rekomendasi apakah sistem layak diterapkan.
Proyek Akhir Terintegrasi
Pilihan Proyek
- Proyek Machine Learning: klasifikasi atau regresi dengan pipeline Python.
- Proyek Clustering: segmentasi data dan interpretasi cluster.
- Proyek RAG: chatbot dokumen dengan pengujian retrieval dan jawaban.
- Proyek Automation: workflow n8n dengan langkah AI dan human approval.
Ketentuan
- gunakan data legal, publik, sintetis, atau telah dianonimkan;
- jelaskan tujuan dan batas sistem;
- dokumentasikan sumber data dan tools;
- sertakan pengujian dan baseline;
- identifikasi risiko etika dan keamanan;
- jangan menggunakan nilai evaluasi buatan;
- sertakan demonstrasi dan laporan.
Rubrik Proyek Akhir
| Aspek | Bobot |
|---|---|
| Rumusan masalah dan relevansi | 15% |
| Kualitas data/dokumen dan preprocessing | 20% |
| Ketepatan metode dan implementasi | 20% |
| Evaluasi dan interpretasi | 20% |
| Etika, keamanan, dan keterbatasan | 15% |
| Dokumentasi dan presentasi | 10% |
Glosarium
| Istilah | Definisi singkat |
|---|---|
| AI | Bidang untuk membangun sistem yang menjalankan tugas cerdas |
| Machine Learning | Pembelajaran pola dari data |
| Feature | Variabel masukan model |
| Label | Target yang diprediksi |
| Training | Proses model belajar dari data |
| Inference | Penggunaan model untuk menghasilkan prediksi |
| LLM | Model bahasa berskala besar |
| Token | Unit teks yang diproses model |
| Embedding | Representasi vektor dari data |
| RAG | Generasi yang ditambah hasil pencarian konteks |
| Vector database | Penyimpanan vektor dan metadata untuk pencarian kemiripan |
| MCP | Protokol untuk menghubungkan aplikasi AI dengan tools dan data |
| Tool calling | Pemilihan dan pemanggilan fungsi terstruktur oleh sistem AI |
| AI Agent | Sistem yang dapat memilih dan menjalankan tindakan menuju tujuan |
| Hallucination | Keluaran yang tidak didukung fakta atau sumber |
| Prompt injection | Instruksi berbahaya yang mencoba memengaruhi perilaku model |
| Data leakage | Informasi yang tidak semestinya masuk atau keluar dari proses |
Template Laporan Praktikum
- Judul praktikum
- Nama dan identitas mahasiswa
- Tujuan
- Dataset atau dokumen yang digunakan
- Tools dan versi
- Langkah kerja
- Hasil
- Evaluasi dan interpretasi
- Kendala
- Risiko etika dan keamanan
- Kesimpulan
- Referensi
Pedoman Penggunaan Wiki
- Satu bagian `Pertemuan` dapat dipindahkan menjadi satu halaman Wiki.
- Halaman utama dapat menggunakan bagian deskripsi, capaian, penilaian, dan daftar isi.
- Kode harus diuji ulang pada lingkungan praktikum sebelum perkuliahan.
- Nama model, fitur aplikasi, serta prosedur instalasi dapat berubah; cocokkan dengan dokumentasi resmi versi yang digunakan.
- Tambahkan referensi akademik dan dokumentasi resmi pada setiap halaman sesuai standar sitasi institusi.
- Jangan menggunakan data pribadi mahasiswa untuk latihan tanpa dasar, izin, dan pengamanan yang sesuai.
Lisensi materi yang disarankan: Creative Commons Attribution #0 International (CC BY #0), apabila sesuai dengan kebijakan institusi dan seluruh sumber pihak ketiga telah diperiksa.