#studi kasus 1
#survei 1
n1 <- 30
mean1 <- 5
sd1 <- 2
alpha <- 0.05
t_value1 <- qt(1 - alpha/2, df = n1-1)
error_margin1 <- t_value1 * sd1 / sqrt(n1)
interval1 <- c(mean1 - error_margin1, mean1 + error_margin1)
interval1
## [1] 4.253188 5.746812
#studi kasus 2
# Survei 2
n2 <- 100
mean2 <- 5
sd2 <- 2
t_value2 <- qt(1 - alpha/2, df = n2-1)
error_margin2 <- t_value2 * sd2 / sqrt(n2)
interval2 <- c(mean2 - error_margin2, mean2 + error_margin2)
interval2
## [1] 4.603157 5.396843
# Kelas A
nA <- 40
meanA <- 75
sdA <- 10
alpha <- 0.05
t_valueA <- qt(1 - alpha/2, df = nA-1)
error_marginA <- t_valueA * sdA / sqrt(nA)
intervalA <- c(meanA - error_marginA, meanA + error_marginA)
intervalA
## [1] 71.80184 78.19816
# Kelas B
nB <- 40
meanB <- 75
sdB <- 20
t_valueB <- qt(1 - alpha/2, df = nB-1)
error_marginB <- t_valueB * sdB / sqrt(nB)
intervalB <- c(meanB - error_marginB, meanB + error_marginB)
intervalB
## [1] 68.60369 81.39631
# Tingkat Kepercayaan 90%
alpha90 <- 0.10
t_value90 <- qt(1 - alpha90/2, df = 49)
error_margin90 <- t_value90 * 15 / sqrt(50)
interval90 <- c(100 - error_margin90, 100 + error_margin90)
interval90
## [1] 96.4435 103.5565
# Tingkat Kepercayaan 99%
alpha99 <- 0.01
t_value99 <- qt(1 - alpha99/2, df = 49)
error_margin99 <- t_value99 * 15 / sqrt(50)
interval99 <- c(100 - error_margin99, 100 + error_margin99)
interval99
## [1] 94.31496 105.68504
#studi kasus 4
mean_tinggi <- 170 # dalam cm
sd_tinggi <- 5 # dalam cm (diketahui)
n <- 36
alpha <- 0.05
# Menghitung nilai z untuk tingkat kepercayaan 95%
z_value <- qnorm(1 - alpha/2)
# Menghitung margin of error
error_margin <- z_value * sd_tinggi / sqrt(n)
# Menghitung interval kepercayaan
interval <- c(mean_tinggi - error_margin, mean_tinggi + error_margin)
interval
## [1] 168.3667 171.6333
#studi kasus 5
# Data tinggi badan sampel (dalam cm)
tinggi_badan <- c(165, 168, 170, 172, 169, 167, 171, 166, 173, 174,
170, 168, 169, 167, 172, 171, 170, 169, 168, 173,
172, 170, 169, 167, 171)
mean_tinggi <- mean(tinggi_badan)
sd_tinggi <- sd(tinggi_badan)
n <- length(tinggi_badan)
alpha <- 0.05
# Menghitung nilai t untuk tingkat kepercayaan 95% dan df = n-1
t_value <- qt(1 - alpha/2, df = n-1)
# Menghitung margin of error
error_margin <- t_value * sd_tinggi / sqrt(n)
# Menghitung interval kepercayaan
interval <- c(mean_tinggi - error_margin, mean_tinggi + error_margin)
interval
## [1] 168.6802 170.5998
#tugas
# Set seed untuk replikasi hasil
set.seed(123)
# Definisi faktor dan level
sample_sizes <- c(5, 30, 100)
std_devs <- c(10, 50, 90)
pop_sd_known <- c(TRUE, FALSE)
alpha <- 0.05
mean_populasi <- 170
# Simpan hasilnya dalam data frame
hasil_simulasi <- data.frame()
# Simulasi untuk setiap kombinasi faktor
for (n in sample_sizes) {
for (sigma in std_devs) {
for (known in pop_sd_known) {
# Simulasi data dari distribusi normal
sampel <- rnorm(n, mean = mean_populasi, sd = sigma)
mean_sampel <- mean(sampel)
if (known) {
#Jika standar deviasi populasi diketahui, gunakan distribusi normal (Z)
error_margin <- qnorm(1 - alpha/2) * (sigma / sqrt(n))
} else {
# Jika standar deviasi populasi tidak diketahui, gunakan distribusi t
sample_sd <- sd(sampel)
error_margin <- qt(1 - alpha/2, df = n-1) * (sample_sd / sqrt(n))
}
# Lebar interval kepercayaan
ci_width <- 2 * error_margin
# Simpan hasil dalam data frame
hasil_simulasi <- rbind(hasil_simulasi,
data.frame(Sample_Size = n,
Std_Dev = sigma,
SD_Known = ifelse(known, "Diketahui", "Tidak Diketahui"),
CI_Width = ci_width))
}
}
}
# Tampilkan hasil simulasinya
print(hasil_simulasi)
## Sample_Size Std_Dev SD_Known CI_Width
## 1 5 10 Diketahui 17.530451
## 2 5 10 Tidak Diketahui 28.893263
## 3 5 50 Diketahui 87.652254
## 4 5 50 Tidak Diketahui 175.203915
## 5 5 90 Diketahui 157.774057
## 6 5 90 Tidak Diketahui 282.054842
## 7 30 10 Diketahui 7.156777
## 8 30 10 Tidak Diketahui 6.495727
## 9 30 50 Diketahui 35.783883
## 10 30 50 Tidak Diketahui 42.884906
## 11 30 90 Diketahui 64.410989
## 12 30 90 Tidak Diketahui 65.024702
## 13 100 10 Diketahui 3.919928
## 14 100 10 Tidak Diketahui 3.980583
## 15 100 50 Diketahui 19.599640
## 16 100 50 Tidak Diketahui 18.310974
## 17 100 90 Diketahui 35.279352
## 18 100 90 Tidak Diketahui 35.749291
# Visualisasi hasil menggunakan ggplot2
library(ggplot2)
ggplot(hasil_simulasi, aes(x = factor(Sample_Size), y = CI_Width, fill = factor(SD_Known))) +
geom_bar(stat = "identity", position = "dodge") +
facet_wrap(~ Std_Dev) +
labs(title = "Pengaruh Ukuran Sampel, Variabilitas, dan Pengetahuan SD terhadap Lebar CI",
x = "Ukuran Sampel (n)",
y = "Lebar Interval Kepercayaan",
fill = "Standar Deviasi Diketahui") +
theme_minimal()
#hasil interprestasi hasil simulasi menunjukkan bahwa tiga faktor utama
mempengaruhi lebar interval kepercayaan 95%. Pertama, ukuran sampel yang
lebih besar menghasilkan interval yang lebih sempit, karena semakin
banyak data yang dikumpulkan, semakin kecil ketidakpastian dalam
estimasi rata-rata populasi.Kedua, variabilitas data yang lebih tinggi
(standar deviasi yang besar) menyebabkan interval kepercayaan lebih
lebar, karena data yang lebih tersebar membutuhkan rentang yang lebih
luas untuk mencakup rata-rata populasi dengan tingkat kepercayaan yang
sama. Ketiga, pengetahuan tentang standar deviasi populasi juga
berpengaruh, di mana jika standar deviasi populasi diketahui, interval
kepercayaan lebih sempit karena menggunakan distribusi normal, sedangkan
jika tidak diketahui, interval lebih lebar karena menggunakan distribusi
t-Student, terutama pada sampel kecil. Secara keseluruhan, peningkatan
ukuran sampel dan pengurangan variabilitas data dapat meningkatkan
ketepatan estimasi, sementara informasi lebih lengkap tentang populasi
dapat membantu mempersempit interval kepercayaan.