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 inflow 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 Inflow di Pulau Jawa

library(readxl)
## Warning: package 'readxl' was built under R version 4.1.2
datainflowjawa <- read_excel(path = "C:/Users/User/Documents/SEMESTER 2/LINEAR ALGEBRA/pivot inflow jawa.xlsx")
datainflowjawa
## # 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     1.24e5 1.60e5 1.35e5 2.17e5 2.30e5 2.62e5 2.78e5 3.07e5 3.25e5 2.59e5
## 2 Jawa Ba~ 4.38e4 6.06e4 3.52e4 7.87e4 8.13e4 8.80e4 8.32e4 8.72e4 9.48e4 7.69e4
## 3 Jawa Te~ 3.51e4 4.33e4 4.22e4 6.05e4 6.52e4 7.28e4 7.70e4 8.78e4 9.08e4 8.50e4
## 4 Yogyaka~ 6.49e3 9.17e3 8.94e3 1.39e4 1.48e4 1.74e4 1.75e4 2.06e4 2.09e4 7.35e3
## 5 Jawa Ti~ 3.85e4 4.74e4 4.87e4 6.43e4 6.88e4 8.34e4 9.84e4 1.06e5 1.14e5 8.68e4
## 6 Banten   0      0      0      0      0      0      1.49e3 4.83e3 4.48e3 3.40e3
## # ... 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 Inflow di Pulau Jawa Selama Periode 2011-2021

datalongerjawa <- datainflowjawa %>% 
  pivot_longer(!Provinsi, names_to = "Tahun", values_to = "Kasus")
datalongerjawa
## # A tibble: 66 x 3
##    Provinsi Tahun   Kasus
##    <chr>    <chr>   <dbl>
##  1 Jawa     2011  123917.
##  2 Jawa     2012  160482.
##  3 Jawa     2013  134998.
##  4 Jawa     2014  217303.
##  5 Jawa     2015  230141.
##  6 Jawa     2016  261607.
##  7 Jawa     2017  277609.
##  8 Jawa     2018  306911.
##  9 Jawa     2019  324624.
## 10 Jawa     2020  259444.
## # ... with 56 more rows

4. Pivot Data Inflow di Pulau Jawa Berdasarkan Kasus

library(dplyr)
jawa2 <- select(datalongerjawa, Provinsi, Kasus)
jawa2
## # A tibble: 66 x 2
##    Provinsi   Kasus
##    <chr>      <dbl>
##  1 Jawa     123917.
##  2 Jawa     160482.
##  3 Jawa     134998.
##  4 Jawa     217303.
##  5 Jawa     230141.
##  6 Jawa     261607.
##  7 Jawa     277609.
##  8 Jawa     306911.
##  9 Jawa     324624.
## 10 Jawa     259444.
## # ... with 56 more rows

Kasus Data Inflow 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  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 Inflow 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  57295.

Kasus Data Inflow 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  35137.
##  2 Jawa Tengah 2012  43298.
##  3 Jawa Tengah 2013  42182.
##  4 Jawa Tengah 2014  60476.
##  5 Jawa Tengah 2015  65198.
##  6 Jawa Tengah 2016  72782.
##  7 Jawa Tengah 2017  77031.
##  8 Jawa Tengah 2018  87829.
##  9 Jawa Tengah 2019  90751.
## 10 Jawa Tengah 2020  84970.
## 11 Jawa Tengah 2021  62024.

Kasus Data Inflow 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  84970.

Kasus Data Inflow 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   6490.
##  2 Yogyakarta 2012   9173.
##  3 Yogyakarta 2013   8939.
##  4 Yogyakarta 2014  13890.
##  5 Yogyakarta 2015  14831.
##  6 Yogyakarta 2016  17350.
##  7 Yogyakarta 2017  17483.
##  8 Yogyakarta 2018  20574.
##  9 Yogyakarta 2019  20899.
## 10 Yogyakarta 2020   7348.
## 11 Yogyakarta 2021   6714.

Kasus Data Inflow 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  20899.

Kasus Data Inflow 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   38515.
##  2 Jawa Timur 2012   47383.
##  3 Jawa Timur 2013   48687.
##  4 Jawa Timur 2014   64276.
##  5 Jawa Timur 2015   68808.
##  6 Jawa Timur 2016   83439.
##  7 Jawa Timur 2017   98380.
##  8 Jawa Timur 2018  106433.
##  9 Jawa Timur 2019  113651.
## 10 Jawa Timur 2020   86848.
## 11 Jawa Timur 2021   58986.

Kasus Data Inflow 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  106433.

Kasus Data Inflow 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  1495.
##  8 Banten   2018  4832.
##  9 Banten   2019  4477.
## 10 Banten   2020  3396.
## 11 Banten   2021  2798.

Kasus Data Inflow 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  1495.

5. Visualisasi Pivot Data Inflow di Pulau Jawa Berdasarkan Provinsi

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

6. Visualisasi Pivot Data Inflow 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