# Memuat paket yang diperlukan untuk koneksi database dan visualisasi
library(DBI)
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.5.2
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.5.2
##
## 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
library(odbc)
## Warning: package 'odbc' was built under R version 4.5.2
Analisis ini menggunakan database Coffee Chain yang terdiri dari beberapa tabel, yaitu factTable, Product, dan Location. Data diambil menggunakan query SQL dengan teknik JOIN untuk memperoleh informasi yang lebih lengkap.
con = dbConnect(odbc(),
Driver = "MySQL ODBC 8.0 ANSI Driver",
Server = "127.0.0.1",
UID = "root",
PWD = "Finalia1737",
Port = 3306,
Database = "coffechain")
query = " SELECT f.Sales, f.Profit, p.Product, l.Market
FROM facttable f
JOIN product p ON f.productId = p.productId
JOIN location l ON f.`Area Code` = l.`Area Code` "
data <- dbGetQuery(con, query)
head(data)
## Sales Profit Product Market
## 1 219 94 Amaretto Central
## 2 190 68 Colombian Central
## 3 234 101 Decaf Irish Cream Central
## 4 100 30 Green Tea Central
## 5 134 54 Caffe Mocha Central
## 6 180 53 Decaf Espresso Central
ggplot(data, aes(x = Sales, y = Profit)) +
geom_point(alpha = 0.6) +
geom_smooth(method = "lm", se = FALSE) +
labs(title = "Hubungan antara Sales dan Profit")
## `geom_smooth()` using formula = 'y ~ x'
cor(data$Sales, data$Profit)
## [1] 0.7973309
Berdasarkan hasil visualisasi scatter plot, terlihat adanya kecenderungan hubungan positif antara variabel Sales dan Profit. Hal ini menunjukkan bahwa peningkatan nilai penjualan umumnya diikuti oleh peningkatan keuntungan yang diperoleh perusahaan.
Namun demikian, sebaran titik yang tidak sepenuhnya mengikuti garis lurus mengindikasikan bahwa hubungan tersebut tidak bersifat sempurna. Artinya, terdapat faktor lain yang mempengaruhi profit selain penjualan, seperti biaya operasional, diskon, atau efisiensi produksi.
product_profit <- data %>%
group_by(Product) %>%
summarise(Total_Profit = sum(Profit))
ggplot(product_profit, aes(x = Product, y = Total_Profit)) +
geom_bar(stat = "identity", fill="skyblue") +
theme_minimal()+
labs(title = "Total Profit per Product",
x = "Lini Produk",
y = "Total Profit") +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
Grafik batang menunjukkan adanya perbedaan kontribusi profit antar produk. Beberapa produk memiliki total profit yang jauh lebih tinggi dibandingkan produk lainnya, yang mengindikasikan bahwa produk tersebut memiliki performa penjualan dan/atau margin keuntungan yang lebih baik.
Sebaliknya, produk dengan profit rendah menunjukkan bahwa kontribusinya terhadap keuntungan perusahaan relatif kecil. Hal ini dapat menjadi bahan evaluasi bagi perusahaan untuk menentukan strategi, seperti meningkatkan promosi pada produk unggulan atau melakukan perbaikan pada produk dengan performa rendah.
market_profit <- data %>%
group_by(Market) %>%
summarise(Avg_Profit = mean(Profit))
ggplot(market_profit, aes(x = Market, y = Avg_Profit)) +
geom_bar(stat = "identity", fill="navy", alpha=0.8) +
theme_minimal()+
labs(title = "Total Profit per Product",
x = "Lini Market",
y = "Rata-rata Profit") +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
Berdasarkan hasil visualisasi, terlihat bahwa rata-rata profit berbeda pada setiap market. Hal ini menunjukkan bahwa tidak semua wilayah pasar memberikan kontribusi keuntungan yang sama.
Market dengan rata-rata profit lebih tinggi dapat dianggap sebagai pasar yang lebih potensial dan menguntungkan, sehingga layak untuk menjadi fokus pengembangan bisnis. Sebaliknya, market dengan profit rendah perlu dianalisis lebih lanjut untuk mengetahui penyebabnya, seperti tingkat permintaan yang rendah atau persaingan yang tinggi.
dbDisconnect(con)