Nama: Subestian Butar Butar
NIM: 3337260036
Kelas: A26
Aplikasi jejak karbon EcoTrack mencatat menit penggunaan harian dari 15 pengguna aktif dalam satu minggu.
Data yang diperoleh adalah:
22, 25, 19, 30, 24, 21, 45, 23, 20, 26, 24, 22, 18, 27, 23
Data tersebut digunakan untuk menghitung ukuran pemusatan, ukuran letak, ukuran penyebaran, dan bentuk distribusi data.
data_ecotrack <- c(
22, 25, 19, 30, 24,
21, 45, 23, 20, 26,
24, 22, 18, 27, 23
)
n <- length(data_ecotrack)
data_urut <- sort(data_ecotrack)
cat("Banyak data (n) =", n, "\n")
## Banyak data (n) = 15
cat("Data terurut :", data_urut, "\n")
## Data terurut : 18 19 20 21 22 22 23 23 24 24 25 26 27 30 45
Mean, median, dan modus merupakan ukuran pemusatan data.
Mean atau rata-rata aritmatika diperoleh dengan menjumlahkan seluruh nilai data kemudian membaginya dengan banyaknya data.
Rumus:
\[ \bar{x} = \frac{\sum x_i}{n} \]
Jumlah seluruh data:
\[ 22+25+19+30+24+21+45+23+20+26+24+22+18+27+23 =369 \]
Banyak data:
\[ n=15 \]
Sehingga:
\[ \bar{x}=\frac{369}{15}=24,6 \]
Jadi, mean data EcoTrack adalah 24,6 menit.
Median merupakan nilai tengah dari data yang telah diurutkan.
Data diurutkan terlebih dahulu:
18, 19, 20, 21, 22, 22, 23, 23, 24, 24, 25, 26, 27, 30, 45
Karena jumlah data adalah 15 atau bilangan ganjil, posisi median ditentukan dengan rumus:
\[ Me=\frac{n+1}{2} \]
\[ Me=\frac{15+1}{2}=8 \]
Jadi, median berada pada data ke-8.
Data ke-8 adalah 23.
Jadi, median data EcoTrack adalah 23 menit.
Modus merupakan nilai yang paling sering muncul dalam suatu kumpulan data.
Dari data yang telah diurutkan:
18, 19, 20, 21, 22, 22, 23, 23, 24, 24, 25, 26, 27, 30, 45
dapat diketahui bahwa:
Jadi, terdapat tiga nilai yang memiliki frekuensi paling besar.
Jadi, modus data EcoTrack adalah 22, 23, dan 24 menit.
mean_ecotrack <- mean(data_ecotrack)
cat("Jumlah seluruh data =", sum(data_ecotrack), "\n")
## Jumlah seluruh data = 369
cat("Banyak data =", length(data_ecotrack), "\n")
## Banyak data = 15
cat("Mean =", mean_ecotrack, "menit\n")
## Mean = 24.6 menit
median_ecotrack <- median(data_ecotrack)
posisi_median <- (n + 1) / 2
cat("Posisi median =", posisi_median, "\n")
## Posisi median = 8
cat("Nilai median =", median_ecotrack, "menit\n")
## Nilai median = 23 menit
frekuensi <- table(data_ecotrack)
frekuensi_maksimum <- max(frekuensi)
modus_ecotrack <- as.numeric(
names(frekuensi[frekuensi == frekuensi_maksimum])
)
frekuensi
## data_ecotrack
## 18 19 20 21 22 23 24 25 26 27 30 45
## 1 1 1 1 2 2 2 1 1 1 1 1
cat("Frekuensi terbesar =", frekuensi_maksimum, "kali\n")
## Frekuensi terbesar = 2 kali
cat(
"Modus =",
paste(modus_ecotrack, collapse = ", "),
"menit\n"
)
## Modus = 22, 23, 24 menit
hasil_no1 <- data.frame(
Ukuran = c("Mean", "Median", "Modus"),
Hasil = c(
mean_ecotrack,
median_ecotrack,
paste(modus_ecotrack, collapse = ", ")
)
)
knitr::kable(
hasil_no1,
col.names = c("Ukuran Pemusatan", "Hasil"),
align = "c",
caption = "Hasil Perhitungan Mean, Median, dan Modus"
)
| Ukuran Pemusatan | Hasil |
|---|---|
| Mean | 24.6 |
| Median | 23 |
| Modus | 22, 23, 24 |
Berdasarkan perhitungan manual dan verifikasi RStudio, diperoleh mean sebesar 24,6 menit, median sebesar 23 menit, dan modus sebesar 22, 23, dan 24 menit.
Kuartil merupakan ukuran letak yang membagi data yang telah diurutkan menjadi empat bagian.
Data yang telah diurutkan:
18, 19, 20, 21, 22, 22, 23, 23, 24, 24, 25, 26, 27, 30, 45
Menurut rumus posisi kuartil:
\[ Q_i=x_{\frac{i(n+1)}{4}} \]
\[ Q_1=x_{\frac{1(15+1)}{4}} \]
\[ Q_1=x_4 \]
Data ke-4 adalah 21.
Jadi:
\[ Q_1=21 \]
\[ Q_3=x_{\frac{3(15+1)}{4}} \]
\[ Q_3=x_{12} \]
Data ke-12 adalah 26.
Jadi:
\[ Q_3=26 \]
IQR atau Interquartile Range merupakan selisih antara Q3 dan Q1.
Rumus:
\[ IQR=Q_3-Q_1 \]
\[ IQR=26-21 \]
\[ IQR=5 \]
Jadi, IQR data EcoTrack adalah 5 menit.
Q1 <- quantile(
data_ecotrack,
probs = 0.25,
type = 6,
names = FALSE
)
Q3 <- quantile(
data_ecotrack,
probs = 0.75,
type = 6,
names = FALSE
)
IQR_ecotrack <- IQR(
data_ecotrack,
type = 6
)
cat("Q1 =", Q1, "menit\n")
## Q1 = 21 menit
cat("Q3 =", Q3, "menit\n")
## Q3 = 26 menit
cat("IQR =", IQR_ecotrack, "menit\n")
## IQR = 5 menit
hasil_no2 <- data.frame(
Ukuran = c("Q1", "Q3", "IQR"),
Manual = c(21, 26, 5),
RStudio = c(Q1, Q3, IQR_ecotrack)
)
knitr::kable(
hasil_no2,
align = "c",
caption = "Perbandingan Hasil Manual dan RStudio"
)
| Ukuran | Manual | RStudio |
|---|---|---|
| Q1 | 21 | 21 |
| Q3 | 26 | 26 |
| IQR | 5 | 5 |
Boxplot digunakan untuk memperlihatkan posisi Q1, median, Q3, serta penyebaran data berdasarkan IQR.
legend( “topright”, legend = c( paste(“Median =”, median_ecotrack),
paste(“Mean =”, mean_ecotrack) ), pch = c(19, 18), col = c(“#1B9E77”,
“#D95F02”), bty = “n” )
Q1 sebesar 21 menit menunjukkan bahwa sekitar 25% data berada pada atau di bawah 21 menit.
Q3 sebesar 26 menit menunjukkan bahwa sekitar 75% data berada pada atau di bawah 26 menit.
IQR sebesar 5 menit menunjukkan bahwa 50% data yang berada di bagian tengah memiliki rentang penggunaan antara 21 sampai 26 menit.
Varians dan standar deviasi merupakan ukuran penyebaran data yang digunakan untuk mengetahui seberapa besar data bervariasi atau menyebar dari nilai rata-ratanya.
Karena data EcoTrack terdiri dari data pengguna yang diamati, digunakan rumus varians sampel:
\[ s^2=\frac{\sum(x_i-\bar{x})^2}{n-1} \]
Keterangan:
Dari perhitungan sebelumnya:
\[ \bar{x}=24,6 \]
Dengan jumlah data \(n=15\), maka penyebut yang digunakan adalah:
\[ n-1=15-1=14 \]
tabel_varians <- data.frame(
x = data_ecotrack,
`x - mean` = data_ecotrack - mean_ecotrack,
`(x - mean)^2` = (data_ecotrack - mean_ecotrack)^2
)
knitr::kable(
tabel_varians,
digits = 2,
align = "c",
col.names = c(
"Nilai (x)",
"x - Mean",
"(x - Mean)^2"
),
caption = "Perhitungan Varians"
)
| Nilai (x) | x - Mean | (x - Mean)^2 |
|---|---|---|
| 22 | -2.6 | 6.76 |
| 25 | 0.4 | 0.16 |
| 19 | -5.6 | 31.36 |
| 30 | 5.4 | 29.16 |
| 24 | -0.6 | 0.36 |
| 21 | -3.6 | 12.96 |
| 45 | 20.4 | 416.16 |
| 23 | -1.6 | 2.56 |
| 20 | -4.6 | 21.16 |
| 26 | 1.4 | 1.96 |
| 24 | -0.6 | 0.36 |
| 22 | -2.6 | 6.76 |
| 18 | -6.6 | 43.56 |
| 27 | 2.4 | 5.76 |
| 23 | -1.6 | 2.56 |
Jumlah kuadrat penyimpangan:
\[ \sum(x_i-\bar{x})^2=581,6 \]
Sehingga:
\[ s^2=\frac{581,6}{15-1} \]
\[ s^2=\frac{581,6}{14} \]
\[ s^2=41,54286 \]
Jadi, varians data EcoTrack adalah 41,54286 menit².
Standar deviasi merupakan akar kuadrat dari varians.
Rumus:
\[ s=\sqrt{s^2} \]
Dengan varians sebesar 41,54286:
\[ s=\sqrt{41,54286} \]
\[ s\approx6,445375 \]
Jadi, standar deviasi data EcoTrack adalah 6,445375 menit.
varians_ecotrack <- var(data_ecotrack)
sd_ecotrack <- sd(data_ecotrack)
cat("Varians =", varians_ecotrack, "menit^2\n")
## Varians = 41.54286 menit^2
cat("Standar deviasi =", sd_ecotrack, "menit\n")
## Standar deviasi = 6.445375 menit
Standar deviasi sebesar 6,445375 menit menunjukkan bahwa data penggunaan EcoTrack memiliki penyebaran yang cukup besar terhadap rata-ratanya sebesar 24,6 menit.
Sebagian besar data berada pada rentang 18 sampai 30 menit, tetapi terdapat nilai 45 menit yang cukup jauh dari sebagian besar data.
Berdasarkan standar deviasi dan kondisi data tersebut, data penggunaan EcoTrack dapat dikatakan memiliki variasi yang cukup tinggi.
Skewness digunakan untuk mengetahui arah kemencengan suatu distribusi data.
Distribusi data dapat berbentuk:
Pada distribusi menceng ke kanan, nilai mean lebih besar daripada median:
\[ Me < \bar{x} \]
Pada distribusi menceng ke kiri, nilai mean lebih kecil daripada median:
\[ \bar{x} < Me \]
Untuk data EcoTrack digunakan Skewness Pearson.
Rumus Skewness Pearson:
\[ Sk=\frac{3(\bar{x}-Me)}{s} \]
Keterangan:
Berdasarkan perhitungan sebelumnya diperoleh:
\[ \bar{x}=24,6 \]
\[ Me=23 \]
\[ s=6,445375 \]
Kemudian nilai tersebut dimasukkan ke dalam rumus:
\[ Sk=\frac{3(24,6-23)}{6,445375} \]
\[ Sk=\frac{3(1,6)}{6,445375} \]
\[ Sk=\frac{4,8}{6,445375} \]
\[ Sk\approx0,7447201 \]
Jadi, koefisien Skewness Pearson adalah 0,7447201.
skewness_pearson <- 3 *
(mean_ecotrack - median_ecotrack) /
sd_ecotrack
cat(
"Skewness Pearson =",
skewness_pearson,
"\n"
)
## Skewness Pearson = 0.7447201
if (skewness_pearson > 0) {
arah_skewness <- "Menceng ke kanan (positif)"
} else if (skewness_pearson < 0) {
arah_skewness <- "Menceng ke kiri (negatif)"
} else {
arah_skewness <- "Simetris"
}
cat("Arah kemencengan =", arah_skewness, "\n")
## Arah kemencengan = Menceng ke kanan (positif)
Hasil menunjukkan:
\[ Sk=0,7447201>0 \]
Karena nilai Skewness Pearson bernilai positif, maka distribusi data EcoTrack menceng ke kanan (positif).
Hal tersebut juga sesuai dengan hubungan antara mean dan median:
\[ 23<24,6 \]
atau:
\[ Me<\bar{x} \]
Untuk memperjelas bentuk distribusi data, dibuat histogram yang dilengkapi dengan kurva kepadatan serta garis mean dan median.
Berdasarkan diagram, ekor distribusi memanjang ke arah kanan. Hal ini menunjukkan bahwa distribusi data menceng ke kanan (positif).
skewness() di RStudioFungsi skewness() digunakan untuk memverifikasi arah
kemencengan data menggunakan package moments.
Jika package moments belum terpasang, jalankan kode
berikut di Console RStudio satu kali:
install.packages("moments")
Setelah package tersedia, jalankan:
library(moments)
skewness_moments <- skewness(data_ecotrack)
cat(
"Skewness Pearson =",
round(skewness_pearson, 4),
"\n"
)
## Skewness Pearson = 0.7447
cat(
"skewness() =",
round(skewness_moments, 4),
"\n"
)
## skewness() = 2.2126
hasil_skewness <- data.frame(
Metode = c(
"Skewness Pearson",
"skewness() package moments"
),
Nilai = c(
skewness_pearson,
skewness_moments
),
Arah = c(
ifelse(
skewness_pearson > 0,
"Positif / kanan",
"Negatif / kiri"
),
ifelse(
skewness_moments > 0,
"Positif / kanan",
"Negatif / kiri"
)
)
)
knitr::kable(
hasil_skewness,
digits = 4,
align = "c",
caption = "Perbandingan Hasil Skewness"
)
| Metode | Nilai | Arah |
|---|---|---|
| Skewness Pearson | 0.7447 | Positif / kanan |
| skewness() package moments | 2.2126 | Positif / kanan |
Hasil skewness() juga menunjukkan nilai positif,
sehingga arah kemencengan data adalah ke kanan
(positif).