Pendahuluan

Tugas ini bertujuan mempelajari pengaruh tiga faktor terhadap lebar Interval Kepercayaan (IK) 95% melalui simulasi. Ketiga faktor yang dikaji adalah:

Faktor Level
Ukuran Sampel (\(n\)) 5, 30, 100
Variabilitas Data (\(\sigma\) atau \(s\)) 10, 50, 90
Pengetahuan SD Populasi Diketahui → distribusi Z; Tidak Diketahui → distribusi T

Rumus lebar IK:

\[\text{Lebar IK} = 2 \times Z_{\alpha/2} \times \frac{\sigma}{\sqrt{n}} \quad \text{(jika } \sigma \text{ diketahui)}\]

\[\text{Lebar IK} = 2 \times t_{\alpha/2, df} \times \frac{s}{\sqrt{n}} \quad \text{(jika } \sigma \text{ tidak diketahui)}\]


Fungsi Simulasi

set.seed(123)
mu <- 100    # mean populasi (tetap)
k  <- 1000   # banyak ulangan per kombinasi

hitung_lebar_CI <- function(n, sigma, diketahui = TRUE, mu = 100, k = 1000) {
  lebar_vec <- numeric(k)
  
  for (i in 1:k) {
    sampel <- rnorm(n, mean = mu, sd = sigma)
    xbar   <- mean(sampel)
    s      <- sd(sampel)
    
    if (diketahui) {
      z  <- qnorm(0.975)
      ME <- z * (sigma / sqrt(n))
    } else {
      t_val <- qt(0.975, df = n - 1)
      ME    <- t_val * (s / sqrt(n))
    }
    
    lebar_vec[i] <- 2 * ME
  }
  
  return(mean(lebar_vec))
}

Menjalankan Semua Kombinasi (18 Kombinasi)

n_levels  <- c(5, 30, 100)
sd_levels <- c(10, 50, 90)

hasil_list <- list()
idx <- 1

for (n in n_levels) {
  for (sd in sd_levels) {
    lebar_Z <- hitung_lebar_CI(n, sd, diketahui = TRUE)
    lebar_T <- hitung_lebar_CI(n, sd, diketahui = FALSE)
    
    hasil_list[[idx]] <- data.frame(
      n          = n,
      SD         = sd,
      Lebar_CI_Z = round(lebar_Z, 4),
      Lebar_CI_T = round(lebar_T, 4),
      Selisih_TZ = round(lebar_T - lebar_Z, 4)
    )
    idx <- idx + 1
  }
}

hasil <- do.call(rbind, hasil_list)

Tabel Hasil

knitr::kable(hasil,
             col.names = c("n", "SD (σ/s)",
                           "Lebar CI - Z (σ diketahui)",
                           "Lebar CI - T (σ tdk diketahui)",
                           "Selisih (T - Z)"),
             align = "ccccc",
             caption = "Rata-rata Lebar Interval Kepercayaan 95% dari 1.000 Simulasi")
Rata-rata Lebar Interval Kepercayaan 95% dari 1.000 Simulasi
n SD (σ/s) Lebar CI - Z (σ diketahui) Lebar CI - T (σ tdk diketahui) Selisih (T - Z)
5 10 17.5305 23.5404 6.0100
5 50 87.6523 116.9299 29.2776
5 90 157.7741 209.9368 52.1627
30 10 7.1568 7.3963 0.2395
30 50 35.7839 37.3613 1.5774
30 90 64.4110 66.9226 2.5116
100 10 3.9199 3.9614 0.0415
100 50 19.5996 19.7446 0.1450
100 90 35.2794 35.6571 0.3778

Visualisasi

Faktor 1: Pengaruh Ukuran Sampel (\(n\))

lebar_by_n_Z <- sapply(n_levels, function(n)
  hitung_lebar_CI(n, sigma = 50, diketahui = TRUE))
lebar_by_n_T <- sapply(n_levels, function(n)
  hitung_lebar_CI(n, sigma = 50, diketahui = FALSE))

plot(n_levels, lebar_by_n_Z,
     type = "b", col = "steelblue", pch = 16, lwd = 2,
     ylim = range(c(lebar_by_n_Z, lebar_by_n_T)) * c(0.85, 1.15),
     xlab = "Ukuran Sampel (n)", ylab = "Rata-rata Lebar CI",
     main = "Pengaruh Ukuran Sampel terhadap Lebar CI\n(SD = 50)")
lines(n_levels, lebar_by_n_T, type = "b", col = "tomato", pch = 17, lwd = 2)
legend("topright",
       legend = c("Z (σ diketahui)", "T (σ tidak diketahui)"),
       col = c("steelblue", "tomato"), pch = c(16, 17), lty = 1, lwd = 2)

Faktor 2: Pengaruh Variabilitas Data (SD)

lebar_by_sd_Z <- sapply(sd_levels, function(sd)
  hitung_lebar_CI(n = 30, sigma = sd, diketahui = TRUE))
lebar_by_sd_T <- sapply(sd_levels, function(sd)
  hitung_lebar_CI(n = 30, sigma = sd, diketahui = FALSE))

plot(sd_levels, lebar_by_sd_Z,
     type = "b", col = "steelblue", pch = 16, lwd = 2,
     ylim = range(c(lebar_by_sd_Z, lebar_by_sd_T)) * c(0.85, 1.15),
     xlab = "Standar Deviasi (σ/s)", ylab = "Rata-rata Lebar CI",
     main = "Pengaruh Variabilitas Data terhadap Lebar CI\n(n = 30)")
lines(sd_levels, lebar_by_sd_T, type = "b", col = "tomato", pch = 17, lwd = 2)
legend("topleft",
       legend = c("Z (σ diketahui)", "T (σ tidak diketahui)"),
       col = c("steelblue", "tomato"), pch = c(16, 17), lty = 1, lwd = 2)

Faktor 3: Selisih Lebar CI antara T dan Z per Ukuran Sampel

selisih <- sapply(n_levels, function(n)
  hitung_lebar_CI(n, sigma = 50, diketahui = FALSE) -
  hitung_lebar_CI(n, sigma = 50, diketahui = TRUE))

barplot(selisih,
        names.arg = paste0("n = ", n_levels),
        col  = c("salmon", "coral", "lightcoral"),
        main = "Selisih Lebar CI: T minus Z\n(SD = 50)",
        ylab = "Selisih Lebar CI",
        xlab = "Ukuran Sampel")


Interpretasi Hasil

Faktor 1 — Ukuran Sampel (\(n\))

Semakin besar \(n\), lebar IK semakin sempit. Hal ini karena margin of error berbanding terbalik dengan \(\sqrt{n}\):

\[ME \propto \frac{1}{\sqrt{n}}\]

Dengan \(n\) yang besar, estimasi rata-rata sampel lebih presisi sehingga rentang nilai yang diperlukan untuk menangkap parameter populasi menjadi lebih kecil.

Faktor 2 — Variabilitas Data (SD)

Semakin besar SD, lebar IK semakin lebar. Variabilitas data yang tinggi mencerminkan ketidakpastian yang lebih besar dalam populasi, sehingga interval harus diperlebar agar tetap memiliki tingkat kepercayaan 95%.

\[ME \propto \sigma \text{ (atau } s\text{)}\]

Faktor 3 — Pengetahuan SD Populasi (Z vs T)

IK menggunakan distribusi T (ketika \(\sigma\) tidak diketahui) selalu lebih lebar dibanding IK menggunakan distribusi Z (ketika \(\sigma\) diketahui). Selisihnya:

  • Paling besar saat \(n\) kecil, karena distribusi T memiliki ekor yang lebih tebal (nilai kritis \(t\) jauh lebih besar dari \(z\) untuk df kecil)
  • Mengecil seiring \(n\) membesar, karena distribusi T mendekati distribusi Z ketika \(df \to \infty\)

Kesimpulan

kesimpulan <- data.frame(
  Faktor = c("Ukuran Sampel (n) naik",
             "Standar Deviasi (σ/s) naik",
             "Menggunakan T vs Z"),
  Dampak_pada_Lebar_CI = c("Semakin SEMPIT",
                            "Semakin LEBAR",
                            "T selalu lebih LEBAR dari Z"),
  Alasan = c("ME ∝ 1/√n",
             "ME ∝ σ",
             "Nilai kritis t > z, terutama saat n kecil")
)

knitr::kable(kesimpulan,
             col.names = c("Faktor", "Dampak pada Lebar CI", "Alasan"),
             align = "lll")
Faktor Dampak pada Lebar CI Alasan
Ukuran Sampel (n) naik Semakin SEMPIT ME ∝ 1/√n
Standar Deviasi (σ/s) naik Semakin LEBAR ME ∝ σ
Menggunakan T vs Z T selalu lebih LEBAR dari Z Nilai kritis t > z, terutama saat n kecil