library(odbc)
## Warning: package 'odbc' was built under R version 4.4.3
library(DBI)
## Warning: package 'DBI' was built under R version 4.4.3
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.4.3

Selanjutnya membuat koneksi antara RStudio dengan database MySQL yang berisi dataset.

con <- DBI::dbConnect(odbc::odbc(),
                      Driver = "MySQL ODBC 8.0 ANSI Driver",
                      Server = "127.0.0.1",
                      Database = 'classicmodels',
                      UID = "root",
                      PWD = "Linka12012006", #sesuaikan dg password masing-masing
                      Port = 3306)

Pengambilan Data dari Database

data_nordic <- dbGetQuery(con, "
SELECT 
    o.orderNumber,
    SUM(od.quantityOrdered * od.priceEach) AS value
    FROM orders o
    JOIN orderdetails od ON o.orderNumber = od.orderNumber
    JOIN customers c ON o.customerNumber = c.customerNumber
    WHERE c.country IN ('Denmark','Finland','Norway','Sweden')
    GROUP BY o.orderNumber
")

Query SQL tersebut melakukan beberapa proses: Menggabungkan tabel orders, orderdetails, dan customers menggunakan JOIN.

Menghitung nilai pesanan (value) dengan rumus: value = quantityOrdered × priceEach

Menggunakan kondisi WHERE untuk mengambil data hanya dari negara Nordic: Denmark, Finland, Norway, Sweden Menggunakan GROUP BY agar nilai pesanan dihitung untuk setiap order. Hasil query disimpan dalam data frame data_nordic.

Melihat Data

head(data_nordic)

Visualisasi Histogram

ggplot(data_nordic, aes(x = value)) +
  geom_histogram(binwidth = 10000,
                 fill = "skyblue",
                 color = "black") +
  labs(title = "Histogram Nilai Pesanan dari Negara Nordic",
       x = "Nilai Pesanan (Value)",
       y = "Frekuensi") +
  theme_minimal()