Lakukan simulasi untuk mempelajari pengaruh ukuran sampel, variabilitas data (standar deviasi), dan pengetahuan tentang standar deviasi populasi (diketahui/tidak diketahui) terhadap lebar interval kepercayaan 95%, dengan informasi setiap faktor dan level sebagai berikut:
# Menentukan Parameter
n_levels <- c(5, 30, 100)
sd_pop_levels <- c(10, 50, 90)
alpha <- 0.05
# Inisialisasi tabel penyimpanan hasil
hasil_simulasi <- expand.grid(n = n_levels,
sd_pop = sd_pop_levels,
status = c("Diketahui", "Tidak Diketahui"))
hasil_simulasi$lebar_interval <- NA
# Pembangkitan Data Acak
set.seed(456)
for(i in 1:nrow(hasil_simulasi)) {
n_val <- hasil_simulasi$n[i]
sigma_true <- hasil_simulasi$sd_pop[i]
# Pembangkitan data acak berdistribusi normal
data_sampel <- rnorm(n_val, mean = 100, sd = sigma_true)
s_estimasi <- sd(data_sampel)
if(hasil_simulasi$status[i] == "Diketahui") {
# Perhitungan berbasis Distribusi Z
z_crit <- qnorm(1 - alpha/2)
margin_error <- z_crit * sigma_true / sqrt(n_val)
} else {
# Perhitungan berbasis Distribusi t
t_crit <- qt(1 - alpha/2, df = n_val - 1)
margin_error <- t_crit * s_estimasi / sqrt(n_val)
}
hasil_simulasi$lebar_interval[i] <- 2 * margin_error
}
# Penyajian Data
print(hasil_simulasi)
## n sd_pop status lebar_interval
## 1 5 10 Diketahui 17.530451
## 2 30 10 Diketahui 7.156777
## 3 100 10 Diketahui 3.919928
## 4 5 50 Diketahui 87.652254
## 5 30 50 Diketahui 35.783883
## 6 100 50 Diketahui 19.599640
## 7 5 90 Diketahui 157.774057
## 8 30 90 Diketahui 64.410989
## 9 100 90 Diketahui 35.279352
## 10 5 10 Tidak Diketahui 8.516706
## 11 30 10 Tidak Diketahui 7.527549
## 12 100 10 Tidak Diketahui 4.185622
## 13 5 50 Tidak Diketahui 85.479637
## 14 30 50 Tidak Diketahui 37.694403
## 15 100 50 Tidak Diketahui 19.832674
## 16 5 90 Tidak Diketahui 158.584793
## 17 30 90 Tidak Diketahui 62.325789
## 18 100 90 Tidak Diketahui 35.466370
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.5.2
ggplot(hasil_simulasi, aes(x = as.factor(n), y = lebar_interval, fill = status)) +
geom_bar(stat = "identity", position = "dodge") +
facet_wrap(~sd_pop, labeller = label_both, scales = "free_y") +
labs(title = "Analisis Lebar Interval Kepercayaan 95%",
x = "Ukuran Sampel (n)",
y = "Lebar Interval Kepercayaan",
fill = "Kondisi Parameter") +
theme_minimal()