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 Inflow di Daerah Jawa

library(readxl)
## Warning: package 'readxl' was built under R version 4.1.2
datainflowjawa <- read_excel(path = "C:/Users/ASUS PC/Documents/BUKU NOVA/RStudio/RMarkdown/InflowJawa.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)
## 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 Inflow di Daerah Jawa 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

Pivot Data Inflow di Daerah 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)
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  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 Tahun 2020

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

Kasus Data Inflow 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  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 Tahun 2015

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

Kasus Data Inflow 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   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 Tahun 2021

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

Kasus Data Inflow 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   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 Tahun 2012

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

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

Kasus Data Inflow di Provinsi Banten Tahun 2019

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

Visualisasi Pivot Data Inflow di Pulau Jawa berdasarkan Provinsi

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

Visualisasi Pivot Data Inflow di Pulau Jawa berdasarkan Tahun

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


Referensi