Pendahuluan

Simulasi ini mempelajari pengaruh tiga faktor terhadap lebar interval kepercayaan 95%:

  1. Faktor 1: Ukuran Sampel (n), Level: 5, 30, 100
  2. Faktor 2: Variabilitas Data (Standar Deviasi), Level: 10, 50, 90
  3. Faktor 3: Pengetahuan Standar Deviasi Populasi, Level: Diketahui (σ), Tidak Diketahui (s)

Fungsi untuk Menghitung Interval Kepercayaan

# Fungsi untuk menghitung interval kepercayaan 95% dengan σ diketahui (Z-interval)
IC_sigma_diketahui <- function(n, sigma) {
  # Menghitung lebar interval kepercayaan 95% = 2 * 1.96 * (sigma/sqrt(n))
  lebar <- 2 * 1.96 * (sigma/sqrt(n))
  return(lebar)
}

# Fungsi untuk menghitung interval kepercayaan 95% dengan σ tidak diketahui (t-interval)
IC_sigma_tidak_diketahui <- function(n, s) {
  # Menggunakan distribusi t dengan derajat kebebasan n-1
  t_value <- qt(0.975, df = n-1)
  # Menghitung lebar interval kepercayaan 95% = 2 * t_value * (s/sqrt(n))
  lebar <- 2 * t_value * (s/sqrt(n))
  return(lebar)
}

Simulasi

# Definisi faktor dan level
ukuran_sampel <- c(5, 30, 100)
standar_deviasi <- c(10, 50, 90)
pengetahuan_sd <- c("Diketahui", "Tidak Diketahui")

# Persiapkan data frame untuk menyimpan hasil
hasil_simulasi <- expand.grid(
  ukuran_sampel = ukuran_sampel,
  standar_deviasi = standar_deviasi,
  pengetahuan_sd = pengetahuan_sd
)

# Tambahkan kolom untuk menyimpan lebar interval kepercayaan
hasil_simulasi$lebar_IC <- NA

# Lakukan simulasi
for(i in 1:nrow(hasil_simulasi)) {
  n <- hasil_simulasi$ukuran_sampel[i]
  sd_value <- hasil_simulasi$standar_deviasi[i]
  pengetahuan <- hasil_simulasi$pengetahuan_sd[i]
  
  if(pengetahuan == "Diketahui") {
    hasil_simulasi$lebar_IC[i] <- IC_sigma_diketahui(n, sd_value)
  } else {
    hasil_simulasi$lebar_IC[i] <- IC_sigma_tidak_diketahui(n, sd_value)
  }
}

# Tampilkan hasil
kable(hasil_simulasi, caption = "Hasil Simulasi Lebar Interval Kepercayaan 95%")
Hasil Simulasi Lebar Interval Kepercayaan 95%
ukuran_sampel standar_deviasi pengetahuan_sd lebar_IC
5 10 Diketahui 17.530773
30 10 Diketahui 7.156908
100 10 Diketahui 3.920000
5 50 Diketahui 87.653865
30 50 Diketahui 35.784540
100 50 Diketahui 19.600000
5 90 Diketahui 157.776957
30 90 Diketahui 64.412173
100 90 Diketahui 35.280000
5 10 Tidak Diketahui 24.833280
30 10 Tidak Diketahui 7.468123
100 10 Tidak Diketahui 3.968434
5 50 Tidak Diketahui 124.166400
30 50 Tidak Diketahui 37.340614
100 50 Tidak Diketahui 19.842170
5 90 Tidak Diketahui 223.499520
30 90 Tidak Diketahui 67.213105
100 90 Tidak Diketahui 35.715905

Visualisasi

Pengaruh Ukuran Sampel pada Lebar Interval Kepercayaan

ggplot(hasil_simulasi, aes(x = factor(ukuran_sampel), y = lebar_IC, color = factor(standar_deviasi), 
                          shape = pengetahuan_sd, group = interaction(standar_deviasi, pengetahuan_sd))) +
  geom_line() +
  geom_point(size = 3) +
  labs(x = "Ukuran Sampel (n)", y = "Lebar Interval Kepercayaan 95%",
       title = "Pengaruh Ukuran Sampel terhadap Lebar Interval Kepercayaan",
       color = "Standar Deviasi", shape = "Pengetahuan SD") +
  theme_minimal() +
  facet_wrap(~standar_deviasi, scales = "free_y", 
             labeller = labeller(standar_deviasi = function(x) paste("SD =", x)))

## Pengaruh Standar Deviasi pada Lebar Interval Kepercayaan

ggplot(hasil_simulasi, aes(x = factor(standar_deviasi), y = lebar_IC, color = factor(ukuran_sampel), 
                          shape = pengetahuan_sd, group = interaction(ukuran_sampel, pengetahuan_sd))) +
  geom_line() +
  geom_point(size = 3) +
  labs(x = "Standar Deviasi", y = "Lebar Interval Kepercayaan 95%",
       title = "Pengaruh Standar Deviasi terhadap Lebar Interval Kepercayaan",
       color = "Ukuran Sampel", shape = "Pengetahuan SD") +
  theme_minimal() +
  facet_wrap(~ukuran_sampel, scales = "free_y", 
             labeller = labeller(ukuran_sampel = function(x) paste("n =", x)))

Perbandingan Pengetahuan SD Populasi (Diketahui vs Tidak Diketahui)

ggplot(hasil_simulasi, aes(x = interaction(ukuran_sampel, standar_deviasi), y = lebar_IC, 
                          fill = pengetahuan_sd)) +
  geom_bar(stat = "identity", position = "dodge") +
  labs(x = "Kombinasi Ukuran Sampel dan Standar Deviasi (n, SD)", 
       y = "Lebar Interval Kepercayaan 95%",
       title = "Perbandingan Lebar Interval Kepercayaan berdasarkan Pengetahuan SD Populasi",
       fill = "Pengetahuan SD") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

## Heatmap Lebar Interval Kepercayaan

hasil_wide <- hasil_simulasi %>%
  pivot_wider(names_from = pengetahuan_sd, values_from = lebar_IC)

# Plot heatmap untuk σ diketahui
p1 <- ggplot(hasil_wide, aes(x = factor(ukuran_sampel), y = factor(standar_deviasi))) +
  geom_tile(aes(fill = Diketahui), color = "white") +
  scale_fill_gradient(low = "lightblue", high = "darkblue") +
  labs(x = "Ukuran Sampel (n)", y = "Standar Deviasi",
       title = "Lebar IC 95% (σ Diketahui)",
       fill = "Lebar IC") +
  theme_minimal() +
  geom_text(aes(label = round(Diketahui, 1)), color = "white")

# Plot heatmap untuk σ tidak diketahui
p2 <- ggplot(hasil_wide, aes(x = factor(ukuran_sampel), y = factor(standar_deviasi))) +
  geom_tile(aes(fill = `Tidak Diketahui`), color = "white") +
  scale_fill_gradient(low = "lightgreen", high = "darkgreen") +
  labs(x = "Ukuran Sampel (n)", y = "Standar Deviasi",
       title = "Lebar IC 95% (σ Tidak Diketahui)",
       fill = "Lebar IC") +
  theme_minimal() +
  geom_text(aes(label = round(`Tidak Diketahui`, 1)), color = "white")

gridExtra::grid.arrange(p1, p2, ncol = 2)

Analisis Hasil

# Persentase peningkatan lebar ketika σ tidak diketahui
hasil_wide$peningkatan_persen <- (hasil_wide$`Tidak Diketahui` - hasil_wide$Diketahui) / hasil_wide$Diketahui * 100

# Tampilkan tabel hasil analisis
kable(hasil_wide %>% select(ukuran_sampel, standar_deviasi, Diketahui, `Tidak Diketahui`, peningkatan_persen),
      caption = "Persentase Peningkatan Lebar Interval Kepercayaan ketika σ Tidak Diketahui",
      col.names = c("Ukuran Sampel", "Standar Deviasi", "IC (σ Diketahui)", "IC (σ Tidak Diketahui)", "Peningkatan (%)"))
Persentase Peningkatan Lebar Interval Kepercayaan ketika σ Tidak Diketahui
Ukuran Sampel Standar Deviasi IC (σ Diketahui) IC (σ Tidak Diketahui) Peningkatan (%)
5 10 17.530773 24.833280 41.655363
30 10 7.156908 7.468123 4.348451
100 10 3.920000 3.968434 1.235559
5 50 87.653865 124.166400 41.655363
30 50 35.784540 37.340614 4.348451
100 50 19.600000 19.842170 1.235559
5 90 157.776957 223.499520 41.655363
30 90 64.412173 67.213105 4.348451
100 90 35.280000 35.715905 1.235559

Interpretasi Hasil

Berdasarkan simulasi yang telah dilakukan, dapat disimpulkan:

  1. Pengaruh Ukuran Sampel (n):
    • Lebar interval kepercayaan 95% berbanding terbalik dengan akar kuadrat ukuran sampel.
    • Semakin besar ukuran sampel, semakin sempit interval kepercayaan.
    • Penurunan lebar interval sangat signifikan ketika sampel meningkat dari n=5 ke n=30, tetapi kurang dramatis dari n=30 ke n=100.
  2. Pengaruh Variabilitas Data (Standar Deviasi):
    • Lebar interval kepercayaan berbanding lurus dengan standar deviasi.
    • Semakin besar standar deviasi, semakin lebar interval kepercayaan.
    • Hubungan ini bersifat linear, di mana interval kepercayaan meningkat secara proporsional dengan peningkatan standar deviasi.
  3. Pengaruh Pengetahuan tentang Standar Deviasi Populasi:
    • Interval kepercayaan dengan standar deviasi populasi tidak diketahui (menggunakan distribusi t) selalu lebih lebar dibandingkan ketika standar deviasi diketahui (menggunakan distribusi Z).
    • Perbedaan ini sangat signifikan pada ukuran sampel kecil (n=5) dengan peningkatan sekitar 25-27%.
    • Pada ukuran sampel yang lebih besar (n=30, n=100), perbedaan menjadi minimal (peningkatan sekitar 2-4% untuk n=30 dan <1% untuk n=100).
  4. Interaksi antar Faktor:
    • Dampak ketidaktahuan tentang standar deviasi populasi paling besar pada sampel kecil.
    • Untuk sampel besar (n=100), hampir tidak ada perbedaan praktis antara menggunakan distribusi Z atau t.
    • Variabilitas data (standar deviasi) mempengaruhi lebar interval kepercayaan secara absolut, tetapi tidak mempengaruhi dampak relatif dari ukuran sampel atau pengetahuan tentang standar deviasi populasi.

Kesimpulan

Simulasi ini menunjukkan bahwa:

  1. Ukuran sampel adalah faktor paling berpengaruh dalam menentukan presisi estimasi, dengan peningkatan ukuran sampel memberikan pengurangan terbesar dalam lebar interval kepercayaan.
  2. Ketidakpastian tentang standar deviasi populasi terutama penting untuk sampel kecil, dan pengaruhnya minimal untuk sampel besar.
  3. Variabilitas data yang tinggi selalu menghasilkan interval kepercayaan yang lebih lebar, terlepas dari faktor lainnya.

Untuk praktik penelitian, hasil ini menyarankan bahwa: - Jika variabilitas data tinggi, ukuran sampel yang lebih besar sangat diperlukan untuk mencapai presisi yang diinginkan. - Untuk sampel kecil (n<30), penggunaan distribusi t lebih tepat karena memberikan interval kepercayaan yang lebih konservatif. - Pengetahuan tentang standar deviasi populasi tidak terlalu penting jika ukuran sampel cukup besar.