1 Latar Belakang & Tujuan

Tugas ini bertujuan untuk mempelajari secara empiris bagaimana tiga faktor utama memengaruhi lebar Interval Kepercayaan (IK) 95%:

Faktor Level
Ukuran Sampel \((n)\) 5 · 30 · 100
Variabilitas Data \((\sigma)\) 10 · 50 · 90
Pengetahuan Standar Deviasi Diketahui \((z)\) · Tidak Diketahui \((t)\)

Pendekatan yang digunakan adalah simulasi Monte-Carlo — pada setiap kombinasi faktor, proses pengambilan sampel diulang sebanyak 10.000 kali sehingga hasil yang diperoleh bersifat stabil dan dapat dibandingkan langsung dengan formula analitik.

Formula teoritis yang mendasari simulasi:

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

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


2 Bagian 1 — Memuat Paket

Pada bagian ini dimuat seluruh paket R yang diperlukan untuk analisis dan visualisasi. ggplot2 digunakan untuk membuat grafik berkualitas tinggi, dplyr dan tidyr untuk manipulasi data, viridis untuk palet warna yang informatif, patchwork untuk menggabungkan beberapa plot menjadi satu panel, dan knitr untuk mencetak tabel yang rapi.

library(ggplot2)
library(dplyr)
library(tidyr)
library(viridis)
library(patchwork)
library(scales)
library(ggrepel)
library(knitr)

3 Bagian 2 — Parameter Simulasi

Di sini ditetapkan seluruh konstanta global yang digunakan sepanjang simulasi. set.seed(2024) memastikan hasil dapat direproduksi. ALPHA = 0.05 berarti kita membangun Interval Kepercayaan 95%. N_SIM = 10.000 adalah jumlah ulangan per sel yang cukup besar sehingga rata-rata simulasi akan sangat dekat dengan nilai analitik (teoritis). Grid faktor menghasilkan \(3 \times 3 \times 2 = 18\) sel kombinasi yang akan disimulasikan.

set.seed(2024)

ALPHA         <- 0.05       # Tingkat signifikansi → CI 95%
N_SIM         <- 10000      # Replikasi Monte-Carlo per sel
MU_POP        <- 100        # Rata-rata populasi (nilai referensi)

ukuran_sampel <- c(5, 30, 100)
sd_populasi   <- c(10, 50, 90)
pengetahuan   <- c("Diketahui (z)", "Tidak Diketahui (t)")

4 Bagian 3 — Fungsi Inti

Dua fungsi didefinisikan di bagian ini.

lebar_ci_analitik() menghitung lebar IK secara murni matematis berdasarkan formula teoritis — tidak ada data acak di sini. Fungsi ini nantinya digunakan sebagai benchmark untuk memvalidasi hasil simulasi.

simulasi_lebar() adalah inti dari simulasi Monte-Carlo. Pada setiap dari n_sim iterasi, ia (1) membangkitkan sampel acak dari distribusi normal, (2) menghitung lebar IK menggunakan nilai-\(z\) (jika \(\sigma\) diketahui) atau nilai-\(t\) dengan \(s\) sebagai estimator \(\sigma\) (jika \(\sigma\) tidak diketahui), lalu (3) mengembalikan rata-rata dan standar deviasi dari seluruh lebar IK yang diperoleh.

# --- Fungsi 1: Lebar IK secara analitik/teoritis ---
lebar_ci_analitik <- function(n, sigma, diketahui) {
  if (diketahui) {
    z_val <- qnorm(1 - ALPHA / 2)
    2 * z_val * sigma / sqrt(n)
  } else {
    # Ketika sigma tidak diketahui, E[s] ≈ sigma (s adalah estimator tak bias)
    # sehingga expected width ≈ 2 * t_{α/2, n-1} * sigma / sqrt(n)
    t_val <- qt(1 - ALPHA / 2, df = n - 1)
    2 * t_val * sigma / sqrt(n)
  }
}

# --- Fungsi 2: Simulasi Monte-Carlo lebar IK ---
simulasi_lebar <- function(n, sigma, diketahui, n_sim = N_SIM) {
  lebars <- numeric(n_sim)

  for (i in seq_len(n_sim)) {
    x <- rnorm(n, mean = MU_POP, sd = sigma)

    if (diketahui) {
      # Gunakan sigma populasi yang diketahui → distribusi z
      se        <- sigma / sqrt(n)
      z_val     <- qnorm(1 - ALPHA / 2)
      lebars[i] <- 2 * z_val * se
    } else {
      # Estimasi sigma dari sampel → distribusi t
      s         <- sd(x)
      se        <- s / sqrt(n)
      t_val     <- qt(1 - ALPHA / 2, df = n - 1)
      lebars[i] <- 2 * t_val * se
    }
  }

  data.frame(
    mean_lebar   = mean(lebars),
    sd_lebar     = sd(lebars),
    median_lebar = median(lebars)
  )
}

5 Bagian 4 — Membangun Tabel Hasil

Bagian ini menjalankan simulasi untuk seluruh 18 kombinasi faktor secara sistematis menggunakan expand.grid() dan rowwise(). Setiap baris grid diproses oleh kedua fungsi sebelumnya sehingga menghasilkan kolom lebar analitik (lebar_analitik), rata-rata lebar simulasi (lebar_sim), dan standar deviasinya (sd_sim). Tabel ini menjadi sumber data untuk semua visualisasi berikutnya.

# Buat grid lengkap semua kombinasi faktor
grid <- expand.grid(
  n           = ukuran_sampel,
  sigma       = sd_populasi,
  pengetahuan = pengetahuan,
  stringsAsFactors = FALSE
)

# Jalankan simulasi pada setiap sel grid
hasil <- grid %>%
  rowwise() %>%
  mutate(
    diketahui      = (pengetahuan == "Diketahui (z)"),
    lebar_analitik = lebar_ci_analitik(n, sigma, diketahui),
    sim            = list(simulasi_lebar(n, sigma, diketahui)),
    lebar_sim      = sim$mean_lebar,
    sd_sim         = sim$sd_lebar
  ) %>%
  select(-sim, -diketahui) %>%
  ungroup()

6 Bagian 5 — Tabel Ringkasan

Tabel di bawah merangkum seluruh hasil simulasi. Kolom Lebar Analitik berasal dari formula matematis, sedangkan Lebar Simulasi adalah rata-rata empiris dari 10.000 replikasi. Kedekatan kedua kolom ini mengkonfirmasi bahwa simulasi berjalan dengan benar dan formula teoritis valid.

hasil %>%
  arrange(sigma, n, pengetahuan) %>%
  mutate(
    lebar_analitik = round(lebar_analitik, 4),
    lebar_sim      = round(lebar_sim, 4),
    sd_sim         = round(sd_sim, 4),
    selisih_pct    = round((lebar_sim - lebar_analitik) / lebar_analitik * 100, 3)
  ) %>%
  rename(
    `Ukuran Sampel (n)`         = n,
    `Std. Dev. (σ)`             = sigma,
    `Pengetahuan σ`             = pengetahuan,
    `Lebar Analitik`            = lebar_analitik,
    `Lebar Simulasi (rata-rata)`= lebar_sim,
    `SD Lebar Simulasi`         = sd_sim,
    `Selisih (%)`               = selisih_pct
  ) %>%
  kable(align = "c", caption = "Tabel Ringkasan: Rata-Rata Lebar IK 95% dari 10.000 Simulasi")
Tabel Ringkasan: Rata-Rata Lebar IK 95% dari 10.000 Simulasi
Ukuran Sampel (n) Std. Dev. (σ) Pengetahuan σ Lebar Analitik Lebar Simulasi (rata-rata) SD Lebar Simulasi Selisih (%)
5 10 Diketahui (z) 17.5305 17.5305 0.0000 0.000
5 10 Tidak Diketahui (t) 24.8333 23.4085 8.5269 -5.737
30 10 Diketahui (z) 7.1568 7.1568 0.0000 0.000
30 10 Tidak Diketahui (t) 7.4681 7.4103 0.9719 -0.774
100 10 Diketahui (z) 3.9199 3.9199 0.0000 0.000
100 10 Tidak Diketahui (t) 3.9684 3.9511 0.2834 -0.436
5 50 Diketahui (z) 87.6523 87.6523 0.0000 0.000
5 50 Tidak Diketahui (t) 124.1664 116.7660 42.0511 -5.960
30 50 Diketahui (z) 35.7839 35.7839 0.0000 0.000
30 50 Tidak Diketahui (t) 37.3406 36.9563 4.8832 -1.029
100 50 Diketahui (z) 19.5996 19.5996 0.0000 0.000
100 50 Tidak Diketahui (t) 19.8422 19.7759 1.3992 -0.334
5 90 Diketahui (z) 157.7741 157.7741 0.0000 0.000
5 90 Tidak Diketahui (t) 223.4995 210.7577 76.3786 -5.701
30 90 Diketahui (z) 64.4110 64.4110 0.0000 0.000
30 90 Tidak Diketahui (t) 67.2131 66.7783 8.8961 -0.647
100 90 Diketahui (z) 35.2794 35.2794 0.0000 0.000
100 90 Tidak Diketahui (t) 35.7159 35.6048 2.5400 -0.311

7 Bagian 6 — Plot 1: Heatmap Lebar IK

Heatmap ini memberikan gambaran menyeluruh dalam satu pandang. Sumbu-X adalah ukuran sampel, sumbu-Y adalah standar deviasi, dan intensitas warna merepresentasikan lebar IK — warna lebih terang berarti interval lebih lebar (kurang presisi). Dua panel membandingkan kondisi \(\sigma\) diketahui vs tidak diketahui secara langsung. Pola gradien warna yang jelas dari kiri-atas ke kanan-bawah menunjukkan bahwa \(n\) besar + \(\sigma\) kecil menghasilkan IK paling sempit.

p1 <- ggplot(
  hasil,
  aes(x = factor(n), y = factor(sigma), fill = lebar_sim)
) +
  geom_tile(color = "white", size = 1) +
  geom_text(
    aes(label = sprintf("%.2f", lebar_sim)),
    color = "white", fontface = "bold", size = 4.5
  ) +
  scale_fill_viridis_c(
    option = "magma", direction = -1,
    name   = "Rata-Rata\nLebar IK"
  ) +
  facet_wrap(~pengetahuan, ncol = 2) +
  labs(
    title    = "Heatmap: Rata-Rata Lebar Interval Kepercayaan 95%",
    subtitle = paste0("Simulasi Monte-Carlo — ", format(N_SIM, big.mark = "."),
                      " replikasi per sel  |  μ populasi = ", MU_POP),
    x        = "Ukuran Sampel (n)",
    y        = "Standar Deviasi Populasi (σ)",
    caption  = "Warna lebih terang = interval lebih lebar = estimasi kurang presisi"
  ) +
  theme_minimal(base_size = 13) +
  theme(
    plot.title       = element_text(face = "bold", size = 15, color = "#1A1A2E"),
    plot.subtitle    = element_text(color = "#555577", size = 10),
    strip.background = element_rect(fill = "#3B1F7A", color = NA),
    strip.text       = element_text(color = "white", face = "bold", size = 12),
    legend.position  = "right"
  )

p1


8 Bagian 7 — Plot 2: Efek Ukuran Sampel

Line chart ini memvisualisasikan hubungan antara ukuran sampel \(n\) dan lebar IK. Secara teoritis, lebar IK berbanding terbalik dengan \(\sqrt{n}\) — artinya untuk memangkas lebar setengahnya, ukuran sampel harus dinaikkan empat kali lipat. Garis putus-putus menunjukkan kondisi \(\sigma\) tidak diketahui (distribusi \(t\)), yang selalu berada sedikit di atas garis solid (distribusi \(z\)), terutama saat \(n\) kecil.

p2 <- ggplot(
  hasil,
  aes(x = n, y = lebar_sim, color = factor(sigma),
      linetype = pengetahuan,
      group    = interaction(sigma, pengetahuan))
) +
  geom_line(size = 1.4) +
  geom_point(size = 3.5, shape = 21, fill = "white", stroke = 2) +
  scale_x_continuous(breaks = ukuran_sampel) +
  scale_color_viridis_d(option = "turbo", name = "Standar\nDeviasi (σ)") +
  scale_linetype_manual(
    values = c("Diketahui (z)" = "solid", "Tidak Diketahui (t)" = "dashed"),
    name   = "Pengetahuan σ"
  ) +
  labs(
    title    = "Pengaruh Ukuran Sampel terhadap Lebar IK 95%",
    subtitle = "Lebar IK ∝ 1/√n — memperbesar n adalah cara paling efektif menyempitkan IK",
    x        = "Ukuran Sampel (n)",
    y        = "Rata-Rata Lebar IK",
    caption  = "Garis solid = σ diketahui (z)  |  Garis putus = σ tidak diketahui (t)"
  ) +
  theme_minimal(base_size = 12) +
  theme(
    plot.title    = element_text(face = "bold", color = "#1A237E", size = 13),
    plot.subtitle = element_text(color = "#555577", size = 10),
    legend.position = "right"
  )

p2


9 Bagian 8 — Plot 3: Efek Variabilitas Data

Bar chart ini menunjukkan bagaimana standar deviasi \(\sigma\) memengaruhi lebar IK. Hubungannya linier langsung — melipat-dua-kan \(\sigma\) akan melipat-dua-kan lebar IK. Warna berbeda mewakili ukuran sampel yang berbeda, sementara transparansi (alpha) membedakan kondisi \(\sigma\) diketahui vs tidak diketahui. Dapat dilihat bahwa bar yang lebih transparan (tidak diketahui) selalu sedikit lebih tinggi dari versi solidnya.

p3 <- ggplot(
  hasil,
  aes(x = factor(sigma), y = lebar_sim,
      fill = factor(n), alpha = pengetahuan)
) +
  geom_col(position = "dodge", width = 0.72, color = "grey25") +
  scale_fill_viridis_d(option = "cividis", name = "Ukuran\nSampel (n)") +
  scale_alpha_manual(
    values = c("Diketahui (z)" = 1.0, "Tidak Diketahui (t)" = 0.55),
    name   = "Pengetahuan σ"
  ) +
  labs(
    title    = "Pengaruh Variabilitas Data terhadap Lebar IK 95%",
    subtitle = "Lebar IK ∝ σ — data yang lebih beragam menghasilkan estimasi yang lebih tidak pasti",
    x        = "Standar Deviasi (σ)",
    y        = "Rata-Rata Lebar IK",
    caption  = "Bar solid = σ diketahui  |  Bar transparan = σ tidak diketahui"
  ) +
  theme_minimal(base_size = 12) +
  theme(
    plot.title    = element_text(face = "bold", color = "#1A237E", size = 13),
    plot.subtitle = element_text(color = "#555577", size = 10),
    legend.position = "right"
  )

p3


10 Bagian 9 — Plot 4: Validasi Simulasi vs Formula

Plot scatter ini adalah bukti validasi: membandingkan lebar IK yang dihitung secara teoritis (sumbu-X) dengan rata-rata lebar IK dari 10.000 simulasi (sumbu-Y). Garis 45° (putus-putus abu-abu) adalah garis referensi sempurna — titik yang jatuh tepat pada garis ini berarti simulasi sepenuhnya konsisten dengan teori. Error bar menunjukkan variabilitas (±1 SD) lebar IK antar simulasi. Hasil ini membuktikan bahwa kode simulasi benar dan formula analitik berlaku.

p4 <- ggplot(
  hasil,
  aes(x = lebar_analitik, y = lebar_sim,
      color = factor(n), shape = factor(sigma))
) +
  geom_abline(slope = 1, intercept = 0,
              linetype = "dashed", color = "grey50", size = 1) +
  geom_errorbar(
    aes(ymin = lebar_sim - sd_sim, ymax = lebar_sim + sd_sim),
    width = 0.8, alpha = 0.35
  ) +
  geom_point(size = 4.5, alpha = 0.9) +
  scale_color_viridis_d(option = "plasma", name = "Ukuran\nSampel (n)") +
  scale_shape_manual(values = c(15, 17, 19), name = "Std.\nDev. (σ)") +
  facet_wrap(~pengetahuan) +
  labs(
    title    = "Validasi: Lebar IK Formula Analitik vs Rata-Rata Simulasi",
    subtitle = "Titik mendekati garis 45° mengkonfirmasi konsistensi simulasi dengan teori",
    x        = "Lebar IK — Formula Analitik/Teoritis",
    y        = "Lebar IK — Rata-Rata Simulasi (±1 SD)",
    caption  = "Error bar = ±1 Standar Deviasi lebar IK dari 10.000 simulasi"
  ) +
  theme_minimal(base_size = 12) +
  theme(
    plot.title       = element_text(face = "bold", color = "#1A237E", size = 13),
    plot.subtitle    = element_text(color = "#555577", size = 10),
    strip.background = element_rect(fill = "#0D47A1", color = NA),
    strip.text       = element_text(color = "white", face = "bold")
  )

p4


11 Bagian 10 — Plot 5: Selisih Distribusi t vs z

Plot ini secara eksplisit mengkuantifikasi dampak ketidaktahuan \(\sigma\) dengan menghitung persentase kelebaran IK distribusi-\(t\) dibanding distribusi-\(z\). Ini adalah pertanyaan praktis: “seberapa mahal (dalam lebar IK) menggunakan \(s\) sebagai pengganti \(\sigma\)?”. Jawabannya jelas: sangat mahal saat \(n\) kecil (n=5 memberikan IK ~20% lebih lebar), tetapi hampir tidak ada dampak saat \(n\) besar (n=100 memberikan selisih < 1%).

selisih <- hasil %>%
  select(n, sigma, pengetahuan, lebar_sim) %>%
  pivot_wider(names_from = pengetahuan, values_from = lebar_sim) %>%
  rename(lebar_z = `Diketahui (z)`,
         lebar_t = `Tidak Diketahui (t)`) %>%
  mutate(
    selisih_abs = lebar_t - lebar_z,
    selisih_pct = (lebar_t - lebar_z) / lebar_z * 100
  )

p5 <- ggplot(
  selisih,
  aes(x = factor(sigma), y = selisih_pct,
      fill = factor(n),
      label = sprintf("+%.1f%%", selisih_pct))
) +
  geom_col(position = "dodge", width = 0.65, color = "grey20") +
  geom_text(
    position = position_dodge(width = 0.65),
    vjust = -0.55, size = 3.4, fontface = "bold"
  ) +
  scale_fill_viridis_d(
    option = "rocket", begin = 0.2, end = 0.88,
    name   = "Ukuran\nSampel (n)"
  ) +
  labs(
    title    = "Kelebaran IK Distribusi-t Dibandingkan Distribusi-z (%)",
    subtitle = "Dampak penggunaan distribusi-t (σ tidak diketahui) paling terasa saat n kecil",
    x        = "Standar Deviasi (σ)",
    y        = "Selisih Lebar IK (%)",
    caption  = "Selisih (%) = (Lebar_t − Lebar_z) / Lebar_z × 100%"
  ) +
  theme_minimal(base_size = 12) +
  theme(
    plot.title    = element_text(face = "bold", color = "#880E4F", size = 13),
    plot.subtitle = element_text(color = "#555577", size = 10),
    legend.position = "right"
  )

p5


12 Bagian 11 — Plot 6: Distribusi Lebar IK (n=5, σ=50)

Plot ini menelaah satu sel secara mendalam untuk memahami perbedaan mendasar antara IK berbasis \(z\) dan berbasis \(t\). Ketika \(\sigma\) diketahui, lebar IK adalah konstan untuk seluruh 10.000 simulasi — hasilnya adalah garis vertikal sempurna (distribusi Dirac). Sebaliknya, ketika \(\sigma\) tidak diketahui dan harus diestimasi dengan \(s\), lebar IK bervariasi dari sampel ke sampel — hasilnya adalah distribusi miring ke kanan dengan ekor panjang, yang menggambarkan ketidakpastian tambahan akibat estimasi \(\sigma\).

set.seed(999)
n_ex     <- 5
sigma_ex <- 50

dist_z <- replicate(N_SIM, {
  # σ diketahui → lebar selalu konstan, tidak perlu data
  2 * qnorm(1 - ALPHA / 2) * sigma_ex / sqrt(n_ex)
})

dist_t <- replicate(N_SIM, {
  x   <- rnorm(n_ex, MU_POP, sigma_ex)
  s   <- sd(x)
  2 * qt(1 - ALPHA / 2, df = n_ex - 1) * s / sqrt(n_ex)
})

df_dist <- data.frame(
  lebar  = c(dist_z, dist_t),
  metode = rep(
    c("σ Diketahui — distribusi z (konstan)",
      "σ Tidak Diketahui — distribusi t (bervariasi)"),
    each = N_SIM
  )
)

p6 <- ggplot(df_dist, aes(x = lebar, fill = metode)) +
  geom_histogram(
    aes(y = ..density..),
    bins = 70, alpha = 0.6, position = "identity", color = "white"
  ) +
  geom_density(aes(color = metode), size = 1.2, fill = NA) +
  scale_fill_manual(
    values = c("#1565C0", "#E65100"),
    name   = "Metode"
  ) +
  scale_color_manual(
    values = c("#0D47A1", "#BF360C"),
    name   = "Metode"
  ) +
  labs(
    title    = paste0("Distribusi Lebar IK 95%  (n = ", n_ex,
                      ",  σ = ", sigma_ex, ")"),
    subtitle = paste0("σ diketahui → lebar selalu konstan  |  ",
                      "σ tidak diketahui → lebar bervariasi karena s diestimasi dari sampel"),
    x        = "Lebar IK",
    y        = "Densitas",
    caption  = paste0(format(N_SIM, big.mark = "."),
                      " simulasi Monte-Carlo  |  Sumbu-x dipotong pada persentil ke-99")
  ) +
  coord_cartesian(xlim = c(0, quantile(dist_t, 0.99))) +
  theme_minimal(base_size = 12) +
  theme(
    plot.title    = element_text(face = "bold", color = "#1A237E", size = 13),
    plot.subtitle = element_text(color = "#555577", size = 10),
    legend.position = "top",
    legend.text   = element_text(size = 10)
  )

p6


13 Bagian 12 — Panel Gabungan Semua Plot

Keenam visualisasi digabungkan menjadi satu panel komprehensif menggunakan paket patchwork. Panel ini dirancang sebagai ringkasan visual satu halaman yang dapat disertakan sebagai lampiran laporan atau presentasi. Setiap plot memberikan perspektif yang berbeda namun saling melengkapi.

panel <- (p1 | p6) /
         (p2 | p3) /
         (p5 | p4) +
  plot_annotation(
    title    = "SIMULASI INTERVAL KEPERCAYAAN 95% — WEEK 5",
    subtitle = paste0(
      "Faktor 1: Ukuran Sampel (n = 5, 30, 100)  ·  ",
      "Faktor 2: Standar Deviasi (σ = 10, 50, 90)  ·  ",
      "Faktor 3: Pengetahuan σ (Diketahui / Tidak Diketahui)"
    ),
    caption  = paste0(
      "Muhammad Dzaky Pratama — 2404010021  |  ",
      "Simulasi Monte-Carlo: ", format(N_SIM, big.mark = "."),
      " replikasi per sel  |  Tingkat kepercayaan: 95%  |  μ_pop = ", MU_POP
    ),
    theme = theme(
      plot.title    = element_text(size = 20, face = "bold", color = "#0D0D2B",
                                   hjust = 0.5),
      plot.subtitle = element_text(size = 11, color = "#3E3E5E", hjust = 0.5),
      plot.caption  = element_text(color = "grey50", size = 9, hjust = 0.5)
    )
  )

panel


14 Bagian 13 — Interpretasi Lengkap

14.1 Faktor 1: Ukuran Sampel (\(n\) = 5, 30, 100)

Secara teoritis, lebar IK berbanding terbalik dengan \(\sqrt{n}\):

\[\text{Lebar IK} \propto \frac{1}{\sqrt{n}}\]

Ini berarti untuk memotong lebar IK menjadi separuhnya, ukuran sampel harus dinaikkan empat kali lipat. Hasil simulasi mengkonfirmasi hal ini:

Efek Ukuran Sampel pada Lebar IK (σ = 50, distribusi z)
Ukuran Sampel (n) Lebar IK Rasio vs n=5
5 87.652 1.00
30 35.784 2.45
100 19.600 4.47

Kesimpulan: Dengan \(n = 5\) estimasi sangat tidak presisi; \(n = 30\) sudah cukup memadai untuk keperluan umum; \(n = 100\) menghasilkan estimasi yang sangat presisi.


14.2 Faktor 2: Variabilitas Data (\(\sigma\) = 10, 50, 90)

Lebar IK berbanding lurus dengan \(\sigma\):

\[\text{Lebar IK} \propto \sigma\]

Ini berarti menaikkan \(\sigma\) sembilan kali lipat (dari 10 ke 90) akan menaikkan lebar IK sembilan kali lipat juga, tanpa peduli berapa pun \(n\)-nya.

Efek Variabilitas Data pada Lebar IK (n = 30, distribusi z)
Standar Deviasi (σ) Lebar IK Rasio vs σ=10
10 7.157 1
50 35.784 5
90 64.411 9

Kesimpulan: Data yang heterogen (σ besar) secara inheren menghasilkan estimasi yang tidak presisi. Satu-satunya cara mengkompensasinya adalah dengan menaikkan \(n\).


14.3 Faktor 3: Pengetahuan Standar Deviasi Populasi

Ketika \(\sigma\) tidak diketahui, kita menggunakan distribusi \(t\) dengan \(s\) sebagai estimator. Karena \(t_{\alpha/2,\, n-1} > z_{\alpha/2}\) untuk semua \(n\) terbatas, IK-\(t\) selalu lebih lebar dari IK-\(z\) — namun perbedaannya mengecil saat \(n \to \infty\) karena \(t_{n-1} \to z\).

Selisih IK Distribusi-t vs z (σ = 50)
Ukuran Sampel (n) Lebar IK (z) Lebar IK (t) Selisih (%)
5 87.652 116.766 33.22
30 35.784 36.956 3.28
100 19.600 19.776 0.90

Kesimpulan: Perbedaan antara distribusi \(t\) dan \(z\) paling signifikan pada \(n\) kecil. Saat \(n \geq 30\), perbedaannya sudah cukup kecil sehingga dalam praktik sering dianggap dapat diabaikan.


14.4 Kesimpulan Utama

# Temuan Implikasi Praktis
1 Lebar IK \(\propto 1/\sqrt{n}\) Naikkan \(n\) untuk mendapat estimasi lebih presisi
2 Lebar IK \(\propto \sigma\) Data heterogen butuh \(n\) lebih besar
3 IK-\(t\) > IK-\(z\) saat \(n\) kecil Gunakan \(n \geq 30\) untuk meminimalkan “biaya” ketidaktahuan \(\sigma\)
4 Simulasi ≈ Teori Formula analitik valid dan dapat diandalkan

Simpulan: Ketiga faktor saling berinteraksi. Peneliti yang ingin IK sempit harus mempertimbangkan secara bersamaan ukuran sampel yang cukup besar, populasi yang homogen (atau stratifikasi), dan metode estimasi yang tepat sesuai ketersediaan informasi \(\sigma\).