Buatlah sebuah histogram dengan label yang sesuai untuk nilai (value) dari orders yang diterima dari negara-negara Nordic (Denmark, Finland, Norway, Sweden)! Berikan penjelasan dari koneksi dan pengambilan data sampai diperoleh visualisasinya!

# Memuat paket yang diperlukan untuk koneksi database dan visualisasi
library(DBI)
library(odbc)
library(ggplot2)
library(scales)

Koneksi Database dan Pengambilan Data

con <- DBI::dbConnect(odbc::odbc(),
                      Driver = "MySQL ODBC 9.6 Unicode Driver",
                      Server = "127.0.0.1",
                      Database = "classicmodels",
                      UID = "root",
                      PWD = "anakbapakherynomor3",
                      Port = 3306)
# Mendapatkan data yang diperlukan
data_nordic <- dbGetQuery(con, "SELECT c.country, 
o.orderNumber, 
(od.quantityOrdered * od.priceEach) AS value
FROM customers c
JOIN orders o
ON c.customerNumber = o.customerNumber
JOIN orderdetails od
ON o.orderNumber = od.orderNumber
WHERE c.country IN ('Denmark','Finland','Norway','Sweden')
")
head(data_nordic)
##   country orderNumber   value
## 1  Norway       10103 5571.80
## 2  Norway       10103 5026.14
## 3  Norway       10103 3284.28
## 4  Norway       10103 3307.50
## 5  Norway       10103 1283.48
## 6  Norway       10103 2489.13

Visualisasi

ggplot(data_nordic, aes(x = value)) +
  geom_histogram(bins = 20, fill = "skyblue", color = "black") +
  theme_minimal() +
  labs(
    title = "Histogram Nilai Orders dari Negara Nordic",
    x = "Nilai Order",
    y = "Frekuensi"
  )

dbGetQuery(con, "
SELECT DISTINCT country
FROM customers
WHERE country IN ('Denmark','Finland','Norway','Sweden')
")
##   country
## 1  Norway
## 2  Sweden
## 3 Denmark
## 4 Finland