Sebuah perusahaan ingin mengestimasi rata-rata waktu yang dihabiskan oleh pelanggan di situs web mereka. Mereka melakukan dua survei dengan ukuran sampel yang berbeda.
# 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
# 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
Sebuah sekolah ingin mengestimasi rata-rata nilai ujian matematika siswa. Mereka memiliki dua kelas dengan variabilitas nilai yang berbeda.
# 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
Studi Kasus 3: Pengaruh Tingkat Kepercayaan terhadap Selang Kepercayaan.
# 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
Sebuah universitas ingin mengestimasi rata-rata tinggi badan mahasiswa di fakultas teknik. Berdasarkan data historis, standar deviasi tinggi badan populasi mahasiswa teknik adalah 5 cm. Sebuah sampel acak dari 36 mahasiswa diambil, dan rata-rata tinggi badan sampel adalah 170 cm.
Karena standar deviasi populasi diketahui, kita menggunakan distribusi z.
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
Interval kepercayaan 95% untuk rata-rata tinggi badan mahasiswa teknik adalah (168.37 cm, 171.63 cm). Artinya, kita dapat yakin 95% bahwa rata-rata tinggi badan seluruh mahasiswa teknik di universitas tersebut berada dalam rentang ini. Karena standar deviasi populasi diketahui, estimasi ini lebih presisi.
Universitas yang sama ingin mengestimasi rata-rata tinggi badan mahasiswa di fakultas seni. Namun, standar deviasi populasi tidak diketahui. Sebuah sampel acak dari 25 mahasiswa diambil, dan hasilnya adalah sebagai berikut (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)
Karena standar deviasi populasi tidak diketahui, kita menggunakan distribusi t.
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
Interval kepercayaan 95% untuk rata-rata tinggi badan mahasiswa seni adalah (168.67 cm, 170.73 cm). Artinya, kita dapat yakin 95% bahwa rata-rata tinggi badan seluruh mahasiswa seni di universitas tersebut berada dalam rentang ini. Karena standar deviasi populasi tidak diketahui, kita menggunakan distribusi t, yang menghasilkan interval yang sedikit lebih lebar dibandingkan jika standar deviasi populasi diketahui.
Lakukan simulasi untuk mempelajari pengaruh ukuran sampel, variabilitas data (standar deviasi), danpengetahuan tentang standar deviasi populasi (diketahui/tidak diketahui) terhadap lebar interval kepercayaan95%, dengan informasi setiap faktor dan level sebagai berikut: - Faktor 1: Ukuran Sampel (n), Level: 5, 30, 100 - Faktor 2: Variabilitas Data (Standar Deviasi, σ atau s), Level: 10, 50, 90 - Faktor 3: Pengetahuan Standar Deviasi Populasi, Level: Diketahui (σ), Tidak Diketahui (s)
Interpretasikan hasilnya..
set.seed(123)
# Faktor 1: Ukuran Sampel (n)
n_values <- c(5, 30, 100)
# Faktor 2: Variabilitas Data (σ atau s)
sd_values <- c(10, 50, 90)
# Faktor 3: Pengetahuan Standar Deviasi Populasi (σ diketahui atau tidak diketahui)
known_sd <- c(TRUE, FALSE)
# Fungsi untuk menghitung lebar interval kepercayaan 95%
calculate_ci_width <- function(n, sd, known) {
alpha <- 0.05
if (known) {
error <- qnorm(1 - alpha/2) * (sd / sqrt(n))
} else {
error <- qt(1 - alpha/2, df = n - 1) * (sd / sqrt(n))
}
return(2 * error) # Lebar interval kepercayaan = 2 * margin of error
}
# Simulasi
results <- expand.grid(n = n_values, sd = sd_values, known = known_sd)
results$ci_width <- mapply(calculate_ci_width, results$n, results$sd, results$known)
# Menampilkan hasil
print(results)
## n sd known ci_width
## 1 5 10 TRUE 17.530451
## 2 30 10 TRUE 7.156777
## 3 100 10 TRUE 3.919928
## 4 5 50 TRUE 87.652254
## 5 30 50 TRUE 35.783883
## 6 100 50 TRUE 19.599640
## 7 5 90 TRUE 157.774057
## 8 30 90 TRUE 64.410989
## 9 100 90 TRUE 35.279352
## 10 5 10 FALSE 24.833280
## 11 30 10 FALSE 7.468123
## 12 100 10 FALSE 3.968434
## 13 5 50 FALSE 124.166400
## 14 30 50 FALSE 37.340614
## 15 100 50 FALSE 19.842170
## 16 5 90 FALSE 223.499520
## 17 30 90 FALSE 67.213105
## 18 100 90 FALSE 35.715905
# Load library
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.4.3
# Ubah kolom 'known' jadi faktor (kalau belum)
results$known <- factor(results$known)
# Plot hasil
ggplot(results, aes(x = factor(n), y = ci_width, fill = known)) +
geom_bar(stat = "identity", position = "dodge") +
facet_wrap(~ sd, scales = "free_y") +
scale_fill_manual(
values = c("FALSE" = "#8B0000", # Merah darah
"TRUE" = "#40E0D0") # Hijau tosca
) +
labs(
title = "Pengaruh Ukuran Sampel, Variabilitas, dan Pengetahuan SD terhadap Lebar CI",
x = "Ukuran Sampel (n)",
y = "Lebar Interval Kepercayaan",
fill = "SD Populasi Diketahui"
) +
theme_minimal()
Pengaruh Ukuran Sampel (n): * Semakin besar ukuran sampel, lebar interval kepercayaan semakin kecil → karena ketidakpastian berkurang seiring dengan bertambahnya data.
Pengaruh Variabilitas Data (σ atau s): * Semakin besar variabilitas data, lebar interval kepercayaan semakin besar → karena ketidakpastian meningkat dengan meningkatnya variasi data.
Pengaruh Pengetahuan Standar Deviasi Populasi: * Jika standar deviasi diketahui → interval kepercayaan lebih sempit karena ketidakpastian lebih rendah. * Jika standar deviasi tidak diketahui → interval kepercayaan lebih lebar karena adanya ketidakpastian tambahan dari estimasi standar deviasi sampel.