Manipulasi dan Visualisasi Data Inflow Uang Kartal Wilayah Jawa per-Tahun
3/19/2022
Dosen Pengampu : Prof. Dr. Suhartono, M.Kom
Mata Kuliah : Linier Algebra
Prodi : Teknik Informatika
Lembaga : Universitas Islam Negeri Maulana Malik Ibrahim Malang
Apa itu Manipulasi Data?
Untuk mengetehui tentang manipulasi data maka kita tinjau dulu dari pengertian Manipulasi itu sendiri. Manipulasi adalah sebuah proses rekayasa yang secara disengaja dengan melakukan penambahan, penyembunyian, penghilangan atau pengkaburan terhadap bagian atau keseluruhan sebuah sumber informasi, subtansi, realitas, kenyataan, fakta-fakta, data ataupun sejarah yang dibuat berdasarkan sistem perancangan yang bisa dilakukan secara individu, kelompok atau sebuah tata sistem nilai. Sehingga dapat diartikan manipulasi data adalah sebuah istilah tentang penggambaran dari proses pengubahan struktur data supaya jadi lebih mudah dibaca dan lebih terorganisir.
Manipulasi adalah bagian penting dari suatu tujuan tertentu dalam hal tindakan penanaman gagasan, dogma, doktrinisme, sikap, sistem berpikir, perilaku dan kepercayaan tertentu.
Salah satu cara memanipulasi data adalah dengan package “dplyr” pada software R.
Manipulasi Data menggunakan package dplyr dan tidyverse pada software R
Disini saya mangambil data dari excel, dimana datanya berisikan Inflow uang kartal dari wilayah Jawa. Data uang kartal inflow wilayah Jawa ini bisa didapat melalui web Bank Indonesia. Inflow merupakan uang yang masuk ke BI melalui kegiatan penyetoran. Data yang saya ambil adalah per-Tahun mulai dari tahun 2011-2021
Berikut contoh proses me-Manipulasi Data Uang Kartal Inflow di wilayah Jawa :
Memanggil data dari excel
library(readxl)## Warning: package 'readxl' was built under R version 4.1.2
InJawa <- read_excel("InJawa.xlsx")
InJawa## # 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>
Memanggil data tahun dan memilih sesuai keinginan
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()
Jawa2020 <- select(InJawa, '2020')
Jawa2020## # A tibble: 6 x 1
## `2020`
## <dbl>
## 1 259444.
## 2 76883.
## 3 84970.
## 4 7348.
## 5 86848.
## 6 3396.
Menghilangkan tahun sesuai pilihan
library(tidyverse)
Jawanon2020 <- select(InJawa, -'2020')
Jawanon2020## # A tibble: 6 x 11
## Provinsi `2011` `2012` `2013` `2014` `2015` `2016` `2017` `2018` `2019` `2021`
## <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 1.88e5
## 2 Jawa Ba~ 4.38e4 6.06e4 3.52e4 7.87e4 8.13e4 8.80e4 8.32e4 8.72e4 9.48e4 5.73e4
## 3 Jawa Te~ 3.51e4 4.33e4 4.22e4 6.05e4 6.52e4 7.28e4 7.70e4 8.78e4 9.08e4 6.20e4
## 4 Yogyaka~ 6.49e3 9.17e3 8.94e3 1.39e4 1.48e4 1.74e4 1.75e4 2.06e4 2.09e4 6.71e3
## 5 Jawa Ti~ 3.85e4 4.74e4 4.87e4 6.43e4 6.88e4 8.34e4 9.84e4 1.06e5 1.14e5 5.90e4
## 6 Banten 0 0 0 0 0 0 1.49e3 4.83e3 4.48e3 2.80e3
Memanggil dan Memilih tahun kemudian mengganti sesuai keinginan
Jawa2021 <- InJawa %>% select('2021')
Jawa2021## # A tibble: 6 x 1
## `2021`
## <dbl>
## 1 187816.
## 2 57295.
## 3 62024.
## 4 6714.
## 5 58986.
## 6 2798.
library(dplyr)
Jawatahun <- InJawa %>% rename('2022' = '2021')
head(Jawatahun)## # 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: `2022` <dbl>
library(dplyr)
Jawa_Timur <- InJawa %>%
filter(Provinsi == 'Jawa Timur') %>%
select('2014','2015')
Jawa_Timur## # A tibble: 1 x 2
## `2014` `2015`
## <dbl> <dbl>
## 1 64276. 68808.
library(dplyr)
Jawaup1 <- InJawa %>%
filter(Provinsi == 'Jawa Timur', Provinsi == 'Jawa Barat') %>%
select('2014','2015')
Jawaup1## # A tibble: 0 x 2
## # ... with 2 variables: 2014 <dbl>, 2015 <dbl>
Struktur Data Inflow Uang Kartal di Wilayah Jawa
str(InJawa)## tibble [6 x 12] (S3: tbl_df/tbl/data.frame)
## $ Provinsi: chr [1:6] "Jawa" "Jawa Barat" "Jawa Tengah" "Yogyakarta" ...
## $ 2011 : num [1:6] 123917 43775 35137 6490 38515 ...
## $ 2012 : num [1:6] 160482 60629 43298 9173 47383 ...
## $ 2013 : num [1:6] 134998 35190 42182 8939 48687 ...
## $ 2014 : num [1:6] 217303 78660 60476 13890 64276 ...
## $ 2015 : num [1:6] 230141 81303 65198 14831 68808 ...
## $ 2016 : num [1:6] 261607 88036 72782 17350 83439 ...
## $ 2017 : num [1:6] 277609 83220 77031 17483 98380 ...
## $ 2018 : num [1:6] 306911 87243 87829 20574 106433 ...
## $ 2019 : num [1:6] 324624 94846 90751 20899 113651 ...
## $ 2020 : num [1:6] 259444 76883 84970 7348 86848 ...
## $ 2021 : num [1:6] 187816 57295 62024 6714 58986 ...
str(InJawa %>% group_by(Provinsi))## grouped_df [6 x 12] (S3: grouped_df/tbl_df/tbl/data.frame)
## $ Provinsi: chr [1:6] "Jawa" "Jawa Barat" "Jawa Tengah" "Yogyakarta" ...
## $ 2011 : num [1:6] 123917 43775 35137 6490 38515 ...
## $ 2012 : num [1:6] 160482 60629 43298 9173 47383 ...
## $ 2013 : num [1:6] 134998 35190 42182 8939 48687 ...
## $ 2014 : num [1:6] 217303 78660 60476 13890 64276 ...
## $ 2015 : num [1:6] 230141 81303 65198 14831 68808 ...
## $ 2016 : num [1:6] 261607 88036 72782 17350 83439 ...
## $ 2017 : num [1:6] 277609 83220 77031 17483 98380 ...
## $ 2018 : num [1:6] 306911 87243 87829 20574 106433 ...
## $ 2019 : num [1:6] 324624 94846 90751 20899 113651 ...
## $ 2020 : num [1:6] 259444 76883 84970 7348 86848 ...
## $ 2021 : num [1:6] 187816 57295 62024 6714 58986 ...
## - attr(*, "groups")= tibble [6 x 2] (S3: tbl_df/tbl/data.frame)
## ..$ Provinsi: chr [1:6] "Banten" "Jawa" "Jawa Barat" "Jawa Tengah" ...
## ..$ .rows : list<int> [1:6]
## .. ..$ : int 6
## .. ..$ : int 1
## .. ..$ : int 2
## .. ..$ : int 3
## .. ..$ : int 5
## .. ..$ : int 4
## .. ..@ ptype: int(0)
## ..- attr(*, ".drop")= logi TRUE
Jawaup5 <- InJawa %>%
group_by(Provinsi)
Jawaup5## # A tibble: 6 x 12
## # Groups: Provinsi [6]
## 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>
InJawa %>%
filter(Provinsi == 'Jawa Tengah') %>%
count('2011', sort = TRUE)## # A tibble: 1 x 2
## `"2011"` n
## <chr> <int>
## 1 2011 1
JWacehup1 <- InJawa %>%
mutate('2010' = InJawa$'2011'/2)
JWacehup1## # A tibble: 6 x 13
## 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 2 more variables: `2021` <dbl>, `2010` <dbl>
Visualisasi Data Inflow Uang Kartal per-Tahun wilayah Jawa
ggplot(data = InJawa, mapping = aes(x = Provinsi, y = `2011`)) +
geom_point()ggplot(data = InJawa, mapping = aes(x = Provinsi, y = `2011`, color=`2011`)) +
geom_point()ggplot(data = InJawa)+
geom_point(mapping = aes(x = Provinsi, y = `2012`, color=`2012`))ggplot(data = InJawa)+
geom_point(mapping = aes(x = Provinsi, y = `2013`, color=`2013`)) Visualisasi Data Inflow dengan Menjumlah/Menggabungkan antara tahun 2012 dan 2013
ggplot(data = InJawa, mapping = aes(x = Provinsi, y = `2011`+`2012`, color=`2012`+ `2013`)) +
geom_point()