Input Data

library(readxl)
data_tugas <- read_xlsx("C:/Users/gamal/OneDrive/Documents/Fathoni/TPG/DATA TUGAS.xlsx")
head(data_tugas)
## # A tibble: 6 × 9
##   `No Sek` TAHUN `Status Sekolah` Provinsi  `Mutu Lulusan` `Proses Pembelajaran`
##      <dbl> <dbl> <chr>            <chr>              <dbl>                 <dbl>
## 1        1  2020 Swasta           JAWA TIM…           88.6                  90  
## 2        2  2020 Swasta           SUMATERA…           82.9                  86.7
## 3        3  2020 Swasta           JAWA BAR…           74.3                  83.3
## 4        4  2020 Negeri           BALI                94.3                  96.7
## 5        5  2020 Negeri           SUMATERA…           97.1                  96.7
## 6        6  2020 Swasta           JAWA BAR…           82.9                  90  
## # ℹ 3 more variables: `Mutu Guru` <dbl>, `Manajemen S/M` <dbl>,
## #   `Peringkat Akreditasi` <chr>

Rata-Rata ML, PP, MG dan MJ per provinsi

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
data_rata2 <- data_tugas %>%
  group_by(Provinsi) %>%
  summarise(
    ML = mean(`Mutu Lulusan`, na.rm = TRUE),
    PP = mean(`Proses Pembelajaran`, na.rm = TRUE),
    MG = mean(`Mutu Guru`, na.rm = TRUE),
    MJ = mean(`Manajemen S/M`, na.rm = TRUE)
  )
data_rata2
## # A tibble: 34 × 5
##    Provinsi         ML    PP    MG    MJ
##    <chr>         <dbl> <dbl> <dbl> <dbl>
##  1 ACEH           85.0  84.5  82.1  85.4
##  2 BALI           93.4  91.9  91.9  95.5
##  3 BANTEN         91.3  90.4  88.3  92.1
##  4 BENGKULU       93.4  88.5  87.0  91.2
##  5 DI YOGYAKARTA  91.8  92.0  87.1  93.7
##  6 DKI JAKARTA    94.5  91.1  88.8  92.7
##  7 GORONTALO      87.4  85.8  83.9  89.2
##  8 JAMBI          91.9  89.2  88.8  93.1
##  9 JAWA BARAT     91.6  90.1  88.3  93.1
## 10 JAWA TENGAH    92.5  91.0  88.5  93.3
## # ℹ 24 more rows
library(tibble)
data <- data_rata2 %>%
  column_to_rownames(var = "Provinsi")
data
##                                 ML       PP       MG       MJ
## ACEH                      85.04377 84.45532 82.08983 85.40780
## BALI                      93.39481 91.85758 91.89646 95.51010
## BANTEN                    91.29524 90.38333 88.26620 92.14583
## BENGKULU                  93.38393 88.51042 87.03125 91.19097
## DI YOGYAKARTA             91.76484 91.96667 87.13248 93.72222
## DKI JAKARTA               94.50000 91.09524 88.80556 92.69048
## GORONTALO                 87.39464 85.84792 83.86111 89.18403
## JAMBI                     91.91962 89.17106 88.82479 93.10623
## JAWA BARAT                91.57271 90.06468 88.27529 93.14096
## JAWA TENGAH               92.48571 90.99825 88.52924 93.29532
## JAWA TIMUR                89.80607 87.08917 86.42500 90.54514
## KALIMANTAN BARAT          82.55000 79.13542 76.81597 81.94965
## KALIMANTAN SELATAN        85.82857 86.01373 85.05882 87.70588
## KALIMANTAN TENGAH         92.26050 89.64118 88.73529 90.04575
## KALIMANTAN TIMUR          89.89814 89.07246 89.00966 89.93961
## KALIMANTAN UTARA          89.92597 87.87121 88.16919 91.04798
## KEPULAUAN BANGKA BELITUNG 89.73143 87.82667 85.57778 93.20000
## KEPULAUAN RIAU            88.50667 88.90222 85.24074 89.95185
## LAMPUNG                   87.54381 87.67833 85.79537 89.20093
## MALUKU                    87.15404 87.01739 82.28261 88.78502
## MALUKU UTARA              90.67891 89.49048 87.24603 90.26984
## NUSA TENGGARA BARAT       85.49124 82.80000 81.82079 87.83692
## NUSA TENGGARA TIMUR       83.16273 81.79130 77.22947 83.94565
## PAPUA                     89.88750 87.33194 88.72569 88.73148
## PAPUA BARAT               86.74000 83.33333 81.46111 84.41667
## RIAU                      89.98095 88.95043 87.29345 92.11966
## SULAWESI BARAT            81.88214 82.82500 78.47917 81.16667
## SULAWESI SELATAN          86.93257 87.77733 85.74778 88.92556
## SULAWESI TENGAH           89.71837 87.32857 82.05952 90.55159
## SULAWESI TENGGARA         88.01172 87.32479 84.60826 90.88746
## SULAWESI UTARA            85.71429 85.70000 81.38235 84.27778
## SUMATERA BARAT            89.48340 88.10090 86.83483 91.89489
## SUMATERA SELATAN          87.13771 86.26667 86.24556 90.14333
## SUMATERA UTARA            93.26461 90.38408 89.21021 94.50050

Eksplorasi Data

summary(data)
##        ML              PP              MG              MJ       
##  Min.   :81.88   Min.   :79.14   Min.   :76.82   Min.   :81.17  
##  1st Qu.:86.98   1st Qu.:86.08   1st Qu.:82.68   1st Qu.:88.74  
##  Median :89.72   Median :87.80   Median :86.34   Median :90.21  
##  Mean   :88.94   Mean   :87.47   Mean   :85.48   Mean   :89.75  
##  3rd Qu.:91.50   3rd Qu.:89.41   3rd Qu.:88.27   3rd Qu.:92.14  
##  Max.   :94.50   Max.   :91.97   Max.   :91.90   Max.   :95.51
data_scaled <- scale(data, scale = FALSE)
head(data_scaled)
##                      ML        PP        MG        MJ
## ACEH          -3.898778 -3.015359 -3.385662 -4.340250
## BALI           4.452258  4.386898  6.420968  5.762049
## BANTEN         2.352691  2.912655  2.790707  2.397781
## BENGKULU       4.441381  1.039739  1.555753  1.442920
## DI YOGYAKARTA  2.822288  4.495989  1.656982  3.974170
## DKI JAKARTA    5.557453  3.624560  3.330059  2.942424
df2 <- as.data.frame(data_scaled)
df2
##                                   ML         PP         MG         MJ
## ACEH                      -3.8987785 -3.0153589 -3.3856620 -4.3402504
## BALI                       4.4522577  4.3868977  6.4209681  5.7620491
## BANTEN                     2.3526906  2.9126553  2.7907072  2.3977815
## BENGKULU                   4.4413811  1.0397386  1.5557535  1.4429204
## DI YOGYAKARTA              2.8222877  4.4959886  1.6569821  3.9741704
## DKI JAKARTA                5.5574525  3.6245600  3.3300590  2.9424243
## GORONTALO                 -1.5479046 -1.6227614 -1.6143854 -0.5640241
## JAMBI                      2.9770758  1.7003842  3.3492898  3.3581752
## JAWA BARAT                 2.6301604  2.5939986  2.7997937  3.3929100
## JAWA TENGAH                3.5431668  3.5275676  3.0537433  3.5472698
## JAWA TIMUR                 0.8635240 -0.3815114  0.9495035  0.7970870
## KALIMANTAN BARAT          -6.3925475 -8.3352614 -8.6595243 -7.7983991
## KALIMANTAN SELATAN        -3.1139760 -1.4569526 -0.4166730 -2.0421695
## KALIMANTAN TENGAH          3.3179567  2.1704984  3.2597976  0.2976998
## KALIMANTAN TIMUR           0.9555892  1.6017857  3.5341653  0.1915617
## KALIMANTAN UTARA           0.9834266  0.4005341  2.6936954  1.2999279
## KEPULAUAN BANGKA BELITUNG  0.7888811  0.3559886  0.1022813  3.4519481
## KEPULAUAN RIAU            -0.4358808  1.4315442 -0.2347558  0.2038000
## LAMPUNG                   -1.3987379  0.2076553  0.3198739 -0.5471259
## MALUKU                    -1.7885102 -0.4532868 -3.1928878 -0.9630277
## MALUKU UTARA               1.7363641  2.0197981  1.7705352  0.5217894
## NUSA TENGGARA BARAT       -3.4513032 -4.6706781 -3.6547080 -1.9111343
## NUSA TENGGARA TIMUR       -5.7798145 -5.6793737 -8.2460279 -5.8023997
## PAPUA                      0.9449525 -0.1387336  3.2501979 -1.0165704
## PAPUA BARAT               -2.2025475 -4.1373447 -4.0143854 -5.3313852
## RIAU                       1.0384049  1.4797493  1.8179508  2.3716063
## SULAWESI BARAT            -7.0604046 -4.6456781 -6.9963298 -8.5813852
## SULAWESI SELATAN          -2.0099760  0.3066553  0.2722813 -0.8224963
## SULAWESI TENGAH            0.7758199 -0.1421066 -3.4159727  0.8035354
## SULAWESI TENGGARA         -0.9308258 -0.1458917 -0.8672344  1.1394125
## SULAWESI UTARA            -3.2282617 -1.7706781 -4.0931436 -5.4702741
## SUMATERA BARAT             0.5408502  0.6302228  1.3593383  2.1468430
## SUMATERA SELATAN          -1.8048332 -1.2040114  0.7700590  0.3952815
## SUMATERA UTARA             4.3220600  2.9134060  3.7347137  4.7524486
par(mar = c(7, 4, 4, 2))

boxplot(df2,
        col = c("#F7DDE2", "#D7E8F7", "#D5F7E6", "#F7F3D7"),
        names = c("Mutu\nLulusan",
                  "Proses\nPembelajaran",
                  "Mutu\nGuru",
                  "Manajemen\nS/M"),
        main = "Boxplot",
        las = 2)

Dari boxplot terlihat ada beberapa nilai yang keluar dari pola umum pada variabel Proses Pembelajaran. Hal yang sama juga muncul pada Manajemen S/M. Kondisi ini bisa diinterpretasikan bahwa masih terdapat sekolah dengan kualitas proses pembelajaran yang cukup tertinggal, dan ada juga sekolah yang sistem manajemennya masih kurang baik dibandingkan mayoritas sekolah lainnya. Sedangkan 2 peubah lainnya tidak memiliki pencilan.

library(corrplot)
## corrplot 0.95 loaded
corrplot(cor(data), method = "number", is.cor = T, type = "lower", diag=F)

Diperoleh bahwa seluruh peubah berkorelasi secara positif dengan peubah lainnya. Artinya, kualitas pendidikan di tiap provinsi cenderung bergerak secara selaras antar peubah. Jika suatu provinsi unggul pada satu aspek (misalnya Mutu Guru), maka besar kemungkinan provinsi itu juga unggul pada aspek lain seperti Proses Pembelajaran dan Mutu Lulusan.Sebaliknya, provinsi yang lemah pada salah satu indikator biasanya lemah pada indikator lainnya.

Analisis Biplot

library(FactoMineR)
library(factoextra)
## Loading required package: ggplot2
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa

Normalisasi

Normalisasi digunakan agar semua variabel memiliki peran yang seimbang dalam biplot, sehingga pola antar provinsi dan kontribusi peubah dapat ditafsirkan secara benar, tidak bias oleh perbedaan skala.

df = scale(data,scale = FALSE)
head(df)
##                      ML        PP        MG        MJ
## ACEH          -3.898778 -3.015359 -3.385662 -4.340250
## BALI           4.452258  4.386898  6.420968  5.762049
## BANTEN         2.352691  2.912655  2.790707  2.397781
## BENGKULU       4.441381  1.039739  1.555753  1.442920
## DI YOGYAKARTA  2.822288  4.495989  1.656982  3.974170
## DKI JAKARTA    5.557453  3.624560  3.330059  2.942424

Fungsi Utama Biplot

df_pca = PCA(df, graph = F,scale.unit = F)
fviz_pca_biplot(
  df_pca,
  repel = TRUE,           # agar label tidak tumpang tindih
  labelsize = 3,          # kecilkan ukuran teks provinsi
  pointsize = 2,          # kecilkan titik individu
  max.overlaps = 10,      # batasi overlap label
  col.ind = "black",      # warna label provinsi
  col.var = "steelblue"   # warna vektor variabel
) +
  theme_classic()
## Warning in (function (mapping = NULL, data = NULL, stat = "identity", position
## = "identity", : Ignoring unknown parameters: `max.overlaps`
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## ℹ The deprecated feature was likely used in the ggpubr package.
##   Please report the issue at <https://github.com/kassambara/ggpubr/issues>.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

1. Keragaman peubah - Peubah MJ dan MG memiliki keragaman yang lebih besar dibandingkan peubah lainnya (dilihat dari panjang vektor). - Peubah PP memiliki keragaman terkecil.

  1. Korelasi antar peubah
  • Peubah PP dan ML memiliki korelasi positif terbesar terlihat dari sudut yang terbentuk < 90 derajat (mendekati 0 derajat).
  • Peubah MJ dan ML, PP dan MG, MJ dan PP, MJ dan MG, serta ML dan MG juga memiliki korelasi positif terlihat dari sudut < 90 derajat.
  1. Karakteristik provinsi terhadap peubah
  • Provinsi dengan Nilai Rata-rata Total Skor Tinggi: Provinsi DI YOGYAKARTA, SUMATERA UTARA, JAWA BARAT, BALI, dan DKI JAKARTA memiliki nilai rata-rata total skor yang tinggi untuk beberapa peubah, karena berada di kuadran kanan.

  • Provinsi dengan Nilai Rata-rata Total Skor Rendah: Provinsi SULAWESI BARAT, PAPUA BARAT, NUSA TENGGARA TIMUR (NTT), NUSA TENGGARA BARAT (NTB), dan KALIMANTAN BARAT memiliki nilai rata-rata total skor yang rendah atau jauh di bawah nilai rata-rata total skor.

  • Provinsi Dicirikan oleh Manajemen (MJ): Provinsi SULAWESI TENGAH, KEPULAUAN BANGKA BELITUNG, DI YOGYAKARTA, dan MALUKU dicirikan oleh peubah Manajemen (MJ).

  • Provinsi Dicirikan oleh Mutu Guru (MG): Provinsi KALIMANTAN TIMUR, PAPUA, KALIMANTAN TENGAH, dan KALIMANTAN UTARA dicirikan oleh peubah Mutu Guru (MG).

  • Provinsi Dicirikan oleh Mutu Lulusan (ML) dan Proses Pembelajaran (PP): Provinsi BALI, JAWA TENGAH, DKI JAKARTA, RIAU, dan BANTEN dicirikan oleh peubah Mutu Lulusan (ML) dan Proses Pembelajaran (PP).

eigen_values <- get_eigenvalue(df_pca)
eigen_values
##       eigenvalue variance.percent cumulative.variance.percent
## Dim.1 39.7529805        91.706250                    91.70625
## Dim.2  1.6408362         3.785249                    95.49150
## Dim.3  1.1145119         2.571070                    98.06257
## Dim.4  0.8398408         1.937431                   100.00000
fviz_eig(df_pca, addlabels = T) + theme_classic()
## Warning in geom_bar(stat = "identity", fill = barfill, color = barcolor, :
## Ignoring empty aesthetic: `width`.

Informasi keragaman yang mampu dijelaskan oleh biplot adalah sebesar 95.49%. Artinya biplot mampu memberikan informasi dari 4 peubah untuk menilai posisi relatif 34 provinsi berdasarkan kualitas dalam pengajarannya.