Perusahaan ingin memahami karakteristik penyebaran data hasil penjualan dari empat cabang (A, B, C, dan D) selama satu bulan terakhir. Analisis ini melibatkan perhitungan statistik deskriptif dan visualisasi data untuk membantu perusahaan dalam merencanakan strategi peningkatan penjualan.
Berikut adalah data penjualan (dalam juta rupiah) dari keempat cabang selama satu bulan terakhir:
# DATA PENJUALAN
cabang_A <- c(50, 55, 60, 65, 70)
cabang_B <- c(40, 50, 60, 70, 80)
cabang_C <- c(30, 30, 35, 40, 45)
cabang_D <- c(70, 75, 80, 85, 90)
# Rata-rata, Median, dan Standar Deviasi
statistik <- data.frame(
Cabang = c("A", "B", "C", "D"),
Mean = c(mean(cabang_A), mean(cabang_B), mean(cabang_C), mean(cabang_D)),
Median = c(median(cabang_A), median(cabang_B), median(cabang_C), median(cabang_D)),
SD = c(sd(cabang_A), sd(cabang_B), sd(cabang_C), sd(cabang_D))
)
statistik
## Cabang Mean Median SD
## 1 A 60 60 7.905694
## 2 B 60 60 15.811388
## 3 C 36 35 6.519202
## 4 D 80 80 7.905694
# DATA PENJUALAN
cabang_A <- c(50, 55, 60, 65, 70)
cabang_B <- c(40, 50, 60, 70, 80)
cabang_C <- c(30, 30, 35, 40, 45)
cabang_D <- c(70, 75, 80, 85, 90)
# 1. PERHITUNGAN RATA-RATA, MEDIAN, DAN STANDAR DEVIASI
mean_A <- mean(cabang_A)
mean_B <- mean(cabang_B)
mean_C <- mean(cabang_C)
mean_D <- mean(cabang_D)
median_A <- median(cabang_A)
median_B <- median(cabang_B)
median_C <- median(cabang_C)
median_D <- median(cabang_D)
sd_A <- sd(cabang_A)
sd_B <- sd(cabang_B)
sd_C <- sd(cabang_C)
sd_D <- sd(cabang_D)
# Menampilkan hasil
statistik <- data.frame(
Cabang = c("A", "B", "C", "D"),
Mean = c(mean_A, mean_B, mean_C, mean_D),
Median = c(median_A, median_B, median_C, median_D),
SD = c(sd_A, sd_B, sd_C, sd_D)
)
print("Hasil Statistik:")
## [1] "Hasil Statistik:"
print(statistik)
## Cabang Mean Median SD
## 1 A 60 60 7.905694
## 2 B 60 60 15.811388
## 3 C 36 35 6.519202
## 4 D 80 80 7.905694
# 2. CABANG DENGAN PENYEBARAN DATA TERKECIL
min_sd <- which.min(c(sd_A, sd_B, sd_C, sd_D))
paste("Cabang dengan penyebaran data terkecil adalah Cabang", LETTERS[min_sd])
## [1] "Cabang dengan penyebaran data terkecil adalah Cabang C"
# 3. CABANG YANG GAGAL MENCAPAI TARGET
target <- 50
gagal_A <- all(cabang_A < target)
gagal_B <- all(cabang_B < target)
gagal_C <- all(cabang_C < target)
gagal_D <- all(cabang_D < target)
gagal <- data.frame(
Cabang = c("A", "B", "C", "D"),
Gagal = c(gagal_A, gagal_B, gagal_C, gagal_D)
)
print("Cabang yang gagal mencapai target penjualan:")
## [1] "Cabang yang gagal mencapai target penjualan:"
print(gagal)
## Cabang Gagal
## 1 A FALSE
## 2 B FALSE
## 3 C TRUE
## 4 D FALSE
# 4. DIAGRAM KOTAK (BOX PLOT)
library(ggplot2)
data <- data.frame(
Penjualan = c(cabang_A, cabang_B, cabang_C, cabang_D),
Cabang = rep(c("A", "B", "C", "D"), each = 5)
)
ggplot(data, aes(x = Cabang, y = Penjualan)) +
geom_boxplot() +
labs(title = "Penyebaran Data Penjualan",
x = "Cabang",
y = "Penjualan (Juta Rupiah)") +
theme_minimal()
# 5. STRATEGI PENINGKATAN PENJUALAN
cat("
Strategi Peningkatan Penjualan:
1. Fokus pada cabang C karena memiliki rata-rata penjualan terendah dan gagal mencapai target.
2. Tingkatkan pelatihan untuk cabang dengan penyebaran besar seperti cabang B agar lebih konsisten.
3. Analisis keberhasilan cabang D dengan penyebaran data tinggi dan rata-rata tinggi untuk diterapkan di cabang lain.
4. Berikan insentif kepada cabang yang konsisten mencapai target penjualan untuk memotivasi performa.
")
##
## Strategi Peningkatan Penjualan:
## 1. Fokus pada cabang C karena memiliki rata-rata penjualan terendah dan gagal mencapai target.
## 2. Tingkatkan pelatihan untuk cabang dengan penyebaran besar seperti cabang B agar lebih konsisten.
## 3. Analisis keberhasilan cabang D dengan penyebaran data tinggi dan rata-rata tinggi untuk diterapkan di cabang lain.
## 4. Berikan insentif kepada cabang yang konsisten mencapai target penjualan untuk memotivasi performa.
## Analisis Efisiensi Pengiriman Barang
### Data Pengiriman Barang
# Membuat data pengiriman
pengiriman <- data.frame(
Wilayah = c("Utara", "Selatan", "Timur", "Barat", "Tengah", "Utara",
"Selatan", "Timur", "Barat", "Tengah", "Utara", "Selatan",
"Timur", "Barat", "Tengah"),
Jenis_Barang = c("Elektronik", "Pakaian", "Makanan", "Peralatan", "Elektronik",
"Pakaian", "Makanan", "Peralatan", "Elektronik", "Pakaian",
"Peralatan", "Elektronik", "Pakaian", "Makanan", "Peralatan"),
Jumlah_Barang = c(200, 150, 180, 120, 250, 300, 220, 140, 180, 350,
170, 250, 190, 130, 180),
Waktu_Pengiriman = c(5, 8, NA, 5, NA, 9, 8, 5, 0, 8, NA, NA, NA, 5, 5),
Biaya_Per_Unit = c(1000, 800, 700, 900, 1100, 800, 700, 900, 950, 800,
850, 1000, 750, 700, 900)
)
pengiriman
## Wilayah Jenis_Barang Jumlah_Barang Waktu_Pengiriman Biaya_Per_Unit
## 1 Utara Elektronik 200 5 1000
## 2 Selatan Pakaian 150 8 800
## 3 Timur Makanan 180 NA 700
## 4 Barat Peralatan 120 5 900
## 5 Tengah Elektronik 250 NA 1100
## 6 Utara Pakaian 300 9 800
## 7 Selatan Makanan 220 8 700
## 8 Timur Peralatan 140 5 900
## 9 Barat Elektronik 180 0 950
## 10 Tengah Pakaian 350 8 800
## 11 Utara Peralatan 170 NA 850
## 12 Selatan Elektronik 250 NA 1000
## 13 Timur Pakaian 190 NA 750
## 14 Barat Makanan 130 5 700
## 15 Tengah Peralatan 180 5 900
library(plotly)
## Warning: package 'plotly' was built under R version 4.4.2
##
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
##
## last_plot
## The following object is masked from 'package:stats':
##
## filter
## The following object is masked from 'package:graphics':
##
## layout
library(magrittr)
## Warning: package 'magrittr' was built under R version 4.4.2
# Membersihkan data dari nilai NA
pengiriman_clean <- na.omit(pengiriman)
# Visualisasi 3D
fig <- plot_ly(
pengiriman_clean,
x = ~Jumlah_Barang,
y = ~Waktu_Pengiriman,
z = ~Biaya_Per_Unit,
color = ~Wilayah,
type = "scatter3d",
mode = "markers"
) %>%
layout(
title = "Visualisasi 3D Pengiriman Barang",
scene = list(
xaxis = list(title = "Jumlah Barang"),
yaxis = list(title = "Waktu Pengiriman"),
zaxis = list(title = "Biaya Per Unit")
)
)
fig
# Menghitung efisiensi: Waktu pengiriman x Biaya per unit
pengiriman$Efisiensi <- pengiriman$Waktu_Pengiriman * pengiriman$Biaya_Per_Unit
# Wilayah dengan efisiensi terendah
wilayah_terendah <- pengiriman[which.max(pengiriman$Efisiensi), ]
wilayah_terendah
## Wilayah Jenis_Barang Jumlah_Barang Waktu_Pengiriman Biaya_Per_Unit Efisiensi
## 6 Utara Pakaian 300 9 800 7200
# Menghitung rata-rata waktu dan biaya per unit berdasarkan jenis barang
kinerja_jenis <- aggregate(cbind(Waktu_Pengiriman, Biaya_Per_Unit) ~ Jenis_Barang,
data = pengiriman,
FUN = mean, na.rm = TRUE)
kinerja_jenis
## Jenis_Barang Waktu_Pengiriman Biaya_Per_Unit
## 1 Elektronik 2.500000 975
## 2 Makanan 6.500000 700
## 3 Pakaian 8.333333 800
## 4 Peralatan 5.000000 900
# Jenis barang dengan waktu tercepat dan biaya termurah
tercepat <- kinerja_jenis[which.min(kinerja_jenis$Waktu_Pengiriman), ]
termurah <- kinerja_jenis[which.min(kinerja_jenis$Biaya_Per_Unit), ]
tercepat
## Jenis_Barang Waktu_Pengiriman Biaya_Per_Unit
## 1 Elektronik 2.5 975
termurah
## Jenis_Barang Waktu_Pengiriman Biaya_Per_Unit
## 2 Makanan 6.5 700