Aplikasi jejak karbon EcoTrack mencatat menit penggunaan harian dari 15 pengguna aktif dalam satu minggu. Dokumen ini berisi verifikasi dengan R dan interpretasi untuk lima pertanyaan tugas.
## Data asli : 22 25 19 30 24 21 45 23 20 26 24 22 18 27 23
## Data terurut : 18 19 20 21 22 22 23 23 24 24 25 26 27 30 45
## Banyak data (n): 15
Hitung mean, median, dan modus data tersebut secara manual, lalu verifikasi dengan RStudio.
rata2 <- mean(x)
median_ <- median(x)
tab <- table(x)
modus <- as.numeric(names(tab)[tab == max(tab)])
hasil1 <- data.frame(
Ukuran = c("Mean", "Median", "Modus"),
Nilai = c(rata2, median_, paste(modus, collapse = ", ")),
Satuan = "menit"
)
kable(hasil1, align = "lcc", caption = "Ukuran pemusatan data") |>
kable_styling(bootstrap_options = c("striped", "hover"), full_width = FALSE)| Ukuran | Nilai | Satuan |
|---|---|---|
| Mean | 24.6 | menit |
| Median | 23 | menit |
| Modus | 22, 23, 24 | menit |
Jawaban: Mean = 24.6 menit, Median = 23 menit, Modus = 22, 23, 24 menit (trimodal). Mean lebih besar dari median karena adanya nilai ekstrem 45.
Tentukan Q1 dan Q3, lalu interpretasikan IQR-nya dalam konteks kasus ini.
q <- quantile(x, probs = c(0.25, 0.75), type = 7)
Q1 <- unname(q[1]); Q3 <- unname(q[2])
iqr <- IQR(x, type = 7)
batas_bawah <- Q1 - 1.5 * iqr
batas_atas <- Q3 + 1.5 * iqr
outlier <- x[x < batas_bawah | x > batas_atas]
hasil2 <- data.frame(
Ukuran = c("Q1", "Q3", "IQR", "Batas bawah", "Batas atas", "Outlier"),
Nilai = c(Q1, Q3, iqr, batas_bawah, batas_atas, paste(outlier, collapse = ", "))
)
kable(hasil2, align = "lc", caption = "Kuartil, IQR, dan pencilan") |>
kable_styling(bootstrap_options = c("striped", "hover"), full_width = FALSE)| Ukuran | Nilai |
|---|---|
| Q1 | 21.5 |
| Q3 | 25.5 |
| IQR | 4 |
| Batas bawah | 15.5 |
| Batas atas | 31.5 |
| Outlier | 45 |
Jawaban: Q1 = 21.5, Q3 = 25.5, IQR = 4 menit.
Interpretasi: 50% pengguna yang berada di tengah menggunakan EcoTrack antara 21.5 sampai 25.5 menit per hari, dengan rentang hanya 4 menit. Artinya, perilaku sebagian besar pengguna sangat seragam. Nilai 45 menit melewati batas atas (31.5), sehingga tergolong pencilan, yaitu pengguna yang jauh lebih intens dibanding pengguna lainnya.
Hitung varians dan standar deviasi; menurut Anda, apakah data ini tergolong bervariasi tinggi atau rendah?
jkt <- sum((x - mean(x))^2) # jumlah kuadrat selisih
varians <- var(x)
sd_ <- sd(x)
cv <- sd_ / mean(x) * 100
kontribusi_45 <- (45 - mean(x))^2 / jkt * 100
hasil3 <- data.frame(
Ukuran = c("Jumlah kuadrat selisih", "Varians (s²)", "Standar deviasi (s)",
"Koefisien variasi (CV, %)", "Kontribusi nilai 45 (%)"),
Nilai = round(c(jkt, varians, sd_, cv, kontribusi_45), 2)
)
kable(hasil3, align = "lc", caption = "Ukuran penyebaran data") |>
kable_styling(bootstrap_options = c("striped", "hover"), full_width = FALSE)| Ukuran | Nilai |
|---|---|
| Jumlah kuadrat selisih | 581.60 |
| Varians (s²) | 41.54 |
| Standar deviasi (s) | 6.45 |
| Koefisien variasi (CV, %) | 26.20 |
| Kontribusi nilai 45 (%) | 71.55 |
# Perbandingan dengan dan tanpa outlier
x_tanpa <- x[x != 45]
data.frame(
Kondisi = c("Dengan nilai 45", "Tanpa nilai 45"),
Mean = round(c(mean(x), mean(x_tanpa)), 2),
SD = round(c(sd(x), sd(x_tanpa)), 2)
) |>
kable(align = "lcc") |>
kable_styling(bootstrap_options = "striped", full_width = FALSE)| Kondisi | Mean | SD |
|---|---|---|
| Dengan nilai 45 | 24.60 | 6.45 |
| Tanpa nilai 45 | 23.14 | 3.23 |
Jawaban: Varians = 41.54, standar deviasi = 6.45 menit, CV ≈ 26.2%.
Kesimpulan: Variasi data tergolong sedang. Sebagian besar data sangat rapat (IQR hanya 4 menit), tetapi standar deviasi membesar karena pencilan 45 yang menyumbang sekitar 72% dari total kuadrat selisih. Tanpa nilai 45, penyebaran data jauh lebih kecil.
Hitung koefisien skewness Pearson dan tentukan arah kemencengannya;
verifikasi dengan fungsi skewness() di R.
sk_pearson <- 3 * (mean(x) - median(x)) / sd(x)
sk_moments <- moments::skewness(x) # skewness momen
sk_e1071_3 <- e1071::skewness(x, type = 3) # default e1071
sk_e1071_2 <- e1071::skewness(x, type = 2) # versi sampel (Excel/SPSS)
hasil4 <- data.frame(
Metode = c("Pearson", "moments::skewness()",
"e1071::skewness() type 3 (default)", "e1071::skewness() type 2"),
Nilai = round(c(sk_pearson, sk_moments, sk_e1071_3, sk_e1071_2), 3),
Arah = ifelse(c(sk_pearson, sk_moments, sk_e1071_3, sk_e1071_2) > 0,
"Menceng kanan", "Menceng kiri")
)
kable(hasil4, align = "lcc", caption = "Perbandingan ukuran skewness") |>
kable_styling(bootstrap_options = c("striped", "hover"), full_width = FALSE)| Metode | Nilai | Arah |
|---|---|---|
| Pearson | 0.745 | Menceng kanan |
| moments::skewness() | 2.213 | Menceng kanan |
| e1071::skewness() type 3 (default) | 1.995 | Menceng kanan |
| e1071::skewness() type 2 | 2.466 | Menceng kanan |
Jawaban: Skewness Pearson = 0.745 (positif), sehingga distribusi menceng ke kanan (positively skewed).
Ekor distribusi memanjang ke kanan karena nilai 45, dan mean (24.6) lebih besar dari median (23).
Mengapa angkanya berbeda? Fungsi
skewness() di R menghitung skewness berbasis momen ketiga,
sedangkan koefisien Pearson memakai selisih mean dan median. Skalanya
berbeda (2.21 untuk moments, 2 untuk e1071
type 3), tetapi semuanya positif sehingga arahnya sama: menceng
kanan.
Jika EcoTrack ingin menyusun tabel distribusi frekuensi berkelompok dari data yang lebih besar (misalnya 100 pengguna), jelaskan langkah-langkah menghitung mean, median, dan modus berkelompok (cukup prosedurnya, tanpa perlu menghitung angka).
Menyusun tabel distribusi frekuensi
Mean berkelompok
\[\bar{x}=\frac{\sum f_i\,x_i}{\sum f_i}\]
Median berkelompok
\[Me=T_b+\left(\frac{\frac{n}{2}-F}{f_{Me}}\right)p\]
dengan \(T_b\) = tepi bawah kelas median, \(F\) = frekuensi kumulatif sebelum kelas median, \(f_{Me}\) = frekuensi kelas median, \(p\) = panjang kelas.
Modus berkelompok
\[Mo=T_b+\left(\frac{d_1}{d_1+d_2}\right)p\]
dengan \(T_b\) = tepi bawah kelas modus, \(d_1\) = selisih frekuensi kelas modus dengan kelas sebelumnya, \(d_2\) = selisih frekuensi kelas modus dengan kelas sesudahnya, \(p\) = panjang kelas.
| No | Ukuran | Hasil | Makna |
|---|---|---|---|
| 1 | Mean / Median / Modus | 24.6 / 23 / 22, 23, 24 | Rata-rata sekitar 24,6 menit; mean > median karena pencilan |
| 2 | Q1 / Q3 / IQR | 21.5 / 25.5 / 4 | 50% pengguna tengah berada di 21,5 sampai 25,5 menit; 45 adalah pencilan |
| 3 | Varians / SD | 41.54 / 6.45 | Variasi sedang; SD dipengaruhi kuat oleh nilai 45 |
| 4 | Skewness Pearson | 0.745 (menceng kanan) | Ekor panjang di sisi kanan |
Kesimpulan umum. Pengguna EcoTrack umumnya memakai aplikasi sekitar 21 sampai 26 menit per hari dengan pola yang cukup seragam. Satu pengguna dengan 45 menit merupakan pencilan yang menarik mean ke atas, memperbesar standar deviasi, dan menyebabkan distribusi menceng ke kanan. Untuk data seperti ini, median dan IQR lebih mewakili kondisi tipikal pengguna dibanding mean dan standar deviasi.