‹ Daftar slidePertemuan 5: Metode Analitik Lanjut: Klastering (K-Means)
Program Studi Bisnis Digital • FEB
Laboratorium Sains Data
Pertemuan 5 — Metode Analitik Lanjut: Klastering (K-Means)
Mengelompokkan data tanpa label — dari konsep centroid, algoritma iteratif, sampai menentukan jumlah klaster yang tepat untuk segmentasi pelanggan.
RPS MINGGU 5 • 2×50 MENIT
Tujuan Pembelajaran Hari Ini
Setelah pertemuan ini, Anda mampu:
Konsep
01
Memahami unsupervised learning
Membedakan klastering (tanpa label) dari klasifikasi/regresi (dengan label) yang akan dipelajari minggu 7–8.
Algoritma
02
Menghitung K-Means dari nol
Menjalankan iterasi assign-update secara manual pada dataset kecil sampai konvergen.
Evaluasi
03
Menentukan K optimal
Menggunakan metode Elbow dan Silhouette Score untuk memilih jumlah klaster yang masuk akal.
Praktik
04
Menginterpretasi hasil bisnis
Menerjemahkan klaster statistik menjadi segmen pelanggan yang bisa ditindaklanjuti tim marketing.
Mengapa Klastering Penting untuk Bisnis Digital?
Bayangkan Anda mengelola data 50.000 pelanggan sebuah marketplace tanpa kategori apa pun — tidak ada label "pelanggan setia" atau "pelanggan sekali beli".
Segmentasi Pelanggan
GoTo/Tokopedia mengelompokkan pengguna berdasarkan frekuensi & nilai transaksi untuk menentukan siapa dapat voucher.
Segmentasi Produk
UMKM di Shopee mengelompokkan produk berdasarkan pola penjualan untuk strategi bundling.
Deteksi Anomali
Bank mengelompokkan pola transaksi nasabah; transaksi yang jauh dari semua klaster dicurigai fraud.
Kesamaan ketiganya: tidak ada label jawaban yang disiapkan manusia. Komputer harus menemukan struktur sendiri dari data mentah — inilah unsupervised learning.
Peta Metode: Di Mana Posisi Klastering?
Hari ini kita di kotak Klastering. Minggu depan (P6) kita geser ke aturan asosiasi — masih unsupervised, tapi mencari "barang apa dibeli bersama", bukan "siapa mirip siapa".
Apa Itu Klaster?
Klaster = kelompok data yang anggotanya mirip satu sama lain, tapi berbeda dari anggota klaster lain
Ciri Klaster yang Baik
Kohesi tinggi: jarak antar-anggota dalam satu klaster kecil
Separasi tinggi: jarak antar-klaster besar
Contoh: klaster "pelanggan hemat" punya nilai transaksi yang saling berdekatan
K-Means dalam Satu Kalimat
Algoritma yang membagi N data menjadi K klaster, di mana setiap data masuk ke klaster dengan centroid (titik pusat) terdekat.
K = jumlah klaster yang kita tentukan di awal (mis. K=3 untuk hemat/menengah/premium).
Bagian 2 dari 4
Algoritma & Matematika K-Means
Dari standardisasi data, konsep jarak Euclidean, sampai menghitung dua iterasi penuh dengan tangan sendiri.
Kenapa Data Harus Distandardisasi Dulu?
K-Means mengandalkan jarak antar-data. Kalau skala variabel timpang, variabel berskala besar akan mendominasi perhitungan jarak secara tidak adil.
Contoh Kasus: Data Pelanggan E-Commerce
Variabel
Rentang Nilai Asli
Masalah
Total belanja (Rp)
50.000 – 5.000.000
Skala jutaan → mendominasi jarak
Jumlah transaksi/bulan
1 – 20
Skala kecil → nyaris diabaikan
z = (x − μ) / σ
Tanpa standardisasi (z-score), klaster yang terbentuk hampir selalu hanya mencerminkan variabel "Total belanja" saja — padahal frekuensi transaksi juga penting untuk bisnis.
Coba Sendiri: Efek Standardisasi Z-Score
Bandingkan data mentah dengan data yang sudah distandardisasi, lalu amati bagaimana skala yang timpang bisa mengacaukan perhitungan jarak.
Konsep Inti: Centroid & Jarak Euclidean
Centroid
Titik pusat sebuah klaster — dihitung sebagai rata-rata koordinat semua anggota klaster tersebut. Centroid bukan data asli, melainkan titik "imajiner" hasil rata-rata.
Jarak Euclidean
Ukuran "kemiripan" dua titik data. Semakin kecil jaraknya, semakin mirip — data akan di-assign ke centroid dengan jarak terkecil.
d(A,B) = √[(x₁ − x₂)² + (y₁ − y₂)²]
Glosarium: Euclidean = jarak garis lurus (seperti penggaris), berbeda dari jarak "jalan grid kota" (Manhattan distance) yang tak dibahas hari ini.
Algoritma K-Means: Empat Langkah
Langkah
Apa yang Terjadi
1 Inisialisasi
Pilih K titik acak sebagai centroid awal (mis. K=2, pilih 2 data acak sebagai centroid)
2 Assign
Setiap data dihitung jaraknya ke semua centroid, lalu masuk ke klaster centroid terdekat
3 Update
Centroid baru dihitung ulang = rata-rata semua anggota klaster saat ini
4 Ulangi / Berhenti
Ulangi langkah 2–3 sampai centroid tidak lagi berpindah (konvergen)
Proses ini disebut iteratif — algoritma tidak langsung ketemu jawaban, tapi mendekati solusi terbaik langkah demi langkah. Dua slide berikutnya kita praktikkan persis empat langkah ini dengan angka nyata.
Hitung dari Nol #1 — Iterasi 1
Data (sudah distandar, 1 variabel skor belanja): A=1, B=2, C=4, D=5. K=2, centroid awal: C1=1, C2=5.
Langkah
Perhitungan
Nilai
Assign A (=1)
|1−1|=0 vs |1−5|=4
Klaster 1
Assign B (=2)
|2−1|=1 vs |2−5|=3
Klaster 1
Assign C (=4)
|4−1|=3 vs |4−5|=1
Klaster 2
Assign D (=5)
|5−1|=4 vs |5−5|=0
Klaster 2
Update C1
rata-rata (1+2)/2
C1 = 1,5
Update C2
rata-rata (4+5)/2
C2 = 4,5
Hasil Iterasi 1
Klaster1={A,B} • Klaster2={C,D}
Centroid bergeser: C1: 1→1,5 • C2: 5→4,5
Hitung dari Nol #2 — Iterasi 2 & Konvergensi
Lanjutan: centroid baru C1=1,5 dan C2=4,5. Ulangi assign untuk cek apakah keanggotaan berubah.
Langkah
Perhitungan
Nilai
Assign A (=1)
|1−1,5|=0,5 vs |1−4,5|=3,5
Klaster 1
Assign B (=2)
|2−1,5|=0,5 vs |2−4,5|=2,5
Klaster 1
Assign C (=4)
|4−1,5|=2,5 vs |4−4,5|=0,5
Klaster 2
Assign D (=5)
|5−1,5|=3,5 vs |5−4,5|=0,5
Klaster 2
Update C1 & C2
(1+2)/2 dan (4+5)/2
C1=1,5 • C2=4,5 (tetap)
Status
KONVERGEN
Keanggotaan & centroid tidak berubah → algoritma berhenti di iterasi 2
Klik untuk menjalankan tiap iterasi assign-update dan amati bagaimana centroid bergerak sampai konvergen.
Bagian 3 dari 4
Menentukan Jumlah Klaster K
K bukan angka tebakan — dua metode sistematis: Elbow dan Silhouette Score.
Metode Elbow (Siku)
Jalankan K-Means untuk beberapa nilai K (1,2,3,...), hitung WCSS (Within-Cluster Sum of Squares — total jarak kuadrat data ke centroidnya), lalu cari titik "siku" di grafik.
Titik "siku" (K=3 di contoh ini) adalah tempat penurunan WCSS mulai melandai — menambah klaster lagi hanya memberi perbaikan kecil, tidak sepadan dengan kompleksitas tambahan.
Coba Sendiri: Cari Titik Siku pada Grafik Elbow
Ubah nilai WCSS untuk tiap K dan temukan sendiri di mana kurva mulai melandai membentuk siku.
Metode Silhouette Score
Mengukur seberapa baik satu titik data "cocok" dengan klasternya dibanding klaster tetangga terdekat.
s = (b − a) / max(a, b)
Variabel
a = rata-rata jarak ke sesama anggota klaster (kohesi)
b = rata-rata jarak ke klaster tetangga terdekat (separasi)
Interpretasi Nilai s
s ≈ 1 — klastering sangat baik
s ≈ 0 — titik di perbatasan dua klaster
s < 0 — kemungkinan salah klaster
Praktik terbaik: pilih K dengan rata-rata Silhouette Score tertinggi di seluruh dataset — lebih presisi daripada membaca grafik Elbow secara visual.
Coba Sendiri: Hitung Silhouette Score Sebuah Titik
Ubah jarak rata-rata ke klaster sendiri dan klaster tetangga, lalu lihat skor silhouette-nya terhitung otomatis.
Kelebihan & Keterbatasan K-Means
Kelebihan
Sederhana & cepat, cocok data besar
Mudah diinterpretasi tim bisnis non-teknis
Tersedia siap pakai di R (kmeans()) dan Python (scikit-learn)
Keterbatasan
Harus tentukan K di awal (butuh Elbow/Silhouette)
Sensitif terhadap centroid awal yang acak
Asumsi klaster berbentuk bulat/sama besar — kurang cocok untuk bentuk data tak-beraturan
Karena sensitif pada inisialisasi acak, praktiknya (di R/Python) K-Means dijalankan berkali-kali dengan centroid awal berbeda, lalu dipilih hasil dengan WCSS terkecil.
Bagian 4 dari 4
Praktik & Interpretasi Bisnis
Dari sintaks kode sampai menerjemahkan angka klaster menjadi keputusan marketing.
Visualisasi: Hasil Klaster Segmentasi Pelanggan
Ilustrasi K=3 pada data pelanggan (sumbu: frekuensi transaksi vs total belanja, sudah distandar).
Lingkaran besar hitam = centroid tiap klaster. Nama "Hemat/Menengah/Premium" bukan output algoritma — itu label yang Anda berikan setelah membaca karakteristik tiap klaster.
Sintaks Praktik: K-Means di R dan Python
R
data_z <- scale(data) hasil <- kmeans(data_z, centers=3) data$klaster <- hasil$cluster
Python (scikit-learn)
from sklearn.cluster import KMeans km = KMeans(n_clusters=3) data
klaster
= km.fit_predict(data_z)
Urutan wajib: 1) standardisasi (scale()/StandardScaler) → 2) tentukan K (Elbow/Silhouette) → 3) fit K-Means → 4) interpretasi & beri nama klaster.
Latihan Kelas: Segmentasi Mini
Kerjakan berpasangan (10 menit). Data skor belanja (sudah distandar) 6 pelanggan: P1=0,5 • P2=1 • P3=1,5 • P4=6 • P5=6,5 • P6=7. Gunakan K=2, centroid awal C1=0,5 dan C2=7.
Tugas Anda
Hitung iterasi 1: assign tiap pelanggan ke centroid terdekat
Update kedua centroid (rata-rata anggota)
Cek: apakah sudah konvergen di iterasi 1, atau perlu iterasi 2?
Pertanyaan Diskusi
Kalau K diganti jadi 3, bagaimana kira-kira pembagiannya?
Beri nama bisnis untuk kedua klaster hasil Anda
Kumpulkan hasil hitungan di kertas/spreadsheet sebelum 10 menit berakhir — akan dibahas bersama.
Rangkuman & Persiapan Minggu Depan
Cheat Sheet Hari Ini
Konsep
Inti
Centroid
Titik pusat = rata-rata anggota klaster
Assign & Update
Ulangi sampai konvergen
Elbow / Silhouette
Cara sistematis menentukan K
Tugas & Minggu Depan
Aturan Asosiasi
Tugas: kumpulkan hasil latihan kelas (segmentasi mini) sebelum pertemuan 6. Minggu depan kita bahas support, confidence, dan lift — "produk apa dibeli bersama", contoh nyata keranjang belanja Alfamart/Indomaret.