Latar Belakang

Dalam kegiatan perkuliahan, penggunaan kelas online menjadi salah satu cara yang digunakan mahasiswa untuk mengikuti proses pembelajaran. Pada studi kasus ini, ingin dilihat apakah terdapat hubungan antara penggunaan kelas online dengan kelulusan mahasiswa.

Selain itu, mahasiswa dibedakan berdasarkan jalur masuk, yaitu Beasiswa dan Reguler. Pemisahan ini dilakukan untuk melihat apakah hubungan antara penggunaan kelas online dan kelulusan tetap sama ketika data dianalisis pada masing-masing jalur.

Data yang digunakan merupakan data simulasi sebanyak 550 mahasiswa. Analisis dilakukan menggunakan tabel kontingensi tiga arah untuk melihat hubungan antara penggunaan kelas online, kelulusan, dan jalur masuk. Selanjutnya dilakukan pemeriksaan Simpson’s Paradox serta uji Breslow-Day dan Cochran-Mantel-Haenszel (CMH).

Variabel

Variabel Peran Kategori
Penggunaan kelas online Paparan (X) Ya / Tidak
Kelulusan Outcome (Y) Lulus / Tidak Lulus
Jalur masuk Strata (Z) Beasiswa / Reguler

Packages

library(DescTools)
## Warning: package 'DescTools' was built under R version 4.4.3

Menyusun Tabel Kontingensi

dat <- array(c(48, 180, 2, 20,      # stratum Beasiswa: (Online Ya, Tidak) x (Lulus, Tidak Lulus)
               100, 10, 150, 40),   # stratum Reguler
             dim = c(2, 2, 2),
             dimnames = list(Online    = c("Ya", "Tidak"),
                             Kelulusan = c("Lulus", "Tidak Lulus"),
                             Jalur     = c("Beasiswa", "Reguler")))
dat
## , , Jalur = Beasiswa
## 
##        Kelulusan
## Online  Lulus Tidak Lulus
##   Ya       48           2
##   Tidak   180          20
## 
## , , Jalur = Reguler
## 
##        Kelulusan
## Online  Lulus Tidak Lulus
##   Ya      100         150
##   Tidak    10          40

Tabel Kontingensi Parsial berdasarkan Jalur Masuk

for (k in dimnames(dat)$Jalur) {
  cat("Jalur Masuk:", k, "\n")
  print(addmargins(dat[, , k]))
}
## Jalur Masuk: Beasiswa 
##        Kelulusan
## Online  Lulus Tidak Lulus Sum
##   Ya       48           2  50
##   Tidak   180          20 200
##   Sum     228          22 250
## Jalur Masuk: Reguler 
##        Kelulusan
## Online  Lulus Tidak Lulus Sum
##   Ya      100         150 250
##   Tidak    10          40  50
##   Sum     110         190 300

Pada jalur Beasiswa, sebanyak 200 dari 250 mahasiswa tidak menggunakan kelas online. Pada jalur Reguler, sebanyak 250 dari 300 mahasiswa menggunakan kelas online.

Proporsi

Proporsi pengguna kelas online dan proporsi lulus di tiap jalur

komposisi <- data.frame(
  Jalur = dimnames(dat)$Jalur,
  Total = apply(dat, 3, sum),
  Pakai_Online = apply(dat["Ya", , ], 2, sum),
  Prop_Online = round(apply(dat["Ya", , ], 2, sum) / apply(dat, 3, sum), 3),
  Prop_Lulus = round(apply(dat[, "Lulus", ], 2, sum) / apply(dat, 3, sum), 3)
)

komposisi

Berdasarkan tabel, pada jalur Beasiswa terdapat 250 mahasiswa, dengan 20% menggunakan kelas online dan tingkat kelulusan keseluruhan sebesar 91,2%.

Sementara itu, pada jalur Reguler terdapat 300 mahasiswa, dengan 83,3% menggunakan kelas online dan tingkat kelulusan keseluruhan sebesar 36,7%.

Perbedaan tersebut menunjukkan bahwa komposisi penggunaan kelas online dan tingkat kelulusan berbeda pada kedua jalur masuk. Namun, karena proporsi kelulusan dihitung dari seluruh mahasiswa pada masing-masing jalur, belum dapat diketahui apakah penggunaan kelas online berkaitan dengan kelulusan.

Odds Ratio Marginal

tab_marg <- margin.table(dat, c(1, 2))
addmargins(tab_marg)
##        Kelulusan
## Online  Lulus Tidak Lulus Sum
##   Ya      148         152 300
##   Tidak   190          60 250
##   Sum     338         212 550

Tabel marginal diperoleh dengan menjumlahkan data dari kedua jalur masuk, yaitu Beasiswa dan Reguler, sehingga hubungan antara penggunaan kelas online dan kelulusan dilihat secara keseluruhan tanpa membedakan jalur masuk.

Secara marginal, proporsi kelulusan pada kelompok yang tidak menggunakan kelas online (76%) lebih tinggi dibandingkan kelompok yang menggunakan kelas online (49,33%), dengan selisih sekitar 26,67 poin persentase.

Persentase lulus per kelompok online

round(prop.table(tab_marg, 1) * 100, 1)
##        Kelulusan
## Online  Lulus Tidak Lulus
##   Ya     49.3        50.7
##   Tidak  76.0        24.0
or_fun <- function(t) (t[1, 1] * t[2, 2]) / (t[1, 2] * t[2, 1])
or_marg <- or_fun(tab_marg)
or_marg
## [1] 0.3074792

Pada kelompok pengguna kelas online, sebanyak 49,3% lulus dan 50,7% tidak lulus. Sedangkan pada kelompok yang tidak menggunakan kelas online, sebanyak 76,0% lulus dan 24,0% tidak lulus.

Jadi, secara marginal, proporsi kelulusan lebih tinggi pada kelompok yang tidak menggunakan kelas online dibandingkan kelompok yang menggunakan kelas online.

Nilai Odds Ratio (OR) = 0,3075. Artinya, odds kelulusan pada mahasiswa yang menggunakan kelas online sekitar 0,31 kali odds kelulusan mahasiswa yang tidak menggunakan kelas online.

Analisis Bersyarat (per jalur masuk)

or_strata <- apply(dat, 3, or_fun)
or_strata
## Beasiswa  Reguler 
## 2.666667 2.666667
# Persentase lulus per kelompok online di tiap jalur
for (k in dimnames(dat)$Jalur) {
  cat("Jalur:", k, "\n")
  print(round(prop.table(dat[, , k], 1) * 100, 1))
}
## Jalur: Beasiswa 
##        Kelulusan
## Online  Lulus Tidak Lulus
##   Ya       96           4
##   Tidak    90          10
## Jalur: Reguler 
##        Kelulusan
## Online  Lulus Tidak Lulus
##   Ya       40          60
##   Tidak    20          80

Pada jalur Beasiswa, proporsi kelulusan pengguna online lebih tinggi 6 poin persentase dibandingkan yang tidak menggunakan online.

Nilai OR = 2,67, artinya odds kelulusan mahasiswa yang menggunakan kelas online sekitar 2,67 kali odds kelulusan mahasiswa yang tidak menggunakan kelas online.

Pada jalur Reguler, proporsi kelulusan pengguna online lebih tinggi 20 poin persentase dibandingkan yang tidak menggunakan online.

Nilai OR = 2,67, artinya odds kelulusan mahasiswa yang menggunakan kelas online juga sekitar 2,67 kali odds kelulusan mahasiswa yang tidak menggunakan online.

Secara keseluruhan (marginal), online terlihat memiliki odds kelulusan lebih rendah. Tetapi setelah data dipisahkan berdasarkan jalur masuk, pada kedua jalur justru pengguna online memiliki odds kelulusan 2,67 kali lebih besar.

Selang kepercayaan 95% untuk OR

ci_or <- function(t) {
  lor <- log(or_fun(t))
  se  <- sqrt(sum(1 / t))
  exp(lor + c(-1, 1) * qnorm(0.975) * se)
}
hasil_or <- data.frame(
  Stratum = c("Marginal", dimnames(dat)$Jalur),
  OR      = round(c(or_marg, or_strata), 3),
  Bawah   = round(c(ci_or(tab_marg)[1], sapply(1:2, function(k) ci_or(dat[, , k])[1])), 3),
  Atas    = round(c(ci_or(tab_marg)[2], sapply(1:2, function(k) ci_or(dat[, , k])[2])), 3)
)
hasil_or
  1. Marginal

Diperoleh OR = 0,307 dengan 95% CI (0,213 - 0,444). Karena interval kepercayaan tidak mencakup 1, terdapat hubungan yang signifikan secara statistik pada taraf 5%. Secara marginal, odds kelulusan pengguna online sekitar 0,31 kali dibandingkan mahasiswa yang tidak menggunakan online.

  1. Jalur Beasiswa

Diperoleh OR = 2,667 dengan 95% CI (0,602 - 11,809). Karena interval kepercayaan mencakup 1, belum terdapat bukti yang cukup untuk menyatakan adanya hubungan yang signifikan secara statistik pada taraf 5%.

  1. Jalur Reguler

Diperoleh OR = 2,667 dengan 95% CI (1,275 - 5,576). Karena interval kepercayaan tidak mencakup 1, terdapat hubungan yang signifikan secara statistik pada taraf 5%. Pada jalur Reguler, odds kelulusan pengguna online sekitar 2,67 kali dibandingkan mahasiswa yang tidak menggunakan online.

Secara marginal, OR menunjukkan hubungan negatif antara penggunaan online dan kelulusan (OR = 0,307). Namun, setelah Jalur Masuk diperhitungkan, OR pada kedua strata justru sama-sama 2,667. Hubungan tersebut signifikan pada jalur Reguler, tetapi belum signifikan pada jalur Beasiswa karena CI 95%-nya masih mencakup 1.

Visualisasi persentase lulus: marginal vs per jalur

pct <- rbind(
  Marginal = prop.table(tab_marg, 1)[, "Lulus"] * 100,
  Beasiswa = prop.table(dat[, , "Beasiswa"], 1)[, "Lulus"] * 100,
  Reguler  = prop.table(dat[, , "Reguler"], 1)[, "Lulus"] * 100
)
barplot(t(pct), beside = TRUE, col = c("steelblue", "tomato"),
        ylim = c(0, 110), ylab = "% Lulus",
        main = "Persentase Lulus menurut Penggunaan Kelas Online",
        legend.text = c("Online: Ya", "Online: Tidak"),
        args.legend = list(x = "topright", bty = "n"))

Berdasarkan visualisasi, terlihat bahwa pada analisis marginal, persentase kelulusan mahasiswa yang tidak menggunakan kelas online lebih tinggi dibandingkan mahasiswa yang menggunakan kelas online. Namun, ketika data dibedakan berdasarkan jalur masuk, pola tersebut berubah.

Pada jalur Beasiswa, persentase kelulusan mahasiswa yang menggunakan kelas online sebesar 96%, sedangkan yang tidak menggunakan kelas online sebesar 90%.

Sementara itu, pada jalur Reguler, persentase kelulusan mahasiswa yang menggunakan kelas online sebesar 40%, sedangkan yang tidak menggunakan kelas online sebesar 20%.

Perbedaan ini menunjukkan bahwa pola pada data marginal berlawanan dengan pola pada masing-masing jalur masuk. Pada kedua jalur, persentase kelulusan pengguna kelas online justru lebih tinggi. Pola tersebut menjadi gambaran awal adanya Simpson’s Paradox.

Pemeriksaan Paradoks Simpson

arah_marg  <- ifelse(or_marg > 1, "positif (OR > 1)", "negatif (OR < 1)")
arah_strat <- ifelse(or_strata > 1, "positif (OR > 1)", "negatif (OR < 1)")

data.frame(Analisis = c("Marginal", names(or_strata)),
           OR = round(c(or_marg, or_strata), 3),
           Arah = c(arah_marg, arah_strat))
simpson <- all(or_strata > 1) & (or_marg < 1) | all(or_strata < 1) & (or_marg > 1)
cat("Terjadi Paradoks Simpson? ", ifelse(simpson, "YA", "TIDAK"), "\n")
## Terjadi Paradoks Simpson?  YA

Hasil menunjukkan bahwa pada analisis marginal, diperoleh OR = 0,307 atau OR < 1, sehingga hubungan antara penggunaan online dan kelulusan terlihat negatif.

Namun, setelah data dipisahkan berdasarkan Jalur Masuk, baik jalur Beasiswa maupun Reguler memiliki OR = 2,667 atau OR > 1, sehingga hubungan yang terlihat menjadi positif.

Karena arah hubungan pada data marginal berlawanan dengan arah hubungan pada kedua strata, maka berdasarkan pemeriksaan tersebut diperoleh:

Terjadi Paradoks Simpson (YA)

Artinya, pada data gabungan terlihat bahwa pengguna online memiliki odds kelulusan yang lebih rendah. Tetapi setelah jalur masuk diperhitungkan, pengguna online justru memiliki odds kelulusan yang lebih tinggi pada kedua jalur.

Uji Breslow-Day dan Cochran-Mantel-Haenszel

## OR Gabungan Mantel-Haenszel (perhitungan manual)
n_k <- apply(dat, 3, sum)
num_k <- dat[1, 1, ] * dat[2, 2, ] / n_k
den_k <- dat[1, 2, ] * dat[2, 1, ] / n_k

data.frame(Jalur = dimnames(dat)$Jalur,
           n_k = n_k,
           pembilang = round(num_k, 3),
           penyebut = round(den_k, 3))
theta_mh <- sum(num_k) / sum(den_k)
theta_mh
## [1] 2.666667
## Uji Breslow-Day (homogenitas OR antar stratum)

# H0: OR pada kedua stratum sama (homogen)
# H1: OR pada kedua stratum berbeda

bd <- BreslowDayTest(dat)
bd
## 
##  Breslow-Day test on Homogeneity of Odds Ratios
## 
## data:  dat
## X-squared = 7.4433e-28, df = 1, p-value = 1
## Uji Cochran-Mantel-Haenszel (independensi bersyarat)

# - H0: OR bersama = 1 (kelas online dan kelulusan independen setelah mengontrol jalur masuk)
# - H1: OR bersama tidak sama dengan 1


cmh <- mantelhaen.test(dat, correct = FALSE)
cmh
## 
##  Mantel-Haenszel chi-squared test without continuity correction
## 
## data:  dat
## Mantel-Haenszel X-squared = 8.9089, df = 1, p-value = 0.002838
## alternative hypothesis: true common odds ratio is not equal to 1
## 95 percent confidence interval:
##  1.374993 5.171745
## sample estimates:
## common odds ratio 
##          2.666667
data.frame(
  Uji = c("Breslow-Day", "CMH"),
  Statistik_X2 = round(c(unname(bd$statistic), unname(cmh$statistic)), 3),
  df = c(unname(bd$parameter), unname(cmh$parameter)),
  p_value = signif(c(bd$p.value, cmh$p.value), 3)
)

Berdasarkan uji Breslow-Day, diperoleh p-value sebesar 1,000. Karena p-value > 0,05, tidak terdapat bukti bahwa OR pada jalur Beasiswa dan Reguler berbeda. Dengan demikian, OR pada kedua strata dapat dianggap homogen dan OR gabungan Mantel-Haenszel dapat digunakan.

Selanjutnya, uji CMH menghasilkan p-value sebesar 0,00284 dengan OR Mantel-Haenszel sebesar 2,667 dan 95% CI (1,375–5,172). Karena p-value < 0,05 dan interval kepercayaan tidak mencakup 1, terdapat hubungan yang signifikan antara penggunaan kelas online dan kelulusan setelah jalur masuk diperhitungkan. OR sebesar 2,667 menunjukkan bahwa odds kelulusan mahasiswa yang menggunakan kelas online sekitar 2,67 kali dibandingkan mahasiswa yang tidak menggunakan kelas online.

Kesimpulan Akhir

Berdasarkan hasil analisis, terdapat perbedaan pola hubungan antara penggunaan kelas online dan kelulusan pada data marginal dan data yang telah dibedakan berdasarkan jalur masuk. Pada data marginal, diperoleh OR sebesar 0,307, sehingga penggunaan kelas online terlihat memiliki hubungan negatif dengan kelulusan.

Namun, setelah data dibedakan berdasarkan jalur Beasiswa dan Reguler, kedua kelompok memiliki OR sebesar 2,667. Artinya, pada masing-masing jalur, mahasiswa yang menggunakan kelas online memiliki odds kelulusan yang lebih tinggi dibandingkan mahasiswa yang tidak menggunakan kelas online.

Hasil tersebut menunjukkan adanya Simpson’s Paradox. Uji Breslow-Day menghasilkan p-value sebesar 1,000 sehingga tidak terdapat bukti adanya perbedaan OR antarjalur. Oleh karena itu, OR dapat dirangkum menggunakan metode Mantel-Haenszel. Hasil uji CMH memperoleh p-value sebesar 0,002838 dengan OR sebesar 2,667 dan interval kepercayaan 95% sebesar (1,375; 5,172). Dengan demikian, setelah memperhitungkan jalur masuk, terdapat hubungan yang signifikan antara penggunaan kelas online dan kelulusan mahasiswa.

Jadi, hasil analisis menunjukkan bahwa hubungan antara penggunaan kelas online dan kelulusan dapat terlihat berbeda jika data dianalisis secara keseluruhan dan jika dibedakan berdasarkan jalur masuk.