02 — Jenis-Jenis Machine Learning
Estimasi baca: 60 menit Prasyarat: sudah baca 01-apa-itu-ai.md Tujuan: Setelah ini kamu paham 3 jenis ML utama, bisa kasih contoh masing-masing, dan tahu jenis mana yang cocok untuk masalah apa.
Pembukaan
Di file 01 kita bilang ML itu "belajar dari data". Tapi cara belajarnya ada 3 gaya utama, dan ini analogi pertamanya:
Bayangkan kamu mengajar 3 anak:
- Anak A kamu kasih buku PR yang sudah ada kunci jawabannya. Dia mencocokkan jawaban.
- Anak B kamu kasih kotak berisi 100 mainan campur aduk. Kamu suruh dia kelompokkan sendiri, terserah caranya.
- Anak C kamu lepas main game. Kalau dapat skor tinggi, dia dapat permen. Kalau gagal, tidak.
Anak A = Supervised Learning Anak B = Unsupervised Learning Anak C = Reinforcement Learning
Ini bukan jenis ML yang lebih baik dari yang lain. Mereka gaya belajar yang cocok untuk masalah berbeda.
1. Supervised Learning
Definisi: Komputer belajar dari data yang sudah berlabel. Tiap contoh punya "jawaban benar".
Format Data
Input → Label (Jawaban benar)
[gambar kucing] → "kucing"
[gambar anjing] → "anjing"
[gambar kucing] → "kucing"
...
Atau dalam bentuk tabel:
| Luas (m²) | Kamar | Lokasi | Harga (juta) |
|---|---|---|---|
| 100 | 3 | Bandung | 800 |
| 150 | 4 | Jakarta | 2500 |
| 80 | 2 | Surabaya | 600 |
| ... | ... | ... | ... |
Kolom "Harga" adalah label (target). Sisanya adalah fitur (features).
Cara Kerja Konseptual
- Komputer melihat data: "Oh, rumah luas 100m² di Bandung biasanya 800 juta."
- Komputer mencari pola yang bisa memetakan input ke label.
- Setelah pola ditemukan (model jadi), kamu kasih input baru tanpa label, model menebak labelnya.
Cara Membaca Diagram: Diagram menunjukkan 3 cabang utama ML beserta sub-jenisnya. Mulai dari "Machine Learning" di atas, lalu turun ke 3 gaya belajar, lalu ke sub-jenis spesifiknya.
Walkthrough Step-by-Step:
- Supervised punya 2 sub: Classification (kategori) dan Regression (angka).
- Unsupervised punya 3 sub: Clustering (kelompok), Dim Reduction (kompresi), dan Anomaly Detection (deteksi outlier).
- Reinforcement fokus pada Policy Learning — agent belajar strategi terbaik.
Analogi Sehari-hari: Seperti 3 cara mengajar anak. Supervised = kasih PR yang ada kunci jawaban. Unsupervised = kasih kotak mainan, suruh kelompokkan sendiri. Reinforcement = kasih game, dapat snack kalau menang. Tiap cara cocok untuk tipe pembelajaran berbeda.
Diagram statis Mermaid sebagai fallback:
flowchart LR
A["📦 Input + Label"] --> B["⚙️ Algoritma"]
B --> C["🧠 Model"]
D["🆕 Input baru"] --> C
C --> E["🎯 Label prediksi"]
Dua Sub-jenis
A. Klasifikasi (Classification)
Output: kategori/kelas.
Pertanyaan: "Termasuk kelompok mana?"
Contoh:
- Email ini spam atau bukan spam? (binary classification — 2 kelas)
- Foto ini kucing, anjing, atau burung? (multi-class — 3+ kelas)
- Pasien ini punya penyakit A, B, C, atau sehat? (multi-class)
Analogi: Seperti kotak pos. Kamu masukkan surat, dia keluar dari satu pintu spesifik (kotak Jakarta, kotak Bandung, dll). Pintu = kelas.
B. Regresi (Regression)
Output: angka kontinu.
Pertanyaan: "Berapa nilainya?"
Contoh:
- Berapa harga rumah ini? (output: angka rupiah)
- Berapa derajat suhu besok? (output: angka Celsius)
- Berapa lama waktu pengiriman? (output: angka jam)
Analogi: Seperti termometer. Output bukan kategori, tapi posisi di sebuah skala kontinu.
Algoritma Populer Supervised Learning
Tidak perlu hafal sekarang, sekedar kenal nama:
Untuk klasifikasi:
- Logistic Regression (klasik, simpel)
- Decision Tree (mudah dipahami, seperti diagram pohon keputusan)
- Random Forest (banyak decision tree gabung)
- Support Vector Machine / SVM
- K-Nearest Neighbors / KNN
- Neural Network
Untuk regresi:
- Linear Regression (paling dasar)
- Polynomial Regression
- Decision Tree Regressor
- Random Forest Regressor
- Neural Network
Insight: Kebanyakan algoritma di atas bisa dipakai untuk klasifikasi DAN regresi, dengan sedikit modifikasi. Yang penting kamu paham dulu konsepnya, baru detail per algoritma.
Contoh Kode Konseptual (Python — kamu belum perlu paham, sekedar lihat)
from sklearn.linear_model import LogisticRegression
# Data berlabel
X = [[100, 3], [150, 4], [80, 2]] # luas, kamar
y = ["murah", "mahal", "murah"] # label
# Bikin model
model = LogisticRegression()
# Latih
model.fit(X, y)
# Prediksi
prediksi = model.predict([[120, 3]]) # rumah baru
print(prediksi) # output: "murah" atau "mahal"
3 baris inti: model.fit() (latih), model.predict() (prediksi). Itulah ML supervised dalam bentuk paling sederhana.
Kasus Penggunaan Nyata
| Masalah | Tipe |
|---|---|
| Filter spam Gmail | Classification (binary) |
| Diagnosis penyakit dari gejala | Classification (multi-class) |
| Prediksi cuaca | Regression |
| Prediksi harga saham | Regression |
| Deteksi penipuan kartu kredit | Classification (binary) |
| Pengenalan tulisan tangan | Classification (multi-class) |
2. Unsupervised Learning
Definisi: Komputer belajar dari data tanpa label. Tujuannya menemukan pola/struktur tersembunyi.
Format Data
Input (tanpa label)
[data customer A]
[data customer B]
[data customer C]
...
Tidak ada "jawaban benar" yang dikasih. Komputer harus "merenungi" data sendiri.
Cara Kerja Konseptual
Bayangkan kamu masuk ke kamar yang berantakan, isinya 100 mainan campur aduk. Tidak ada yang menyuruh kamu kelompokkan. Tapi kamu lihat: "ini boneka, ini mobil-mobilan, ini lego". Kamu kelompokkan secara intuitif berdasarkan kemiripan.
Itulah unsupervised learning — komputer mencari kemiripan dan struktur secara mandiri.
Tiga Sub-jenis Utama
A. Clustering (Pengelompokan)
Output: kelompok-kelompok data yang mirip.
Pertanyaan: "Item-item ini bisa dikelompokkan jadi berapa grup berdasarkan kemiripan?"
Contoh:
- Segmentasi customer: dari 10.000 customer toko online, kelompokkan menjadi 5 segmen (misalnya: pemburu diskon, pelanggan loyal, pengguna sesekali, dll). Marketing bisa pasang strategi berbeda per segmen.
- Pengelompokan berita: Google News mengelompokkan berita yang membahas topik sama.
Algoritma populer:
- K-Means (paling klasik)
- DBSCAN
- Hierarchical Clustering
Analogi K-Means: Kamu kasih komputer perintah "buat 5 kelompok". Komputer akan mencari 5 titik tengah (centroid) yang paling pas, lalu setiap data ikut ke titik tengah terdekat.
B. Dimensionality Reduction (Reduksi Dimensi)
Output: representasi data yang lebih sederhana, tapi tetap mempertahankan informasi penting.
Pertanyaan: "Bagaimana saya bisa visualkan/proses data yang punya 100 kolom dengan tetap masuk akal?"
Contoh:
- Dataset wajah punya 1000 fitur per gambar. PCA bisa kompres jadi 50 fitur tanpa kehilangan banyak informasi.
- Word embedding (Word2Vec) — mengubah kata jadi vektor 300 angka yang menangkap makna kata.
Algoritma populer:
- PCA (Principal Component Analysis)
- t-SNE
- UMAP
- Autoencoder (deep learning)
Analogi: Seperti kompresi JPEG. Foto 10MB bisa jadi 1MB dengan kualitas masih baik. Tidak semua piksel perlu disimpan persis — yang penting "intinya" tetap.
Insight Penting Untuk Bootcamp: Embedding yang dipakai di LLM dan RAG adalah dimensionality reduction. Setiap kata atau dokumen direpresentasikan sebagai vektor angka (biasanya 768 atau 1536 dimensi). Vektor mirip = makna mirip. Inilah dasar dari "vector database" yang akan kamu pakai di Fase 7.
C. Anomaly Detection (Deteksi Anomali)
Output: mana data yang "aneh" / berbeda dari mayoritas.
Pertanyaan: "Mana yang tidak normal?"
Contoh:
- Deteksi penipuan: dari 1 juta transaksi, mana yang mencurigakan?
- Deteksi serangan siber: lalu lintas jaringan mana yang abnormal?
- Quality control pabrik: produk mana yang cacat?
Algoritma populer:
- Isolation Forest
- One-Class SVM
- Autoencoder
Analogi: Seperti security yang sudah tahu "rasa" lingkungan normal, dan langsung sadar saat ada yang aneh.
Contoh Kode Konseptual
from sklearn.cluster import KMeans
# Data tanpa label
X = [[20, 1000], [25, 1200], [60, 5000], [65, 5500], [22, 1100]]
# format: [umur, pengeluaran_bulanan]
# Bikin model — minta 2 kelompok
model = KMeans(n_clusters=2)
# Latih
model.fit(X)
# Lihat label hasil
print(model.labels_) # output: [0, 0, 1, 1, 0]
# 3 orang masuk grup 0 (muda + pengeluaran kecil)
# 2 orang masuk grup 1 (tua + pengeluaran besar)
Kasus Penggunaan Nyata
| Masalah | Tipe |
|---|---|
| Segmentasi pengguna Instagram | Clustering |
| Word embeddings (LLM) | Dimensionality Reduction |
| Deteksi penipuan kartu kredit | Anomaly Detection |
| Rekomendasi produk "yang sering dibeli bareng" | Association rules |
| Visualisasi data 1000-dimensi jadi 2D | Dimensionality Reduction |
3. Reinforcement Learning (RL)
Definisi: Komputer (disebut agent) belajar dengan mencoba dan menerima reward atau punishment dari lingkungan.
Komponen Inti
Cara Membaca Diagram: Dua node utama (Agent dan Environment) saling berinteraksi dalam loop tak henti. Garis solid = action yang Agent ambil. Garis putus-putus = feedback yang Environment kasih balik.
Walkthrough Step-by-Step:
- Agent mengamati state environment saat ini.
- Agent memilih action berdasarkan policy (strategi)-nya.
- Environment merespons: state baru + reward (positif/negatif).
- Agent belajar dari reward, update policy-nya.
- Ulangi jutaan kali sampai policy optimal.
Analogi Sehari-hari: Seperti melatih anjing pakai snack. Anjing = agent. Rumah/kebun = environment. Perintah duduk = state. Anjing duduk = action. Snack = reward positif. Lama-lama anjing tahu "duduk saat dengar kata duduk = enak". Persis seperti itu RL bekerja.
Diagram statis Mermaid sebagai fallback:
flowchart LR
Agent["🤖 Agent"] -->|action| Env["🌍 Environment"]
Env -->|reward + state| Agent
- Agent = pelaku (misal: AI yang main game)
- Environment = dunia tempat agent bertindak (misal: game itu sendiri)
- Action = tindakan yang diambil agent (lompat, jalan, tembak)
- State = kondisi saat ini (posisi pemain, skor, dll)
- Reward = "hadiah" angka, positif kalau bagus, negatif kalau buruk
Cara Kerja Konseptual
Bayangkan kamu melatih anjing baru:
- Anjing tidak tahu apa-apa.
- Kamu beri perintah "duduk".
- Kalau anjing kebetulan duduk, kasih snack (reward +).
- Kalau anjing salah, tidak kasih snack (reward 0 atau -).
- Lama-lama, anjing belajar bahwa "duduk saat dengar kata duduk = dapat snack".
Sama dengan RL. Agent mencoba banyak aksi (awalnya random), dan lama-lama belajar strategi (policy) yang memaksimalkan reward jangka panjang.
Yang Membuat RL Spesial: Trial & Error + Delayed Reward
Beda dengan supervised, di RL tidak ada label "jawaban benar".
Beda dengan unsupervised, di RL ada feedback loop.
Yang unik: reward sering tertunda. Misal di catur, kamu jalan 50 langkah lalu menang. Langkah ke-3 kontribusinya berapa? Algoritma RL harus mengelola "credit assignment" ini.
Contoh Spektakuler
- AlphaGo (DeepMind, 2016) — AI yang mengalahkan Lee Sedol di Go. Dilatih dengan RL.
- OpenAI Five — AI yang menang melawan tim profesional Dota 2.
- Robot belajar berjalan — robot pakai RL belajar berjalan tanpa diprogram cara berjalan.
- ChatGPT — fase finalnya pakai RLHF (Reinforcement Learning from Human Feedback). Manusia memberi feedback "jawaban A lebih baik dari B", model belajar memilih jawaban yang lebih disukai manusia.
Insight Sangat Penting Untuk Bootcamp: RLHF adalah teknik kunci yang membuat ChatGPT, Claude, Gemini terasa "ramah" dan "membantu". Tanpa RLHF, LLM hanya autocomplete kasar dari data internet (yang kotor dan tidak konsisten). Dengan RLHF, jawabannya jadi terstruktur dan sesuai harapan manusia.
Kapan Pakai RL?
RL cocok untuk masalah yang:
- Punya konsep aksi (tidak cuma prediksi statis)
- Ada reward yang bisa diukur
- Bisa di-simulasikan banyak (RL butuh JUTAAN percobaan, biasanya pakai simulasi)
Contoh:
- Game playing
- Robotika
- Trading otomatis (debatable, banyak yang gagal)
- Tuning recommender system
- RLHF untuk LLM
Kapan TIDAK Pakai RL?
- Masalah yang lebih cocok supervised (misalnya prediksi harga rumah — pakai supervised, jangan RL).
- Tidak ada simulator/lingkungan (RL butuh juta-an percobaan untuk belajar).
Perbandingan Cepat — Tabel Mahaguna
| Aspek | Supervised | Unsupervised | Reinforcement |
|---|---|---|---|
| Data berlabel? | Ya | Tidak | Tidak (tapi ada reward) |
| Tujuan | Prediksi label | Cari pola/struktur | Maksimalkan reward |
| Output | Kategori atau angka | Cluster, embedding | Aksi optimal (policy) |
| Contoh masalah | Spam filter | Customer segmentation | Game AI, robotika |
| Algoritma populer | Linear/Logistic Regression, Random Forest, Neural Net | K-Means, PCA, t-SNE | Q-Learning, PPO, DQN |
| Jenis utama di bootcamp Dicoding | ✅ banyak | ✅ ada | ⚠️ sedikit (tapi RLHF dibahas konseptual) |
Self-Supervised Learning (Bonus, Tapi Penting)
Ini adalah cara LLM dilatih. Wajib paham konsepnya.
Definisi: Komputer membuat "label sendiri" dari data tanpa label, lalu belajar seperti supervised.
Cara LLM dilatih:
Ambil kalimat dari internet:
"Hari ini saya pergi ke pasar untuk membeli sayur."
Lalu sembunyikan satu kata:
"Hari ini saya pergi ke ___ untuk membeli sayur."
Tugas model: tebak kata yang hilang (jawaban: "pasar").
Tidak ada manusia yang memberi label. Label dibuat otomatis dari struktur data sendiri (kata yang dihilangkan adalah label-nya).
Lakukan ini miliaran kali dengan miliaran kalimat → LLM belajar bahasa.
Kenapa ini penting:
- Internet penuh teks tanpa label, tapi self-supervised bisa pakai semuanya.
- Ini terobosan yang memungkinkan LLM se-besar GPT-4 / Claude / Gemini bisa dilatih.
Klasifikasi: Secara teknis, self-supervised adalah varian dari supervised (karena ada label, walau dibuat sendiri). Tapi sering dibahas terpisah karena revolusioner.
Studi Kasus: Bagaimana ChatGPT Memakai Ketiganya
ChatGPT adalah produk paling lengkap karena memakai semua jenis ML:
-
Self-supervised (variant supervised): Pretraining — tebak kata berikutnya dari miliaran teks internet. Ini fase paling besar (99% komputasi).
-
Supervised fine-tuning: Manusia menulis contoh percakapan ideal "User tanya X, AI jawab Y yang bagus". Model dilatih lagi pakai contoh ini.
-
Reinforcement Learning (RLHF): Manusia membandingkan dua jawaban model — pilih mana yang lebih bagus. Model dilatih untuk memilih jawaban yang lebih disukai.
Tanpa salah satu dari 3 ini, ChatGPT tidak akan se-bagus sekarang.
Kesalahpahaman Umum
❌ "Unsupervised lebih sulit dari supervised" → Tidak selalu. Yang bikin sulit adalah evaluasinya. Supervised punya jawaban benar untuk dicek, unsupervised tidak. Kamu harus interpretasi sendiri apakah cluster yang ditemukan masuk akal.
❌ "Reinforcement learning = AGI" → RL kuat di domain spesifik (game, robotika), tapi tidak otomatis jadi general intelligence. Generalisasi RL ke domain baru masih sulit.
❌ "Pakai algoritma paling canggih = hasil paling baik" → Banyak masalah real-world dimenangkan oleh algoritma sederhana (linear regression!) dengan data dan feature engineering yang baik.
Cara Memilih Jenis ML untuk Masalahmu
Decision tree mental sederhana:
Cara Membaca Diagram: Mulai dari pertanyaan paling atas. Jawab YES/NO di tiap node, ikuti panahnya, sampai mencapai jenis ML yang cocok untuk masalahmu.
Walkthrough Step-by-Step:
- Q1: Punya jawaban benar untuk tiap data? → YES = Supervised, NO = lanjut Q2.
- Q2: Butuh agent + reward? → YES = Reinforcement Learning, NO = Unsupervised.
- Kalau Supervised, Q3: Output kategori? → YES = Classification, NO = Regression.
Analogi Sehari-hari: Seperti menu di restoran. Pertanyaan pertama: "Mau yang ada resepnya?" (kunci jawaban). Kalau ya, masakan dengan resep tetap (supervised). Kalau tidak, "mau eksperimen sendiri" (unsupervised) atau "mau main game cooking" (reinforcement).
Diagram statis Mermaid sebagai fallback:
flowchart TD
A{"Punya jawaban benar<br/>untuk tiap data?"} -->|YES| B["Supervised Learning"]
B --> B1{"Output kategori?"}
B1 -->|YES| C["Classification"]
B1 -->|NO| D["Regression"]
A -->|NO| E{"Butuh agent yang<br/>bertindak + reward?"}
E -->|YES| F["Reinforcement Learning"]
E -->|NO| G{"Data banyak, cari<br/>pola tersembunyi?"}
G -->|YES| H["Unsupervised Learning"]
H --> H1["Clustering"]
H --> H2["Dimensionality Reduction"]
H --> H3["Anomaly Detection"]
Challenge Fase 1.2
Challenge 1 — Klasifikasi Masalah (Mudah)
Untuk setiap skenario, tentukan jenis ML yang paling cocok (supervised classification / regression / unsupervised clustering / dim reduction / anomaly detection / reinforcement):
- Memprediksi apakah customer akan churn (berhenti berlangganan) bulan depan
- Mengelompokkan 10.000 review produk Tokopedia jadi topik-topik utama
- AI yang bermain catur
- Memprediksi harga sepatu Nike berdasarkan model dan kondisi
- Mendeteksi transaksi kartu kredit yang mencurigakan
- Visualisasi data 50-fitur dari survei pelanggan menjadi grafik 2D
- Robot Roomba yang belajar menghindari halangan
- Filter komen kasar di Instagram (toxic / not toxic)
- Mengelompokkan lagu Spotify berdasarkan kemiripan suara untuk fitur "Discover Weekly"
- Prediksi suhu Jakarta besok jam 12 siang
Jawaban di akhir file.
Challenge 2 — Bikin Skenario Sendiri (Sedang)
Tulis 3 skenario nyata di hidupmu (kuliah, kerja, hobi) yang bisa diselesaikan dengan ML. Untuk setiap:
- Deskripsi masalah
- Jenis ML yang cocok
- Alasan pemilihan
- Apa yang akan jadi input dan output
Posting di learning-journal/2026-05-XX-skenario-ml.md di repo GitHub.
Tujuan: melatih cara berpikir sebagai ML practitioner. Banyak orang bisa jawab pertanyaan, sedikit yang bisa memformulasikan masalah sebagai ML problem.
Challenge 3 — Eksplorasi Dataset (Sedang)
- Buka kaggle.com/datasets (daftar gratis)
- Cari 1 dataset menarik. Tips: kategori "tabular" dulu, ukuran kecil (<10MB)
- Baca deskripsi dataset
- Tulis di jurnal:
- Apa isi dataset?
- Kalau saya mau bikin ML model dari ini, jenis ML apa yang pas?
- Apa label/target-nya? (kalau supervised)
- Fitur-fitur apa yang menarik?
Contoh dataset bagus untuk pemula:
- Titanic (klasik, supervised classification)
- Wine Quality
- House Prices
Belum perlu ngoding, cuma observasi. Tujuan: terbiasa membaca dataset.
Challenge 4 — Refleksi LLM (Sulit)
Tulis essay 400-600 kata di learning-journal/essay-llm-training.md:
"Jelaskan dengan bahasamu sendiri bagaimana ChatGPT dilatih. Sebut peran self-supervised learning, supervised fine-tuning, dan RLHF. Berikan analogi pribadi untuk masing-masing."
Aturan:
- Tidak boleh copy-paste dari internet
- Wajib analogi sendiri (boleh dari hidup sehari-hari)
- Tunjukkan ke teman/keluarga, kalau mereka ngerti = kamu lulus
Tujuan: konsolidasi pemahaman sebelum lanjut ke deep learning.
Cek Pemahaman
Sebelum lanjut, pastikan bisa menjawab tanpa lihat catatan:
- Apa beda supervised dan unsupervised?
- Sebut 2 sub-jenis supervised, beri contoh masing-masing
- Apa itu clustering? Sebut 1 algoritma populernya
- Apa itu reinforcement learning? Sebut 4 komponen utamanya
- Apa itu self-supervised learning? Bagaimana LLM memakainya?
- Apa itu RLHF? Kenapa penting untuk LLM?
Jawaban Challenge 1
| # | Jenis ML |
|---|---|
| 1. Customer churn | Supervised Classification (binary) |
| 2. Cluster review Tokopedia | Unsupervised Clustering |
| 3. AI catur | Reinforcement Learning |
| 4. Prediksi harga sepatu | Supervised Regression |
| 5. Deteksi penipuan | Anomaly Detection (atau supervised classification kalau ada label) |
| 6. Visualisasi 50-fitur ke 2D | Dimensionality Reduction |
| 7. Roomba menghindari halangan | Reinforcement Learning |
| 8. Filter komen toxic | Supervised Classification (binary) |
| 9. Discover Weekly Spotify | Unsupervised Clustering (sebenarnya kombinasi dengan recommendation system) |
| 10. Prediksi suhu | Supervised Regression |
Diskusi: nomor 5 menarik. Kalau kamu punya label (transaksi mana yang ternyata penipuan setelah investigasi), bisa pakai supervised classification. Kalau tidak, pakai anomaly detection unsupervised. Banyak sistem nyata pakai keduanya.
Resource Tambahan
- Video: "Supervised vs Unsupervised Learning" by StatQuest di YouTube. 4 menit, paling clear.
- Artikel: "A Visual Introduction to Machine Learning" di r2d3.us — interaktif, sangat bagus.
- Course: Andrew Ng "Machine Learning Specialization" Course 1 di Coursera (audit gratis) — gold standard.
Selanjutnya: 03-deep-learning.md — masuk ke neural network, dengan analogi yang membuatmu paham kenapa "deep" itu kekuatan utama.