Membuat Visualisasi Data Ekspor-Impor BPS

Pendahuluan

Pada tutorial kali ini, jokoding.com akan berbagi cara untuk memvisualisasikan data ekspor dan impor dari dan ke Jawa Timur menurut negara tujuan dan asal. Data dalam tutoria ini murni berasal dari website Badan Pusat Statistik Provinsi Jawa Timur yang dapat dilihat pada tautan berikut: https://jatim.bps.go.id/. Sebelum lebih jauh, beberapa package perlu diaktivasi terlebih dahulu agar seluruh fungsi dapat berjalan dengan baik. Teknik memperoleh data BPS yang digunakan dalam tutorial ini adalah web scraping tabel menggunakan rvest.

library(rvest)
library(stringr)
library(networkD3)

Web Scraping

Pada tahapan ini, deklarasi url laman target terlebih dahulu dan melakukan eksplorasi terhadap sejumlah nodes untuk menetapkan variabel yang akan diperoleh dan menjadikannya sebagai data frame

ekspor <- read_html("https://jatim.bps.go.id/statictable/2021/06/04/2154/volume-dan-nilai-ekspor-menurut-negara-tujuan-di-provinsi-jawa-timur-2019-dan-2020.html")
volume <- ekspor %>% html_nodes('.xl69539:nth-child(3)') %>% html_text() %>% str_replace_all(" ", "") %>%
  str_squish() %>% as.numeric()
negeks <- ekspor %>% html_nodes('tr~ tr+ tr td:nth-child(1)') %>% html_text() %>%
  str_squish()
target <- negeks[2:32]
source <- rep("dari Jawa Timur", length(target))
df1 <- data.frame(source, target, volume)

impor <- read_html("https://jatim.bps.go.id/statictable/2021/06/04/2152/volume-dan-nilai-impor-menurut-negara-asal-di-provinsi-jawa-timur-2019-dan-2020.html")
volim <- impor %>% html_nodes('tr td:nth-child(3)') %>% html_text() %>% str_replace_all("[,]", "")
volume2 <- volim[7:27] %>% as.numeric()
negim <- impor %>% html_nodes('tr~ tr+ tr td:nth-child(1)') %>% html_text() %>% str_squish()
source2 <- negim[3:23]
target2 <- rep("ke Jawa Timur", length(source2))
df2 <- data.frame(source2, target2, volume2)
names(df2) <- c("source", "target", "volume")

gabung <- rbind(df1, df2)
head(gabung)
##            source          target     volume
## 1 dari Jawa Timur          Jepang  915785595
## 2 dari Jawa Timur Amerika Serikat  681889742
## 3 dari Jawa Timur        Tiongkok 4303187335
## 4 dari Jawa Timur        Malaysia 1049271858
## 5 dari Jawa Timur          Taiwan  238659337
## 6 dari Jawa Timur           Swiss     370344

Visualisasi Diagram Sankey

Setelah datanya telah siap, tahapan akhir adalah memvisualisasikan volume ekspor dan impor dari dan ke Jawa Timur, adapun package yang perlu diaktivasi adalah networkD3. Elemen dari visualisasi ini diawali dengan membuat node dan link antar wilayah asal dan tujuan, kemudian penimbang untuk masing-masing link adalah volume ekspor dan impor.

nodes <- data.frame(name = c(as.character(gabung$source), as.character(gabung$target)) %>% unique())
gabung$IDsource <- match(gabung$source, nodes$name)-1
gabung$IDtarget <- match(gabung$target, nodes$name)-1

# Make the Network
sankey <- sankeyNetwork(Links = gabung, Nodes = nodes,
                        Source = "IDsource", Target = "IDtarget",
                        Value = "volume", NodeID = "name", 
                        sinksRight=FALSE)


sankey

plot of chunk unnamed-chunk-6

Ekspor dan impor merupakan aktivitas perdagangan yang biasa dilakukan antar wilayah, baik dalam lingkup lokal maupun internasional. Ketika ekspor dan impor suatu wilayah atau negara masih berlanjut, denyut perekonomian akan tetap terjadi. Dalam kondisi tertentu, ekspor dari suatu wilayah atau negara melebihi impornya. Ini menunjukkan bahwa terjadi surplus neraca perdagangan, dan bila terjadi sebaliknya maka dikatakan defisit neraca perdagangan. Selain dipengaruhi indikator makroekonomi seperti inflasi, ekspor dan impor juga dipengaruhi oleh situasi politik atau hubungan dagang dua atau lebih wilayah atau negara. Apabila terjadi konflik, misalnya perang dagang antara China dan AS atau perang antara Rusia dan Ukraina, atau konflik yang masih berlangsung antara Israel dan Palestina, aktivitas ekspor dan impor akan terganggu sehingga memicu kenaikan harga komoditas strategis di suatu wilayah atau negara. Semoga ulasan singkat ini dapat bermanfaat dan jangan lupa untuk kunjung ke blog https://www.jokoding.com/. Terima kasih