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