Pivot Data Inflow dan Outflow Uang Kartal Wilayah Jawa disertai Visualisasi
3/19/2022
- Apa itu Pivot?
- Pivot data Inflow Uang Kartal Wilayah Jawa
- Visualisasi Pivot data Inflow Uang Kartal Wilayah Jawa
- Menganimasikan Visualisasi Pivot Data Inflow Uang Kartal
- Pivot data Outflow Uang Kartal Wilayah Jawa
- Visualisasi Pivot data Outflow Uang Kartal Wilayah Jawa
- Menganimasikan Visualisasi Pivot Data Inflow Uang Kartal
- Referensi
Dosen Pengampu : Prof. Dr. Suhartono, M.Kom
Mata Kuliah : Linier Algebra
Prodi : Teknik Informatika
Lembaga : Universitas Islam Negeri Maulana Malik Ibrahim Malang
Apa itu Pivot?
Pivot merupakan bentuk penggolongan suatu data ataupun nilai dalam tabel dengan menggabungkan item individual dari tabel yang lebih luas dalam satu atau beberapa kategori terpisah. Ringkasan ini dapat mencakup jumlah, rata-rata, atau statistik lain. Hal ini memungkinkan pengguna mengambil informasi dengan cepat dari kumpulan data dalam jumlah besar. Serta dapat menganalisis data numerik secara mendetail dan menjawab pertanyaan yang tak terduga tentang data pengguna.
Pivot data Inflow Uang Kartal Wilayah Jawa
Untuk pengaplikasian pivot data ini bisa dilakukan melalui pemrograman R ataupun Excel. Namun, disini saya mengaplikasikan pivot data pada pemrograman R dengan mengimport data yang telah saya pilih dari Ms.Excel.
Data yang saya ambil adalah dari sutus statistik Bank Indonesia yakni Inflow uang kartal dari wilayah Jawa.
Berikut penerapan pivot data inflow uang kartal di wilayah Jawa mulai dari Tahun 2011 sampai dengan tahun 2021 menggunakan bahasa pemrograman R.
Menginputkan data Inflow dengan mengimport dari Ms.Excel
library(readxl)## Warning: package 'readxl' was built under R version 4.1.2
InJawa <- read_excel("InJawa.xlsx")
InJawa## # A tibble: 4 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 Ba~ 43775. 60629. 35190. 78660. 81303. 88036. 83220. 8.72e4 9.48e4 76883.
## 2 Jawa Te~ 35137. 43298. 42182. 60476. 65198. 72782. 77031. 8.78e4 9.08e4 84970.
## 3 Yogyaka~ 6490. 9173. 8939. 13890. 14831. 17350. 17483. 2.06e4 2.09e4 7348.
## 4 Jawa Ti~ 38515. 47383. 48687. 64276. 68808. 83439. 98380. 1.06e5 1.14e5 86848.
## # ... with 1 more variable: `2021` <dbl>
Pivot data Inflow Uang Kartal dengan melakukan pivot_longer
Menganalisa data dengan memanggil library tidyverse, Paket ini terdiri dari kumpulan berbagai library. Kemudian melakukan pivot_longer() membuat kumpulan data lebih panjang dengan menambah jumlah baris dan mengurangi jumlah kolom. Saya tidak percaya masuk akal untuk menggambarkan kumpulan data sebagai “bentuk panjang”. Panjang adalah istilah relatif.
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.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
## Warning: package 'ggplot2' was built under R version 4.1.2
## Warning: package 'tibble' was built under R version 4.1.2
## Warning: package 'tidyr' was built under R version 4.1.2
## Warning: package 'readr' was built under R version 4.1.2
## Warning: package 'purrr' was built under R version 4.1.2
## Warning: package 'dplyr' was built under R version 4.1.2
## Warning: package 'stringr' was built under R version 4.1.2
## Warning: package 'forcats' was built under R version 4.1.2
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
datalongerInflow <- InJawa %>%
pivot_longer(!Provinsi, names_to = "Tahun", values_to = "Kasus")
datalongerInflow## # A tibble: 44 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.
## # ... with 34 more rows
library(dplyr)
Kartal_Jawaup2 <- select(datalongerInflow, Provinsi, Kasus)
Kartal_Jawaup2 ## # A tibble: 44 x 2
## Provinsi Kasus
## <chr> <dbl>
## 1 Jawa Barat 43775.
## 2 Jawa Barat 60629.
## 3 Jawa Barat 35190.
## 4 Jawa Barat 78660.
## 5 Jawa Barat 81303.
## 6 Jawa Barat 88036.
## 7 Jawa Barat 83220.
## 8 Jawa Barat 87243.
## 9 Jawa Barat 94846.
## 10 Jawa Barat 76883.
## # ... with 34 more rows
library(dplyr)
Kartal_Jawaup4 <- datalongerInflow %>%
filter(Provinsi == 'Jawa Barat') %>%
select('Provinsi', 'Tahun', 'Kasus')
Kartal_Jawaup4 ## # 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 Intflow Uang Kartal di Jawa Tengah pada Tahun 2012
Kartal_Jawaup5 <- datalongerInflow %>%
filter(Provinsi == 'Jawa Tengah', Tahun == '2012') %>%
select('Provinsi', 'Tahun', 'Kasus')
Kartal_Jawaup5## # A tibble: 1 x 3
## Provinsi Tahun Kasus
## <chr> <chr> <dbl>
## 1 Jawa Tengah 2012 43298.
Visualisasi Pivot data Inflow Uang Kartal Wilayah Jawa
1. (geom_point)
Geom titik digunakan untuk membuat scatterplot. Scatterplot paling berguna untuk menampilkan hubungan antara dua variabel kontinu
ggplot(data = datalongerInflow, mapping = aes(x = Tahun, y = Kasus, color = Kasus)) +
geom_point() +
facet_wrap( ~ Provinsi) +
theme(axis.text.x = element_text(angle = 120))ggplot(data = datalongerInflow, mapping = aes(x = Provinsi, y = Kasus, color = Kasus)) +
geom_point() +
facet_wrap( ~ Tahun) +
theme(axis.text.x = element_text(angle = 90))2. (geom_col)
mendefinisikan transformasi statistik menjadi identitas. Ini berarti bahwa nilai untuk parameter posisi x dan y dipetakan langsung ke variabel dari kumpulan data yang dipilih.
ggplot(data = datalongerInflow, mapping = aes(x = Provinsi, y = Kasus , color = Kasus, fill = Kasus)) +
geom_col() +
facet_wrap( ~ Tahun) +
theme(axis.text.x = element_text(angle = 90)) 3. (geom_boxplot)
boxplot() di R membantu memvisualisasikan distribusi data menurut kuartil dan mendeteksi keberadaan outlier. Ini memvisualisasikan lima statistik ringkasan (median, dua engsel dan dua kumis), dan semua poin “terluar” satu per satu.
ggplot(data = datalongerInflow, mapping = aes(x = Provinsi, y = Kasus, color = Kasus)) +
geom_boxplot() +
facet_wrap( ~ Tahun) +
theme(axis.text.x = element_text(angle = 90)) Menganimasikan Visualisasi Pivot Data Inflow Uang Kartal
library(ggplot2)
library(gganimate)## Warning: package 'gganimate' was built under R version 4.1.3
library(tidyverse)
theme_set(theme_minimal())
set.seed(1)datalongerInflow## # A tibble: 44 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.
## # ... with 34 more rows
ggplot(data=datalongerInflow, aes(x=Provinsi, y=Tahun, color=Kasus)) +
geom_point()+
transition_states(Kasus) +
shadow_trail()+
enter_fade()+
exit_fly(x_loc = 0, y_loc = 0)Pivot data Outflow Uang Kartal Wilayah Jawa
Untuk pengaplikasian pivot data ini bisa dilakukan melalui pemrograman R ataupun Excel. Namun, disini saya mengaplikasikan pivot data pada pemrograman R dengan mengimport data yang telah saya pilih dari Ms.Excel.
Data yang saya ambil adalah dari sutus statistik Bank Indonesia yakni Outflow uang kartal dari wilayah Jawa.
Berikut penerapan pivot data Outflow uang kartal di wilayah Jawa mulai dari Tahun 2011 sampai dengan tahun 2021 menggunakan bahasa pemrograman R.
Menginputkan data Outflow dengan mengimport dari Ms.Excel
library(readxl)
OutJawa <- read_excel("OutJawa.xlsx")
OutJawa## # A tibble: 4 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 Ba~ 20782. 28895. 23067. 40857. 47063. 49405. 53825. 61358. 6.17e4 57235.
## 2 Jawa Te~ 19975. 28493. 29529. 39110. 46840. 53659. 62761. 69368. 7.24e4 72342.
## 3 Yogyaka~ 7538. 9486. 9708. 13171. 14080. 13013. 16810. 20357. 2.14e4 16619.
## 4 Jawa Ti~ 35217. 44489. 36665. 53931. 63585. 74491. 93396. 97995. 1.06e5 93374.
## # ... with 1 more variable: `2021` <dbl>
Pivot data Outflow Uang Kartal dengan melakukan pivot_longer
Menganalisa data dengan memanggil library tidyverse, Paket ini terdiri dari kumpulan berbagai library. Kemudian melakukan pivot_longer() membuat kumpulan data lebih panjang dengan menambah jumlah baris dan mengurangi jumlah kolom. Saya tidak percaya masuk akal untuk menggambarkan kumpulan data sebagai “bentuk panjang”. Panjang adalah istilah relatif.
library(tidyverse)
datalongerOutflow <- OutJawa %>%
pivot_longer(!Provinsi, names_to = "Tahun", values_to = "Kasus")
datalongerOutflow## # A tibble: 44 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.
## # ... with 34 more rows
library(dplyr)
Out_Jawaup6 <- select(datalongerOutflow, Provinsi, Kasus)
Out_Jawaup6 ## # A tibble: 44 x 2
## Provinsi Kasus
## <chr> <dbl>
## 1 Jawa Barat 20782.
## 2 Jawa Barat 28895.
## 3 Jawa Barat 23067.
## 4 Jawa Barat 40857.
## 5 Jawa Barat 47063.
## 6 Jawa Barat 49405.
## 7 Jawa Barat 53825.
## 8 Jawa Barat 61358.
## 9 Jawa Barat 61692.
## 10 Jawa Barat 57235.
## # ... with 34 more rows
library(dplyr)
Out_Jawaup7 <- datalongerOutflow %>%
filter(Provinsi == 'Jawa Timur') %>%
select('Provinsi', 'Tahun', 'Kasus')
Out_Jawaup7 ## # 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 Intflow Uang Kartal di Jawa Tengah pada Tahun 2012
Out_Jawaup8 <- datalongerOutflow %>%
filter(Provinsi == 'Yogyakarta', Tahun == '2012') %>%
select('Provinsi', 'Tahun', 'Kasus')
Out_Jawaup8## # A tibble: 1 x 3
## Provinsi Tahun Kasus
## <chr> <chr> <dbl>
## 1 Yogyakarta 2012 9486.
Visualisasi Pivot data Outflow Uang Kartal Wilayah Jawa
1. (geom_point)
Geom titik digunakan untuk membuat scatterplot. Scatterplot paling berguna untuk menampilkan hubungan antara dua variabel kontinu
ggplot(data = datalongerOutflow, mapping = aes(x = Tahun, y = Kasus, color = Kasus)) +
geom_point() +
facet_wrap( ~ Provinsi) +
theme(axis.text.x = element_text(angle = 120))ggplot(data = datalongerOutflow, mapping = aes(x = Provinsi, y = Kasus, color = Kasus)) +
geom_point() +
facet_wrap( ~ Tahun) +
theme(axis.text.x = element_text(angle = 90))2. (geom_col)
mendefinisikan transformasi statistik menjadi identitas. Ini berarti bahwa nilai untuk parameter posisi x dan y dipetakan langsung ke variabel dari kumpulan data yang dipilih.
ggplot(data = datalongerInflow, mapping = aes(x = Provinsi, y = Kasus , color = Kasus, fill = Kasus)) +
geom_col() +
facet_wrap( ~ Tahun) +
theme(axis.text.x = element_text(angle = 90)) 3. (geom_boxplot)
boxplot() di R membantu memvisualisasikan distribusi data menurut kuartil dan mendeteksi keberadaan outlier. Ini memvisualisasikan lima statistik ringkasan (median, dua engsel dan dua kumis), dan semua poin “terluar” satu per satu.
ggplot(data = datalongerOutflow, mapping = aes(x = Provinsi, y = Kasus, color = Kasus)) +
geom_boxplot() +
facet_wrap( ~ Tahun) +
theme(axis.text.x = element_text(angle = 90)) Menganimasikan Visualisasi Pivot Data Inflow Uang Kartal
library(ggplot2)
library(gganimate)
library(tidyverse)
theme_set(theme_minimal())
set.seed(1)datalongerOutflow## # A tibble: 44 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.
## # ... with 34 more rows
ggplot(data=datalongerOutflow, aes(x=Provinsi, y=Tahun, color=Kasus)) +
geom_point()+
transition_states(Kasus) +
shadow_trail()+
enter_fade()+
exit_fly(x_loc = 0, y_loc = 0)