Menggunakan umur sekolah (school age) saat menghitung indikator pendidikan bertujuan untuk memastikan kesesuaian antara status pendidikan seseorang dengan kelompok umur tertentu yang seharusnya sudah mencapai tingkat pendidikan tertentu.
Seperti diketahui, waktu mulai tahun ajaran pendidikan di Indonesia dimulai di bulan Juni dan berakhir di bulan Juli pada satu tahun setelahnya. Oleh karena itu, konversi umur dalam pencacahan (current age) ke school age menjadi sangat penting.
Berikut adalah alasan utama, diantaranya adalah:
Dalam survei sosial, termasuk Susenas, penghitungan indikator pendidikan sering disesuaikan dengan kelompok umur sekolah yang berlaku berdasarkan sistem pendidikan nasional dan standard internasional (misalnya, UNESCO atau Sustainable Development Goals/SDGs).
Beberapa contoh indikator pendidikan yang menggunakan school age adalah indikator Completion Rate dan OOSC. Umur yang digunakan yaitu umur anak saat tahun pembelajaran, bukan umur saat pencacahan.
Dengan menggunakan umur sekolah, Susenas dapat mendeteksi anak-anak yang:
Tidak bersekolah padahal berada dalam usia wajib belajar.
Berada di tingkat pendidikan yang tidak sesuai dengan usianya (misalnya, anak berumur 15 tahun masih di SD, atau 12 tahun sudah di SMP).
Informasi ini penting untuk mengidentifikasi masalah seperti keterlambatan masuk sekolah, putus sekolah, dan kesenjangan akses pendidikan.
library(haven) # To read SPSS files
library(dplyr) # For data manipulation
Select specific columns
data <- kor24gab %>%
select(URUT, PSU, SSU, WI1, WI2, R406A, R406B, R406C, R407, FWT)
data <- data %>% mutate(weight = FWT)
Set the month and year of the beginning of the school year
susenas_month <- 3
susenas_year <- 2024
month_sc <- 7
year_sc <- 2023
attr(data, "variable.labels") <- c(
monthSc = "Month of beginning of the school year",
yearSc = "Year of beginning of the school year",
susenasmonth = "Month of survey",
susenasyear = "Year of survey"
)
Age adjustment
data <- data %>%
mutate(
schage = R407, # Start with R407 as schage
schage = if_else(R406B==month_sc & R406A>17 & R406A!=98, R407-1, schage),
schage = if_else(R406B==susenas_month & R407==susenas_year-R406C, R407-1, schage),
schage = if_else((R406B<susenas_month | R406B>month_sc), R407-1, schage)
)
# Handle cases where R406b == 98
data <- data %>%
mutate(
check = if_else(R406B == 98, susenas_year - R406C, NA_real_),
schage = if_else(R406B == 98 & check == R407, R407 - 1, schage),
schage = if_else(R406B == 98 & check != R407, R407, schage)
)
Compute the difference for correction
data <- data %>%
mutate(diff = R407 - schage)
Crosstabulation (summarized frequency)
table(data$R406B, data$diff)
##
## 0 1
## 1 0 88795
## 2 0 83711
## 3 93628 2258
## 4 100034 0
## 5 107721 0
## 6 106324 0
## 7 109595 37929
## 8 0 102991
## 9 0 86218
## 10 0 91392
## 11 0 83022
## 12 0 113260
## 98 1487 3029
library(ggplot2)
Histogram of school age
ggplot(data, aes(x = schage)) +
geom_histogram(binwidth = 1, fill = "blue", color = "white") +
labs(title = "Distribution of School Age", x = "School Age", y = "Count") +
theme_minimal()
Overlay Histogram
ggplot(data) +
geom_histogram(aes(x = R407, fill = "R407 (Before Correction)"),
binwidth = 1, alpha = 0.5, color = "white") +
geom_histogram(aes(x = schage, fill = "schage (After Correction)"),
binwidth = 1, alpha = 0.5, color = "white") +
scale_fill_manual(values = c("R407 (Before Correction)" = "red",
"schage (After Correction)" = "blue")) +
labs(
title = "Comparison of R407 (Before Correction) and schage (After Correction)",
x = "Age",
y = "Count",
fill = "Age Type"
) +
theme_minimal() +
theme(legend.position = "bottom") # Set legend position to bottom
Direktorat Statistik Kesejahteraan Rakyat, BPS, saptahas@bps.go.id