Peta Choropleth Kependudukan Wilayah Kab. Tuban

Pembacaan Package

Siapkan terlebih dahulu package yang akan digunakan. Package sf digunakan untuk membaca dan mengelola data spasial. Package readxl untuk membaca file dengan formal xlsx. Package dplyr untuk manipulasi data frame. Selain itu, untuk membuat visualisasi plot digunakan package ggplot2.

library(sf)
## Linking to GEOS 3.9.1, GDAL 3.4.3, PROJ 7.2.1; sf_use_s2() is TRUE
library(readxl)
## Warning: package 'readxl' was built under R version 4.2.2
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.2.2
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.2.2

##Pembacaan Data Membaca data shp Indonesia.

library(sf)
mapIndonesia <- st_read("idn_adm_bps_adm4_20200401_shp/idn_admbnda_adm4_ID3_bps_20200401.shp", quiet=TRUE)
glimpse(mapIndonesia)
## Rows: 25,376
## Columns: 19
## $ ADM4_EN    <chr> "Abadijaya", "Abar-Abir", "Adan-Adan", "Adiarsa", "Adiarsa …
## $ ADM4_PCODE <chr> "ID3276030009", "ID3525120017", "ID3506100021", "ID33031410…
## $ ADM4_REF   <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
## $ ADM4ALT1EN <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
## $ ADM4ALT2EN <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
## $ ADM3_EN    <chr> "Sukma Jaya", "Bungah", "Gurah", "Kertanegara", "Karawang B…
## $ ADM3_PCODE <chr> "ID3276030", "ID3525120", "ID3506100", "ID3303141", "ID3215…
## $ ADM2_EN    <chr> "Kota Depok", "Gresik", "Kediri", "Purbalingga", "Karawang"…
## $ ADM2_PCODE <chr> "ID3276", "ID3525", "ID3506", "ID3303", "ID3215", "ID3215",…
## $ ADM1_EN    <chr> "Jawa Barat", "Jawa Timur", "Jawa Timur", "Jawa Tengah", "J…
## $ ADM1_PCODE <chr> "ID32", "ID35", "ID35", "ID33", "ID32", "ID32", "ID32", "ID…
## $ ADM0_EN    <chr> "Indonesia", "Indonesia", "Indonesia", "Indonesia", "Indone…
## $ ADM0_PCODE <chr> "ID", "ID", "ID", "ID", "ID", "ID", "ID", "ID", "ID", "ID",…
## $ date       <date> 2019-12-20, 2019-12-20, 2019-12-20, 2019-12-20, 2019-12-20…
## $ validOn    <date> 2020-04-01, 2020-04-01, 2020-04-01, 2020-04-01, 2020-04-01…
## $ validTo    <date> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
## $ Shape_Leng <dbl> 0.06946083, 0.04327490, 0.15202196, 0.09345928, 0.05654664,…
## $ Shape_Area <dbl> 2.086679e-04, 8.528197e-05, 3.399555e-04, 2.672890e-04, 1.5…
## $ geometry   <MULTIPOLYGON [°]> MULTIPOLYGON (((106.8569 -6..., MULTIPOLYGON (…

Membaca data demografi Kab Tuban.

dataTuban <- read.csv("demografi tuban.csv")
dataTuban
##    Kabupaten  Kecamatan   KodeBPS KodeKemendagri JumlahPenduduk LuasWilayah
## 1      Tuban     Bancar ID3523190       35.23.04          60210      127.20
## 2      Tuban   Bangilan ID3523020       35.23.03          49901       89.28
## 3      Tuban   Grabagan ID3523081       35.23.20          40727       93.76
## 4      Tuban   Jatirogo ID3523180       35.23.02          57942      122.61
## 5      Tuban       Jenu ID3523140       35.23.12          58420       89.54
## 6      Tuban  Kenduruan ID3523010       35.23.01          29777       96.39
## 7      Tuban      Kerek ID3523160       35.23.08          69041      155.44
## 8      Tuban  Merakurak ID3523150       35.23.13          61301      104.40
## 9      Tuban    Montong ID3523050       35.23.10          55125      157.92
## 10     Tuban     Palang ID3523110       35.23.18          88810       87.91
## 11     Tuban   Parengan ID3523060       35.23.09          56426      129.62
## 12     Tuban   Plumpang ID3523090       35.23.17          81970       90.25
## 13     Tuban     Rengel ID3523080       35.23.14          61480       64.60
## 14     Tuban  Semanding ID3523120       35.23.15         117128      133.06
## 15     Tuban     Senori ID3523030       35.23.05          43179       99.63
## 16     Tuban  Singgahan ID3523040       35.23.07          43615       68.43
## 17     Tuban       Soko ID3523070       35.23.11          88551       96.05
## 18     Tuban Tambakboyo ID3523170       35.23.06          42228       76.83
## 19     Tuban      Tuban ID3523130       35.23.16          87521       20.74
## 20     Tuban     Widang ID3523100       35.23.19          51284      101.46
##    KepadatanPenduduk
## 1             473.35
## 2             558.93
## 3             434.38
## 4             472.57
## 5             652.45
## 6             308.92
## 7             444.16
## 8             587.17
## 9             349.07
## 10           1010.24
## 11            435.32
## 12            908.25
## 13            951.70
## 14            880.26
## 15            433.39
## 16            637.37
## 17            921.93
## 18            549.63
## 19           4219.91
## 20            505.46

##Menggabungkan Data Selanjutnya gabungkan kedua data tersebut menjadi satu. Karena hanya ingin menampilkan peta Kabupaten Bandung, maka digunakan fungsi inner_join() berdasarkan kolom ADM3_PCODE dari mapIndonesia dan kolom KodeBPS dari dataKabTuban.

mapTuban<- mapIndonesia %>%
  inner_join(dataTuban, by = c("ADM3_PCODE" = "KodeBPS"))
mapTuban
## Simple feature collection with 328 features and 24 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: 111.5701 ymin: -7.165087 xmax: 112.222 ymax: -6.753713
## Geodetic CRS:  WGS 84
## First 10 features:
##        ADM4_EN   ADM4_PCODE ADM4_REF ADM4ALT1EN ADM4ALT2EN  ADM3_EN ADM3_PCODE
## 1        Bader ID3523180010     <NA>       <NA>       <NA> Jatirogo  ID3523180
## 2       Bancar ID3523190024     <NA>       <NA>       <NA>   Bancar  ID3523190
## 3  Bandungrejo ID3523090008     <NA>       <NA>       <NA> Plumpang  ID3523090
## 4     Bangilan ID3523020008     <NA>       <NA>       <NA> Bangilan  ID3523020
## 5   Bangunrejo ID3523070011     <NA>       <NA>       <NA>     Soko  ID3523070
## 6       Banjar ID3523100007     <NA>       <NA>       <NA>   Widang  ID3523100
## 7  Banjaragung ID3523080011     <NA>       <NA>       <NA>   Rengel  ID3523080
## 8   Banjararum ID3523080009     <NA>       <NA>       <NA>   Rengel  ID3523080
## 9    Banjarejo ID3523190019     <NA>       <NA>       <NA>   Bancar  ID3523190
## 10  Banjarworo ID3523020011     <NA>       <NA>       <NA> Bangilan  ID3523020
##    ADM2_EN ADM2_PCODE    ADM1_EN ADM1_PCODE   ADM0_EN ADM0_PCODE       date
## 1    Tuban     ID3523 Jawa Timur       ID35 Indonesia         ID 2019-12-20
## 2    Tuban     ID3523 Jawa Timur       ID35 Indonesia         ID 2019-12-20
## 3    Tuban     ID3523 Jawa Timur       ID35 Indonesia         ID 2019-12-20
## 4    Tuban     ID3523 Jawa Timur       ID35 Indonesia         ID 2019-12-20
## 5    Tuban     ID3523 Jawa Timur       ID35 Indonesia         ID 2019-12-20
## 6    Tuban     ID3523 Jawa Timur       ID35 Indonesia         ID 2019-12-20
## 7    Tuban     ID3523 Jawa Timur       ID35 Indonesia         ID 2019-12-20
## 8    Tuban     ID3523 Jawa Timur       ID35 Indonesia         ID 2019-12-20
## 9    Tuban     ID3523 Jawa Timur       ID35 Indonesia         ID 2019-12-20
## 10   Tuban     ID3523 Jawa Timur       ID35 Indonesia         ID 2019-12-20
##       validOn validTo Shape_Leng   Shape_Area Kabupaten Kecamatan
## 1  2020-04-01    <NA> 0.09123754 0.0003117804     Tuban  Jatirogo
## 2  2020-04-01    <NA> 0.09308702 0.0004199402     Tuban    Bancar
## 3  2020-04-01    <NA> 0.11753296 0.0003065137     Tuban  Plumpang
## 4  2020-04-01    <NA> 0.09788405 0.0003695756     Tuban  Bangilan
## 5  2020-04-01    <NA> 0.10165092 0.0003548760     Tuban      Soko
## 6  2020-04-01    <NA> 0.07947601 0.0003063174     Tuban    Widang
## 7  2020-04-01    <NA> 0.06812644 0.0002450451     Tuban    Rengel
## 8  2020-04-01    <NA> 0.07314279 0.0001963245     Tuban    Rengel
## 9  2020-04-01    <NA> 0.07306125 0.0001515168     Tuban    Bancar
## 10 2020-04-01    <NA> 0.12865087 0.0006609024     Tuban  Bangilan
##    KodeKemendagri JumlahPenduduk LuasWilayah KepadatanPenduduk
## 1        35.23.02          57942      122.61            472.57
## 2        35.23.04          60210      127.20            473.35
## 3        35.23.17          81970       90.25            908.25
## 4        35.23.03          49901       89.28            558.93
## 5        35.23.11          88551       96.05            921.93
## 6        35.23.19          51284      101.46            505.46
## 7        35.23.14          61480       64.60            951.70
## 8        35.23.14          61480       64.60            951.70
## 9        35.23.04          60210      127.20            473.35
## 10       35.23.03          49901       89.28            558.93
##                          geometry
## 1  MULTIPOLYGON (((111.6709 -6...
## 2  MULTIPOLYGON (((111.7946 -6...
## 3  MULTIPOLYGON (((112.1134 -7...
## 4  MULTIPOLYGON (((111.7135 -6...
## 5  MULTIPOLYGON (((111.9507 -7...
## 6  MULTIPOLYGON (((112.1841 -7...
## 7  MULTIPOLYGON (((112.0554 -7...
## 8  MULTIPOLYGON (((112.0557 -7...
## 9  MULTIPOLYGON (((111.7306 -6...
## 10 MULTIPOLYGON (((111.7397 -6...

##Visualiasi Data Plot Jumlah Penduduk Kab Tuban.

jumlah <- ggplot() +
  geom_sf(data=mapTuban, aes(fill=JumlahPenduduk))
jumlah

Plot Kepadatan Penduduk Kab Tuban.

kepadatan <- ggplot() +
  geom_sf(data=mapTuban, aes(fill=KepadatanPenduduk))
kepadatan

Atur dan sesuaikan tampilan visualisasi plot Jumlah Penduduk sesuai yang diinginkan.

colorPallete = RColorBrewer::brewer.pal(5,"YlGnBu")
yBreak = seq(106.72, 106.86, by=0.04)

jumlah + scale_fill_gradientn(colors = colorPallete,
                         name = "Jumlah Penduduk") +
  labs(title = "Jumlah Penduduk Kabupaten Tuban")  +
  theme(legend.text = element_text(size=7),
        legend.title = element_text(size=7),
        axis.text.x = element_text(size = 7),
        axis.text.y = element_text(size = 7),
        title = element_text(size=12, face='bold')) +
  scale_x_continuous(breaks = yBreak) 

Atur dan sesuaikan plot visualisasi Kepadatan Penduduk sesuai yang diinginkan

colorPallete = RColorBrewer::brewer.pal(5,"YlGnBu")
yBreak = seq(106.72, 106.86, by=0.04)

kepadatan + scale_fill_gradientn(colors = colorPallete,
                         name = "Kepadatan Penduduk") +
  labs(title = "Kepadatan Penduduk Kabupaten Tuban")  +
  theme(legend.text = element_text(size=7),
        legend.title = element_text(size=7),
        axis.text.x = element_text(size = 7),
        axis.text.y = element_text(size = 7),
        title = element_text(size=12, face='bold')) +
  scale_x_continuous(breaks = yBreak)

Kesimpulan

Berdasarkan hasil pemngolahan data area Kabupaten Tuban, diperoleh peta choropleth yang menggambarkan masalah kependudukan wilayah Kabupaten Tuban. Melalui peta choropleth diketahui semakin banyak ataupun padat penduduk di suatu kecamatan di Kabupaten Tuban, makan akan semakin biru warna area tersebut. Oleh karena itu, jumlah penduduk paling banyak diketahui berada pada Kecamatan Semanding dengan 117.128 penduduk, namun hal ini berbeda dengan dengan kepadatan penduduk terbanyak pada Kabupaten Tuban terletak di Kecamatan Tuban dengan 4219.91 jiwa/km2.