Load Data

data <- read.csv("kelayakan-pendidikan-indonesia.csv")

# Cek struktur
str(data)
## 'data.frame':    39 obs. of  15 variables:
##  $ Provinsi                     : chr  "Prov. D.K.I. Jakarta" "Prov. Jawa Barat" "Prov. Jawa Tengah" "Prov. D.I. Yogyakarta" ...
##  $ Sekolah                      : int  2224 19553 18618 1846 18980 3532 9751 4206 3815 2464 ...
##  $ Siswa                        : int  756455 4487262 2595050 270610 2530849 489863 1524481 592365 776574 368620 ...
##  $ Mengulang                    : int  1202 4778 6909 357 4694 1406 4896 4643 4446 2006 ...
##  $ Putus.Sekolah                : int  869 5675 2399 75 3327 905 4390 858 1388 835 ...
##  $ Kepala.Sekolah.dan.Guru..S1. : int  1089 5007 2337 326 2950 2062 3279 1022 2214 1177 ...
##  $ Kepala.Sekolah.dan.Guru...S1.: int  38305 209252 167535 19771 180465 47490 108599 47064 50310 26403 ...
##  $ Tenaga.Kependidikan.SM.      : int  6967 27487 21325 4536 21116 6024 12157 9043 7296 4562 ...
##  $ Tenaga.Kependidikan..SM.     : int  1569 3353 2473 866 3818 1096 2015 2167 1334 794 ...
##  $ Rombongan.Belajar            : int  27830 169704 127266 13719 134724 25829 74970 31481 35120 18911 ...
##  $ Ruang.kelas.baik.            : int  23320 59592 51050 8217 58679 10261 33726 12164 15935 6857 ...
##  $ Ruang.kelas.rusak.ringan.    : int  3886 46006 42356 3878 42896 7483 21203 9121 8745 5787 ...
##  $ Ruang.kelas.rusak.sedang.    : int  717 34432 26321 1827 24218 6076 14880 7904 6458 4701 ...
##  $ Ruang.kelas.rusak.berat.     : int  345 14397 13457 548 14389 3122 9371 3600 3719 2377 ...
##  $ X                            : logi  NA NA NA NA NA NA ...
# Lihat 6 baris pertama
head(data)
##                Provinsi Sekolah   Siswa Mengulang Putus.Sekolah
## 1  Prov. D.K.I. Jakarta    2224  756455      1202           869
## 2      Prov. Jawa Barat   19553 4487262      4778          5675
## 3     Prov. Jawa Tengah   18618 2595050      6909          2399
## 4 Prov. D.I. Yogyakarta    1846  270610       357            75
## 5      Prov. Jawa Timur   18980 2530849      4694          3327
## 6            Prov. Aceh    3532  489863      1406           905
##   Kepala.Sekolah.dan.Guru..S1. Kepala.Sekolah.dan.Guru...S1.
## 1                         1089                         38305
## 2                         5007                        209252
## 3                         2337                        167535
## 4                          326                         19771
## 5                         2950                        180465
## 6                         2062                         47490
##   Tenaga.Kependidikan.SM. Tenaga.Kependidikan..SM. Rombongan.Belajar
## 1                    6967                     1569             27830
## 2                   27487                     3353            169704
## 3                   21325                     2473            127266
## 4                    4536                      866             13719
## 5                   21116                     3818            134724
## 6                    6024                     1096             25829
##   Ruang.kelas.baik. Ruang.kelas.rusak.ringan. Ruang.kelas.rusak.sedang.
## 1             23320                      3886                       717
## 2             59592                     46006                     34432
## 3             51050                     42356                     26321
## 4              8217                      3878                      1827
## 5             58679                     42896                     24218
## 6             10261                      7483                      6076
##   Ruang.kelas.rusak.berat.  X
## 1                      345 NA
## 2                    14397 NA
## 3                    13457 NA
## 4                      548 NA
## 5                    14389 NA
## 6                     3122 NA

Data Numerik

data_num <- data[, sapply(data, is.numeric)]
head(data_num)
##   Sekolah   Siswa Mengulang Putus.Sekolah Kepala.Sekolah.dan.Guru..S1.
## 1    2224  756455      1202           869                         1089
## 2   19553 4487262      4778          5675                         5007
## 3   18618 2595050      6909          2399                         2337
## 4    1846  270610       357            75                          326
## 5   18980 2530849      4694          3327                         2950
## 6    3532  489863      1406           905                         2062
##   Kepala.Sekolah.dan.Guru...S1. Tenaga.Kependidikan.SM.
## 1                         38305                    6967
## 2                        209252                   27487
## 3                        167535                   21325
## 4                         19771                    4536
## 5                        180465                   21116
## 6                         47490                    6024
##   Tenaga.Kependidikan..SM. Rombongan.Belajar Ruang.kelas.baik.
## 1                     1569             27830             23320
## 2                     3353            169704             59592
## 3                     2473            127266             51050
## 4                      866             13719              8217
## 5                     3818            134724             58679
## 6                     1096             25829             10261
##   Ruang.kelas.rusak.ringan. Ruang.kelas.rusak.sedang. Ruang.kelas.rusak.berat.
## 1                      3886                       717                      345
## 2                     46006                     34432                    14397
## 3                     42356                     26321                    13457
## 4                      3878                      1827                      548
## 5                     42896                     24218                    14389
## 6                      7483                      6076                     3122

Cleaning Data

data_clean <- subset(data_num)
data_clean <- na.omit(data_clean)
head(data_clean)
##   Sekolah   Siswa Mengulang Putus.Sekolah Kepala.Sekolah.dan.Guru..S1.
## 1    2224  756455      1202           869                         1089
## 2   19553 4487262      4778          5675                         5007
## 3   18618 2595050      6909          2399                         2337
## 4    1846  270610       357            75                          326
## 5   18980 2530849      4694          3327                         2950
## 6    3532  489863      1406           905                         2062
##   Kepala.Sekolah.dan.Guru...S1. Tenaga.Kependidikan.SM.
## 1                         38305                    6967
## 2                        209252                   27487
## 3                        167535                   21325
## 4                         19771                    4536
## 5                        180465                   21116
## 6                         47490                    6024
##   Tenaga.Kependidikan..SM. Rombongan.Belajar Ruang.kelas.baik.
## 1                     1569             27830             23320
## 2                     3353            169704             59592
## 3                     2473            127266             51050
## 4                      866             13719              8217
## 5                     3818            134724             58679
## 6                     1096             25829             10261
##   Ruang.kelas.rusak.ringan. Ruang.kelas.rusak.sedang. Ruang.kelas.rusak.berat.
## 1                      3886                       717                      345
## 2                     46006                     34432                    14397
## 3                     42356                     26321                    13457
## 4                      3878                      1827                      548
## 5                     42896                     24218                    14389
## 6                      7483                      6076                     3122

Statistika Deskriptif

deskriptif_table <- data.frame(
  Mean = colMeans(data_clean),
  SD = apply(data_clean, 2, sd),
  Min = apply(data_clean, 2, min),
  Max = apply(data_clean, 2, max)
)

deskriptif_table
##                                      Mean         SD   Min     Max
## Sekolah                         3817.4872   4862.821   124   19553
## Siswa                         617043.8718 865035.151 17789 4487262
## Mengulang                       2840.8205   2312.422    56    9801
## Putus.Sekolah                   1155.0513   1167.779    75    5675
## Kepala.Sekolah.dan.Guru..S1.    1311.9231   1016.535    76    5007
## Kepala.Sekolah.dan.Guru...S1.  40251.8462  48430.708   450  209252
## Tenaga.Kependidikan.SM.         5773.7949   6128.029    15   27487
## Tenaga.Kependidikan..SM.         907.3846    933.152     5    3818
## Rombongan.Belajar              29318.2051  37231.367   913  169704
## Ruang.kelas.baik.              12033.0000  14751.313   594   59592
## Ruang.kelas.rusak.ringan.       8254.8974  11249.082   169   46006
## Ruang.kelas.rusak.sedang.       6110.0000   7480.669     9   34432
## Ruang.kelas.rusak.berat.        3102.8462   3753.431     5   14397

Boxplot

# Boxplot semua variabel
boxplot(data_clean,
        las=2,
        main="Boxplot Indikator Kelayakan Pendidikan",
        col="lightblue")

Correlation Matrix

data_num <- data[, sapply(data, is.numeric)]

cor_matrix <- cor(data_num, use = "complete.obs")

corrplot::corrplot(cor_matrix, tl.col = "black", tl.srt = 45, tl.cex = 0.5)

cor_matrix <- cor(data_clean)
cor_matrix
##                                 Sekolah     Siswa Mengulang Putus.Sekolah
## Sekolah                       1.0000000 0.9491825 0.4997904     0.8390197
## Siswa                         0.9491825 1.0000000 0.4301100     0.8794910
## Mengulang                     0.4997904 0.4301100 1.0000000     0.5949705
## Putus.Sekolah                 0.8390197 0.8794910 0.5949705     1.0000000
## Kepala.Sekolah.dan.Guru..S1.  0.8020612 0.8329825 0.5708334     0.9143727
## Kepala.Sekolah.dan.Guru...S1. 0.9901760 0.9691094 0.4791943     0.8702298
## Tenaga.Kependidikan.SM.       0.9545359 0.9472240 0.4637156     0.8305182
## Tenaga.Kependidikan..SM.      0.8797440 0.8551191 0.4179650     0.7560207
## Rombongan.Belajar             0.9896526 0.9828619 0.4801447     0.8726851
## Ruang.kelas.baik.             0.9722768 0.9555405 0.4388873     0.8385903
## Ruang.kelas.rusak.ringan.     0.9980559 0.9563858 0.4954332     0.8416510
## Ruang.kelas.rusak.sedang.     0.9791939 0.9571531 0.5253642     0.8714539
## Ruang.kelas.rusak.berat.      0.9795044 0.9140779 0.5701514     0.8766157
##                               Kepala.Sekolah.dan.Guru..S1.
## Sekolah                                          0.8020612
## Siswa                                            0.8329825
## Mengulang                                        0.5708334
## Putus.Sekolah                                    0.9143727
## Kepala.Sekolah.dan.Guru..S1.                     1.0000000
## Kepala.Sekolah.dan.Guru...S1.                    0.8385191
## Tenaga.Kependidikan.SM.                          0.8117900
## Tenaga.Kependidikan..SM.                         0.7158143
## Rombongan.Belajar                                0.8330831
## Ruang.kelas.baik.                                0.7891396
## Ruang.kelas.rusak.ringan.                        0.7994672
## Ruang.kelas.rusak.sedang.                        0.8517316
## Ruang.kelas.rusak.berat.                         0.8466676
##                               Kepala.Sekolah.dan.Guru...S1.
## Sekolah                                           0.9901760
## Siswa                                             0.9691094
## Mengulang                                         0.4791943
## Putus.Sekolah                                     0.8702298
## Kepala.Sekolah.dan.Guru..S1.                      0.8385191
## Kepala.Sekolah.dan.Guru...S1.                     1.0000000
## Tenaga.Kependidikan.SM.                           0.9710424
## Tenaga.Kependidikan..SM.                          0.9099820
## Rombongan.Belajar                                 0.9958449
## Ruang.kelas.baik.                                 0.9816425
## Ruang.kelas.rusak.ringan.                         0.9902833
## Ruang.kelas.rusak.sedang.                         0.9802397
## Ruang.kelas.rusak.berat.                          0.9693666
##                               Tenaga.Kependidikan.SM. Tenaga.Kependidikan..SM.
## Sekolah                                     0.9545359                0.8797440
## Siswa                                       0.9472240                0.8551191
## Mengulang                                   0.4637156                0.4179650
## Putus.Sekolah                               0.8305182                0.7560207
## Kepala.Sekolah.dan.Guru..S1.                0.8117900                0.7158143
## Kepala.Sekolah.dan.Guru...S1.               0.9710424                0.9099820
## Tenaga.Kependidikan.SM.                     1.0000000                0.9436006
## Tenaga.Kependidikan..SM.                    0.9436006                1.0000000
## Rombongan.Belajar                           0.9664659                0.8910603
## Ruang.kelas.baik.                           0.9530706                0.9105711
## Ruang.kelas.rusak.ringan.                   0.9533017                0.8742349
## Ruang.kelas.rusak.sedang.                   0.9546413                0.8627490
## Ruang.kelas.rusak.berat.                    0.9354582                0.8584940
##                               Rombongan.Belajar Ruang.kelas.baik.
## Sekolah                               0.9896526         0.9722768
## Siswa                                 0.9828619         0.9555405
## Mengulang                             0.4801447         0.4388873
## Putus.Sekolah                         0.8726851         0.8385903
## Kepala.Sekolah.dan.Guru..S1.          0.8330831         0.7891396
## Kepala.Sekolah.dan.Guru...S1.         0.9958449         0.9816425
## Tenaga.Kependidikan.SM.               0.9664659         0.9530706
## Tenaga.Kependidikan..SM.              0.8910603         0.9105711
## Rombongan.Belajar                     1.0000000         0.9815397
## Ruang.kelas.baik.                     0.9815397         1.0000000
## Ruang.kelas.rusak.ringan.             0.9913384         0.9715240
## Ruang.kelas.rusak.sedang.             0.9804983         0.9323891
## Ruang.kelas.rusak.berat.              0.9644656         0.9371655
##                               Ruang.kelas.rusak.ringan.
## Sekolah                                       0.9980559
## Siswa                                         0.9563858
## Mengulang                                     0.4954332
## Putus.Sekolah                                 0.8416510
## Kepala.Sekolah.dan.Guru..S1.                  0.7994672
## Kepala.Sekolah.dan.Guru...S1.                 0.9902833
## Tenaga.Kependidikan.SM.                       0.9533017
## Tenaga.Kependidikan..SM.                      0.8742349
## Rombongan.Belajar                             0.9913384
## Ruang.kelas.baik.                             0.9715240
## Ruang.kelas.rusak.ringan.                     1.0000000
## Ruang.kelas.rusak.sedang.                     0.9787677
## Ruang.kelas.rusak.berat.                      0.9738711
##                               Ruang.kelas.rusak.sedang.
## Sekolah                                       0.9791939
## Siswa                                         0.9571531
## Mengulang                                     0.5253642
## Putus.Sekolah                                 0.8714539
## Kepala.Sekolah.dan.Guru..S1.                  0.8517316
## Kepala.Sekolah.dan.Guru...S1.                 0.9802397
## Tenaga.Kependidikan.SM.                       0.9546413
## Tenaga.Kependidikan..SM.                      0.8627490
## Rombongan.Belajar                             0.9804983
## Ruang.kelas.baik.                             0.9323891
## Ruang.kelas.rusak.ringan.                     0.9787677
## Ruang.kelas.rusak.sedang.                     1.0000000
## Ruang.kelas.rusak.berat.                      0.9725283
##                               Ruang.kelas.rusak.berat.
## Sekolah                                      0.9795044
## Siswa                                        0.9140779
## Mengulang                                    0.5701514
## Putus.Sekolah                                0.8766157
## Kepala.Sekolah.dan.Guru..S1.                 0.8466676
## Kepala.Sekolah.dan.Guru...S1.                0.9693666
## Tenaga.Kependidikan.SM.                      0.9354582
## Tenaga.Kependidikan..SM.                     0.8584940
## Rombongan.Belajar                            0.9644656
## Ruang.kelas.baik.                            0.9371655
## Ruang.kelas.rusak.ringan.                    0.9738711
## Ruang.kelas.rusak.sedang.                    0.9725283
## Ruang.kelas.rusak.berat.                     1.0000000

Bartlett Test

cortest.bartlett(cor_matrix, n = nrow(data_num))
## $chisq
## [1] 1470.663
## 
## $p.value
## [1] 7.594455e-256
## 
## $df
## [1] 78

KMO

KMO(cor_matrix)
## Kaiser-Meyer-Olkin factor adequacy
## Call: KMO(r = cor_matrix)
## Overall MSA =  0.87
## MSA for each item = 
##                       Sekolah                         Siswa 
##                          0.87                          0.80 
##                     Mengulang                 Putus.Sekolah 
##                          0.81                          0.89 
##  Kepala.Sekolah.dan.Guru..S1. Kepala.Sekolah.dan.Guru...S1. 
##                          0.90                          0.89 
##       Tenaga.Kependidikan.SM.      Tenaga.Kependidikan..SM. 
##                          0.88                          0.85 
##             Rombongan.Belajar             Ruang.kelas.baik. 
##                          0.83                          0.86 
##     Ruang.kelas.rusak.ringan.     Ruang.kelas.rusak.sedang. 
##                          0.90                          0.87 
##      Ruang.kelas.rusak.berat. 
##                          0.91
data_std <- scale(data_clean)

PCA

pca <- prcomp(data_std)
summary(pca)
## Importance of components:
##                           PC1     PC2    PC3     PC4     PC5     PC6     PC7
## Standard deviation     3.3703 0.91305 0.5935 0.44693 0.31511 0.26374 0.23053
## Proportion of Variance 0.8738 0.06413 0.0271 0.01537 0.00764 0.00535 0.00409
## Cumulative Proportion  0.8738 0.93789 0.9650 0.98036 0.98799 0.99334 0.99743
##                            PC8     PC9    PC10    PC11    PC12    PC13
## Standard deviation     0.13926 0.08705 0.05996 0.04401 0.02595 0.01446
## Proportion of Variance 0.00149 0.00058 0.00028 0.00015 0.00005 0.00002
## Cumulative Proportion  0.99892 0.99951 0.99978 0.99993 0.99998 1.00000

Eigen Value

eigenvalue <- eigen(cor(data_std))$values
eigenvalue
##  [1] 1.135893e+01 8.336614e-01 3.522737e-01 1.997471e-01 9.929471e-02
##  [6] 6.955900e-02 5.314404e-02 1.939452e-02 7.577404e-03 3.595004e-03
## [11] 1.936844e-03 6.732783e-04 2.092071e-04

Scree Plot

plot(eigenvalue, type="b",
     main="Scree Plot",
     xlab="Komponen",
     ylab="Eigenvalue")
abline(h=1, col="red", lty=2)

FA

fa_result <- fa(data_std, 
                nfactors = 1, 
                rotate = "none", 
                fm = "ml")

print(fa_result)
## Factor Analysis using method =  ml
## Call: fa(r = data_std, nfactors = 1, rotate = "none", fm = "ml")
## Standardized loadings (pattern matrix) based upon correlation matrix
##                                ML1   h2     u2 com
## Sekolah                       0.99 0.99 0.0130   1
## Siswa                         0.97 0.95 0.0548   1
## Mengulang                     0.49 0.24 0.7601   1
## Putus.Sekolah                 0.87 0.75 0.2455   1
## Kepala.Sekolah.dan.Guru..S1.  0.83 0.69 0.3071   1
## Kepala.Sekolah.dan.Guru...S1. 1.00 1.00 0.0046   1
## Tenaga.Kependidikan.SM.       0.97 0.94 0.0618   1
## Tenaga.Kependidikan..SM.      0.90 0.81 0.1938   1
## Rombongan.Belajar             1.00 1.00 0.0044   1
## Ruang.kelas.baik.             0.98 0.96 0.0392   1
## Ruang.kelas.rusak.ringan.     0.99 0.99 0.0120   1
## Ruang.kelas.rusak.sedang.     0.98 0.97 0.0342   1
## Ruang.kelas.rusak.berat.      0.97 0.95 0.0546   1
## 
##                  ML1
## SS loadings    11.21
## Proportion Var  0.86
## 
## Mean item complexity =  1
## Test of the hypothesis that 1 factor is sufficient.
## 
## df null model =  78  with the objective function =  44.79 with Chi Square =  1470.66
## df of  the model are 65  and the objective function was  12 
## 
## The root mean square of the residuals (RMSR) is  0.04 
## The df corrected root mean square of the residuals is  0.04 
## 
## The harmonic n.obs is  39 with the empirical chi square  5.07  with prob <  1 
## The total n.obs was  39  with Likelihood Chi Square =  386.08  with prob <  3.7e-47 
## 
## Tucker Lewis Index of factoring reliability =  0.717
## RMSEA index =  0.355  and the 90 % confidence intervals are  0.326 0.396
## BIC =  147.95
## Fit based upon off diagonal values = 1
## Measures of factor score adequacy             
##                                                   ML1
## Correlation of (regression) scores with factors     1
## Multiple R square of scores with factors            1
## Minimum correlation of possible factor scores       1

Visualisasi Barplot Factor Loading

barplot(fa_result$loadings[,1],
        main="Factor Loading",
        ylab="Loading",
        las=2)