R Markdown

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

Including Plots

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)

Pendahuluan

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

Visualisasi banyaknya item tiap product scale

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")