Lembaga : Universitas Islam Negeri Maulana Malik Ibrahim Malang
Jurusan : Teknik Informatika

1. Mengenal Pivot Table

Pivot Table berisi ringkasan data yang dikemas dalam sebuah tabel utuk membuat laporan dan menganalisanya dengan melihat perbandingan, pola, dan tren pada data. Pivot dirancang untuk mempermudah menampilkan data query dalam jumlah besar.

Pada halaman ini terdapat data outflow uang kartal beberapa provinsi di pulau Jawa yang mana nantinya akan ditampilkan dalam bentuk pivot tabel menggunakan fungsi pivot longer(). pivot longer() merupakan tabel dataset yang akan menampilkan data yang memanjang dan kolom yang lebih sedikit. Fungsi ini biasa digunakan untuk menampilkan dataset dengan jangkauan yang luas.

2. Pivot Table Data Outflow di Pulau Jawa

library(readxl)
## Warning: package 'readxl' was built under R version 4.1.2
dataoutflowjawa <- read_excel(path = "C:/Users/User/Documents/SEMESTER 2/LINEAR ALGEBRA/pivot outflow jawa.xlsx")
dataoutflowjawa
## # A tibble: 6 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     83511. 1.11e5 98969. 1.47e5 1.72e5 1.91e5 2.29e5 2.53e5 2.72e5 2.51e5
## 2 Jawa Ba~ 20782. 2.89e4 23067. 4.09e4 4.71e4 4.94e4 5.38e4 6.14e4 6.17e4 5.72e4
## 3 Jawa Te~ 19975. 2.85e4 29529. 3.91e4 4.68e4 5.37e4 6.28e4 6.94e4 7.24e4 7.23e4
## 4 Yogyaka~  7538. 9.49e3  9708. 1.32e4 1.41e4 1.30e4 1.68e4 2.04e4 2.14e4 1.66e4
## 5 Jawa Ti~ 35217. 4.45e4 36665. 5.39e4 6.36e4 7.45e4 9.34e4 9.80e4 1.06e5 9.34e4
## 6 Banten       0  0          0  0      0      0      2.11e3 4.05e3 1.10e4 1.18e4
## # ... with 1 more variable: 2021 <dbl>
library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.5     v purrr   0.3.4
## v tibble  3.1.4     v dplyr   1.0.7
## v tidyr   1.1.3     v stringr 1.4.0
## v readr   2.0.1     v forcats 0.5.1
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()

3. Kasus Data Outflow di Pulau Jawa Selama Periode 2011-2021

datalongerjawa <- dataoutflowjawa %>% 
  pivot_longer(!Provinsi, names_to = "Tahun", values_to = "Kasus")
datalongerjawa
## # A tibble: 66 x 3
##    Provinsi Tahun   Kasus
##    <chr>    <chr>   <dbl>
##  1 Jawa     2011   83511.
##  2 Jawa     2012  111363.
##  3 Jawa     2013   98969.
##  4 Jawa     2014  147069.
##  5 Jawa     2015  171568.
##  6 Jawa     2016  190568.
##  7 Jawa     2017  228905.
##  8 Jawa     2018  253125.
##  9 Jawa     2019  271957.
## 10 Jawa     2020  251363.
## # ... with 56 more rows

4. Pivot Data Outflow di Pulau Jawa Berdasarkan Kasus

library(dplyr)
jawa2 <- select(datalongerjawa, Provinsi, Kasus)
jawa2
## # A tibble: 66 x 2
##    Provinsi   Kasus
##    <chr>      <dbl>
##  1 Jawa      83511.
##  2 Jawa     111363.
##  3 Jawa      98969.
##  4 Jawa     147069.
##  5 Jawa     171568.
##  6 Jawa     190568.
##  7 Jawa     228905.
##  8 Jawa     253125.
##  9 Jawa     271957.
## 10 Jawa     251363.
## # ... with 56 more rows

Kasus Data Outflow di Provinsi Jawa Barat Periode 2011-2021

library(dplyr)
jabar <- datalongerjawa  %>%
    filter(Provinsi == 'Jawa Barat') %>%
    select('Provinsi', 'Tahun', 'Kasus')
jabar
## # A tibble: 11 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.
## 11 Jawa Barat 2021  34763.

Kasus Data Outflow di Provinsi Jawa Barat pada Tahun 2021

jabar2 <- datalongerjawa %>%
  filter(Provinsi == 'Jawa Barat', Tahun == '2021') %>%
 select('Provinsi', 'Tahun', 'Kasus')
jabar2
## # A tibble: 1 x 3
##   Provinsi   Tahun  Kasus
##   <chr>      <chr>  <dbl>
## 1 Jawa Barat 2021  34763.

Kasus Data Outflow di Provinsi Jawa Tengah Periode 2011-2021

library(dplyr)
jateng <- datalongerjawa  %>%
    filter(Provinsi == 'Jawa Tengah') %>%
    select('Provinsi', 'Tahun', 'Kasus')
jateng
## # A tibble: 11 x 3
##    Provinsi    Tahun  Kasus
##    <chr>       <chr>  <dbl>
##  1 Jawa Tengah 2011  19975.
##  2 Jawa Tengah 2012  28493.
##  3 Jawa Tengah 2013  29529.
##  4 Jawa Tengah 2014  39110.
##  5 Jawa Tengah 2015  46840.
##  6 Jawa Tengah 2016  53659.
##  7 Jawa Tengah 2017  62761.
##  8 Jawa Tengah 2018  69368.
##  9 Jawa Tengah 2019  72363.
## 10 Jawa Tengah 2020  72342.
## 11 Jawa Tengah 2021  44455.

Kasus Data Outflow di Provinsi Jawa Tengah pada Tahun 2020

jateng2 <- datalongerjawa %>%
  filter(Provinsi == 'Jawa Tengah', Tahun == '2020') %>%
 select('Provinsi', 'Tahun', 'Kasus')
jateng2
## # A tibble: 1 x 3
##   Provinsi    Tahun  Kasus
##   <chr>       <chr>  <dbl>
## 1 Jawa Tengah 2020  72342.

Kasus Data Outflow di Provinsi Yogyakarta Periode 2011-2021

library(dplyr)
jogja <- datalongerjawa  %>%
    filter(Provinsi == 'Yogyakarta') %>%
    select('Provinsi', 'Tahun', 'Kasus')
jogja
## # A tibble: 11 x 3
##    Provinsi   Tahun  Kasus
##    <chr>      <chr>  <dbl>
##  1 Yogyakarta 2011   7538.
##  2 Yogyakarta 2012   9486.
##  3 Yogyakarta 2013   9708.
##  4 Yogyakarta 2014  13171.
##  5 Yogyakarta 2015  14080.
##  6 Yogyakarta 2016  13013.
##  7 Yogyakarta 2017  16810.
##  8 Yogyakarta 2018  20357.
##  9 Yogyakarta 2019  21353.
## 10 Yogyakarta 2020  16619.
## 11 Yogyakarta 2021   9652.

Kasus Data Outflow di Provinsi Yogyakarta pada Tahun 2019

jogja2 <- datalongerjawa %>%
  filter(Provinsi == 'Yogyakarta', Tahun == '2019') %>%
 select('Provinsi', 'Tahun', 'Kasus')
jogja2
## # A tibble: 1 x 3
##   Provinsi   Tahun  Kasus
##   <chr>      <chr>  <dbl>
## 1 Yogyakarta 2019  21353.

Kasus Data Outflow di Provinsi Jawa Timur Periode 2011-2021

library(dplyr)
jatim <- datalongerjawa  %>%
    filter(Provinsi == 'Jawa Timur') %>%
    select('Provinsi', 'Tahun', 'Kasus')
jatim
## # 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 Outflow di Provinsi Jawa Timur pada Tahun 2018

jatim2 <- datalongerjawa %>%
  filter(Provinsi == 'Jawa Timur', Tahun == '2018') %>%
 select('Provinsi', 'Tahun', 'Kasus')
jatim2
## # A tibble: 1 x 3
##   Provinsi   Tahun  Kasus
##   <chr>      <chr>  <dbl>
## 1 Jawa Timur 2018  97995.

Kasus Data Outflow di Provinsi Banten Periode 2011-2021

library(dplyr)
banten <- datalongerjawa  %>%
    filter(Provinsi == 'Banten') %>%
    select('Provinsi', 'Tahun', 'Kasus')
banten
## # A tibble: 11 x 3
##    Provinsi Tahun  Kasus
##    <chr>    <chr>  <dbl>
##  1 Banten   2011      0 
##  2 Banten   2012      0 
##  3 Banten   2013      0 
##  4 Banten   2014      0 
##  5 Banten   2015      0 
##  6 Banten   2016      0 
##  7 Banten   2017   2113.
##  8 Banten   2018   4047.
##  9 Banten   2019  11035.
## 10 Banten   2020  11793.
## 11 Banten   2021   8441.

Kasus Data Outflow di Provinsi Jawa Barat pada Tahun 2017

banten2 <- datalongerjawa %>%
  filter(Provinsi == 'Banten', Tahun == '2017') %>%
 select('Provinsi', 'Tahun', 'Kasus')
banten2
## # A tibble: 1 x 3
##   Provinsi Tahun Kasus
##   <chr>    <chr> <dbl>
## 1 Banten   2017  2113.

5. Visualisasi Pivot Data Outflow di Pulau Jawa Berdasarkan Provinsi

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

6. Visualisasi Pivot Data Outflow di Pulau Jawa Berdasarkan Tahun

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


Sumber :

https://rpubs.com/suhartono-uinmaliki/868629

https://www.bi.go.id/id/statistik/ekonomi-keuangan/ssp/indikator-pengedaran-uang.aspx

https://tidyr.tidyverse.org/articles/pivot.html

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