Visualisasi Data Numerik & Kategorik Perpustakaan berbagai Provinsi di Indonesia
- Nama Anggota:
- Tazkia Aulia (3338240001)
- Riefan Abdul Hakim (3338240020)
- Tadzkiah Fayrooz Ridwan (3338240029)
- Ridla Iasa Ramadhania (3338240035)
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.
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
##
## 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
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
## 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.
## # 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> 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).
## 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…
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.idPada 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.