This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.
When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:
summary(cars)
## speed dist
## Min. : 4.0 Min. : 2.00
## 1st Qu.:12.0 1st Qu.: 26.00
## Median :15.0 Median : 36.00
## Mean :15.4 Mean : 42.98
## 3rd Qu.:19.0 3rd Qu.: 56.00
## Max. :25.0 Max. :120.00
You can also embed plots, for example:
Note that the echo = FALSE parameter was added to the
code chunk to prevent printing of the R code that generated the
plot.
# Memuat paket yang diperlukan untuk koneksi database dan visualisasi
library(DBI)
library(ggplot2)
library(scales)
Laporan ini menyajikan banyaknya item untuk tiap product scale dari database “classicmodels”. Proses ini mengintegrasikan SQL untuk pengambilan data dan R untuk visualisasi. # Koneksi Database dan Pengambilan Data 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 = "qon1t4ku",
Port = 3306)
Setelah koneksi terjalin, kita menggunakan blok kode SQL untuk mendapatkan banyaknya item untuk tiap product scale. Simpan data hasil kueri data dalam suatu data frame R.
# Mendapatkan data yang diperlukan
data1 <- dbGetQuery(con, "SELECT productScale,
COUNT(*) AS totalItems
FROM products
GROUP BY productScale")
data1
## productScale totalItems
## 1 1:10 6
## 2 1:12 9
## 3 1:18 42
## 4 1:72 4
## 5 1:24 27
## 6 1:32 8
## 7 1:50 4
## 8 1:700 10
Kita menggunakan library ggplot2 untuk membuat barchart. Fungsi geom_bar() digunakan untuk melihat banyaknya item tiap product scale.
# Membuat barchart untuk banyaknya item tiap product scale
ggplot(data1, aes(x = productScale, y = totalItems)) +
geom_bar(stat = "identity", fill = "skyblue", alpha = 1) +
theme_minimal() +
labs(title = "Total Item per Skala Produk",
x = "Skala Produk",
y = "Total Item") +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
## Don't know how to automatically pick scale for object of type <integer64>.
## Defaulting to continuous.
# Memuat library yang diperlukan
library(DBI)
library(odbc)
library(ggplot2)
# Membuat koneksi ke database MySQL
con <- dbConnect(odbc::odbc(),
Driver = "MySQL ODBC 8.0 ANSI Driver",
Server = "127.0.0.1",
Database = "classicmodels",
UID = "root",
PWD = "qon1t4ku",
Port = 3306)
# Mengambil data nilai orders dari negara Nordic
data_nordic <- dbGetQuery(con, "
SELECT c.country,
o.orderNumber,
SUM(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')
GROUP BY c.country, o.orderNumber
")
# Menampilkan data
data_nordic
## country orderNumber value
## 1 Norway 10103 50218.95
## 2 Norway 10158 1491.38
## 3 Norway 10309 17876.32
## 4 Norway 10325 34638.14
## 5 Sweden 10112 7674.94
## 6 Sweden 10320 16799.03
## 7 Sweden 10326 19206.68
## 8 Sweden 10334 23014.17
## 9 Denmark 10105 53959.21
## 10 Denmark 10238 28211.70
## 11 Denmark 10256 4710.73
## 12 Denmark 10327 20564.86
## 13 Denmark 10406 21638.62
## 14 Norway 10181 55069.55
## 15 Norway 10188 29954.91
## 16 Norway 10289 12538.01
## 17 Finland 10155 37602.48
## 18 Finland 10299 34341.08
## 19 Finland 10377 23602.90
## 20 Denmark 10161 36164.46
## 21 Denmark 10314 53745.34
## 22 Norway 10284 32260.16
## 23 Norway 10301 36798.88
## 24 Finland 10151 32723.04
## 25 Finland 10239 16212.59
## 26 Finland 10373 46770.52
## 27 Finland 10141 29716.86
## 28 Finland 10247 28394.54
## 29 Finland 10363 45785.34
## 30 Sweden 10167 44167.09
## 31 Sweden 10291 48809.90
## 32 Sweden 10389 27966.54
# Membuat histogram nilai orders
ggplot(data_nordic, aes(x = value)) +
geom_histogram(bins = 10, fill = 'skyblue', color = 'black') +
labs(
title = "Histogram Nilai Orders dari Negara Nordic",
x = "Nilai Orders",
y = "Frekuensi"
) +
theme_minimal()
query_3 <- "SELECT c.country, (od.quantityOrdered * od.priceEach) AS orderValue
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')"
data_3 <- dbGetQuery(con, query_3)
data_3
## country orderValue
## 1 Norway 5571.80
## 2 Norway 5026.14
## 3 Norway 3284.28
## 4 Norway 3307.50
## 5 Norway 1283.48
## 6 Norway 2489.13
## 7 Norway 2164.40
## 8 Norway 2173.00
## 9 Norway 3970.26
## 10 Norway 3530.52
## 11 Norway 1670.75
## 12 Norway 3864.24
## 13 Norway 2215.50
## 14 Norway 2866.26
## 15 Norway 2850.75
## 16 Norway 3950.94
## 17 Norway 1491.38
## 18 Norway 3884.34
## 19 Norway 3759.60
## 20 Norway 2035.32
## 21 Norway 1429.44
## 22 Norway 4694.50
## 23 Norway 2073.12
## 24 Norway 5241.44
## 25 Norway 8116.50
## 26 Norway 3986.40
## 27 Norway 2753.76
## 28 Norway 5048.12
## 29 Norway 1686.06
## 30 Norway 1548.40
## 31 Norway 3782.90
## 32 Norway 2474.56
## 33 Sweden 5717.64
## 34 Sweden 1957.30
## 35 Sweden 5730.04
## 36 Sweden 3575.95
## 37 Sweden 2425.92
## 38 Sweden 3491.00
## 39 Sweden 1576.12
## 40 Sweden 3033.28
## 41 Sweden 3686.50
## 42 Sweden 4937.63
## 43 Sweden 3556.34
## 44 Sweden 1626.80
## 45 Sweden 2366.13
## 46 Sweden 3380.26
## 47 Sweden 4968.00
## 48 Sweden 1797.58
## 49 Sweden 2946.60
## 50 Sweden 4983.79
## 51 Sweden 4937.94
## 52 Denmark 6392.00
## 53 Denmark 8434.52
## 54 Denmark 4114.52
## 55 Denmark 3004.98
## 56 Denmark 3333.74
## 57 Denmark 3094.68
## 58 Denmark 5072.71
## 59 Denmark 3232.24
## 60 Denmark 3773.50
## 61 Denmark 2214.00
## 62 Denmark 2511.69
## 63 Denmark 1882.32
## 64 Denmark 3594.24
## 65 Denmark 2184.82
## 66 Denmark 1119.25
## 67 Denmark 4521.72
## 68 Denmark 3031.08
## 69 Denmark 1468.40
## 70 Denmark 2802.35
## 71 Denmark 7058.45
## 72 Denmark 5303.32
## 73 Denmark 2532.36
## 74 Denmark 1494.02
## 75 Denmark 3178.66
## 76 Denmark 1532.07
## 77 Denmark 3863.50
## 78 Denmark 3345.30
## 79 Denmark 1871.00
## 80 Denmark 1593.60
## 81 Denmark 1366.05
## 82 Denmark 3661.02
## 83 Denmark 3086.54
## 84 Denmark 1777.85
## 85 Denmark 7598.16
## 86 Denmark 6418.56
## 87 Denmark 7621.90
## 88 Norway 4202.82
## 89 Norway 3189.76
## 90 Norway 1340.60
## 91 Norway 3855.60
## 92 Norway 5480.64
## 93 Norway 5226.48
## 94 Norway 1643.18
## 95 Norway 2718.45
## 96 Norway 3528.36
## 97 Norway 6629.85
## 98 Norway 2195.10
## 99 Norway 2651.66
## 100 Norway 5344.56
## 101 Norway 1539.52
## 102 Norway 1215.45
## 103 Norway 1253.27
## 104 Norway 3054.25
## 105 Norway 4593.60
## 106 Norway 4248.40
## 107 Norway 8191.80
## 108 Norway 1666.88
## 109 Norway 2395.00
## 110 Norway 2468.00
## 111 Norway 3604.04
## 112 Norway 2787.19
## 113 Norway 3513.86
## 114 Norway 1074.00
## 115 Norway 6095.25
## 116 Norway 1854.90
## 117 Finland 4134.40
## 118 Finland 5273.26
## 119 Finland 3671.36
## 120 Finland 3070.23
## 121 Finland 1433.82
## 122 Finland 1922.70
## 123 Finland 2823.47
## 124 Finland 2582.36
## 125 Finland 2867.52
## 126 Finland 1755.00
## 127 Finland 3302.40
## 128 Finland 3094.52
## 129 Finland 1671.44
## 130 Finland 1760.88
## 131 Finland 4773.69
## 132 Finland 2964.24
## 133 Finland 2424.63
## 134 Finland 5832.96
## 135 Finland 5032.29
## 136 Finland 1942.71
## 137 Finland 2121.28
## 138 Finland 869.04
## 139 Finland 3218.60
## 140 Finland 3400.76
## 141 Finland 1570.56
## 142 Finland 5643.00
## 143 Finland 4359.60
## 144 Finland 1909.60
## 145 Finland 4506.48
## 146 Finland 5613.66
## 147 Denmark 3408.16
## 148 Denmark 4387.72
## 149 Denmark 6691.68
## 150 Denmark 2884.20
## 151 Denmark 4780.80
## 152 Denmark 1568.00
## 153 Denmark 2719.13
## 154 Denmark 1087.67
## 155 Denmark 1653.80
## 156 Denmark 2701.00
## 157 Denmark 1455.40
## 158 Denmark 2826.90
## 159 Denmark 6711.94
## 160 Denmark 5768.40
## 161 Denmark 6104.16
## 162 Denmark 4319.55
## 163 Denmark 5707.80
## 164 Denmark 2595.20
## 165 Denmark 1948.33
## 166 Denmark 3748.54
## 167 Denmark 2263.36
## 168 Denmark 1240.98
## 169 Denmark 4224.84
## 170 Denmark 2044.35
## 171 Denmark 3241.00
## 172 Denmark 1914.44
## 173 Denmark 1912.45
## 174 Norway 6173.55
## 175 Norway 2121.33
## 176 Norway 2238.72
## 177 Norway 1952.40
## 178 Norway 2333.37
## 179 Norway 1375.71
## 180 Norway 1399.65
## 181 Norway 3027.00
## 182 Norway 1180.74
## 183 Norway 2104.56
## 184 Norway 4307.85
## 185 Norway 1700.00
## 186 Norway 2345.28
## 187 Norway 4242.05
## 188 Norway 3783.04
## 189 Norway 5616.03
## 190 Norway 2497.44
## 191 Norway 3115.81
## 192 Norway 5344.56
## 193 Norway 1746.09
## 194 Norway 896.50
## 195 Norway 1540.80
## 196 Norway 1908.06
## 197 Norway 6108.50
## 198 Finland 2758.80
## 199 Finland 6547.61
## 200 Finland 5232.22
## 201 Finland 2275.26
## 202 Finland 3520.65
## 203 Finland 4615.80
## 204 Finland 880.50
## 205 Finland 2288.25
## 206 Finland 1774.89
## 207 Finland 2829.06
## 208 Finland 2103.99
## 209 Finland 3223.22
## 210 Finland 6367.09
## 211 Finland 649.40
## 212 Finland 3868.89
## 213 Finland 4614.48
## 214 Finland 4018.00
## 215 Finland 1665.40
## 216 Finland 4976.00
## 217 Finland 2238.96
## 218 Finland 2716.23
## 219 Finland 2480.32
## 220 Finland 1928.78
## 221 Finland 2421.90
## 222 Finland 2552.00
## 223 Finland 2462.08
## 224 Finland 2844.99
## 225 Finland 3201.44
## 226 Finland 3086.54
## 227 Finland 3064.95
## 228 Finland 1105.00
## 229 Finland 1393.45
## 230 Finland 2413.95
## 231 Finland 6257.94
## 232 Finland 4845.23
## 233 Finland 4893.96
## 234 Finland 1017.20
## 235 Finland 675.78
## 236 Finland 4163.60
## 237 Finland 1272.72
## 238 Finland 4176.48
## 239 Finland 8594.52
## 240 Finland 3512.50
## 241 Finland 4531.41
## 242 Finland 6893.76
## 243 Finland 2336.40
## 244 Finland 2525.95
## 245 Finland 5971.35
## 246 Finland 3633.58
## 247 Finland 2333.42
## 248 Finland 4767.44
## 249 Finland 1355.20
## 250 Finland 3180.90
## 251 Finland 2998.56
## 252 Finland 1671.04
## 253 Finland 3458.00
## 254 Finland 1471.68
## 255 Finland 2412.30
## 256 Finland 1093.05
## 257 Finland 3526.25
## 258 Finland 3267.57
## 259 Finland 4645.00
## 260 Sweden 5445.44
## 261 Sweden 6102.56
## 262 Sweden 3205.28
## 263 Sweden 2879.80
## 264 Sweden 3649.80
## 265 Sweden 1151.01
## 266 Sweden 1540.00
## 267 Sweden 2062.08
## 268 Sweden 2140.20
## 269 Sweden 2838.00
## 270 Sweden 2546.20
## 271 Sweden 2859.36
## 272 Sweden 2043.36
## 273 Sweden 2335.76
## 274 Sweden 1708.40
## 275 Sweden 1659.84
## 276 Sweden 7770.37
## 277 Sweden 4254.90
## 278 Sweden 5043.00
## 279 Sweden 3970.44
## 280 Sweden 1358.76
## 281 Sweden 4666.16
## 282 Sweden 2079.77
## 283 Sweden 2143.60
## 284 Sweden 4649.28
## 285 Sweden 1313.12
## 286 Sweden 5275.20
## 287 Sweden 2153.58
## 288 Sweden 1696.00
## 289 Sweden 2435.72
## 290 Sweden 4755.40
## 291 Sweden 2378.25
## 292 Sweden 2757.96
## 293 Sweden 4817.03
## 294 Sweden 3131.59
## 295 Sweden 2031.51
## 296 Sweden 5071.50
## 297 Sweden 3023.30
# membuat histogram
ggplot(data_3, aes(x = orderValue)) +
geom_histogram(binwidth = 500, fill = "skyblue", color = "black", alpha = 0.7) +
theme_minimal() +
labs(title = "Distribusi Nilai Orders dari Negara Nordic",
x = "Nilai Order (USD)",
y = "Frekuensi")