# Memuat paket yang diperlukan untuk koneksi database dan visualisasi
library(DBI)
## Warning: package 'DBI' was built under R version 4.4.2
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.4.3
library(scales)
## Warning: package 'scales' was built under R version 4.4.2
Laporan ini menyajikan banyaknya item untuk tiap product scale dari database “classicmodels”. 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 = "Krn@#695",
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 = "blue", 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.
LATIHAN modul 3
no3 <- "SELECT quantityOrdered * priceEach AS value
FROM orderdetails od
JOIN orders o ON od.orderNumber = o.orderNumber
JOIN customers c ON o.customerNumber = c.customerNumber
WHERE c.country IN ('Denmark','Finland','Norway','Sweden')"
no3 <- dbGetQuery(con, no3)
no3
## value
## 1 5571.80
## 2 5026.14
## 3 3284.28
## 4 3307.50
## 5 1283.48
## 6 2489.13
## 7 2164.40
## 8 2173.00
## 9 3970.26
## 10 3530.52
## 11 1670.75
## 12 3864.24
## 13 2215.50
## 14 2866.26
## 15 2850.75
## 16 3950.94
## 17 1491.38
## 18 3884.34
## 19 3759.60
## 20 2035.32
## 21 1429.44
## 22 4694.50
## 23 2073.12
## 24 5241.44
## 25 8116.50
## 26 3986.40
## 27 2753.76
## 28 5048.12
## 29 1686.06
## 30 1548.40
## 31 3782.90
## 32 2474.56
## 33 5717.64
## 34 1957.30
## 35 5730.04
## 36 3575.95
## 37 2425.92
## 38 3491.00
## 39 1576.12
## 40 3033.28
## 41 3686.50
## 42 4937.63
## 43 3556.34
## 44 1626.80
## 45 2366.13
## 46 3380.26
## 47 4968.00
## 48 1797.58
## 49 2946.60
## 50 4983.79
## 51 4937.94
## 52 6392.00
## 53 8434.52
## 54 4114.52
## 55 3004.98
## 56 3333.74
## 57 3094.68
## 58 5072.71
## 59 3232.24
## 60 3773.50
## 61 2214.00
## 62 2511.69
## 63 1882.32
## 64 3594.24
## 65 2184.82
## 66 1119.25
## 67 4521.72
## 68 3031.08
## 69 1468.40
## 70 2802.35
## 71 7058.45
## 72 5303.32
## 73 2532.36
## 74 1494.02
## 75 3178.66
## 76 1532.07
## 77 3863.50
## 78 3345.30
## 79 1871.00
## 80 1593.60
## 81 1366.05
## 82 3661.02
## 83 3086.54
## 84 1777.85
## 85 7598.16
## 86 6418.56
## 87 7621.90
## 88 4202.82
## 89 3189.76
## 90 1340.60
## 91 3855.60
## 92 5480.64
## 93 5226.48
## 94 1643.18
## 95 2718.45
## 96 3528.36
## 97 6629.85
## 98 2195.10
## 99 2651.66
## 100 5344.56
## 101 1539.52
## 102 1215.45
## 103 1253.27
## 104 3054.25
## 105 4593.60
## 106 4248.40
## 107 8191.80
## 108 1666.88
## 109 2395.00
## 110 2468.00
## 111 3604.04
## 112 2787.19
## 113 3513.86
## 114 1074.00
## 115 6095.25
## 116 1854.90
## 117 4134.40
## 118 5273.26
## 119 3671.36
## 120 3070.23
## 121 1433.82
## 122 1922.70
## 123 2823.47
## 124 2582.36
## 125 2867.52
## 126 1755.00
## 127 3302.40
## 128 3094.52
## 129 1671.44
## 130 1760.88
## 131 4773.69
## 132 2964.24
## 133 2424.63
## 134 5832.96
## 135 5032.29
## 136 1942.71
## 137 2121.28
## 138 869.04
## 139 3218.60
## 140 3400.76
## 141 1570.56
## 142 5643.00
## 143 4359.60
## 144 1909.60
## 145 4506.48
## 146 5613.66
## 147 3408.16
## 148 4387.72
## 149 6691.68
## 150 2884.20
## 151 4780.80
## 152 1568.00
## 153 2719.13
## 154 1087.67
## 155 1653.80
## 156 2701.00
## 157 1455.40
## 158 2826.90
## 159 6711.94
## 160 5768.40
## 161 6104.16
## 162 4319.55
## 163 5707.80
## 164 2595.20
## 165 1948.33
## 166 3748.54
## 167 2263.36
## 168 1240.98
## 169 4224.84
## 170 2044.35
## 171 3241.00
## 172 1914.44
## 173 1912.45
## 174 6173.55
## 175 2121.33
## 176 2238.72
## 177 1952.40
## 178 2333.37
## 179 1375.71
## 180 1399.65
## 181 3027.00
## 182 1180.74
## 183 2104.56
## 184 4307.85
## 185 1700.00
## 186 2345.28
## 187 4242.05
## 188 3783.04
## 189 5616.03
## 190 2497.44
## 191 3115.81
## 192 5344.56
## 193 1746.09
## 194 896.50
## 195 1540.80
## 196 1908.06
## 197 6108.50
## 198 2758.80
## 199 6547.61
## 200 5232.22
## 201 2275.26
## 202 3520.65
## 203 4615.80
## 204 880.50
## 205 2288.25
## 206 1774.89
## 207 2829.06
## 208 2103.99
## 209 3223.22
## 210 6367.09
## 211 649.40
## 212 3868.89
## 213 4614.48
## 214 4018.00
## 215 1665.40
## 216 4976.00
## 217 2238.96
## 218 2716.23
## 219 2480.32
## 220 1928.78
## 221 2421.90
## 222 2552.00
## 223 2462.08
## 224 2844.99
## 225 3201.44
## 226 3086.54
## 227 3064.95
## 228 1105.00
## 229 1393.45
## 230 2413.95
## 231 6257.94
## 232 4845.23
## 233 4893.96
## 234 1017.20
## 235 675.78
## 236 4163.60
## 237 1272.72
## 238 4176.48
## 239 8594.52
## 240 3512.50
## 241 4531.41
## 242 6893.76
## 243 2336.40
## 244 2525.95
## 245 5971.35
## 246 3633.58
## 247 2333.42
## 248 4767.44
## 249 1355.20
## 250 3180.90
## 251 2998.56
## 252 1671.04
## 253 3458.00
## 254 1471.68
## 255 2412.30
## 256 1093.05
## 257 3526.25
## 258 3267.57
## 259 4645.00
## 260 5445.44
## 261 6102.56
## 262 3205.28
## 263 2879.80
## 264 3649.80
## 265 1151.01
## 266 1540.00
## 267 2062.08
## 268 2140.20
## 269 2838.00
## 270 2546.20
## 271 2859.36
## 272 2043.36
## 273 2335.76
## 274 1708.40
## 275 1659.84
## 276 7770.37
## 277 4254.90
## 278 5043.00
## 279 3970.44
## 280 1358.76
## 281 4666.16
## 282 2079.77
## 283 2143.60
## 284 4649.28
## 285 1313.12
## 286 5275.20
## 287 2153.58
## 288 1696.00
## 289 2435.72
## 290 4755.40
## 291 2378.25
## 292 2757.96
## 293 4817.03
## 294 3131.59
## 295 2031.51
## 296 5071.50
## 297 3023.30
ggplot(no3, aes(x = value)) +
geom_histogram(fill = "#B5DAFE", color = "black", bins = 30) +
labs(title = "Histogram Nilai Orders dari Negara Nordic",
x = "Nilai Order",
y = "Frekuensi")