library(ggplot2)
library(readxl)
library(ggthemes)
library(gridExtra)
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.4.3
##
## Attaching package: 'dplyr'
## The following object is masked from 'package:gridExtra':
##
## combine
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
bulan <- c("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "sep")
jumlah_terjual <- c(94, 87, 101, 58, 82, 82, 80, 88, 72)
harga_rata2 <- c(200, 210, 205, 215, 220, 225, 230, 235, 180)
merk_mobil <- c("Toyota", "Daihatsu", "Honda", "MSB", "Suzuki", "Fuso", "Isuzu", "HYND" , "Hino")
penjualan_mobil <- data.frame(
Bulan = bulan,
Jumlah_Terjual = jumlah_terjual,
Harga_Rata2 = harga_rata2,
Merk_Mobil = merk_mobil
)
print(penjualan_mobil)
## Bulan Jumlah_Terjual Harga_Rata2 Merk_Mobil
## 1 Jan 94 200 Toyota
## 2 Feb 87 210 Daihatsu
## 3 Mar 101 205 Honda
## 4 Apr 58 215 MSB
## 5 May 82 220 Suzuki
## 6 Jun 82 225 Fuso
## 7 Jul 80 230 Isuzu
## 8 Aug 88 235 HYND
## 9 sep 72 180 Hino
penjualan_merk <- penjualan_mobil %>%
group_by(Merk_Mobil) %>%
summarise(Total_Terjual = sum(Jumlah_Terjual))
penjualan_merk <- data.frame(Merk_Mobil = merk_mobil, Jumlah_Terjual = jumlah_terjual)
# Menghitung total penjualan per merk
penjualan_merk_sum <- aggregate(Jumlah_Terjual ~ Merk_Mobil, data = penjualan_merk, sum)
# Menghitung persentase untuk setiap merk
penjualan_merk_sum$Persentase <- (penjualan_merk_sum$Jumlah_Terjual / sum(penjualan_merk_sum$Jumlah_Terjual)) * 100
# Menyusun label dengan persentase
labels <- paste(penjualan_merk_sum$Merk_Mobil, "\n", round(penjualan_merk_sum$Persentase, 1), "%")
pie(penjualan_merk_sum$Jumlah_Terjual,
labels = labels,
main = "Pie Chart: Distribusi Penjualan Mobil per Merk",
col = rainbow(length(penjualan_merk_sum$Merk_Mobil)))
Berdasarkan data pie chart yang ada terlihat bahwa mobil pabrikan HONDA merupakan mobil dengan persentase penjualan tertinggi mencapai (13.6%) lalu diikuti oleh TOYOTA (12.6%), HYUNDAI (11.8%). Dan mobil yang paling sedikit dibeli ada pada mobil pabrikan MITSUBISHI yang hanya terjual sekitar (7.8%)
barplot(penjualan_merk_sum$Jumlah_Terjual, names.arg = penjualan_merk_sum$Merk_Mobil,
col = "lightblue",
main = "Bar Chart: Penjualan Mobil per Merk",
xlab = "Merk Mobil", ylab = "Jumlah Terjual (SATUAN RIBU)")
Dari data Bar chart diatas terlihat bahwa mobil pabrikan HONDA terjual hingga seratus ribu unit unit lalu ada TOYOTA yang terjual sekitar sembilan puluh ribu unit dan pabrikan dengan penjualan paling sedikit yaitu MITSUBISHI yang hanya terjual sekitar lima puluh ribu unit.
# Membuat Histogram untuk jumlah terjual
hist(jumlah_terjual, col = "lightgreen",
main = "Histogram: Jumlah Mobil Terjual",
xlab = "Jumlah Terjual (SATUAN RIBU)", ylab = "Frekuensi")
Dari data histogram diatas bisa terlihat rentang penjualan mobil ada di 50 ribu hingga 100 ribu unit. Penjualan mobil tertinggi ada di rentang 80 gingga 90 ribu unit.
plot(density(jumlah_terjual),
main = "Density Plot: Jumlah Mobil Terjual",
xlab = "Jumlah Terjual (SATUAN RIBU) ", ylab = "Kepadatan",
col = "darkblue")
Berdasarkan data density plot diatas dapat disimbulkan bahwa, sebagian besar mobil terjual dalam kisaran 60–90 ribu unit, dengan jumlah terbanyak sekitar 85 ribu unit, sementara ada juga kelompok lebih kecil di sekitar 60 ribu unit.
# Membuat Boxplot untuk jumlah terjual
boxplot(jumlah_terjual, main = "Boxplot: Jumlah Mobil Terjual",
ylab = "Jumlah Terjual (SATUAN RIBU)", col = "lightcoral")
Berdasarkan data diatas dapat disimpulkan bahwa, sebagian besar penjualan mobil berkisar antara 70–90 ribu unit, dengan 80 ribu unit sebagai nilai tengah.
# Menghitung Mean (Rata-rata)
mean_value <- mean(jumlah_terjual)
print(paste("Mean:", mean_value))
## [1] "Mean: 82.6666666666667"
# Menghitung Median
median_value <- median(jumlah_terjual)
print(paste("Median:", median_value))
## [1] "Median: 82"
# Menghitung Modus
modus_value <- as.numeric(names(sort(table(jumlah_terjual), decreasing=TRUE)[1]))
print(paste("Modus:", modus_value))
## [1] "Modus: 82"
# Menghitung Kuartil
q1 <- quantile(jumlah_terjual, 0.25)
q2 <- quantile(jumlah_terjual, 0.50) # Sama dengan median
print(paste("Q1:", q1))
## [1] "Q1: 80"
print(paste("Q2 (Median):", q2))
## [1] "Q2 (Median): 82"
# Menghitung Range (Max - Min)
range_value <- max(jumlah_terjual) - min(jumlah_terjual)
print(paste("Range:", range_value))
## [1] "Range: 43"
# Menghitung Varians
var_value <- var(jumlah_terjual)
print(paste("Varians:", var_value))
## [1] "Varians: 155.25"
# Menghitung Standar Deviasi
sd_value <- sd(jumlah_terjual)
print(paste("Standar Deviasi:", sd_value))
## [1] "Standar Deviasi: 12.4599357943771"
data diatas Berdasarkan dari data penjualan mobil dari beberapa merk mobil dalam 9 bulan