Study Cases

Assignment ~ Week 13

Arya Fharezi

Arya Fharezi

NIM Mahasiswa : 52250008
Mahasiswa Sains Data Institut Teknologi Sains Bandung
Informasi Akademik
Mata Kuliah
:
Statistik Dasar
Dosen
:
Bakti Siregar, M.Sc., CDS.
Mahasiswa Aktif - Semester 1


1 Case Study One

Confidence Interval untuk Rata-rata (\(\mu\)), \(\sigma\) Diketahui:

Sebuah platform e-commerce ingin memperkirakan rata-rata harian transaksi per pengguna setelah meluncurkan fitur baru. Berdasarkan data historis berskala besar, simpangan baku populasi diketahui.
\[\begin{aligned} \sigma &= 3.2 && (\text{simpangan baku populasi}) \\ n &= 100 && (\text{Ukuran sampel}) \\ \bar{x} &= 12.6 && (\text{Rata-rata sample}) \end{aligned}\]

Tugas

  1. Identifikasi uji statistik yang tepat dan justifikasi pilihan Anda.
  2. Hitung Confidence Intervals untuk:
    \(90\%\)
    \(95\%\)
    \(99\%\)
  3. Buat visualisasi perbandingan dari ketiga confidence intervals tersebut.
  4. Interpretasikan hasilnya dalam konteks analisis bisnis.

1.1 Meaning of answer 1

Soal: Identifikasi Uji Statistik yang Tepat dan Berikan Alasannya

Uji Statistik yang Tepat: Z-Distribusi (Normal Standar)

\(\displaystyle CI = \bar{x} \pm Z_{\alpha/2} \times \frac{\sigma}{\sqrt{n}}\)

Alasan Pemilihan Uji \(Z\)-Distribusi

Standar Deviasi Populasi Diketahui (\(\sigma = 3.2\))

Dengan diketahuinya standar deviasi populasi secara pasti, kita tidak perlu lagi sekadar menaksir variabilitas data dari sampel. Kondisi ini memberikan keuntungan untuk menggunakan distribusi normal standar (\(Z\)) yang jauh lebih presisi, sebab kita telah menghilangkan faktor ketidakpastian tambahan yang biasanya muncul saat harus mengestimasi simpangan baku.

Ukuran Sampel Besar (\(n = 100\))

Berdasarkan Central Limit Theorem (CLT), dengan \(n \ge 30\), distribusi sampling rata-rata akan mendekati distribusi normal. Ukuran sampel yang besar (\(n = 100\)) memberikan jaminan bahwa asumsi normalitas terpenuhi, bahkan jika distribusi populasi asli tidak normal.

1.2 Meaning of answer 2

Soal: Perhitungan Confidence Interval (σ Diketahui)

Rumus Confidence Interval (Z-Distribution)

\(\displaystyle CI = \bar{x} \pm z_{\alpha/2} \times \frac{\sigma}{\sqrt{n}}\)

\(CI\):
Selang Kepercayaan (Confidence Interval)
\(\bar{x}\):
Rata-rata sampel (Sample Mean)
\(z_{\alpha/2}\):
Nilai kritis distribusi normal standar
\(\sigma\):
Simpangan baku populasi (Population Standard Deviation)
\(n\):
Jumlah sampel (Sample Size)

Data Parameter dari Soal:

Simpangan Baku Populasi

\(\sigma = 3.2\)

Ukuran Sampel

\(n = 100\)

Rata-rata Sampel

\(\bar{x} = 12.6\)

Perhitungan Standard Error (\(SE\)):

\(\displaystyle SE = \frac{\sigma}{\sqrt{n}} = \frac{3.2}{\sqrt{100}}\)

\(\displaystyle = \frac{3.2}{10}\)

\(\displaystyle = 0.32\)

\(SE = 0.32\) transaksi

Standard Error dari rata-rata sampel

Menentukan Nilai \(Z\)-Kritis dari Tabel Distribusi Normal:

Cara Membaca Tabel \(Z\)-Distribution:
  1. Cari angka peluang target di tengah-tengah (isi) tabel (misal 0.025).
  2. Lihat ke kiri untuk menentukan baris (misal -1.9).
  3. Lihat ke atas untuk menentukan kolom (misal 0.06).
  4. Gabungan angka kiri dan atas adalah Nilai \(Z\) (1.96).
\(Z\) \({0.04}\) \({0.05}\) \({0.06}\) \({0.07}\) \({0.08}\)
-3.3 0.0005 0.0004 0.0004 0.0004 0.0004
-2.5 0.0055 0.0054 0.0052 0.0051 0.0049
-1.9 0.0262 0.0256 0.025 0.0244 0.0239
-1.6 0.0505 0.0495 0.0485 0.0475 0.0465
0.1 0.5557 0.5596 0.5636 0.5675 0.5714
Tingkat Signifikansi dan Nilai \(z\)-Kritis:
CL = 90%

\(\alpha = 0.10\)
\(\frac{\alpha}{2} = 0.05\)

\(z_{0.05} = 1.645\)

CL = 95%

\(\alpha = 0.05\)
\(\frac{\alpha}{2} = 0.025\)

\(z_{0.025} = 1.960\)

CL = 99%

\(\alpha = 0.01\)
\(\frac{\alpha}{2} = 0.005\)

\(z_{0.005} = 2.576\)

Justifikasi Penggunaan Distribusi \(Z\):
  1. Simpangan baku populasi (\(\sigma\)) diketahui (3.2).
  2. Ukuran sampel cukup besar (n = 100) \(\ge 30\)
  3. Mengikuti Central Limit Theorem.
  4. Maka distribusi normal dapat digunakan.

Perhitungan Final Confidence Intervals:

90%

Confidence Interval 90%
\(z_{0.05} = 1.645\)
Langkah Perhitungan:
  1. Margin of Error: \(ME = z \times SE = 1.645 \times 0.32 = 0.5264\)
  2. Lower Bound: \(\bar{x} - ME = 12.6 - 0.5264 = 12.0736 \approx 12.07\)
  3. Upper Bound: \(\bar{x} + ME = 12.6 + 0.5264 = 13.1264 \approx 13.13\)

Secara statistik, kita memiliki keyakinan 90% bahwa rata-rata transaksi harian per pengguna yang sebenarnya berada di rentang 12,07 hingga 13,13 transaksi. Artinya, jika kita mengambil data dari seluruh pengguna (populasi), besar kemungkinan nilai rata-ratanya akan jatuh di dalam kisaran angka tersebut.

95%

Confidence Interval 95%
\(z_{0.025} = 1.960\)
Langkah Perhitungan:
  1. Margin of Error: \(ME = z \times SE = 1.960 \times 0.32 = 0.6272\)
  2. Lower Bound: \(\bar{x} - ME = 12.6 - 0.6272 = 11.9728 \approx 11.97\)
  3. Upper Bound: \(\bar{x} + ME = 12.6 + 0.6272 = 13.2272 \approx 13.23\)

Secara statistik, kita memiliki keyakinan 95% bahwa rata-rata transaksi harian per pengguna yang sebenarnya berada di rentang 11,97 hingga 13,23 transaksi. Artinya, jika kita mengambil data dari seluruh pengguna (populasi), besar kemungkinan nilai rata-ratanya akan jatuh di dalam kisaran angka tersebut.

99%

Confidence Interval 99%
\(z_{0.005} = 2.576\)
Langkah Perhitungan:
  1. Margin of Error: \(ME = z \times SE = 2.576 \times 0.32 = 0.8243\)
  2. Lower Bound: \(\bar{x} - ME = 12.6 - 0.8243 = 11.7757 \approx 11.78\)
  3. Upper Bound: \(\bar{x} + ME = 12.6 + 0.8243 = 13.4243 \approx 13.42\)

Secara statistik, kita memiliki keyakinan 99% bahwa rata-rata transaksi harian per pengguna yang sebenarnya berada di rentang 11,78 hingga 13,42 transaksi. Artinya, jika kita mengambil data dari seluruh pengguna (populasi), hampir bisa dipastikan (sangat besar kemungkinannya) nilai rata-ratanya akan jatuh di dalam kisaran angka tersebut.

1.3 Meaning of answer 3

Soal: Visualisasi Perbandingan dari Ketiga Confidence Intervals

library(ggplot2)

df_ci <- data.frame(
  Level = c("90%", "95%", "99%"),
  Y_pos = c(1, 2, 3), 
  Lower = c(12.07, 11.97, 11.78),
  Upper = c(13.13, 13.23, 13.42),
  Color = c("#FF8A80", "#E53935", "#800000") 
)

poly_data <- data.frame(
  x = c(df_ci$Lower, rev(df_ci$Upper)),
  y = c(df_ci$Y_pos, rev(df_ci$Y_pos))
)

# Parameter Statistik
mean_val <- 12.6
se <- 0.32 # (3.2 / sqrt(100))

x_curve <- seq(11.5, 13.7, length.out = 200)
y_curve <- dnorm(x_curve, mean = mean_val, sd = se)

scale_factor <- 3.5 / max(y_curve)
df_curve <- data.frame(x = x_curve, y = y_curve * scale_factor)

# Plot Visualisasi
ggplot() +
  
  geom_polygon(data = poly_data, aes(x = x, y = y), 
               fill = "#800000", alpha = 0.05) +
  
  # Garis Putus-Putus Membentuk Lonceng
  geom_line(data = df_curve, aes(x = x, y = y), 
            linetype = "dashed", color = "gray40", size = 1.2, alpha = 0.6) +
  
  # Garis Tengah (Mean)
  geom_vline(xintercept = 12.6, linetype = "dotted", color = "gray50", size = 1.5) +
  annotate("text", x = 12.6, y = 0.3, label = "Mean (12.6)", 
           color = "gray50", fontface = "italic", size = 6) +
  
  # D. Bar Interval
  geom_segment(data = df_ci, 
               aes(x = Lower, xend = Upper, y = Y_pos, yend = Y_pos, color = Color), 
               size = 18, lineend = "round") + 

  geom_text(data = df_ci, aes(x = 12.6, y = Y_pos, label = Level), 
            color = "white", fontface = "bold", size = 8) +
 
  geom_text(data = df_ci, aes(x = Lower, y = Y_pos, label = Lower), 
            hjust = 1.3, fontface = "bold", color = "#800000", size = 6) +
  geom_text(data = df_ci, aes(x = Upper, y = Y_pos, label = Upper), 
            hjust = -0.3, fontface = "bold", color = "#800000", size = 6) +
  
  scale_color_identity() +
  scale_y_continuous(limits = c(0, 3.8), expand = c(0,0)) + 
  scale_x_continuous(limits = c(11.5, 13.7)) +
  
  labs(
    title = "Trade-off Presisi vs Tingkat Keyakinan (Confidence)",
    caption = "Analisis Sensitivitas: Mean = 12.6"
  ) +
  
  theme_void() + 
  theme(
    plot.title = element_text(size = 30, face = "bold", color = "#800000", hjust = 0.5, margin = margin(t=20, b=15)),
    plot.subtitle = element_text(size = 20, color = "gray50", hjust = 0.5, margin = margin(b=40)),
    plot.caption = element_text(size = 14, color = "gray60", hjust = 0.5, margin = margin(t=30)),
    plot.background = element_rect(fill = "white", color = NA),
    plot.margin = margin(30, 30, 30, 30)
  )

Visualisasi dengan rata-rata 12,6 ini mengonfirmasi hubungan terbalik antara tingkat keyakinan dan presisi, di mana interval melebar signifikan saat keyakinan dinaikkan dari 90% ke 99%, menegaskan bahwa kepastian yang lebih tinggi memerlukan toleransi margin of error yang lebih besar.

1.4 Meaning of answer 4

Soal: Interpretasi Hasil dalam Konteks Analisis Bisnis

Analisis Interpretasi

Visualisasi memperlihatkan prinsip “Trade-off Statistik” yang krusial bagi pengambilan keputusan bisnis. Grafik menunjukkan bahwa semakin tinggi tingkat keyakinan (confidence level) yang kita tuntut, semakin lebar rentang intervalnya.

Bar Paling Bawah
90% CI

Pendek dan sempit
Estimasi tajam & presisi
Risiko error: 10%

Bar Tengah
95% CI

Balance optimal
Standard industri
Risiko error: 5%

Bar Paling Atas
99% CI

Sangat panjang & lebar
“Melebarkan jaring”
Risiko error: \(1\%\)

Implikasi Bisnis: Risk vs. Precision

Manajemen harus memilih interval berdasarkan profil risiko keputusan yang akan diambil:

1 Target Operasional Jangka Pendek

[12.07 – 13.13]

transaksi/hari

Gunakan CI 90%
Tim marketing butuh target spesifik untuk dikejar minggu depan. Rentang sempit → target jelas.
Risiko: 10% kemungkinan meleset.

2 Laporan Standar ke Investor

[11.97 – 13.23]

transaksi/hari

Gunakan CI 95%
Standar industri. Dapat dikatakan dengan percaya diri: “rata-rata stabil di angka 12-13 transaksi”.
Balance optimal presisi & keyakinan.

3 Keamanan Finansial / Budgeting

[11.78 – 13.42]

transaksi/hari

Gunakan CI 99%
Angka “Bunker”. Batas bawah (11.78) adalah skenario terburuk yang masih wajar.
Untuk perencanaan pengeluaran konservatif.

Kesimpulan & Rekomendasi Strategis

Berdasarkan sampel (n = 100) dengan rata-rata 12.6 transaksi/hari:

“Fitur baru terbukti stabil. Untuk mitigasi risiko finansial, proyeksikan pendapatan minimum menggunakan batas bawah konservatif di angka 11.78 transaksi/hari. Namun, untuk evaluasi kinerja tim harian, gunakan target yang lebih optimis di kisaran 12.07 transaksi/hari.”

Untuk Analisis Risiko Tinggi
Gunakan 99% CI
Untuk Operasional Harian
Gunakan 90% CI

2 Case Study Two

Confidence Interval untuk Rata-rata (Mean), \(\sigma\) Tidak Diketahui:

Sebuah tim Riset UX menganalisis waktu penyelesaian tugas (dalam menit) untuk sebuah aplikasi seluler baru. Data dikumpulkan dari 12 pengguna:
\[8.4, 7.9, 9.1, 8.7, 8.2, 9.0, 7.8, 8.5, 8.9, 8.1, 8.6, 8.3\]

Tugas

  1. Identifikasi uji statistik yang tepat dan jelaskan alasannya.
  2. Hitung Selang Kepercayaan (Confidence Intervals) untuk:
    \(90\%\)
    \(95\%\)
    \(99\%\)
  3. Visualisasikan ketiga selang tersebut pada satu plot tunggal.
  4. Jelaskan bagaimana ukuran sampel dan confidence level mempengaruhi lebar selang.

2.1 Meaning of answer 1

Soal: Identifikasi Uji Statistik yang Tepat dan Berikan Alasannya

Uji statistik yang tepat adalah Distribusi-t (One-sample t-interval)

\(\displaystyle CI = \bar{x} \pm t_{\alpha/2, df} \times \frac{s}{\sqrt{n}}\)

Alasan Pemilihan Uji Distribusi-\(t\)

Ukuran Sampel Kecil (\(n = 12 < 30\))

Jumlah data hanya 12 pengguna, yang termasuk dalam kategori sampel kecil. Ketika \(n < 30\), distribusi-t (t-distribution) lebih tepat karena memberikan koreksi untuk ketidakpastian estimasi.

Standar Deviasi Populasi (\(\sigma\)) Tidak Diketahui

Soal secara eksplisit menyatakan “\(\sigma\) unknown”. Kita harus mengestimasi standar deviasi menggunakan data sampel (\(s\)). Distribusi-t dirancang khusus untuk situasi dimana \(\sigma\) tidak diketahui dan harus diestimasi.

Data Numerik (Waktu dalam Menit)

Data berupa waktu penyelesaian dalam menit, yang merupakan variabel kontinu. Uji-t cocok untuk data kontinu dimana kita ingin mengestimasi interval kepercayaan untuk mean populasi.

2.2 Meaning of answer 2

Perhitungan Confidence Interval (σ Tidak Diketahui)

Rumus Confidence Interval (t-Distribution)

\(\displaystyle CI = \bar{x} \pm t_{\alpha/2, df} \times \frac{s}{\sqrt{n}}\)

\(CI\):
Selang Kepercayaan (Confidence Interval)
\(\bar{x}\):
Rata-rata sampel (Sample Mean)
\(t_{\alpha/2, df}\):
Nilai kritis t-distribusi
\(s\):
Simpangan baku sampel (Sample Standard Deviation)
\(n\):
Jumlah sampel (Sample Size)
\(df\):
Derajat kebebasan (Degrees of Freedom) \(= n-1\)

Data Sampel Waktu Penyelesaian (menit):

\(x_1 = 8.4\), \(x_2 = 7.9\), \(x_3 = 9.1\), \(x_4 = 8.7\), \(x_5 = 8.2\), \(x_6 = 9.0\),
\(x_7 = 7.8\), \(x_8 = 8.5\), \(x_9 = 8.9\), \(x_{10} = 8.1\), \(x_{11} = 8.6\), \(x_{12} = 8.3\)

Perhitungan Rata-rata Sampel (\(\bar{x}\)):

\(\displaystyle \bar{x} = \frac{1}{n} \sum_{i=1}^{n} x_i = \frac{x_1 + x_2 + x_3 + \cdots + x_{12}}{12}\)

\(\displaystyle = \frac{8.4 + 7.9 + 9.1 + 8.7 + 8.2 + 9.0 + 7.8 + 8.5 + 8.9 + 8.1 + 8.6 + 8.3}{12}\)

\(\displaystyle = \frac{101.5}{12}\)

\(\bar{x} = 8.4583\) menit

Rata-rata waktu penyelesaian sampel

Perhitungan Simpangan Baku Sampel (\(s\)):

\(\displaystyle s = \sqrt{\frac{\sum_{i=1}^n (x_i - \bar{x})^2}{n-1}}\)

Langkah Hitung \((x_i - \bar{x})^2\) untuk setiap data:

\((8.4 - 8.4583)^2 = 0.0034\)
\((7.9 - 8.4583)^2 = 0.3117\)
\((9.1 - 8.4583)^2 = 0.4118\)
\((8.7 - 8.4583)^2 = 0.0584\)
\((8.2 - 8.4583)^2 = 0.0667\)
\((9.0 - 8.4583)^2 = 0.2934\)
\((7.8 - 8.4583)^2 = 0.4334\)
\((8.5 - 8.4583)^2 = 0.0017\)
\((8.9 - 8.4583)^2 = 0.1951\)
\((8.1 - 8.4583)^2 = 0.1284\)
\((8.6 - 8.4583)^2 = 0.0201\)
\((8.3 - 8.4583)^2 = 0.0251\)
\(Jumlah\) \(hasil = 1.8892\)

\(\displaystyle s = \sqrt{\frac{1.8892}{12-1}} = \sqrt{\frac{1.8892}{11}}\)

\(= \sqrt{0.171745}\)

\(s = 0.4144\) menit

Simpangan baku sampel
Ukuran Sampel (\(n\))

\(n\) \(= 12\)

jumlah data observasi
Derajat Kebebasan (\(df\))

\(df = 12 - 1 = 11\)

\(df = n - 1\)
Standard Error (\(SE\))

\(\displaystyle SE = \frac{0.4144}{\sqrt{12}}\)

\(SE = 0.1196\)

Menentukan Nilai t-Kritis dari Tabel t-Distribution:

Tingkat Signifikansi:

\(\displaystyle \alpha = 1 - CL\)     dan     \(\displaystyle \frac{\alpha}{2} = \frac{1 - CL}{2}\)

\(Cl\) \(: 90\%\)

\(\alpha = 0.10\)
\(\frac{\alpha}{2} = 0.05\)

\(Cl\) \(: 95\%\)

\(\alpha = 0.05\)
\(\frac{\alpha}{2} = 0.025\)

\(Cl\) \(: 99\%\)

\(\alpha = 0.01\)
\(\frac{\alpha}{2} 0.005\)

Cara Membaca Tabel \(t\)-Distribution:
  1. Cari baris sesuai derajat kebebasan (df = 11)
  2. Cari kolom sesuai \(\frac{\alpha}{2}\) (0.05, 0.025, atau 0.005)
  3. Nilai pada perpotongan baris dan kolom adalah \(t\)-kritis
\(df\) \(t_{0.10}\) \(t_{0.05}\) \(t_{0.025}\) \(t_{0.01}\) \(t_{0.005}\)
8 1.397 1.860 2.306 2.896 3.355
9 1.383 1.833 2.262 2.821 3.250
10 1.372 1.812 2.228 2.764 3.169
11 1.363 1.796 2.201 2.718 3.106
12 1.356 1.782 2.179 2.681 3.055
Nilai t-Kritis yang Digunakan:
CI : \(90\%\)
\(t_{0.05, 11} = 1.796\)
CI : \(95\%\)
\(t_{0.025, 11} = 2.201\)
Cl: \(99\%\)
\(t_{0.005, 11} = 3.106\)

Perhitungan Final Confidence Intervals:

90%

Confidence Interval \(90\%\)
\(t\) \(\frac{\alpha}{2} = 1.796\)
Langkah Perhitungan:
  1. \(ME = t \times SE = 1.796 \times 0.1196 = 0.2148\)
  2. Lower Bound: \(\bar{x} - ME = 8.4583 - 0.2148 = 8.2435 \approx 8.24\)
  3. Upper Bound: \(\bar{x} + ME = 8.4583 + 0.2148 = 8.6731 \approx 8.67\)

Hasil analisis mengestimasi dengan tingkat kepercayaan \(90\%\) bahwa rata-rata waktu penyelesaian tugas populasi berada di antara \(8.24\) hingga \(8.67\) menit. Rentang ini dihitung dari rata-rata sampel \(8.46\) menit dengan batas kesalahan (margin of error) sebesar \(\pm 0.21\) menit.

95%

Confidence Interval \(95\%\)
\(t\) \(\frac{\alpha}{2} = 2.201\)
Langkah Perhitungan:
  1. \(ME = t \times SE = 2.201 \times 0.1196 = 0.2632\)
  2. Lower Bound: \(\bar{x} - ME = 8.4583 - 0.2632 = 8.1951 \approx 8.20\)
  3. Upper Bound: \(\bar{x} + ME = 8.4583 + 0.2632 = 8.7215 \approx 8.72\)

Hasil analisis mengestimasi dengan tingkat kepercayaan \(95\%\) bahwa rata-rata waktu penyelesaian tugas populasi sesungguhnya berada di antara \(8.20\) hingga \(8.72\) menit. Rentang ini dihitung berdasarkan rata-rata sampel \(8.46\) menit dengan toleransi kesalahan (margin of error) sebesar \(\pm 0.26\) menit.

99%

Confidence Interval \(99\%\)
\(t\) \(\frac{\alpha}{2} = 3.106\)
Langkah Perhitungan:
  1. \(ME = t \times SE = 3.106 \times 0.1196 = 0.3715\)
  2. Lower Bound: \(\bar{x} - ME = 8.4583 - 0.3715 = 8.0868 \approx 8.09\)
  3. Upper Bound: \(\bar{x} + ME = 8.4583 + 0.3715 = 8.8298 \approx 8.83\)

Hasil analisis mengestimasi dengan tingkat kepercayaan \(99\%\) bahwa rata-rata waktu penyelesaian tugas populasi sesungguhnya berada di antara \(8.09\) hingga \(8.83\) menit. Rentang ini dihitung berdasarkan rata-rata sampel \(8.46\) menit dengan toleransi kesalahan (margin of error) sebesar \(\pm 0.37\) menit.

2.3 Meaning of answer 3

Soal: Visualisasikan ketiga selang pada satu plot tunggal.

library(ggplot2)

mean_val <- 8.4583
se <- 0.1196

# Data Interval (Hasil Perhitungan Manual)
df_ci <- data.frame(
  Level = c("90%", "95%", "99%"),
  Y_pos = c(1, 2, 3), 
  Lower = c(8.24, 8.20, 8.09),  
  Upper = c(8.67, 8.72, 8.83),  
  Color = c("#FF8A80", "#E53935", "#800000") 
)

poly_data <- data.frame(
  x = c(df_ci$Lower, rev(df_ci$Upper)),
  y = c(df_ci$Y_pos, rev(df_ci$Y_pos))
)

x_curve <- seq(7.9, 9.0, length.out = 300)

# Hitung densitas t
# Rumus standardisasi t: t = (x - mean) / SE
y_curve <- dt((x_curve - mean_val)/se, df = 11) 

scale_factor <- 3.5 / max(y_curve)
df_curve <- data.frame(x = x_curve, y = y_curve * scale_factor)

ggplot() +
  
  # Background Corong (Menunjukkan area interval yang melebar)
  geom_polygon(data = poly_data, aes(x = x, y = y), 
               fill = "#800000", alpha = 0.05) +
  
  # Garis Kurva t-Distribution (Putus-putus)
  geom_line(data = df_curve, aes(x = x, y = y), 
            linetype = "dashed", color = "gray40", size = 1.2, alpha = 0.6) +
  
  # Garis Tengah (Mean)
  geom_vline(xintercept = mean_val, linetype = "dotted", color = "gray50", size = 1.5) +
  annotate("text", x = mean_val, y = 0.3, label = paste0("Mean (", round(mean_val, 2), ")"), 
           color = "gray50", fontface = "italic", size = 6) +
  
  # Bar Interval (Garis Horizontal Tebal)
  geom_segment(data = df_ci, 
               aes(x = Lower, xend = Upper, y = Y_pos, yend = Y_pos, color = Color), 
               size = 18, lineend = "round") + 
  
  # Label Teks (Persen di dalam bar)
  geom_text(data = df_ci, aes(x = mean_val, y = Y_pos, label = Level), 
            color = "white", fontface = "bold", size = 8) +
  
  # Label Angka Batas Bawah & Atas
  geom_text(data = df_ci, aes(x = Lower, y = Y_pos, label = sprintf("%.2f", Lower)), 
            hjust = 1.3, fontface = "bold", color = "#800000", size = 6) +
  geom_text(data = df_ci, aes(x = Upper, y = Y_pos, label = sprintf("%.2f", Upper)), 
            hjust = -0.3, fontface = "bold", color = "#800000", size = 6) +
  
  # --- 4. STYLING ---
  scale_color_identity() +
  scale_y_continuous(limits = c(0, 3.8), expand = c(0,0)) + 
  scale_x_continuous(limits = c(7.8, 9.2)) + # Rentang X disesuaikan agar label tidak terpotong
  
  labs(
    title = "Estimasi Waktu Penyelesaian (UX Research)",
    caption = "Visualisasi t-Interval (df=11)"
  ) +
  
  theme_void() + 
  theme(
    plot.title = element_text(size = 30, face = "bold", color = "#800000", hjust = 0.5, margin = margin(t=20, b=15)),
    plot.subtitle = element_text(size = 20, color = "gray50", hjust = 0.5, margin = margin(b=40)),
    plot.caption = element_text(size = 14, color = "gray60", hjust = 0.5, margin = margin(t=30)),
    plot.background = element_rect(fill = "white", color = NA),
    plot.margin = margin(30, 30, 30, 30)
  )

Berdasarkan grafik Estimasi Waktu Penyelesaian (UX Research), terlihat jelas adanya trade-off antara tingkat keyakinan dan presisi estimasi; pada tingkat keyakinan 99% interval melebar signifikan (8.09–8.83) untuk mengakomodasi ketidakpastian yang lebih besar akibat ukuran sampel yang kecil (n=12), sedangkan pada tingkat keyakinan 90% intervalnya jauh lebih sempit (8.24–8.67), menawarkan estimasi yang lebih presisi namun dengan risiko kesalahan yang lebih tinggi. Grafik ini menegaskan bahwa untuk mendapatkan kepastian yang lebih tinggi dengan data yang terbatas, kita harus mengorbankan ketajaman estimasi waktu penyelesaian tugas pengguna.

2.4 Meaning of answer 4

Soal: Pengaruh Ukuran Sampel dan Confidence Level Terhadap Lebar Selang

Lebar selang kepercayaan dipengaruhi oleh dua faktor utama dengan hubungan sebagai berikut:

1

Tingkat Kepercayaan (Confidence Level) - Hubungan Lurus (Sejalan)

PENGARUH

Semakin tinggi → Semakin lebar

\(\uparrow CL \Rightarrow \uparrow ME \Rightarrow \uparrow Width\)

ALASAN MATEMATIS

Dalam rumus \(ME = t_{\alpha/2} \times \frac{s}{\sqrt{n}}\), nilai \(t_{\alpha/2}\) meningkat seiring meningkatnya confidence level:

\(t_{0.05} = 1.796\) (90%)
\(t_{0.025} = 2.201\) (95%)
\(t_{0.005} = 3.106\) (99%)

ALASAN KONSEPTUAL

Untuk mendapatkan kepastian yang lebih tinggi bahwa nilai rata-rata populasi benar-benar ada di dalam rentang tersebut, kita harus memperluas area jangkauan (margin of error). Dalam rumus, hal ini terlihat dari nilai t-score yang semakin besar seiring naiknya confidence level.

Contoh pada kasus: Interval 99% (8.09-8.83 menit) jauh lebih lebar daripada 90% (8.24-8.67 menit) karena kita ingin meminimalisir risiko salah tebak sekecil mungkin (hanya 1%).

2

Ukuran Sampel (\(n\)) - Hubungan Terbalik

PENGARUH

Semakin besar → Semakin sempit

\(\uparrow n \Rightarrow \downarrow SE \Rightarrow \downarrow Width\)

ALASAN MATEMATIS

Dalam rumus \(SE = \frac{s}{\sqrt{n}}\), ukuran sampel \(n\) berada di penyebut:

\(\displaystyle SE = \frac{0.4144}{\sqrt{12}} = 0.1196\)
\(\displaystyle SE = \frac{0.4144}{\sqrt{100}} = 0.0414\) (jika n=100)

ALASAN KONSEPTUAL

Semakin banyak data yang kita miliki, semakin sedikit ketidakpastian dalam estimasi kita. Seperti survei opini publik: bertanya kepada 1000 orang lebih akurat daripada bertanya kepada 100 orang.

Dalam konteks kasus, karena sampel hanya 12 (kecil), pembaginya kecil, sehingga hasil intervalnya cenderung lebar dan kurang presisi dibandingkan jika Anda mengambil data dari 100 pengguna.

3 Case Study Three

Confidence Interval untuk Proporsi, A/B Testing:

Sebuah tim data science melakukan uji A/B terhadap desain tombol Call-To-Action (CTA) yang baru. Eksperimen tersebut menghasilkan data berikut:
\[\begin{aligned} n &= 400 && (\text{Total pengguna}) \\ \bar{x} &= 156 && (\text{pengguna yang mengklik CTA}) \end{aligned}\]

Tugas

  1. Hitung proporsi sampel \(\hat{p}\).
  2. Hitung confidence intervals untuk proporsi pada tingkat:
    \(90\%\)
    \(95\%\)
    \(99\%\)
  3. Visualisasikan dan bandingkan ketiga selang tersebut.
  4. Jelaskan bagaimana confidence level mempengaruhi pengambilan keputusan dalam eksperimen produk.

3.1 Meaning of answer 1

Perhitungan Proporsi Sampel (\(\hat{p}\)) untuk A/B Testing CTA

Rumus Proporsi Sampel untuk Data Proporsi

\(\displaystyle \hat{p} = \frac{x}{n}\)

\(\hat{p}\):
Proporsi sampel (Sample Proportion)
\(x\):
Jumlah sukses (Number of successes)
\(n\):
Ukuran sampel (Sample Size)

Data dari A/B Testing CTA:

Jumlah Klik CTA

\(x = 156\)

Total Pengguna

\(n = 400\)

Perhitungan Proporsi Sampel (\(\hat{p}\)):

\(\displaystyle \hat{p} = \frac{x}{n}\) \(\displaystyle = \frac{156}{400} = 0.39\)

\(\boxed{\hat{p} = 0.39}\)

atau \(39\%\)

Proporsi pengguna yang mengklik CTA

Kesimpulan: Berdasarkan data sampel dari 400 pengguna, diperoleh estimasi proporsi klik CTA sebesar 39%. Nilai ini merupakan estimasi titik (point estimate) yang akan digunakan sebagai dasar perhitungan confidence interval untuk mengestimasi proporsi klik populasi sebenarnya.

3.2 Meaning of answer 2

Perhitungan Confidence Intervals untuk Proporsi Klik CTA

Rumus Confidence Interval Proporsi

\(\displaystyle CI = \hat{p} \pm z_{\alpha/2} \times \sqrt{\frac{\hat{p}(1-\hat{p})}{n}}\)

\(CI\):
Selang Kepercayaan (Confidence Interval)
\(\hat{p}\):
Proporsi sampel (Sample Proportion) = \(\frac{x}{n}\)
\(z_{\alpha/2}\):
Nilai kritis distribusi normal untuk tingkat signifikansi \(\alpha/2\)
\(\sqrt{\frac{\hat{p}(1-\hat{p})}{n}}\):
Standard Error dari proporsi (Standard Error of Proportion)
\(n\):
Ukuran sampel (Sample Size)
\(x\):
Jumlah sukses dalam sampel (Number of successes)

Parameter yang Diketahui:

Proporsi Sampel

\(\hat{p} = 0.39\)

Ukuran Sampel

\(n = 400\)

\(q = 1 - \hat{p}\)

\(q = 0.61\)

Hitung Standard Error:

\(\displaystyle SE = \sqrt{\frac{\hat{p}(1-\hat{p})}{n}} = \sqrt{\frac{0.39 \times 0.61}{400}}\)

\(\displaystyle = \sqrt{\frac{0.2379}{400}} = \sqrt{0.00059475}\)

\(\displaystyle = 0.02439\)

\(SE = 0.02439\)

Standard Error dari proporsi sampel

Tentukan Nilai z-Kritis:

Confidence Level 90%

\(\alpha = 0.10\)
\(\alpha/2 = 0.05\)

\(z_{0.05} = 1.645\)

Confidence Level 95%

\(\alpha = 0.05\)
\(\alpha/2 = 0.025\)

\(z_{0.025} = 1.960\)

Confidence Level 99%

\(\alpha = 0.01\)
\(\alpha/2 = 0.005\)

\(z_{0.005} = 2.576\)

90%

Confidence Interval 90%
\(z_{0.05} = 1.645\)
Langkah Perhitungan:
  1. \(ME = z \times SE = 1.645 \times 0.02439 = 0.04012\)
  2. Lower Bound: \(\hat{p} - ME = 0.39 - 0.04012 = 0.3499\)
  3. Upper Bound: \(\hat{p} + ME = 0.39 + 0.04012 = 0.4301\)

Berdasarkan analisis statistik dengan tingkat kepercayaan 90%, kita dapat merasa yakin bahwa proporsi pengguna sebenarnya yang akan mengklik tombol desain baru berada dalam rentang 34,99% hingga 43,01%. Estimasi ini dihitung dari data sampel 400 pengguna dengan tingkat klik 39%, yang berarti jika desain ini diterapkan ke seluruh pengguna, besar kemungkinan performanya akan stabil di angka tersebut.

95%

Confidence Interval 95%
\(z_{0.025} = 1.960\)
Langkah Perhitungan:
  1. \(ME = z \times SE = 1.960 \times 0.02439 = 0.04780\)
  2. Lower Bound: \(\hat{p} - ME = 0.39 - 0.04780 = 0.3422\)
  3. Upper Bound: \(\hat{p} + ME = 0.39 + 0.04780 = 0.4378\)

Berdasarkan hasil analisis, kita dapat merasa 95% yakin bahwa persentase murni (proporsi populasi) dari Klik Tayang (CTR) berada dalam rentang 34.22% hingga 43.78%.

99%

Confidence Interval 99%
\(z_{0.005} = 2.576\)
Langkah Perhitungan:
  1. \(ME = z \times SE = 2.576 \times 0.02439 = 0.06282\)
  2. Lower Bound: \(\hat{p} - ME = 0.39 - 0.06282 = 0.3272\)
  3. Upper Bound: \(\hat{p} + ME = 0.39 + 0.06282 = 0.4528\)

Dengan menggunakan tingkat kepercayaan 99%, kita dapat merasa yakin bahwa persentase murni dari Klik Tayang (CTR) berada dalam rentang 32.72% hingga 45.28%.

RINGKASAN CONFIDENCE INTERVALS
Confidence Level z-Kritis Margin of Error Batas Bawah Batas Atas Lebar Interval
90% 1.645 ±0.0401
(±4.01%)
0.3499
34.99%
0.4301
43.01%
0.0802
8.02%
95% 1.960 ±0.0478
(±4.78%)
0.3422
34.22%
0.4378
43.78%
0.0956
9.56%
99% 2.576 ±0.0628
(±6.28%)
0.3272
32.72%
0.4528
45.28%
0.1256
12.56%

3.3 Meaning of answer 3

Soal: Visualisasikan dan bandingkan ketiga selang tersebut.

library(ggplot2)
library(scales) 

prop_val <- 0.39
se_prop <- 0.02439

# Data Interval (Hasil Perhitungan Manual)
df_ci <- data.frame(
  Level = c("90%", "95%", "99%"),
  Y_pos = c(1, 2, 3), 
  Lower = c(0.3499, 0.3422, 0.3272),  
  Upper = c(0.4301, 0.4378, 0.4528),  
  Color = c("#FF8A80", "#E53935", "#800000") 
)

poly_data <- data.frame(
  x = c(df_ci$Lower, rev(df_ci$Upper)),
  y = c(df_ci$Y_pos, rev(df_ci$Y_pos))
)

x_curve <- seq(0.30, 0.48, length.out = 300)

# Hitung densitas normal
y_curve <- dnorm(x_curve, mean = prop_val, sd = se_prop) 

scale_factor <- 3.5 / max(y_curve)
df_curve <- data.frame(x = x_curve, y = y_curve * scale_factor)

ggplot() +
  
  # Background Corong (Area Interval)
  geom_polygon(data = poly_data, aes(x = x, y = y), 
               fill = "#800000", alpha = 0.05) +
  
  # Garis Kurva Normal (Putus-putus)
  geom_line(data = df_curve, aes(x = x, y = y), 
            linetype = "dashed", color = "gray40", size = 1.2, alpha = 0.6) +
  
  # Garis Tengah (Proporsi Sampel)
  geom_vline(xintercept = prop_val, linetype = "dotted", color = "gray50", size = 1.5) +
  annotate("text", x = prop_val, y = 0.3, label = paste0("Proporsi Sampel (", percent(prop_val), ")"), 
           color = "gray50", fontface = "italic", size = 6) +
  
  # Bar Interval (Garis Horizontal Tebal)
  geom_segment(data = df_ci, 
               aes(x = Lower, xend = Upper, y = Y_pos, yend = Y_pos, color = Color), 
               size = 18, lineend = "round") + 
  
  # Label Teks (Persentase Level di dalam Bar)
  geom_text(data = df_ci, aes(x = prop_val, y = Y_pos, label = Level), 
            color = "white", fontface = "bold", size = 8) +
  
  # Label Angka Batas (Format Persen)
  geom_text(data = df_ci, aes(x = Lower, y = Y_pos, label = percent(Lower, accuracy = 0.01)), 
            hjust = 1.2, fontface = "bold", color = "#800000", size = 6) +
  geom_text(data = df_ci, aes(x = Upper, y = Y_pos, label = percent(Upper, accuracy = 0.01)), 
            hjust = -0.2, fontface = "bold", color = "#800000", size = 6) +
  
  scale_color_identity() +
  scale_y_continuous(limits = c(0, 3.8), expand = c(0,0)) + 
  # Mengubah sumbu X menjadi format Persen
  scale_x_continuous(limits = c(0.30, 0.48), labels = percent) + 
  
  labs(
    title = "A/B Testing Result: Proporsi Klik CTA",
    subtitle = "Visualisasi Interval Kepercayaan Proporsi (n=400)",
    caption = "Normal Approximation"
  ) +
  
  theme_void() + 
  theme(
    plot.title = element_text(size = 30, face = "bold", color = "#800000", hjust = 0.5, margin = margin(t=20, b=15)),
    plot.subtitle = element_text(size = 20, color = "gray50", hjust = 0.5, margin = margin(b=40)),
    plot.caption = element_text(size = 14, color = "gray60", hjust = 0.5, margin = margin(t=30)),
    plot.background = element_rect(fill = "white", color = NA),
    plot.margin = margin(30, 30, 30, 30)
  )

Perbandingan ketiga selang kepercayaan pada data proporsi klik CTA menunjukkan trade-off yang jelas antara presisi estimasi dan tingkat risiko. Pada tingkat kepercayaan terendah 90%, dihasilkan interval yang paling sempit dan fokus (34,99% – 43,01%), namun memiliki risiko kesalahan terbesar (10%) sehingga lebih cocok untuk inovasi cepat. Sebaliknya, pada tingkat kepercayaan tertinggi 99%, interval melebar secara signifikan (32,72% – 45,28%) untuk mengakomodasi ketidakpastian dan menjamin akurasi cakupan populasi dengan risiko kesalahan minim (1%), namun membuat estimasi menjadi kurang spesifik. Interval 95% (34,22% – 43,78%) bertindak sebagai penengah yang menyeimbangkan antara ketajaman estimasi dan keamanan pengambilan keputusan.

3.4 Meaning of answer 4

Soal: Jelaskan bagaimana confidence level mempengaruhi pengambilan keputusan dalam eksperimen produk.

Dalam eksperimen produk seperti A/B Testing, confidence level berfungsi sebagai “pengatur risiko”. Pemilihan tingkat kepercayaan ini secara langsung menentukan keseimbangan antara ambisi inovasi dan keamanan keputusan bisnis perusahaan.

Trade-off antara Kepastian vs. Agilitas Produk

Confidence Level Tinggi (99%): Menghasilkan rentang interval yang sangat lebar (32.72% - 45.28%). Pendekatan ini sangat konservatif guna meminimalkan risiko False Positive (salah menyimpulkan fitur sukses padahal tidak). Dampaknya, manajemen akan sulit menyatakan sebuah desain baru sebagai “pemenang” kecuali terdapat perbedaan performa yang sangat drastis atau didukung oleh jumlah sampel data yang sangat besar.

Confidence Level Rendah (90%): Menghasilkan interval yang lebih sempit dan tajam (34.99% - 43.01%). Hal ini memungkinkan tim produk bersikap lebih agresif karena kemenangan fitur lebih mudah dideteksi melalui batas bawah yang lebih tinggi. Keuntungannya, keputusan dapat diambil lebih cepat dengan sampel data yang lebih sedikit, meskipun risiko kesalahan prediksi meningkat menjadi 10%.

KESIMPULAN

Semakin tinggi confidence level, semakin ketat standar pembuktian statistik yang dibutuhkan untuk meloloskan sebuah fitur baru. Pilihan confidence level pada dasarnya adalah sebuah strategi bisnis: tingkat kepercayaan tinggi dipilih saat biaya kegagalan (risiko) sangat besar, sedangkan tingkat kepercayaan rendah dipilih saat kecepatan rilis fitur adalah prioritas utama untuk memenangkan persaingan pasar.

4 Case Study Four

Perbandingan Presisi (Z-Test vs t-Test):

Dua tim data mengukur latensi API (dalam milidetik) di bawah kondisi yang berbeda.

Team A: \[\begin{aligned} n &= 36 && (\text{ukuran sampel}) \\ \bar{x} &= 210 && (\text{rata-rata sampel}) \\ \sigma &= 24 && (\text{simpangan baku populasi diketahui}) \end{aligned}\]
Team B: \[\begin{aligned} n &= 36 && (\text{ukuran sampel}) \\ \bar{x} &= 210 && (\text{rata-rata sampel}) \\ s&= 24 && (\text{simpangan baku sampel}) \end{aligned}\]

Tugas

  1. Identifikasi uji statistik yang digunakan oleh masing-masing tim.
  2. Hitung confidence intervals untuk:
    \(90\%\)
    \(95\%\)
    \(99\%\)
  3. Buat visualisasi yang membandingkan semua selang interval.
  4. Jelaskan mengapa lebar interval berbeda, meskipun datanya terlihat serupa.

4.1 Meaning of answer 1

Soal: Identifikasi Uji Statistik yang Tepat dan Berikan Alasannya

Uji Statistik Team A: Z-Distribusi

\(\displaystyle CI = \bar{x} \pm Z_{\alpha/2} \times \frac{\sigma}{\sqrt{n}}\)

Alasan Pemilihan Z-Test untuk Team A

1

Standar Deviasi Populasi Diketahui (\(\sigma = 24\))

Untuk Team A, uji statistik yang tepat digunakan adalah Z-Test. Alasannya berpusat pada fakta bahwa simpangan baku populasi (\(\sigma\)) sudah diketahui secara pasti, yaitu sebesar 24. Dalam statistik, ketika kita memiliki akses ke parameter populasi yang sebenarnya (\(\sigma\)), Z-Test adalah metode yang paling akurat dan valid untuk digunakan, terlepas dari apakah ukuran sampelnya besar atau kecil, karena tidak ada estimasi variasi yang perlu dilakukan.

Uji Statistik Team B: t-Distribusi

\(\displaystyle CI = \bar{x} \pm t_{\alpha/2, df} \times \frac{s}{\sqrt{n}}\)

Alasan Pemilihan t-Test untuk Team B

1

Standar Deviasi Populasi Tidak Diketahui

Untuk Team B, uji statistik yang wajib digunakan adalah t-Test. Alasannya adalah karena simpangan baku populasi tidak diketahui, sehingga tim hanya memiliki nilai simpangan baku dari sampel (\(s\)) sebesar 24. Karena nilai ini hanyalah sebuah taksiran atau estimasi dari data sampel (bukan data populasi murni), terdapat ketidakpastian tambahan. Distribusi t (t-Test) dirancang khusus untuk menangani ketidakpastian ini ketika kita dipaksa menggunakan \(s\) sebagai pengganti \(\sigma\).

4.2 Meaning of answer 2

TIM A - UJI Z-Distribusi

\(\displaystyle CI = \bar{x} \pm z_{\alpha/2} \times \frac{\sigma}{\sqrt{n}}\)

\(\bar{x}=210\):
Rata-rata sampel
\(\sigma=24\):
Simpangan baku populasi (diketahui)
\(n=36\):
Jumlah sampel

Perhitungan Standard Error (SE):

\(\displaystyle SE = \frac{\sigma}{\sqrt{n}} = \frac{24}{6} = 4\)

Nilai Kritis Distribusi Normal (\(Z\)):

CL = 90%
\(\alpha = 0.10\), \(\frac{\alpha}{2} = 0.05\)
\(z_{0.05} = 1.645\)
CL = 95%
\(\alpha = 0.05\), \(\frac{\alpha}{2} = 0.025\)
\(z_{0.025} = 1.960\)
CL = 99%
\(\alpha = 0.01\), \(\frac{\alpha}{2} = 0.005\)
\(z_{0.005} = 2.576\)
90%
Confidence Interval 90%
\(z_{0.05} = 1.645\), \(SE = 4\) ms
Langkah Perhitungan:
  1. \(ME = z \times SE = 1.645 \times 4 = 6.58\) ms
  2. Lower Bound: \(210 - 6.58 = 203.42\) ms
  3. Upper Bound: \(210 + 6.58 = 216.58\) ms

Kita 90% yakin bahwa rata-rata latensi API sebenarnya berada antara 203.42 dan 216.58 ms. Interval ini relatif sempit karena σ diketahui.

95%
Confidence Interval 95%
\(z_{0.025} = 1.960\), \(SE = 4\) ms
Langkah Perhitungan:
  1. \(ME = z \times SE = 1.960 \times 4 = 7.84\) ms
  2. Lower Bound: \(210 - 7.84 = 202.16\) ms
  3. Upper Bound: \(210 + 7.84 = 217.84\) ms

Kita 95% yakin bahwa rata-rata latensi API sebenarnya berada antara 202.16 dan 217.84 ms. Ini tingkat kepercayaan standar dalam statistik.

99%
Confidence Interval 99%
\(z_{0.005} = 2.576\), \(SE = 4\) ms
Langkah Perhitungan:
  1. \(ME = z \times SE = 2.576 \times 4 = 10.304\) ms
  2. Lower Bound: \(210 - 10.304 = 199.696\) ms ≈ 199.70 ms
  3. Upper Bound: \(210 + 10.304 = 220.304\) ms ≈ 220.30 ms

Kita 99% yakin bahwa rata-rata latensi API sebenarnya berada antara 199.70 dan 220.30 ms. Interval lebih lebar untuk tingkat keyakinan lebih tinggi.

TIM B - UJI t-Distribusi

\(\displaystyle CI = \bar{x} \pm t_{\alpha/2, df} \times \frac{s}{\sqrt{n}}\)

\(\bar{x}=210\):
Rata-rata sampel
\(s=24\):
Simpangan baku sampel (estimasi)
\(n=36\):
Jumlah sampel

Perhitungan Derajat Kebebasan (df):

\(\displaystyle df = n - 1 = 36 - 1 = 35\)

Derajat kebebasan menunjukkan jumlah observasi independen dalam estimasi parameter.

Perhitungan Standard Error (SE):

\(\displaystyle SE = \frac{s}{\sqrt{n}} = \frac{24}{\sqrt{36}}\displaystyle = \frac{24}{6}\displaystyle = 4\)

\(SE\) sama dengan Tim A karena nilai \(s = σ = 24\)

Cara Membaca Tabel \(t\)-Distribution:
  1. Cari baris sesuai derajat kebebasan (df = 35)
  2. Cari kolom sesuai \(\frac{\alpha}{2}\) (0.05, 0.025, atau 0.005)
  3. Nilai pada perpotongan baris dan kolom adalah \(t\)-kritis
\(df\) \(t_{0.10}\) \(t_{0.05}\) \(t_{0.025}\) \(t_{0.01}\) \(t_{0.005}\)
20 1.325 1.725 2.086 2.528 2.845
30 1.310 1.697 2.042 2.457 2.750
35 1.306 1.690 2.030 2.438 2.724
40 1.303 1.684 2.021 2.423 2.704
50 1.299 1.676 2.009 2.403 2.678

Nilai Kritis Distribusi t-Student (df = 35):

CL = 90%
\(\alpha=0.10\)
\(\alpha/2=0.05\)
\(t=1.690\)
CL = 95%
\(\alpha=0.05\)
\(\alpha/2=0.025\)
\(t=2.030\)
CL = 99%
\(\alpha=0.01\)
\(\alpha/2=0.005\)
\(t=2.724\)
90%
Confidence Interval 90%
\(t_{0.05,35} = 1.690\), \(SE = 4\) ms
Langkah Perhitungan:
  1. \(ME = t \times SE = 1.690 \times 4 = 6.76\) ms
  2. Lower Bound: \(210 - 6.76 = 203.24\) ms
  3. Upper Bound: \(210 + 6.76 = 216.76\) ms

Kita 90% yakin bahwa rata-rata latensi API sebenarnya berada antara 203.24 dan 216.76 ms. Interval lebih lebar dari Z-test karena ketidakpastian estimasi simpangan baku.

95%
Confidence Interval 95%
\(t_{0.025,35} = 2.030\), \(SE = 4\) ms
Langkah Perhitungan:
  1. \(ME = t \times SE = 2.030 \times 4 = 8.12\) ms
  2. Lower Bound: \(210 - 8.12 = 201.88\) ms
  3. Upper Bound: \(210 + 8.12 = 218.12\) ms

Kita 95% yakin bahwa rata-rata latensi API sebenarnya berada antara 201.88 dan 218.12 ms. Nilai t = 2.030 > z = 1.960 membuat interval lebih lebar.

99%
Confidence Interval 99%
\(t_{0.005,35} = 2.724\), \(SE = 4\) ms
Langkah Perhitungan:
  1. \(ME = t \times SE = 2.724 \times 4 = 10.896\) ms
  2. Lower Bound: \(210 - 10.896 = 199.104\) ms ≈ 199.10 ms
  3. Upper Bound: \(210 + 10.896 = 220.896\) ms ≈ 220.90 ms

Kita 99% yakin bahwa rata-rata latensi API sebenarnya berada antara 199.10 dan 220.90 ms. Perbedaan terbesar dengan Z-test karena nilai t jauh lebih besar dari z.

4.3 Meaning of answer 3

Soal: Buat visualisasi yang membandingkan semua selang interval

library(ggplot2)

comparison_data <- data.frame(
  Team = rep(c("Team A (Z-Test)", "Team B (t-Test)"), each = 3),
  Level = rep(c("90%", "95%", "99%"), 2),
  Mean = 210,
  # Batas Bawah (Lower Bound)
  Lower = c(203.42, 202.16, 199.70,   # Team A
            203.24, 201.88, 199.10),  # Team B
  # Batas Atas (Upper Bound)
  Upper = c(216.58, 217.84, 220.30,   # Team A
            216.76, 218.12, 220.90)   # Team B
)

comparison_data$Level <- factor(comparison_data$Level, levels = c("99%", "95%", "90%"))

ggplot(comparison_data, aes(x = Mean, y = Level, color = Team, group = Team)) +
  
  # Garis Interval (Error Bar Horizontal)
  geom_errorbarh(aes(xmin = Lower, xmax = Upper), 
                 height = 0.4, size = 2, position = position_dodge(width = 0.6)) +
  
  # Titik Tengah (Mean)
  geom_point(size = 4, position = position_dodge(width = 0.6), color = "white") +
  geom_point(size = 2, position = position_dodge(width = 0.6)) + # Titik warna di tengah putih
  
  # Label Angka Batas (Lower & Upper)
  geom_text(aes(x = Lower, label = sprintf("%.2f", Lower)), 
            position = position_dodge(width = 0.6), 
            hjust = 1.3, size = 4, fontface = "bold") +
  geom_text(aes(x = Upper, label = sprintf("%.2f", Upper)), 
            position = position_dodge(width = 0.6), 
            hjust = -0.3, size = 4, fontface = "bold") +
  
  # Garis Referensi Tengah (Mean 210)
  geom_vline(xintercept = 210, linetype = "dashed", color = "gray50", size = 1, alpha = 0.5) +
  annotate("text", x = 210, y = 0.4, label = "Mean (210 ms)", color = "gray50", fontface = "italic") +
  
  scale_color_manual(values = c("Team A (Z-Test)" = "#B71C1C", "Team B (t-Test)" = "#0D47A1")) +
  
  scale_x_continuous(limits = c(197, 223)) +
  
  labs(
    title = "Perbandingan Presisi: Z-Test (Team A) vs t-Test (Team B)",
    x = "Latensi API (ms)",
    y = "Tingkat Keyakinan (Confidence Level)",
    color = "Metode Statistik",
    caption = "Precision Comparison"
  ) +
  
  theme_minimal() +
  theme(
    plot.title = element_text(size = 22, face = "bold", color = "#333", hjust = 0.5),
    plot.subtitle = element_text(size = 14, color = "gray40", hjust = 0.5, margin = margin(b=20)),
    legend.position = "top",
    legend.title = element_text(face = "bold", size = 12),
    legend.text = element_text(size = 11),
    legend.background = element_rect(fill = "#f9f9f9", color = NA),
    axis.text.y = element_text(face = "bold", size = 12, color = "#333"),
    axis.title = element_text(face = "bold", size = 12),
    panel.grid.major.y = element_blank(), # Hilangkan grid horizontal agar bar terlihat jelas
    panel.grid.minor = element_blank(),
    plot.background = element_rect(fill = "white", color = NA),
    plot.margin = margin(20, 20, 20, 20)
  )

Grafik ini membandingkan presisi estimasi latensi API di mana Team B (t-Test, garis biru) secara konsisten memiliki rentang yang lebih lebar dibandingkan Team A (Z-Test, garis merah). Hal ini terjadi karena Team A memiliki “informasi orang dalam” berupa standar deviasi populasi yang sudah pasti (\(\sigma\)), sementara Team B hanya mengandalkan data sampel terbatas (\(s\)).

Akibat keterbatasan informasi tersebut, Team B harus lebih waspada dengan “melebarkan jaring” rentang angkanya agar hasil prediksi tidak meleset, terutama pada tingkat kepercayaan 99% (199,10–220,90 ms). Hal ini menegaskan bahwa metode t-Test selalu bertindak lebih hati-hati atau konservatif dibandingkan Z-Test guna menjamin keakuratan hasil akhir di tengah ketidakpastian data.

4.4 Meaning of answer 4

Soal: Analisis Perbedaan Lebar Confidence Interval: Z-Test vs t-Test

Meskipun kedua tim menganalisis data yang secara visual tampak serupa, terdapat perbedaan signifikan dalam lebar confidence interval yang dihasilkan. Perbedaan ini muncul dari pendekatan metodologis yang berbeda dalam menangani ketidakpastian statistika.

Team A: Metode Z-Test

Asumsi Dasar:

• Standar deviasi populasi (σ) diketahui dengan pasti
• Tidak ada ketidakpastian dalam estimasi variabilitas
• Menggunakan distribusi normal standar

Karakteristik Interval:

Interval yang dihasilkan lebih sempit karena kurva distribusi normal lebih “ramping” dengan ekor yang tipis. Nilai Z-kritis (1.96 untuk 95% CI) relatif kecil, menghasilkan margin of error yang minimal.

Team B: Metode t-Test

Asumsi Dasar:

• Standar deviasi populasi (σ) tidak diketahui
• Menggunakan estimasi sampel (s)
• Menggunakan distribusi-t dengan derajat kebebasan tertentu

Karakteristik Interval:

Interval yang dihasilkan lebih lebar karena distribusi-t memiliki ekor yang lebih tebal (heavier tails). Nilai t-kritis (2.030 untuk 95% CI, df=35) lebih besar dari Z-kritis (1.960), mengakibatkan margin of error yang lebih besar sebagai kompensasi ketidakpastian.

KESIMPULAN

Mengapa Hasilnya Berbeda? Perbedaan ini bukan karena datanya salah, tapi karena masalah “jaminan keamanan”. Bayangkan Team A punya informasi orang dalam (data populasi asli), jadi mereka bisa memberikan tebakan yang sangat sempit dan percaya diri. Sementara itu, Team B hanya menebak berdasarkan data sampel yang ada di tangan mereka saja. Karena Team B sadar tebakan mereka punya risiko meleset lebih besar, mereka harus “melebarkan jaring” rentang angkanya agar lebih aman. Dalam statistik, ini disebut cara main yang lebih hati-hati.

Sederhananya, rentang angka Team B yang lebih lebar adalah “biaya ketidakpastian”. Ibarat membayar premi asuransi; karena kita tidak tahu data populasi yang sebenarnya, kita harus rela punya rentang jawaban yang lebih luas supaya hasil akhirnya tetap akurat dan tidak salah tebak. Jadi, Team B bertindak lebih waspada agar prediksinya tetap bisa dipertanggung jawabkan.

5 Case Study Five

Selang Kepercayaan Satu Sisi (One-Sided Confidence Interval):

Sebuah perusahaan Software as a Service (SaaS) ingin memastikan bahwa setidaknya 70% dari pengguna aktif mingguan menggunakan fitur premium.

Dari hasil eksperimen diperoleh data: \[\begin{aligned} n &= 250 && (\text{total pengguna}) \\ x &= 185 && (\text{pengguna premium aktif}) \end{aligned}\]

Manajemen hanya tertarik pada batas bawah (lower bound) dari estimasi tersebut.

Tugas

  1. Identifikasi jenis confidence interval dan uji statistik yang tepat.
  2. Hitung Selang Kepercayaan batas bawah satu sisi pada:
    \(90\%\)
    \(95\%\)
    \(99\%\)
  3. Visualisasikan batas bawah untuk semua confidence levels.
  4. Tentukan apakah target \(70\%\) terpenuhi secara statistik.

5.1 Meaning of answer 1

Soal: Identifikasi jenis confidence interval dan uji statistik yang tepat.

Jenis Confidence Interval: One-Sided (Lower Bound)

\(\displaystyle CI_{\text{lower}} = \hat{p} - z_{\alpha} \times \sqrt{\frac{\hat{p}(1-\hat{p})}{n}}\)

Alasan One-Sided CI

1

Perusahaan hanya peduli dengan batas bawah karena ingin memastikan setidaknya 70% pengguna menggunakan fitur premium. One-sided CI fokus pada satu arah saja, memberikan estimasi minimum yang dijamin dengan tingkat kepercayaan tertentu.

Uji Statistik: Z-Test untuk Proporsi

\(\displaystyle \hat{p} = \frac{x}{n}\)

Alasan Z-Test untuk Proporsi

1

Data berupa proporsi dari sampel besar (\(n=250\)). Dengan ukuran sampel ini, distribusi sampling proporsi mendekati normal (CLT), sehingga Z-test tepat digunakan untuk mengestimasi proporsi populasi.

5.2 Meaning of answer 2

Perhitungan One-Sided Confidence Interval (Lower Bound)

Rumus One-Sided CI Lower Bound (Proporsi)

\(\displaystyle CI_{\text{lower}} = \hat{p} - z_{\alpha} \times \sqrt{\frac{\hat{p}(1-\hat{p})}{n}}\)

\(CI_{\text{lower}}\):
Batas Bawah Selang Kepercayaan Satu Sisi
\(\hat{p}\):
Proporsi sampel (Sample Proportion)
\(z_{\alpha}\):
Nilai kritis distribusi normal standar (one-sided)
\(n\):
Jumlah sampel (Sample Size)

Data Parameter dari Soal:

Pengguna Premium

\(x = 185\)

Total Pengguna

\(n = 250\)

Proporsi Sampel

\(\hat{p} =\frac{x}{n} = \frac{185}{250} = 0.74\)

Perhitungan Standard Error (\(SE\)) untuk Proporsi:

\(\displaystyle SE = \sqrt{\frac{\hat{p}(1-\hat{p})}{n}} = \sqrt{\frac{0.74 \times 0.26}{250}}\)

\(\displaystyle = \sqrt{\frac{0.1924}{250}}\)

\(\displaystyle = \sqrt{0.0007696}\)

\(\displaystyle = 0.02774\)

\(SE = 0.02774\)

Standard Error dari proporsi sampel

Nilai \(Z\)-Kritis One-Sided:

CL = 90%

\(\alpha = 0.10\)
(one-sided)

\(z_{0.10} = 1.282\)

CL = 95%

\(\alpha = 0.05\)
(one-sided)

\(z_{0.05} = 1.645\)

CL = 99%

\(\alpha = 0.01\)
(one-sided)

\(z_{0.01} = 2.326\)

Perhitungan One-Sided Lower Bound Confidence Intervals:

90%

Lower Bound 90% One-Sided CI
\(z_{0.10} = 1.282\), \(SE = 0.02774\)
Langkah Perhitungan:
  1. Margin of Error: \(ME = z \times SE = 1.282 \times 0.02774 = 0.03556\)
  2. Lower Bound: \(\hat{p} - ME = 0.74 - 0.03556 = 0.70444\)

\(p \geq 0.7044\) atau \(p \geq 70.44\%\)

Kita 90% yakin bahwa proporsi pengguna fitur premium yang sebenarnya adalah setidaknya 70.44%. Nilai ini di atas target minimum 70%, memberikan keyakinan yang baik bagi perusahaan.

95%

Lower Bound 95% One-Sided CI
\(z_{0.05} = 1.645\), \(SE = 0.02774\)
Langkah Perhitungan:
  1. Margin of Error: \(ME = z \times SE = 1.645 \times 0.02774 = 0.04563\)
  2. Lower Bound: \(\hat{p} - ME = 0.74 - 0.04563 = 0.69437\)

\(p \geq 0.6944\) atau \(p \geq 69.44\%\)

Kita 95% yakin bahwa proporsi pengguna fitur premium yang sebenarnya adalah setidaknya 69.44%. Nilai ini sedikit di bawah target 70%, namun masih dalam rentang yang dapat diterima dengan keyakinan tinggi.

99%

Lower Bound 99% One-Sided CI
\(z_{0.01} = 2.326\), \(SE = 0.02774\)
Langkah Perhitungan:
  1. Margin of Error: \(ME = z \times SE = 2.326 \times 0.02774 = 0.06453\)
  2. Lower Bound: \(\hat{p} - ME = 0.74 - 0.06453 = 0.67547\)

\(p \geq 0.6755\) atau \(p \geq 67.55\%\)

Kita 99% yakin bahwa proporsi pengguna fitur premium yang sebenarnya adalah setidaknya 67.55%. Dengan keyakinan yang sangat tinggi, kita dapat mengatakan bahwa minimal 2/3 pengguna menggunakan fitur premium, meskipun di bawah target 70%.

5.3 Meaning of answer 3

Soal: Visualisasikan batas bawah untuk semua confidence levels.

library(ggplot2)

target <- 0.70 # Target 70%

df_visual <- data.frame(
  Level = factor(c("90%", "95%", "99%"), levels = c("90%", "95%", "99%")),
  Lower_Bound = c(0.7044, 0.6944, 0.6755),
 
  Margin_Error = c(0.02, 0.025, 0.035)  # Contoh estimasi
)

df_visual$Upper_Bound <- df_visual$Lower_Bound + df_visual$Margin_Error
df_visual$Status <- ifelse(df_visual$Lower_Bound >= target, 
                          "Aman (≥70%)", 
                          "Berisiko (<70%)")
df_visual$Label_Persen <- paste0(round(df_visual$Lower_Bound * 100, 2), "%")
df_visual$Deviation <- round((df_visual$Lower_Bound - target) * 100, 2)
df_visual$Error_Label <- paste0(ifelse(df_visual$Deviation >= 0, "+", ""), 
                               df_visual$Deviation, "%")

ggplot(df_visual, aes(x = Level, y = Lower_Bound)) +
  
  geom_rect(aes(xmin = -Inf, xmax = Inf, ymin = target, ymax = Inf),
            fill = "#E8F5E9", alpha = 0.2) +
  geom_rect(aes(xmin = -Inf, xmax = Inf, ymin = 0.64, ymax = target),
            fill = "#FFEBEE", alpha = 0.2) +
  
  geom_hline(yintercept = target, linetype = "dashed", 
             color = "red", linewidth = 1.5, alpha = 0.8) +
  
  geom_errorbar(aes(ymin = Lower_Bound, ymax = Upper_Bound),
                width = 0.2, color = "#1565C0", linewidth = 1.2, alpha = 0.6) +
  
  geom_segment(aes(x = Level, xend = Level, 
                   y = 0.64, yend = Lower_Bound), 
               color = "gray60", linewidth = 1.5) +
  
  geom_point(aes(color = Status, fill = Status), 
             size = 12, shape = 21, stroke = 1.5) +
  
  geom_text(aes(label = paste0(Label_Persen, "\n", Error_Label)), 
            vjust = -1.3, fontface = "bold", color = "black", size = 4.5,
            lineheight = 0.9) +
  
  annotate("text", x = 0.7, y = target + 0.002, 
           label = "Target: 70%", color = "red", fontface = "bold", 
           hjust = 0, size = 5) +
  
  annotate("text", x = 3.3, y = 0.73, 
           label = "━ = Margin of Error", 
           color = "#1565C0", hjust = 1, size = 4, fontface = "bold") +
  
  scale_y_continuous(
    limits = c(0.64, 0.74),
    breaks = seq(0.64, 0.74, 0.02),
    labels = scales::percent_format(accuracy = 1)
  ) +
  
  scale_color_manual(
    values = c("Aman (≥70%)" = "#2E7D32", 
               "Berisiko (<70%)" = "#C62828"),
    name = "Status"
  ) +
  
  scale_fill_manual(
    values = c("Aman (≥70%)" = "#A5D6A7", 
               "Berisiko (<70%)" = "#EF9A9A"),
    name = "Status"
  ) +
  
  labs(
    title = "ANALISIS BATAS BAWAH vs TARGET 70%",
    x = "Tingkat Keyakinan (Confidence Level)",
    y = "Batas Bawah Proporsi",
  ) +
  
  theme_minimal(base_size = 14) +
  theme(
    plot.title = element_text(size = 22, face = "bold", hjust = 0.5),
    plot.subtitle = element_text(size = 16, hjust = 0.5, margin = margin(b = 15)),
    legend.position = "top",
    legend.title = element_text(face = "bold"),
    axis.title = element_text(face = "bold"),
    axis.text = element_text(size = 13, face = "bold"),
    panel.grid.minor = element_blank(),
    panel.grid.major.x = element_blank(),
    plot.caption = element_text(face = "italic", size = 11, hjust = 0)
  )

Berdasarkan hasil analisis, meskipun proporsi sampel sebesar 74% berada di atas target 70%, pencapaian ini tidak konsisten secara statistik pada tingkat kepercayaan yang tinggi. Pada tingkat kepercayaan 90%, target masih terpenuhi dengan batas bawah 70.44%. Namun, saat tingkat kepercayaan ditingkatkan menjadi 95% dan 99%, batas bawah masing-masing turun menjadi 69.44% dan 67.55%, yang berarti masuk ke zona risiko di bawah target. Kesimpulannya, manajemen hanya bisa menyatakan target tercapai dengan tingkat keyakinan rendah (90%), karena semakin tinggi kepastian yang diminta, semakin besar peluang proporsi sebenarnya jatuh di bawah ambang batas 70%.

5.4 Meaning of answer 4

Soal: Tentukan apakah target 70% terpenuhi secara statistik.

Berdasarkan hasil analisis statistik dan visualisasi, target manajemen sebesar 70% belum sepenuhnya terpenuhi secara kokoh dari sudut pandang statistik. Meskipun proporsi sampel aktual adalah 74%, keputusan akhirnya bergantung pada tingkat toleransi risiko (tingkat kepercayaan) yang dipilih.

Status Pencapaian Target Berdasarkan Confidence Level

Confidence Level Batas Bawah CI Target 70% Status Interpretasi
90% CI 70.44% 70% TERPENUHI Target terpenuhi karena batas bawah terendah masih berada di atas ambang batas 70%.
95% CI 69.44% 70% TIDAK TERPENUHI Target tidak terpenuhi secara statistik karena batas bawah turun menjadi 69.44%.
99% CI 67.55% 70% TIDAK TERPENUHI Target jelas tidak terpenuhi karena batas bawah berada di bawah 70%, menunjukkan probabilitas bahwa proporsi populasi sebenarnya di bawah target.

Kesimpulan dan Rekomendasi

Kesimpulan Akhir: Jika perusahaan ingin memiliki tingkat kepastian yang tinggi (95% atau 99%), maka data saat ini belum cukup kuat untuk menjamin bahwa target 70% telah tercapai secara konsisten di tingkat populasi.

Rekomendasi untuk Manajemen:

  1. Tambah Ukuran Sampel: Mengumpulkan data dari lebih banyak pengguna untuk mengurangi standard error dan memperketat confidence interval.
  2. Tingkatkan Kualitas Layanan: Implementasikan program peningkatan layanan untuk meningkatkan proporsi pengguna premium secara lebih signifikan.
  3. Monitoring Berkelanjutan: Lakukan tracking berkelanjutan terhadap metrik ini sebelum mengambil keputusan strategis besar.
  4. Pertimbangkan Risk Appetite: Tentukan apakah perusahaan lebih memilih pendekatan konservatif (99% CI) atau lebih agresif (90% CI) dalam mengevaluasi pencapaian target.

Data menunjukkan tren positif (74% sampel), namun dibutuhkan penguatan lebih lanjut untuk memastikan keberlanjutan pencapaian target di tingkat populasi.

References

  1. Shafer, D. S., & Zhang, J. (2012). Introductory Statistics. Saylor Academy.
    [Akses Materi Online]
  2. Diez, D. M., Barr, C. D., & Çetinkaya-Rundel, M. (2019). OpenIntro Statistics (4th ed.). OpenIntro Project.
    [Download PDF Gratis]
  3. Lane, D. M. (2020). Online Statistics Education: A Interactive Course of Study. Rice University.
    [Akses Multimedia Rice Univ]