# ==========================================
# Simulasi Interval Kepercayaan 95%
# Pengaruh Ukuran Sampel, Standar Deviasi,
# dan Pengetahuan Standar Deviasi Populasi
# ==========================================
set.seed(18)
# Parameter simulasi
mu <- 100
n <- c(5, 30, 100)
sigma <- c(10, 50, 90)
B <- 1000
# Menyiapkan data untuk menyimpan hasil simulasi
hasil <- data.frame()
# Proses simulasi
for(i in n){
for(j in sigma){
for(k in 1:B){
# Membangkitkan data berdistribusi normal
x <- rnorm(
n = i,
mean = mu,
sd = j
)
# Menghitung rata-rata dan standar deviasi sampel
xbar <- mean(x)
s <- sd(x)
# Interval kepercayaan jika sigma diketahui
z <- qnorm(0.975)
lower_z <- xbar - z * j / sqrt(i)
upper_z <- xbar + z * j / sqrt(i)
# Interval kepercayaan jika sigma tidak diketahui
t <- qt(0.975, df = i - 1)
lower_t <- xbar - t * s / sqrt(i)
upper_t <- xbar + t * s / sqrt(i)
# Menyimpan hasil simulasi
hasil <- rbind(
hasil,
data.frame(
n = i,
SD = j,
kondisi = "Sigma diketahui",
lower = lower_z,
upper = upper_z,
lebar = upper_z - lower_z
),
data.frame(
n = i,
SD = j,
kondisi = "Sigma tidak diketahui",
lower = lower_t,
upper = upper_t,
lebar = upper_t - lower_t
)
)
}
}
}
# Menampilkan beberapa hasil simulasi
head(hasil)
## n SD kondisi lower upper lebar
## 1 5 10 Sigma diketahui 92.25784 109.7883 17.53045
## 2 5 10 Sigma tidak diketahui 84.69046 117.3557 32.66520
## 3 5 10 Sigma diketahui 97.35689 114.8873 17.53045
## 4 5 10 Sigma tidak diketahui 88.30694 123.9373 35.63034
## 5 5 10 Sigma diketahui 85.19075 102.7212 17.53045
## 6 5 10 Sigma tidak diketahui 80.24259 107.6694 27.42676
# Menghitung rata-rata lebar interval kepercayaan
hasil_akhir <- aggregate(
lebar ~ n + SD + kondisi,
data = hasil,
FUN = mean
)
hasil_akhir
## n SD kondisi lebar
## 1 5 10 Sigma diketahui 17.530451
## 2 30 10 Sigma diketahui 7.156777
## 3 100 10 Sigma diketahui 3.919928
## 4 5 50 Sigma diketahui 87.652254
## 5 30 50 Sigma diketahui 35.783883
## 6 100 50 Sigma diketahui 19.599640
## 7 5 90 Sigma diketahui 157.774057
## 8 30 90 Sigma diketahui 64.410989
## 9 100 90 Sigma diketahui 35.279352
## 10 5 10 Sigma tidak diketahui 23.284875
## 11 30 10 Sigma tidak diketahui 7.397150
## 12 100 10 Sigma tidak diketahui 3.959915
## 13 5 50 Sigma tidak diketahui 116.738583
## 14 30 50 Sigma tidak diketahui 37.015688
## 15 100 50 Sigma tidak diketahui 19.743135
## 16 5 90 Sigma tidak diketahui 212.041966
## 17 30 90 Sigma tidak diketahui 66.922891
## 18 100 90 Sigma tidak diketahui 35.645244
# Membuat grafik
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.5.2
ggplot(
hasil_akhir,
aes(
x = factor(n),
y = lebar,
fill = kondisi
)
) +
geom_col(position = "dodge") +
facet_wrap(~SD) +
labs(
title = "Pengaruh Ukuran Sampel dan Standar Deviasi terhadap Lebar Interval Kepercayaan 95%",
x = "Ukuran Sampel",
y = "Rata-rata Lebar Interval Kepercayaan"
)

# Membuat ringkasan hasil simulasi
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.5.2
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
ringkasan <- hasil %>%
group_by(n, SD, kondisi) %>%
summarise(
rata_rata_lebar_CI = mean(lebar),
.groups = "drop"
)
ringkasan
## # A tibble: 18 × 4
## n SD kondisi rata_rata_lebar_CI
## <dbl> <dbl> <chr> <dbl>
## 1 5 10 Sigma diketahui 17.5
## 2 5 10 Sigma tidak diketahui 23.3
## 3 5 50 Sigma diketahui 87.7
## 4 5 50 Sigma tidak diketahui 117.
## 5 5 90 Sigma diketahui 158.
## 6 5 90 Sigma tidak diketahui 212.
## 7 30 10 Sigma diketahui 7.16
## 8 30 10 Sigma tidak diketahui 7.40
## 9 30 50 Sigma diketahui 35.8
## 10 30 50 Sigma tidak diketahui 37.0
## 11 30 90 Sigma diketahui 64.4
## 12 30 90 Sigma tidak diketahui 66.9
## 13 100 10 Sigma diketahui 3.92
## 14 100 10 Sigma tidak diketahui 3.96
## 15 100 50 Sigma diketahui 19.6
## 16 100 50 Sigma tidak diketahui 19.7
## 17 100 90 Sigma diketahui 35.3
## 18 100 90 Sigma tidak diketahui 35.6
Berdasarkan hasil simulasi, ukuran sampel, standar deviasi, dan
pengetahuan mengenai standar deviasi populasi berpengaruh terhadap lebar
interval kepercayaan 95%. Semakin besar ukuran sampel, interval
kepercayaan semakin sempit sehingga estimasi menjadi lebih presisi.
Sebaliknya, semakin besar standar deviasi, interval kepercayaan semakin
lebar karena penyebaran data yang lebih tinggi. Selain itu, kondisi
standar deviasi populasi yang tidak diketahui menghasilkan interval
kepercayaan yang sedikit lebih lebar dibandingkan ketika standar deviasi
populasi diketahui karena menggunakan distribusi t yang mempertimbangkan
ketidakpastian tambahan.