#install.packages("dplyr")
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.4.3
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
Langkah pertama sebelum menganalisis data adalah menyiapkannya, yang berarti mengumpulkan dan membersihkannya. Jadi kita akan membuat data frame langsung dari data yang ada dengan memakai fungsi data.frame.
#Data kelas A
#Nama mahasiswa
nama_A <- c("Ani", "Budi", "Cahya", "Danu", "Eka", "Fitri", "Gilang", "Hani",
"Indra", "Jihan")
#berat badan mahasiswa
bb_A <- c(55, 65, 50, 70, 60, 58, 75, 52, 80, 53)
#tinggi badan mahasiswa
tb_A <- c(160, 175, 155, 180, 165, 162, 178, 158, 185, 159)
#data berat dan tinggi badan mahasiswa
kelas_A <- data.frame(nama_A, bb_A, tb_A)
#data kelas B
#nama mahasiswa
nama_B <- c("Alya", "Bintang", "Rizki", "Ana", "Nanda", "Dimas", "Ali", "Agus",
"Dwi", "Putri")
#berat badan mahasiswa
bb_B <- c(50, 55, 53, 60, 58, 70, 52, 57, 59, 54)
#tinggi badan mahasiswa
tb_B <- c(145, 160, 172, 155, 160, 170, 148, 162, 160, 143)
#data berat dan tinggi badan mahasiswa
kelas_B <- data.frame(nama_B, bb_B, tb_B)
#membaca data kelas A dan B
kelas_A
## nama_A bb_A tb_A
## 1 Ani 55 160
## 2 Budi 65 175
## 3 Cahya 50 155
## 4 Danu 70 180
## 5 Eka 60 165
## 6 Fitri 58 162
## 7 Gilang 75 178
## 8 Hani 52 158
## 9 Indra 80 185
## 10 Jihan 53 159
kelas_B
## nama_B bb_B tb_B
## 1 Alya 50 145
## 2 Bintang 55 160
## 3 Rizki 53 172
## 4 Ana 60 155
## 5 Nanda 58 160
## 6 Dimas 70 170
## 7 Ali 52 148
## 8 Agus 57 162
## 9 Dwi 59 160
## 10 Putri 54 143
Ukuran pemusatan data adalah nilai tunggal yang digunakan untuk mewakili titik pusat dari sekelompok data, memberikan gambaran ringkas tentang karakteristik keseluruhan data. Tiga jenis utamanya adalah rata-rata (mean), yang merupakan nilai rata-rata hitung dan sensitif terhadap nilai ekstrem; median, yaitu nilai tengah dari data yang telah diurutkan dan tidak terpengaruh oleh outlier, serta modus yang merupakan nilai yang paling sering muncul dalam data.
**Berat Badan Mahasiswa Kelas A
# Mean
mean_bbA <- mean(bb_A)
cat("mean_bbA:", mean_bbA, "kg", "\n")
## mean_bbA: 61.8 kg
# Median
median_bbA <- median(bb_A)
cat("median_bbA:", median_bbA, "kg", "\n")
## median_bbA: 59 kg
# Modus (gunakan fungsi custom)
modus <- function(x) {
ux <- unique(x)
ux[which.max(tabulate(match(x, ux)))]
}
modus_bbA <- modus(bb_A)
cat("modus_bbA:", modus_bbA, "kg", "\n")
## modus_bbA: 55 kg
**Berat badan mahasiswa Kelas B
# Mean
mean_bbB <- mean(bb_B)
cat("mean_bbB:", mean_bbB, "kg", "\n")
## mean_bbB: 56.8 kg
# Median
median_bbB <- median(bb_B)
cat("median_bbB:", median_bbB, "kg", "\n")
## median_bbB: 56 kg
# Modus (gunakan fungsi custom)
modus <- function(x) {
ux <- unique(x)
ux[which.max(tabulate(match(x, ux)))]
}
modus_bbB <- modus(bb_B)
cat("modus_bbB:", modus_bbB, "kg", "\n")
## modus_bbB: 50 kg
Ukuran penyebaran data adalah nilai statistik yang menunjukkan seberapa bervariasi atau tersebar nilai-nilai dalam sebuah kumpulan data. Berbeda dengan ukuran pemusatan data yang mencari titik tengah, ukuran penyebaran data memberikan gambaran seberapa jauh data menyimpang dari nilai pusatnya. Jika nilai penyebaran kecil, data cenderung lebih homogen dan mengumpul di sekitar rata-rata. Sebaliknya, jika nilainya besar, data lebih heterogen dan tersebar luas.
**Berat badan mahasiswa kelas A
# Menghitung range (rentang)
range_bbA <- range(bb_A)
cat("range_bbA:", range_bbA, "\n")
## range_bbA: 50 80
# Menghitung variansi (keragaman)
var_bbA <- var(bb_A)
cat("var_bbA:", var_bbA, "\n")
## var_bbA: 106.6222
# Menghitung standar deviation (simpangan baku)
sd_bbA <- sd(bb_A)
cat("sd_bbA:", sd_bbA, "\n")
## sd_bbA: 10.3258
**Berat badan mahasiswa kelas B
# Menghitung range (rentang)
range_bbB <- range(bb_B)
cat("range_bbB:", range_bbB, "\n")
## range_bbB: 50 70
# Menghitung variansi (keragaman)
var_bbB <- var(bb_B)
cat("var_bbB:", var_bbB, "\n")
## var_bbB: 31.73333
# Menghitung standar deviation (simpangan baku)
sd_bbB <- sd(bb_B)
cat("sd_bbB:", sd_bbB, "\n")
## sd_bbB: 5.633235
Berdasarkan hasil pemusatan data,mahasiswa Kelas A memiliki rata-rata berat badan sebesar 61.8 kg, sementara Kelas B sebesar 56.8 kg. Jadi, secara rata-rata, mahasiswa Kelas A lebih berat. Median berat badan Kelas A adalah 59 kg, lebih tinggi dari Kelas B yang hanya 56 kg. Nilai modus Kelas A adalah 55 kg, sedangkan Kelas B memiliki modus 50 kg. Terkait penyebaran, data berat badan Kelas A jauh lebih bervariasi dengan rentang dari 50 kg hingga 80 kg, dan simpangan baku sebesar 10.33. Sebaliknya, berat badan Kelas B lebih seragam, dengan rentang 50 kg hingga 70 kg dan simpangan baku 5.63.
Membantu menampilkan perbedaan berat badan mahasiswa kelas A dan kelas B secara visual sehingga lebih mudah dipahami dibanding angka saja. Visualisasi memudahkan untuk mendeteksi pola, outlier, dan perbandingan distribusi antara dua kelompok.
**Berat badan mahasiswa kelas A
# membuat histogram berat badan mahasiswa
hist(kelas_A$bb_A, col = "skyblue",
main= "Histogram Berat Badan Mahasiswa Kelas A",
xlab = "Berat Badan (kg)")
# membuat boxplot berat badan mahasiswa
boxplot(kelas_A$bb_A, horizontal = TRUE,
main = "Boxplot Berat Badan Mahasiswa Kelas A",
col = "pink")
**Berat badan mahasiswa kelas B
# membuat histogram berat badan mahasiswa
hist(kelas_B$bb_B, col = "skyblue",
main= "Histogram Berat Badan Mahasiswa Kelas B",
xlab = "Berat Badan (kg)")
# membuat boxplot berat badan mahasiswa
boxplot(kelas_B$bb_B, horizontal = TRUE,
main = "Boxplot Berat Badan Mahasiswa Kelas B",
col = "pink")
Dari visualisasi, terlihat jelas perbedaan variasi data kedua kelas. Histogram berat badan Kelas A menunjukkan penyebaran yang lebih luas dan frekuensi yang lebih merata di berbagai rentang berat badan. Sementara itu, histogram Kelas B menunjukkan data yang lebih terkonsentrasi di rentang berat badan yang lebih rendah. Boxplot Kelas A memiliki kotak yang lebih lebar, menandakan variasi yang besar pada berat badan mahasiswa. Boxplot Kelas B, di sisi lain, menunjukkan data yang lebih terpusat dan homogen,meskipun terdapat satu data outlier di 70 kg.
# Kuartil
kuartil_bb_A <- quantile(kelas_A$bb_A, probs = c(0.25, 0.50, 0.75))
kuartil_bb_A
## 25% 50% 75%
## 53.50 59.00 68.75
kuartil_bb_B <- quantile(kelas_B$bb_B, probs = c(0.25, 0.50, 0.75))
kuartil_bb_B
## 25% 50% 75%
## 53.25 56.00 58.75
Perbandingan nilai kuartil menunjukkan bahwa berat badan mahasiswa Kelas A cenderung lebih berat dan memiliki variasi yang lebih besar dibandingkan Kelas B. Median (kuartil kedua) Kelas A lebih tinggi dari Kelas B (59.00 kg vs. 56.00 kg). Rentang interkuartil (IQR), yang merupakan selisih antara Q3 dan Q1, juga lebih besar untuk Kelas A (68.75 - 53.50 = 15.25 kg) dibandingkan Kelas B (58.75 - 53.25 = 5.5 kg). Ini menegaskan bahwa data berat badan di Kelas B lebih terkonsentrasi dan seragam.
Ukuran pemusatan data adalah nilai tunggal yang digunakan untuk mewakili titik pusat dari sekelompok data, memberikan gambaran ringkas tentang karakteristik keseluruhan data. Tiga jenis utamanya adalah rata-rata (mean), yang merupakan nilai rata-rata hitung dan sensitif terhadap nilai ekstrem; median, yaitu nilai tengah dari data yang telah diurutkan dan tidak terpengaruh oleh outlier; serta modus, yang merupakan nilai yang paling sering muncul dalam data.
**Tinggi badan mahasiswa kelas A
# Mean
mean_tbA <- mean(tb_A)
cat("mean_tbA:", mean_tbA, "cm", "\n")
## mean_tbA: 167.7 cm
# Median
median_tbA <- median(tb_A)
cat("median_tbA:", median_tbA, "cm", "\n")
## median_tbA: 163.5 cm
# Modus (gunakan fungsi custom)
modus <- function(x) {
ux <- unique(x)
ux[which.max(tabulate(match(x, ux)))]
}
modus_tbA <- modus(tb_A)
cat("modus_tbA:", modus_tbA,"cm","\n")
## modus_tbA: 160 cm
**Tingi Badan Mahasiswa Kelas B
# Mean
mean_tbB <- mean(tb_B)
cat("mean_tbB:", mean_tbB, "cm", "\n")
## mean_tbB: 157.5 cm
# Median
median_tbB <- median(tb_B)
cat("median_tbB:", median_tbB, "cm", "\n")
## median_tbB: 160 cm
# Modus (gunakan fungsi custom)
modus <- function(x) {
ux <- unique(x)
ux[which.max(tabulate(match(x, ux)))]
}
modus_tbB <- modus(tb_B)
cat("modus_tbB:", modus_tbB,"cm","\n")
## modus_tbB: 160 cm
Ukuran penyebaran data adalah nilai statistik yang menunjukkan seberapa bervariasi atau tersebar nilai-nilai dalam sebuah kumpulan data. Berbeda dengan ukuran pemusatan data yang mencari titik tengah, ukuran penyebaran data memberikan gambaran seberapa jauh data menyimpang dari nilai pusatnya. Jika nilai penyebaran kecil, data cenderung lebih homogen dan mengumpul di sekitar rata-rata. Sebaliknya, jika nilainya besar, data lebih heterogen dan tersebar luas.
**Tinggi Badan Mahasiswa Kelas A
# Menghitung range (rentang)
range_tbA <- range(tb_A)
cat("range_tbA:", range_tbA, "\n")
## range_tbA: 155 185
# Menghitung variansi (keragaman)
var_tbA <- var(tb_A)
cat("var_tbA:", var_tbA, "\n")
## var_tbA: 115.5667
# Menghitung standar deviation (simpangan baku)
sd_tbA <- sd(tb_A)
cat("sd_tbA:", sd_tbA,"\n")
## sd_tbA: 10.75019
**Tinggi Badan Mahasiswa Kelas B
# Menghitung range (rentang)
range_tbB <- range(tb_B)
cat("range_tbB:", range_tbB, "\n")
## range_tbB: 143 172
# Menghitung variansi (keragaman)
var_tbB <- var(tb_B)
cat("var_tbB:", var_tbB, "\n")
## var_tbB: 96.5
# Menghitung standar deviation (simpangan baku)
sd_tbB <- sd(tb_B)
cat("sd_tbB:", sd_tbB,"\n")
## sd_tbB: 9.823441
Berdasarkan pemusatan data, mahasiswa Kelas A memiliki rata-rata tinggi badan 167.7 cm, yang lebih tinggi daripada Kelas B dengan rata-rata 157.5 cm. Namun, nilai median dan modus untuk kedua kelas relatif lebih dekat, dengan median Kelas A 163.5 cm dan Kelas B 160 cm, serta modus keduanya sama-sama 160 cm. Meskipun demikian, Pada Penyebaran data rentang tinggi badan Kelas A (155 cm hingga 185 cm) lebih besar daripada Kelas B (143 cm hingga 172 cm). Nilai variansi dan simpangan baku Kelas A (115.57 dan 10.75) juga sedikit lebih besar dibandingkan Kelas B (96.5 dan 9.82), menunjukkan sedikit variasi yang lebih besar pada data tinggi badan di Kelas A.
Untuk membantu menampilkan perbedaan tinggi badan mahasiswa kelas A dan kelas B secara visual sehingga lebih mudah dipahami dibanding angka saja. Visualisasi memudahkan untuk mendeteksi pola, outlier, dan perbandingan distribusi antara dua kelompok.
**Tinggi Badan Mahsiswa Kelas A
# membuat histogram tinggi badan mahasiswa
hist(kelas_A$tb_A, col = "pink",
main= "Histogram Tinggi Badan Mahasiswa Kelas A",
xlab = "Tinggi Badan (kg)")
# membuat boxplot tinggi badan mahasiswa
boxplot(kelas_A$tb_A, horizontal = TRUE,
main = "Boxplot Tinggi Badan Mahasiswa Kelas A",
col = "navy")
**Tinggi Badan Mahasiswa Kelas B
# membuat histogram berat badan mahasiswa
hist(kelas_B$tb_B, col = "pink",
main= "Histogram Tinggi Badan Mahasiswa Kelas B",
xlab = "Tinggi Badan (kg)")
# membuat boxplot berat badan mahasiswa
boxplot(kelas_B$tb_B, horizontal = TRUE,
main = "Boxplot Tinggi Badan Mahasiswa Kelas B",
col = "navy")
Berdasarkan visualisasi data tinggi badan, baik dari histogram maupun boxplot, dapat disimpulkan bahwa tinggi badan mahasiswa di Kelas A memiliki variasi yang lebih besar. Hal ini terlihat dari histogram Kelas A yang menunjukkan distribusi data yang lebih tersebar dengan beberapa kelompok tinggi yang berbeda, serta boxplotnya yang memiliki rentang kuartil yang lebih luas. Sebaliknya, visualisasi untuk Kelas B menunjukkan data tinggi badan yang lebih seragam dan terkonsentrasi di sekitar nilai 160 cm, dengan histogram yang lebih terpusat dan boxplot yang lebih sempit, menandakan variasi yang lebih kecil di antara para mahasiswanya.
# Kuartil
kuartil_tb_A <- quantile(kelas_A$tb_A, probs = c(0.25, 0.50, 0.75))
kuartil_tb_A
## 25% 50% 75%
## 159.25 163.50 177.25
kuartil_tb_B <- quantile(kelas_B$tb_B, probs = c(0.25, 0.50, 0.75))
kuartil_tb_B
## 25% 50% 75%
## 149.75 160.00 161.50
Perbandingan nilai kuartil menunjukkan bahwa tinggi badan mahasiswa Kelas A cenderung lebih tinggi daripada Kelas B. Median (kuartil kedua) Kelas A lebih tinggi dari Kelas B (163.50 cm vs. 160.00 cm). Rentang interkuartil (IQR), yang merupakan selisih antara Q3 dan Q1, juga lebih besar untuk Kelas A (177.25 - 159.25 = 18 cm) dibandingkan Kelas B (161.50 - 149.75 = 11.75 cm). Ini menegaskan bahwa data tinggi badan di Kelas B lebih terkonsentrasi dan seragam.
Hasil analisis menunjukkan mahasiswa Kelas A memiliki rata-rata berat badan yang lebih tinggi (61.8 kg) dibandingkan dengan mahasiswa Kelas B (56.8 kg). Selain itu, data berat badan di Kelas A menunjukkan variasi yang jauh lebih besar, terlihat dari nilai simpangan baku sebesar 10.33, yang lebih dari dua kali lipat simpangan baku Kelas B yang hanya 5.63. Hal ini menunjukkan bahwa berat badan mahasiswa Kelas B cenderung lebih seragam, sementara di Kelas A terdapat perbedaan yang signifikan antara mahasiswa terberat dan teringan.Kemudian,hasil analisis menunjukkan bahwa mahasiswa Kelas A memiliki rata-rata tinggi badan (167.7 cm) yang lebih tinggi dibandingkan Kelas B (157.5 cm). Meskipun kedua kelas memiliki modus tinggi badan yang sama yaitu 160 cm, variasi tinggi badan di Kelas A sedikit lebih besar, yang ditunjukkan oleh simpangan baku 10.75 dibandingkan 9.82 pada Kelas B. Variasi yang lebih besar ini juga terlihat dari rentang interkuartil (IQR) Kelas A yang jauh lebih lebar dibandingkan Kelas B.