Library:
> # install.packages("knitr")
> # install.packages("rmarkdown")
> # install.packages("prettydoc")
> # install.packages("equatiomatic")Statistika sebagai ilmu yang berfokus pada pengolahan, analisis, dan interpretasi data, memegang peran sentral dalam mendukung pengambilan keputusan pada berbagai bidang, termasuk sektor pendidikan. Analisis multivariat, khususnya teknik dari unsupervised learning, banyak dimanfaatkan untuk memahami pola dan struktur dari data berdimensi banyak. Salah satu metode yang sering digunakan adalah clustering, yaitu teknik untuk mengelompokkan objek ke dalam kelompok yang homogen berdasarkan kemiripan karakteristiknya (Johnson & Wichern, 2019).
Dalam pengembangan metode clustering, Agglomerative Hierarchical Clustering (AHC) menjadi salah satu metode yang paling luas diterapkan dalam penelitian sosial dan pendidikan karena kemampuannya untuk mengungkap struktur natural dari data melalui dendrogram, menangani variabel dengan skala berbeda, serta tidak memerlukan penentuan jumlah klaster sejak awal (Murtagh & Contreras, 2017). Seperti pada penelitian Rahmawati dan Wibowo (2019) yang menunjukkan bahwa AHC efektif digunakan untuk analisis ketimpangan wilayah dan pengelompokan sekolah.
Pendidikan merupakan elemen fundamental dalam pembangunan manusia. Provinsi Jawa Timur, sebagai salah satu provinsi dengan jumlah penduduk terbesar di Indonesia, memiliki variaasi capaian pendidikan yang cukup tinggi antarwilayah. Laporan Dinas Pendidikan tahun 2023 menunjukkan adanya perbedaan signifikan dalam kualitas sarana prasarana, kualifikasi guru, tingkat partisipasi sekolah, serta indikator mutu pendidikan lainnya, hal tersebut juga diperkuat pada statistik pendidikan Jawa Timur oleh BPS. Sari dan Kurniawan (2018) juga menyebutkan bahwa terdapat ketimpangan mutu pendidikan antarkabupaten/kota di provinsi Jawa Timur, yang dipengaruhi oleh kondisi sosial ekonomi, akses layanan pendidikan, dan ketersediaan tenaga pengajar yang kompeten.
Pada tahun 2024, urgensi pemetaan kualitas pendidikan sekolah dasar semakin meningkat karena beberapa alasan penting. Pertama, pemulihan pasca-pandemi mengharuskan pemerintah untuk mengidentifikasi wilayah yang mengalami learning loss lebih dalam, sehingga membutuhkan intervensi prioritas (UNESCO, 2023). Kedua, pemerintah daerah menargetkan pemerataan mutu pendidikan melalui program peningkatan kualitas guru dan infrastruktur, yang membutuhkan klasifikasi wilayah berbasis data objektif (Kemendikbudristek, 2024). Ketiga, data indikator pendidikan dasar dari Badan Pusat Statistik (BPS) tahun 2024 menyediakan landasan kuantitatif yang memungkinkan analisis pengelompokan wilayah secara komprehensif dan akurat.
Dengan demikian, penerapan Agglomerative Hierarchical Clustering pada kualitas pendidikan sekolah dasar di Jawa Timur tahun 2024 menjadi sangat relevan. Analisis ini tidak hanya membantu mengidentifikasi kelompok wilayah dengan karakteristik mutu pendidikan yang serupa, tetapi juga dapat menjadi dasar bagi penyusunan kebijakan peningkatan pendidikan yang lebih terkonsentrasi, efektif, dan tepat sasaran.
> # Input Data
> df <- read_excel("D:/Semester 7/Analisis Multivariat I/Praktikum/Laprak 2/Data Laprak 2.xlsx", sheet = "Analysis")
> head(df)
# A tibble: 6 Ă— 7
`Kabupaten/Kota` X1 X2 X3 X4 X5 X6
<chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 Pacitan 31903 419 3775 93.8 66.8 34.7
2 Ponorogo 47531 571 4421 89.9 73.5 35.5
3 Trenggalek 39613 438 3644 95.1 74.9 34.1
4 Tulungagung 63208 632 6397 96.3 67.2 37.7
5 Blitar 61133 666 6000 94.2 70.7 35.3
6 Kediri 92389 702 6264 94.3 64.6 36.2Data yang digunakan dalam penelitian ini adalah data sekunder yang diperoleh dari publikasi tabel statistik Badan Pusat Statistik Jawa Timur tahun 2025, dengan 38 amatan yang merupakan kabupaten/kota di Jawa Timur. Variabel Penelitian
| Notasi | Nama Variabel | Satuan | Skala |
|---|---|---|---|
| X1 | Banyak Murid SD | Orang | Rasio |
| X2 | Banyak Sekolah SD | Unit | Rasio |
| X3 | Banyak Guru SD | Orang | Rasio |
| X4 | Angka Melek Huruf | Persen | Rasio |
| X5 | Tingkat Kegemaran Pembaca | Persen | Rasio |
| X6 | Persentase Sedang Sekolah SD | Persen | Rasio |
Metode yang digunakan dalam penelitian ini adalah analisis Agglomerative Hierarchical Clustering dengan langkah-langkah sebagai berikut:
Analisis statistik deskriptif ini dilakukan dengan tujuan untuk mendeskripsikan dan melihat karakteristik pendidikan sekolah dasar di Jawa Timur tahun 2024.
> # Ringkasan statistik
> summary(df)
Kabupaten/Kota X1 X2 X3
Length:38 Min. : 11268 Min. : 55.0 Min. : 735
Class :character 1st Qu.: 36195 1st Qu.: 408.5 1st Qu.: 3784
Mode :character Median : 60304 Median : 540.0 Median : 4878
Mean : 65837 Mean : 499.3 Mean : 4788
3rd Qu.: 73038 3rd Qu.: 635.5 3rd Qu.: 6126
Max. :213412 Max. :1157.0 Max. :11424
X4 X5 X6
Min. :84.54 Min. : 64.62 Min. :26.33
1st Qu.:92.48 1st Qu.: 72.08 1st Qu.:33.40
Median :94.28 Median : 76.21 Median :34.77
Mean :94.01 Mean : 77.14 Mean :34.50
3rd Qu.:96.31 3rd Qu.: 80.25 3rd Qu.:36.09
Max. :98.75 Max. :100.00 Max. :39.79 > par(mfrow = c(2,3))
> hist(df$X1, main="Banyak Murid SD (X1)", xlab="Jumlah Murid", col = "lightblue")
> hist(df$X2, main="Banyak Sekolah SD (X2)", xlab="Jumlah Sekolah", col = "lightgreen")
> hist(df$X3, main="Banyak Guru SD (X3)", xlab="Jumlah Guru", col = "lightpink")
> hist(df$X4, main="Angka Melek Huruf (X4)", xlab="Persen", col = "lightyellow")
> hist(df$X5, main="Tingkat Kegemaran Pembaca (X5)", xlab="Persen", col = "lightgray")
> hist(df$X6, main="Persentase Sedang Sekolah SD (X6)", xlab="Persen", col = "lightcyan")Uji non-multikolinearitas dilakukan menggunakan uji korelasi yang bertujuan untuk mengetahui hubungan antar variabel. Jika nilai korelasi lebih dari 0,7 atau kurang dari -0,7 maka perlu penanganan. Berikut merupakan hasil dari uji korelasi.
Hasil uji korelasi menunjukkan bahwa variabel X1, X2, dan X3 memiliki
hubungan yang sangat kuat dan positif satu sama lain (0,77–0,92). Maka
perlu dilakukan penanganan yaitu dengan mereduksi dimensi variabel
menggunakan Principal Component Analysis (PCA)
Principal Component Analysis (PCA) atau analisis komponen utama bertujuan untuk mereduksi banyak variabel yang akan diuji tanpa menghilangkan informasi penting dari data
> ## Dekomposisi Eigen
> kor_eig <- eigen(kor)
> ## Scree Plot
> plot(kor_eig$values, xlab="Eigenvalue Number", ylab="Eigenvalue Size",
+ main = "Scree Plot")
> lines(kor_eig$values)> ## Nilai Kumulatif Eigen
> for (eg in kor_eig$values){
+ print(eg / sum(kor_eig$values))
+ }
[1] 0.4674065
[1] 0.3025609
[1] 0.1085748
[1] 0.09526783
[1] 0.01852433
[1] 0.007665666
> # Fungsi PCA
> PCA1 <- prcomp(x = df[,2:7], scale=T, center=T)
> PCA1
Standard deviations (1, .., p=6):
[1] 1.6746459 1.3473550 0.8071238 0.7560469 0.3333856 0.2144621
Rotation (n x k) = (6 x 6):
PC1 PC2 PC3 PC4 PC5 PC6
X1 0.53307840 -0.27669397 0.03881941 -0.10122337 0.65989790 0.438234537
X2 0.57381325 0.08615238 -0.01940603 -0.02139332 -0.70251917 0.411033659
X3 0.57424223 -0.14636062 0.03592563 -0.10415136 -0.01351992 -0.797811683
X4 -0.22302760 -0.51842345 0.17590775 -0.78019518 -0.19892325 0.047720944
X5 -0.05649956 -0.54936849 -0.79576768 0.22720243 -0.10060534 -0.003672845
X6 0.06227455 0.56923472 -0.57674611 -0.56402409 0.14535093 -0.014407024
> # Ringkasan Data PCA
> summary(PCA1)
Importance of components:
PC1 PC2 PC3 PC4 PC5 PC6
Standard deviation 1.6746 1.3474 0.8071 0.75605 0.33339 0.21446
Proportion of Variance 0.4674 0.3026 0.1086 0.09527 0.01852 0.00767
Cumulative Proportion 0.4674 0.7700 0.8785 0.97381 0.99233 1.00000Berdasarkan kumulatif proporsi varians, maka diambil 3 kumbunen utama dengan jumlah proporsi varians sebesar 0,8785, yang artinya PC1, PC2, dan PC3 sudah dapat mewakili seluruh variabel sebesar 87,85%.
> # Ambil skor komponen utama (nilai PC untuk tiap observasi)
> PC_scores <- as.data.frame(PCA1$x[, 1:3])
> # Ganti nama kolomnya agar jelas
> colnames(PC_scores) <- c("PC1", "PC2", "PC3")
> # Gabungkan dengan data awal (tambahkan ke variabel data)
> data_PCA <- cbind(df['Kabupaten/Kota'], PC_scores)
> head(data_PCA)
Kabupaten/Kota PC1 PC2 PC3
1 Pacitan -0.7191248 0.98368352 0.8489832
2 Ponorogo 0.2020752 1.29047550 -0.1388860
3 Trenggalek -0.7795614 0.08120989 0.3249999
4 Tulungagung 0.6077709 0.89323641 0.3645980
5 Blitar 0.6360396 0.54642133 0.4448995
6 Kediri 1.2018136 0.93992011 0.8204719Agglomerative hierarchical clustering digunakan untuk mengelompokkan kabupaten/kota di Jawa Timur berdasarkan tingkat kualitas pendidikan SD.
> # Jarak Euclidean
> jarak <- dist(data_PCA[,2:4], method = "euclidean")
>
> # Koefisien Korelasi Cophenetic
> ## Single Linkage
> hc_single <- hclust(jarak, method = "single")
> cor_single <- cor(jarak, cophenetic(hc_single))
> ## Average Linkage
> hc_average <- hclust(jarak, method = "average")
> cor_average <- cor(jarak, cophenetic(hc_average))
> ## Complete Linkage
> hc_complete <- hclust(jarak, method = "complete")
> cor_complete <- cor(jarak, cophenetic(hc_complete))
> ## Centroid Linkage
> hc_centroid <- hclust(jarak, method = "centroid")
> cor_centroid <- cor(jarak, cophenetic(hc_centroid))
> ## Ward’s Method
> hc_ward <- hclust(jarak, method = "ward.D")
> cor_ward <- cor(jarak, cophenetic(hc_ward))
> ## Ringkasan Koefisien Korelasi
> KorCop <- data.frame(
+ Metode = c("Single Linkage", "Average Linkage", "Complete Linkage", "Centroid Linkage", "Ward's Method"),
+ Koefisien_Korelasi = c(cor_single, cor_average, cor_complete, cor_centroid, cor_ward)
+ )
> KorCop
Metode Koefisien_Korelasi
1 Single Linkage 0.8465368
2 Average Linkage 0.8494652
3 Complete Linkage 0.4720383
4 Centroid Linkage 0.8427933
5 Ward's Method 0.7198733Nilai korelasi chopenetic paling tinggi yaitu 0,8495 pada algoritma average linkage, sehingga algoritma tersebut digunakan dalam clustering.
> inval <- clValid(data_PCA[1:38,2:4], 2:5,
+ clMethods = "hierarchical",
+ validation = "internal",
+ metric = "euclidean",
+ method = "average")
> summary(inval)
Clustering Methods:
hierarchical
Cluster sizes:
2 3 4 5
Validation Measures:
2 3 4 5
hierarchical Connectivity 2.9290 9.8833 16.8659 18.1159
Dunn 0.4222 0.2998 0.2760 0.2760
Silhouette 0.5116 0.4227 0.4030 0.3839
Optimal Scores:
Score Method Clusters
Connectivity 2.9290 hierarchical 2
Dunn 0.4222 hierarchical 2
Silhouette 0.5116 hierarchical 2
> plot_nb <- fviz_nbclust(data_PCA[1:38,2:4], FUNcluster = hcut,
+ hc_method = "average", method = "silhouette")
> print(plot_nb)
Dari 2 hingga 5 cluster baik connectivity index, dunn
index, dan silhouette index memiliki hasil perolehan yang
sama, yaitu sebanyak 2 cluster yang merupakan nilai optimal.
> clus_hier <- eclust(data_PCA[1:38,2:4], FUNcluster = "hclust", k = 2, hc_method = "average", graph = TRUE)
> fviz_dend(clus_hier, rect = TRUE, main = "Hasil Analisis Cluster", cex = 0.5)>
> # Data Cluster
> anggota <- data.frame(
+ Cluster = cutree(hc_average, k = 2)
+ )
> df_Cluster <- data.frame(df,anggota)
>
> # Ringkasan Cluster
> library(psych)
> describeBy(df_Cluster[, 2:7], group = df_Cluster$Cluster)
Descriptive statistics by group
group: 1
vars n mean sd median trimmed mad min max
X1 1 37 61848.11 38813.71 59475.00 57407.03 22830.56 11268.00 167318.00
X2 2 37 495.24 261.81 522.00 487.97 169.02 55.00 1157.00
X3 3 37 4608.54 2259.95 4854.00 4556.29 1699.06 735.00 9656.00
X4 4 37 93.91 3.10 94.25 94.12 2.68 84.54 98.75
X5 5 37 76.53 7.87 76.17 75.76 6.08 64.62 99.34
X6 6 37 34.66 2.51 34.81 34.83 1.99 26.33 39.79
range skew kurtosis se
X1 156050.00 1.04 0.79 6380.93
X2 1102.00 0.04 0.00 43.04
X3 8921.00 -0.05 -0.39 371.53
X4 14.21 -0.75 0.56 0.51
X5 34.72 0.96 0.83 1.29
X6 13.46 -0.91 1.83 0.41
------------------------------------------------------------
group: 2
vars n mean sd median trimmed mad min max range skew
X1 1 1 213412.00 NA 213412.00 213412.00 0 213412.00 213412.00 0 NA
X2 2 1 651.00 NA 651.00 651.00 0 651.00 651.00 0 NA
X3 3 1 11424.00 NA 11424.00 11424.00 0 11424.00 11424.00 0 NA
X4 4 1 97.78 NA 97.78 97.78 0 97.78 97.78 0 NA
X5 5 1 100.00 NA 100.00 100.00 0 100.00 100.00 0 NA
X6 6 1 28.80 NA 28.80 28.80 0 28.80 28.80 0 NA
kurtosis se
X1 NA NA
X2 NA NA
X3 NA NA
X4 NA NA
X5 NA NA
X6 NA NABerdasarkan hasil analisis Agglomerative Hierarchical Clustering terhadap kualitas pendidikan sekolah dasar di Jawa Timur tahun 2024, dapat ditarik kesimpulan sebagai berikut.
Saran yang dapat diberikan berdasarkan hasil analisis yang dilakukan dalam penelitian in adalah sebagai berikut.
BPS. (2024). Statistik Pendidikan Jawa Timur. BPS.
Dinas Pendidikan Provinsi Jawa Timur. (2023). Lapoan Kinerja Pendidikan Dasar. Dinas Pendidikan Provinsi Jawa Timur.
Johnson, R. A., & Wichern, D. W. (2019). Applied Multivariate Statistical Analysis. Pearson.
Kemendikbudristek. (2024). Rapor Pendidikan Indonesia. Kemendikbudristek.
Murtagh, F., & Contreras, P. (2017). Algorithms for Hierarchical Clustering: an Overview. WIREs Data Mining and Knowledge Discovery, 7(6).
Rahmawati, T., & Wibowo, S. (2019). Application of Hierarchical Clustering for School Performance Classification. Jurnal Statistika dan Komputasi, 8(2).
Sari, F., & Kurniawan, A. (2018). Educational Disparity Across Regions in East Java. Jurnal Pendidikan Indonesia, 7(1).
UNESCO. (2023). Learning Loss Recovery Report.
| Kabupaten/Kota | X1 | X2 | X3 | X4 | X5 | X6 |
|---|---|---|---|---|---|---|
| Pacitan | 31903 | 419 | 3775 | 93.77 | 66.83 | 34.73 |
| Ponorogo | 47531 | 571 | 4421 | 89.87 | 73.48 | 35.50 |
| Trenggalek | 39613 | 438 | 3644 | 95.10 | 74.88 | 34.09 |
| Tulungagung | 63208 | 632 | 6397 | 96.33 | 67.22 | 37.68 |
| Blitar | 61133 | 666 | 6000 | 94.25 | 70.68 | 35.26 |
| Kediri | 92389 | 702 | 6264 | 94.30 | 64.62 | 36.24 |
| Malang | 167318 | 1157 | 9656 | 94.99 | 80.17 | 34.36 |
| Lumajang | 64446 | 558 | 4109 | 92.98 | 76.25 | 35.41 |
| Jember | 162596 | 1049 | 8750 | 89.56 | 67.90 | 33.22 |
| Banyuwangi | 102374 | 806 | 6890 | 93.86 | 88.73 | 37.90 |
| Bondowoso | 49450 | 465 | 4854 | 89.86 | 70.22 | 37.57 |
| Situbondo | 44076 | 426 | 4230 | 89.42 | 72.17 | 31.53 |
| Probolinggo | 70714 | 624 | 5101 | 88.07 | 77.76 | 36.66 |
| Pasuruan | 118772 | 719 | 7290 | 94.85 | 74.33 | 33.11 |
| Sidoarjo | 141919 | 585 | 8507 | 98.75 | 83.97 | 34.63 |
| Mojokerto | 59148 | 421 | 4319 | 95.31 | 66.98 | 32.03 |
| Jombang | 68063 | 522 | 4206 | 94.62 | 82.12 | 34.82 |
| Nganjuk | 67337 | 608 | 5383 | 93.76 | 77.26 | 36.15 |
| Madiun | 35056 | 405 | 3251 | 92.44 | 78.38 | 34.32 |
| Magetan | 34214 | 403 | 3813 | 93.77 | 72.06 | 37.64 |
| Ngawi | 45176 | 505 | 4557 | 91.96 | 72.25 | 34.84 |
| Bojonegoro | 66443 | 711 | 6168 | 92.50 | 84.53 | 37.17 |
| Tuban | 64432 | 567 | 4903 | 94.16 | 76.65 | 33.98 |
| Lamongan | 49345 | 636 | 5759 | 94.30 | 80.27 | 34.96 |
| Gresik | 74054 | 465 | 5053 | 97.39 | 67.51 | 33.93 |
| Bangkalan | 98633 | 680 | 5512 | 92.47 | 76.17 | 35.53 |
| Sampang | 73813 | 629 | 5114 | 84.54 | 72.97 | 37.20 |
| Pamekasan | 59475 | 476 | 5041 | 92.42 | 75.17 | 35.89 |
| Sumenep | 53754 | 634 | 6413 | 92.52 | 78.90 | 32.68 |
| Kota Kediri | 24641 | 140 | 1674 | 96.82 | 99.34 | 29.15 |
| Kota Blitar | 12169 | 63 | 792 | 97.62 | 68.26 | 34.29 |
| Kota Malang | 69408 | 287 | 4065 | 97.71 | 80.14 | 26.33 |
| Kota Probolinggo | 18275 | 86 | 979 | 94.38 | 72.13 | 39.79 |
| Kota Pasuruan | 17560 | 67 | 1055 | 97.46 | 76.77 | 31.95 |
| Kota Mojokerto | 11268 | 55 | 735 | 97.80 | 87.52 | 34.81 |
| Kota Madiun | 13492 | 68 | 831 | 98.39 | 96.53 | 34.31 |
| Kota Surabaya | 213412 | 651 | 11424 | 97.78 | 100.00 | 28.80 |
| Kota Batu | 15182 | 79 | 1005 | 96.26 | 80.39 | 32.58 |
Keterangan:
X1 = Jumlah Murid SD; X2 = Jumlah Sekolah SD; X3 = Jumlah Guru SD; X4 = Angka Melek Huruf; X5 = Tingkat Kegemaran Membaca; X6 = Persentase Sedang Sekolah SD