#Berikut cara menginstal:
#install.packages("dplyr")
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.5.1
##
## 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 persiapan data merupakan proses awal sebelum dilakukan analisis, mencakup tahapan pengumpulan dan pembersihan data. Pada sesi,bagian ini data akan disusun secara langsung melalui pembuatan data frame, seperti berikut:
# Membuat vektor yang berisi daftar nama mahasiswa kelas A
# Membuat data untuk kelas A
# Operator '<-" ini digunakan untuk menetapkan nilai ke variabel
# Fungsi c() berfungsi menggabungkan seluruh data mahasiswa kelas A
nama_A <- c("Ani", "Budi","Cahya","Danu","Eka","Fitri","Gilang", "Hani","Indra", "Jihan")
nama_A
## [1] "Ani" "Budi" "Cahya" "Danu" "Eka" "Fitri" "Gilang" "Hani"
## [9] "Indra" "Jihan"
# Data berat badan A (kg) dari mahasiswa kelas A
berat_badanA <- c (55, 65, 50, 70, 60, 58, 75, 52, 80, 53)
berat_badanA
## [1] 55 65 50 70 60 58 75 52 80 53
# Data tinggi badan A dari 10 mahasiswa kelas A yang di catat dalam satuan sentimeneter
tinggi_badanA <- c (160, 175, 155, 180, 165, 162, 178, 158, 185, 159)
tinggi_badanA
## [1] 160 175 155 180 165 162 178 158 185 159
# Membuat dataframe "kelas_A" yang memuat nama_kelasA, berat_badanA, dan tinggi_badanA dari mahasiswa kelas A
kelas_A <- data.frame (nama_A, berat_badanA, tinggi_badanA)
kelas_A
## nama_A berat_badanA tinggi_badanA
## 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
# Membuat vektor yang berisi daftar nama mahasiswa kelas B
# Membuat data untuk kelas B
# Operator '<-" ini digunakan untuk menetapkan nilai ke variabel
# Fungsi c() berfungsi menggabungkan seluruh data mahasiswa kelas B
nama_kelasB <- c("Alya", "Bintang", "Rizki", "Ana", "Nanda", "Dimas", "Ali", "Agus","Dwi", "Putri")
nama_kelasB
## [1] "Alya" "Bintang" "Rizki" "Ana" "Nanda" "Dimas" "Ali"
## [8] "Agus" "Dwi" "Putri"
# Data berat badan B (kg) dari mahasiswa kelas B
berat_badanB <- c (50, 55, 53, 60, 58, 70, 52, 57, 59, 54)
berat_badanB
## [1] 50 55 53 60 58 70 52 57 59 54
# Data tinggi badan B dari 10 mahasiswa kelas A yang di catat dalam satuan sentimeneter
tinggi_badanB <- c( 145, 160, 172, 155, 160, 170, 148, 162, 160, 143)
tinggi_badanB
## [1] 145 160 172 155 160 170 148 162 160 143
# Membuat dataframe "kelas_B" yang memuat nama_kelasB, berat_badanB, dan tinggi_badanB dari mahasiswa kelas A
kelas_B <- data.frame (nama_kelasB, berat_badanB, tinggi_badanB)
# Menampilkan data mahasiswa kelas A dan kelas B yang telah dibuat sebelumnya.
kelas_A
## nama_A berat_badanA tinggi_badanA
## 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_kelasB berat_badanB tinggi_badanB
## 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 yang mewakili pusat suatu kumpulan data. Tiga ukuran yang umum digunakan yaitu mean (rata-rata), median (nilai tengah), dan modus (nilai yang paling sering muncul). Ketiganya akan dihitung dari kelas A dan Kelas B, sebagai berikut:
#Kelas A
# Menghitung nilai rata-rata (mean) berdasarkan dari berat badanA mahasiswa kelas A
# Lalu menampilkannya di layar dengan satuan kilogram (kg)
mean_berat_badanA <- mean (berat_badanA)
cat("mean_berat_badanA:", mean_berat_badanA, "kg", "\n")
## mean_berat_badanA: 61.8 kg
# Menghitung nilai median (nilai tengah) dari berat badanA mahasiswa kelas A
# Lalu menampilkannya di layar dengan satuan kilogram (kg)
median_berat_badanA <- median (berat_badanA)
cat("median_berat_badanA:", median_berat_badanA, "kg", "\n")
## median_berat_badanA: 59 kg
# Modus Menggunakan fungsi custom
modus <- function(x) { # Membuat fungsi untuk menentukan nilai modus
ux <- unique(x) # Menyimpan nilai unik dari x ke variabel ux
ux[which.max(tabulate(match(x, ux)))] # Menghitung frekuensinya
}
modus_berat_badanA <- modus(berat_badanA) # Menghitung modus dari data
cat("modus_berat_badanA:", modus_berat_badanA, "kg", "\n") #Menampilkan hasil modus dalam (kg)
## modus_berat_badanA: 55 kg
#KelasB
# Menghitung nilai rata-rata (mean) berdasarkan dari berat badanA mahasiswa kelas B
# Lalu menampilkannya di layar dengan satuan kilogram (kg)
mean_berat_badanB <- mean (berat_badanB)
cat("mean_berat_badanB:", mean_berat_badanB, "kg", "\n")
## mean_berat_badanB: 56.8 kg
# Menghitung nilai median (nilai tengah) dari berat badanB dari mahasiswa kelas B
# Lalu menampilkannya di layar dengan satuan kilogram (kg)
median_berat_badanB <- median (berat_badanB)
cat("median_berat_badanB:", median_berat_badanB, "kg", "\n")
## median_berat_badanB: 56 kg
# Modus Menggunakan fungsi custom
modus <- function(x) { # Membuat fungsi untuk menentukan nilai modus
ux <- unique(x) # Menyimpan nilai unik dari x ke variabel ux
ux[which.max(tabulate(match(x, ux)))] # Menghitung frekuensinya
}
modus_berat_badanB <- modus(berat_badanB) # Menghitung modus dari data
cat("modus_berat_badanB:", modus_berat_badanB, "kg", "\n") #Menampilkan hasil modus dalam (kg)
## modus_berat_badanB: 50 kg
Ukuran penyebaran data menunjukkan seberapa jauh data tersebar dari nilai pusatnya. Semakin kecil nilainya, maka data makin mengelompok. Semakin besar nilainya maka data akan bervariasi. Berikut tiga ukuran yang umum digunakan yaitu range (rentang), variance ( variansi), dan standars deviation (simpangan baku), yang akan dihitung untuk data kelas A dan Kelas B, sebagai berikut:
#Kelas A
# Menghitung nilai terendah dan tertinggi berat badanA kelas A (rentang)
range_berat_badanA <- range (berat_badanA)
cat ("range_berat_badanA:", range_berat_badanA, "\n")
## range_berat_badanA: 50 80
# Menghitung variansi berat badanA mahasiswa kelas A, untuk melihat keragamannya
var_berat_badanA <- var (berat_badanA)
cat ("var_berat_badanA:", var_berat_badanA, "\n")
## var_berat_badanA: 106.6222
#Menghitung standar deviation dari data berat badanA mahasiswa kelas A
sd_berat_badanA <- sd(berat_badanA)
cat ( "sd_berat_badanA:", sd_berat_badanA, "\n")
## sd_berat_badanA: 10.3258
#Kelas B
# Menghitung nilai terendah dan tertinggi berat badanB kelas B (rentang)
range_berat_badanB <- range (berat_badanB)
cat ("range_berat_badanB:", range_berat_badanB, "\n")
## range_berat_badanB: 50 70
# Menghitung variansi berat badanB mahasiswa kelas B, untuk melihat keragamannya
var_berat_badanB <- var (berat_badanB)
cat ("var_berat_badanB:", var_berat_badanB, "\n")
## var_berat_badanB: 31.73333
#Menghitung standar deviation dari data berat badanB mahasiswa kelas B
sd_berat_badanB <- sd(berat_badanB)
cat ( "sd_berat_badanB:", sd_berat_badanB, "\n")
## sd_berat_badanB: 5.633235
Terdapat beberapa jenis visualisasi data, seperti histogram dan boxplot, dapat kita lihat seperti berikut:
# Membuat histogram berat badan mahasiswa kelas A
hist(kelas_A$berat_badanA, col = "pink",
main = "Histogram Berat Badan Mahasiswa Kelas A",
xlab = "Berat Badan (kg)")
# Membuat boxplot berat badan mahasiswa kelas A
boxplot (kelas_A$berat_badanA, col = "skyblue",
main = "Boxplot Berat Badan Mahasiswa Kelas A",
xlab = "Berat Badan (kg)")
# Membuat histogram berat badan mahasiswa kelas B
hist(kelas_B$berat_badanB, col = "yellow",
main = "Histogram Berat Badan Mahasiswa Kelas B",
xlab = "Berat Badan (kg)")
# Membuat boxplot berat badan mahasiswa kelas B
boxplot (kelas_B$berat_badanB, col = "purple",
main = "Boxplot Berat Badan Mahasiswa Kelas B",
xlab = "Berat Badan (kg)")
Ukuran Pemusatan Data: Rata- Rata: Mahasiswa kelas A memiliki rata-rata berat badan 61,8 kg, lebih tinggi dibandingkan mahasiswa kelas B yang rata-ratanya 56,8 kg. Ini menandakan mahasiswa kelas A umumnya memiliki berat badan lebih besar.
Median: Median berat badan untuk kelas A sebesar 59 kg, sementara kelas B 56 kg. Ini menunjukkan bahwa separuh mahasiswa kelas A memiliki berat di atas 59 kg, sedangkan separuh mahasiswa kelas B di atas 56 kg.
Modus: Berat yang paling sering muncul di antara dua kelas tersebut adalah kelas A, dimana kelas A adalah 55 kg, sedangkan untuk kelas B 50 kg, ini menandakan bahwa frekuensi tertinggi di antara dua kelas tersebut berada pada kelas A , yang dimana itu lebih tinggi.
Ukuran Penyebaran Data: Range (rentang): Berat badan mahasiswa kelas A bervariasi di antara 50-80 , yang dimana lebih luas dari kelas B yang berkisar di anatara 50-70. Ini menunjukkan bahwa variasi yang lebih besar terdapat pada kelas A.
Variansi: Berat badan mahasiswa kelas A lebih bervariasi daripada kelas B, karena dapat kita lihat bahwa variansinya itu lebih tinggi.
Standar Deviasi: Dapat dilihat bahwa berat badan mahasiswa kelas A menyebar lebih lebar yaitu 10,3258 dari rata-rata, dibandingkan dengan kelas B yaitu 5,63 dari rata-rata. ini menunjukkan bahwa terdapat konsistensi dengan rentang dan variasi sebelumnya.
Histogram A : Histogram ini menunjukkan mayoritas mahasiswa memiliki berat badan antara 50-55 kg dengan frekuensi tertinggi. Semakin naik berat badan, jumlah mahasiswa semakin sedikit. Maksutnya, distribusi datanya condong ke kanan.
Boxplot A : Menunjukkan sebagian besar berat badan mahasiswa Kelas A berada di antara 52-70 kg.
Histogram B: Menunjukkan bahwa mayoritas mahasiswa kelas B memiliki berat badan di antara 50-60 kg. Distribusinya condong ke kanan.
Boxplot B : Menunjukkan sebagian besar berat badan berada di anatara 53- 58.
Ukuran pemusatan data adalah nilai yang mewakili pusat suatu kumpulan data. Tiga ukuran yang umum digunakan yaitu mean (rata-rata), median (nilai tengah), dan modus (nilai yang paling sering muncul). Ketiganya akan dihitung dari kelas A dan Kelas B, sebagai berikut:
#Kelas A
# Menghitung nilai rata-rata (mean) berdasarkan dari tinggi badanA mahasiswa kelas A
# Lalu menampilkannya di layar dengan satuan sentimeter
mean_tinggi_badanA <- mean (tinggi_badanA)
cat("mean_tinggi_badanA:", mean_tinggi_badanA, "cm", "\n")
## mean_tinggi_badanA: 167.7 cm
# Menghitung nilai median (nilai tengah) dari tinggi badanA mahasiswa kelas A
# Lalu menampilkannya di layar dengan satuan sentimeter
median_tinggi_badanA <- median (tinggi_badanA)
cat("median_tinggi_badanA:", median_tinggi_badanA, "cm", "\n")
## median_tinggi_badanA: 163.5 cm
# Modus Menggunakan fungsi custom
modus <- function(x) { # Membuat fungsi untuk menentukan nilai modus
ux <- unique(x) # Menyimpan nilai unik dari x ke variabel ux
ux[which.max(tabulate(match(x, ux)))] # Menghitung frekuensinya
}
modus_tinggi_badanA <- modus(tinggi_badanA) # Menghitung modus dari data
cat("modus_tinggi_badanA:", modus_tinggi_badanA, "cm", "\n") #Menampilkan hasil modus dalam (cm)
## modus_tinggi_badanA: 160 cm
#KelasB
# Menghitung nilai rata-rata (mean) berdasarkan dari tinggi badanA mahasiswa kelas B
# Lalu menampilkannya di layar dengan satuan sentimeter (cm)
mean_tinggi_badanB <- mean (tinggi_badanB)
cat("mean_tinggi_badanB:", mean_tinggi_badanB, "cm", "\n")
## mean_tinggi_badanB: 157.5 cm
# Menghitung nilai median (nilai tengah) dari tinggi badanB dari mahasiswa kelas B
# Lalu menampilkannya di layar dengan satuan sentimeter (cm)
median_tinggi_badanB <- median (tinggi_badanB)
cat("median_tinggi_badanB:", median_tinggi_badanB, "cm", "\n")
## median_tinggi_badanB: 160 cm
# Modus Menggunakan fungsi custom
modus <- function(x) { # Membuat fungsi untuk menentukan nilai modus
ux <- unique(x) # Menyimpan nilai unik dari x ke variabel ux
ux[which.max(tabulate(match(x, ux)))] # Menghitung frekuensinya
}
modus_tinggi_badanB <- modus(tinggi_badanB) # Menghitung modus dari data
cat("modus_tinggi_badanB:", modus_tinggi_badanB, "cm", "\n") #Menampilkan hasil modus dalam (kg)
## modus_tinggi_badanB: 160 cm
Ukuran penyebaran data menunjukkan seberapa jauh data tersebar dari nilai pusatnya. Semakin kecil nilainya, maka data makin mengelompok. Semakin besar nilainya maka data akan bervariasi. Berikut tiga ukuran yang umum digunakan yaitu range (rentang), variance ( variansi), dan standars deviation (simpangan baku), yang akan dihitung untuk data kelas A dan Kelas B, sebagai berikut:
#Kelas A
# Menghitung nilai terendah dan tertinggi tinggi badanA kelas A (rentang)
range_tinggi_badanA <- range (tinggi_badanA)
cat ("range_tinggi_badanA:", range_tinggi_badanA, "\n")
## range_tinggi_badanA: 155 185
# Menghitung variansi tinggi badanA mahasiswa kelas A, untuk melihat keragamannya
var_tinggi_badanA <- var (tinggi_badanA)
cat ("var_tinggi_badanA:", var_tinggi_badanA, "\n")
## var_tinggi_badanA: 115.5667
#Menghitung standar deviation dari data tinggi badanA mahasiswa kelas A
sd_tinggi_badanA <- sd(tinggi_badanA)
cat ( "sd_tinggi_badanA:", sd_tinggi_badanA, "\n")
## sd_tinggi_badanA: 10.75019
#Kelas B
# Menghitung nilai terendah dan tertinggi berat badanB kelas B (rentang)
range_tinggi_badanB <- range (tinggi_badanB)
cat ("range_tinggi_badanB:", range_tinggi_badanB, "\n")
## range_tinggi_badanB: 143 172
# Menghitung variansi tinggi badanB mahasiswa kelas B, untuk melihat keragamannya
var_tinggi_badanB <- var (tinggi_badanB)
cat ("var_tinggi_badanB:", var_tinggi_badanB, "\n")
## var_tinggi_badanB: 96.5
#Menghitung standar deviation dari data tinggi badanB mahasiswa kelas B
sd_tinggi_badanB <- sd(tinggi_badanB)
cat ( "sd_tinggi_badanB:", sd_tinggi_badanB, "\n")
## sd_tinggi_badanB: 9.823441
Terdapat beberapa jenis visualisasi data, seperti histogram dan boxplot, dapat kita lihat seperti berikut:
# Membuat histogram berat badan mahasiswa kelas A
hist(kelas_A$tinggi_badanA, col = "pink",
main = "Histogram Tinggi Badan Mahasiswa Kelas A",
xlab = "Tinggi Badan (kg)")
# Membuat boxplot berat badan mahasiswa kelas A
boxplot (kelas_A$tinggi_badanA, col = "skyblue",
main = "Boxplot Tinggi Badan Mahasiswa Kelas A",
xlab = "Tinggi Badan (kg)")
# Membuat histogram berat badan mahasiswa kelas B
hist(kelas_B$tinggi_badanB, col = "green",
main = "Histogram Tinggi Badan Mahasiswa Kelas B",
xlab = "Tinggi Badan (kg)")
# Membuat boxplot berat badan mahasiswa kelas B
boxplot (kelas_B$berat_badanB, col = "red",
main = "Boxplot Tinggi Badan Mahasiswa Kelas B",
xlab = "Tinggi Badan (kg)")
Kelas A: Rata-rata tinggi badan mahasiswa adalah 167,7 cm, dengan median 163, 5 cm dan modus 160 cm. karena nilai rata-rata lebih besar daripada median dan modus, distribusi data cenderung miring ke kanan.
Kelas B: Rata-rata tinggi badan 157,5 cm, median 160 cm. Distribusi data relatif simetris sedikit miring ke kiri, karena sebagian besar mahasiswa memiliki tinggi badan mendekati 160 cm.
Kelas A: Tinggi badan berkisar antara 155 hingga 185 cm, dengan variansi 115,7 dan sd 10,57. Hal ini menunjukkan variasi tinggi badan mahasiswa cukup besar
Kelas B: Tinggi badan berkisaqr anatara 143 hingga 172 cm, dengan variansi 96,5 dan sd 9,82 cm. Ini menunjukkan bahwa data menandakan tinggi badan mahasiswa lebih seragam.
Histogram A: Mahasiswa memiliki tinggi badan antara 155-160 cm, namaun terdapat beberapa mahasiswa dengan tinggi hingga 185 cm, sehingga ini disebut sebagai distribusi miring ke kanan.
Boxplot A: Terdapat rentang data antara 155-185 fcm, yang menunjukkan variasi tinggi badan cukup besar.
Histogram B: Tinggi badan mahasiswa lebih marata di antara 155-160.
Boxplot B:Menunjukkan tinggi badan mahasiswa yang lebih seragam.