Tugas 2 - Statistika Deskriptif

Pada kali ini kita akan melakukan perbandingan berat badan dan tinggi badan antara kelas A dan Kelas B. Sebelum melakukan analisis lebih lanjut, disajikan terlebih dahulu data yang akan kita gunakan, yaitu sebagai berikut.

# data kelas A
# nama mahasiswa
namaA = c("Ani", "Budi", "Cahya", "Danu", "Eka", "Fitri", "Gilang", "Hani",
          "Indra", "Jihan")

# berat badan mahasiswa
bbA = c(55, 65, 50, 70, 60, 58, 75, 52, 80, 53)

# tinggi badan mahasiswa
tbA =  c(160, 175, 155, 180, 165, 162, 178, 158, 185, 159)

#data berat dan tinggi badan mahasiswa
kelasA = data.frame(namaA, bbA, tbA)

# data kelas B
#nama mahasiswa
namaB = c("Alya", "Bintang", "Rizki", "Ana", "Nanda", "Dimas", "Ali", "Agus",
          "Dwi", "Putri")

#berat badan mahasiswa
bbB = c(50, 55, 53, 60, 58, 70, 52, 57, 59, 54)

#tinggi badan mahasiswa
tbB = c(145, 160, 172, 155, 160, 170, 148, 162, 160, 143)

#data berat dan tinggi badan mahasiswa
kelasB = data.frame(namaB, bbB, tbB)

# membaca data kelas A dan kelas B
kelasA
##     namaA bbA tbA
## 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
kelasB
##      namaB bbB tbB
## 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

A. Analisis dan Perbandingan Berat Badan Mahasiswa Kelas A dan Kelas B

1. Menghitung Ukuran Pemusatan Data

a. Mean

# kelas A
mean_bbA = mean(bbA)
cat("mean_bbA:", mean_bbA, "kg", "\n")
## mean_bbA: 61.8 kg
# kelas B
mean_bbB = mean(bbB)
cat("mean_bbB:", mean_bbB, "kg", "\n")
## mean_bbB: 56.8 kg

Berdasarkan output tersebut dapat kita lihat bahwa nilai rata-rata berat badan mahasiswa kelas A lebih tinggi daripada rata-rata berat badan kelas B. Dimana rata-rata berat badan mahasiswa kelas A adalah 61,8 kg dan kelas B 56,8 kg.

b. Median

# kelas A
median_bbA = median(bbA)
cat("median_bbA:", median_bbA, "kg", "\n")
## median_bbA: 59 kg
# kelas B
median_bbB = median(bbB)
cat("median_bbB:", median_bbB, "kg", "\n")
## median_bbB: 56 kg

Berdasarkan output tersebut dapat kita lihat bahwa nilai median berat badan mahasiswa kelas A lebih tinggi daripada median berat badan kelas B. Dimana nilai median berat badan mahasiswa kelas A adalah 59 kg dan kelas B 56 kg.

c. Modus

# kelas A
modus = function(x) {
  ux = unique(x)
  ux[which.max(tabulate(match(x, ux)))]
}
modus_bbA = modus(bbA)
cat("modus_bbA:", modus_bbA, "kg", "\n")
## modus_bbA: 55 kg
# kelas B
modus = function(x) {
  ux = unique(x)
  ux[which.max(tabulate(match(x, ux)))]
}
modus_bbB = modus(bbB)
cat("modus_bbB:", modus_bbB, "kg", "\n")
## modus_bbB: 50 kg

Berdasarkan output tersebut dapat kita lihat bahwa nilai modus berat badan mahasiswa kelas A lebih tinggi daripada nilai modus berat badan mahasiswa kelas B. Dimana nilai modus berat badan mahasiswa kelas A adalah 55 kg dan kelas B 50 kg.

2. Menghitung Penyebaran Data

a. Range (rentang)

# kelas A
range_bbA = range(bbA)
cat("range_bbA:", range_bbA, "\n")
## range_bbA: 50 80
# kelas B
range_bbB = range(bbB)
cat("range_bbB:", range_bbB, "\n")
## range_bbB: 50 70

Berdasarkan output tersebut dapat kita lihat bahwa range berat badan mahasiswa kelas A adalah 50-80 dan range berat badan mahasiswa kelas B adalah 50-70. Hal tersebut menunjukkan bahwa data berat badan mahasiswa kelas A lebih luas dari pada kelas B.

b. Variansi (keragaman)

# kelas A
var_bbA = var(bbA)
cat("var_bbA:", var_bbA, "\n")
## var_bbA: 106.6222
# kelas B
var_bbB = var(bbB)
cat("var_bbB:", var_bbB, "\n")
## var_bbB: 31.73333

Nilai varians yang lebih besar pada Kelas A menunjukkan bahwa berat badan siswa Kelas A lebih bervariasi atau menyebar jauh dari rata-ratanya dibandingkan Kelas B. Sebaliknya, varians yang lebih kecil pada Kelas B menandakan bahwa berat badan siswa di kelas tersebut cenderung lebih homogen atau seragam.

c. Standar Deviation (simpangan baku)

# kelas A
sd_bbA = sd(bbA)
cat("sd_bbA:", sd_bbA, "\n")
## sd_bbA: 10.3258
# kelas B
sd_bbB = sd(bbB)
cat("sd_bbB:", sd_bbB, "\n")
## sd_bbB: 5.633235

Berdasarkan perhitungan diatas, standar deviasi berat badan Kelas A adalah 10,33 kg, sedangkan Kelas B adalah 5,63 kg. Artinya, berat badan siswa Kelas A memiliki tingkat penyebaran yang lebih besar, dengan variasi sekitar 10,33 kg dari rata-rata, dibandingkan Kelas B yang variasinya hanya sekitar 5,63 kg dari rata-rata. Hal ini menunjukkan bahwa Kelas A memiliki perbedaan berat badan antar siswa yang lebih beragam dibandingkan Kelas B yang lebih homogen.

3. Visualisasi Data

a. Histogram

# kelas A
hist(kelasA$bbA, col = "mistyrose",
     main= "Histogram Berat Badan Mahasiswa Kelas A",
     xlab = "Berat Badan (kg)")

# kelas B
hist(kelasB$bbB, col = "skyblue",
     main= "Histogram Berat Badan Mahasiswa Kelas B",
     xlab = "Berat Badan (kg)")

Dengan melihat kedua histogram diatas maka kita dapat membandingkan bahwa histogram berat badan mahasiswa Kelas A menunjukkan sebaran yang lebih lebar, yaitu dari 50 kg hingga 80 kg, sedangkan Kelas B hanya berkisar antara 50 kg hingga 70 kg. Pada Kelas A, puncak frekuensi terdapat pada rentang 50–55 kg dengan 4 orang, namun masih ada mahasiswa yang memiliki berat badan di atas 70 kg, sehingga distribusinya cenderung condong ke kanan. Sementara itu, Kelas B juga memiliki puncak pada 50–55 kg dengan 5 orang, tetapi jumlah mahasiswa menurun tajam setelah 60 kg dan hanya sedikit yang berada di kisaran 65–70 kg. Hal ini selaras dengan nilai standar deviasi Kelas A yang lebih besar (10,33) dibanding Kelas B (5,63), yang menunjukkan bahwa variasi berat badan di Kelas A lebih besar dibanding Kelas B yang lebih homogen.

b. Bloxpot

# kelas A
boxplot(kelasA$bbA, horizontal = TRUE,
        main = "Boxplot Berat Badan Mahasiswa Kelas A",
        col = "mediumvioletred")

# kelas B
boxplot(kelasB$bbB, horizontal = TRUE,
        main = "Boxplot Berat Badan Mahasiswa Kelas B",
        col = "darkolivegreen")

Berdasarkan boxplot tersebut dapat kita lihat bahwa mahasiswa Kelas A memiliki berat badan lebih tinggi dibandingkan Kelas B, dengan median sekitar 60 kg, sedangkan Kelas B sekitar 56 kg. Berat badan mahasiswa Kelas A juga lebih bervariasi, dengan rentang sekitar 52–80 kg, sementara Kelas B memiliki rentang lebih sempit, yaitu sekitar 50–60 kg, meskipun terdapat satu data pencilan di sekitar 70 kg. Hal ini menunjukkan bahwa mahasiswa Kelas A rata-rata memiliki berat badan lebih besar dan perbedaan berat badan yang lebih beragam dibandingkan mahasiswa Kelas B yang berat badannya lebih seragam.

B. Analisis dan perbandingan Tinggi Badan Mahasiswa Kelas A dan Kelas B

1. Menghitung Ukuran Pemusatan Data

a. Mean

# kelas A
mean_tbA = mean(tbA)
cat("mean_tbA:", mean_tbA, "cm", "\n")
## mean_tbA: 167.7 cm
# kelas B
mean_tbB = mean(tbB)
cat("mean_tbB:", mean_tbB, "cm", "\n")
## mean_tbB: 157.5 cm

Berdasarkan output tersebut dapat kita lihat bahwa nilai rata-rata tinggi badan mahasiswa kelas A lebih tinggi daripada rata-rata tinggi badan mahasiswa kelas B. Dimana rata-rata tinggi badan mahasiswa kelas A adalah 167,7 cm dan kelas B 157,5 cm.

b. Median

# kelas A
median_tbA = median(tbA)
cat("median_tbA:", median_tbA, "cm", "\n")
## median_tbA: 163.5 cm
# kelas B
median_tbB = median(tbB)
cat("median_tbB:", median_tbB, "cm", "\n")
## median_tbB: 160 cm

Berdasarkan output tersebut dapat kita lihat bahwa nilai median tinggi badan mahasiswa kelas A lebih tinggi daripada nilai median tinggi badan mahasiswa kelas B. Dimana nilai median tinggi badan mahasiswa kelas A adalah 163,5 cm dan kelas B 160 cm.

c. Modus

# kelas A
modus = function(x) {
  ux = unique(x)
  ux[which.max(tabulate(match(x, ux)))]
}
modus_tbA = modus(tbA)
cat("modus_tbA:", modus_tbA, "cm", "\n")
## modus_tbA: 160 cm
# kelas B
modus = function(x) {
  ux = unique(x)
  ux[which.max(tabulate(match(x, ux)))]
}
modus_tbB = modus(tbB)
cat("modus_tbB:", modus_tbB, "cm", "\n")
## modus_tbB: 160 cm

Berdasarkan output tersebut dapat kita lihat bahwa nilai modus tinggi badan mahasiswa kelas A sama dengan nilai modus tinggi badan mahasiswa kelas B, yaitu 160 cm.

2. Menghitung Penyebaran Data

a. Range (rentang)

# kelas A
range_tbA = range(tbA)
cat("range_tbA:", range_tbA, "\n")
## range_tbA: 155 185
# kelas B
range_tbB = range(tbB)
cat("range_tbB:", range_tbB, "\n")
## range_tbB: 143 172

Berdasarkan output tersebut dapat kita lihat bahwa range tinggi badan mahasiswa kelas A adalah 155-185 dan range tinggi badan mahasiswa kelas B adalah 143-172. Hal tersebut menunjukkan bahwa data tinggi badan mahasiswa kelas A menyebar lebih luas dari pada kelas B.

b. Variansi (keragaman)

# kelas A
var_tbA = var(tbA)
cat("var_tbA:", var_tbA, "\n")
## var_tbA: 115.5667
# kelas B
var_tbB = var(tbB)
cat("var_tbB:", var_tbB, "\n")
## var_tbB: 96.5

Nilai varians yang lebih besar pada Kelas A menunjukkan bahwa tinggi badan mahasiswa Kelas A lebih bervariasi atau menyebar jauh dari rata-ratanya dibandingkan Kelas B. Sebaliknya, varians yang lebih kecil pada Kelas B menandakan bahwa tinggi badan mahasiswa di kelas tersebut cenderung lebih homogen atau seragam.

c. Standar Deviation (simpangan baku)

# kelas A
sd_tbA = sd(tbA)
cat("sd_tbA:", sd_tbA, "\n")
## sd_tbA: 10.75019
# kelas B
sd_tbB = sd(tbB)
cat("sd_tbB:", sd_tbB, "\n")
## sd_tbB: 9.823441

Berdasarkan perhitungan diatas, standar deviasi tinggi badan Kelas A adalah 10,75 cm, sedangkan Kelas B adalah 9,82 cm. Artinya, tinggi badan mahasiswa Kelas A memiliki tingkat penyebaran yang lebih besar, dengan variasi sekitar 10,75 cm dari rata-rata, dibandingkan Kelas B yang variasinya hanya sekitar 9,82 cm dari rata-rata. Hal ini menunjukkan bahwa Kelas A memiliki perbedaan tinggi badan antar mahasiswa yang lebih beragam dibandingkan Kelas B yang lebih homogen.

3. Visualisasi Data

a. Histogram

# kelas A
hist(kelasA$tbA, col = "thistle",
     main= "Histogram Tinggi Badan Mahasiswa Kelas A",
     xlab = "Tinggi Badan (cm)")

# kelas B
hist(kelasB$tbB, col = "turquoise",
     main= "Histogram Tinggi Badan Mahasiswa Kelas B",
     xlab = "Tinggi Badan (cm)")

Dengan melihat kedua histogram diatas maka kita dapat membandingkan bahwa histogram berat badan mahasiswa Kelas A menunjukkan sebaran yang lebih lebar, yaitu dari 155 cm hingga 185 cm, sedangkan Kelas B hanya berkisar antara 140 cm hingga 175 cm. Pada Kelas A, puncak frekuensi terdapat pada rentang 155–170 cm dengan frekuensi sebanyak 4 orang. Sementara itu, Kelas B juga memiliki puncak pada 155-160 cm dengan frekuensi sebanyak 3 orang. Hal ini selaras dengan nilai standar deviasi Kelas A yang lebih besar (10,75) dibanding Kelas B (9,82), yang menunjukkan bahwa variasi tinggi badan di Kelas A lebih besar dibanding Kelas B yang lebih homogen.

b. Bloxpot

# kelas A
boxplot(kelasA$tbA, horizontal = TRUE,
        main = "Boxplot Tinggi Badan Mahasiswa Kelas A",
        col = "midnightblue")

# kelas B
boxplot(kelasB$tbB, horizontal = TRUE,
        main = "Boxplot Tinggi Badan Mahasiswa Kelas B",
        col = "maroon")

Berdasarkan boxplot diatas dapat kita lihat bahwa mahasiswa Kelas A memiliki tinggi badan lebih tinggi dibandingkan Kelas B, dengan median sekitar 164–165 cm, sedangkan Kelas B sekitar 160 cm. Tinggi badan mahasiswa Kelas A juga lebih bervariasi, dengan rentang sekitar 156–185 cm, sementara Kelas B memiliki rentang lebih sempit, yaitu sekitar 144–171 cm. Hal ini menunjukkan bahwa mahasiswa Kelas A rata-rata lebih tinggi dan memiliki perbedaan tinggi badan yang lebih beragam dibandingkan mahasiswa Kelas B yang tinggi badannya lebih seragam.