Kasus 1
# Data
sebelum <- c(50, 55, 48, 60, 52, 58, 45, 53, 56, 59)
sesudah <- c(48, 50, 47, 55, 53, 54, 40, 52, 56, 56)
# Parameter hipotesis
mu_hipotesis_selisih <- 0 # Misal kamu mau uji selisih = 0
alpha <- 0.05
# Uji t berpasangan
hasil_uji <- t.test(sebelum, sesudah,
alternative = "two.sided",
mu = mu_hipotesis_selisih,
paired = TRUE)
# Parameter hasil
df <- hasil_uji$parameter
t_kritis_atas <- qt(p = alpha/2, df = df, lower.tail = FALSE)
t_kritis_bawah <- qt(p = alpha/2, df = df, lower.tail = TRUE)
t_hitung <- hasil_uji$statistic
p_value <- hasil_uji$p.value
# Output interpretasi
cat("--- Hasil Uji & Interpretasi Lengkap Kasus 1 ---\n\n")
## --- Hasil Uji & Interpretasi Lengkap Kasus 1 ---
cat("Data 'Sebelum':", paste(sebelum, collapse = ", "), "\n")
## Data 'Sebelum': 50, 55, 48, 60, 52, 58, 45, 53, 56, 59
cat("Data 'Sesudah':", paste(sesudah, collapse = ", "), "\n")
## Data 'Sesudah': 48, 50, 47, 55, 53, 54, 40, 52, 56, 56
cat("--------------------------------------------\n")
## --------------------------------------------
cat(sprintf("Hipotesis Nol (H0): Rata-rata selisih = %.1f Kg\n", mu_hipotesis_selisih))
## Hipotesis Nol (H0): Rata-rata selisih = 0.0 Kg
cat("Hipotesis Alternatif (H1): Rata-rata selisih ≠ ", mu_hipotesis_selisih, " Kg\n", sep = "")
## Hipotesis Alternatif (H1): Rata-rata selisih ≠ 0 Kg
cat("--------------------------------------------\n")
## --------------------------------------------
cat(sprintf("Tingkat Signifikansi (α): %.2f\n", alpha))
## Tingkat Signifikansi (α): 0.05
cat(sprintf("T-Hitung (t-statistic): %.4f\n", t_hitung))
## T-Hitung (t-statistic): 3.5553
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.
# --- Keputusan berdasarkan T-Statistik ---
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:\n")
##
## KESIMPULAN:
if (p_value <= alpha) {
cat(sprintf("Dengan taraf nyata %.2f, terdapat cukup bukti statistik untuk MENOLAK klaim awal. Artinya, rata-rata selisih BERBEDA dari %.1f \n", alpha, mu_hipotesis_selisih))
} else {
cat(sprintf("Dengan taraf nyata %.2f, tidak terdapat cukup bukti statistik untuk menolak klaim awal. Artinya, rata-rata selisih TIDAK BERBEDA secara signifikan dari %.1f Kg.\n", alpha, mu_hipotesis_selisih))
}
## Dengan taraf nyata 0.05, terdapat cukup bukti statistik untuk MENOLAK klaim awal. Artinya, rata-rata selisih BERBEDA dari 0.0
Kasus 2
# 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)
# Parameter hipotesis
alpha <- 0.10
# Uji t dua sampel tidak berpasangan, varians tidak diasumsikan sama
hasil_uji <- t.test(BioSubur, NutriPrima,
alternative = "less",
var.equal = FALSE)
# Derajat bebas
df <- hasil_uji$parameter
t_kritis <- qt(p = alpha, df = df, lower.tail = TRUE)
# Hasil uji
t_hitung <- hasil_uji$statistic
p_value <- hasil_uji$p.value
# Output interpretasi
cat("--- Hasil Uji & Interpretasi Lengkap ---\n\n")
## --- Hasil Uji & Interpretasi Lengkap ---
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")
## Data NutriPrima: 5.2, 4.5, 5.5, 4.8, 5, 5.3, 4.6, 5.4, 4.7, 5
cat("--------------------------------------------\n")
## --------------------------------------------
cat("Hipotesis Nol (H0): Rata-rata BioSubur = Rata-rata NutriPrima\n")
## Hipotesis Nol (H0): Rata-rata BioSubur = Rata-rata NutriPrima
cat("Hipotesis Alternatif (H1): Rata-rata BioSubur < Rata-rata NutriPrima\n")
## Hipotesis Alternatif (H1): Rata-rata BioSubur < Rata-rata NutriPrima
cat("--------------------------------------------\n")
## --------------------------------------------
cat(sprintf("Tingkat Signifikansi (α): %.2f\n", alpha))
## Tingkat Signifikansi (α): 0.10
cat(sprintf("T-Hitung (t-statistic): %.4f\n", t_hitung))
## T-Hitung (t-statistic): -1.0310
cat(sprintf("T-Kritis: %.4f\n", t_kritis))
## T-Kritis: -1.3597
cat(sprintf("P-value: %.4f\n", p_value))
## P-value: 0.1619
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.1619) > alpha (0.10), 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 T-Hitung (%.4f) >= T-Kritis (%.4f), maka Hipotesis Nol GAGAL DITOLAK.\n", t_hitung, t_kritis))
}
## Karena T-Hitung (-1.0310) >= T-Kritis (-1.3597), maka Hipotesis Nol GAGAL DITOLAK.
# --- Kesimpulan Akhir ---
cat("\nKESIMPULAN:\n")
##
## KESIMPULAN:
if (p_value <= alpha) {
cat(sprintf("Dengan taraf nyata %.2f, terdapat cukup bukti statistik untuk MENOLAK klaim rata-rata panen BioSubur sama dengan NutriPrima. Artinya, rata-rata panen BioSubur SECARA SIGNIFIKAN LEBIH RENDAH.\n", alpha))
} else {
cat(sprintf("Dengan taraf nyata %.2f, tidak terdapat cukup bukti statistik untuk menolak klaim rata-rata panen BioSubur sama dengan NutriPrima. Artinya, rata-rata panen BioSubur TIDAK TERBUKTI LEBIH RENDAH secara signifikan.\n", alpha))
}
## Dengan taraf nyata 0.10, tidak terdapat cukup bukti statistik untuk menolak klaim rata-rata panen BioSubur sama dengan NutriPrima. Artinya, rata-rata panen BioSubur TIDAK TERBUKTI LEBIH RENDAH secara signifikan.
Kasus 03 - Uji t satu sampel (σ tidak diketahui)
cat("\n===== KASUS 03 - Uji t Satu Sampel =====\n")
##
## ===== KASUS 03 - Uji t Satu Sampel =====
x_bar <- 84
mu_0 <- 80
s <- 9
n <- 9
alpha <- 0.05
t_hit <- (x_bar - mu_0) / (s / sqrt(n))
t_crit <- qt(1 - alpha, df = n - 1)
p_value <- 1 - pt(t_hit, df = n - 1)
cat(sprintf("T-Hitung: %.4f\n", t_hit))
## T-Hitung: 1.3333
cat(sprintf("T-Kritis: %.4f\n", t_crit))
## T-Kritis: 1.8595
cat(sprintf("P-value : %.4f\n", p_value))
## P-value : 0.1096
if (p_value <= alpha) {
cat("H0 DITOLAK: Rata-rata melebihi 80 mg/L\n")
} else {
cat("H0 GAGAL DITOLAK: Tidak cukup bukti melebihi 80 mg/L\n")
}
## H0 GAGAL DITOLAK: Tidak cukup bukti melebihi 80 mg/L
Kasus 04 - Uji Chi-Square (uji ragam satu populasi)
cat("\n===== KASUS 04 - Uji Chi-Square Ragam =====\n")
##
## ===== KASUS 04 - Uji Chi-Square Ragam =====
x <- c(35, 40, 48, 55, 60, 65, 70, 75, 82, 88, 95, 100)
n <- length(x)
s2 <- var(x)
sigma0_sq <- 150
chi_sq <- (n - 1) * s2 / sigma0_sq
chi_crit <- qchisq(1 - 0.10, df = n - 1)
p_value <- 1 - pchisq(chi_sq, df = n - 1)
cat(sprintf("Chi-Square Hitung: %.4f\n", chi_sq))
## Chi-Square Hitung: 32.7750
cat(sprintf("Chi-Square Kritis: %.4f\n", chi_crit))
## Chi-Square Kritis: 17.2750
cat(sprintf("P-value : %.4f\n", p_value))
## P-value : 0.0006
if (p_value <= 0.10) {
cat("H0 DITOLAK: Ragam lebih besar dari 150\n")
} else {
cat("H0 GAGAL DITOLAK: Tidak cukup bukti ragam > 150\n")
}
## H0 DITOLAK: Ragam lebih besar dari 150
Kasus 5
# Langkah 1: Masukkan semua parameter yang diketahui dari soal
# Ini adalah pendekatan yang sama dengan Contoh Kasus (2) di PDF
mu_hipotesis <- 40 # Rata-rata populasi menurut H0 (kekuatan standar)
x_bar <- 41.2 # Rata-rata dari 36 sampel beton baru
sigma_populasi <- 3 # Standar deviasi POPULASI (diketahui)
n <- 36 # Jumlah sampel
alpha <- 0.05 # Tingkat signifikansi
# Langkah 2: Hitung Z-statistik (Z-hitung) secara manual
# Rumus: (rata-rata sampel - rata-rata hipotesis) / (sigma / akar(n))
standard_error <- sigma_populasi / sqrt(n)
z_hitung <- (x_bar - mu_hipotesis) / standard_error
# Langkah 3: Hitung P-value untuk uji dua arah
# Rumus: 2 * P(Z > |z_hitung|)
p_value <- 2 * pnorm(abs(z_hitung), lower.tail = FALSE)
# Langkah 4: Hitung nilai Z-kritis (batas untuk area penolakan)
# Karena ini uji dua arah, kita cari batas bawah dan atas
z_kritis_atas <- qnorm(p = alpha/2, lower.tail = FALSE)
z_kritis_bawah <- qnorm(p = alpha/2, lower.tail = TRUE)
# Langkah 5: Tampilkan hasil dan interpretasi secara lengkap
cat("--- Hasil Uji Hipotesis Z untuk Kasus 05 ---\n\n")
## --- Hasil Uji Hipotesis Z untuk Kasus 05 ---
cat("Hipotesis Nol (H0): Rata-rata kekuatan tekan beton = 40 MPa\n")
## Hipotesis Nol (H0): Rata-rata kekuatan tekan beton = 40 MPa
cat("Hipotesis Alternatif (H1): Rata-rata kekuatan tekan beton != 40 MPa\n")
## Hipotesis Alternatif (H1): Rata-rata kekuatan tekan beton != 40 MPa
cat("--------------------------------------------------\n")
## --------------------------------------------------
cat(sprintf("Tingkat Signifikansi (alpha): %.2f\n", alpha))
## Tingkat Signifikansi (alpha): 0.05
cat(sprintf("Z-Hitung (z-statistic): %.4f\n", z_hitung))
## Z-Hitung (z-statistic): 2.4000
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: %.4f\n\n", p_value))
## P-value: 0.0164
cat("--- Pengambilan Keputusan ---\n")
## --- Pengambilan Keputusan ---
# Keputusan berdasarkan perbandingan 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\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\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.
# Keputusan berdasarkan perbandingan 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\n", p_value, alpha))
} else {
cat(sprintf(" Karena P-value (%.4f) > alpha (%.2f), maka Hipotesis Nol GAGAL DITOLAK.\n\n", p_value, alpha))
}
## Karena P-value (0.0164) <= alpha (0.05), maka Hipotesis Nol DITOLAK.
cat("--- KESIMPULAN ---\n")
## --- KESIMPULAN ---
if (p_value <= alpha) {
cat("Pada taraf nyata 5%, terdapat cukup bukti statistik untuk menyatakan bahwa penambahan aditif polimer secara signifikan MENGUBAH rata-rata kekuatan tekan beton.\n")
} else {
cat("Pada taraf nyata 5%, tidak terdapat cukup bukti statistik untuk menyatakan bahwa penambahan aditif polimer mengubah rata-rata kekuatan tekan beton.\n")
}
## Pada taraf nyata 5%, terdapat cukup bukti statistik untuk menyatakan bahwa penambahan aditif polimer secara signifikan MENGUBAH rata-rata kekuatan tekan beton.
Kasus 6
# Langkah 1: Masukkan semua parameter yang diketahui dari Kasus 06
x <- 87 # Jumlah warga yang mengaku membagikan hoaks (sukses)
n <- 300 # Jumlah total sampel warga
p0 <- 0.35 # Proporsi hipotesis benchmark
alpha <- 0.10 # Tingkat signifikansi
# Langkah 2: Hitung proporsi sampel dan statistik uji Z
# Hitung proporsi sampel (p-hat)
p_hat <- x / n
# Rumus Z-hitung untuk proporsi: (p_hat - p0) / sqrt(p0 * (1 - p0) / n)
z_hitung <- (p_hat - p0) / sqrt(p0 * (1 - p0) / n)
# Langkah 3: Hitung P-value untuk uji sisi kiri
# Untuk uji sisi kiri, kita gunakan lower.tail = TRUE
p_value <- pnorm(z_hitung, lower.tail = TRUE)
# Langkah 4: Hitung nilai Z-kritis untuk uji sisi kiri
z_kritis <- qnorm(p = alpha, lower.tail = TRUE)
# Langkah 5: Tampilkan hasil dan interpretasi secara lengkap
cat("--- Hasil Uji Hipotesis Z untuk Kasus 06 ---\n\n")
## --- Hasil Uji Hipotesis Z untuk Kasus 06 ---
cat("Hipotesis Nol (H0): Proporsi penyebar hoaks >= 0.35\n")
## Hipotesis Nol (H0): Proporsi penyebar hoaks >= 0.35
cat("Hipotesis Alternatif (H1): Proporsi penyebar hoaks < 0.35\n")
## Hipotesis Alternatif (H1): Proporsi penyebar hoaks < 0.35
cat("--------------------------------------------------\n")
## --------------------------------------------------
cat(sprintf("Tingkat Signifikansi (alpha): %.2f\n", alpha))
## Tingkat Signifikansi (alpha): 0.10
cat(sprintf("Proporsi Sampel (p-hat): %.4f\n", p_hat))
## Proporsi Sampel (p-hat): 0.2900
cat(sprintf("Z-Hitung (z-statistic): %.4f\n", z_hitung))
## 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\n", p_value))
## P-value: 0.0147
cat("--- Pengambilan Keputusan ---\n")
## --- Pengambilan Keputusan ---
# Keputusan berdasarkan perbandingan Z-statistik
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 Hipotesis Nol DITOLAK.\n\n", z_hitung, z_kritis))
} else {
cat(sprintf(" Karena Z-Hitung (%.4f) > Z-Kritis (%.4f), maka Hipotesis Nol GAGAL DITOLAK.\n\n", z_hitung, z_kritis))
}
## Karena Z-Hitung (-2.1788) <= Z-Kritis (-1.2816), maka Hipotesis Nol DITOLAK.
# Keputusan berdasarkan perbandingan 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\n", p_value, alpha))
} else {
cat(sprintf(" Karena P-value (%.4f) > alpha (%.2f), maka Hipotesis Nol GAGAL DITOLAK.\n\n", p_value, alpha))
}
## Karena P-value (0.0147) <= alpha (0.10), maka Hipotesis Nol DITOLAK.
cat("--- KESIMPULAN ---\n")
## --- KESIMPULAN ---
if (p_value <= alpha) {
cat("Pada taraf nyata 10%, terdapat cukup bukti statistik untuk menyatakan bahwa kampanye 'Bijak Bersuara' berhasil menurunkan proporsi warga yang tidak sengaja menyebar hoaks secara signifikan di bawah 35%.\n")
} else {
cat("Pada taraf nyata 10%, tidak terdapat cukup bukti statistik untuk menyatakan bahwa kampanye 'Bijak Bersuara' berhasil menurunkan proporsi warga yang tidak sengaja menyebar hoaks.\n")
}
## Pada taraf nyata 10%, terdapat cukup bukti statistik untuk menyatakan bahwa kampanye 'Bijak Bersuara' berhasil menurunkan proporsi warga yang tidak sengaja menyebar hoaks secara signifikan di bawah 35%.
Kasus 7
# --- 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)
# --- Parameter Populasi (Diketahui dari historis) ---
sigma_alfa <- sqrt(0.0025) # 0.05
sigma_beta <- sqrt(0.0036) # 0.06
# --- Statistik Sampel ---
xbar_alfa <- mean(lini_alfa)
xbar_beta <- mean(lini_beta)
n_alfa <- length(lini_alfa)
n_beta <- length(lini_beta)
# --- Standar Error & Z-Hitung ---
se <- sqrt((sigma_alfa^2 / n_alfa) + (sigma_beta^2 / n_beta))
z_hitung <- (xbar_alfa - xbar_beta) / se
# --- Nilai Kritis Z untuk α = 0.05 (uji dua arah) ---
alpha <- 0.05
z_kritis_bawah <- qnorm(p = alpha / 2)
z_kritis_atas <- qnorm(p = 1 - alpha / 2)
# --- P-value ---
p_value <- 2 * pnorm(abs(z_hitung), lower.tail = FALSE)
# --- OUTPUT & INTERPRETASI ---
cat("\n--- Hasil Uji Z Dua Sampel ---\n\n")
##
## --- Hasil Uji Z Dua Sampel ---
cat("Data Lini Alfa :", paste(lini_alfa, collapse = ", "), "\n")
## Data Lini Alfa : 75.01, 74.98, 75.03, 74.95, 75, 75.05, 74.97, 75.02, 74.99, 75.04
cat("Data Lini Beta :", paste(lini_beta, collapse = ", "), "\n")
## Data Lini Beta : 75.05, 74.96, 75.08, 74.94, 75.02, 75.09, 74.95, 75.06, 74.97, 75.1, 75.03, 74.99
cat("--------------------------------------------------\n")
## --------------------------------------------------
cat(sprintf("Rata-rata Alfa (x̄ₐ) : %.4f\n", xbar_alfa))
## Rata-rata Alfa (x̄ₐ) : 75.0040
cat(sprintf("Rata-rata Beta (x̄_b): %.4f\n", xbar_beta))
## Rata-rata Beta (x̄_b): 75.0200
cat(sprintf("Standar Error : %.6f\n", se))
## Standar Error : 0.023452
cat(sprintf("Z-Hitung : %.4f\n", z_hitung))
## Z-Hitung : -0.6822
cat(sprintf("Z-Kritis Bawah : %.4f\n", z_kritis_bawah))
## Z-Kritis Bawah : -1.9600
cat(sprintf("Z-Kritis Atas : %.4f\n", z_kritis_atas))
## Z-Kritis Atas : 1.9600
cat(sprintf("P-value : %.4f\n", p_value))
## P-value : 0.4951
cat("--------------------------------------------------\n")
## --------------------------------------------------
# --- Keputusan Berdasarkan P-value ---
cat("\nKeputusan Berdasarkan P-value:\n")
##
## Keputusan Berdasarkan P-value:
if (p_value <= alpha) {
cat(sprintf("Karena P-value (%.4f) <= alpha (%.2f), maka H₀ DITOLAK.\n", p_value, alpha))
} else {
cat(sprintf("Karena P-value (%.4f) > alpha (%.2f), maka H₀ GAGAL DITOLAK.\n", p_value, alpha))
}
## Karena P-value (0.4951) > alpha (0.05), maka H₀ 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("Z-Hitung (%.4f) berada di luar rentang (%.4f sampai %.4f), maka H₀ DITOLAK.\n", z_hitung, z_kritis_bawah, z_kritis_atas))
} else {
cat(sprintf("Z-Hitung (%.4f) berada di dalam rentang (%.4f sampai %.4f), maka H₀ GAGAL DITOLAK.\n", z_hitung, z_kritis_bawah, z_kritis_atas))
}
## Z-Hitung (-0.6822) berada di dalam rentang (-1.9600 sampai 1.9600), maka H₀ GAGAL DITOLAK.
# --- Kesimpulan Akhir ---
cat("\nKESIMPULAN:\n")
##
## KESIMPULAN:
if (p_value <= alpha) {
cat("Terdapat cukup bukti statistik bahwa rata-rata diameter luar bearing berbeda antara Lini Alfa dan Lini Beta.\n")
} else {
cat("Tidak terdapat cukup bukti statistik bahwa rata-rata diameter luar bearing berbeda antara Lini Alfa dan Lini Beta.\n")
}
## Tidak terdapat cukup bukti statistik bahwa rata-rata diameter luar bearing berbeda antara Lini Alfa dan Lini Beta.
Kasus 8
# Data proporsi batuk kering
x_T <- 48 # Kasus batuk pada obat baru
n_T <- 400 # Total sampel obat baru
x_N <- 45 # Kasus batuk pada obat standar
n_N <- 500 # Total sampel obat standar
alpha <- 0.01
# Hitung proporsi sampel
p_T <- x_T / n_T
p_N <- x_N / n_N
# Hitung proporsi gabungan
p_pooled <- (x_T + x_N) / (n_T + n_N)
# Hitung statistik uji Z
z_hitung <- (p_T - p_N) / sqrt(p_pooled * (1 - p_pooled) * (1/n_T + 1/n_N))
# Hitung nilai kritis (satu arah ekor kanan)
z_kritis <- qnorm(1 - alpha)
# Hitung p-value (satu arah ekor kanan)
p_value <- pnorm(z_hitung, lower.tail = FALSE)
# Output hasil
cat("\n===== Hasil Uji Hipotesis Kasus 8 =====\n")
##
## ===== Hasil Uji Hipotesis Kasus 8 =====
cat("Proporsi batuk - Obat Baru:", p_T, "(", x_T, "/", n_T, ")\n")
## Proporsi batuk - Obat Baru: 0.12 ( 48 / 400 )
cat("Proporsi batuk - Obat Standar:", p_N, "(", x_N, "/", n_N, ")\n")
## Proporsi batuk - Obat Standar: 0.09 ( 45 / 500 )
cat("Selisih proporsi:", p_T - p_N, "\n")
## Selisih proporsi: 0.03
cat("Statistik uji Z:", z_hitung, "\n")
## Statistik uji Z: 1.469194
cat("Nilai kritis (α=0.01):", z_kritis, "\n")
## Nilai kritis (α=0.01): 2.326348
cat("P-value:", p_value, "\n\n")
## P-value: 0.07089003
cat("Keputusan:\n")
## Keputusan:
if (z_hitung > z_kritis) {
cat("Tolak H0 (proporsi batuk obat baru lebih tinggi)\n")
} else {
cat("Gagal tolak H0 (tidak ada bukti proporsi lebih tinggi)\n")
}
## Gagal tolak H0 (tidak ada bukti proporsi lebih tinggi)
cat("\nKesimpulan:")
##
## Kesimpulan:
cat("Pada tingkat signifikansi 1%, tidak ada bukti cukup untuk menyatakan")
## Pada tingkat signifikansi 1%, tidak ada bukti cukup untuk menyatakan
cat("bahwa proporsi batuk kering pada obat baru lebih tinggi dibandingkan obat standar")
## bahwa proporsi batuk kering pada obat baru lebih tinggi dibandingkan obat standar
Kasus 9
# Uji t dua sampel independen (ragam diasumsikan sama)
cat("\n===== KASUS 09 - Uji t Dua Sampel (Ragam Sama) =====\n")
##
## ===== KASUS 09 - Uji t Dua Sampel (Ragam Sama) =====
metode_inovatif <- c(2650, 2750, 2500, 2800, 2670, 2730, 2530, 2770, 2700)
metode_klasik <- c(2600, 2700, 2450, 2730, 2530, 2670, 2550)
alpha <- 0.01
# Uji t dua sampel dengan asumsi ragam sama
hasil_uji <- t.test(metode_inovatif, metode_klasik,
alternative = "greater", # karena ingin uji apakah inovatif > klasik
var.equal = TRUE)
# Parameter
t_hitung <- hasil_uji$statistic
p_value <- hasil_uji$p.value
df <- hasil_uji$parameter
t_kritis <- qt(1 - alpha, df = df)
cat(sprintf("T-Hitung: %.4f\n", t_hitung))
## T-Hitung: 1.4197
cat(sprintf("T-Kritis: %.4f\n", t_kritis))
## T-Kritis: 2.6245
cat(sprintf("P-value : %.4f\n", p_value))
## P-value : 0.0888
if (p_value <= alpha) {
cat("H0 DITOLAK: Ketahanan abrasi Metode Inovatif lebih tinggi secara signifikan\n")
} else {
cat("H0 GAGAL DITOLAK: Tidak cukup bukti keunggulan Metode Inovatif\n")
}
## H0 GAGAL DITOLAK: Tidak cukup bukti keunggulan Metode Inovatif
Kasus 10 - Uji Z satu sampel (σ diketahui)
cat("\n===== KASUS 10 - Uji Z Satu Sampel =====\n")
##
## ===== KASUS 10 - Uji Z Satu Sampel =====
x_bar <- 1091
mu_0 <- 1100
sigma <- 25
n <- 40
z_hit <- (x_bar - mu_0) / (sigma / sqrt(n))
z_crit <- qnorm(0.05) # ekor kiri
p_value <- pnorm(z_hit)
cat(sprintf("Z-Hitung: %.4f\n", z_hit))
## Z-Hitung: -2.2768
cat(sprintf("Z-Kritis: %.4f\n", z_crit))
## Z-Kritis: -1.6449
cat(sprintf("P-value : %.4f\n", p_value))
## P-value : 0.0114
if (p_value <= 0.05) {
cat("H0 DITOLAK: Suhu rata-rata < 1100\u00b0C, inovasi berhasil\n")
} else {
cat("H0 GAGAL DITOLAK: Tidak cukup bukti penurunan suhu\n")
}
## H0 DITOLAK: Suhu rata-rata < 1100°C, inovasi berhasil
Kasus 11
cat("\n===== KASUS 11 - Uji F Dua Sampel =====\n")
##
## ===== KASUS 11 - Uji F Dua Sampel =====
# Data
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)
# Hitung varians
s1_sq <- var(M1) # Mesin M1
s2_sq <- var(M2) # Mesin M2
# Hitung F-hitung (M1/M2 karena hipotesis: M2 < M1)
F_hit <- s1_sq / s2_sq
# Derajat kebebasan
df1 <- length(M1) - 1
df2 <- length(M2) - 1
# F-kritis (ekor kanan karena s1_sq > s2_sq)
F_crit <- qf(1 - 0.10, df1, df2)
# P-value (uji satu arah, varians M2 lebih kecil)
p_value <- 1 - pf(F_hit, df1, df2)
cat(sprintf("F-Hitung : %.4f\n", F_hit))
## F-Hitung : 3.4750
cat(sprintf("F-Kritis : %.4f\n", F_crit))
## F-Kritis : 2.3789
cat(sprintf("P-value : %.4f\n", p_value))
## P-value : 0.0348
if (p_value <= 0.10) {
cat("H0 DITOLAK: Varians Mesin M2 lebih kecil dari Mesin M1, mesin baru lebih konsisten\n")
} else {
cat("H0 GAGAL DITOLAK: Tidak cukup bukti bahwa Mesin M2 lebih konsisten\n")
}
## H0 DITOLAK: Varians Mesin M2 lebih kecil dari Mesin M1, mesin baru lebih konsisten
Kasus 12
cat("\n===== KASUS 12 - Uji ANOVA Satu Arah =====\n")
##
## ===== KASUS 12 - Uji ANOVA Satu Arah =====
# 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)
# Gabung data dan faktor grup
skor <- c(A, B, C, D)
metode <- factor(rep(c("A", "B", "C", "D"), times = c(length(A), length(B), length(C), length(D))))
# Analisis ANOVA
hasil_anova <- aov(skor ~ metode)
summary_anova <- summary(hasil_anova)
print(summary_anova)
## 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
# Ekstrak F-Hitung dan P-value
F_hit <- summary_anova[[1]]$`F value`[1]
p_value <- summary_anova[[1]]$`Pr(>F)`[1]
cat(sprintf("\nF-Hitung : %.4f\n", F_hit))
##
## F-Hitung : 18.3144
cat(sprintf("P-value : %.4f\n", p_value))
## P-value : 0.0000
if (p_value <= 0.05) {
cat("H0 DITOLAK: Ada perbedaan signifikan rata-rata skor antar metode pengajaran\n")
} else {
cat("H0 GAGAL DITOLAK: Tidak ada bukti perbedaan rata-rata skor antar metode\n")
}
## H0 DITOLAK: Ada perbedaan signifikan rata-rata skor antar metode pengajaran