Difference between revisions of "AI: Kuliah"

From OnnoWiki
Jump to navigation Jump to search
 
(One intermediate revision by the same user not shown)
Line 711: Line 711:
  
  
= Pertemuan 8 — Large Language Model (LLM)==
+
= Pertemuan 8 — Large Language Model (LLM)=
  
 
== Tujuan Pembelajaran==
 
== Tujuan Pembelajaran==
Line 786: Line 786:
  
 
Bandingkan prompt yang kabur dengan prompt terstruktur. Evaluasi hasil berdasarkan ketepatan, kelengkapan, konsistensi format, dan halusinasi.
 
Bandingkan prompt yang kabur dengan prompt terstruktur. Evaluasi hasil berdasarkan ketepatan, kelengkapan, konsistensi format, dan halusinasi.
 
 
  
 
= Pertemuan 9 — Local AI dengan Ollama=
 
= Pertemuan 9 — Local AI dengan Ollama=
Line 882: Line 880:
  
  
= Pertemuan 10 — RAG dan Knowledge Base==
+
= Pertemuan 10 — RAG dan Knowledge Base=
  
 
== Tujuan Pembelajaran==
 
== Tujuan Pembelajaran==
Line 955: Line 953:
  
 
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.
 
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=
 
= Pertemuan 11 — Open WebUI dan AnythingLLM=

Latest revision as of 08:52, 23 September 2026

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:

  1. Menjelaskan konsep, sejarah, jenis, kemampuan, dan keterbatasan AI.
  2. Membedakan supervised, unsupervised, dan reinforcement learning.
  3. Menyiapkan data untuk proses Machine Learning.
  4. Membuat model klasifikasi dan clustering menggunakan Orange.
  5. Membuat pipeline Machine Learning menggunakan Python dan Scikit*learn.
  6. Menjelaskan konsep dasar LLM, transformer, token, context window, dan inference.
  7. Menjalankan model AI lokal dan menggunakan API Ollama.
  8. Menjelaskan serta membangun alur dasar RAG dan knowledge base.
  9. Menjelaskan fungsi MCP, tool calling, workflow otomatis, dan AI Agent.
  10. Mengidentifikasi risiko bias, privasi, hak cipta, hallucination, prompt injection, jailbreak, dan kebocoran data.

Metode dan Penilaian

Penilaian
Komponen Bobot
Latihan dan kuis 30%
UTS 30%
UAS 40%
  • Catatan: bobot dapat disesuaikan dengan RPS dan kebijakan program studi.

Daftar Isi

  1. [Pengenalan Artificial Intelligence](pertemuan 1 pengenalan artificial-intelligence)
  2. [Dasar Machine Learning](pertemuan 2 dasar machine-learning)
  3. [Data dan Preprocessing](pertemuan 3 data dan preprocessing)
  4. [Machine Learning dengan Orange](pertemuan 4 machine-learning dengan orange)
  5. [Clustering dengan Orange](pertemuan 5 clustering dengan orange)
  6. [Machine Learning dengan Python](pertemuan 6 machine-learning dengan python)
  7. [ML Project dengan Python](pertemuan 7 ml-project dengan python)
  8. [Large Language Model](pertemuan 8 large language model llm)
  9. [Local AI dengan Ollama](pertemuan 9 local-ai dengan ollama)
  10. [RAG dan Knowledge Base](pertemuan 10 RAG dan knowledge-base)
  11. [Open WebUI dan AnythingLLM](pertemuan 11 open-webui dan anythingllm)
  12. [Model Context Protocol](pertemuan 12 model context protocol mcp)
  13. [AI Automation dan Agent](pertemuan 13 ai-automation dan agent)
  14. [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

Penilaian
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:

  1. Goal — tujuan yang ingin dicapai.
  2. Model — komponen penalaran atau pengambilan keputusan.
  3. Memory/state — informasi yang dipertahankan selama proses.
  4. Tools — fungsi seperti pencarian, basis data, API, atau eksekusi program.
  5. Planning — pemilihan langkah untuk mencapai tujuan.
  6. 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

  1. Apakah setiap program otomatis dapat disebut AI?
  2. Mengapa model yang lancar menulis belum tentu memahami fakta?
  3. 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:

Penilaian
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:

  1. Menghapus baris jika jumlahnya kecil dan penghapusan tidak menimbulkan bias.
  2. Menghapus kolom jika sebagian besar nilai hilang dan kolom tidak penting.
  3. Imputasi mean atau median untuk numerik.
  4. Imputasi modus untuk kategori.
  5. Menggunakan nilai `Unknown` apabila ketiadaan nilai memiliki makna.
  6. 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:

Penilaian
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

  1. Buka dataset klasifikasi contoh, misalnya Iris atau Titanic.
  2. Tentukan target dan fitur.
  3. Periksa distribusi label.
  4. Bandingkan Logistic Regression, Tree, dan Random Forest.
  5. Gunakan cross*validation pada Test & Score.
  6. Buka Confusion Matrix dan identifikasi jenis kesalahan.
  7. 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:

  1. memilih centroid awal;
  2. menempatkan setiap titik ke centroid terdekat;
  3. menghitung ulang centroid;
  4. 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

  1. Pilih dataset numerik.
  2. Hapus identifier yang tidak relevan.
  3. Tangani nilai hilang.
  4. Normalisasi fitur.
  5. Jalankan K*Means untuk beberapa nilai K.
  6. Bandingkan silhouette score.
  7. Gunakan PCA dan Scatter Plot.
  8. 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:

  1. rumusan masalah;
  2. data dictionary;
  3. notebook yang dapat dijalankan ulang;
  4. analisis kualitas data;
  5. pipeline preprocessing;
  6. baseline dan minimal dua model;
  7. evaluasi dan interpretasi;
  8. 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:

  1. teks diubah menjadi token;
  2. token diubah menjadi vektor;
  3. attention menghitung hubungan antar*token;
  4. lapisan jaringan mengolah representasi;
  5. model menghasilkan distribusi probabilitas token berikutnya;
  6. 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:

  1. peran atau konteks;
  2. tujuan;
  3. data masukan;
  4. batasan;
  5. format keluaran;
  6. kriteria kualitas;
  7. 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

  1. Jalankan satu model lokal.
  2. Uji tiga jenis prompt: penjelasan, ringkasan, dan ekstraksi terstruktur.
  3. Catat penggunaan memori, waktu respons, dan kualitas keluaran.
  4. Bandingkan hasil temperature rendah dan tinggi jika antarmuka mendukung.
  5. 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:

  1. Retrieval quality: apakah potongan yang benar berhasil ditemukan?
  2. 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

  1. Tentukan ruang lingkup dokumen.
  2. Pastikan izin penggunaan dokumen.
  3. Bersihkan dan konversi dokumen bila perlu.
  4. Buat knowledge base/workspace.
  5. Pilih embedding model.
  6. Unggah atau sinkronkan dokumen.
  7. Atur chunking dan retrieval jika tersedia.
  8. Hubungkan knowledge base ke chatbot.
  9. Atur system prompt.
  10. 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

Penilaian
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

Penilaian
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.

Penilaian
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:

  1. memeriksa apakah tool diizinkan;
  2. memvalidasi argumen;
  3. meminta persetujuan jika perlu;
  4. menjalankan tool;
  5. mengembalikan hasil ke model;
  6. 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:

  1. least privilege;
  2. pemisahan read dan write;
  3. approval tindakan berdampak tinggi;
  4. allowlist tool dan domain;
  5. sandbox dan network isolation;
  6. batas langkah, waktu, biaya, dan volume;
  7. audit trail;
  8. secret management;
  9. monitoring dan incident response;
  10. 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:

  1. mengidentifikasi pemangku kepentingan;
  2. memetakan data pribadi;
  3. mengidentifikasi kemungkinan kesalahan dan serangan;
  4. menentukan tugas yang boleh otomatis;
  5. menentukan tindakan yang wajib disetujui manusia;
  6. merancang logging, monitoring, dan kill switch;
  7. menyusun rekomendasi apakah sistem layak diterapkan.


Proyek Akhir Terintegrasi

Pilihan Proyek

  1. Proyek Machine Learning: klasifikasi atau regresi dengan pipeline Python.
  2. Proyek Clustering: segmentasi data dan interpretasi cluster.
  3. Proyek RAG: chatbot dokumen dengan pengujian retrieval dan jawaban.
  4. 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

Penilaian
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

Penilaian
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

  1. Judul praktikum
  2. Nama dan identitas mahasiswa
  3. Tujuan
  4. Dataset atau dokumen yang digunakan
  5. Tools dan versi
  6. Langkah kerja
  7. Hasil
  8. Evaluasi dan interpretasi
  9. Kendala
  10. Risiko etika dan keamanan
  11. Kesimpulan
  12. 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.


Pranala Menarik