Selang kepercayaan merupakan suatu interval yang digunakan untuk menduga parameter populasi, seperti rata-rata populasi (μ), dengan tingkat kepercayaan tertentu. Dalam pembentukan selang kepercayaan, distribusi sampling dari statistik (misalnya rata-rata sampel) diharapkan mendekati distribusi normal. Hal ini dapat terjadi secara langsung jika populasi berdistribusi normal, atau berdasarkan Teorema Limit Pusat jika ukuran sampel cukup besar (\(N \ge 30\) ).
Di dalam buku yang ditulis oleh Spiegel dan Stephens (2018) disebutkan bahwa selang kepercayaan untuk mean populasi diberikan dengan:
Karena terkadang \(\sigma\) tidak diketahui maka kita bisa menggunakan \(s\) (standar deviasi sampel). Dalam buku Bain disebutkan bahwa ketika kita menggunakan standar deviasi sampel \(s\) dalam selang kepercayaan mean, maka statistik \(z_c\) digantikan oleh \(t_{1-\frac{\alpha}{2},\, n-1}\), yaitu kuantil dari distribusi t-Student dengan derajat bebas \(n-1\).
Di dalam buku yang ditulis oleh Spiegel dan Stephens (2018) disebutkan bahwa jika sampel dengan ukuran \(N\) yang diambil dari populasi binomial di mana \(p\) adalah proporsi sukses, selang kepercayaannya adalah sebagai berikut. a. Jika sampling dari populasi tak terbatas atau sampel dengan pengembalian pada populasi terbatas \[ P \pm z_c \sqrt{\frac{pq}{N}}=P \pm z_c \sqrt{\frac{p(1-p)}{N}} \] b. Jika sampel tanpa pengembalian pada populasi terbatas \[ P \pm z_c \sqrt{\frac{pq}{N}}\sqrt{\frac{N_p-N}{N_p-1}} \]
Di dalam buku yang ditulis oleh Spiegel dan Stephens (2018) disebutkan bahwa jika \(S_1\) \(S_2\) adalah dua satistik sampel dengan sampel distribusi yang mendekati normal: - Selang kepercayaan untuk perbedaan parameter populasi: \[ S_1-S_2 \pm z_c \sigma_{S_1-S_2} = S_1-S_2 \pm z_c \sqrt{\sigma_{S_1}^2+\sigma_{S_2}^2} \] - Selang kepercayaan untuk penjumlahan parameter populasi: \[ S_1+S_2 \pm z_c \sigma_{S_1+S_2} = S_1+S_2 \pm z_c \sqrt{\sigma_{S_1}^2+\sigma_{S_2}^2} \]
Di dalam buku yang ditulis oleh Spiegel dan Stephens (2018) disebutkan bahwa selang kepercayaan untuk standar deviasi \(\sigma\) dari suatu populasi berdistribusi normal diestimasi dengan standar deviasi sampel \(s\): \[ s \pm z_c \sigma_s = s \pm z_c \frac{\sigma}{\sqrt{2N}} \] Karena terkadang \(\sigma\) tidak diketahui maka kita bisa menggunakan \(s\) (standar deviasi sampel).
alpha <- 0.05
x_bar <- 45
Sigma <- 10
# Survei 1
n1 <- 5 # Ukuran Sampel
z_c1 <- qnorm(0.975, mean = 0, sd = 1) # Titik Kritis Normal Standar
Batas_Bawah1 <- round(x_bar - z_c1 * (Sigma/sqrt(n1)),3)
Batas_Atas1 <- round(x_bar + z_c1 * (Sigma/sqrt(n1)), 3)
Selang_Kepercayaan1 <- paste(Batas_Bawah1, "≤ mu ≤", Batas_Atas1, sep = " ")
Lebar1 <- round(Batas_Atas1 - Batas_Bawah1, 3)
# Survei 2
n2 <- 30 # Ukuran Sampel
z_c2 <- qnorm(0.975, mean = 0, sd = 1) # Titik Kritis Normal Standar
Batas_Bawah2 <- round(x_bar - z_c2 * (Sigma/sqrt(n2)),3)
Batas_Atas2 <- round(x_bar + z_c2 * (Sigma/sqrt(n2)), 3)
Selang_Kepercayaan2 <- paste(Batas_Bawah2, "≤ mu ≤", Batas_Atas2, sep = " ")
Lebar2 <- round(Batas_Atas2 - Batas_Bawah2, 3)
# Survei 3
n3 <- 100 # Ukuran Sampel
z_c3 <- qnorm(0.975, mean = 0, sd = 1) # Titik Kritis Normal Standar
Batas_Bawah3 <- round(x_bar - z_c3 * (Sigma/sqrt(n3)),3)
Batas_Atas3 <- round(x_bar + z_c3 * (Sigma/sqrt(n3)), 3)
Selang_Kepercayaan3 <- paste(Batas_Bawah3, "≤ mu ≤", Batas_Atas3, sep = " ")
Lebar3 <- round(Batas_Atas3 - Batas_Bawah3, 3)
data.frame(Ukuran_Sampel = c(5, 30, 100),
Selang_Kepercayaan_Mean = c(Selang_Kepercayaan1, Selang_Kepercayaan2, Selang_Kepercayaan3),
Lebar_Selang = c(Lebar1, Lebar2, Lebar3))
## Ukuran_Sampel Selang_Kepercayaan_Mean Lebar_Selang
## 1 5 36.235 ≤ mu ≤ 53.765 17.530
## 2 30 41.422 ≤ mu ≤ 48.578 7.156
## 3 100 43.04 ≤ mu ≤ 46.96 3.920
Pada selang kepercayaan mean, semakin besar ukuran sampel maka semakin sempit selang kepercayaannya. Rumus selang kepercayaan mean untuk sampling dari populasi tak terbatas atau sampel dengan pengembalian pada populasi terbatas: \[ \bar{X} \pm z_c \frac{\sigma}{\sqrt{N}} \] Semakin besar ukuran sampel (\(N\)) maka nilai \(z_c \frac{\sigma}{\sqrt{N}}\) semakin kecil sehingga lebar selang kepercayaan semakin sempit.
alpha2 <- 0.05
x_bar2 <- 45
np2 <- 35
# Survei 1
Sigma1 <- 10 # Standar Deviasi Populasi
z_c1 <- qnorm(0.975, mean = 0, sd = 1) # Titik Kritis Normal Standar
Batas_Bawah1 <- round(x_bar2 - z_c1 * (Sigma1/sqrt(np2)),3)
Batas_Atas1 <- round(x_bar2 + z_c1 * (Sigma1/sqrt(np2)), 3)
Selang_Kepercayaan1 <- paste(Batas_Bawah1, "≤ mu ≤", Batas_Atas1, sep = " ")
Lebar1 <- round(Batas_Atas1 - Batas_Bawah1, 3)
# Survei 2
Sigma2 <- 50 # Standar Deviasi Populasi
z_c2 <- qnorm(0.975, mean = 0, sd = 1) # Titik Kritis Normal Standar
Batas_Bawah2 <- round(x_bar2 - z_c2 * (Sigma2/sqrt(np2)),3)
Batas_Atas2 <- round(x_bar2 + z_c2 * (Sigma2/sqrt(np2)), 3)
Selang_Kepercayaan2 <- paste(Batas_Bawah2, "≤ mu ≤", Batas_Atas2, sep = " ")
Lebar2 <- round(Batas_Atas2 - Batas_Bawah2, 3)
# Survei 3
Sigma3 <- 90 # Standar Deviasi Populasi
z_c3 <- qnorm(0.975, mean = 0, sd = 1) # Titik Kritis Normal Standar
Batas_Bawah3 <- round(x_bar2 - z_c3 * (Sigma3/sqrt(np2)),3)
Batas_Atas3 <- round(x_bar2 + z_c3 * (Sigma3/sqrt(np2)), 3)
Selang_Kepercayaan3 <- paste(Batas_Bawah3, "≤ mu ≤", Batas_Atas3, sep = " ")
Lebar3 <- round(Batas_Atas3 - Batas_Bawah3, 3)
data.frame(Standar_Deviasi = c(10, 50, 90),
Selang_Kepercayaan_Mean = c(Selang_Kepercayaan1, Selang_Kepercayaan2, Selang_Kepercayaan3),
Lebar_Selang = c(Lebar1, Lebar2, Lebar3))
## Standar_Deviasi Selang_Kepercayaan_Mean Lebar_Selang
## 1 10 41.687 ≤ mu ≤ 48.313 6.626
## 2 50 28.435 ≤ mu ≤ 61.565 33.130
## 3 90 15.184 ≤ mu ≤ 74.816 59.632
Pada selang kepercayaan mean, semakin besar standar deviasi maka semakin lebar selang kepercayaannya. Rumus selang kepercayaan mean untuk sampling dari populasi tak terbatas atau sampel dengan pengembalian pada populasi terbatas: \[ \bar{X} \pm z_c \frac{\sigma}{\sqrt{N}} \] Semakin besar standar deviasi (\(\sigma\)) maka nilai \(z_c \frac{\sigma}{\sqrt{N}}\) semakin besar sehingga lebar selang kepercayaan semakin lebar.
alpha2 <- 0.05
x_bar2 <- 45
ns2 <- 35
# Sigma Diketahui
Sigma1 <- c(10, 20, 25) # Standar Deviasi Populasi
z_c1 <- qnorm(1 - alpha2/2, mean = 0, sd = 1) # Titik Kritis Normal Standar
Batas_Bawah1 <- round(x_bar2 - z_c1 * (Sigma1/sqrt(ns2)),3)
Batas_Atas1 <- round(x_bar2 + z_c1 * (Sigma1/sqrt(ns2)), 3)
Selang_Kepercayaan1 <- paste(Batas_Bawah1, "≤ mu ≤", Batas_Atas1, sep = " ")
Lebar1 <- round(Batas_Atas1 - Batas_Bawah1, 3)
# Hasil dari Sigma yang diketahui
Hasil1 <- data.frame(Tipe = "Sigma", SD = Sigma1, Selang_Kepercayaan = Selang_Kepercayaan1, Lebar_Selang = Lebar1)
# Sigma Tidak Diketahui
s <- c(10, 20, 25, 5, 17, 23, 15, 22, 30) # Standar Deviasi sampel
t_c1 <- qt(1 - alpha2/2, df = ns2-1) # Titik Kritis student T
Batas_Bawah2 <- round(x_bar2 - t_c1 * (s/sqrt(ns2)),3)
Batas_Atas2 <- round(x_bar2 + t_c1 * (s/sqrt(ns2)), 3)
Selang_Kepercayaan2 <- paste(Batas_Bawah2, "≤ mu ≤", Batas_Atas2, sep = " ")
Lebar2 <- round(Batas_Atas2 - Batas_Bawah2, 3)
# Hasil dari Sigma yang tidak diketahui
Hasil2 <- data.frame(Tipe = "s", SD = s, Selang_Kepercayaan = Selang_Kepercayaan2, Lebar_Selang = Lebar2)
# Hasil gabungan
Hasil_G <- rbind(Hasil1, Hasil2)
# Clustered Bar Chart
library(ggplot2)
ggplot(Hasil_G, aes(x = factor(SD), y = Lebar_Selang, fill = Tipe)) +
geom_bar(stat = "identity",
position = position_dodge(width = 0.5), # jarak antar bar dalam grup
width = 0.5) + # lebar bar (lebih kecil = lebih renggang)) +
labs(x = "Standar Deviasi", y = "Lebar Selang",
title = "Perbandingan Lebar Selang (Z vs t)"
) +
scale_fill_manual(values = c("skyblue", "lightgreen")) +
theme_classic()
Dari Output di atas dapat kita lihat bahwa:
Hal ini dikarenakan nilai titik kritis t lebih besar daripada nilai kritis z (standar normal). Namun pada ukuran sampel yang sangat besar akan menjadikan lebar selang dengan \(s\) semakin sempit.
# Perbandingan Nilai titik kritis t dan z
alpha <- 0.05
ns <- c(6, 13, 20, 50, 70, 100, 1000, 50000000)
z <- qnorm(1 - alpha/2, mean = 0, sd = 1)
t <- qt(1 - alpha/2, df = ns-1)
data.frame(Ukuran_Sampel = ns, Z = z, T = t)
## Ukuran_Sampel Z T
## 1 6.0e+00 1.959964 2.570582
## 2 1.3e+01 1.959964 2.178813
## 3 2.0e+01 1.959964 2.093024
## 4 5.0e+01 1.959964 2.009575
## 5 7.0e+01 1.959964 1.994945
## 6 1.0e+02 1.959964 1.984217
## 7 1.0e+03 1.959964 1.962341
## 8 5.0e+07 1.959964 1.959964
set.seed(18)
Hasil <- data.frame(N = factor(), Sigma = factor(), lebar_Selang = numeric()) # Tempat data disimipan
N <- c(5, 10, 20, 30)
Sigma <- c(10, 50, 90)
U <- 3 # Jumlah Ulangan
alpha <- 0.05
for(i in N){
for(a in Sigma) {
for(b in 1:U){
sampel <- rnorm(i, mean = 35, sd = a)
x_bar <- mean(sampel)
s <- sd(sampel)
t_c1 <- qt(1 - alpha/2, df = i - 1) # Titik Kritis Student
Batas_Bawah <- round(x_bar - t_c1 * (s/sqrt(i)),5)
Batas_Atas <- round(x_bar + t_c1 * (s/sqrt(i)), 5)
Lebar <- round(Batas_Atas - Batas_Bawah, 5)
# Simpan
Hasil <- rbind(Hasil,
data.frame(N = i, Sigma = a, lebar_Selang = Lebar))
}
}
}
dim(Hasil)
## [1] 36 3
head(Hasil, 10)
## N Sigma lebar_Selang
## 1 5 10 32.66520
## 2 5 10 35.63035
## 3 5 10 27.42677
## 4 5 50 129.88706
## 5 5 50 122.87126
## 6 5 50 103.68395
## 7 5 90 250.30205
## 8 5 90 208.66474
## 9 5 90 222.47647
## 10 10 10 10.49942
Hasil$N <- as.factor(Hasil$N)
Hasil$Sigma <- as.factor(Hasil$Sigma)
# Model Anova
Model_Anova <- aov(lebar_Selang ~ Sigma * N, data = Hasil)
summary(Model_Anova)
## Df Sum Sq Mean Sq F value Pr(>F)
## Sigma 2 65678 32839 312.70 < 2e-16 ***
## N 3 42081 14027 133.57 4.16e-15 ***
## Sigma:N 6 17948 2991 28.48 8.69e-10 ***
## Residuals 24 2520 105
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
\(\alpha:\) 0.05 \(H_0:\) Tidak terdapat perbedaan rata-rata lebar selang berdasarkan jenis sigma \(H_1:\) Setidaknya terdapat satu perbedaan rata-rata lebar selang berdasarkan jenis sigma
Dari Output di atas, Pr(>F) pada Sigma < \(\alpha\) sehingga tolak \(H_0\) yang berarti terdapat perbedaan rata-rata lebar selang berdasarkan jenis sigma. Untuk melihat apa yang berbeda bisa lihat uji lanjut Post HOC Tukey.
\(\alpha:\) 0.05 \(H_0:\) Tidak terdapat perbedaan rata-rata lebar selang berdasarkan jenis ukuran sampel \(H_1:\) Setidaknya terdapat satu perbedaan rata-rata lebar selang berdasarkan jenis ukuran sampel
Dari Output di atas, Pr(>F) pada N < \(\alpha\) sehingga tolak \(H_0\) yang berarti terdapat perbedaan rata-rata lebar selang berdasarkan jenis ukuran sampel. Untuk melihat apa yang berbeda bisa lihat uji lanjut Post HOC Tukey.
\(\alpha:\) 0.05 \(H_0:\) Tidak terdapat perbedaan rata-rata lebar selang berdasarkan interaksi antara sigma dan N \(H_1:\) Setidaknya terdapat satu perbedaan rata-rata lebar selang berdasarkan interaksi antara sigma dan N
Dari Output di atas, Pr(>F) pada Sigma:N < \(\alpha\) sehingga tolak \(H_0\) yang berarti terdapat perbedaan rata-rata lebar selang berdasarkan interaksi antara sigma dan N.
# Uji Tukey
TukeyHSD(Model_Anova, which = "N")
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = lebar_Selang ~ Sigma * N, data = Hasil)
##
## $N
## diff lwr upr p adj
## 10-5 -66.512514 -79.83891 -53.186116 0.0000000
## 20-5 -75.977781 -89.30418 -62.651383 0.0000000
## 30-5 -88.272397 -101.59880 -74.945998 0.0000000
## 20-10 -9.465267 -22.79167 3.861132 0.2310858
## 30-10 -21.759882 -35.08628 -8.433484 0.0007921
## 30-20 -12.294616 -25.62101 1.031783 0.0780091
cat("====================================================================================\n")
## ====================================================================================
TukeyHSD(Model_Anova, which = "Sigma")
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = lebar_Selang ~ Sigma * N, data = Hasil)
##
## $Sigma
## diff lwr upr p adj
## 50-10 54.89739 44.44967 65.34512 0
## 90-10 104.58177 94.13404 115.02949 0
## 90-50 49.68437 39.23665 60.13210 0
Dari output uji tukey untuk N didapatkan beberapa p adj yang lebih kecil dari \(\alpha\), antara lain: - Antara 10 dan 5 (perbedaan signifikan) - Antara 20 dan 5 (perbedaan signifikan) - Antara 30 dan 5 (perbedaan signifikan) - Antara 30 dan 10 (perbedaan signifikan)
Sedangkan ouutput uji tukey untuk sigma semuanya memiliki p adj yang lebih kecil dari \(\alpha\) .
Dilansir dari laman NumberAnalytics (2025), Asumsi Uji Anova adalah residual berdistribusi normal dan varians data per kelompok yang homogen, dan independensi.
Asumsi independensi pada penelitian ini terpenuhi karena data diperoleh melalui simulasi acak menggunakan distribusi normal, di mana setiap observasi dihasilkan secara independen dan tidak saling memengaruhi antar ulangan maupun antar kelompok.
# Uji Asumsi Anova Normalitas
shapiro.test(residuals(Model_Anova))
##
## Shapiro-Wilk normality test
##
## data: residuals(Model_Anova)
## W = 0.95175, p-value = 0.1187
\(\alpha:\) 0.05 \(H_0:\) Residual model berdistribusi normal \(H_1:\) Residual model tidak berdistribusi normal
Dari hasil uji normalitas Kolmogorov-Smirnov didapatkan p-value > \(\alpha\) sehingga Gagal Tolak \(\boldsymbol{H_0}\) . Kesimpulannya adalah residual model berdistribusi normal, uji asumsi normalitas terpenuhi.
# Uji Asumsi Anova Homogenitas
library(car)
## Warning: package 'car' was built under R version 4.4.3
## Loading required package: carData
## Warning: package 'carData' was built under R version 4.4.3
leveneTest(lebar_Selang ~ interaction(N,Sigma), data = Hasil)
## Levene's Test for Homogeneity of Variance (center = median)
## Df F value Pr(>F)
## group 11 0.8974 0.5562
## 24
\(\alpha:\) 0.05 \(H_0:\) varians antar kelomopok sama (homogen) \(H_1:\) varians antar kelomopok berbeda
Dari hasil uji homogenitas varians, uji levene, didapatkan Pr(>F) > \(\alpha\) sehingga Gagal Tolak \(\boldsymbol{H_0}\) . Kesimpulannya adalah varians antar kelomopok sama (homogen), uji asumsi homogenitas terpenuhi.
Bain, L. J., & Engelhardt, M. (1992). Introduction To Probability and Mathematical Statistics (2nd ed.). Duxbury Press.
Lee, S. (2025, May 15). Get to Know All Key Stats: ANOVA Assumptions. NumberAnalytics.
Spiegel, M. R., & Stephens, L. J. (2018). Schaum’s Outlines Statistics (6th ed.). McGraw-Hill Education.