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

UIN Maulana Malik Ibrahim Malang - Teknik Informatika

Pengertian Pivot Table

Pivot table adalah sebuah tabel yang berisi data rangkuman dari data dibeberapa tabel lainnya, dibuat dengan melakukan penjumlahan, menghitung rata-rata, mengurutkan data termasuk juga mengelompokkan data, sehingga dihasilkan tabel rangkuman yang lebih informatif dan mudah dibaca.

Pivot Table Outflow di Pulau Jawa

library(readxl)
## Warning: package 'readxl' was built under R version 4.1.2
dataoutflowjawa <- read_excel(path = "C:/Users/ASUS PC/Documents/BUKU NOVA/RStudio/RMarkdown/OutflowJawa.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)
## 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.4     v dplyr   1.0.8
## v tidyr   1.1.3     v stringr 1.4.0
## v readr   2.0.1     v forcats 0.5.1
## Warning: package 'dplyr' was built under R version 4.1.2
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()

Kasus Data Outflow di Pulau Jawa 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

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)
jawa3 <- datalongerjawa  %>%
    filter(Provinsi == 'Jawa Barat') %>%
    select('Provinsi', 'Tahun', 'Kasus')
jawa3
## # 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 Tahun 2021

jawa4 <- datalongerjawa %>%
  filter(Provinsi == 'Jawa Barat', Tahun == '2021') %>%
 select('Provinsi', 'Tahun', 'Kasus')
jawa4
## # 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)
jawa3 <- datalongerjawa  %>%
    filter(Provinsi == 'Jawa Tengah') %>%
    select('Provinsi', 'Tahun', 'Kasus')
jawa3
## # 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 Tahun 2020

jawa4 <- datalongerjawa %>%
  filter(Provinsi == 'Jawa Tengah', Tahun == '2020') %>%
 select('Provinsi', 'Tahun', 'Kasus')
jawa4
## # 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)
jawa3 <- datalongerjawa  %>%
    filter(Provinsi == 'Yogyakarta') %>%
    select('Provinsi', 'Tahun', 'Kasus')
jawa3
## # 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 Tahun 2019

jawa4 <- datalongerjawa %>%
  filter(Provinsi == 'Yogyakarta', Tahun == '2019') %>%
 select('Provinsi', 'Tahun', 'Kasus')
jawa4
## # 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)
jawa3 <- datalongerjawa  %>%
    filter(Provinsi == 'Jawa Timur') %>%
    select('Provinsi', 'Tahun', 'Kasus')
jawa3
## # 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 Tahun 2018

jawa4 <- datalongerjawa %>%
  filter(Provinsi == 'Jawa Timur', Tahun == '2018') %>%
 select('Provinsi', 'Tahun', 'Kasus')
jawa4
## # 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)
jawa3 <- datalongerjawa  %>%
    filter(Provinsi == 'Banten') %>%
    select('Provinsi', 'Tahun', 'Kasus')
jawa3
## # 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 Banten Tahun 2017

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

Visualisasi Pivot Data Outflow di Pulau Jawa berdasarkan Provinsi

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

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


Referensi