Visualisasi Data Numerik & Kategorik Perpustakaan berbagai Provinsi di Indonesia

Pendahuluan

Perpustakaan sekolah merupakan sarana krusial dalam ekosistem pendidikan dasar. Sebagai sarana pendukung proses belajar mengajar, perpustakaan tidak hanya berfungsi sebagai gudang buku, tetapi juga sebagai pusat literasi yang menunjang pengembangan kognitif dan minat baca siswa.

Ketersediaan infrastruktur yang memadai sangat menentukan efektivitas fungsi perpustakaan tersebut. Bangunan yang dalam kondisi baik akan menjamin keamanan koleksi buku dan kenyamanan pengguna. Sebaliknya, kondisi sarana yang rusak—baik rusak ringan, sedang, maupun berat—dapat menghambat aksesibilitas dan menurunkan kualitas literasi di lingkungan sekolah.

Data mengenai kondisi perpustakaan menurut provinsi periode tahun 2021-2024 ini menjadi penting bagi pemerintah dan pemangku kepentingan untuk mengetahui disparitas kualitas sarana pendidikan antarwilayah di Indonesia, menentukan provinsi mana yang memerlukan alokasi anggaran perbaikan gedung perpustakaan secara mendesak, dan menilai sejauh mana standar sarana dan prasarana (sarpras) pendidikan telah dipenuhi sesuai dengan standar nasional.

Dataset ini mencakup informasi mengenai jumlah total perpustakaan pada jenjang SD/MI dan sederajat di seluruh provinsi di Indonesia untuk tahun ajaran 2024. Tujuan dari pengolahan data ini adalah untuk memberikan gambaran atau visualisasi mengenai potret infrastruktur literasi dasar di Indonesia, sehingga dapat dijadikan acuan dalam pengambilan kebijakan berbasis data untuk meningkatkan mutu pendidikan nasional.

Sumber Data

Data yang digunakan untuk visualisasi kategorik ini adalah data riil yang bersumber dari Portal Data Pendidikan tentang Jumlah Perpustakaan Menurut Kondisi Tiap Provinsi tingkat SD/MI.

Sumber: https://data.kemendikdasmen.go.id/dataset/td/sarana-dan-prasarana-hlyjh/jumlah-perpustakaan-menurut-kondisi-tiap-provinsi-2024-semua-wilayah-sd-mi-sederajat-1

Data ini dipilih karena mudah dipahami dan variabelnya mencakup data numerik dan kategori, sehingga visualisasi data dapat mudah diinterprestasikan. Melalui visualisasi kategorik, distribusi jumlah perpustakaan berdasarkan kondisi di setiap provinsi dapat ditampilkan secara lebih jelas dan informatif.

Persiapan Data

1. Import Library

library(readxl)
library(dplyr)
## 
## 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)
library(tidyr)

2. Import dan Persiapan Data

# Import Data
data_perpus <- read_xlsx(
  "C:/Users/riefa/Downloads/Dataset Perpus Indonesia.xlsx"
)

Visualisasi Data Numerik

1. Histogram

Histogram digunakan untuk melihat distribusi data dan mengidentifikasi dari jumlah perpustakaan di tingkat kabupaten/kota.

library(scales)
ggplot(data = data_perpus, mapping = aes(x = Jumlah)) + 
  geom_histogram(bins = 30, color = "white", fill = "coral") + 
  scale_x_continuous(labels = comma) + 
  scale_y_continuous(labels = comma) + 
  labs(x = "Jumlah Perpustakaan", 
       y = "Frekuensi")

Bentuk Distribusi Histogram ini menunjukkan distribusi yang miring ke kanan yang artinya sebagian besar entri data (baik itu tingkat kabupaten maupun kategori sekolah) berkumpul di sisi kiri atau nilai yang rendah.

Ini mengindikasikan bahwa mayoritas wilayah atau sekolah hanya memiliki jumlah perpustakaan dalam skala kecil (dibawah 50 unit). Sebaliknya, hanya sedikit wilayah “raksasa” yang memiliki jumlah perpustakaan sangat banyak (di atas 200 unit), yang membentuk “ekor” panjang di sisi kanan grafik.

2. Desnity Plot

Membandingkan distribusi jumlah perpustakaan antara Negeri dan Swasta

ggplot(data = data_perpus, mapping = aes(x = Jumlah, fill = `Status Sekolah`, color = `Status Sekolah`)) + 
  geom_density(alpha = 0.5) + 
  scale_x_continuous(labels = comma) + 
  scale_y_continuous(labels = comma) + 
  scale_fill_manual(values = c("Negeri" = "coral", "Swasta" = "skyblue")) +
  scale_color_manual(values = c("Negeri" = "coral", "Swasta" = "skyblue")) +
  labs(x = "Jumlah Sekolah", 
       y = "Density",
       title = "Distribusi Jumlah Sekolah berdasarkan Status",
       fill = "Status Sekolah",
       color = "Status Sekolah")

library(ggridges)
ggplot(data = data_perpus, mapping = aes(x = Jumlah, y = `Status Sekolah`,fill = `Status Sekolah`)) + 
  geom_density_ridges() + 
  labs(x = "Jumlah", y = "Status sekolah")
## Picking joint bandwidth of 19.7

  • Puncak kurva menunjukkan nilai yang paling sering muncul dalam kategori tersebut. Jika puncak berjauhan menunjukkan adanya perbedaan signifikan. Misalnya, jika puncak kurva “Swasta” berada di angka 5 unit dan puncak “Negeri” di angka 150 unit, artinya secara umum sekolah negeri memiliki kapasitas perpustakaan yang jauh lebih besar.

  • Area di mana kedua kurva saling menutupi menunjukkan kemiripan antar kategori Menunjukkan adanya overlap sediki. Jika kurva hampir tidak bersentuhan, maka status sekolah (Negeri/Swasta) adalah faktor penentu yang sangat kuat terhadap jumlah perpustakaan yang dimiliki.

3. Boxplot

Boxplot ini menunjukkan distribusi data Jumlah Perpustakaan di berbagai provinsi di Indonesia

ggplot(data = data_perpus, aes(x = reorder(Wilayah, Jumlah, FUN = median), y = Jumlah)) +
  geom_boxplot(fill = "skyblue", color = "darkblue", outlier.colour = "red", outlier.shape = 1) +
  coord_flip() + 
  labs(
    title = "Distribusi Jumlah Perpustakaan per Wilayah",
    subtitle = "Berdasarkan data dari setiap Kabupaten/Kota",
    x = "Wilayah (Provinsi)",
    y = "Jumlah Perpustakaan"
  ) +
  theme_minimal() +
  theme(
    axis.text.y = element_text(size = 8),
    plot.title = element_text(face = "bold")
  )

Dari boxplot diatas, bisa dilihat s adanya ketimpangan data antar wilayah di Indonesia, di mana wilayah di Pulau Jawa (terutama Jawa Barat, Jawa Tengah, dan Jawa Timur) memiliki jumlah perpustakaan yang jauh lebih besar dan beragam dibandingkan wilayah lainnya.

4. Violin Plot

Violin plot ini menunjukkan kepadatan data di seluruh rentang nilai jumlah perpustakaan dan membandingkan distribusi beberapa kelompok atau kategori secara bersamaan pada satu grafik.

ggplot(data = data_perpus, mapping = aes(x = Jumlah,y="all")) +
  geom_violin(fill="green",alpha=0.5) +
  geom_boxplot(fill="blue",width=0.1) +
  scale_x_continuous(labels = comma) 

5. QQ-Plot

QQ plot (Quantile-Quantile plot) digunakan untuk membandingkan dua distribusi probabilitas secara visual, terutama untuk memeriksa apakah suatu kumpulan data berdistribusi normal. Misalnya kita ingin melihat pola sebaran Jumlah Perpustakaan berbagai Provinsi di Indonesia. apakah menyebar normal atau tidak.

ggplot(data = data_perpus, aes(sample = Jumlah)) +
  stat_qq(col="blue", cex=0.9) +
  stat_qq_line(col="red", lwd=1)

  • Negeri: Kuantilnya membentang hingga angka 600+.
  • Swasta: Kuantilnya hanya mencapai kisaran 200. Ini menunjukkan bahwa jumlah perpustakaan di sekolah Negeri secara signifikan lebih banyak dibandingkan sekolah Swasta di hampir semua wilayah yang tercatat dalam dataset.

6. Scatter plot

Scatter plot digunakan untuk menampilkan dan memvisualisasikan hubungan (korelasi) hubungan antara variabel jumlah dan Total kerusakan pada perpustakaan, yang dibedakan berdasarkan status sekolah (Negeri dan Swasta).

ggplot(data = data_perpus, mapping = aes(x = Jumlah, y = `Total Rusak`, color = `Status Sekolah`)) + 
  geom_point()

Data ini menunjukkan bahwa sekolah negeri memiliki risiko atau frekuensi kerusakan yang lebih tinggi dibandingkan sekolah swasta, terutama pada sekolah dengan skala jumlah fasilitas menengah. terlihat dari diagram bahwa garis merah dominan berada di sisi kiri hingga tengah grafik, namun memiliki sebaran Total Rusak yang paling tinggi, bahkan mencapai angka 40 hingga di atas 50. Ini menunjukkan bahwa tingkat kerusakan yang signifikan lebih banyak ditemukan pada sekolah negeri.

7. Line chart

Plot ini digunakan untuk melihat trend data berdasarkan perubahan waktu. Kami menggunakan Multiple Line Chart pada visualisasi ini

Pada plot ini dapat digunakan untuk membandingkan trend data deret waktu pada beberapa wilayah/kelompok yaitu perbandingan trend banyaknya data jumlah perpustakaan dengan kondisi “Rusak Ringan” (garis biru) dan “Rusak Berat” (garis merah) dari tahun 2016 hingga 2024.

library(ggplot2)
ggplot(data = data_perpus, aes(x = Periode)) +
  geom_line(aes(y = `Rusak Ringan`), lwd = 1.2, col = "blue") +
  geom_line(aes(y = `Rusak Berat`), lwd = 1.2, col = "red") +
  labs(x = "Periode", y = "Jumlah Perpustakaan")

Berdasarkan grafik diatas, terdapat lonjakan vertikal yang ekstrem (spikes) pada setiap awal tahun. Ini menunjukkan adanya anomali dalam data atau cara pencatatan.

Pada rusak ringan (biru) Mendominasi jumlah total kerusakan secara signifikan dibandingkan kerusakan berat. Tren kerusakan ringan menunjukkan pola peningkatan yang cukup tajam di dalam rentang tahun 2018 ke 2019 dan 2020 ke 2021 sebelum akhirnya “jatuh” kembali.

Pada rusak berat (merah)Jumlahnya relatif jauh lebih rendah dan lebih stabil (berada di bawah angka 250) dibandingkan kerusakan ringan pada periode 2016-2021.

Secara keseluruhan, jumlah perpustakaan yang mengalami kerusakan ringan menunjukkan volume yang besar namun cenderung menurun dalam tiga tahun terakhir. Namun, ada tren peningkatan pada kategori Rusak Berat sejak tahun 2022 yang perlu diwaspadai oleh pihak pengelola.

Visualisasi Data Kategorik

1. Pie Chart Kondisi Perpustakaan

Pie chart digunakan untuk melihat proporsi kondisi perpustakaan di Indonesia.

# Membersihkan nama provinsi
data_perpus$Wilayah <- gsub("PROV. ", "", data_perpus$Wilayah)

# Mengambil data tahun 2024
data_2024 <- data_perpus %>%
  filter(Periode == 2024)

head(data_2024)
## # A tibble: 6 × 12
##   Periode Wilayah `Kode Wilayah` `Kota/Kab`     `Kode Kota/Kab` `Status Sekolah`
##     <dbl> <chr>   <chr>          <chr>          <chr>           <chr>           
## 1    2024 ACEH    11             KAB. ACEH SEL… 1101            Swasta          
## 2    2024 ACEH    11             KAB. ACEH SEL… 1101            Negeri          
## 3    2024 ACEH    11             KAB. ACEH TEN… 1102            Negeri          
## 4    2024 ACEH    11             KAB. ACEH TEN… 1102            Swasta          
## 5    2024 ACEH    11             KAB. ACEH TIM… 1103            Negeri          
## 6    2024 ACEH    11             KAB. ACEH TIM… 1103            Swasta          
## # ℹ 6 more variables: Baik <dbl>, `Rusak Ringan` <dbl>, `Rusak Sedang` <dbl>,
## #   `Rusak Berat` <dbl>, `Total Rusak` <dbl>, Jumlah <dbl>
pie_data <- data_2024 %>%
  summarise(
    "Baik:" = sum(Baik, na.rm = TRUE),
    "Rusak Ringan:" = sum(`Rusak Ringan`, na.rm = TRUE),
    "Rusak Sedang:" = sum(`Rusak Sedang`, na.rm = TRUE),
    "Rusak Berat:" = sum(`Rusak Berat`, na.rm = TRUE)
  )

pie_data <- pivot_longer(pie_data,
                         cols = everything(),
                         names_to = "Kondisi",
                         values_to = "Jumlah")

pie_data
## # A tibble: 4 × 2
##   Kondisi       Jumlah
##   <chr>          <dbl>
## 1 Baik:          88445
## 2 Rusak Ringan:  52032
## 3 Rusak Sedang:  36808
## 4 Rusak Berat:   21756
library(plotrix)
## Warning: package 'plotrix' was built under R version 4.5.2
## 
## Attaching package: 'plotrix'
## The following object is masked from 'package:scales':
## 
##     rescale
pie3D( pie_data$Jumlah, 
       labels = paste(pie_data$Kondisi, pie_data$Jumlah), 
       explode = 0.05, col =
         c("#fee8c8","#fdbb84","#fc8d59","#d7301f"),
       main = "Proporsi Kondisi Perpustakaan di Indonesia Tahun 2024" )

Diagram pie menunjukkan bahwa pada tahun 2024 sebagian besar perpustakaan di Indonesia berada dalam kondisi baik, yaitu sebanyak 88.445 unit atau sekitar 55% dari total perpustakaan. Selain itu, terdapat 52.032 perpustakaan (19%) dalam kondisi rusak ringan, 36.808 perpustakaan (23%) dalam kondisi rusak sedang, dan 21.756 perpustakaan (13%) dalam kondisi rusak berat.

Secara keseluruhan, meskipun kondisi baik mendominasi, masih terdapat sejumlah perpustakaan yang mengalami berbagai tingkat kerusakan sehingga memerlukan perbaikan agar dapat berfungsi secara optimal.

2. Bar Chart dengan Tabel Frekuensi

Bar chart digunakan untuk membandingkan jumlah perpustakaan antar provinsi.

freqtab <- data_2024 %>%
  group_by(Wilayah) %>%
  summarise(Freq = sum(Jumlah, na.rm = TRUE))

freqtab
## # A tibble: 38 × 2
##    Wilayah          Freq
##    <chr>           <dbl>
##  1 ACEH             5482
##  2 BALI             3217
##  3 BANTEN           6566
##  4 BENGKULU         2208
##  5 D.I. YOGYAKARTA  3458
##  6 D.K.I. JAKARTA   5006
##  7 GORONTALO        1436
##  8 JAMBI            3413
##  9 JAWA BARAT      24398
## 10 JAWA TENGAH     23461
## # ℹ 28 more rows
ggplot(data = freqtab, aes(x = reorder(Wilayah, Freq), y = Freq)) +
  geom_col(fill = "coral", alpha = 0.7) +
  labs(
    title = "Jumlah Perpustakaan Berdasarkan Provinsi Tahun 2024",
    x = "Provinsi",
    y = "Jumlah Perpustakaan"
  ) +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

ggplot(data = freqtab, aes(x = reorder(Wilayah, Freq), y = Freq)) +
  geom_col(fill = "coral", alpha = 0.7) +
  geom_text(aes(label = Freq), hjust = -0.1, size = 3) +
  labs(
    title = "Jumlah Perpustakaan Berdasarkan Provinsi Tahun 2024",
    x = "Provinsi",
    y = "Jumlah Perpustakaan"
  ) +
  coord_flip() +
  expand_limits(y = max(freqtab$Freq) * 1.1)

Diagram batang menunjukkan jumlah perpustakaan di setiap provinsi di Indonesia pada tahun 2024. Provinsi dengan jumlah perpustakaan terbanyak adalah Jawa Timur sebanyak 24.797 perpustakaan, diikuti Jawa Barat sebanyak 24.398, dan Jawa Tengah sebanyak 23.461. Ketiga provinsi ini memiliki jumlah perpustakaan yang jauh lebih besar dibandingkan provinsi lainnya.

Di kelompok menengah terdapat provinsi seperti Sumatera Utara (12.341) dan Sulawesi Selatan (9.088) yang juga memiliki jumlah perpustakaan cukup tinggi, namun masih berada di bawah provinsi-provinsi di Pulau Jawa. Sementara itu, provinsi dengan jumlah perpustakaan paling sedikit umumnya berada di wilayah timur Indonesia, seperti Papua Pegunungan (407), Papua Selatan (434), dan Papua Barat (494). Grafik menunjukkan bahwa distribusi perpustakaan di Indonesia tidak merata, dengan konsentrasi jumlah perpustakaan yang lebih tinggi di provinsi-provinsi besar di Pulau Jawa dibandingkan dengan wilayah Indonesia bagian timur.

3. Grouped / Stacked Bar Chart

Grafik ini digunakan untuk melihat perbandingan kondisi perpustakaan di setiap provinsi.

stack_data <- data_2024 %>%
  select(Wilayah, Baik, `Rusak Ringan`, `Rusak Sedang`, `Rusak Berat`) %>%
  pivot_longer(
    cols = c(Baik, `Rusak Ringan`, `Rusak Sedang`, `Rusak Berat`),
    names_to = "Kondisi",
    values_to = "Jumlah"
  )

  ggplot(stack_data, aes(x = Wilayah, y = Jumlah, fill = Kondisi)) +
  geom_col(position = "dodge") +
  labs(
    title = "Perbandingan Kondisi Perpustakaan Berdasarkan Provinsi Tahun 2024",
    x = "Provinsi",
    y = "Jumlah Perpustakaan"
  ) +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

ggplot(stack_data,
       aes(x = reorder(Wilayah, Jumlah, sum),
           y = Jumlah,
           fill = Kondisi)) +
  geom_col() +
  scale_fill_brewer(palette = "Oranges") +
  coord_flip() +
  theme_light() +
  labs(
    x = "Provinsi",
    y = "Jumlah Perpustakaan",
    fill = "Kondisi",
    title = "Distribusi Kondisi Perpustakaan Berdasarkan Provinsi Tahun 2024"
  )

Grafik menunjukkan bahwa pada hampir seluruh provinsi, perpustakaan dengan kondisi baik memiliki jumlah paling banyak dibandingkan kategori kondisi lainnya. Hal ini terlihat jelas pada beberapa provinsi besar seperti Jawa Barat, Jawa Timur, dan Jawa Tengah, yang memiliki jumlah perpustakaan kondisi baik jauh lebih tinggi dibandingkan kondisi rusak.

Selain itu, perpustakaan dengan kondisi rusak ringan dan rusak sedang juga muncul dalam jumlah yang cukup signifikan di beberapa provinsi, namun tetap lebih sedikit dibandingkan kondisi baik. Sementara itu, kondisi rusak berat merupakan kategori dengan jumlah paling kecil di sebagian besar provinsi.grafik menunjukkan bahwa meskipun sebagian besar perpustakaan berada dalam kondisi baik, masih terdapat sejumlah perpustakaan di berbagai provinsi yang mengalami kerusakan, sehingga memerlukan perhatian dalam hal pemeliharaan dan perbaikan fasilitas perpustakaan.

4. Bar Chart

Bar Chart adalah visualisasi kategorik yang berfungsi untuk membandingkan nilai numerik antar kategori yang berbeda. Pada bagian ini, bar chart digunakan untuk melihat perbandingan jumlah perpustakaan SD/MI berdasarkan status sekolah (Negeri vs Swasta) pada tahun 2024.

library yang digunakan adalah dplyr untuk manipulasi dan transformasi data dan RColorBrewer untuk memberi palet warna pada grafik batang yang dibuat. Kemudian data difilter berdasarkan periode tahun 2024, selanjutnya data dikelompokan berdasarkan Status Sekolah dan jumlah perpustakaan pada masing-masing kategori dikumulatifkan.

library(dplyr)
library(RColorBrewer)

# Filter Data dan Jumlah Seluruh Perpustakaan menurut Status Sekolah
status2024 <- data_perpus %>%
  filter(Periode == 2024) %>%
  group_by(`Status Sekolah`) %>%
  summarise(total_perpustakaan = sum(Jumlah, na.rm = TRUE))

status2024
## # A tibble: 2 × 2
##   `Status Sekolah` total_perpustakaan
##   <chr>                         <dbl>
## 1 Negeri                       141997
## 2 Swasta                        57044
# Grafik Batang
ggplot(status2024, aes(x = `Status Sekolah`, y = total_perpustakaan, fill = `Status Sekolah`)) +
  geom_col() +
  labs(title = "Perbandingan Jumlah Perpustakaan SD/MI Berdasarkan Status Sekolah",
  subtitle = "Tahun 2024",
       x = "Status Sekolah",
       y = "Jumlah Perpustakaan") + 
  scale_fill_brewer(palette = "Paired")

  theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1))
## <theme> List of 1
##  $ axis.text.x: <ggplot2::element_text>
##   ..@ family       : NULL
##   ..@ face         : NULL
##   ..@ italic       : chr NA
##   ..@ fontweight   : num NA
##   ..@ fontwidth    : num NA
##   ..@ colour       : NULL
##   ..@ size         : NULL
##   ..@ hjust        : num 1
##   ..@ vjust        : num 0.5
##   ..@ angle        : num 90
##   ..@ lineheight   : NULL
##   ..@ margin       : NULL
##   ..@ debug        : NULL
##   ..@ inherit.blank: logi FALSE
##  @ complete: logi FALSE
##  @ validate: logi TRUE

Grafik batang tersebut menunjukan perbandingan jumlah perpustakaan SD/MI berdasarkan status sekolah (Negeri vs Swasta) pada tahun 2024. Berdasarkan grafik, sekolah negeri memiliki jumlah perpustakaan yang jauh lebih banyak dibandingkan sekolah swasta.

Perbedaan ini mengindikasikan bahwa sekolah negeri relatif lebih mendominasi jumlah perpustakaan. Hal ini kemungkinan dipengaruhi oleh dukungan sarana dan prasarana pemerintah untuk standar sarana prasarana pendidikan sekolah negeri dan sebagai program sekolah dalam pengembangan literasi sekola negeri.

5. Needle Chart

Needle Chart digunakan untuk menunjukkan posisi nilai metrik saat ini terhadap skala tertentu. Dalam hal ini, kita ingin melihat berapa jumlah perpustakaan berdasarkan kategori yang diamati, yaitu perpustakaan dengan kondisi Baik, Rusak Ringan, Rusak Sedang, dan Rusak Berat.

# Filter Data Periode 2024
data2024 <- data_perpus %>%
  filter(Periode == 2024)

# Jumlah Berdasarkan Kondisi Perpustakaan
Freq <- colSums(data2024[,c("Baik", "Rusak Ringan",
                                        "Rusak Sedang", "Rusak Berat")])
Freq
##         Baik Rusak Ringan Rusak Sedang  Rusak Berat 
##        88445        52032        36808        21756
# Gabungan Tabel Frekuensi dan Kondisi
freqtab <- data.frame(Freq = as.numeric(Freq),
                      Kondisi = names(Freq))
freqtab
##    Freq      Kondisi
## 1 88445         Baik
## 2 52032 Rusak Ringan
## 3 36808 Rusak Sedang
## 4 21756  Rusak Berat
# Needle Chart
ggplot(data = freqtab,
       mapping = aes(x = reorder(Kondisi, Freq), y = Freq)) +
  geom_segment(aes(x = reorder(Kondisi, Freq),
                   xend= reorder(Kondisi, Freq),
                   y = 0, yend = Freq), color = "purple") +
  geom_point(color = "navyblue", size=4, alpha = 0.6) +
  geom_text(aes(label = Freq), vjust = -1.00) +
  coord_flip() +
  labs(title = "Jumlah Perpustakaan SD/MI Berdasarkan Kondisi",
       x = "Kondisi Perpustakaan", 
       y = "Jumlah Perpustakaan")

Grafik yang ditampilkan menunjukkan perpustakaan SD/MI berdasarkan kondisi perpustakaan yang terbagi menjadi empat kategori, yaitu Baik, Rusak Ringan, Rusak Sedang, dan Rusak Berat.

Grafik dengan kondisi Baik memiliki jumlah perpustakaan terbanyak, yaitu sekitar 88.445 perpustakaan. Hal ini menunjukkan sebagian besar perpustakaan SD/MI berada dalam kondisi yang baik dan layak untuk menunjang kegiatan literasi dan pembelajaran.

Namun masih terdapat fasilitas perpustakaan dengan kondisi rusak, baik kerusakan ringan hingga berat. Hal ini menunjukkan bahwa meskipun fasilitas perpustakaan sudah cukup baik, tetap diperlukan adanya upaya pemeliharaan dan perbaikan infrastruktur untuk meningkatkan kualitas sarana pendidikan.

6. Peta Spasial

Peta Spasial merupakan representasi grafis yang memberikan informasi dengan tampilan geografis. Biasanya peta ini memvisualisaikan data geospasial.

Pada bagian ini, kita ingin melihat 10 provinsi mana saja yang memiliki jumlah perpustakaan terbanyak. Library yang digunakan pada analisis ini yaitu sf dan dplyr. Library sf berfungsi untuk membaca format file spasial (.shp).

library(sf)
## Linking to GEOS 3.13.1, GDAL 3.11.0, PROJ 9.6.0; sf_use_s2() is TRUE
library(dplyr)

# Import Data Excel
data.spasial <- read_xlsx("C:/Users/riefa/Downloads/Dataset Perpus Indonesia.xlsx")
# Import Peta .shp
shp.id <- read_sf(file.choose()) # pilih file indonesia.shp

# Periksa data .shp
head(shp.id)
## Simple feature collection with 6 features and 3 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: 108.6773 ymin: -10.92262 xmax: 140.9776 ymax: 4.396787
## Geodetic CRS:  WGS 84
## # A tibble: 6 × 4
##   id    name                source                                      geometry
##   <chr> <chr>               <chr>                             <MULTIPOLYGON [°]>
## 1 IDKU  North Kalimantan    https://simplemaps.com (((117.7036 4.163415, 117.70…
## 2 IDNT  Nusa Tenggara Timur https://simplemaps.com (((124.03 -9.341974, 124.062…
## 3 IDKB  Kalimantan Barat    https://simplemaps.com (((114.2074 1.439443, 114.20…
## 4 IDPA  Papua               https://simplemaps.com (((134.8735 -4.254611, 134.8…
## 5 IDJI  Jawa Timur          https://simplemaps.com (((113.3952 -8.447035, 113.4…
## 6 IDMA  Maluku              https://simplemaps.com (((128.2312 -8.251235, 128.2…
plot(st_geometry(shp.id))

top10 <- data.spasial %>%
  filter(Periode == 2024) %>% # Filter berdasarkkan periode 2024
  group_by(Wilayah) %>% # Kelompokkan berdasarkan Wilayah
  summarise(total_perpustakaan = sum(Jumlah, na.rm = TRUE)) %>% # Jumlah seluruh perpustakaan
  slice_max(total_perpustakaan, n = 10) # Ambil 10 perpustakaan dengan jumlah terbanyak

# Generalisasi variabel Wilayah dengan id 
top10 <- top10 %>%
  mutate(id = case_when(
    Wilayah == "PROV. ACEH" ~ "IDAC",
    Wilayah == "PROV. BALI" ~ "IDBA",
    Wilayah == "PROV. KEPULAUAN BANGKA BELITUNG" ~ "IDBB",
    Wilayah == "PROV. BENGKULU" ~ "IDBE",
    Wilayah == "PROV. BANTEN" ~ "IDBT",
    Wilayah == "PROV. GORONTALO" ~ "IDGO",
    Wilayah == "PROV. JAMBI" ~ "IDJA",
    Wilayah == "PROV. JAWA BARAT" ~ "IDJA",
    Wilayah == "PROV. JAWA TIMUR" ~ "IDJI",
    Wilayah == "PROV. D.K.I. JAKARTA" ~ "IDJK",
    Wilayah == "PROV. JAWA TENGAH" ~ "IDJT",
    Wilayah == "PROV. KALIMANTAN BARAT" ~ "IDKB",
    Wilayah == "PROV. KALIMANTAN TIMUR" ~ "IDKT",
    Wilayah == "PROV. KEPULAUAN RIAU" ~ "IDKR",
    Wilayah == "PROV. KALIMANTAN SELATAN" ~ "IDKS",
    Wilayah == "PROV. KALIMANTAN TENGAH" ~ "IDKT",
    Wilayah == "PROV. KALIMANTAN UTARA" ~ "IDKU",
    Wilayah == "PROV. LAMPUNG" ~ "IDLA",
    Wilayah == "PROV. MALUKU" ~ "IDMA",
    Wilayah == "PROV. MALUKU UTARA" ~ "IDMU",
    Wilayah == "PROV. NUSA TENGGARA BARAT" ~ "IDNB",
    Wilayah == "PROV. NUSA TENGGARA TIMUR" ~ "IDNT",
    Wilayah == "PROV. PAPUA" ~ "IDPA",
    Wilayah == "PROV. PAPUA BARAT" ~ "IDPB",
    Wilayah == "PROV. RIAU" ~ "IDRI",
    Wilayah == "PROV. SULAWESI UTARA" ~ "IDSA",
    Wilayah == "PROV. SUMATERA BARAT" ~ "IDSB",
    Wilayah == "PROV. SULAWESI TENGGARA" ~ "IDSG",
    Wilayah == "PROV. SULAWESI SELATAN" ~ "IDSN",
    Wilayah == "PROV. SULAWESI BARAT" ~ "IDSR",
    Wilayah == "PROV. SUMATERA SELATAN" ~ "IDSS",
    Wilayah == "PROV. SULAWESI TENGAH" ~ "IDST",
    Wilayah == "PROV. SUMATERA UTARA" ~ "IDSU",
    Wilayah == "PROV. D.I. YOGYAKARTA" ~ "IDYO",
    TRUE ~ NA_character_
  ))

top10
## # A tibble: 10 × 3
##    Wilayah                   total_perpustakaan id   
##    <chr>                                  <dbl> <chr>
##  1 PROV. JAWA TIMUR                       24797 IDJI 
##  2 PROV. JAWA BARAT                       24398 IDJA 
##  3 PROV. JAWA TENGAH                      23461 IDJT 
##  4 PROV. SUMATERA UTARA                   12341 IDSU 
##  5 PROV. SULAWESI SELATAN                  9088 IDSN 
##  6 PROV. NUSA TENGGARA TIMUR               7631 IDNT 
##  7 PROV. LAMPUNG                           6603 IDLA 
##  8 PROV. SUMATERA SELATAN                  6597 IDSS 
##  9 PROV. BANTEN                            6566 IDBT 
## 10 PROV. KALIMANTAN BARAT                  5699 IDKB
# Gabungkan Data ke File .shp
join.id  <- left_join(shp.id, top10, by = "id")
View(join.id)

DT::datatable(join.id)
#Pemetaan 
plot.id <- ggplot(data = join.id) +
  geom_sf(aes(fill = total_perpustakaan)) +
  scale_fill_distiller(palette = "BuPu", na.value = "white") + 
  labs(fill = "Jumlah Perpustakaan",
       title = "10 Provinsi dengan Jumlah Perpustakaan SD/MI Terbanyak",
       subtitle = "Tahun 2024") +
  theme_minimal()
plot.id

Pada visualisasi tersebut, warna yang lebih terang menunjukkan jumlah perpustakaan yang lebih tinggi, sedangkan warna yang lebih gelap menunjukkan jumlah yang lebih rendah diantara 10 Provinsi terpilih.

Provinsi dengan jumlah perpustakaan paling terbanyak yaitu Provinsi Jawa Timur dengan jumlah perpustakaan 24.797. Posisi kedua yaitu berada di Provinsi Jawa Barat dengan jumlah 24.398 perpustakaan. Kemudian, provinsi ketiga yaitu Provinsi Jawa Tengah dengan jumlah 23.461.

Berdasarkan hal tersebut, terlihat bahwa Provinsi Jawa mendominasi jumlah perpustakaan yang lebih banyak dibandingkan Provinsi lain. Kondisi ini dapat dipengaruhi karena tingginya jumlah sekolah dasar, kepadatan penduduk, serta infrastruktur pendidikan di wilayah tersebut.

Sementara, Provinsi Sumatera dan Sulawesi yang termasuk dalam sepuluh provinsi dengan jumlah perpustakaan terbanyak, jumlahnya relatif lebih rendah dibandingkan Provinsi Jawa. Hal ini menunjukkan bahwa fasilitas di wilayah tersebut juga cukup berkembang, namun tingkat ketersediaannya belum setinggi di wilayah Pulau Jawa yang memiliki konsentrasi jumlah sekolah dan kepadatan penduduk yang lebih tinggi.