# Memuat paket yang diperlukan untuk visualisasi
library(DBI)
library(odbc)
library(ggplot2)
library(scales)
/* Penggunaan Inline CSS pada R-Markdown */
Dokumen ini menyajikan hasil analisis data dengan memanfaatkan R-Markdown sebagai alat utama dalam pengolahan dan penyusunan laporan. Dengan integrasi HTML, tampilan laporan menjadi lebih dinamis dan fleksibel, memungkinkan penyajian tabel, gambar, serta elemen interaktif yang tidak dapat dicapai hanya dengan Markdown biasa.
Kombinasi kedua teknologi ini memberikan kemudahan dalam menyusun laporan yang tidak hanya informatif, tetapi juga lebih profesional dan mudah dibaca. Selain itu, penggunaan CSS dalam HTML semakin memperkaya estetika tampilan, menjadikan dokumen lebih menarik dan sesuai dengan standar penyajian visual yang baik.
Dengan pendekatan ini, analisis data dapat dikomunikasikan secara lebih jelas dan efektif kepada pembaca.
Referensi tambahan:
R-Markdown memberikan kemudahan dalam menyusun laporan berbasis data dengan struktur yang ringkas dan fleksibel.
Dengan dukungan HTML, pengguna dapat memperkaya tampilan dokumen menggunakan elemen seperti tabel, gambar, dan format teks yang lebih variatif.
Selain itu, integrasi dengan CSS memungkinkan personalisasi gaya agar laporan lebih estetis dan profesional, mulai dari pemilihan warna, font, hingga tata letak elemen.
Kombinasi ketiga teknologi ini membantu menyampaikan analisis data secara lebih jelas dan terstruktur, sehingga pembaca dapat memahami hasil dengan lebih mudah.
Dengan pendekatan ini, penyusunan laporan menjadi lebih efisien dan menarik tanpa mengorbankan keakuratan informasi yang disajikan.
Proses ini mengintegrasikan SQL untuk pengambilan data dan R untuk visualisasi.
Langkah pertama adalah membangun koneksi antara RStudio dan database
MySQL menggunakan fungsi dbConnect()
con = DBI::dbConnect(odbc::odbc(),
Driver = "MySQL ODBC 8.0 ANSI Driver",
Server = "127.0.0.1",
Database = "classicmodels",
UID = "root",
PWD = "Pemalang07_",
Port = 3306)
Setelah koneksi terjalin, kita menggunakan blok kode SQL untuk mendapatkan data nilai pesanan di negara Nordic. Simpan data hasil kueri data dalam suatu data frame R.
query <- "SELECT o.ordernumber, country, sum(quantityordered*priceeach) as total_value
FROM orders o
JOIN orderdetails od ON o.orderNumber=od.orderNumber
JOIN customers_old c ON o.customerNumber=c.customerNumber
WHERE country IN ('Denmark', 'Finland', 'Norway', 'Sweden')
GROUP BY o.orderNumber"
data <- dbGetQuery(con, query)
Ringkasan data merupakan ringkasan statistik deskriptif dari data, seperti nilai minimum, kuartil pertama, median, mean (rata-rata), kuartil ketiga, dan maksimum untuk data numerik, serta hitungan kategori untuk data faktor.
knitr::kable(data,
caption = "Data Nilai Pesanan Negara Nordic",
col.names = c("Order Number", "Country", "Total Value"))
| Order Number | Country | Total Value |
|---|---|---|
| 10103 | Norway | 50218.95 |
| 10105 | Denmark | 53959.21 |
| 10112 | Sweden | 7674.94 |
| 10141 | Finland | 29716.86 |
| 10151 | Finland | 32723.04 |
| 10155 | Finland | 37602.48 |
| 10158 | Norway | 1491.38 |
| 10161 | Denmark | 36164.46 |
| 10167 | Sweden | 44167.09 |
| 10181 | Norway | 55069.55 |
| 10188 | Norway | 29954.91 |
| 10238 | Denmark | 28211.70 |
| 10239 | Finland | 16212.59 |
| 10247 | Finland | 28394.54 |
| 10256 | Denmark | 4710.73 |
| 10284 | Norway | 32260.16 |
| 10289 | Norway | 12538.01 |
| 10291 | Sweden | 48809.90 |
| 10299 | Finland | 34341.08 |
| 10301 | Norway | 36798.88 |
| 10309 | Norway | 17876.32 |
| 10314 | Denmark | 53745.34 |
| 10320 | Sweden | 16799.03 |
| 10325 | Norway | 34638.14 |
| 10326 | Sweden | 19206.68 |
| 10327 | Denmark | 20564.86 |
| 10334 | Sweden | 23014.17 |
| 10363 | Finland | 45785.34 |
| 10373 | Finland | 46770.52 |
| 10377 | Finland | 23602.90 |
| 10389 | Sweden | 27966.54 |
| 10406 | Denmark | 21638.62 |
summary(data)
## ordernumber country total_value
## Min. :10103 Length:32 Min. : 1491
## 1st Qu.:10166 Class :character 1st Qu.:20225
## Median :10286 Mode :character Median :29836
## Mean :10257 Mean :30395
## 3rd Qu.:10325 3rd Qu.:39244
## Max. :10406 Max. :55070
| Order Number | Country | Total Value |
|---|---|---|
| 20001 | Norway | 50000 |
| 20002 | Denmark | 100000 |
Laporan ini menyajikan analisis data untuk nilai pesanan dari negara-negara Nordic dari database classicmodels.
Kita menggunakan library ggplot2 untuk membuat
histogram. Fungsi geom_histogram() digunakan untuk melihat
distribusi frekuensi nilai pesanan.
# Membuat histogram dari nilai pesanan
ggplot(data, aes(x = total_value)) +
geom_histogram(aes(fill = after_stat(count)),
bins = 15, color='white') +
stat_bin(bins = 15, geom = "text",
aes(label =after_stat(count)), vjust=-0.5)+
scale_fill_gradient(low='lightgreen', high = 'darkgreen')+
scale_x_continuous(labels = label_dollar())+
scale_y_continuous(expand = expansion(c(0,0.15)))+
theme_minimal() +
labs(title = "Distribusi Nilai Pesanan di negara Nordic",
subtitle = "Negara : Denmark, Finland, Norway, Sweden",
x = "Nilai Pesanan (USD)",
y = "Frekuensi") +
theme(legend.position = "none")