Anda pegang data 200 pelanggan: usia, pendapatan, dan frekuensi belanja per orang. Atasan minta pelanggan dibagi menjadi beberapa “tipe” supaya promosinya bisa dipisah-pisah. Masalahnya, tidak ada satu pun yang pernah memberi tahu siapa masuk tipe yang mana. Tidak ada daftar, tidak ada label. Anda harus menemukan kelompok-kelompok itu sendiri, murni dari pola kemiripan datanya.

Pekerjaan seperti ini — menemukan kelompok yang belum pernah ditandai — adalah pekerjaan analisis kluster. Daripada Anda menebak-nebak sambil melototi tabel 200 baris, ada metode yang menatanya secara terukur: objek yang mirip ditarik berdekatan, yang berbeda dipisahkan, lalu garis pemisahnya dibaca sebagai kelompok.

Artikel ini membahas analisis kluster dari nol: apa arti mengelompokkan tanpa label, cara mengukur kemiripan lewat jarak, dua pendekatan utama (hierarki dan K-Means), kenapa data wajib distandarkan, lalu menghitung jarak satu objek ke dua centroid dengan tangan dan menjalankannya di SPSS.

Apa Itu Analisis Kluster

Analisis kluster mengelompokkan objek — bisa responden, pelanggan, daerah, atau produk — ke beberapa kluster (kelompok), dengan satu aturan: objek dalam satu kluster harus mirip satu sama lain, dan berbeda dari objek di kluster lain. Kemiripan diukur dari nilai variabel-variabelnya.

Kata kuncinya: tidak ada label kelompok sebelumnya. Anda tidak tahu ada berapa tipe pelanggan, dan tidak tahu siapa masuk tipe mana. Metode inilah yang mencarinya. Sifat ini disebut tanpa penyelia (unsupervised — tanpa “guru” berupa label jawaban yang sudah benar).

Di sinilah bedanya dengan analisis diskriminan atau regresi logistik. Pada diskriminan, kelompoknya sudah diketahui (misalnya nasabah lancar dan nasabah macet), dan tugasnya menebak kelompok dari variabel. Pada analisis kluster, kelompoknya belum ada; justru kelompok itulah hasil yang dicari.

Begini gambaran utuhnya dalam satu gambar — inti seluruh materi ini:

Analisis kluster: tiga gugus titik dengan centroid masing-masingDiagram pencar dua dimensi berisi 24 titik yang mengelompok menjadi tiga gugus terpisah. Gugus pertama (Kluster 1) berada di kiri-atas dengan penanda hijau penuh; gugus kedua (Kluster 2) di kanan-atas dengan penanda gelap; gugus ketiga (Kluster 3) di tengah-bawah dengan penanda abu-abu. Setiap gugus memiliki centroid atau titik pusat yang ditandai tanda tambah besar tepat di tengah gugus, dan garis tipis menghubungkan tiap titik ke centroid gugusnya.Kluster 1Kluster 2Kluster 3centroid
Inti analisis kluster: dari sekumpulan titik (tiap titik = satu objek, posisinya ditentukan dua variabel), metode menemukan tiga gugus yang anggotanya saling berdekatan dan terpisah dari gugus lain. Tanda + di tengah tiap gugus adalah centroid — titik pusat kluster, yaitu rata-rata posisi anggotanya. Garis tipis menghubungkan tiap titik ke centroid gugusnya.

Perhatikan: tidak ada yang memberi tahu titik mana masuk gugus mana. Pola kedekatannyalah yang membentuk tiga kelompok itu.

Kapan Dipakai

Pakai analisis kluster saat Anda ingin menemukan segmen atau tipe alami di dalam data, padahal belum ada pengelompokan resmi. Contoh:

  • Membagi pelanggan menjadi beberapa tipe berdasarkan usia dan pendapatan, untuk strategi promosi terpisah.
  • Mengelompokkan responden survei menjadi beberapa profil sikap.
  • Mengelompokkan kabupaten/kota berdasarkan indikator ekonomi yang mirip, untuk memetakan prioritas program.

Ada dua pendekatan yang paling sering dipakai, dan keduanya menjawab pertanyaan yang sama dengan cara berbeda:

  • Hierarki (agglomerative, “menggabungkan bertahap”). Mulai dari tiap objek sebagai kluster sendiri, lalu gabungkan dua kluster yang paling dekat, ulangi bertahap, sampai semua objek menyatu jadi satu. Riwayat penggabungan ini digambar sebagai pohon bercabang bernama dendrogram. Cocok untuk sampel kecil: Anda bisa melihat strukturnya dan baru menentukan jumlah kluster belakangan.
  • K-Means (“rata-rata K kelompok”). Anda tentukan dulu jumlah kluster $k$ (misalnya $k = 3$), lalu algoritma menaruh $k$ titik pusat (centroid) dan menggeser-gesernya sampai pembagian objek stabil. Cocok untuk sampel besar, tetapi Anda harus menebak $k$ di awal.

Keduanya sama-sama bertumpu pada satu hal yang akan kita bahas berikutnya: ukuran kemiripan, yaitu jarak.

Standarkan Variabel Dulu

Sebelum apa pun, perhatikan skala tiap variabel. Usia bergerak di kisaran 20–60 (angka puluhan), sedangkan pendapatan bergerak di kisaran jutaan. Kalau dibiarkan apa adanya, perbedaan pendapatan akan menelan perbedaan usia — bukan karena pendapatan lebih penting, melainkan semata-mata karena angkanya jauh lebih besar.

Untuk membuktikan ini, bayangkan dua pelanggan yang usianya beda 5 tahun dan pendapatannya beda Rp 2 juta. Saat dimasukkan ke rumus jarak (akan dijelaskan di bawah), tiap selisih dikuadratkan dulu:

  • Sumbangan usia: $5^2 = 25$
  • Sumbangan pendapatan: $2.000.000^2 = 4.000.000.000.000$ (empat triliun)

Sumbangan pendapatan lebih besar 160 miliar kali lipat. Praktis, perbedaan usia hilang sama sekali — jarak hanya mencerminkan pendapatan.

Solusinya: standarkan tiap variabel dulu, biasanya menjadi skor-Z (Z-score), supaya setiap variabel punya rata-rata 0 dan simpangan baku 1. Setelah distandarkan, semua variabel “berbicara dalam satuan yang sama” dan tidak ada yang mendominasi jarak.

Membakukan skala mentah menjadi skala-ZDua kurva lonceng bersisian. Kurva kiri pada skala nilai mentah dengan rata-rata mu sama dengan 70 dan simpangan baku sigma sama dengan 10, sumbu 50 sampai 90, puncak di 70. Kurva kanan pada skala baku dengan rata-rata 0 dan simpangan baku 1, sumbu negatif 3 sampai 3, puncak di 0. Panah di tengah bertanda rumus z sama dengan selisih x dan mu dibagi sigma. Contoh: nilai mentah 85 di kurva kiri memetakan ke z sama dengan 1,5 di kurva kanan, pada ketinggian kurva yang sama.skala mentahμ=70, σ=105060708090x = 85skala baku (Z)μ=0, σ=1−3−2−10123z = 1,5z = (x − μ) / σ
Standardisasi memindahkan nilai dari skala mentah (kiri, contoh: rata-rata $\mu=70$, simpangan baku $\sigma=10$) ke skala baku (kanan, $\mu=0$, $\sigma=1$) lewat $z = (x-\mu)/\sigma$. Posisi relatif terhadap rata-rata tetap; yang berubah hanya satuannya — sehingga usia, pendapatan, dan frekuensi belanja bisa dibandingkan adil.

Rumus skor-Z, dengan tiap lambang dijelaskan:

$$ z = \frac{x - \bar{x}}{s} $$
  • $x$ = satu nilai mentah dari variabel (misalnya usia seorang pelanggan).
  • $\bar{x}$ = rata-rata variabel itu di seluruh data.
  • $s$ = simpangan baku (standar deviasi) variabel itu — jarak khas data dari rata-rata. Ini yang Anda pelajari di variabilitas.
  • $z$ = nilai baku: berapa simpangan baku nilai itu di atas (positif) atau di bawah (negatif) rata-rata.

Contoh standardisasi dari nol. Misal data usia lima pelanggan: 20, 30, 40, 50, 60.

Rata-ratanya $\bar{x} = (20+30+40+50+60)/5 = 40$. Simpangan baku sampelnya $s = 15{,}81$ (hitung dengan cara di variabilitas; SPSS memakai pembagi $n-1$). Maka usia 20 menjadi:

$$ z = \frac{20 - 40}{15{,}81} = \frac{-20}{15{,}81} \approx -1{,}26 $$

Pelanggan termuda itu berada sekitar 1,26 simpangan baku di bawah rata-rata. Seluruh barisnya menjadi $-1{,}26;\ -0{,}63;\ 0;\ 0{,}63;\ 1{,}26$ — kini “tanpa satuan”, siap diadu dengan variabel lain yang juga sudah dibakukan. Di artikel ini, semua angka contoh sudah dianggap terstandar.

Jarak Euclidean: Ukuran Kemiripan

Setelah variabel sebanding, kita butuh angka yang menyatakan “seberapa mirip dua objek”. Ukuran utamanya adalah jarak Euclidean: jarak garis lurus antara dua titik, persis seperti mengukur dengan penggaris di kertas. Makin kecil jaraknya, makin dekat, makin mirip dua objek itu.

Untuk dua variabel, jarak antara sebuah objek dan sebuah centroid:

$$ d = \sqrt{(x_1 - c_1)^2 + (x_2 - c_2)^2} $$
  • $d$ = jarak Euclidean. Makin kecil = makin mirip = makin dekat.
  • $x_1, x_2$ = nilai variabel pertama dan kedua dari objek (sudah terstandar).
  • $c_1, c_2$ = nilai variabel pertama dan kedua dari centroid (titik pusat kluster).
  • $(x_1 - c_1)$ = selisih objek dan centroid pada variabel pertama; dikuadratkan supaya selisih negatif tidak membatalkan yang positif (ide yang sama dengan kenapa simpangan dikuadratkan di variabilitas).

Rumus ini sebenarnya Teorema Pythagoras: dua selisih variabel adalah dua sisi siku-siku, dan $d$ adalah sisi miringnya. Untuk tiga variabel atau lebih, polanya sama — tinggal tambahkan suku kuadrat selisih tiap variabel di dalam akar.

Inti K-Means dalam satu kalimat: tiap objek masuk ke centroid yang jaraknya paling kecil.

Contoh Hitung Manual

K-Means secara keseluruhan bersifat berulang (geser centroid puluhan kali sampai stabil), jadi keseluruhannya dikerjakan SPSS. Tetapi satu langkah intinya — menentukan objek masuk centroid mana — bisa dihitung tangan. Itu yang kita kerjakan di sini, supaya Anda paham apa yang sebenarnya dilakukan software.

Misal satu objek $A$ dengan dua variabel terstandar: $A = (2,\ 3)$. Ada dua centroid:

  • $C_1 = (1,\ 1)$
  • $C_2 = (4,\ 5)$

Pertanyaannya: objek $A$ masuk kluster mana?

Langkah 1 — jarak $A$ ke centroid $C_1$. Selisih tiap variabel: $2 - 1 = 1$ dan $3 - 1 = 2$. Kuadratkan lalu jumlahkan: $1^2 + 2^2 = 1 + 4 = 5$. Akarkan:

$$ d_{A,C_1} = \sqrt{(2-1)^2 + (3-1)^2} = \sqrt{1 + 4} = \sqrt{5} \approx 2{,}236 $$

Langkah 2 — jarak $A$ ke centroid $C_2$. Selisih tiap variabel: $2 - 4 = -2$ dan $3 - 5 = -2$. Kuadratkan lalu jumlahkan: $(-2)^2 + (-2)^2 = 4 + 4 = 8$. Akarkan:

$$ d_{A,C_2} = \sqrt{(2-4)^2 + (3-5)^2} = \sqrt{4 + 4} = \sqrt{8} \approx 2{,}828 $$

Langkah 3 — bandingkan. Karena $2{,}236 < 2{,}828$, objek $A$ lebih dekat ke $C_1$. Maka objek $A$ masuk kluster 1.

JarakNilaiPutusan
$d$ ke $C_1$2,236terkecil → menang
$d$ ke $C_2$2,828

K-Means mengulang langkah ini untuk semua objek: hitung jarak tiap objek ke setiap centroid, masukkan ke yang terdekat. Setelah semua objek terbagi, tiap centroid dihitung ulang sebagai rata-rata posisi anggotanya, lalu seluruh proses diulang dengan centroid baru itu. Perulangan berhenti saat tidak ada lagi objek yang berpindah kluster. Karena bisa puluhan putaran, bagian inilah yang diserahkan ke software.

Hierarki: Membaca Dendrogram

Pada pendekatan hierarki, tidak ada centroid yang digeser. Idenya menggabungkan dari bawah: mula-mula tiap objek adalah kluster sendiri, lalu dua kluster terdekat digabung berulang kali. Riwayatnya digambar sebagai dendrogram — pohon bercabang yang menunjukkan urutan penggabungan dan seberapa jauh jaraknya.

Contoh kecil dari nol. Empat objek terstandar: $P_1=(1,1)$, $P_2=(1,2)$, $P_3=(5,4)$, $P_4=(6,4)$. Pakai jarak Euclidean:

  • $d(P_1,P_2) = \sqrt{0^2 + 1^2} = 1{,}0$
  • $d(P_3,P_4) = \sqrt{1^2 + 0^2} = 1{,}0$
  • $d(P_2,P_3) = \sqrt{4^2 + 2^2} = \sqrt{20} \approx 4{,}47$ (pasangan terdekat antarsisi)

Pasangan paling dekat: $P_1$–$P_2$ (jarak 1,0) dan $P_3$–$P_4$ (jarak 1,0). Keduanya digabung lebih dulu menjadi dua kluster kecil. Baru pada jarak yang jauh lebih besar (sekitar 4,47), dua kluster kecil itu bergabung menjadi satu. Pada dendrogram, dua penggabungan awal terjadi di “ketinggian” rendah, dan penggabungan terakhir di ketinggian tinggi — celah tinggi inilah sinyal bahwa sebenarnya ada dua kelompok yang berbeda.

Cara membaca jumlah kluster dari dendrogram: tarik satu garis potong horizontal, lalu hitung berapa cabang yang terpotong garis itu — itulah jumlah kluster. Potong di ketinggian rendah → banyak kluster kecil; potong di ketinggian tinggi → sedikit kluster besar. Anda memilih ketinggian potong tepat di bawah celah terbesar.

Mengambil Keputusan

Keputusan untuk satu objek sederhana: masuk ke centroid dengan jarak terkecil (lihat tabel di contoh hitung). Tetapi untuk keseluruhan analisis, ada tiga hal yang dibaca:

  • Jumlah kluster ($k$). Pada K-Means, Anda menetapkannya di awal; coba beberapa nilai $k$ dan lihat mana yang paling masuk akal dan paling mudah dinamai. Pada hierarki, baca dari dendrogram: tarik garis potong, hitung cabang yang terpotong.
  • Profil tiap kluster. Setelah objek terbagi, lihat rata-rata tiap variabel per kluster (di SPSS: tabel Final Cluster Centers). Dari situ Anda memberi nama, misalnya “kluster 1 = muda berpendapatan rendah”.
  • Ukuran kluster. Periksa jumlah anggota tiap kluster (Number of Cases in each Cluster). Kluster yang isinya satu-dua objek biasanya pertanda $k$ terlalu besar.

Di SPSS: Analyze → Classify → K-Means Cluster (atau Hierarchical Cluster kalau ingin dendrogram). Standarkan variabel dulu lewat Analyze → Descriptive Statistics → Descriptives, centang Save standardized values as variables, lalu masukkan variabel Z hasilnya ke analisis kluster.

Bereksperimen Sendiri

Geser objek $A$ dan amati bagaimana jaraknya ke tiap centroid berubah, lalu lihat objek itu berpindah kluster saat jaraknya berbalik. Cari posisi di mana kedua jarak hampir sama — di garis itulah objek “ragu” antara dua kluster.

Langkah cobaan:

  1. Mulai dari posisi awal $A=(2,3)$. Perhatikan $d$ ke $C_1 = 2{,}236$ lebih kecil dari $d$ ke $C_2 = 2{,}828$, jadi titik berwarna kluster 1.
  2. Geser objek $A$ mendekati $C_2 = (4,5)$; jarak ke $C_2$ mengecil sampai akhirnya lebih kecil dari jarak ke $C_1$, dan titik berpindah jadi kluster 2.
  3. Cari posisi di mana kedua jarak hampir sama; di sekitar garis itu objek berada di perbatasan dua kluster.

Excel Pendamping

/excel/analisis-kluster.xlsx berisi: koordinat objek $A$ dan dua centroid, perhitungan jarak Euclidean manual ke tiap centroid dengan rumus terlihat (kolom selisih, selisih kuadrat, jumlah, lalu akar), penentuan kluster terdekat lewat fungsi IF, ditambah catatan kenapa variabel distandarkan dan kenapa K-Means penuh butuh SPSS.

Cek Pemahaman

1. Objek $B = (0, 0)$ (terstandar) dihadapkan pada dua centroid yang sama seperti contoh: $C_1 = (1, 1)$ dan $C_2 = (4, 5)$. Hitung kedua jaraknya dari nol, lalu tentukan $B$ masuk kluster mana.

Lihat jawaban

Jarak ke $C_1$: selisih $0-1=-1$ dan $0-1=-1$ → $(-1)^2+(-1)^2 = 1+1 = 2$ → $d = \sqrt{2} \approx 1{,}414$.

Jarak ke $C_2$: selisih $0-4=-4$ dan $0-5=-5$ → $(-4)^2+(-5)^2 = 16+25 = 41$ → $d = \sqrt{41} \approx 6{,}403$.

Karena $1{,}414 < 6{,}403$, objek $B$ jauh lebih dekat ke $C_1$ → masuk kluster 1.

2. (Transfer.) Seorang mahasiswa menjalankan K-Means atas dua variabel tanpa menstandarkannya dulu: omzet bulanan toko (kisaran Rp 50–500 juta) dan jumlah karyawan (kisaran 2–30 orang). Hasil klusternya ternyata hanya memisahkan toko beromzet besar dari yang kecil; jumlah karyawan seolah tidak berpengaruh sama sekali. Kenapa bisa begitu, dan apa yang harus dia perbaiki?

Lihat jawaban

Karena variabel belum distandarkan, jarak Euclidean didominasi omzet semata-mata karena angkanya jauh lebih besar. Selisih omzet (puluhan–ratusan juta) dikuadratkan menjadi angka raksasa, sedangkan selisih jumlah karyawan (satuan–puluhan) dikuadratkan menjadi angka kecil yang tenggelam. Akibatnya kluster hanya mencerminkan omzet, dan jumlah karyawan praktis diabaikan.

Perbaikannya: standarkan kedua variabel ke skor-Z dulu (rata-rata 0, simpangan baku 1) sebelum menjalankan kluster, supaya keduanya berbobot setara. Di SPSS: simpan nilai baku lewat Descriptives → Save standardized values as variables, lalu pakai variabel Z itu.

Kesalahan Umum

Lupa menstandarkan variabel. Kalau skala variabel beda jauh (usia vs pendapatan), variabel berangka besar mendominasi jarak dan menelan variabel lain. Standarkan dulu (skor-Z) sebelum menghitung jarak atau menjalankan kluster.

Mengira kelompoknya sudah ada. Analisis kluster menemukan kelompok, bukan menebak kelompok yang sudah diketahui. Kalau label kelompok sudah ada dan ingin diprediksi, pakai analisis diskriminan, bukan kluster.

Asal menentukan jumlah kluster. Pada K-Means, $k$ ditetapkan di awal dan sangat memengaruhi hasil. Jangan asal pilih; coba beberapa $k$, bandingkan, dan pilih yang anggotanya seimbang serta mudah dinamai.

Memasukkan variabel yang tidak relevan. Variabel yang tidak ada hubungannya dengan segmentasi hanya menambah derau pada jarak dan mengaburkan kluster. Pilih variabel yang memang menggambarkan kemiripan yang Anda cari.

Memakai hierarki untuk sampel sangat besar. Dendrogram jadi tidak terbaca dan komputasinya berat untuk ribuan objek. Untuk sampel besar, K-Means lebih praktis; hierarki untuk sampel kecil.

Dipakai di Dunia Nyata

Skripsi pemasaran. Segmentasi pelanggan menjadi beberapa tipe dari usia, pendapatan, dan perilaku belanja, lalu tiap segmen diberi strategi promosi sendiri.

Bisnis ritel. Mengelompokkan toko atau cabang berdasarkan pola penjualan untuk menentukan strategi stok dan jam buka.

Studi sosial dan kebijakan. Mengelompokkan kabupaten/kota berdasarkan indikator ekonomi dan kesehatan untuk memetakan prioritas program pemerintah.

Lanjutan

  • Lanjut ke Analisis Diskriminan — kebalikannya: kelompok sudah diketahui, tugasnya menebak keanggotaan objek baru.

Fondasi yang menopang materi ini:

Reference

  • MacQueen, J. (1967), “Some methods for classification and analysis of multivariate observations”
  • Hair et al. (2019), “Multivariate Data Analysis”
  • Ghozali, I. (2018), “Aplikasi Analisis Multivariate dengan Program SPSS”