Pivot Data Inflow dan Outflow Uang Kartal Wilayah Jawa disertai Visualisasi

3/19/2022

Mutiara Aprillia Dzakiroh, 210605110032

Dosen Pengampu : Prof. Dr. Suhartono, M.Kom

Mata Kuliah : Linier Algebra

Prodi : Teknik Informatika

Lembaga : Universitas Islam Negeri Maulana Malik Ibrahim Malang

Apa itu Pivot?

Pivot merupakan bentuk penggolongan suatu data ataupun nilai dalam tabel dengan menggabungkan item individual dari tabel yang lebih luas dalam satu atau beberapa kategori terpisah. Ringkasan ini dapat mencakup jumlah, rata-rata, atau statistik lain. Hal ini memungkinkan pengguna mengambil informasi dengan cepat dari kumpulan data dalam jumlah besar. Serta dapat menganalisis data numerik secara mendetail dan menjawab pertanyaan yang tak terduga tentang data pengguna.

Pivot data Inflow Uang Kartal Wilayah Jawa

  Untuk pengaplikasian pivot data ini bisa dilakukan melalui pemrograman R ataupun Excel. Namun, disini saya mengaplikasikan pivot data pada pemrograman R dengan mengimport data yang telah saya pilih dari Ms.Excel.
  
  Data yang saya ambil adalah dari sutus statistik Bank Indonesia yakni Inflow uang kartal dari wilayah Jawa.
  
  Berikut penerapan pivot data inflow uang kartal di wilayah Jawa mulai dari Tahun 2011 sampai dengan tahun 2021 menggunakan bahasa pemrograman R.

Menginputkan data Inflow dengan mengimport dari Ms.Excel

library(readxl)
## Warning: package 'readxl' was built under R version 4.1.2
InJawa <- read_excel("InJawa.xlsx")
InJawa
## # A tibble: 4 x 12
##   Provinsi `2011` `2012` `2013` `2014` `2015` `2016` `2017` `2018` `2019` `2020`
##   <chr>     <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>
## 1 Jawa Ba~ 43775. 60629. 35190. 78660. 81303. 88036. 83220. 8.72e4 9.48e4 76883.
## 2 Jawa Te~ 35137. 43298. 42182. 60476. 65198. 72782. 77031. 8.78e4 9.08e4 84970.
## 3 Yogyaka~  6490.  9173.  8939. 13890. 14831. 17350. 17483. 2.06e4 2.09e4  7348.
## 4 Jawa Ti~ 38515. 47383. 48687. 64276. 68808. 83439. 98380. 1.06e5 1.14e5 86848.
## # ... with 1 more variable: `2021` <dbl>

Pivot data Inflow Uang Kartal dengan melakukan pivot_longer

Menganalisa data dengan memanggil library tidyverse, Paket ini terdiri dari kumpulan berbagai library. Kemudian melakukan pivot_longer() membuat kumpulan data lebih panjang dengan menambah jumlah baris dan mengurangi jumlah kolom. Saya tidak percaya masuk akal untuk menggambarkan kumpulan data sebagai “bentuk panjang”. Panjang adalah istilah relatif.

library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.1.2
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.5     v purrr   0.3.4
## v tibble  3.1.6     v dplyr   1.0.8
## v tidyr   1.2.0     v stringr 1.4.0
## v readr   2.1.2     v forcats 0.5.1
## Warning: package 'ggplot2' was built under R version 4.1.2
## Warning: package 'tibble' was built under R version 4.1.2
## Warning: package 'tidyr' was built under R version 4.1.2
## Warning: package 'readr' was built under R version 4.1.2
## Warning: package 'purrr' was built under R version 4.1.2
## Warning: package 'dplyr' was built under R version 4.1.2
## Warning: package 'stringr' was built under R version 4.1.2
## Warning: package 'forcats' was built under R version 4.1.2
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
datalongerInflow <- InJawa %>% 
  pivot_longer(!Provinsi, names_to = "Tahun", values_to = "Kasus")
datalongerInflow
## # A tibble: 44 x 3
##    Provinsi   Tahun  Kasus
##    <chr>      <chr>  <dbl>
##  1 Jawa Barat 2011  43775.
##  2 Jawa Barat 2012  60629.
##  3 Jawa Barat 2013  35190.
##  4 Jawa Barat 2014  78660.
##  5 Jawa Barat 2015  81303.
##  6 Jawa Barat 2016  88036.
##  7 Jawa Barat 2017  83220.
##  8 Jawa Barat 2018  87243.
##  9 Jawa Barat 2019  94846.
## 10 Jawa Barat 2020  76883.
## # ... with 34 more rows
library(dplyr)
Kartal_Jawaup2 <- select(datalongerInflow, Provinsi, Kasus)
Kartal_Jawaup2 
## # A tibble: 44 x 2
##    Provinsi    Kasus
##    <chr>       <dbl>
##  1 Jawa Barat 43775.
##  2 Jawa Barat 60629.
##  3 Jawa Barat 35190.
##  4 Jawa Barat 78660.
##  5 Jawa Barat 81303.
##  6 Jawa Barat 88036.
##  7 Jawa Barat 83220.
##  8 Jawa Barat 87243.
##  9 Jawa Barat 94846.
## 10 Jawa Barat 76883.
## # ... with 34 more rows
library(dplyr)
Kartal_Jawaup4 <- datalongerInflow  %>%
    filter(Provinsi == 'Jawa Barat') %>%
    select('Provinsi', 'Tahun', 'Kasus')
Kartal_Jawaup4  
## # A tibble: 11 x 3
##    Provinsi   Tahun  Kasus
##    <chr>      <chr>  <dbl>
##  1 Jawa Barat 2011  43775.
##  2 Jawa Barat 2012  60629.
##  3 Jawa Barat 2013  35190.
##  4 Jawa Barat 2014  78660.
##  5 Jawa Barat 2015  81303.
##  6 Jawa Barat 2016  88036.
##  7 Jawa Barat 2017  83220.
##  8 Jawa Barat 2018  87243.
##  9 Jawa Barat 2019  94846.
## 10 Jawa Barat 2020  76883.
## 11 Jawa Barat 2021  57295.

Kasus Data Intflow Uang Kartal di Jawa Tengah pada Tahun 2012

Kartal_Jawaup5 <- datalongerInflow  %>%
  filter(Provinsi == 'Jawa Tengah', Tahun == '2012') %>%
 select('Provinsi', 'Tahun', 'Kasus')
Kartal_Jawaup5
## # A tibble: 1 x 3
##   Provinsi    Tahun  Kasus
##   <chr>       <chr>  <dbl>
## 1 Jawa Tengah 2012  43298.

Visualisasi Pivot data Inflow Uang Kartal Wilayah Jawa

1. (geom_point)

Geom titik digunakan untuk membuat scatterplot. Scatterplot paling berguna untuk menampilkan hubungan antara dua variabel kontinu

ggplot(data = datalongerInflow, mapping = aes(x = Tahun, y = Kasus, color = Kasus)) +
  geom_point() +
  facet_wrap( ~ Provinsi) +
  theme(axis.text.x = element_text(angle = 120))

ggplot(data = datalongerInflow, mapping = aes(x = Provinsi, y = Kasus, color = Kasus)) +
  geom_point() +
  facet_wrap( ~ Tahun) +
  theme(axis.text.x = element_text(angle = 90))

2. (geom_col)

mendefinisikan transformasi statistik menjadi identitas. Ini berarti bahwa nilai untuk parameter posisi x dan y dipetakan langsung ke variabel dari kumpulan data yang dipilih.

ggplot(data = datalongerInflow, mapping = aes(x = Provinsi, y = Kasus , color = Kasus, fill = Kasus)) +
  geom_col() +
  facet_wrap( ~ Tahun) +
  theme(axis.text.x = element_text(angle = 90)) 

3. (geom_boxplot)

boxplot() di R membantu memvisualisasikan distribusi data menurut kuartil dan mendeteksi keberadaan outlier. Ini memvisualisasikan lima statistik ringkasan (median, dua engsel dan dua kumis), dan semua poin “terluar” satu per satu.

ggplot(data = datalongerInflow, mapping = aes(x = Provinsi, y = Kasus, color = Kasus)) +
  geom_boxplot() +
  facet_wrap( ~ Tahun) +
  theme(axis.text.x = element_text(angle = 90)) 

Menganimasikan Visualisasi Pivot Data Inflow Uang Kartal

library(ggplot2)
library(gganimate)
## Warning: package 'gganimate' was built under R version 4.1.3
library(tidyverse)

theme_set(theme_minimal())

set.seed(1)
datalongerInflow
## # A tibble: 44 x 3
##    Provinsi   Tahun  Kasus
##    <chr>      <chr>  <dbl>
##  1 Jawa Barat 2011  43775.
##  2 Jawa Barat 2012  60629.
##  3 Jawa Barat 2013  35190.
##  4 Jawa Barat 2014  78660.
##  5 Jawa Barat 2015  81303.
##  6 Jawa Barat 2016  88036.
##  7 Jawa Barat 2017  83220.
##  8 Jawa Barat 2018  87243.
##  9 Jawa Barat 2019  94846.
## 10 Jawa Barat 2020  76883.
## # ... with 34 more rows
ggplot(data=datalongerInflow, aes(x=Provinsi, y=Tahun, color=Kasus)) +
  geom_point()+
  transition_states(Kasus) +
  shadow_trail()+
 enter_fade()+
  exit_fly(x_loc = 0, y_loc = 0)

Pivot data Outflow Uang Kartal Wilayah Jawa

  Untuk pengaplikasian pivot data ini bisa dilakukan melalui pemrograman R ataupun Excel. Namun, disini saya mengaplikasikan pivot data pada pemrograman R dengan mengimport data yang telah saya pilih dari Ms.Excel.
  
  Data yang saya ambil adalah dari sutus statistik Bank Indonesia yakni Outflow uang kartal dari wilayah Jawa.
  
  Berikut penerapan pivot data Outflow uang kartal di wilayah Jawa mulai dari Tahun 2011 sampai dengan tahun 2021 menggunakan bahasa pemrograman R.

Menginputkan data Outflow dengan mengimport dari Ms.Excel

library(readxl)
OutJawa <- read_excel("OutJawa.xlsx")
OutJawa
## # A tibble: 4 x 12
##   Provinsi `2011` `2012` `2013` `2014` `2015` `2016` `2017` `2018` `2019` `2020`
##   <chr>     <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>
## 1 Jawa Ba~ 20782. 28895. 23067. 40857. 47063. 49405. 53825. 61358. 6.17e4 57235.
## 2 Jawa Te~ 19975. 28493. 29529. 39110. 46840. 53659. 62761. 69368. 7.24e4 72342.
## 3 Yogyaka~  7538.  9486.  9708. 13171. 14080. 13013. 16810. 20357. 2.14e4 16619.
## 4 Jawa Ti~ 35217. 44489. 36665. 53931. 63585. 74491. 93396. 97995. 1.06e5 93374.
## # ... with 1 more variable: `2021` <dbl>

Pivot data Outflow Uang Kartal dengan melakukan pivot_longer

Menganalisa data dengan memanggil library tidyverse, Paket ini terdiri dari kumpulan berbagai library. Kemudian melakukan pivot_longer() membuat kumpulan data lebih panjang dengan menambah jumlah baris dan mengurangi jumlah kolom. Saya tidak percaya masuk akal untuk menggambarkan kumpulan data sebagai “bentuk panjang”. Panjang adalah istilah relatif.

library(tidyverse)

datalongerOutflow <- OutJawa %>% 
  pivot_longer(!Provinsi, names_to = "Tahun", values_to = "Kasus")
datalongerOutflow
## # A tibble: 44 x 3
##    Provinsi   Tahun  Kasus
##    <chr>      <chr>  <dbl>
##  1 Jawa Barat 2011  20782.
##  2 Jawa Barat 2012  28895.
##  3 Jawa Barat 2013  23067.
##  4 Jawa Barat 2014  40857.
##  5 Jawa Barat 2015  47063.
##  6 Jawa Barat 2016  49405.
##  7 Jawa Barat 2017  53825.
##  8 Jawa Barat 2018  61358.
##  9 Jawa Barat 2019  61692.
## 10 Jawa Barat 2020  57235.
## # ... with 34 more rows
library(dplyr)
Out_Jawaup6 <- select(datalongerOutflow, Provinsi, Kasus)
Out_Jawaup6 
## # A tibble: 44 x 2
##    Provinsi    Kasus
##    <chr>       <dbl>
##  1 Jawa Barat 20782.
##  2 Jawa Barat 28895.
##  3 Jawa Barat 23067.
##  4 Jawa Barat 40857.
##  5 Jawa Barat 47063.
##  6 Jawa Barat 49405.
##  7 Jawa Barat 53825.
##  8 Jawa Barat 61358.
##  9 Jawa Barat 61692.
## 10 Jawa Barat 57235.
## # ... with 34 more rows
library(dplyr)
Out_Jawaup7 <- datalongerOutflow  %>%
    filter(Provinsi == 'Jawa Timur') %>%
    select('Provinsi', 'Tahun', 'Kasus')
Out_Jawaup7  
## # A tibble: 11 x 3
##    Provinsi   Tahun   Kasus
##    <chr>      <chr>   <dbl>
##  1 Jawa Timur 2011   35217.
##  2 Jawa Timur 2012   44489.
##  3 Jawa Timur 2013   36665.
##  4 Jawa Timur 2014   53931.
##  5 Jawa Timur 2015   63585.
##  6 Jawa Timur 2016   74491.
##  7 Jawa Timur 2017   93396.
##  8 Jawa Timur 2018   97995.
##  9 Jawa Timur 2019  105514.
## 10 Jawa Timur 2020   93374.
## 11 Jawa Timur 2021   46029.

Kasus Data Intflow Uang Kartal di Jawa Tengah pada Tahun 2012

Out_Jawaup8 <- datalongerOutflow  %>%
  filter(Provinsi == 'Yogyakarta', Tahun == '2012') %>%
 select('Provinsi', 'Tahun', 'Kasus')
Out_Jawaup8
## # A tibble: 1 x 3
##   Provinsi   Tahun Kasus
##   <chr>      <chr> <dbl>
## 1 Yogyakarta 2012  9486.

Visualisasi Pivot data Outflow Uang Kartal Wilayah Jawa

1. (geom_point)

Geom titik digunakan untuk membuat scatterplot. Scatterplot paling berguna untuk menampilkan hubungan antara dua variabel kontinu

ggplot(data = datalongerOutflow, mapping = aes(x = Tahun, y = Kasus, color = Kasus)) +
  geom_point() +
  facet_wrap( ~ Provinsi) +
  theme(axis.text.x = element_text(angle = 120))

ggplot(data = datalongerOutflow, mapping = aes(x = Provinsi, y = Kasus, color = Kasus)) +
  geom_point() +
  facet_wrap( ~ Tahun) +
  theme(axis.text.x = element_text(angle = 90))

2. (geom_col)

mendefinisikan transformasi statistik menjadi identitas. Ini berarti bahwa nilai untuk parameter posisi x dan y dipetakan langsung ke variabel dari kumpulan data yang dipilih.

ggplot(data = datalongerInflow, mapping = aes(x = Provinsi, y = Kasus , color = Kasus, fill = Kasus)) +
  geom_col() +
  facet_wrap( ~ Tahun) +
  theme(axis.text.x = element_text(angle = 90)) 

3. (geom_boxplot)

boxplot() di R membantu memvisualisasikan distribusi data menurut kuartil dan mendeteksi keberadaan outlier. Ini memvisualisasikan lima statistik ringkasan (median, dua engsel dan dua kumis), dan semua poin “terluar” satu per satu.

ggplot(data = datalongerOutflow, mapping = aes(x = Provinsi, y = Kasus, color = Kasus)) +
  geom_boxplot() +
  facet_wrap( ~ Tahun) +
  theme(axis.text.x = element_text(angle = 90)) 

Menganimasikan Visualisasi Pivot Data Inflow Uang Kartal

library(ggplot2)
library(gganimate)
library(tidyverse)

theme_set(theme_minimal())

set.seed(1)
datalongerOutflow
## # A tibble: 44 x 3
##    Provinsi   Tahun  Kasus
##    <chr>      <chr>  <dbl>
##  1 Jawa Barat 2011  20782.
##  2 Jawa Barat 2012  28895.
##  3 Jawa Barat 2013  23067.
##  4 Jawa Barat 2014  40857.
##  5 Jawa Barat 2015  47063.
##  6 Jawa Barat 2016  49405.
##  7 Jawa Barat 2017  53825.
##  8 Jawa Barat 2018  61358.
##  9 Jawa Barat 2019  61692.
## 10 Jawa Barat 2020  57235.
## # ... with 34 more rows
ggplot(data=datalongerOutflow, aes(x=Provinsi, y=Tahun, color=Kasus)) +
  geom_point()+
  transition_states(Kasus) +
  shadow_trail()+
 enter_fade()+
  exit_fly(x_loc = 0, y_loc = 0)

Referensi