# Faktor ukuran sampel
n_values <- c(5, 30, 100)

# Faktor standar deviasi
sd_values <- c(10, 50, 90)

# Level signifikansi
alpha <- 0.05

# Membuat data frame kosong
hasil <- data.frame()
for(n in n_values){

  for(sd in sd_values){

    # Nilai z 95%
    z_value <- qnorm(1 - alpha/2)

    # Margin of error
    moe_z <- z_value * sd / sqrt(n)

    # Lebar interval
    width_z <- 2 * moe_z

    # Menyimpan hasil
    hasil <- rbind(
      hasil,
      data.frame(
        n = n,
        SD = sd,
        Kondisi = "Sigma Diketahui",
        Lebar_Interval = width_z
      )
    )
  }
}
for(n in n_values){

  for(sd in sd_values){

    # Nilai t 95%
    t_value <- qt(1 - alpha/2, df = n - 1)

    # Margin of error
    moe_t <- t_value * sd / sqrt(n)

    # Lebar interval
    width_t <- 2 * moe_t

    # Menyimpan hasil
    hasil <- rbind(
      hasil,
      data.frame(
        n = n,
        SD = sd,
        Kondisi = "Sigma Tidak Diketahui",
        Lebar_Interval = width_t
      )
    )
  }
}
hasil
##      n SD               Kondisi Lebar_Interval
## 1    5 10       Sigma Diketahui      17.530451
## 2    5 50       Sigma Diketahui      87.652254
## 3    5 90       Sigma Diketahui     157.774057
## 4   30 10       Sigma Diketahui       7.156777
## 5   30 50       Sigma Diketahui      35.783883
## 6   30 90       Sigma Diketahui      64.410989
## 7  100 10       Sigma Diketahui       3.919928
## 8  100 50       Sigma Diketahui      19.599640
## 9  100 90       Sigma Diketahui      35.279352
## 10   5 10 Sigma Tidak Diketahui      24.833280
## 11   5 50 Sigma Tidak Diketahui     124.166400
## 12   5 90 Sigma Tidak Diketahui     223.499520
## 13  30 10 Sigma Tidak Diketahui       7.468123
## 14  30 50 Sigma Tidak Diketahui      37.340614
## 15  30 90 Sigma Tidak Diketahui      67.213105
## 16 100 10 Sigma Tidak Diketahui       3.968434
## 17 100 50 Sigma Tidak Diketahui      19.842170
## 18 100 90 Sigma Tidak Diketahui      35.715905
hasil[order(hasil$Lebar_Interval), ]
##      n SD               Kondisi Lebar_Interval
## 7  100 10       Sigma Diketahui       3.919928
## 16 100 10 Sigma Tidak Diketahui       3.968434
## 4   30 10       Sigma Diketahui       7.156777
## 13  30 10 Sigma Tidak Diketahui       7.468123
## 1    5 10       Sigma Diketahui      17.530451
## 8  100 50       Sigma Diketahui      19.599640
## 17 100 50 Sigma Tidak Diketahui      19.842170
## 10   5 10 Sigma Tidak Diketahui      24.833280
## 9  100 90       Sigma Diketahui      35.279352
## 18 100 90 Sigma Tidak Diketahui      35.715905
## 5   30 50       Sigma Diketahui      35.783883
## 14  30 50 Sigma Tidak Diketahui      37.340614
## 6   30 90       Sigma Diketahui      64.410989
## 15  30 90 Sigma Tidak Diketahui      67.213105
## 2    5 50       Sigma Diketahui      87.652254
## 11   5 50 Sigma Tidak Diketahui     124.166400
## 3    5 90       Sigma Diketahui     157.774057
## 12   5 90 Sigma Tidak Diketahui     223.499520
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.4.3
ggplot(hasil,
       aes(x = factor(n),
           y = Lebar_Interval,
           fill = Kondisi)) +
  geom_bar(stat = "identity",
           position = "dodge") +
  facet_wrap(~SD) +
  labs(
    title = "Pengaruh Ukuran Sampel dan Standar Deviasi\nterhadap Lebar Interval Kepercayaan",
    x = "Ukuran Sampel (n)",
    y = "Lebar Interval"
  )

Secara umum, grafik tersebut menunjukkan bahwa semakin besar ukuran sampel, maka lebar interval kepercayaan semakin kecil. Hal ini terlihat pada seluruh panel standar deviasi. Misalnya pada SD = 10, batang untuk n = 5 jauh lebih tinggi dibanding n = 30 dan n = 100. Kondisi yang sama juga terjadi pada SD = 50 dan SD = 90. Ini menunjukkan bahwa jumlah data yang lebih banyak menghasilkan estimasi yang lebih presisi karena ketidakpastian estimasi menjadi lebih kecil.

Grafik tersebut juga menunjukkan bahwa semakin besar standar deviasi, maka interval kepercayaan menjadi semakin lebar. Pada panel SD = 90, tinggi batang jauh lebih besar dibanding panel SD = 10. Artinya, data yang memiliki variasi tinggi menyebabkan estimasi rata-rata menjadi kurang stabil sehingga diperlukan interval yang lebih lebar untuk mencakup parameter populasi dengan tingkat keyakinan 95%.

Selain itu, terlihat bahwa batang berwarna biru kehijauan (sigma tidak diketahui) selalu sedikit lebih tinggi dibanding batang merah muda (sigma diketahui). Hal ini menunjukkan bahwa ketika standar deviasi populasi tidak diketahui, interval kepercayaan menjadi lebih lebar karena menggunakan distribusi t-Student yang memiliki margin of error lebih besar dibanding distribusi normal (Z).

Perbedaan antara sigma diketahui dan tidak diketahui paling terlihat pada ukuran sampel kecil, terutama pada n = 5. Misalnya pada SD = 90, selisih tinggi batang cukup besar antara kedua kondisi. Namun ketika ukuran sampel meningkat menjadi 100, perbedaan tinggi batang hampir tidak terlihat lagi. Ini menunjukkan bahwa distribusi t akan semakin mendekati distribusi normal ketika ukuran sampel besar.

Dari grafik juga dapat disimpulkan bahwa kondisi paling presisi terjadi pada: a. ukuran sampel besar (n = 100), b. standar deviasi kecil (SD = 10), c. dan sigma diketahui, karena menghasilkan batang paling rendah atau interval paling sempit.

Secara keseluruhan, grafik ini membuktikan teori statistika bahwa ukuran sampel besar meningkatkan ketelitian estimasi, sedangkan variasi data yang tinggi dan ketidakpastian parameter populasi menyebabkan interval kepercayaan menjadi lebih lebar.