R
# Contoh sederhana for loop
for (i in 1:5) {
print(i * 2)
}[1] 2
[1] 4
[1] 6
[1] 8
[1] 10
# Menyimpan hasil dalam vector
hasil <- c()
for (i in 1:10) {
hasil[i] <- i^2
}
hasil [1] 1 4 9 16 25 36 49 64 81 100
Studi Kasus: Analisis Performa Kendaraan - Dari Data ke Keputusan
Tim Asisten Lab Matematika UI
November 2, 2025
Kembali ke Arsip Praktikum PSD 2025
Setelah menyelesaikan modul ini, mahasiswa diharapkan mampu:
Selamat! Anda kini menjadi data analyst di sebuah perusahaan otomotif besar. Manajer Anda memberikan proyek penting: “Vehicle Performance Analysis”. Perusahaan sedang mempertimbangkan untuk mengubah kebijakan armada kendaraan mereka dan membutuhkan analisis mendalam tentang performa berbagai tipe kendaraan.
Anda diminta untuk: 1. Menganalisis karakteristik kendaraan dari data sampel yang ada 2. Membuat prediksi tentang populasi kendaraan berdasarkan sampel 3. Menguji hipotesis tentang perbedaan performa antar tipe kendaraan 4. Mengidentifikasi hubungan antar variabel performa 5. Menyajikan laporan profesional yang mudah dipahami stakeholder
Data yang Anda miliki adalah dataset mtcars yang berisi informasi 32 model mobil dengan berbagai spesifikasi seperti konsumsi bahan bakar (mpg), jumlah silinder (cyl), tenaga kuda (hp), berat (wt), dan lainnya.
Mari kita mulai perjalanan analisis ini dari konsep fundamental hingga komunikasi hasil!
Dalam dunia nyata, kita jarang bisa mengakses data seluruh populasi. Misalnya, tidak mungkin kita menguji semua mobil di dunia untuk mengetahui rata-rata konsumsi bahan bakar. Yang bisa kita lakukan adalah mengambil sampel dan menggunakan informasi dari sampel tersebut untuk membuat kesimpulan tentang populasi.
Distribusi sampling adalah distribusi dari statistik (seperti rata-rata) yang dihitung dari berbagai sampel. Ini menjadi jembatan antara sampel yang kita miliki dengan populasi yang ingin kita pahami.
Sebelum melakukan simulasi distribusi sampling, kita perlu memahami perulangan di R.
For loop digunakan untuk mengulang kode sebanyak yang kita tentukan:
Fungsi replicate() adalah cara yang lebih R-idiomatik untuk melakukan perulangan, terutama untuk simulasi:
[,1] [,2] [,3] [,4] [,5]
[1,] 11.846108 8.86962 8.143034 11.41127 9.116424
[2,] 9.902918 12.67956 11.149411 12.13345 9.379257
[3,] 7.233099 10.72040 13.622855 7.62777 7.667060

Central Limit Theorem adalah salah satu teorema paling penting dalam statistika:
Teorema Limit Pusat: Untuk sampel berukuran besar (n ≥ 30), distribusi sample mean akan mendekati distribusi normal, apapun bentuk distribusi populasi aslinya.
Secara matematis, jika kita punya sampel berukuran \(n\) dari populasi dengan mean \(\mu\) dan variansi \(\sigma^2\), maka:
\[\bar{X} \sim N\left(\mu, \frac{\sigma^2}{n}\right)\]
atau dalam bentuk standar:
\[Z = \frac{\bar{X} - \mu}{\sigma/\sqrt{n}} \sim N(0,1)\]
Studi Kasus: Simulasi CLT dengan Data Kendaraan
R

# Parameter populasi
mu <- mean(mtcars$mpg)
sigma <- sd(mtcars$mpg)
# Simulasi distribusi sample mean untuk berbagai ukuran sampel
simulasi_sampling <- function(n_sample, n_simulasi = 1000) {
sample_means <- replicate(n_simulasi, {
sample_data <- sample(mtcars$mpg, size = n_sample, replace = TRUE)
mean(sample_data)
})
return(sample_means)
}
# Ukuran sampel berbeda
par(mfrow = c(2, 2))
for (n in c(5, 10, 20, 30)) {
sample_means <- simulasi_sampling(n)
hist(sample_means,
main = paste("Sample Mean (n =", n, ")"),
xlab = "Mean",
col = "lightgreen",
breaks = 30)
abline(v = mu, col = "red", lwd = 2)
}
Kesimpulan: Perhatikan bahwa semakin besar ukuran sampel, distribusi sample mean semakin mendekati distribusi normal dan semakin terkonsentrasi di sekitar mean populasi.
Ketika: - Ukuran sampel kecil (n < 30), DAN - Variansi populasi tidak diketahui
Kita menggunakan distribusi-t dengan derajat bebas \(v = n - 1\):
\[t = \frac{\bar{x} - \mu}{s/\sqrt{n}}\]
di mana \(s\) adalah standar deviasi sampel.
Contoh: Misalkan kita hanya punya sampel 10 mobil dan ingin mengetahui probabilitas rata-rata mpg kurang dari 18.
R
# Ambil sampel kecil
set.seed(123)
sampel_kecil <- sample(mtcars$mpg, 10)
# Hitung statistik sampel
xbar <- mean(sampel_kecil)
s <- sd(sampel_kecil)
n <- length(sampel_kecil)
# Misalkan kita ingin hitung P(rata-rata < 18)
# Gunakan distribusi t
nilai_t <- (18 - xbar) / (s / sqrt(n))
prob <- pt(nilai_t, df = n - 1)
cat(sprintf("Probabilitas rata-rata MPG < 18 adalah: %.4f\n", prob))Probabilitas rata-rata MPG < 18 adalah: 0.2249

Taksiran titik adalah nilai tunggal yang kita gunakan untuk mengestimasi parameter populasi.
R
Taksiran mean MPG: 20.09
Taksiran variansi MPG: 36.32
Taksiran proporsi mobil dengan MPG > 20: 43.75%
Interval kepercayaan memberikan rentang nilai di mana parameter populasi kemungkinan besar berada, dengan tingkat kepercayaan tertentu (misal 95%).
Rumus interval kepercayaan jika variansi populasi \(\sigma^2\) diketahui:
\[\text{CI} = \bar{x} \pm z_{1-\alpha/2} \cdot \frac{\sigma}{\sqrt{n}}\]
R
# Misalkan kita tahu variansi populasi mpg adalah 36
sigma_known <- sqrt(36)
n <- nrow(mtcars)
xbar <- mean(mtcars$mpg)
alpha <- 0.05
z_critical <- qnorm(1 - alpha/2)
margin_error <- z_critical * sigma_known / sqrt(n)
ci_lower <- xbar - margin_error
ci_upper <- xbar + margin_error
cat(sprintf("CI 95%% untuk mean MPG: (%.2f, %.2f)\n", ci_lower, ci_upper))CI 95% untuk mean MPG: (18.01, 22.17)
Rumus interval kepercayaan jika variansi populasi tidak diketahui (lebih realistis):
\[\text{CI} = \bar{x} \pm t_{1-\alpha/2; n-1} \cdot \frac{s}{\sqrt{n}}\]
R
# Gunakan variansi sampel
s <- sd(mtcars$mpg)
n <- nrow(mtcars)
xbar <- mean(mtcars$mpg)
alpha <- 0.05
t_critical <- qt(1 - alpha/2, df = n - 1)
margin_error <- t_critical * s / sqrt(n)
ci_lower <- xbar - margin_error
ci_upper <- xbar + margin_error
cat(sprintf("CI 95%% untuk mean MPG: (%.2f, %.2f)\n", ci_lower, ci_upper))CI 95% untuk mean MPG: (17.92, 22.26)
[1] 17.91768 22.26357
attr(,"conf.level")
[1] 0.95
Sering kita ingin membandingkan dua kelompok. Misalnya, apakah ada perbedaan rata-rata MPG antara mobil matic dan manual?
R
# Pisahkan data berdasarkan transmisi (am: 0=automatic, 1=manual)
mpg_automatic <- mtcars$mpg[mtcars$am == 0]
mpg_manual <- mtcars$mpg[mtcars$am == 1]
# Hitung statistik
mean_auto <- mean(mpg_automatic)
mean_manual <- mean(mpg_manual)
var_auto <- var(mpg_automatic)
var_manual <- var(mpg_manual)
n_auto <- length(mpg_automatic)
n_manual <- length(mpg_manual)
# Interval kepercayaan untuk beda mean (variansi tidak sama)
df <- (var_auto/n_auto + var_manual/n_manual)^2 /
((var_auto/n_auto)^2/(n_auto-1) + (var_manual/n_manual)^2/(n_manual-1))
t_crit <- qt(0.975, df = df)
se <- sqrt(var_auto/n_auto + var_manual/n_manual)
ci_lower <- (mean_manual - mean_auto) - t_crit * se
ci_upper <- (mean_manual - mean_auto) + t_crit * se
cat(sprintf("Beda rata-rata MPG (Manual - Automatic): %.2f\n", mean_manual - mean_auto))Beda rata-rata MPG (Manual - Automatic): 7.24
CI 95%: (3.21, 11.28)
Welch Two Sample t-test
data: mpg_manual and mpg_automatic
t = 3.7671, df = 18.332, p-value = 0.001374
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
3.209684 11.280194
sample estimates:
mean of x mean of y
24.39231 17.14737
Interpretasi: Karena interval kepercayaan tidak mengandung 0, kita bisa simpulkan bahwa ada perbedaan signifikan antara MPG mobil manual dan automatic pada tingkat kepercayaan 95%.
Studi Kasus: Apakah rata-rata displacement kendaraan sama dengan 250 cubic inches?
R
===== UJI HIPOTESIS =====
H0: μ = 250
H1: μ ≠ 250
Taraf signifikansi: α = 0.05
Statistik uji t = -0.8799
Derajat bebas = 31
P-value = 0.385684
Keputusan: TIDAK TOLAK H0
Kesimpulan: Mean displacement sama dengan 250 (α = 0.05)
# Visualisasi
curve(dt(x, df = df), from = -4, to = 4,
main = "Distribusi t dan Statistik Uji",
ylab = "Density", xlab = "t")
abline(v = t_stat, col = "red", lwd = 2)
abline(v = qt(c(alpha/2, 1-alpha/2), df = df), col = "blue", lty = 2)
legend("topright",
legend = c("Statistik Uji", "Nilai Kritis"),
col = c("red", "blue"), lwd = c(2, 1), lty = c(1, 2))
Studi Kasus: Apakah ada perbedaan signifikan displacement antara mobil automatic dan manual?
R
Welch Two Sample t-test
data: disp_auto and disp_manual
t = 4.1977, df = 29.258, p-value = 0.00023
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
75.32779 218.36857
sample estimates:
mean of x mean of y
290.3789 143.5308

Bagaimana jika kita ingin membandingkan lebih dari dua kelompok? Misalnya, membandingkan MPG untuk mobil dengan 4, 6, dan 8 silinder?
Analysis of Variance (ANOVA) digunakan untuk tujuan ini.
Hipotesis: - \(H_0\): \(\mu_1 = \mu_2 = \mu_3\) (semua mean sama) - \(H_1\): Setidaknya satu mean berbeda
Asumsi ANOVA: 1. Sampel independen 2. Populasi berdistribusi normal 3. Variansi populasi sama (homogenitas variansi)
R

cyl mpg.mean mpg.sd mpg.n
1 4 26.663636 4.509828 11.000000
2 6 19.742857 1.453567 7.000000
3 8 15.100000 2.560048 14.000000
Df Sum Sq Mean Sq F value Pr(>F)
cyl 2 824.8 412.4 39.7 4.98e-09 ***
Residuals 29 301.3 10.4
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
One-way analysis of means (not assuming equal variances)
data: mpg and cyl
F = 31.624, num df = 2.000, denom df = 18.032, p-value = 1.271e-06
P-value ANOVA: 0.000000
Kesimpulan: Terdapat perbedaan signifikan rata-rata MPG antar kelompok silinder.
Post-hoc test: Jika ANOVA menolak H0, kita bisa melakukan uji lanjutan untuk mengetahui kelompok mana yang berbeda:
Tukey multiple comparisons of means
95% family-wise confidence level
Fit: aov(formula = mpg ~ cyl, data = mtcars)
$cyl
diff lwr upr p adj
6-4 -6.920779 -10.769350 -3.0722086 0.0003424
8-4 -11.563636 -14.770779 -8.3564942 0.0000000
8-6 -4.642857 -8.327583 -0.9581313 0.0112287

Menguji apakah data mengikuti distribusi tertentu.
Contoh: Apakah pelemparan dadu seimbang?
R
dadu
1 2 3 4 5 6
21 27 12 20 24 16
Mata Observasi Ekspektasi
1 1 21 20
2 2 27 20
3 3 12 20
4 4 20 20
5 5 24 20
6 6 16 20
Statistik Chi-squared: 7.3000
Derajat bebas: 5
P-value: 0.1993
Nilai kritis (α=0.05): 11.0705
Kesimpulan: Dadu seimbang

Menguji apakah dua variabel kategorik saling independen.
Contoh: Apakah tipe transmisi (automatic/manual) berhubungan dengan jumlah silinder?
R
4 cyl 6 cyl 8 cyl
Automatic 3 4 12
Manual 8 3 2

Warning in chisq.test(tabel_konting): Chi-squared approximation may be
incorrect
Pearson's Chi-squared test
data: tabel_konting
X-squared = 8.7407, df = 2, p-value = 0.01265
Kesimpulan: Tipe transmisi dan jumlah silinder TIDAK independen (saling berhubungan)
Frekuensi yang diharapkan:
4 cyl 6 cyl 8 cyl
Automatic 6.53125 4.15625 8.3125
Manual 4.46875 2.84375 5.6875
Korelasi Pearson mengukur keeratan hubungan linear antara dua variabel numerik. Nilainya berkisar dari -1 hingga +1: - r ≈ +1: korelasi positif sempurna - r ≈ 0: tidak ada korelasi linear - r ≈ -1: korelasi negatif sempurna
R
mpg cyl disp hp drat wt qsec vs am gear carb
mpg 1.00 -0.85 -0.85 -0.78 0.68 -0.87 0.42 0.66 0.60 0.48 -0.55
cyl -0.85 1.00 0.90 0.83 -0.70 0.78 -0.59 -0.81 -0.52 -0.49 0.53
disp -0.85 0.90 1.00 0.79 -0.71 0.89 -0.43 -0.71 -0.59 -0.56 0.39
hp -0.78 0.83 0.79 1.00 -0.45 0.66 -0.71 -0.72 -0.24 -0.13 0.75
drat 0.68 -0.70 -0.71 -0.45 1.00 -0.71 0.09 0.44 0.71 0.70 -0.09
wt -0.87 0.78 0.89 0.66 -0.71 1.00 -0.17 -0.55 -0.69 -0.58 0.43
qsec 0.42 -0.59 -0.43 -0.71 0.09 -0.17 1.00 0.74 -0.23 -0.21 -0.66
vs 0.66 -0.81 -0.71 -0.72 0.44 -0.55 0.74 1.00 0.17 0.21 -0.57
am 0.60 -0.52 -0.59 -0.24 0.71 -0.69 -0.23 0.17 1.00 0.79 0.06
gear 0.48 -0.49 -0.56 -0.13 0.70 -0.58 -0.21 0.21 0.79 1.00 0.27
carb -0.55 0.53 0.39 0.75 -0.09 0.43 -0.66 -0.57 0.06 0.27 1.00
Pearson's product-moment correlation
data: mtcars$disp and mtcars$wt
t = 10.576, df = 30, p-value = 1.222e-11
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
0.7811586 0.9442902
sample estimates:
cor
0.8879799
Warning: package 'ggplot2' was built under R version 4.4.3
ggplot(mtcars, aes(x = disp, y = wt)) +
geom_point(size = 3, color = "steelblue") +
geom_smooth(method = "lm", se = TRUE, color = "red") +
labs(title = "Hubungan antara Displacement dan Weight",
subtitle = sprintf("Korelasi Pearson: r = %.3f", cor(mtcars$disp, mtcars$wt)),
x = "Displacement (cu.in.)",
y = "Weight (1000 lbs)") +
theme_minimal()`geom_smooth()` using formula = 'y ~ x'

Untuk melihat korelasi banyak variabel sekaligus, gunakan heatmap:
corrplot 0.95 loaded

Interpretasi: - Variabel dengan korelasi tinggi (merah tua/biru tua) saling berhubungan erat - MPG berkorelasi negatif kuat dengan weight, displacement, dan cyl - Weight dan displacement berkorelasi positif sangat kuat
Regresi linear digunakan untuk memodelkan hubungan antara variabel dependen (Y) dan variabel independen (X):
\[Y = \beta_0 + \beta_1 X + \varepsilon\]
di mana: - \(\beta_0\) = intercept (nilai Y ketika X = 0) - \(\beta_1\) = slope (perubahan Y untuk setiap kenaikan 1 unit X) - \(\varepsilon\) = error term
Studi Kasus: Memprediksi weight berdasarkan displacement
R
Call:
lm(formula = wt ~ disp, data = mtcars)
Residuals:
Min 1Q Median 3Q Max
-0.89044 -0.29775 -0.00684 0.33428 0.66525
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.5998146 0.1729964 9.248 2.74e-10 ***
disp 0.0070103 0.0006629 10.576 1.22e-11 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.4574 on 30 degrees of freedom
Multiple R-squared: 0.7885, Adjusted R-squared: 0.7815
F-statistic: 111.8 on 1 and 30 DF, p-value: 1.222e-11
Persamaan Regresi: wt = 1.5998 + 0.0070 × disp
Interpretasi:
- Setiap kenaikan 1 cu.in. displacement, weight bertambah 0.0070 (1000 lbs)
- R-squared: 0.7885 (78.9% variansi weight dijelaskan oleh displacement)
# Visualisasi
plot(mtcars$disp, mtcars$wt,
main = "Regresi Linear: Weight vs Displacement",
xlab = "Displacement (cu.in.)",
ylab = "Weight (1000 lbs)",
pch = 19, col = "steelblue")
abline(model, col = "red", lwd = 2)
legend("topleft",
legend = c("Data", sprintf("y = %.2f + %.4fx", beta_0, beta_1)),
col = c("steelblue", "red"),
pch = c(19, NA),
lty = c(NA, 1),
lwd = c(NA, 2))
Beberapa metrik penting untuk mengevaluasi model:
R-squared: 0.7885
→ Proporsi variansi Y yang dijelaskan oleh model
Adjusted R-squared: 0.7815
Residual Standard Error: 0.4574
→ Rata-rata jarak data dari garis regresi
F-statistic: 111.8496, p-value: 0.000000
→ Model secara keseluruhan SIGNIFIKAN

Interpretasi Plot Residual: 1. Residuals vs Fitted: Harus acak, tidak ada pola → asumsi linearitas terpenuhi 2. Q-Q Plot: Titik harus di sepanjang garis diagonal → asumsi normalitas residual 3. Scale-Location: Harus datar → asumsi homoskedastisitas (variansi konstan) 4. Residuals vs Leverage: Identifikasi outlier berpengaruh
R
# Buat data baru untuk prediksi
data_baru <- data.frame(disp = c(100, 200, 300, 400))
# Lakukan prediksi
prediksi <- predict(model, newdata = data_baru, interval = "confidence", level = 0.95)
# Tampilkan hasil
hasil_prediksi <- cbind(data_baru, prediksi)
colnames(hasil_prediksi) <- c("Displacement", "Prediksi Weight", "CI Lower", "CI Upper")
print(hasil_prediksi) Displacement Prediksi Weight CI Lower CI Upper
1 100 2.300847 2.058800 2.542894
2 200 3.001880 2.831585 3.172174
3 300 3.702912 3.513001 3.892823
4 400 4.403945 4.121484 4.686406
# Visualisasi prediksi
plot(mtcars$disp, mtcars$wt,
main = "Prediksi dengan Interval Kepercayaan 95%",
xlab = "Displacement (cu.in.)",
ylab = "Weight (1000 lbs)",
pch = 19, col = "steelblue",
xlim = c(0, 500), ylim = c(0, 7))
abline(model, col = "red", lwd = 2)
# Tambahkan interval kepercayaan
new_disp <- seq(min(mtcars$disp), max(mtcars$disp), length.out = 100)
pred_interval <- predict(model,
newdata = data.frame(disp = new_disp),
interval = "confidence",
level = 0.95)
lines(new_disp, pred_interval[, "lwr"], col = "orange", lty = 2, lwd = 2)
lines(new_disp, pred_interval[, "upr"], col = "orange", lty = 2, lwd = 2)
# Tambahkan titik prediksi
points(data_baru$disp, prediksi[, "fit"], col = "darkgreen", pch = 17, cex = 2)
legend("topleft",
legend = c("Data Aktual", "Garis Regresi", "CI 95%", "Prediksi Baru"),
col = c("steelblue", "red", "orange", "darkgreen"),
pch = c(19, NA, NA, 17),
lty = c(NA, 1, 2, NA),
lwd = c(NA, 2, 2, NA))
Sebagai data analyst profesional, kemampuan mengomunikasikan hasil sama pentingnya dengan kemampuan analisis. Quarto adalah tools modern untuk membuat laporan analisis yang interaktif dan profesional.
Langkah 1: Buat file Quarto baru di RStudio
File > New File > Quarto Document
Isi judul, misalnya: “Laporan Analisis Performa Kendaraan”
Langkah 2: Struktur dasar file .qmd
---
title: "Laporan Analisis Performa Kendaraan"
author: "Nama Anda"
date: "2025-11-09"
format:
html:
toc: true
toc-depth: 2
code-fold: true
theme: cosmo
---
## Pendahuluan
Laporan ini menyajikan analisis komprehensif tentang...
## Metodologi
### Data
Dataset yang digunakan adalah `mtcars` yang berisi...
### Analisis
Analisis dilakukan menggunakan R dengan pendekatan...Markdown adalah bahasa markup sederhana untuk formatting teks:
# Heading Level 1
## Heading Level 2
### Heading Level 3
**Teks tebal (bold)**
*Teks miring (italic)*
***Teks tebal dan miring***
- Item list 1
- Item list 2
- Sub-item 2.1
- Sub-item 2.2
1. Item bernomor 1
2. Item bernomor 2
3. Item bernomor 3
[Link ke website](https://www.example.com)

> Ini adalah blockquote
> untuk kutipan atau catatan penting
| Kolom 1 | Kolom 2 | Kolom 3 |
|---------|---------|---------|
| Data 1 | Data 2 | Data 3 |
| Data 4 | Data 5 | Data 6 |
`kode inline` untuk menyebut fungsi atau variabel
```kode blok
untuk menulis kode
LaTeX memungkinkan Anda menulis rumus matematis dengan rapi:
Inline math (di dalam kalimat):
Hasil: Rata-rata dihitung dengan rumus \(\bar{x} = \frac{1}{n}\sum_{i=1}^{n}x_i\)
Display math (terpisah, di tengah):
Hasil: \(\bar{x} = \frac{1}{n}\sum_{i=1}^{n}x_i\)
Simbol-simbol umum:
Huruf Yunani:
$\alpha, \beta, \gamma, \delta, \epsilon, \theta, \mu, \sigma, \pi$
$\Sigma, \Delta, \Omega$
Operasi:
$\sum_{i=1}^{n}$, $\int_{a}^{b}$, $\frac{a}{b}$, $\sqrt{x}$, $x^2$, $x_i$
Statistik:
$\bar{x}$ (mean), $s^2$ (variansi), $\hat{\beta}$ (estimator)
Probabilitas:
$P(A)$, $P(A|B)$, $X \sim N(\mu, \sigma^2)$
Relasi:
$\leq, \geq, \neq, \approx, \equiv$Contoh persamaan regresi lengkap:
Quarto memungkinkan eksekusi kode R langsung dalam dokumen:
Opsi chunk untuk kontrol tampilan:
Render ke HTML:
Render ke PDF (perlu install TinyTeX):
Render ke DOCX:
Render ke multiple format sekaligus:
Render melalui kode:
Berikut template lengkap untuk laporan analisis:
---
title: "Analisis Performa Kendaraan: Dataset mtcars"
author: "Data Analyst Tim"
date: "2025-11-02"
format:
html:
toc: true
toc-depth: 3
code-fold: show
code-tools: true
theme: cosmo
highlight-style: github
---
## Executive Summary
Laporan ini menyajikan analisis komprehensif terhadap performa 32 model kendaraan menggunakan dataset `mtcars`. Analisis mencakup statistik deskriptif, pengujian hipotesis, dan pemodelan regresi untuk mengidentifikasi faktor-faktor yang mempengaruhi konsumsi bahan bakar.
**Temuan Utama:**
1. Mobil manual memiliki rata-rata MPG **lebih tinggi** dibanding automatic (signifikan, p < 0.001)
2. Terdapat korelasi **negatif kuat** antara weight dan MPG (r = -0.87)
3. Model regresi dapat menjelaskan **78.9%** variansi weight dari displacement
## Metodologi
### Data
Dataset `mtcars` berisi 32 observasi dengan 11 variabel:
```{r}
#| echo: false
data(mtcars)
str(mtcars)
```
### Analisis Statistik
Analisis dilakukan dengan R versi 4.4.2 menggunakan pendekatan inferensia statistik:
- **Statistik Deskriptif**: mean, median, standar deviasi
- **Uji Hipotesis**: t-test, ANOVA (α = 0.05)
- **Korelasi**: Pearson correlation
- **Regresi**: Simple Linear Regression
## Hasil Analisis
### Perbandingan MPG: Automatic vs Manual
```{r}
#| warning: false
#| fig-cap: "Distribusi MPG berdasarkan tipe transmisi"
boxplot(mpg ~ am, data = mtcars,
names = c("Automatic", "Manual"),
col = c("lightcoral", "lightblue"),
main = "Perbandingan MPG",
ylab = "Miles per Gallon")
# Uji t
t_result <- t.test(mpg ~ am, data = mtcars)
print(t_result)
```
Hasil uji t menunjukkan perbedaan signifikan (p-value < 0.05).
Mobil manual memiliki rata-rata MPG yang lebih tinggi dibandingkan dengan mobil automatic.
### Model Regresi
Model regresi untuk memprediksi weight dari displacement:
$\text{Weight} = \beta_0 + \beta_1 \times \text{Displacement} + \varepsilon$
```{r}
model <- lm(wt ~ disp, data = mtcars)
summary(model)
```
Persamaan regresi yang diperoleh:
$\widehat{\text{Weight}} = 1.6 + 0.00701 \times \text{Displacement}$
dengan $R^2 = 0.789$.
## Kesimpulan dan Rekomendasi
1. **Kesimpulan Utama**: Tipe transmisi dan karakteristik mesin (displacement, weight) memiliki pengaruh signifikan terhadap efisiensi bahan bakar.
2. **Rekomendasi**:
- Untuk efisiensi bahan bakar, prioritaskan kendaraan dengan transmisi manual
- Pertimbangkan trade-off antara tenaga mesin (displacement) dan konsumsi bahan bakar
- Optimalkan weight kendaraan untuk meningkatkan MPG
## Referensi
Henderson and Velleman (1981). Building multiple regression models interactively. *Biometrics*, 37, 391–411.Selamat! Anda telah menyelesaikan modul yang sangat komprehensif tentang inferensia statistik. Mari kita rangkum perjalanan Anda:
Distribusi Sampling: Anda memahami bahwa sampel adalah jembatan untuk memahami populasi. Central Limit Theorem memberikan fondasi matematis untuk inferensia.
Taksiran dan Interval Kepercayaan: Anda tidak hanya memberikan satu angka taksiran, tetapi juga rentang yang merefleksikan ketidakpastian dengan tingkat kepercayaan tertentu.
Pengujian Hipotesis: Anda dapat membuat klaim tentang populasi dan mengujinya secara objektif menggunakan data sampel, baik dengan uji-t, ANOVA, maupun Chi-squared.
Korelasi dan Regresi: Anda dapat mengidentifikasi hubungan antar variabel dan membangun model prediktif untuk pengambilan keputusan.
Komunikasi Hasil: Anda dapat menyajikan analisis kompleks dalam format yang profesional dan mudah dipahami menggunakan Quarto, Markdown, dan LaTeX.
Sebagai data analyst, Anda tidak hanya mengolah angka. Anda: - Mengubah data menjadi insight - Membuat keputusan berbasis bukti - Mengomunikasikan temuan ke stakeholder - Memberikan rekomendasi yang actionable
Keterampilan yang Anda pelajari di modul ini adalah fondasi untuk karir di bidang data science, business analytics, research, dan banyak bidang lainnya.
Untuk memperdalam pemahaman Anda, cobalah eksplorasi sederhana berikut dengan dataset mtcars:
Pilih satu variabel numerik (misalnya hp, mpg, atau wt), lalu: - Hitung mean, median, dan standar deviasinya - Buat visualisasi (histogram atau boxplot) - Buat interval kepercayaan 95% untuk mean-nya
Pilih satu variabel kategorik (misalnya am untuk transmisi atau cyl untuk jumlah silinder), lalu: - Bandingkan mean dari variabel numerik antar kelompok - Lakukan uji t untuk melihat apakah perbedaannya signifikan - Buat visualisasi perbandingan (misalnya boxplot berdampingan)
Jika Anda ingin berlatih membuat laporan dengan Quarto: - Buat file .qmd baru - Tuliskan hasil eksplorasi Anda dengan format Markdown - Sisipkan kode R dan visualisasi - Render ke HTML atau PDF
Catatan: Ini hanya latihan mandiri untuk memperdalam pemahaman. Tidak ada submission atau penilaian formal. Lakukan sesuai dengan kecepatan belajar Anda sendiri!
Selamat bereksplorasi dengan data! 🚀📊