PEDALAMAN MATERI 4 ECO-TRACK
2026-09-30
data_waktu <- c(22, 25, 19, 30, 24, 21, 45, 23, 20, 26, 24, 22, 18, 27, 23)
data_urut <- sort(data_waktu)
n <- length(data_waktu)
print(data_urut)## [1] 18 19 20 21 22 22 23 23 24 24 25 26 27 30 45
1. MEAN, MEDIAN, & MODUS
Bagian ini mencari nilai tunggal yang paling mewakili pusat dari keseluruhan kelompok data. Terdiri dari Mean (rata-rata), Median (nilai tengah setelah diurutkan), dan Modus (angka yang sering muncul).
mean_val <- mean(data_waktu)
median_val <- median(data_waktu)
get_mode <- function(v) {
uniqv <- unique(v)
tab <- tabulate(match(v, uniqv))
uniqv[tab == max(tab)]
}
modus_val <- get_mode(data_waktu)
hasil <- data.frame(
Statistik = c("Mean", "Median", "Modus"),
Nilai = c(
mean_val,
median_val,
paste(modus_val, collapse = ", ")
)
)
knitr::kable(hasil)| Statistik | Nilai |
|---|---|
| Mean | 24.6 |
| Median | 23 |
| Modus | 22, 24, 23 |
2. Menghitung kuartil & IQR
Kuartil membagi persebaran data menjadi empat bagian yang berukuran sama besar. Interquartile Range (IQR) mengukur jarak antara Kuartil 3 (Q3) dan Kuartil 1 (Q1), yang menunjukkan sebaran dari 50% data yang berada tepat di tengah, sehingga lebih kebal terhadap data pencilan (outlier).
kuartil <- quantile(data_waktu, probs = c(0.25, 0.75), type = 2)
Q1 <- kuartil[1]
Q3 <- kuartil[2]
iqr_val <- IQR(data_waktu, type = 2)
hasil_kuartil <- data.frame(
Statistik = c(
"Q1 (Kuartil Bawah)",
"Q3 (Kuartil Atas)",
"Interquartile Range (IQR)"
),
Nilai = c(
as.numeric(Q1),
as.numeric(Q3),
as.numeric(iqr_val)
)
)
knitr::kable(hasil_kuartil)| Statistik | Nilai |
|---|---|
| Q1 (Kuartil Bawah) | 21 |
| Q3 (Kuartil Atas) | 26 |
| Interquartile Range (IQR) | 5 |
3. Ukuran Penyebaran Data (Dispersion)
Metrik ini menunjukkan seberapa jauh data-data tersebut menyimpang atau bervariasi dari rata-ratanya. Semakin besar nilai varians dan standar deviasi, semakin lebar sebaran datanya. Koefisien Variasi menunjukkan tingkat persentase penyebaran relatif terhadap rata-ratanya.
varians_val <- var(data_waktu)
sd_val <- sd(data_waktu)
cv_val <- (sd_val / mean_val) * 100
hasil_variabilitas <- data.frame(
Statistik = c(
"Varians Sampel",
"Standar Deviasi Sampel",
"Koefisien Variasi (%)"
),
Nilai = c(
varians_val,
sd_val,
cv_val
)
)
knitr::kable(hasil_variabilitas)| Statistik | Nilai |
|---|---|
| Varians Sampel | 41.542857 |
| Standar Deviasi Sampel | 6.445375 |
| Koefisien Variasi (%) | 26.200711 |
4. Bentuk Distribusi (Skewness)
Skewness (kemencengan) digunakan untuk mengetahui profil kurva distribusi. Nilai positif berarti kurva memanjang ke kanan (right-skewed), negatif berarti memanjang ke kiri (left-skewed), dan 0 berarti distribusinya simetris sempurna.
skew_val <- skewness(data_waktu)
# Logika if-else untuk penentuan teks arah kemencengan
if (skew_val > 0) {
arah <- "Positif (Menceng ke kanan)"
} else if (skew_val < 0) {
arah <- "Negatif (Menceng ke kiri)"
} else {
arah <- "Simetris"
}
cat("Koefisien Skewness:", skew_val, "\n")## Koefisien Skewness: 1.995046
cat("Arah Kemencengan:", arah, "\n")## Arah Kemencengan: Positif (Menceng ke kanan)