Kasus - Kasus

KASUS 01

# Data Konsumsi Energi Mesin - PT. Baja Perkasa
# Pelumas Lama vs Pelumas Baru (kWh/ton)

pelumas_lama <- c(50, 55, 48, 60, 52, 58, 45, 53, 56, 59)
pelumas_baru <- c(48, 50, 47, 55, 53, 54, 40, 52, 56, 56)

# Menghitung selisih (penurunan konsumsi energi)
selisih <- pelumas_lama - pelumas_baru

# Parameter uji hipotesis
alpha <- 0.05  # Tingkat signifikansi 5%
mu_0 <- 0      # Hipotesis: tidak ada perbedaan konsumsi energi
n <- length(selisih)

# Statistik deskriptif
mean_selisih <- mean(selisih)
sd_selisih <- sd(selisih)
se_selisih <- sd_selisih / sqrt(n)

# Menghitung t-statistik
t_hitung <- (mean_selisih - mu_0) / se_selisih

# Menghitung derajat kebebasan
df <- n - 1

# Menghitung t-kritis untuk uji dua arah
t_kritis <- qt(1 - alpha/2, df)
t_kritis_bawah <- -t_kritis
t_kritis_atas <- t_kritis

# Menghitung p-value untuk uji dua arah
p_value <- 2 * pt(-abs(t_hitung), df)

# --- Menampilkan Hasil Uji & Interpretasi Lengkap ---
cat("--- Hasil Uji & Interpretasi Lengkap ---\n\n")
## --- Hasil Uji & Interpretasi Lengkap ---
cat("Data 'Pelumas Lama':", paste(pelumas_lama, collapse = ", "), "\n")
## Data 'Pelumas Lama': 50, 55, 48, 60, 52, 58, 45, 53, 56, 59
cat("Data 'Pelumas Baru':", paste(pelumas_baru, collapse = ", "), "\n")
## Data 'Pelumas Baru': 48, 50, 47, 55, 53, 54, 40, 52, 56, 56
cat("Data 'Selisih (Penurunan)':", paste(selisih, collapse = ", "), "\n")
## Data 'Selisih (Penurunan)': 2, 5, 1, 5, -1, 4, 5, 1, 0, 3
cat("--------------------------------------------\n")
## --------------------------------------------
cat("Hipotesis Nol (H0): Rata-rata selisih konsumsi energi = 0 kWh/ton\n")
## Hipotesis Nol (H0): Rata-rata selisih konsumsi energi = 0 kWh/ton
cat("Hipotesis Alternatif (H1): Rata-rata selisih konsumsi energi ≠ 0 kWh/ton\n")
## Hipotesis Alternatif (H1): Rata-rata selisih konsumsi energi ≠ 0 kWh/ton
cat("--------------------------------------------\n")
## --------------------------------------------
cat(sprintf("Tingkat Signifikansi (α): %.2f\n", alpha))
## Tingkat Signifikansi (α): 0.05
cat(sprintf("Rata-rata Selisih: %.4f kWh/ton\n", mean_selisih))
## Rata-rata Selisih: 2.5000 kWh/ton
cat(sprintf("Standar Deviasi Selisih: %.4f\n", sd_selisih))
## Standar Deviasi Selisih: 2.2236
cat(sprintf("Standard Error: %.4f\n", se_selisih))
## Standard Error: 0.7032
cat(sprintf("T-Hitung (t-statistic): %.4f\n", t_hitung))
## T-Hitung (t-statistic): 3.5553
cat(sprintf("Derajat Kebebasan (df): %d\n", df))
## Derajat Kebebasan (df): 9
cat(sprintf("T-Kritis (Batas Bawah & Atas): %.4f & %.4f\n", t_kritis_bawah, t_kritis_atas))
## T-Kritis (Batas Bawah & Atas): -2.2622 & 2.2622
cat(sprintf("P-value: %.4f\n", p_value))
## P-value: 0.0062
cat("--------------------------------------------\n\n")
## --------------------------------------------
# --- Keputusan berdasarkan P-Value ---
cat("Keputusan berdasarkan P-Value:\n")
## Keputusan berdasarkan P-Value:
if (p_value <= alpha) {
  cat(sprintf("  Karena P-value (%.4f) <= alpha (%.2f), maka Hipotesis Nol DITOLAK.\n", p_value, alpha))
} else {
  cat(sprintf("  Karena P-value (%.4f) > alpha (%.2f), maka Hipotesis Nol GAGAL DITOLAK.\n", p_value, alpha))
}
##   Karena P-value (0.0062) <= alpha (0.05), maka Hipotesis Nol DITOLAK.
cat("\nKeputusan berdasarkan T-Statistik:\n")
## 
## Keputusan berdasarkan T-Statistik:
if (t_hitung < t_kritis_bawah || t_hitung > t_kritis_atas) {
  cat(sprintf("  Karena T-Hitung (%.4f) berada di luar rentang T-Kritis (%.4f sampai %.4f), maka Hipotesis Nol DITOLAK.\n", t_hitung, t_kritis_bawah, t_kritis_atas))
} else {
  cat(sprintf("  Karena T-Hitung (%.4f) berada di dalam rentang T-Kritis (%.4f sampai %.4f), maka Hipotesis Nol GAGAL DITOLAK.\n", t_hitung, t_kritis_bawah, t_kritis_atas))
}
##   Karena T-Hitung (3.5553) berada di luar rentang T-Kritis (-2.2622 sampai 2.2622), maka Hipotesis Nol DITOLAK.
# --- Kesimpulan Akhir ---
cat("\nKESIMPULAN AKHIR:\n")
## 
## KESIMPULAN AKHIR:
if (p_value <= alpha) {
  cat("Dengan taraf nyata 5%, terdapat cukup bukti statistik untuk MENOLAK hipotesis nol. Artinya, SynthoLube 9000 secara signifikan BERBEDA dalam hal konsumsi energi dibandingkan pelumas lama. Ada perbedaan yang signifikan dalam efisiensi energi mesin.\n")
} else {
  cat("Dengan taraf nyata 5%, tidak terdapat cukup bukti statistik untuk menolak hipotesis nol. Artinya, tidak ada cukup bukti untuk menyatakan bahwa SynthoLube 9000 memberikan perbedaan konsumsi energi yang signifikan dibandingkan pelumas lama.\n")
}
## Dengan taraf nyata 5%, terdapat cukup bukti statistik untuk MENOLAK hipotesis nol. Artinya, SynthoLube 9000 secara signifikan BERBEDA dalam hal konsumsi energi dibandingkan pelumas lama. Ada perbedaan yang signifikan dalam efisiensi energi mesin.

KASUS 02

# Data
bio <- c(4.0, 5.5, 4.2, 5.3, 4.5, 5.0, 4.6, 5.1)
nutri <- c(5.2, 4.5, 5.5, 4.8, 5.0, 5.3, 4.6, 5.4, 4.7, 5.0)

# Langkah 1: Hitung rata-rata dan varians
x1_bar <- mean(bio)
x2_bar <- mean(nutri)
s1_sq <- var(bio)
s2_sq <- var(nutri)
n1 <- length(bio)
n2 <- length(nutri)

cat("Rata-rata BioSubur:", x1_bar, "\n")
## Rata-rata BioSubur: 4.775
cat("Rata-rata NutriPrima:", x2_bar, "\n")
## Rata-rata NutriPrima: 5
cat("Varians BioSubur:", s1_sq, "\n")
## Varians BioSubur: 0.285
cat("Varians NutriPrima:", s2_sq, "\n")
## Varians NutriPrima: 0.12
# Langkah 2: Hitung nilai t statistik 
t_stat <- (x1_bar - x2_bar) / sqrt(s1_sq / n1 + s2_sq / n2)
cat("Nilai t statistik:", t_stat, "\n")
## Nilai t statistik: -1.031015
# Langkah 3: Hitung derajat kebebasan (Welch-Satterthwaite approximation)
numerator <- (s1_sq/n1 + s2_sq/n2)^2
denominator <- ((s1_sq^2) / (n1^2 * (n1 - 1))) + ((s2_sq^2) / (n2^2 * (n2 - 1)))
df <- numerator / denominator
cat("Derajat kebebasan (df):", df, "\n")
## Derajat kebebasan (df): 11.49556
# Langkah 4: Hitung p-value (uji satu arah: BioSubur < NutriPrima)
p_value <- pt(t_stat, df)
cat("P-value:", p_value, "\n")
## P-value: 0.1618692
# Langkah 5: Ambil keputusan
alpha <- 0.10
if (p_value < alpha) {
  cat("Tolak H0. Rata-rata BioSubur lebih rendah dari NutriPrima.\n")
} else {
  cat("Gagal tolak H0. Tidak cukup bukti BioSubur lebih rendah dari NutriPrima.\n")
}
## Gagal tolak H0. Tidak cukup bukti BioSubur lebih rendah dari NutriPrima.
# Plot Density
dens_bio <- density(bio)
dens_nutri <- density(nutri)

# Buat plot density
plot(dens_bio, col = "darkblue", lwd = 2, xlim = range(c(bio, nutri)),
     main = "Density Plot Hasil Panen", xlab = "Hasil Panen (kg/petak)")
lines(dens_nutri, col = "darkgreen", lwd = 2, lty = 2)
abline(v = x1_bar, col = "darkblue", lty = 3)
abline(v = x2_bar, col = "darkgreen", lty = 3)
legend("topright", legend = c("BioSubur", "NutriPrima"),
       col = c("blue", "red"), lwd = 2, lty = c(1, 2))

KASUS 03

PT. Tirta Jernih telah mengimplementasikan teknologi pengolahan limbah baru yang diklaim lebih hemat energi. BLHD mencurigai bahwa teknologi baru ini mungkin tidak seefektif sistem lama dalam mengontrol kadar COD, dengan ambang batas yang diizinkan adalah 80 mg/L. Dari 9 sampel acak, diperoleh rata-rata kadar COD 84 mg/L dengan simpangan baku 9 mg/L.

# Data sampel
alpha <- 0.05
n <- 9
mean_COD <- 84
sd_COD <- 9
mu0 <- 80

# Uji t satu sampel
t_hitung <- (mean_COD - mu0) / (sd_COD / sqrt(n))

# df
df_hitung <- n - 1
t_krit <- qt (1 - alpha,df_hitung)

#p
p_value <- pt(t_hitung, df, lower.tail = FALSE)


# Output hasil 
cat("Hasil Uji-t Satu Sampel:\n\n")
## Hasil Uji-t Satu Sampel:
cat("Rata-rata sampel: ", mean_COD, "\n")
## Rata-rata sampel:  84
cat("Simpangan baku sampel: ", sd_COD, "\n")
## Simpangan baku sampel:  9
cat("Jumlah sampel: ", n, "\n")
## Jumlah sampel:  9
cat("Nilai t: ", t_hitung, "\n")
## Nilai t:  1.333333
cat("p-value =", p_value, "\n")
## p-value = 0.1041209
cat("Nilai kritis t (α=0.05): ", t_krit, "\n")
## Nilai kritis t (α=0.05):  1.859548
cat("Kesimpulan:\n")
## Kesimpulan:
if(t_hitung > t_krit) {
  cat("Tolak H0: rata-rata COD > 80 mg/L, berarti mereka ngelanggar")
} else {
  cat("Gagal tolak H0: rata-rata COD tidak > 80 mg/L, berarti gak melanggar")
}
## Gagal tolak H0: rata-rata COD tidak > 80 mg/L, berarti gak melanggar
# Visualisasi
curve(dt(x, df=n-1), from = -3, to=3, main="Distribusi t (df=8)", xlab="t", ylab="Density")
abline(v=t_hitung, col="red", lty=2)
abline(v=t_krit, col="blue", lty=2)
legend("topright", legend=c("t hitung", "t kritis"), col=c("red", "blue"), lty=2)

Kasus 04, Uji Hipotesis bagi Ragam Satu Populasi:

Sebuah lembaga riset kebijakan publik, “Analisis Sosial Mandiri” (ASM), sedang mengkaji respons masyarakat terhadap sebuah kebijakan pemerintah yang baru saja diluncurkan. Selama bertahun-tahun, ASM telah melakukan survei serupa untuk berbagai kebijakan dan menemukan bahwa pada isu-isu kebijakan yang bersifat teknis dan kurang kontroversial, varians skor sikap masyarakat (diukur pada skala 1-100) secara historis stabil di angka 150. Skor yang lebih tinggi menunjukkan sikap yang lebih positif. Kebijakan baru ini terkait dengan regulasi penggunaan kecerdasan buatan (AI) dalam layanan publik, sebuah isu yang relatif baru dan berpotensi memicu beragam opini. Dr. Irin, peneliti senior di ASM, berhipotesis bahwa karena kebaruan isu dan potensi dampaknya yang luas namun belum sepenuhnya dipahami masyarakat, kebijakan ini akan menghasilkan peningkatan variabilitas atau keragaman sikap dibandingkan kebijakan-kebijakan teknis sebelumnya. Dengan kata lain, ia menduga opini masyarakat akan lebih terpolarisasi atau lebih menyebar, ada yang sangat mendukung, ada yang sangat menolak, dan ada yang sangat tidak pasti, sehingga ragam skor sikapnya akan lebih besar dari 150. Untuk menguji hipotesisnya, Dr. Irin melakukan survei awal terhadap 12 responden yang dipilih secara acak dari populasi target. Berikut adalah skor sikap yang berhasil dikumpulkan:

Skor Sikap Responden Terhadap Kebijakan AI (Skala 1-100): 35, 40, 48, 55, 60, 65, 70, 75, 82, 88, 95, 100

Dr. Irin kini perlu menganalisis data ini untuk melihat apakah varians skor dari sampel ini cukup besar untuk mendukung dugaannya secara statistik. Ia memutuskan untuk menggunakan tingkat signifikansi 10% untuk pengujian ini, karena ia ingin cukup sensitif terhadap potensi peningkatan variabilitas.

Jawab:

# Langkah 1: Masukkan data sampel dan parameter yang diketahui
data_responden_ai <- c(35, 40, 48, 55, 60, 65, 70, 75, 82, 88, 95, 100)
sigma2_hipotesis <- 150
alpha <- 0.1

#Langkah 2: Hitung statistik sampel
n <- length(data_responden_ai)
s2 <- var(data_responden_ai)
df <- n-1

# Langkah 3: Hitungs statistik uji Chi-Square
chi2_hitung <- (df * s2)/sigma2_hipotesis

# Langkah 4: Hitung P-value untuk uji satu arah
p_value <- pchisq(chi2_hitung, df = df, lower.tail = FALSE)

# Langkah 5: Hitung nilai Chi-Square Kritis
chi2_kritis <- qchisq(p = alpha, df=df, lower.tail = FALSE)

Output

# Output
cat("--- Hasil Uji & Interpretasi Lengkap ---\n\n")
## --- Hasil Uji & Interpretasi Lengkap ---
cat("Data Sampel:", paste(data_responden_ai, collapse = ", "), "\n")
## Data Sampel: 35, 40, 48, 55, 60, 65, 70, 75, 82, 88, 95, 100
cat(sprintf(" Ragam Sampel (s²): %.4f\n", s2))
##  Ragam Sampel (s²): 446.9318
cat("--------------------------------------------\n")
## --------------------------------------------
cat("Hipotesis Nol (H0): Ragam populasi (σ²) ≤ 0.06\n")
## Hipotesis Nol (H0): Ragam populasi (σ²) ≤ 0.06
cat("Hipotesis Alternatif (H1): Ragam populasi (σ²) > 0.06\n")
## Hipotesis Alternatif (H1): Ragam populasi (σ²) > 0.06
cat("--------------------------------------------\n")
## --------------------------------------------
cat(sprintf("Tingkat Signifikansi (α): %.2f\n", alpha))
## Tingkat Signifikansi (α): 0.10
cat(sprintf("Chi-Square Hitung (χ²-statistic): %.4f\n", chi2_hitung))
## Chi-Square Hitung (χ²-statistic): 32.7750
cat(sprintf("Chi-Square Kritis : %.4f \n", chi2_kritis))
## Chi-Square Kritis : 17.2750
cat(sprintf("P-value: %.4f\n", p_value))
## P-value: 0.0006
cat("--------------------------------------------\n\n")
## --------------------------------------------
cat("Keputusan berdasarkan P-Value:\n")
## Keputusan berdasarkan P-Value:
if (p_value < alpha) {
  cat(sprintf("Karena P-value (%.4f) < α (%.2f), maka Hipotesis Nol DITOLAK.\n", p_value, alpha))
} else {
  cat(sprintf("Karena P-value (%.4f) ≥ α (%.2f), maka Hipotesis Nol GAGAL DITOLAK.\n", p_value, alpha))
}
## Karena P-value (0.0006) < α (0.10), maka Hipotesis Nol DITOLAK.
cat("Keputusan berdasarkan Chi-Square Statistik:\n")
## Keputusan berdasarkan Chi-Square Statistik:
if (chi2_hitung > chi2_kritis ) { 
  cat(sprintf("Karena χ²-Hitung (%.4f) berada di luar rentang Kritis (%.4f), maka Hipotesis Nol DITOLAK.\n", chi2_hitung, chi2_kritis)) 
} else { 
    cat(sprintf("Karena χ²-Hitung (%.4f) berada di dalam rentang Kritis (%.4f), maka Hipotesis Nol GAGAL DITOLAK.\n", chi2_hitung, chi2_kritis)) 
}
## Karena χ²-Hitung (32.7750) berada di luar rentang Kritis (17.2750), maka Hipotesis Nol DITOLAK.
cat("KESIMPULAN:\n")
## KESIMPULAN:
if (p_value < alpha & chi2_hitung > chi2_kritis) {
  cat("Terdapat cukup bukti untuk menyatakan bahwa ragam populasi lebih besar dari 150 pada tingkat signifikansi 10%.\n")
} else {
  cat("Tidak terdapat cukup bukti untuk menyatakan bahwa ragam populasi lebih besar dari 150 pada tingkat signifikansi 10%.\n")
}
## Terdapat cukup bukti untuk menyatakan bahwa ragam populasi lebih besar dari 150 pada tingkat signifikansi 10%.

KASUS 05

# Diketahui:
mu_0 <- 40          # Rata-rata populasi
sigma <- 3          # Standar deviasi populasi
n <- 36             # Ukuran sampel
x_bar <- 41.2       # Rata-rata sampel
alpha <- 0.05       # Taraf signifikansi

# Hitung Z-score
z <- (x_bar - mu_0) / (sigma / sqrt(n))
z
## [1] 2.4
# Nilai kritis untuk uji dua sisi
z_critical <- qnorm(1 - alpha/2)
z_critical
## [1] 1.959964
# Keputusan
if (abs(z) > z_critical) {
  cat("Tolak H0: Ada perbedaan signifikan kekuatan beton.\n")
} else {
  cat("Gagal tolak H0: Tidak ada bukti signifikan perbedaan kekuatan beton.\n")
}
## Tolak H0: Ada perbedaan signifikan kekuatan beton.

KASUS 06

# Diketahui:
p_0 <- 0.35         # Proporsi benchmark
x <- 87             # Jumlah warga yang menyebar hoaks
n <- 300            # Ukuran sampel
p_hat <- x / n      # Proporsi sampel
alpha <- 0.10       # Taraf signifikansi

# Hitung Z-score untuk proporsi
z <- (p_hat - p_0) / sqrt(p_0 * (1 - p_0) / n)
z
## [1] -2.178819
# Nilai kritis uji satu sisi (kiri)
z_critical <- qnorm(alpha)
z_critical
## [1] -1.281552
# Keputusan
if (z < z_critical) {
  cat("Tolak H0: Proporsi hoaks turun secara signifikan.\n")
} else {
  cat("Gagal tolak H0: Tidak cukup bukti proporsi hoaks turun.\n")
}
## Tolak H0: Proporsi hoaks turun secara signifikan.

KASUS 07

cat("--- Hasil Uji & Interpretasi Lengkap ---\n\n") 
## --- Hasil Uji & Interpretasi Lengkap ---
# Data sampel
lini_alfa <- c(75.01, 74.98, 75.03, 74.95, 75.00, 75.05, 74.97, 75.02, 74.99, 75.04)
lini_beta <- c(75.05, 74.96, 75.08, 74.94, 75.02, 75.09, 74.95, 75.06, 74.97, 75.10, 75.03, 74.99)

n1 <- length(lini_alfa)
n2 <- length(lini_beta)
x_bar1 <- mean(lini_alfa)
x_bar2 <- mean(lini_beta)
sigma1_sq <- 0.0025  # Varian populasi Lini Alfa
sigma2_sq <- 0.0036  # Varian populasi Lini Beta
sigma1 <- sqrt(sigma1_sq)
sigma2 <- sqrt(sigma2_sq)
alpha <- 0.05

cat("Parameter Diketahui:\n") 
## Parameter Diketahui:
cat(sprintf(" Lini Alfa: n=%.0f, x̄=%.3f, σ=%.3f\n", n1, x_bar1, sigma1))
##  Lini Alfa: n=10, x̄=75.004, σ=0.050
cat(sprintf(" Lini Beta: n=%.0f, x̄=%.3f, σ=%.3f\n", n2, x_bar2, sigma2))
##  Lini Beta: n=12, x̄=75.020, σ=0.060
cat("--------------------------------------------\n") 
## --------------------------------------------
# Hipotesis
cat("Hipotesis Nol (H0): μ1 = μ2 (Tidak ada perbedaan diameter)\n")
## Hipotesis Nol (H0): μ1 = μ2 (Tidak ada perbedaan diameter)
cat("Hipotesis Alternatif (H1): μ1 ≠ μ2 (Ada perbedaan diameter)\n")
## Hipotesis Alternatif (H1): μ1 ≠ μ2 (Ada perbedaan diameter)
cat("--------------------------------------------\n")
## --------------------------------------------
# Perhitungan statistik uji Z
se <- sqrt((sigma1_sq/n1) + (sigma2_sq/n2))
z_hitung <- (x_bar1 - x_bar2) / se

# Nilai kritis
z_kritis <- qnorm(1 - alpha/2)
z_kritis_bawah <- -z_kritis
z_kritis_atas <- z_kritis

# P-value
p_value <- 2 * (1 - pnorm(abs(z_hitung)))

cat(sprintf("Tingkat Signifikansi (α): %.2f\n", alpha))
## Tingkat Signifikansi (α): 0.05
cat(sprintf("Z-Hitung (z-statistic): %.4f\n", z_hitung)) 
## Z-Hitung (z-statistic): -0.6822
cat(sprintf("Z-Kritis (Batas Bawah & Atas): %.4f & %.4f\n", z_kritis_bawah, z_kritis_atas))
## Z-Kritis (Batas Bawah & Atas): -1.9600 & 1.9600
cat(sprintf("P-value: %e\n", p_value)) 
## P-value: 4.950858e-01
cat("--------------------------------------------\n\n")
## --------------------------------------------
# --- Keputusan berdasarkan P-Value ---
cat("Keputusan berdasarkan P-Value:\n")
## Keputusan berdasarkan P-Value:
if (p_value <= alpha) {
  cat(sprintf(" Karena P-value (%.6f) <= alpha (%.2f), maka Hipotesis Nol DITOLAK.\n", p_value, alpha))
} else {
  cat(sprintf(" Karena P-value (%.6f) > alpha (%.2f), maka Hipotesis Nol GAGAL DITOLAK.\n", p_value, alpha))
}
##  Karena P-value (0.495086) > alpha (0.05), maka Hipotesis Nol GAGAL DITOLAK.
# --- Keputusan berdasarkan Z-Statistik ---
cat("\nKeputusan berdasarkan Z-Statistik:\n")
## 
## Keputusan berdasarkan Z-Statistik:
if (z_hitung < z_kritis_bawah || z_hitung > z_kritis_atas) {
  cat(sprintf(" Karena Z-Hitung (%.4f) berada di luar rentang Z-Kritis (%.4f sampai %.4f), maka Hipotesis Nol DITOLAK.\n", z_hitung, z_kritis_bawah, z_kritis_atas))
} else {
  cat(sprintf(" Karena Z-Hitung (%.4f) berada di dalam rentang Z-Kritis (%.4f sampai %.4f), maka Hipotesis Nol GAGAL DITOLAK.\n", z_hitung, z_kritis_bawah, z_kritis_atas))
}
##  Karena Z-Hitung (-0.6822) berada di dalam rentang Z-Kritis (-1.9600 sampai 1.9600), maka Hipotesis Nol GAGAL DITOLAK.
# Kesimpulan Akhir
cat("\nKESIMPULAN AKHIR:\n")
## 
## KESIMPULAN AKHIR:
if (p_value <= alpha) {
  cat("Dengan taraf nyata 5%, terdapat cukup bukti statistik untuk menyatakan bahwa diameter rata-rata bearing Lini Alfa secara signifikan BERBEDA dengan diameter rata-rata bearing Lini Beta.\n")
} else {
  cat("Dengan taraf nyata 5%, tidak terdapat cukup bukti statistik untuk menyatakan bahwa ada perbedaan diameter rata-rata antara bearing Lini Alfa dan Lini Beta.\n")
}
## Dengan taraf nyata 5%, tidak terdapat cukup bukti statistik untuk menyatakan bahwa ada perbedaan diameter rata-rata antara bearing Lini Alfa dan Lini Beta.

KASUS 08

cat("--- Hasil Uji & Interpretasi Lengkap ---\n\n")
## --- Hasil Uji & Interpretasi Lengkap ---
x <- c(48, 45)  # Jumlah yang mengalami batuk kering
n <- c(400, 500)  # Total pasien
alpha_obat <- 0.01

# Proporsi sampel
proporsi_sampel <- x / n

cat("Parameter Diketahui:\n")
## Parameter Diketahui:
cat(sprintf(" Tenso (Obat Baru): x1=%d, n1=%d, p̂1=%.2f\n", x[1], n[1], proporsi_sampel[1]))
##  Tenso (Obat Baru): x1=48, n1=400, p̂1=0.12
cat(sprintf(" Normopress (Obat Standar): x2=%d, n2=%d, p̂2=%.2f\n", x[2], n[2], proporsi_sampel[2]))
##  Normopress (Obat Standar): x2=45, n2=500, p̂2=0.09
cat("--------------------------------------------\n")
## --------------------------------------------
cat("Hipotesis Nol (H0): p1 ≤ p2\n")
## Hipotesis Nol (H0): p1 ≤ p2
cat("Hipotesis Alternatif (H1): p1 > p2\n")
## Hipotesis Alternatif (H1): p1 > p2
cat("--------------------------------------------\n") 
## --------------------------------------------
# Proporsi gabungan (pooled proportion)
p_pooled <- sum(x) / sum(n)

# Standard error untuk uji proporsi
se_prop <- sqrt(p_pooled * (1 - p_pooled) * (1/n[1] + 1/n[2]))

# Statistik uji Z
z_hitung_obat <- (proporsi_sampel[1] - proporsi_sampel[2]) / se_prop

# Nilai kritis (uji dua arah)
z_kritis_obat <- qnorm(1 - alpha_obat/2)

# P-value (uji dua arah)
p_value_obat <- 2 * (1 - pnorm(abs(z_hitung_obat)))

cat(sprintf("Tingkat Signifikansi (α): %.2f\n", alpha_obat)) 
## Tingkat Signifikansi (α): 0.01
cat(sprintf("Z-Hitung (z-statistic): %.4f\n", z_hitung_obat)) 
## Z-Hitung (z-statistic): 1.4692
cat(sprintf("Z-Kritis (z-critical): %.4f\n", z_kritis_obat)) 
## Z-Kritis (z-critical): 2.5758
cat(sprintf("P-value: %.4f\n", p_value_obat))
## P-value: 0.1418
cat("--------------------------------------------\n\n")
## --------------------------------------------
# --- Keputusan berdasarkan P-Value ---
cat("Keputusan berdasarkan P-Value:\n")
## Keputusan berdasarkan P-Value:
if (p_value_obat <= alpha_obat) {
  cat(sprintf(" Karena P-value (%.4f) <= alpha (%.2f), maka Hipotesis Nol DITOLAK.\n", p_value_obat, alpha_obat))
} else {
  cat(sprintf(" Karena P-value (%.4f) > alpha (%.2f), maka Hipotesis Nol GAGAL DITOLAK.\n", p_value_obat, alpha_obat))
}
##  Karena P-value (0.1418) > alpha (0.01), maka Hipotesis Nol GAGAL DITOLAK.
# --- Keputusan berdasarkan Z-Statistik ---
cat("\nKeputusan berdasarkan Z-Statistik:\n")
## 
## Keputusan berdasarkan Z-Statistik:
if (abs(z_hitung_obat) > z_kritis_obat) {
  cat(sprintf(" Karena |Z-Hitung| (%.4f) > Z-Kritis (%.4f), maka Hipotesis Nol DITOLAK.\n", abs(z_hitung_obat), z_kritis_obat))
} else {
  cat(sprintf(" Karena |Z-Hitung| (%.4f) <= Z-Kritis (%.4f), maka Hipotesis Nol GAGAL DITOLAK.\n", abs(z_hitung_obat), z_kritis_obat))
}
##  Karena |Z-Hitung| (1.4692) <= Z-Kritis (2.5758), maka Hipotesis Nol GAGAL DITOLAK.
# --- Kesimpulan Akhir ---
cat("\nKESIMPULAN AKHIR:\n")
## 
## KESIMPULAN AKHIR:
if (p_value_obat <= alpha_obat) {
  cat("Dengan tingkat signifikansi 1%, terdapat cukup bukti statistik untuk menyatakan bahwa proporsi efek samping batuk kering obat Tenso secara signifikan berbeda dengan obat Normopress.\n")
} else {
  cat("Dengan tingkat signifikansi 1%, tidak terdapat cukup bukti statistik untuk menyatakan bahwa ada perbedaan proporsi efek samping batuk kering antara obat Tenso dan Normopress.\n")
}
## Dengan tingkat signifikansi 1%, tidak terdapat cukup bukti statistik untuk menyatakan bahwa ada perbedaan proporsi efek samping batuk kering antara obat Tenso dan Normopress.

KASUS 09

#Data
inovatif <- c(2650, 2750, 2500, 2800, 2670, 2730, 2530, 2770, 2700)
klasik <- c(2600, 2700, 2450, 2730, 2530, 2670, 2550)

#Parameter
alpha <- 0.01
mu_hipotesis_selisih <- 0 

#Uji-t dua sampel
hasil_uji <- t.test(
  inovatif, klasik,
  alternative = "greater",   # H1: μ1 − μ2 > d₀
  mu = mu_hipotesis_selisih,
  var.equal = TRUE
)

#Hitung nilai t-kritis
df <- hasil_uji$parameter
t_kritis <- qt(p = alpha, df = df, lower.tail = FALSE)
cat("Derajat Bebas:", df, "\n")
## Derajat Bebas: 14
cat("T-kritis     :", round(t_kritis, 3), "\n")
## T-kritis     : 2.624
#Nilai t-hitung dan p-value
t_hitung <- hasil_uji$statistic
p_value <- hasil_uji$p.value
cat("T-hitung     :", round(t_hitung, 3), "\n")
## T-hitung     : 1.42
cat("P-value      :", round(p_value, 4), "\n")
## P-value      : 0.0888
#Keputusan
if (t_hitung > t_kritis) {
  cat("Keputusan    : Tolak H0 - Metode inovatif secara signifikan lebih tinggi.\n")
} else {
  cat("Keputusan    : Gagal Tolak H0 - Tidak cukup bukti bahwa metode inovatif lebih tinggi.\n")
}
## Keputusan    : Gagal Tolak H0 - Tidak cukup bukti bahwa metode inovatif lebih tinggi.

KASUS 10

#Diketahui
mu_hipotesis <- 1100          # Rata-rata populasi menurut H0 (μ₀)
x_bar <- 1091                 # Rata-rata sampel (x̄)
sigma_populasi <- 25          # Simpangan baku populasi (σ)
n <- 40                       # Ukuran sampel
alpha <- 0.05                 # Taraf signifikansi (5%)

#Error dan Z-hitung
se <- sigma_populasi / sqrt(n)                # Standard Error
z_hitung <- (x_bar - mu_hipotesis) / se       # Statistik uji Z
cat("Z-hitung   :", round(z_hitung, 3), "\n")
## Z-hitung   : -2.277
#Hitung P-value (uji satu arah kiri)
p_value <- pnorm(z_hitung, lower.tail = TRUE)
cat("P-value    :", round(p_value, 4), "\n")
## P-value    : 0.0114
#Hitung Z-kritis untuk satu arah kiri
z_kritis <- qnorm(alpha)
cat("Z-kritis   :", round(z_kritis, 3), "\n")
## Z-kritis   : -1.645
#Keputusan
if (z_hitung < z_kritis) {
  cat("Keputusan  : Tolak H0 - Terdapat cukup bukti bahwa rata-rata suhu < 1100°C\n")
} else {
  cat("Keputusan  : Gagal Tolak H0 - Tidak cukup bukti bahwa rata-rata suhu < 1100°C\n")
}
## Keputusan  : Tolak H0 - Terdapat cukup bukti bahwa rata-rata suhu < 1100°C

KASUS 11

# -------------------------------------------------------
# Kasus: Evaluasi Varians Diameter Piston dari Mesin M1 dan M2
# Tujuan: Menguji apakah Mesin M2 lebih konsisten (varians lebih kecil)
# -------------------------------------------------------

# Data diameter piston dari Mesin M1 dan Mesin M2
mesin_M1 <- c(74.97, 75.03, 74.95, 75.05, 75.00, 74.93, 75.07,
              74.98, 75.02, 74.96, 75.04, 74.94, 75.06)

mesin_M2 <- c(74.98, 75.02, 75.00, 74.97, 75.03,
              74.99, 75.01, 74.96, 75.04, 75.00)

# -------------------------------------------------------
# Langkah 1: Hitung varians dan standar deviasi masing-masing mesin
# -------------------------------------------------------
var_m1 <- var(mesin_M1)
var_m2 <- var(mesin_M2)

sd_m1 <- sd(mesin_M1)
sd_m2 <- sd(mesin_M2)

cat("Varians M1:", var_m1, "\n")
## Varians M1: 0.002316667
cat("Varians M2:", var_m2, "\n")
## Varians M2: 0.0006666667
cat("Standar Deviasi M1:", sd_m1, "\n")
## Standar Deviasi M1: 0.04813176
cat("Standar Deviasi M2:", sd_m2, "\n\n")
## Standar Deviasi M2: 0.02581989
# -------------------------------------------------------
# Langkah 2: Uji Hipotesis F untuk Varians
# Hipotesis:
#   H0 : σ²_M2 >= σ²_M1 (Mesin M2 tidak lebih konsisten)
#   H1 : σ²_M2 < σ²_M1  (Mesin M2 lebih konsisten)
# Gunakan alternative = "less" karena kita ingin membuktikan M2 < M1
# -------------------------------------------------------
uji_f <- var.test(mesin_M2, mesin_M1,
                  alternative = "less", conf.level = 0.90)

# -------------------------------------------------------
# Langkah 3: Tampilkan Hasil Uji
# -------------------------------------------------------
print(uji_f)
## 
##  F test to compare two variances
## 
## data:  mesin_M2 and mesin_M1
## F = 0.28777, num df = 9, denom df = 12, p-value = 0.03479
## alternative hypothesis: true ratio of variances is less than 1
## 90 percent confidence interval:
##  0.0000000 0.6845712
## sample estimates:
## ratio of variances 
##          0.2877698
# Interpretasi otomatis berdasarkan p-value
alpha <- 0.10

if (uji_f$p.value < alpha) {
  cat("\nKeputusan: Tolak H0\n")
  cat("Kesimpulan: Dengan tingkat signifikansi 10%, terdapat bukti bahwa varians Mesin M2 lebih kecil dari Mesin M1 (lebih konsisten).\n")
} else {
  cat("\nKeputusan: Gagal tolak H0\n")
  cat("Kesimpulan: Tidak terdapat cukup bukti bahwa Mesin M2 lebih konsisten dari Mesin M1 pada tingkat signifikansi 10%.\n")
}
## 
## Keputusan: Tolak H0
## Kesimpulan: Dengan tingkat signifikansi 10%, terdapat bukti bahwa varians Mesin M2 lebih kecil dari Mesin M1 (lebih konsisten).

KASUS 12

# Data skor proyek final berdasarkan metode pengajaran
metode_A <- c(75, 80, 72, 78, 70)
metode_B <- c(82, 88, 85, 90, 80, 86)
metode_C <- c(88, 92, 95, 85, 90, 87, 93)
metode_D <- c(78, 82, 80, 75, 85, 77)

# Gabungkan semua data ke dalam satu vektor
skor <- c(metode_A, metode_B, metode_C, metode_D)

# Buat faktor grup yang sesuai
grup <- factor(c(
  rep("A", length(metode_A)),
  rep("B", length(metode_B)),
  rep("C", length(metode_C)),
  rep("D", length(metode_D))
))

# Buat data frame
data <- data.frame(skor, grup)

# Lakukan ANOVA
anova_result <- aov(skor ~ grup, data = data)

# Tampilkan hasil ANOVA
summary(anova_result)
##             Df Sum Sq Mean Sq F value  Pr(>F)    
## grup         3  764.6  254.88   18.31 5.9e-06 ***
## Residuals   20  278.3   13.92                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Cek p-value
p_value <- summary(anova_result)[[1]][["Pr(>F)"]][1]
alpha <- 0.05

# Tampilkan kesimpulan berdasarkan p-value
if (p_value < alpha) {
  cat("Kesimpulan: Karena p-value =", p_value, "<", alpha, 
      "→ Tolak H₀: Terdapat perbedaan signifikan antara metode pengajaran.\n")
} else {
  cat("Kesimpulan: Karena p-value =", p_value, ">=", alpha, 
      "→ Gagal tolak H₀: Tidak terdapat perbedaan signifikan antara metode pengajaran.\n")
}
## Kesimpulan: Karena p-value = 5.899502e-06 < 0.05 → Tolak H₀: Terdapat perbedaan signifikan antara metode pengajaran.