Import Library yang Dibutuhkan

library(sf)
library(tmap)
library(raster)
library(readxl)
library(ggplot2)
library(openxlsx)
library(terra)
library(readr)

Import Data SHP dan Data Variabel

geo = st_read("C:/Users/ASUS/Downloads/PROVINSI_JAWA_TIMUR-20250417/PROVINSI_JAWA_TIMUR.shp")
## Reading layer `PROVINSI_JAWA_TIMUR' from data source 
##   `C:\Users\ASUS\Downloads\PROVINSI_JAWA_TIMUR-20250417\PROVINSI_JAWA_TIMUR.shp' 
##   using driver `ESRI Shapefile'
## Simple feature collection with 38 features and 5 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: 110.8987 ymin: -8.78036 xmax: 116.2702 ymax: -5.048857
## Geodetic CRS:  WGS 84
head(geo)
## Simple feature collection with 6 features and 5 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: 110.8987 ymin: -8.384309 xmax: 112.479 ymax: -7.591071
## Geodetic CRS:  WGS 84
##   KABKOTNO   PROVINSI      KABKOT PDRB17 PDRB16                       geometry
## 1       01 JAWA TIMUR     PACITAN   4.98   5.21 MULTIPOLYGON (((111.375 -8....
## 2       02 JAWA TIMUR    PONOROGO   5.10   5.29 MULTIPOLYGON (((111.6746 -7...
## 3       03 JAWA TIMUR  TRENGGALEK   5.02   5.00 MULTIPOLYGON (((111.6507 -8...
## 4       04 JAWA TIMUR TULUNGAGUNG   5.08   5.02 MULTIPOLYGON (((111.8639 -8...
## 5       05 JAWA TIMUR      BLITAR   5.07   5.08 MULTIPOLYGON (((112.2387 -8...
## 6       06 JAWA TIMUR      KEDIRI   4.90   5.02 MULTIPOLYGON (((112.1216 -7...
medis = read_csv("C:/Users/ASUS/Downloads/Jumlah Tenaga Kesehatan Menurut Kabupaten_Kota, 2018_____.csv")
head(medis)
## # A tibble: 6 × 7
##   `Kabupaten/Kota` Dokter Perawat Bidan Farmasi AhliGizi Jumlah
##   <chr>             <dbl>   <dbl> <dbl>   <dbl>    <dbl>  <dbl>
## 1 Surabaya           2841    6926  1264     938      173  12142
## 2 Sidoarjo           1861    3197  1029     451      106   6644
## 3 Malang             1550    2953   686     610      123   5922
## 4 Jember              496    2016  1060     136       42   3750
## 5 Jombang             483    1644  1281     246       86   3740
## 6 Lamongan            444    1985   990     114       38   3571

Statistika Deskriptif

summary(medis)
##  Kabupaten/Kota         Dokter          Perawat           Bidan       
##  Length:38          Min.   : 119.0   Min.   : 292.0   Min.   :  87.0  
##  Class :character   1st Qu.: 223.2   1st Qu.: 847.2   1st Qu.: 374.2  
##  Mode  :character   Median : 312.5   Median :1024.0   Median : 622.5  
##                     Mean   : 452.3   Mean   :1259.4   Mean   : 607.5  
##                     3rd Qu.: 433.0   3rd Qu.:1217.0   3rd Qu.: 765.0  
##                     Max.   :2841.0   Max.   :6926.0   Max.   :1281.0  
##     Farmasi          AhliGizi          Jumlah     
##  Min.   : 18.00   Min.   : 20.00   Min.   :  650  
##  1st Qu.: 99.25   1st Qu.: 34.25   1st Qu.: 1794  
##  Median :135.00   Median : 41.50   Median : 2080  
##  Mean   :181.45   Mean   : 50.63   Mean   : 2551  
##  3rd Qu.:204.50   3rd Qu.: 52.75   3rd Qu.: 2558  
##  Max.   :938.00   Max.   :173.00   Max.   :12142
sdmed = data.frame(Standard_Deviasi = sapply(medis[,2:6], sd))
sdmed
##          Standard_Deviasi
## Dokter          523.15063
## Perawat        1116.82551
## Bidan           303.60596
## Farmasi         172.09169
## AhliGizi         30.05438

Preprocessing Data

medis$Jumlah = medis$Dokter+medis$Perawat+medis$Bidan+medis$Farmasi+medis$AhliGizi
for(i in 2:7){
  geo[,i+5] = medis[,i]
}

Visualisasi Data Medis Menggunakan ‘Plot’

plot(geo[,12])

Visualisasi Data Medis Menggunakan ‘SF’

ggplot(data=geo) + geom_sf(aes(fill=Jumlah)) + 
  scale_fill_viridis_c(option="magma", direction= 1) +
  theme_void()

Visualisasi Data Medis Menggunakan ‘TMAP’

tmap_options(check_and_fix = TRUE)
qtm(geo, fill="Jumlah", text="KABKOT", text_size=0.5)

Kesimpulan

Berdasarkan grafik tersebut, jumlah seluruh tenaga kesehatan di Provinsi Jawa Timur cenderung sedikit (berada di antara 0 - 4000). Jumlah tenaga kesehatan terbanyak berada di Kota Surabaya, diikuti Kabupaten Sidoarjo. Sedangkan kabupaten/kota lainnya cenderung memiliki jumlah tenaga kesehatan di rentang 0 - 4000 orang per kabupaten/kota. Perbedaan ini mencerminkan distribusi jumlah tenaga kesehatan yang lebih terkonsentrasi di kota-kota besar dibandingkan daerah lainnya.

Saran

Pemerintah pusat Indonesia dan pemerintah daerah Provinsi Jawa Timur memiliki peran krusial dalam mengatasi kesenjangan tenaga kesehatan. Upaya yang dapat dilakukan meliputi pemberian insentif bagi tenaga medis yang bertugas di daerah terpencil, penguatan program beasiswa berbasis daerah, serta pembangunan infrastruktur kesehatan yang lebih merata. Selain itu, kebijakan wajib kerja bagi tenaga medis baru, pemanfaatan teknologi seperti telemedicine, dan kolaborasi dengan sektor swasta dapat memperluas akses layanan kesehatan, sehingga setiap wilayah memiliki jumlah tenaga medis yang memadai, termasuk dokter, perawat, bidan, farmasi, dan ahli gizi. Dengan langkah-langkah ini, pemerataan tenaga kesehatan dapat ditingkatkan demi pelayanan yang lebih optimal bagi masyarakat.