Dalam era perkembangan bisnis yang semakin kompetitif, pemanfaatan data menjadi hal yang sangat penting dalam mendukung pengambilan keputusan. Analisis data dapat membantu perusahaan untuk memahami pola penjualan, keuntungan, serta faktor-faktor yang memengaruhi kinerja bisnis.
Pada analisis ini digunakan Coffee Chain Dataset yang memuat informasi mengenai penjualan (Sales), keuntungan (Profit), jenis produk, serta lokasi penjualan.
Analisis ini bertujuan untuk:
Sebelum dilakukan proses analisis dan visualisasi data, langkah awal yang perlu dilakukan adalah menghubungkan R dengan database serta mengambil data yang akan digunakan. Tahap ini penting untuk memastikan bahwa data yang digunakan dalam analisis telah sesuai dan siap diolah.
Proses ini meliputi pembuatan koneksi ke database serta pengambilan data menggunakan query SQL yang relevan.
Pada tahap ini, digunakan library DBI
odbcdan ggplot2 untuk menghubungkan R dengan
database MySQL. Koneksi ini diperlukan agar data dapat diakses dan
dianalisis secara langsung dari database.
library(DBI)
library(odbc)
library(ggplot2)
Fungsi dbConnect() digunakan untuk membangun koneksi
dengan database menggunakan parameter seperti driver, server, database,
serta username dan password.
con <- dbConnect(odbc(),
Driver = "MySQL ODBC 8.0 ANSI Driver",
Server = "127.0.0.1",
Database = "coffe",
UID = "root",
PWD = "nisa864307",
Port = 3306)
Setelah koneksi berhasil dilakukan, data diambil dari database
menggunakan fungsi dbGetQuery(). Query SQL digunakan untuk
menggabungkan beberapa tabel, yaitu facttable, product, dan location,
sehingga diperoleh data yang lebih lengkap untuk dianalisis.
Proses penggabungan dilakukan menggunakan JOIN berdasarkan atribut yang saling berelasi, yaitu ProductId dan Area Code.
data <- dbGetQuery(con, "SELECT f.Sales,
f.Profit,
f.Marketing,
p.`Product Type`,
l.State
FROM facttable f
JOIN product p ON f.ProductId = p.ProductId
JOIN location l ON f.`Area Code` = l.`Area Code`")
head(data)
## Sales Profit Marketing Product Type State
## 1 219 94 24 Coffee Colorado
## 2 190 68 27 Coffee Colorado
## 3 234 101 26 Coffee Colorado
## 4 100 30 14 Tea Colorado
## 5 134 54 15 Espresso Colorado
## 6 180 53 23 Espresso Colorado
Pada visualisasi ini, digunakan library ggplot2 untuk
membuat grafik histogram. Fungsi geom_histogram() digunakan
untuk melihat distribusi frekuensi dari variabel profit. Visualisasi ini
bertujuan untuk mengetahui pola sebaran data serta mengidentifikasi
adanya nilai ekstrem (outlier).
ggplot(data, aes(x = Profit, fill = after_stat(count))) +
geom_histogram(bins = 30, color = "black",alpha = 0.8) +
scale_fill_gradient(low = "#F6F4E8", high = "#8CC7C4") +
labs(title = "Distribusi Profit",
x = "Profit",
y = "Frekuensi") +
theme_minimal()
Distribusi profit menunjukkan bahwa sebagian besar data terkonsentrasi pada rentang tertentu. Hal ini menandakan bahwa mayoritas transaksi menghasilkan keuntungan yang relatif stabil. Namun, terdapat beberapa nilai ekstrem (outlier) yang menunjukkan adanya transaksi dengan profit yang sangat tinggi.
Visualisasi ini menggunakan ggplot2 dengan fungsi
geom_histogram() untuk melihat distribusi frekuensi dari
variabel sales. Tujuan dari visualisasi ini adalah untuk memahami
bagaimana pola penyebaran nilai penjualan serta melihat tingkat variasi
data.
ggplot(data, aes(x = Sales, fill = after_stat(count))) +
geom_histogram(bins = 30,color = "black",alpha = 0.8) +
scale_fill_gradient(low = "#F6F4E8", high = "#8CC7C4") +
labs(
title = "Distribusi Sales",
x = "Sales",
y = "Frekuensi") +
theme_minimal()
Distribusi sales menunjukkan pola yang relatif terkonsentrasi pada rentang tertentu. Hal ini menandakan bahwa aktivitas penjualan cenderung stabil, meskipun terdapat beberapa nilai yang cukup tinggi.
Pada visualisasi ini, digunakan ggplot2 dengan fungsi
geom_histogram() untuk melihat distribusi profit
berdasarkan jenis produk. Data difokuskan pada tiga produk dengan
rata-rata profit tertinggi agar visualisasi lebih jelas dan tidak
terlalu padat.
top_product <- dbGetQuery(con, "SELECT
p.`Product Type`,
AVG(f.Profit) AS avg_profit
FROM facttable f
JOIN product p ON f.ProductId = p.ProductId
GROUP BY p.`Product Type`
ORDER BY avg_profit DESC
LIMIT 3")
head(top_product)
## Product Type avg_profit
## 1 Coffee 70.7225
## 2 Herbal Tea 59.8996
## 3 Espresso 58.3503
data_top <- data[data$`Product Type` %in% top_product$`Product Type`, ]
ggplot(data_top, aes(x = Profit, fill = `Product Type`)) +
geom_histogram(bins = 30,alpha = 0.6,position = "dodge") +
scale_fill_manual(values = c("#8CC7C4","#FFC570","#FEFD99" )) +
labs(
title = "Distribusi Profit berdasarkan Product Type",
x = "Profit",
y = "Frekuensi") +
theme_minimal()
Distribusi profit difokuskan pada tiga produk dengan rata-rata profit tertinggi agar visualisasi lebih jelas. Terlihat adanya perbedaan pola distribusi antar produk.
Visualisasi ini menggunakan ggplot2 dengan fungsi
geom_col() untuk membandingkan rata-rata profit antar
wilayah. Tujuan dari visualisasi ini adalah untuk melihat perbedaan
performa bisnis berdasarkan lokasi.
location_analysis <- dbGetQuery(con, "SELECT
l.State,
AVG(f.Profit) AS avg_profit
FROM facttable f
JOIN location l ON f.`Area Code` = l.`Area Code`
GROUP BY l.State")
ggplot(location_analysis, aes(x = State, y = avg_profit)) +
geom_col(fill = "#8CC7C4") +
labs(
title = "Rata-rata Profit berdasarkan Wilayah",
x = "Wilayah",
y = "Average Profit"
) +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
Perbedaan profit antar state menunjukkan bahwa lokasi berpengaruh terhadap performa bisnis.
Untuk memperkuat hasil analisis, dilakukan uji statistik menggunakan uji t dua sampel independen untuk mengetahui apakah terdapat perbedaan rata-rata profit antar jenis produk.
Hipotesis
H0 : Tidak ada perbedaan rata-rata profit antara Coffee dan Espresso
H1 : Terdapat perbedaan rata-rata profit antara Coffee dan Espresso
#Uji t test
coffee_profit <- data$Profit[data$`Product Type` == "Coffee"]
espresso_profit <- data$Profit[data$`Product Type` == "Espresso"]
t.test(coffee_profit, espresso_profit)
##
## Welch Two Sample t-test
##
## data: coffee_profit and espresso_profit
## t = 2.7359, df = 1971.4, p-value = 0.006277
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## 3.503388 21.241008
## sample estimates:
## mean of x mean of y
## 70.72254 58.35034
Berdasarkan hasil uji t, diperoleh nilai p-value < 0.05, sehingga H0 ditolak. Hal ini menunjukkan bahwa terdapat perbedaan rata-rata profit yang signifikan antara produk Coffee dan Espresso.
Berdasarkan analisis, distribusi profit dan sales cenderung stabil dengan beberapa nilai ekstrem. Terdapat hubungan positif antara sales dan profit, serta perbedaan performa berdasarkan produk dan lokasi. Hal ini menunjukkan bahwa faktor produk dan wilayah memiliki peran penting dalam menentukan keuntungan perusahaan.
Berdasarkan analisis yang telah dilakukan, data yang digunakan mampu memberikan gambaran yang cukup jelas mengenai kondisi bisnis Coffee Chain. Analisis ini menunjukkan bahwa pemanfaatan data sangat penting dalam memahami pola bisnis serta mendukung pengambilan keputusan yang lebih tepat.
Diharapkan hasil analisis ini dapat menjadi referensi dalam pengembangan strategi bisnis yang lebih optimal di masa mendatang