R Markdown
library(dplyr)
##
## 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
databaru <- read.csv("data_penjualan.csv")
head(databaru)
## ID_Transaksi Tanggal Cabang Admin Kategori Produk
## 1 TRX0001 2025-01-01 Jakarta Maya Elektronik Smartwatch Fit
## 2 TRX0002 2025-01-01 Semarang Budi Alat Kantor Kertas A4 (Rim)
## 3 TRX0003 2025-01-02 Bandung Putri Aksesori Power Bank 20000
## 4 TRX0004 2025-01-05 Bandung Wawan Elektronik Earbuds Pro
## 5 TRX0005 2025-01-05 Semarang Budi Alat Kantor Kertas A4 (Rim)
## 6 TRX0006 2025-01-09 Surabaya Lestari Elektronik Smartwatch Fit
## Harga_Satuan Jumlah Diskon_Persen Total_Penjualan Metode_Pembayaran
## 1 1800000 2 0 3600000 E-Wallet
## 2 55000 3 15 140250 Kartu Kredit
## 3 280000 6 5 1596000 Tunai
## 4 650000 5 15 2762500 E-Wallet
## 5 55000 9 0 495000 Tunai
## 6 1800000 1 0 1800000 Transfer
## Segmen_Pelanggan Rating
## 1 Baru 5
## 2 Baru 4
## 3 Lama 5
## 4 Baru 5
## 5 Lama 5
## 6 Lama 5
#1.produk yang memiliki penjualan terbesar dan berapa nilainya dan produk apa yang paling banyak terjual berdasarkan nilainya
## 1. Produk dengan Total_Penjualan terbesar
produk_sales_terbesar <- databaru %>%
group_by(Produk) %>%
summarise(Total_Nilai_Penjualan = sum(Total_Penjualan, na.rm = TRUE)) %>%
arrange(desc(Total_Nilai_Penjualan)) %>%
slice(1)
print("Produk dengan Nilai Penjualan Terbesar:")
## [1] "Produk dengan Nilai Penjualan Terbesar:"
print(produk_sales_terbesar)
## # A tibble: 1 × 2
## Produk Total_Nilai_Penjualan
## <chr> <int>
## 1 Smartphone X5 314160000
## 2. Produk dengan Jumlah unit terjual terbanyak
produk_unit_terbanyak <- databaru %>%
group_by(Produk) %>%
summarise(Total_Unit_Terjual = sum(Jumlah, na.rm = TRUE)) %>%
arrange(desc(Total_Unit_Terjual)) %>%
slice(1)
print("Produk dengan Unit Terjual Terbanyak:")
## [1] "Produk dengan Unit Terjual Terbanyak:"
print(produk_unit_terbanyak)
## # A tibble: 1 × 2
## Produk Total_Unit_Terjual
## <chr> <int>
## 1 Kertas A4 (Rim) 289
#2. Menghitung penjualan per cabang untuk kategori Elektronik diskon >= 10%
cabang_elektronik_tertinggi <- databaru %>%
filter(Kategori == "Elektronik" & Diskon_Persen >= 10) %>%
group_by(Cabang) %>%
summarise(Total_Penjualan_Cabang = sum(Total_Penjualan, na.rm = TRUE)) %>%
arrange(desc(Total_Penjualan_Cabang))
print("Total Penjualan per Cabang (Elektronik, Diskon >= 10%):")
## [1] "Total Penjualan per Cabang (Elektronik, Diskon >= 10%):"
print(cabang_elektronik_tertinggi)
## # A tibble: 4 × 2
## Cabang Total_Penjualan_Cabang
## <chr> <int>
## 1 Surabaya 155022500
## 2 Jakarta 92865000
## 3 Semarang 52305000
## 4 Bandung 32017500
print("Cabang Tertinggi:")
## [1] "Cabang Tertinggi:"
print(slice(cabang_elektronik_tertinggi, 1))
## # A tibble: 1 × 2
## Cabang Total_Penjualan_Cabang
## <chr> <int>
## 1 Surabaya 155022500
#3.kategori elektronik dengan diskon minimal 10%, hitung total penjualan per cabang, cabang mana yang tertinggi dan berapa nilainya
## Soal 3a: Jakarta + E-Wallet
jakarta_ewallet <- databaru %>%
filter(Cabang == "Jakarta" & Metode_Pembayaran == "E-Wallet") %>%
summarise(
Jumlah_Transaksi = n(),
Rata_Rata_Penjualan = mean(Total_Penjualan, na.rm = TRUE)
)
print("Hasil Analisis Jakarta + E-Wallet:")
## [1] "Hasil Analisis Jakarta + E-Wallet:"
print(jakarta_ewallet)
## Jumlah_Transaksi Rata_Rata_Penjualan
## 1 38 3793776
## Soal 3b: Metode pembayaran dengan rata-rata tertinggi di Jakarta
metode_tertinggi_jakarta <- databaru %>%
filter(Cabang == "Jakarta") %>%
group_by(Metode_Pembayaran) %>%
summarise(Rata_Rata_Penjualan = mean(Total_Penjualan, na.rm = TRUE)) %>%
arrange(desc(Rata_Rata_Penjualan))
print("Rata-rata Penjualan per Metode Pembayaran di Jakarta:")
## [1] "Rata-rata Penjualan per Metode Pembayaran di Jakarta:"
print(metode_tertinggi_jakarta)
## # A tibble: 4 × 2
## Metode_Pembayaran Rata_Rata_Penjualan
## <chr> <dbl>
## 1 Kartu Kredit 4906550
## 2 E-Wallet 3793776.
## 3 Transfer 3194140
## 4 Tunai 2838809.
#4.Subset data dan analisis performa Admin
performa_admin <- databaru %>%
filter(Jumlah >= 5 & Diskon_Persen > 0) %>%
group_by(Admin) %>%
summarise(
Total_Penjualan_Admin = sum(Total_Penjualan, na.rm = TRUE),
Jumlah_Transaksi_Ditangani = n()
) %>%
arrange(desc(Total_Penjualan_Admin)) %>%
slice(1)
print("Admin Terbaik pada Subset Transaksi:")
## [1] "Admin Terbaik pada Subset Transaksi:"
print(performa_admin)
## # A tibble: 1 × 3
## Admin Total_Penjualan_Admin Jumlah_Transaksi_Ditangani
## <chr> <int> <int>
## 1 Rina 24523750 9
#5.Subset data dan analisis performa Admin
performa_admin <- databaru %>%
filter(Jumlah >= 5 & Diskon_Persen > 0) %>%
group_by(Admin) %>%
summarise(
Total_Penjualan_Admin = sum(Total_Penjualan, na.rm = TRUE),
Jumlah_Transaksi_Ditangani = n()
) %>%
arrange(desc(Total_Penjualan_Admin)) %>%
slice(1)
print("Admin Terbaik pada Subset Transaksi:")
## [1] "Admin Terbaik pada Subset Transaksi:"
print(performa_admin)
## # A tibble: 1 × 3
## Admin Total_Penjualan_Admin Jumlah_Transaksi_Ditangani
## <chr> <int> <int>
## 1 Rina 24523750 9