Kasus 01

Download Perhitungan Manual Kasus 01

# ====== UJI T DATA BERPASANGAN (DUA ARAH) ======

# Langkah 1: Data
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)

d <- pelumas_lama - pelumas_baru

# Langkah 2: statistik sampel
n <- length(d)
df <- n - 1
d_bar <- mean(d)
sd_d_manual <- 2.17
t_hitung <- d_bar / (sd_d_manual / sqrt(n))
alpha <- 0.05
t_kritis <- qt(1 - alpha/2, df)
p_value <- 2 * (1 - pt(abs(t_hitung), df))

# --- Output Naratif ---
cat("--- Hasil Uji T Berpasangan ---\n\n")
## --- Hasil Uji T Berpasangan ---
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("Selisih (d)       :", paste(d, collapse = ", "), "\n\n")
## Selisih (d)       : 2, 5, 1, 5, -1, 4, 5, 1, 0, 3
cat(sprintf("Rata-rata Selisih (d̄): %.2f\n", d_bar))
## Rata-rata Selisih (d̄): 2.50
cat(sprintf("Simpangan Baku Selisih (sd): %.2f\n", sd_d_manual))
## Simpangan Baku Selisih (sd): 2.17
cat(sprintf("Ukuran Sampel (n): %d\n", n))
## Ukuran Sampel (n): 10
cat(sprintf("Derajat Bebas (df): %d\n", df))
## Derajat Bebas (df): 9
cat("--------------------------------------------\n")
## --------------------------------------------
cat("Hipotesis Nol (H₀): μd = 0 (tidak ada perbedaan rata-rata)\n")
## Hipotesis Nol (H₀): μd = 0 (tidak ada perbedaan rata-rata)
cat("Hipotesis Alternatif (H₁): μd ≠ 0 (ada perbedaan rata-rata)\n")
## Hipotesis Alternatif (H₁): μd ≠ 0 (ada perbedaan rata-rata)
cat("--------------------------------------------\n")
## --------------------------------------------
cat(sprintf("Tingkat Signifikansi (α): %.2f\n", alpha))
## Tingkat Signifikansi (α): 0.05
cat(sprintf("Statistik Uji t: %.4f\n", t_hitung))
## Statistik Uji t: 3.6432
cat(sprintf("t-Kritis (α/2 = %.3f, df = %d): ±%.4f\n", alpha/2, df, t_kritis))
## t-Kritis (α/2 = 0.025, df = 9): ±2.2622
cat(sprintf("P-value: %.4f\n", p_value))
## P-value: 0.0054
cat("--------------------------------------------\n\n")
## --------------------------------------------
# Keputusan berdasarkan Statistik
cat("Keputusan Berdasarkan Statistik Uji:\n")
## Keputusan Berdasarkan Statistik Uji:
if (abs(t_hitung) > t_kritis) {
  cat(sprintf(" Karena |t-Hitung| (%.4f) > t-Kritis (%.4f), maka H₀ DITOLAK.\n", abs(t_hitung), t_kritis))
} else {
  cat(sprintf(" Karena |t-Hitung| (%.4f) ≤ t-Kritis (%.4f), maka H₀ GAGAL DITOLAK.\n", abs(t_hitung), t_kritis))
}
##  Karena |t-Hitung| (3.6432) > t-Kritis (2.2622), maka H₀ DITOLAK.
# Kesimpulan Akhir
cat("\nKESIMPULAN:\n")
## 
## KESIMPULAN:
if (abs(t_hitung) > t_kritis) {
  cat(sprintf("Dengan tingkat signifikansi %.0f%%, terdapat cukup bukti statistik untuk menyatakan bahwa SynthoLube 9000 secara signifikan mengubah konsumsi energi mesin tempa dengan rata-rata penurunan sebesar 2.50 kWh/ton.\n", alpha * 100))
cat(sprintf("Rata-rata perubahan konsumsi: %.2f kWh/ton.\n", d_bar))
} else {
  cat(sprintf("Dengan tingkat signifikansi %.0f%%, TIDAK terdapat cukup bukti statistik bahwa pelumas SynthoLube 9000 menyebabkan perubahan signifikan.\n", alpha * 100))
}
## Dengan tingkat signifikansi 5%, terdapat cukup bukti statistik untuk menyatakan bahwa SynthoLube 9000 secara signifikan mengubah konsumsi energi mesin tempa dengan rata-rata penurunan sebesar 2.50 kWh/ton.
## Rata-rata perubahan konsumsi: 2.50 kWh/ton.

Kasus 02

Download Perhitungan Manual Kasus 02

# ====== UJI T DUA SAMPEL TIDAK BERPASANGAN (SATU ARAH KIRI, VARIANS TIDAK SAMA) ======

# Langkah 1: Data
biosubur <- c(4.0, 5.5, 4.2, 5.3, 4.5, 5.0, 4.6, 5.1)
nutriprima <- c(5.2, 4.5, 5.5, 4.8, 5.0, 5.3, 4.6, 5.4, 4.7, 5.0)

# Langkah 2: Statistik Sampel
n1 <- length(biosubur)
n2 <- length(nutriprima)
x1_bar <- mean(biosubur)
x2_bar <- mean(nutriprima)
s1_sq <- var(biosubur)
s2_sq <- var(nutriprima)

# Statistik uji t
t_hitung <- (x1_bar - x2_bar) / sqrt(s1_sq/n1 + s2_sq/n2)

# Derajat bebas (Welch-Satterthwaite)
numerator <- (s1_sq/n1 + s2_sq/n2)^2
denom <- ((s1_sq/n1)^2)/(n1 - 1) + ((s2_sq/n2)^2)/(n2 - 1)
df <- floor(numerator / denom)

# Nilai kritis dan p-value
alpha <- 0.10
t_kritis <- qt(alpha, df)  # sisi kiri
p_value <- pt(t_hitung, df)

# --- Output Naratif ---
cat("--- Hasil Uji T Dua Sampel Tidak Berpasangan ---\n\n")
## --- Hasil Uji T Dua Sampel Tidak Berpasangan ---
cat("Data BioSubur   :", paste(biosubur, collapse = ", "), "\n")
## Data BioSubur   : 4, 5.5, 4.2, 5.3, 4.5, 5, 4.6, 5.1
cat("Data NutriPrima :", paste(nutriprima, collapse = ", "), "\n\n")
## Data NutriPrima : 5.2, 4.5, 5.5, 4.8, 5, 5.3, 4.6, 5.4, 4.7, 5
cat(sprintf("Rata-rata BioSubur (x̄₁): %.3f\n", x1_bar))
## Rata-rata BioSubur (x̄₁): 4.775
cat(sprintf("Rata-rata NutriPrima (x̄₂): %.3f\n", x2_bar))
## Rata-rata NutriPrima (x̄₂): 5.000
cat(sprintf("Ragam BioSubur (s₁²): %.4f\n", s1_sq))
## Ragam BioSubur (s₁²): 0.2850
cat(sprintf("Ragam NutriPrima (s₂²): %.4f\n", s2_sq))
## Ragam NutriPrima (s₂²): 0.1200
cat(sprintf("Ukuran Sampel BioSubur (n₁): %d\n", n1))
## Ukuran Sampel BioSubur (n₁): 8
cat(sprintf("Ukuran Sampel NutriPrima (n₂): %d\n", n2))
## Ukuran Sampel NutriPrima (n₂): 10
cat(sprintf("Derajat Bebas (df): %.0f\n", df))
## Derajat Bebas (df): 11
cat("--------------------------------------------\n")
## --------------------------------------------
cat("Hipotesis Nol (H₀): μ₁ ≥ μ₂\n")
## Hipotesis Nol (H₀): μ₁ ≥ μ₂
cat("Hipotesis Alternatif (H₁): μ₁ < μ₂\n")
## Hipotesis Alternatif (H₁): μ₁ < μ₂
cat("--------------------------------------------\n")
## --------------------------------------------
cat(sprintf("Tingkat Signifikansi (α): %.2f\n", alpha))
## Tingkat Signifikansi (α): 0.10
cat(sprintf("Statistik Uji t: %.4f\n", t_hitung))
## Statistik Uji t: -1.0310
cat(sprintf("t-Kritis (α = %.2f, df = %.0f): %.4f\n", alpha, df, t_kritis))
## t-Kritis (α = 0.10, df = 11): -1.3634
cat(sprintf("P-value: %.4f\n", p_value))
## P-value: 0.1623
cat("--------------------------------------------\n\n")
## --------------------------------------------
# Keputusan
cat("Keputusan Berdasarkan Statistik Uji:\n")
## Keputusan Berdasarkan Statistik Uji:
if (t_hitung < t_kritis) {
  cat(sprintf(" Karena t-Hitung (%.4f) < t-Kritis (%.4f), maka H₀ DITOLAK.\n", t_hitung, t_kritis))
} else {
  cat(sprintf(" Karena t-Hitung (%.4f) ≥ t-Kritis (%.4f), maka H₀ GAGAL DITOLAK.\n", t_hitung, t_kritis))
}
##  Karena t-Hitung (-1.0310) ≥ t-Kritis (-1.3634), maka H₀ GAGAL DITOLAK.
# Kesimpulan
cat("\nKESIMPULAN:\n")
## 
## KESIMPULAN:
if (t_hitung < t_kritis) {
  cat("Dengan tingkat signifikansi 10%, terdapat cukup bukti bahwa rata-rata hasil panen BioSubur lebih rendah dibandingkan NutriPrima.\n")
} else {
  cat("Dengan tingkat signifikansi 10%, BELUM terdapat cukup bukti bahwa rata-rata hasil panen BioSubur lebih rendah dibandingkan NutriPrima.\n")
}
## Dengan tingkat signifikansi 10%, BELUM terdapat cukup bukti bahwa rata-rata hasil panen BioSubur lebih rendah dibandingkan NutriPrima.

Kasus 03

Download Perhitungan Manual Kasus 03

# --- Data & Parameter ---
sampel_COD <- c(84)  # hanya rata-rata, sampel mentah ga ada, jadi manual
x_bar <- 84          # rata-rata sampel
mu_0 <- 80           # nilai H0
s <- 9               # simpangan baku sampel
n <- 9               # ukuran sampel
alpha <- 0.05        # taraf nyata

# --- Hitung T-Statistic ---
SE <- s / sqrt(n)
t_hitung <- (x_bar - mu_0) / SE
df <- n - 1
t_kritis <- qt(1 - alpha, df)

# --- P-value ---
p_value <- 1 - pt(t_hitung, df)

# --- Output ---
cat("--- Hasil Uji & Interpretasi Lengkap ---\n\n")
## --- Hasil Uji & Interpretasi Lengkap ---
cat(sprintf("Rata-rata Sampel (x̄): %.2f\n", x_bar))
## Rata-rata Sampel (x̄): 84.00
cat(sprintf("Simpangan Baku Sampel (s): %.2f\n", s))
## Simpangan Baku Sampel (s): 9.00
cat(sprintf("Ukuran Sampel (n): %d\n", n))
## Ukuran Sampel (n): 9
cat("--------------------------------------------\n")
## --------------------------------------------
cat("Hipotesis Nol (H0): Rata-rata kadar COD <= 80 mg/L\n")
## Hipotesis Nol (H0): Rata-rata kadar COD <= 80 mg/L
cat("Hipotesis Alternatif (H1): Rata-rata kadar COD > 80 mg/L\n")
## Hipotesis Alternatif (H1): Rata-rata kadar COD > 80 mg/L
cat("--------------------------------------------\n")
## --------------------------------------------
cat(sprintf("Tingkat Signifikansi (α): %.3f\n", alpha))
## Tingkat Signifikansi (α): 0.050
cat(sprintf("T-Hitung (t-statistic): %.4f\n", t_hitung))
## T-Hitung (t-statistic): 1.3333
cat(sprintf("T-Kritis (t-critical): %.4f\n", t_kritis))
## T-Kritis (t-critical): 1.8595
cat(sprintf("P-value: %.4f\n", p_value))
## P-value: 0.1096
cat("--------------------------------------------\n\n")
## --------------------------------------------
# --- Keputusan P-Value ---
cat("Keputusan berdasarkan P-Value:\n")
## Keputusan berdasarkan P-Value:
if (p_value <= alpha) {
  cat(sprintf("Karena P-value (%.4f) <= alpha (%.3f), maka Hipotesis Nol DITOLAK.\n", p_value, alpha))
} else {
  cat(sprintf("Karena P-value (%.4f) > alpha (%.3f), maka Hipotesis Nol GAGAL DITOLAK.\n", p_value, alpha))
}
## Karena P-value (0.1096) > alpha (0.050), maka Hipotesis Nol GAGAL DITOLAK.
# --- Keputusan T-Statistik ---
cat("\nKeputusan berdasarkan T-Statistik:\n")
## 
## Keputusan berdasarkan T-Statistik:
if (t_hitung > t_kritis) {
  cat(sprintf("Karena T-Hitung (%.4f) > T-Kritis (%.4f), maka Hipotesis Nol DITOLAK.\n", t_hitung, t_kritis))
} else {
  cat(sprintf("Karena T-Hitung (%.4f) <= T-Kritis (%.4f), maka Hipotesis Nol GAGAL DITOLAK.\n", t_hitung, t_kritis))
}
## Karena T-Hitung (1.3333) <= T-Kritis (1.8595), maka Hipotesis Nol GAGAL DITOLAK.
# --- Kesimpulan Akhir ---
cat("\nKESIMPULAN:\n")
## 
## KESIMPULAN:
cat("Dengan tingkat kesalahan 5%, belum terdapat bukti statistik yang cukup kuat untuk menyimpulkan bahwa kadar COD rata-rata melebihi 80 mg/L.\n")
## Dengan tingkat kesalahan 5%, belum terdapat bukti statistik yang cukup kuat untuk menyimpulkan bahwa kadar COD rata-rata melebihi 80 mg/L.

Kasus 04

Download Perhitungan Manual Kasus 04

# ====== UJI CHI-SQUARE UNTUK RAGAM (SATU ARAH KANAN) ======

# Langkah 1: Data
data_skor <- c(35, 40, 48, 55, 60, 65, 70, 75, 82, 88, 95, 100)
sigma2_hipotesis <- 150
alpha <- 0.10

# Langkah 2: Statistik Sampel
n <- length(data_skor)
df <- n - 1
s2 <- var(data_skor)
chi2_hitung <- df * s2 / sigma2_hipotesis

# Langkah 3: Nilai Kritis & P-value
chi2_kritis <- qchisq(1 - alpha, df)
p_value <- 1 - pchisq(chi2_hitung, df)

# --- Output Naratif ---
cat("--- Hasil Uji Ragam (Chi-Square) ---\n\n")
## --- Hasil Uji Ragam (Chi-Square) ---
cat("Data Sampel:", paste(data_skor, collapse = ", "), "\n")
## Data Sampel: 35, 40, 48, 55, 60, 65, 70, 75, 82, 88, 95, 100
cat(sprintf("Ukuran Sampel (n): %d\n", n))
## Ukuran Sampel (n): 12
cat(sprintf("Derajat Bebas (df): %d\n", df))
## Derajat Bebas (df): 11
cat(sprintf("Rata-rata Sampel: %.2f\n", mean(data_skor)))
## Rata-rata Sampel: 67.75
cat(sprintf("Ragam Sampel (s²): %.4f\n", s2))
## Ragam Sampel (s²): 446.9318
cat("--------------------------------------------\n")
## --------------------------------------------
cat("Hipotesis Nol (H₀): σ² ≤ 150\n")
## Hipotesis Nol (H₀): σ² ≤ 150
cat("Hipotesis Alternatif (H₁): σ² > 150\n")
## Hipotesis Alternatif (H₁): σ² > 150
cat("--------------------------------------------\n")
## --------------------------------------------
cat(sprintf("Tingkat Signifikansi (α): %.2f\n", alpha))
## Tingkat Signifikansi (α): 0.10
cat(sprintf("Statistik Uji Chi-Square: %.4f\n", chi2_hitung))
## Statistik Uji Chi-Square: 32.7750
cat(sprintf("Chi-Square Kritis (α = %.2f, df = %d): %.4f\n", alpha, df, chi2_kritis))
## Chi-Square Kritis (α = 0.10, df = 11): 17.2750
cat(sprintf("P-value: %.4f\n", p_value))
## P-value: 0.0006
cat("--------------------------------------------\n\n")
## --------------------------------------------
# Keputusan berdasarkan Statistik
cat("Keputusan Berdasarkan Statistik Uji:\n")
## Keputusan Berdasarkan Statistik Uji:
if (chi2_hitung > chi2_kritis) {
  cat(sprintf(" Karena χ²-Hitung (%.4f) > χ²-Kritis (%.4f), maka H₀ DITOLAK.\n", chi2_hitung, chi2_kritis))
} else {
  cat(sprintf(" Karena χ²-Hitung (%.4f) ≤ χ²-Kritis (%.4f), maka H₀ GAGAL DITOLAK.\n", chi2_hitung, chi2_kritis))
}
##  Karena χ²-Hitung (32.7750) > χ²-Kritis (17.2750), maka H₀ DITOLAK.
# Kesimpulan Akhir
cat("\nKESIMPULAN:\n")
## 
## KESIMPULAN:
if (chi2_hitung > chi2_kritis) {
  cat("Dengan tingkat signifikansi 10%, terdapat cukup bukti untuk menyatakan bahwa ragam skor sikap masyarakat LEBIH BESAR dari 150.\n")
} else {
  cat("Dengan tingkat signifikansi 10%, TIDAK terdapat cukup bukti untuk menyatakan bahwa ragam lebih besar dari 150.\n")
}
## Dengan tingkat signifikansi 10%, terdapat cukup bukti untuk menyatakan bahwa ragam skor sikap masyarakat LEBIH BESAR dari 150.

Kasus 05

Download Perhitungan Manual Kasus 05

 # Langkah 1: Data 
mu_hipotesis<-40
x_bar<-41.2
sigma_populasi<-3
n<-36
alpha<-0.05

 # Langkah 2: Hitung Z-statistik
# Rumus:(41.2-40)/(3/akar(36))
se<-sigma_populasi/sqrt(n)
# Menghitung Standard Error
z_hitung<-(41.2-40)/se
 
 # Langkah 3: Hitung P-value
# 2 * P(Z>|z_hitung|)
p_value<-2 * pnorm(abs(z_hitung),lower.tail = FALSE)
 # Langkah 4: Hitung nilai Z-kritis
z_kritis_atas<-qnorm(p=0.05/2,lower.tail = FALSE)
z_kritis_bawah<-qnorm(p=0.05/2,lower.tail = TRUE)

cat("--- Hasil Uji & Interpretasi Lengkap ---\n\n")
## --- Hasil Uji & Interpretasi Lengkap ---
cat("Parameter Diketahui:\n")
## Parameter Diketahui:
cat(sprintf(" Rata-rata sampel (𝑥̅): %.2f\n", x_bar))
##  Rata-rata sampel (𝑥̅): 41.20
cat(sprintf(" Ukuran Sampel (n): %d\n", n))
##  Ukuran Sampel (n): 36
cat(sprintf(" Simpangan Baku Populasi (𝜎): %.1f\n", sigma_populasi))
##  Simpangan Baku Populasi (𝜎): 3.0
cat("---------------------------------------------\n") 
## ---------------------------------------------
cat("Hipotesis Nol (H0): Rata-rata Campuran Beton = 40\n")
## Hipotesis Nol (H0): Rata-rata Campuran Beton = 40
cat("Hipotesis Alternatif (H1): Rata-rata Campuran Beton ≠ 40")
## Hipotesis Alternatif (H1): Rata-rata Campuran Beton ≠ 40
cat("---------------------------------------------\n")
## ---------------------------------------------
cat(sprintf("Tingkat Signifikansi (𝛼): %.2f\n",alpha))
## Tingkat Signifikansi (𝛼): 0.05
cat(sprintf("Z-Hitung(z-statistic): %.4fn", z_hitung))
## Z-Hitung(z-statistic): 2.4000n
cat(sprintf("P-Value: %e\n", p_value))
## P-Value: 1.639507e-02
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 (%e) <=alpha (%.2f), maka DITOLAK Hipotesis Nol.\n", p_value, alpha))} else { cat(sprintf(" Karena P-Value (%e) > alpha (%.2f), maka Hipotesis Nol GAGAL DITOLAK"))}
##  Karena P-Value (1.639507e-02) <=alpha (0.05), maka DITOLAK Hipotesis Nol.
# Keputusan Berdasarkan Z-Statistik
cat("→ Keputusan 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 (2.4000) berada di luar rentang Z-Kritis (-1.9600 sampai 1.9600),
## maka Hipotesis Nol DITOLAK.
# Kesimpulan Akhir
cat("\nKESIMPULAN:\n")
## 
## KESIMPULAN:
if (p_value <= alpha) { cat("Pada taraf nyata 5%. terdapat cukup bukti bahwa aditif polimer baru yang di klaim ramah lingkungan dan berpotensi mengubah karakteristik beton terdapat perbedaan sebesar 1.2 MPa dari rata-rata kekuatan 40 MPa menjadi 41.2 MPa.\n")} else { cat("Pada taraf nyata 5%. tidak terdapat cukup bukti bahwa aditif polimer baru yang di klaim ramah lingkungan dan berpotensi mengubah karakteristik beton terdapat perbedaan sebesar 1.2 MPa dari rata-rata kekuatan 40 MPa menjadi 41.2 MPa.\n")}
## Pada taraf nyata 5%. terdapat cukup bukti bahwa aditif polimer baru yang di klaim ramah lingkungan dan berpotensi mengubah karakteristik beton terdapat perbedaan sebesar 1.2 MPa dari rata-rata kekuatan 40 MPa menjadi 41.2 MPa.

Kasus 06

Download Perhitungan Manual Kasus 06

# ---------- UJI PROPORSI SATU SAMPEL (SATU ARAH KIRI) ----------

# Data
x <- 87
n <- 300
p0 <- 0.35
alpha <- 0.1

# Proporsi sampel
p_hat <- x/n 

# Hitung statistik uji
z_hit <- (p_hat-p0)/sqrt(p0*(1-p0)/n)

# Nilai p-value
p_value <- pnorm(z_hit, lower.tail = TRUE)

# Nilai z-kritis
z_kritis <- qnorm(p=alpha, lower.tail = TRUE)

cat(sprintf("Jumlah Sampel (n): %d\n", n))
## Jumlah Sampel (n): 300
cat(sprintf("Jumlah sampel yang menyebarkan hoaks (x): %d\n", x))
## Jumlah sampel yang menyebarkan hoaks (x): 87
cat(sprintf("Porporsi Sampel (p): %3f\n", p_hat))
## Porporsi Sampel (p): 0.290000
cat("---------------------------------------------------------------\n")
## ---------------------------------------------------------------
cat("Hipotesis Nol (H0) : p ≥", p0)
## Hipotesis Nol (H0) : p ≥ 0.35
cat("Hipotesis alternatif (H1) : p <", p0)
## Hipotesis alternatif (H1) : p < 0.35
cat("---------------------------------------------------------------\n")
## ---------------------------------------------------------------
cat(sprintf("Tingkat Signifikansi (α): %.2f\n", alpha))
## Tingkat Signifikansi (α): 0.10
cat(sprintf("z-Hitung (z-statistic): %.4f\n", z_hit))
## z-Hitung (z-statistic): -2.1788
cat(sprintf("z-kritis (z-critical): %.4f\n", z_kritis))
## z-kritis (z-critical): -1.2816
cat(sprintf("p-value: %.4f\n", p_value))
## p-value: 0.0147
cat("---------------------------------------------------------------\n\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.0147) <= alpha (0.10), maka Hipotesis Nol DITOLAK.
# Keputusan Berdasarkan Z-Statistik
if (z_hit <= z_kritis) {
  cat(sprintf(" Karena z-hitung (%.4f) <= z-kritis (%.4f), maka Hipotesis Nol DITOLAK.\n", z_hit, z_kritis))
} else {
  cat(sprintf(" Karena z-hitung (%.4f) > z-kritis (%.4f), maka Hipotesis Nol GAGAL DITOLAK.\n", z_hit, z_kritis))
}
##  Karena z-hitung (-2.1788) <= z-kritis (-1.2816), maka Hipotesis Nol DITOLAK.
# Kesimpulan
if (p_value <= alpha) {
  cat("Dengan tingkat signifikansi 10%, terdapat cukup bukti statistik untuk menyatakan bahwa proporsi warga yang secara tidak sengaja membagikan hoaks setelah kampanye \"Bijak Bersuara\" lebih rendah dibandingkan proporsi acuan 35%.\n")
} else {
  cat("Dengan tingkat signifikansi 10%, tidak terdapat cukup bukti statistik untuk menyatakan bahwa proporsi warga yang secara tidak sengaja membagikan hoaks setelah kampanye \"Bijak Bersuara\" lebih rendah dibandingkan proporsi acuan 35%.\n")
}
## Dengan tingkat signifikansi 10%, terdapat cukup bukti statistik untuk menyatakan bahwa proporsi warga yang secara tidak sengaja membagikan hoaks setelah kampanye "Bijak Bersuara" lebih rendah dibandingkan proporsi acuan 35%.

Kasus 07

Download Perhitungan Manual Kasus 07

# --- Definisi Parameter ---
n_a <- 10
x_bar_a <- 75.004
sigma_a <- 0.05

n_b <- 12
x_bar_b <- 75.02
sigma_b <- 0.06

alpha <- 0.05

# --- Hitung Z-Statistic & P-value ---
SE <- sqrt((sigma_a^2)/n_a + (sigma_b^2)/n_b)
z_hitung <- (x_bar_a - x_bar_b) / SE

z_kritis_bawah <- qnorm(alpha/2)
z_kritis_atas <- -qnorm(alpha/2)

p_value <- 2 * pnorm(z_hitung)

# --- Cetak Hasil ---
cat("--- Hasil Uji & Interpretasi Lengkap ---\n\n")
## --- Hasil Uji & Interpretasi Lengkap ---
cat("Parameter Diketahui:\n")
## Parameter Diketahui:
cat(sprintf(" Sampel A: n=%.0f, x̄=%.4f, σ=%.2f\n", n_a, x_bar_a, sigma_a))
##  Sampel A: n=10, x̄=75.0040, σ=0.05
cat(sprintf(" Sampel B: n=%.0f, x̄=%.4f, σ=%.2f\n", n_b, x_bar_b, sigma_b))
##  Sampel B: n=12, x̄=75.0200, σ=0.06
cat("--------------------------------------------\n") 
## --------------------------------------------
cat("Hipotesis Nol (H0): μA = μB\n")
## Hipotesis Nol (H0): μA = μB
cat("Hipotesis Alternatif (H1): μA ≠ μB\n")
## Hipotesis Alternatif (H1): μA ≠ μB
cat("--------------------------------------------\n")
## --------------------------------------------
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 (%e) <= alpha (%.2f), maka Hipotesis Nol DITOLAK.\n", p_value, alpha))
} else {
  cat(sprintf(" Karena P-value (%e) > alpha (%.2f), maka Hipotesis Nol GAGAL DITOLAK.\n", p_value, alpha))
}
##  Karena P-value (4.950858e-01) > alpha (0.05), maka Hipotesis Nol GAGAL DITOLAK.
# --- Keputusan berdasarkan Z-Statistik --- 
cat("\n Keputusan 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 :\n")
## 
## KESIMPULAN :
if (p_value <= alpha) {
  cat("Pada taraf nyata 5%, terdapat cukup bukti untuk menyatakan bahwa rata-rata diameter luar bearing lini alfa
dan lini beta tidak berbeda.\n")
} else {
  cat("Pada taraf nyata 5%, kurang bukti untuk menyatakan bahwa rata-rata diameter luar bearing lini alfa
dan lini beta tidak berbeda.\n")
} 
## Pada taraf nyata 5%, kurang bukti untuk menyatakan bahwa rata-rata diameter luar bearing lini alfa
## dan lini beta tidak berbeda.

Kasus 08

Download Perhitungan Manual Kasus 08

# ====== UJI PROPORSI DUA SAMPEL - Z TEST (SATU ARAH KANAN) ======

# Langkah 1: Data
x1 <- 48
x2 <- 45
n1 <- 400
n2 <- 500
alpha <- 0.01

# Langkah 2: Proporsi sampel
p1 <- x1 / n1
p2 <- x2 / n2
p <- (x1 + x2) / (n1 + n2)
q <- 1 - p

# Langkah 3: Hitung statistik uji Z
se <- sqrt(p * q * (1/n1 + 1/n2))
z_hitung <- (p1 - p2) / se

# Langkah 4: Nilai Z kritis
z_kritis <- qnorm(1 - alpha)

# Langkah 5: P-value
p_value <- 1 - pnorm(z_hitung)

# --- Output Naratif ---
cat("--- Hasil Uji Proporsi Dua Sampel (Z-Test) ---\n\n")
## --- Hasil Uji Proporsi Dua Sampel (Z-Test) ---
cat(sprintf("Data: x1 = %d, n1 = %d (Tenso понижена)\n", x1, n1))
## Data: x1 = 48, n1 = 400 (Tenso понижена)
cat(sprintf("      x2 = %d, n2 = %d (Normopress)\n", x2, n2))
##       x2 = 45, n2 = 500 (Normopress)
cat(sprintf("Proporsi Sampel: p1 = %.3f, p2 = %.3f\n", p1, p2))
## Proporsi Sampel: p1 = 0.120, p2 = 0.090
cat(sprintf("Proporsi Gabungan: p = %.3f, q = %.3f\n", p, q))
## Proporsi Gabungan: p = 0.103, q = 0.897
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")
## --------------------------------------------
cat(sprintf("Taraf Signifikansi (α): %.2f\n", alpha))
## Taraf Signifikansi (α): 0.01
cat(sprintf("Statistik Uji Z: %.4f\n", z_hitung))
## Statistik Uji Z: 1.4692
cat(sprintf("Z Kritis (Zₐ = %.2f): %.4f\n", alpha, z_kritis))
## Z Kritis (Zₐ = 0.01): 2.3263
cat(sprintf("P-value: %.4f\n", p_value))
## P-value: 0.0709
cat("--------------------------------------------\n\n")
## --------------------------------------------
# Keputusan berdasarkan Z kritis
cat("Keputusan berdasarkan Z Statistik:\n")
## Keputusan berdasarkan Z Statistik:
if (z_hitung > z_kritis) {
  cat(sprintf(" Karena Z-hitung (%.4f) > Z-kritis (%.4f), maka H0 DITOLAK.\n", z_hitung, z_kritis))
} else {
  cat(sprintf(" Karena Z-hitung (%.4f) ≤ Z-kritis (%.4f), maka H0 GAGAL DITOLAK.\n", z_hitung, z_kritis))
}
##  Karena Z-hitung (1.4692) ≤ Z-kritis (2.3263), maka H0 GAGAL DITOLAK.
# Kesimpulan akhir
cat("\nKESIMPULAN:\n")
## 
## KESIMPULAN:
if (z_hitung > z_kritis) {
  cat("Dengan tingkat signifikansi 1%, terdapat cukup bukti statistik bahwa Tenso понижена memiliki tingkat insiden batuk kering yang lebih tinggi daripada Normopress.\n")
} else {
  cat("Dengan tingkat signifikansi 1%, belum terdapat cukup bukti untuk menyatakan bahwa Tenso понижена memiliki tingkat insiden batuk kering yang lebih tinggi dibandingkan Normopress.\n")
}
## Dengan tingkat signifikansi 1%, belum terdapat cukup bukti untuk menyatakan bahwa Tenso понижена memiliki tingkat insiden batuk kering yang lebih tinggi dibandingkan Normopress.

Kasus 09

Download Perhitungan Manual Kasus 09

# ---------- UJI RATA-RATA DUA SAMPEL (SATU ARAH KANAN) ----------

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

# Tentukan parameter uji
alpha <- 0.01  # Tingkat signifikansi 1%
mu_hipotesis_selisih <- 0  # Selisih yang diuji (μ1 - μ2) = 0

# Uji-t dua sampel dengan asumsi ragam sama 
hasil_uji <- t.test(inovatif, klasik, mu = mu_hipotesis_selisih, var.equal = TRUE)
hasil_uji <- t.test(inovatif, klasik, mu=mu_hipotesis_selisih, var.equal=TRUE)

# Hitung nilai t-kritis untuk uji satu sisi kanan
df <- hasil_uji$parameter  # derajat bebas dari hasil uji
t_kritis <- qt(p = alpha, df = df, lower.tail = FALSE)

# Ekstrak nilai t-hitung dan p-value 
t_hitung <- hasil_uji$statistic
p_value <- hasil_uji$p.value

# Hasil Uji & Interpretasi Lengkap 
cat("--- Hasil Uji & Interpretasi Lengkap ---\n\n")
## --- Hasil Uji & Interpretasi Lengkap ---
cat("Data Inovatif :", paste(inovatif, collapse = ", "), "\n")
## Data Inovatif : 2650, 2750, 2500, 2800, 2670, 2730, 2530, 2770, 2700
cat(sprintf("Rata-rata Inovatif: %.2f\n", mean(inovatif)))
## Rata-rata Inovatif: 2677.78
cat("Data Klasik    :", paste(klasik, collapse = ", "), "\n")
## Data Klasik    : 2600, 2700, 2450, 2730, 2530, 2670, 2550
cat(sprintf("Rata-rata Klasik: %.2f\n\n", mean(klasik)))
## Rata-rata Klasik: 2604.29
cat("Hipotesis Nol (H0): μ_inovatif ≤ μ_klasik\n")
## Hipotesis Nol (H0): μ_inovatif ≤ μ_klasik
cat("Hipotesis Alternatif (H1): μ_inovatif > μ_klasik\n\n")
## Hipotesis Alternatif (H1): μ_inovatif > μ_klasik
cat(sprintf("Tingkat Signifikansi (α): %.2f\n", alpha))
## Tingkat Signifikansi (α): 0.01
cat(sprintf("t-hitung (t-statistic): %.4f\n", t_hitung))
## t-hitung (t-statistic): 1.4197
cat(sprintf("t-kritis (t-critical): %.4f\n", t_kritis))
## t-kritis (t-critical): 2.6245
cat(sprintf("p-value: %.4f\n\n", p_value))
## p-value: 0.1776
# --- 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.1776) > alpha (0.01), maka Hipotesis Nol GAGAL DITOLAK.
# --- Keputusan berdasarkan T-Statistik ---
cat("\nKeputusan berdasarkan t-statistik:\n")
## 
## Keputusan berdasarkan t-statistik:
if (t_hitung > t_kritis) {
  cat(sprintf("Karena t-hitung (%.4f) > t-kritis (%.4f), maka Hipotesis Nol DITOLAK.\n", t_hitung, t_kritis))
} else {
  cat(sprintf("Karena y-hitung (%.4f) <= t-kritis (%.4f), maka Hipotesis Nol GAGAL DITOLAK.\n", t_hitung, t_kritis))
}
## Karena y-hitung (1.4197) <= t-kritis (2.6245), maka Hipotesis Nol GAGAL DITOLAK.
# --- Kesimpulan Akhir ---
cat("\nKESIMPULAN:\n")
## 
## KESIMPULAN:
if (p_value <= alpha) {
  cat("Dengan taraf nyata 1%, terdapat cukup bukti statistik untuk menyimpulkan bahwa metode Inovatif lebih tahan abrasi dibanding metode Klasik.\n")
} else {
  cat("Dengan taraf nyata 1%, tidak terdapat cukup bukti statistik untuk menyimpulkan bahwa metode Inovatif lebih tahan abrasi dibanding metode Klasik.\n")
}
## Dengan taraf nyata 1%, tidak terdapat cukup bukti statistik untuk menyimpulkan bahwa metode Inovatif lebih tahan abrasi dibanding metode Klasik.

Kasus 10

Download Perhitungan Manual Kasus 10

Perumusan Hipotesis (Hipotesis 1 Arah Ekor Kiri)

H₀ (Hipotesis Nol): μ ≥ 1100

H₁ (Hipotesis Alternatif): μ < 1100

## Data
# Diketahui dalam soal
mu0 <- 1100     # nilai rata-rata lama
sigma <- 25     # standar deviasi populasi
n <- 40         # jumlah sampel
xbar <- 1091    # rata - rata sampel
alpha <- 0.05   # taraf signifikasi

# Hitung nilai statistik uji Z
z_hit <- (xbar - mu0) / (sigma / sqrt(n))
z_hit
## [1] -2.27684
## Kriteria Pengujian
# Hitung nilai kritis Z untuk uji satu arah ekor kiri
z_krit <- qnorm(alpha, lower.tail = TRUE)
z_krit
## [1] -1.644854
## Pengambilan Keputusan
if(z_hit < z_krit){
  cat("Karena Zh", round(z_hit, 3), "<", round(z_krit, 3), ", maka H₀ ditolak.")
} else {
  cat("Karena Zh", round(z_hit, 3), ">=", round(z_krit, 3), ", maka H₀ gagal ditolak.")
}
## Karena Zh -2.277 < -1.645 , maka H₀ ditolak.
## Kesimpulan

Pada taraf nyata 5% terdapat cukup bukti statistik untuk menyatakan bahwa proses pendinginan baru yang dikembangkan Ibu Rina secara signifikan menurunkan suhu operasional sudu turbin

Kasus 11

Download Perhitungan Manual Kasus 11

# Langkah 1: Masukkan data diameter piston
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)
M2 <- c(74.98, 75.02, 75.00, 74.97, 75.03, 74.99, 75.01, 74.96, 75.04, 75.00)

# Langkah 2: Tentukan tingkat signifikansi
alpha <- 0.10

# Langkah 3: Lakukan uji F satu arah (H1: ragam M1 > M2)
hasil_uji <- var.test(M1, M2, alternative = "greater", conf.level = 1 - alpha)

# Langkah 4: Hitung nilai F kritis
df1 <- hasil_uji$parameter[1]  # df numerator (M1)
df2 <- hasil_uji$parameter[2]  # df denominator (M2)
f_kritis <- qf(p = 1 - alpha, df1 = df1, df2 = df2)  

# Langkah 5: Ekstrak statistik uji dan p-value
f_hitung <- hasil_uji$statistic
p_value <- hasil_uji$p.value


cat("--- Hasil Uji & Interpretasi Lengkap ---\n\n")
## --- Hasil Uji & Interpretasi Lengkap ---
cat("Data Mesin M1:", paste(M1, collapse = ", "), "\n")
## Data Mesin M1: 74.97, 75.03, 74.95, 75.05, 75, 74.93, 75.07, 74.98, 75.02, 74.96, 75.04, 74.94, 75.06
cat(sprintf(" Rata-rata M1: %.4f | Simpangan Baku M1: %.6f | Ragam M1 (s1²): %.7f\n", mean(M1), sd(M1), var(M1)))
##  Rata-rata M1: 75.0000 | Simpangan Baku M1: 0.048132 | Ragam M1 (s1²): 0.0023167
cat("Data Mesin M2:", paste(M2, collapse = ", "), "\n")
## Data Mesin M2: 74.98, 75.02, 75, 74.97, 75.03, 74.99, 75.01, 74.96, 75.04, 75
cat(sprintf(" Rata-rata M2: %.4f | Simpangan Baku M2: %.6f | Ragam M2 (s2²): %.7f\n", mean(M2), sd(M2), var(M2)))
##  Rata-rata M2: 75.0000 | Simpangan Baku M2: 0.025820 | Ragam M2 (s2²): 0.0006667
cat("------------------------------------------------------\n")
## ------------------------------------------------------
cat("Hipotesis:\n")
## Hipotesis:
cat(" H0: σ1² ≤ σ2² (ragam M1 lebih kecil atau sama dengan M2)\n")
##  H0: σ1² ≤ σ2² (ragam M1 lebih kecil atau sama dengan M2)
cat(" H1: σ1² > σ2² (ragam M1 lebih besar dari M2)\n")
##  H1: σ1² > σ2² (ragam M1 lebih besar dari M2)
cat("------------------------------------------------------\n")
## ------------------------------------------------------
cat(sprintf("Tingkat Signifikansi (α): %.2f\n", alpha))
## Tingkat Signifikansi (α): 0.10
cat(sprintf("F-Hitung: %.4f\n", f_hitung))
## F-Hitung: 3.4750
cat(sprintf("F-Kritis (Right-tail, α = %.2f): %.4f\n", alpha, f_kritis))
## F-Kritis (Right-tail, α = 0.10): 2.3789
cat(sprintf("Derajat Bebas (df1, df2): (%d, %d)\n", df1, df2))
## Derajat Bebas (df1, df2): (12, 9)
cat(sprintf("P-value: %.4f\n", p_value))
## P-value: 0.0348
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 H0 DITOLAK.\n", p_value, alpha))
} else {
  cat(sprintf(" Karena P-value (%.4f) > alpha (%.2f), maka H0 GAGAL DITOLAK.\n", p_value, alpha))
}
##  Karena P-value (0.0348) ≤ alpha (0.10), maka H0 DITOLAK.
# --- Keputusan Berdasarkan F-Hitung ---
cat("\nKeputusan Berdasarkan F-Statistik:\n")
## 
## Keputusan Berdasarkan F-Statistik:
if (f_hitung > f_kritis) {
  cat(sprintf(" Karena F-Hitung (%.4f) > F-Kritis (%.4f), maka H0 DITOLAK.\n", f_hitung, f_kritis))
} else {
  cat(sprintf(" Karena F-Hitung (%.4f) ≤ F-Kritis (%.4f), maka H0 GAGAL DITOLAK.\n", f_hitung, f_kritis))
}
##  Karena F-Hitung (3.4750) > F-Kritis (2.3789), maka H0 DITOLAK.
# --- Kesimpulan Akhir ---
cat("\nKESIMPULAN:\n")
## 
## KESIMPULAN:
if (p_value <= alpha) {
  cat("Dengan taraf nyata 10%, terdapat cukup bukti untuk menyatakan bahwa varians diameter piston dari Mesin M2 lebih kecil dibandingkan Mesin M1.\n")
} else {
  cat("Dengan taraf nyata 10%, tidak terdapat cukup bukti untuk menyatakan bahwa Mesin M2 memiliki varians diameter piston yang lebih kecil dibandingkan Mesin M1.\n")
}
## Dengan taraf nyata 10%, terdapat cukup bukti untuk menyatakan bahwa varians diameter piston dari Mesin M2 lebih kecil dibandingkan Mesin M1.

Kasus 12

Download Perhitungan Manual Kasus 12

Perumusan Hipotesis

H0 : μa = μb = μc = μd

H1 : Minimal ada satu perbedaan

## Langkah 1 : Masukkan Data
A <- c(75, 80, 72, 78, 70)
B <- c(82, 88, 85, 90, 80, 86)
C <- c(88, 92, 95, 85, 90, 87, 93)
D <- c(78, 82, 80, 75, 85, 77)

## Langkah 2 : Susun Ulang Data
skor <- c(A, B, C, D)
metode <- factor(rep(c("A", "B", "C", "D"),
                     times = c(length(A), length(B), length(C), length(D))))
data_adk <- data.frame(skor, metode)
head(data_adk)
##   skor metode
## 1   75      A
## 2   80      A
## 3   72      A
## 4   78      A
## 5   70      A
## 6   82      B
## Langkah 3 : Tetapkan Taraf
alpha <- 0.05


## Uji Anova Satu Arah
hasil_aov <- aov(skor ~ metode, data = data_adk)
summary_aov <- summary(hasil_aov)
f_hit <- summary_aov[[1]][["F value"]][1]  # Ambil nilai F hitung
summary_aov
##             Df Sum Sq Mean Sq F value  Pr(>F)    
## metode       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
## Kriteria Pengujian
# Parameter
alpha <- 0.05
df1 <- 3         
df2 <- 20         

# F Tabel (nilai kritis)
f_tabel <- qf(1 - alpha, df1, df2)

# Tampilkan
cat("Taraf signifikansi α =", alpha, "\n")
## Taraf signifikansi α = 0.05
cat("Derajat bebas: (", df1, ",", df2, ")\n")
## Derajat bebas: ( 3 , 20 )
cat("Nilai F tabel: F(", df1, ",", df2, ") =", round(f_tabel, 2), "\n")
## Nilai F tabel: F( 3 , 20 ) = 3.1
## Kesimpulan

if(f_hit > f_tabel){
  cat("Terdapat perbedaan rata-rata skor proyek final secara signifikan antara metode pengajaran yang diuji.")
} else {
  cat("Tidak terdapat perbedaan signifikan antar metode pengajaran.")
}
## Terdapat perbedaan rata-rata skor proyek final secara signifikan antara metode pengajaran yang diuji.

Pada taraf nyata 5%, terdapat cukup bukti untuk menyatakan bahwa setidaknya ada satu metode pengajaran yang menghasilkan skor proyek final yang berbeda secara signifikan dibandingkan metode lainnya.