Analisis klaster merupakan salah satu metode dalam analisis statistik yang digunakan untuk mengelompokkan objek atau data ke dalam beberapa kelompok berdasarkan tingkat kemiripan karakteristik yang dimiliki. Tujuan utama dari analisis klaster adalah untuk menemukan pola atau struktur tertentu dalam data sehingga objek yang berada dalam satu kelompok memiliki kemiripan yang lebih tinggi dibandingkan dengan objek pada kelompok lainnya.
Pada analisis ini digunakan metode K-Means Clustering, yaitu metode pengelompokan yang bekerja dengan membagi data ke dalam sejumlah klaster berdasarkan jarak kedekatan antar objek. Metode ini akan menempatkan data ke dalam klaster yang memiliki pusat klaster (centroid) terdekat sehingga setiap kelompok yang terbentuk memiliki karakteristik yang relatif homogen.
Dalam penelitian ini, analisis klaster dilakukan pada data mahasiswa dengan menggunakan beberapa variabel yaitu jam belajar, tingkat aktivitas organisasi, dan Indeks Prestasi Kumulatif (IPK). Melalui analisis ini diharapkan dapat diketahui pola pengelompokan mahasiswa berdasarkan karakteristik akademik dan aktivitas organisasi yang dimiliki.
data_mahasiswa <- data.frame(
belajar = c(8,9,7,8,9,7,8,9,8,7,
3,4,5,3,4,5,3,4,5,4,
6,6,7,5,6,7,5,6,7,6),
organisasi = c(2,3,2,1,2,3,1,2,2,3,
8,7,9,8,7,9,8,7,9,8,
5,6,5,6,5,6,5,6,5,6),
ipk = c(3.8,3.9,3.7,3.8,3.9,3.7,3.8,3.9,3.8,3.7,
2.9,3.0,2.8,2.9,3.0,2.8,2.9,3.0,2.8,2.9,
3.3,3.4,3.5,3.2,3.3,3.4,3.2,3.3,3.4,3.3)
)
data_mahasiswa
## belajar organisasi ipk
## 1 8 2 3.8
## 2 9 3 3.9
## 3 7 2 3.7
## 4 8 1 3.8
## 5 9 2 3.9
## 6 7 3 3.7
## 7 8 1 3.8
## 8 9 2 3.9
## 9 8 2 3.8
## 10 7 3 3.7
## 11 3 8 2.9
## 12 4 7 3.0
## 13 5 9 2.8
## 14 3 8 2.9
## 15 4 7 3.0
## 16 5 9 2.8
## 17 3 8 2.9
## 18 4 7 3.0
## 19 5 9 2.8
## 20 4 8 2.9
## 21 6 5 3.3
## 22 6 6 3.4
## 23 7 5 3.5
## 24 5 6 3.2
## 25 6 5 3.3
## 26 7 6 3.4
## 27 5 5 3.2
## 28 6 6 3.3
## 29 7 5 3.4
## 30 6 6 3.3
Data yang digunakan merupakan data simulasi mahasiswa dengan tiga variabel utama, yaitu:
Belajar
Menunjukkan rata-rata jumlah jam belajar mahasiswa per hari.
Organisasi
Menunjukkan tingkat aktivitas mahasiswa dalam kegiatan organisasi yang
diukur dalam skala 1–10.
IPK
Menunjukkan Indeks Prestasi Kumulatif mahasiswa dengan rentang nilai
antara 0 sampai 4.
data_scaled <- scale(data_mahasiswa)
head(data_scaled)
## belajar organisasi ipk
## [1,] 1.0755201 -1.2541457 1.192385
## [2,] 1.6223947 -0.8622251 1.453491
## [3,] 0.5286455 -1.2541457 0.931279
## [4,] 1.0755201 -1.6460662 1.192385
## [5,] 1.6223947 -1.2541457 1.453491
## [6,] 0.5286455 -0.8622251 0.931279
set.seed(123)
kmeans_model <- kmeans(data_scaled, centers = 3, nstart = 25)
kmeans_model
## K-means clustering with 3 clusters of sizes 10, 10, 10
##
## Cluster means:
## belajar organisasi ipk
## 1 0.03645831 0.1175762 -0.03481417
## 2 -1.11197839 1.0973775 -1.15757105
## 3 1.07552008 -1.2149536 1.19238522
##
## Clustering vector:
## [1] 3 3 3 3 3 3 3 3 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
##
## Within cluster sum of squares by cluster:
## [1] 2.401686 3.125100 2.956138
## (between_SS / total_SS = 90.2 %)
##
## Available components:
##
## [1] "cluster" "centers" "totss" "withinss" "tot.withinss"
## [6] "betweenss" "size" "iter" "ifault"
data_mahasiswa$cluster <- kmeans_model$cluster
data_mahasiswa
## belajar organisasi ipk cluster
## 1 8 2 3.8 3
## 2 9 3 3.9 3
## 3 7 2 3.7 3
## 4 8 1 3.8 3
## 5 9 2 3.9 3
## 6 7 3 3.7 3
## 7 8 1 3.8 3
## 8 9 2 3.9 3
## 9 8 2 3.8 3
## 10 7 3 3.7 3
## 11 3 8 2.9 2
## 12 4 7 3.0 2
## 13 5 9 2.8 2
## 14 3 8 2.9 2
## 15 4 7 3.0 2
## 16 5 9 2.8 2
## 17 3 8 2.9 2
## 18 4 7 3.0 2
## 19 5 9 2.8 2
## 20 4 8 2.9 2
## 21 6 5 3.3 1
## 22 6 6 3.4 1
## 23 7 5 3.5 1
## 24 5 6 3.2 1
## 25 6 5 3.3 1
## 26 7 6 3.4 1
## 27 5 5 3.2 1
## 28 6 6 3.3 1
## 29 7 5 3.4 1
## 30 6 6 3.3 1
table(kmeans_model$cluster)
##
## 1 2 3
## 10 10 10
aggregate(data_mahasiswa[,1:3],
by = list(Klaster = data_mahasiswa$cluster),
FUN = mean)
## Klaster belajar organisasi ipk
## 1 1 6.1 5.5 3.33
## 2 2 4.0 8.0 2.90
## 3 3 8.0 2.1 3.80
Berdasarkan rata-rata variabel pada setiap klaster, terlihat bahwa setiap klaster memiliki karakteristik yang berbeda. Klaster 3 menunjukkan mahasiswa dengan jam belajar tinggi dan IPK tinggi namun aktivitas organisasi rendah. Klaster 2 menunjukkan mahasiswa yang sangat aktif dalam organisasi namun memiliki jam belajar lebih rendah serta IPK lebih rendah. Sementara itu, klaster 1 menunjukkan mahasiswa dengan tingkat belajar dan aktivitas organisasi yang relatif seimbang.
plot(data_scaled[,1:2],
col = kmeans_model$cluster,
pch = 19,
xlab = "Belajar",
ylab = "Organisasi",
main = "Visualisasi Klaster Mahasiswa")