stdsquare²
🎓 Kelas
stdsquare / materi / slides / pertemuan-05
Tema
Japan
Arcade
Dark Retro
Font
‹ Daftar slide Pertemuan 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?

SUPERVISED LEARNINGData punya "jawaban" (label)RegresiPertemuan 7KlasifikasiPertemuan 8UNSUPERVISED LEARNINGData TANPA label — cari pola sendiriKlastering(K-Means)Pertemuan 5 — hari iniAturan AsosiasiPertemuan 6
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
VariabelRentang Nilai AsliMasalah
Total belanja (Rp)50.000 – 5.000.000Skala jutaan → mendominasi jarak
Jumlah transaksi/bulan1 – 20Skala 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

LangkahApa yang Terjadi
1 InisialisasiPilih K titik acak sebagai centroid awal (mis. K=2, pilih 2 data acak sebagai centroid)
2 AssignSetiap data dihitung jaraknya ke semua centroid, lalu masuk ke klaster centroid terdekat
3 UpdateCentroid baru dihitung ulang = rata-rata semua anggota klaster saat ini
4 Ulangi / BerhentiUlangi 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.

LangkahPerhitunganNilai
Assign A (=1)|1−1|=0 vs |1−5|=4Klaster 1
Assign B (=2)|2−1|=1 vs |2−5|=3Klaster 1
Assign C (=4)|4−1|=3 vs |4−5|=1Klaster 2
Assign D (=5)|5−1|=4 vs |5−5|=0Klaster 2
Update C1rata-rata (1+2)/2C1 = 1,5
Update C2rata-rata (4+5)/2C2 = 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.

LangkahPerhitunganNilai
Assign A (=1)|1−1,5|=0,5 vs |1−4,5|=3,5Klaster 1
Assign B (=2)|2−1,5|=0,5 vs |2−4,5|=2,5Klaster 1
Assign C (=4)|4−1,5|=2,5 vs |4−4,5|=0,5Klaster 2
Assign D (=5)|5−1,5|=3,5 vs |5−4,5|=0,5Klaster 2
Update C1 & C2(1+2)/2 dan (4+5)/2C1=1,5 • C2=4,5 (tetap)
Status
KONVERGEN
Keanggotaan & centroid tidak berubah → algoritma berhenti di iterasi 2

Coba Sendiri: Jalankan Iterasi K-Means Langkah demi Langkah

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.

Jumlah Klaster (K)WCSS123 ← siku4567
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).

Total Belanja (z-score)Frekuensi (z-score)HematMenengahPremium
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)
dataklaster= km.fit_predict(data_z)
Urutan wajib: 1) standardisasi (scale()/StandardScaler) → 2) tentukan K (Elbow/Silhouette) → 3) fit K-Means4) 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
KonsepInti
CentroidTitik pusat = rata-rata anggota klaster
Assign & UpdateUlangi sampai konvergen
Elbow / SilhouetteCara 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.