Pendahuluan

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.

x <- c(22, 25, 19, 30, 24, 21, 45, 23, 20, 26, 24, 22, 18, 27, 23)
n <- length(x)
## 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

Soal 1: Mean, Median, dan Modus

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 pemusatan data
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.


Soal 2: Q1, Q3, dan IQR

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)
Kuartil, IQR, dan pencilan
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.


Soal 3: Varians dan Standar Deviasi

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 penyebaran data
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.


Soal 4: Koefisien Skewness Pearson

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)
Perbandingan ukuran skewness
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.


Soal 5: Prosedur Data Berkelompok

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

  1. Urutkan data, tentukan nilai maksimum dan minimum, lalu hitung jangkauan \(R=\text{maks}-\text{min}\).
  2. Tentukan banyak kelas dengan aturan Sturges: \(k=1+3{,}322\log n\). Untuk \(n=100\) diperoleh \(k\approx 7{,}64\), dibulatkan menjadi 8 kelas.
  3. Tentukan panjang kelas: \(p=\dfrac{R}{k}\), dibulatkan ke atas.
  4. Susun kelas mulai dari nilai minimum dengan lebar \(p\), pastikan batas kelas tidak tumpang tindih.
  5. Hitung frekuensi (\(f_i\)) tiap kelas, lalu tambahkan kolom titik tengah (\(x_i\)) dan frekuensi kumulatif (\(F\)).

Mean berkelompok

  1. Hitung titik tengah tiap kelas: \(x_i=\dfrac{\text{batas bawah}+\text{batas atas}}{2}\).
  2. Kalikan frekuensi dengan titik tengah (\(f_i\cdot x_i\)) untuk tiap kelas.
  3. Jumlahkan semua \(f_i\cdot x_i\), lalu bagi dengan \(\sum f_i=100\).

\[\bar{x}=\frac{\sum f_i\,x_i}{\sum f_i}\]

Median berkelompok

  1. Tentukan letak median: \(\dfrac{n}{2}=50\).
  2. Cari kelas median, yaitu kelas pertama yang frekuensi kumulatifnya \(\ge 50\).
  3. Hitung dengan rumus:

\[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

  1. Tentukan kelas modus, yaitu kelas dengan frekuensi terbesar.
  2. Hitung dengan rumus:

\[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.


Ringkasan Hasil

Ringkasan seluruh hasil analisis
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.