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

Lembaga : Universitas Islam Negeri Maulana Malik Ibrahim Malang

Prodi : Teknik Informatika

Pengertian Pivot

Pivot Table adalah fitur Microsoft Excel yang paling powerful memungkinkan pengguna mengambil informasi dengan cepat dari kumpulan data dalam jumlah besar. Pivot Table dapat digunakan sebagai alternatif untuk melakukan analisis data terkait mengelompokkan dan meringkas data. Dengan menggunakan Pivot Table, pengguna dapat menghemat waktu secara signifikan.
library(readxl)
datainflow <- read_excel(path = "datainflow.xlsx")
datainflow
## # A tibble: 3 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 Bali      8912. 10782.  7248. 13104. 14471. 18140. 17822. 20434. 20654. 14323.
## 2 Nusa Te~  3819.  4379. 10628.  5620.  6728.  8149.  8770.  9271. 10288.  8546.
## 3 Nusa Te~  3693.  4260. 11524.  4668.  5530.  5652.  7569.  7555.  7738.  8356.
## # ... 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.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
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()

Kasus Data Inflow Uang Kartal di Bali Nusra Periode 2011-2021

datalongerbalinusra <- datainflow %>% 
  pivot_longer(!Provinsi, names_to = "Tahun", values_to = "Kasus")
datalongerbalinusra 
## # A tibble: 33 x 3
##    Provinsi Tahun  Kasus
##    <chr>    <chr>  <dbl>
##  1 Bali     2011   8912.
##  2 Bali     2012  10782.
##  3 Bali     2013   7248.
##  4 Bali     2014  13104.
##  5 Bali     2015  14471.
##  6 Bali     2016  18140.
##  7 Bali     2017  17822.
##  8 Bali     2018  20434.
##  9 Bali     2019  20654.
## 10 Bali     2020  14323.
## # ... with 23 more rows

Pivot Data Inflow Uang Kartal di Bali Nusra Berdasarkan Kasus

library(dplyr)
balinusraup2 <- select(datalongerbalinusra, Provinsi, Kasus)
balinusraup2
## # A tibble: 33 x 2
##    Provinsi  Kasus
##    <chr>     <dbl>
##  1 Bali      8912.
##  2 Bali     10782.
##  3 Bali      7248.
##  4 Bali     13104.
##  5 Bali     14471.
##  6 Bali     18140.
##  7 Bali     17822.
##  8 Bali     20434.
##  9 Bali     20654.
## 10 Bali     14323.
## # ... with 23 more rows

Kasus Data Inflow Uang Kartal di Nusa Tenggara Barat Periode 2011-2020

library(dplyr)
balinusraup4 <- datalongerbalinusra  %>%
    filter(Provinsi == 'Nusa Tenggara Barat') %>%
    select('Provinsi', 'Tahun', 'Kasus')
balinusraup4
## # A tibble: 11 x 3
##    Provinsi            Tahun  Kasus
##    <chr>               <chr>  <dbl>
##  1 Nusa Tenggara Barat 2011   3819.
##  2 Nusa Tenggara Barat 2012   4379.
##  3 Nusa Tenggara Barat 2013  10628.
##  4 Nusa Tenggara Barat 2014   5620.
##  5 Nusa Tenggara Barat 2015   6728.
##  6 Nusa Tenggara Barat 2016   8149.
##  7 Nusa Tenggara Barat 2017   8770.
##  8 Nusa Tenggara Barat 2018   9271.
##  9 Nusa Tenggara Barat 2019  10288.
## 10 Nusa Tenggara Barat 2020   8546.
## 11 Nusa Tenggara Barat 2021   5222.

Kasus Data Inflow Uang Kartal di Nusa Tenggara Barat Tahun 2020

balinusraup5 <- datalongerbalinusra %>%
  filter(Provinsi == 'Nusa Tenggara Barat', Tahun == '2020') %>%
 select('Provinsi', 'Tahun', 'Kasus')
balinusraup5
## # A tibble: 1 x 3
##   Provinsi            Tahun Kasus
##   <chr>               <chr> <dbl>
## 1 Nusa Tenggara Barat 2020  8546.

Visualisasi Pivot Data Uang Kartal di Bali Nusra Berdasarkan Provinsi

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

Visualisasi Pivot Data Inflow Uang Kartal di Bali Nusra Berdasarkan Periode

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