rm(list = ls())
set.seed(123)
n_vals <- c(5, 30, 100)
sd_vals <- c(10, 50, 90)
known_sd <- c(TRUE, FALSE)
hasil <- expand.grid(n = n_vals, sd = sd_vals, known = known_sd)
hasil$lebar_CI <- NA
for (i in 1:nrow(hasil)) {
n <- hasil$n[i]
sd_pop <- hasil$sd[i]
known <- hasil$known[i]
sampel <- rnorm(n, mean = 100, sd = sd_pop)
mean_samp <- mean(sampel)
sd_samp <- sd(sampel)
alpha <- 0.05
if (known) {
z <- qnorm(1 - alpha/2)
margin <- z * sd_pop / sqrt(n)
} else {
t <- qt(1 - alpha/2, df = n - 1)
margin <- t * sd_samp / sqrt(n)
}
hasil$lebar_CI[i] <- 2 * margin
}
library(knitr)
kable(hasil, digits = 2,
caption = "Lebar Interval Kepercayaan 95% untuk Setiap Kombinasi",
col.names = c("n", "σ/s", "σ Diketahui?", "Lebar CI"))
Lebar Interval Kepercayaan 95% untuk Setiap Kombinasi
| 5 |
10 |
TRUE |
17.53 |
| 30 |
10 |
TRUE |
7.16 |
| 100 |
10 |
TRUE |
3.92 |
| 5 |
50 |
TRUE |
87.65 |
| 30 |
50 |
TRUE |
35.78 |
| 100 |
50 |
TRUE |
19.60 |
| 5 |
90 |
TRUE |
157.77 |
| 30 |
90 |
TRUE |
64.41 |
| 100 |
90 |
TRUE |
35.28 |
| 5 |
10 |
FALSE |
22.48 |
| 30 |
10 |
FALSE |
8.22 |
| 100 |
10 |
FALSE |
3.64 |
| 5 |
50 |
FALSE |
106.58 |
| 30 |
50 |
FALSE |
36.36 |
| 100 |
50 |
FALSE |
20.33 |
| 5 |
90 |
FALSE |
110.59 |
| 30 |
90 |
FALSE |
67.36 |
| 100 |
90 |
FALSE |
35.75 |
if (require(ggplot2)) {
hasil$known_label <- ifelse(hasil$known, "σ Diketahui", "σ Tidak Diketahui")
hasil$sd_label <- factor(hasil$sd, levels = c(10, 50, 90),
labels = c("σ = 10", "σ = 50", "σ = 90"))
p1 <- ggplot(hasil, aes(x = factor(n), y = lebar_CI, fill = known_label)) +
geom_bar(stat = "identity", position = position_dodge(width = 0.8)) +
facet_wrap(~ sd_label, scales = "free_y") +
labs(x = "Ukuran Sampel (n)", y = "Lebar CI 95%",
title = "Pengaruh n, Variabilitas, dan Pengetahuan σ terhadap Lebar CI",
fill = "Pengetahuan σ") +
theme_minimal()
print(p1)
p2 <- ggplot(hasil, aes(x = n, y = lebar_CI, color = known_label, linetype = known_label)) +
geom_line(size = 1) + geom_point(size = 2) +
facet_wrap(~ sd_label, scales = "free_y") +
labs(x = "Ukuran Sampel (n)", y = "Lebar CI 95%",
title = "Tren Lebar CI vs n pada Berbagai Tingkat Variabilitas",
color = "Pengetahuan σ", linetype = "Pengetahuan σ") +
theme_minimal()
print(p2)
}
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 4.4.3

## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

# Berdasarkan tabel lebar interval kepercayaan 95% yang diperoleh dari 18 kombinasi faktor, dapat disimpulkan:
# 1. Pengaruh ukuran sampel (n):
# Untuk nilai σ dan status pengetahuan yang sama, semakin besar n, lebar interval semakin kecil. Contoh pada σ=10, diketahui: n=5 lebar 17,53; n=30 lebar 7,16; n=100 lebar 3,92. Hal ini karena margin of error berbanding terbalik dengan √n. Semakin besar sampel, estimasi semakin presisi.
# 2. Pengaruh variabilitas data (σ atau s):
# Untuk n dan status pengetahuan yang sama, semakin besar σ, lebar interval semakin besar. Contoh pada n=30, diketahui: σ=10 lebar 7,16; σ=50 lebar 35,78; σ=90 lebar 64,41. Data yang lebih heterogen meningkatkan ketidakpastian, sehingga interval melebar.
# 3. Pengaruh pengetahuan standar deviasi populasi:
# a. Pada n kecil (n=5): selisih antara diketahui dan tidak diketahui cukup besar (misal σ=50: 87,65 vs 106,58; σ=90: 157,77 vs 110,59 – meskipun yang tidak diketahui lebih kecil karena fluktuasi sampel, secara teoritis seharusnya lebih besar).
# b. Pada n besar (n=100): selisih sangat kecil (σ=50: 19,60 vs 20,33; σ=90: 35,28 vs 35,75). Hal ini sesuai teori: ketika σ tidak diketahui, digunakan distribusi t yang ekornya lebih gemuk, terutama berpengaruh pada derajat bebas kecil. Untuk n besar, t mendekati z.
# 4. Interaksi ketiga faktor:
# Kombinasi n=5, σ=90, diketahui menghasilkan interval 157,77; sementara kombinasi n=100, σ=10, diketahui menghasilkan interval tersempit (3,92). Secara umum, ketidakpastian estimasi dapat ditekan dengan memperbesar sampel, menggunakan data yang homogen, dan mengetahui σ populasi. Fluktuasi pada sampel kecil (n=5, σ=90, tidak diketahui = 110,59) menunjukkan bahwa estimasi variabilitas sampel bisa lebih rendah dari populasi, namun pola utama tetap terlihat.