Analisis deskriptif ini dilakukan untuk melihat gambaran
secara umum mengenai status gizi di Provinsi Jawa Tengah pada tahun
2024. Data ini mencakup beberapa indikator seperti stunting, gizi buruk,
dan gizi kurang di tiap kabupaten/kota. Melalui perhitungan nilai
rata-rata, median, serta penyebaran data, analisis ini membantu memahami
bagaimana kondisi gizi tersebar di berbagai daerah. Visualisasi seperti
barchart, piechart, dan plot digunakan agar hasilnya lebih mudah dibaca
dan dipahami. Hasil analisis ini diharapkan memberi gambaran awal
tentang pola dan perbedaan status gizi di Jawa Tengah.
library(readxl)
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.1 ✔ stringr 1.5.2
## ✔ ggplot2 4.0.0 ✔ tibble 3.3.0
## ✔ lubridate 1.9.4 ✔ tidyr 1.3.1
## ✔ purrr 1.1.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
data <- read_excel("C:/Users/Marcella/Downloads/data.xlsx")
View(data)
print(data)
## # A tibble: 35 × 12
## Kabupaten Jumlah_Balita BB_Kurang Persentase TB_Balita TB_Pendek
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 3301 Kab. Cilacap 106892 8956 8.4 106892 5235
## 2 3302 Kab. Banyumas 95468 12538 13.1 95468 14477
## 3 3303 Kab. Purbalingga 57631 6424 11.1 57631 7114
## 4 3304 Kab. Banjarnegara 52667 6020 11.4 52667 9018
## 5 3305 Kab. Kebumen 73895 9266 12.5 73895 6870
## 6 3306 Kab. Purworejo 38335 5208 13.6 38335 6107
## 7 3307 Kab. Wonosobo 47922 4919 10.3 47922 8741
## 8 3308 Kab. Magelang 71428 8598 12 71428 10914
## 9 3309 Kab. Boyolali 58437 5224 8.9 58437 6994
## 10 3310 Kab. Klaten 61905 8636 14 61905 8620
## # ℹ 25 more rows
## # ℹ 6 more variables: Persentase_TB <dbl>, Gizi_Balita <dbl>,
## # Gizi_Kurang <dbl>, Persentase_Gizi <dbl>, Gizi_Buruk <dbl>,
## # Persentase_GB <dbl>
summary(data)
## Kabupaten Jumlah_Balita BB_Kurang Persentase
## Length:35 Min. : 4518 Min. : 429 Min. : 4.20
## Class :character 1st Qu.: 43416 1st Qu.: 4266 1st Qu.: 9.20
## Mode :character Median : 53761 Median : 5711 Median :11.30
## Mean : 56231 Mean : 6005 Mean :10.99
## 3rd Qu.: 74936 3rd Qu.: 7997 3rd Qu.:13.10
## Max. :106892 Max. :13008 Max. :17.90
## TB_Balita TB_Pendek Persentase_TB Gizi_Balita
## Min. : 4518 Min. : 503 Min. : 2.50 Min. : 4518
## 1st Qu.: 43416 1st Qu.: 2874 1st Qu.: 7.40 1st Qu.: 43416
## Median : 53761 Median : 5235 Median : 9.80 Median : 53761
## Mean : 56231 Mean : 5630 Mean :10.08 Mean : 56231
## 3rd Qu.: 74936 3rd Qu.: 7054 3rd Qu.:13.10 3rd Qu.: 74936
## Max. :106892 Max. :15750 Max. :18.20 Max. :106892
## Gizi_Kurang Persentase_Gizi Gizi_Buruk Persentase_GB
## Min. : 168 Min. :2.200 Min. : 0.0 Min. :0.0000
## 1st Qu.:1837 1st Qu.:3.950 1st Qu.: 47.0 1st Qu.:0.1500
## Median :2814 Median :5.200 Median : 159.0 Median :0.3000
## Mean :3081 Mean :5.474 Mean : 246.8 Mean :0.3771
## 3rd Qu.:3955 3rd Qu.:7.050 3rd Qu.: 308.0 3rd Qu.:0.4500
## Max. :7507 Max. :8.900 Max. :1091.0 Max. :1.3000
summary(data$TB_Balita)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 4518 43416 53761 56231 74936 106892
summary(data$TB_Pendek)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 503 2874 5235 5630 7054 15750
summary(data$Gizi_Balita)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 4518 43416 53761 56231 74936 106892
summary(data$Gizi_Kurang)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 168 1837 2814 3081 3955 7507
summary(data$Gizi_Buruk)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0 47.0 159.0 246.8 308.0 1091.0
library(ggplot2)
Kabupaten_Kota <- c("Kab. Cilacap","Kab. Banyumas","Kab. Purbalingga","Kab. Banjarnegara","Kab. Kebumen","Kab. Purworejo","Kab. Wonosobo","Kab. Magelang","Kab. Boyolali","Kab. Klaten","Kab. Sukoharjo","Kab. Wonogiri","Kab. Karanganyar","Kab. Sragen","Kab. Grobogan","Kab. Blora","Kab. Rembang","Kab.Pati","Kab. Kudus","Kab. Jepara","Kab. Demak","Kab. Semarang","Kab. Temanggung","Kab. Kendal","Kab. Batang","Kab. Pekalongan","Kab. Pemalang","Kab. Tegal","Kab. Brebes","Kota Magelang","Kota Surakarta","Kota Salatiga","Kota Semarang","Kota Pekalongan","Kota Tegal")
Balita_Pendek <- c(5235,14477,7114,9018,6870,6107,8741,10914,6994,8620,4080,4233,2955,5659,5981,3354,4854,5537,2372,3278,2179,1960,5857,6823,4594,4974,8343,15750,12453,503,1597,552,2794,1270,1016)
data <- data.frame(Kabupaten_Kota, Balita_Pendek)
data$Kabupaten_Kota <- factor(data$Kabupaten_Kota,
levels = data$Kabupaten_Kota[order(data$Balita_Pendek)])
ggplot(data, aes(x = Kabupaten_Kota, y = Balita_Pendek, fill = Balita_Pendek)) +
geom_bar(stat = "identity", color = "white", width = 0.7) +
scale_fill_gradient(low = "#f8c8dc", high = "#e75480") +
coord_flip() +
labs(
title = "Jumlah Balita Pendek di Jawa Tengah Tahun 2024",
x = "Kabupaten / Kota",
y = "Jumlah Balita Pendek"
) +
theme_minimal() +
theme(
plot.title = element_text(color = "#e75480", face = "bold", size = 13, hjust = 0.5),
axis.text = element_text(color = "#444", size = 9),
axis.title = element_text(color = "#555"),
panel.grid.major = element_line(color = "#fce4ec"),
panel.background = element_rect(fill = "#fff6f9", color = NA),
plot.background = element_rect(fill = "#fff6f9", color = NA),
legend.position = "none"
)
library(ggplot2)
library(dplyr)
Kabupaten_Kota <- c( "Kab. Cilacap","Kab. Banyumas","Kab. Purbalingga","Kab. Banjarnegara","Kab. Kebumen","Kab. Purworejo","Kab. Wonosobo","Kab. Magelang","Kab. Boyolali","Kab. Klaten","Kab. Sukoharjo","Kab. Wonogiri","Kab. Karanganyar","Kab. Sragen","Kab. Grobogan","Kab. Blora","Kab. Rembang","Kab.Pati","Kab. Kudus","Kab. Jepara","Kab. Demak","Kab. Semarang","Kab. Temanggung","Kab. Kendal","Kab. Batang","Kab. Pekalongan","Kab. Pemalang","Kab. Tegal","Kab. Brebes","Kota Magelang","Kota Surakarta","Kota Salatiga","Kota Semarang","Kota Pekalongan","Kota Tegal")
Balita_Pendek <- c(5235,14477,7114,9018,6870,6107,8741,10914,6994,8620,4080,4233,2955,5659,5981,3354,4854,5537,2372,3278,2179,1960,5857,6823,4594,4974,8343,15750,12453,503,1597,552,2794,1270,1016)
data <- data.frame(Kabupaten_Kota, Balita_Pendek)
# Mengambil 5 daerah dengan jumlah balita pendek tertinggi
top5 <- data %>%
arrange(desc(Balita_Pendek)) %>%
head(5)
# Hitung persentase untuk label
top5 <- top5 %>%
mutate(persen = round(100 * Balita_Pendek / sum(Balita_Pendek), 1),
label = paste0(Kabupaten_Kota, "\n", persen, "%"))
# Pie Chart
ggplot(top5, aes(x = "", y = Balita_Pendek, fill = Kabupaten_Kota)) +
geom_bar(stat = "identity", width = 1, color = "white") +
coord_polar("y", start = 0) +
geom_text(aes(label = label),
position = position_stack(vjust = 0.5),
size = 3.5, color = "#444", lineheight = 0.9) +
scale_fill_manual(values = c("#f8c8dc", "#f4acb7", "#ffe5ec", "#f7cad0", "#e75480")) +
labs(
title = "Top 5 Balita Pendek Tertinggi di Jawa Tengah (2024)",
fill = "Wilayah"
) +
theme_void() +
theme(
plot.title = element_text(color = "#e75480", face = "bold", size = 13, hjust = 0.5),
legend.title = element_text(color = "#555"),
legend.text = element_text(color = "#555"),
plot.background = element_rect(fill = "#fff6f9", color = NA)
)
library(ggplot2)
Jumlah_Balita_diukur <- c("Kab. Cilacap","Kab. Banyumas","Kab. Purbalingga","Kab. Banjarnegara","Kab. Kebumen","Kab. Purworejo","Kab. Wonosobo","Kab. Magelang","Kab. Boyolali","Kab. Klaten","Kab. Sukoharjo","Kab. Wonogiri","Kab. Karanganyar","Kab. Sragen","Kab. Grobogan","Kab. Blora","Kab. Rembang","Kab.Pati","Kab. Kudus","Kab. Jepara","Kab. Demak","Kab. Semarang","Kab. Temanggung","Kab. Kendal","Kab. Batang","Kab. Pekalongan","Kab. Pemalang","Kab. Tegal","Kab. Brebes","Kota Magelang","Kota Surakarta","Kota Salatiga","Kota Semarang","Kota Pekalongan","Kota Tegal")
Balita_Pendek <- c(5235,14477,7114,9018,6870,6107,8741,10914,6994,8620,4080,4233,2955,5659,5981,3354,4854,5537,2372,3278,2179,1960,5857,6823,4594,4974,8343,15750,12453,503,1597,552,2794,1270,1016)
data <- data.frame(Jumlah_Balita_diukur, Balita_Pendek)
# Urutkan berdasarkan jumlah balita pendek
data$Jumlah_Balita_diukur <- factor(data$Jumlah_Balita_diukur, levels = data$Jumlah_Balita_diukur[order(data$Balita_Pendek)])
# Scatterplot
ggplot(data, aes(x = Jumlah_Balita_diukur, y = Balita_Pendek)) +
geom_point(
shape = 21,
size = 3,
fill = "#f4acb7",
color = "#e75480",
alpha = 0.7
) +
theme_minimal() +
labs(
title = "Sebaran Jumlah Balita Pendek di Jawa Tengah (2024)",
subtitle = "Setiap titik mewakili satu kabupaten/kota",
x = "Kabupaten/Kota",
y = "Jumlah Balita Pendek"
) +
theme(
plot.title = element_text(color = "#e75480", face = "bold", size = 13, hjust = 0.5),
plot.subtitle = element_text(color = "#555", hjust = 0.5),
axis.text.x = element_blank(),
axis.ticks.x = element_blank(),
panel.grid.major = element_line(color = "#f9dce1"),
panel.grid.minor = element_blank(),
plot.background = element_rect(fill = "#fff6f9", color = NA)
)
Dari hasil analisis dan visualisasi data diatas, dapat disimpulkan bahwa masalah stunting di Jawa Tengah belum merata tertangani. Daerah dengan jumlah balita pendek yang tinggi umumnya memiliki kesamaan karakteristik, seperti tingkat pendidikan orang tua yang rendah, akses terhadap layanan kesehatan dan sanitasi yang terbatas, serta pola konsumsi gizi yang belum seimbang. Oleh karena itu, upaya intervensi gizi dan edukasi masyarakat perlu terus dilakukan untuk menekan angka balita pendek, terutama di wilayah-wilayah dengan prevalensi tinggi seperti Tegal, Banyumas,Brebes, Magelang dan Banjarnegara.
library(ggplot2)
Kabupaten_Kota <- c("Kab. Cilacap","Kab. Banyumas","Kab. Purbalingga","Kab. Banjarnegara","Kab. Kebumen","Kab. Purworejo","Kab. Wonosobo","Kab. Magelang","Kab. Boyolali","Kab. Klaten","Kab. Sukoharjo","Kab. Wonogiri","Kab. Karanganyar","Kab. Sragen","Kab. Grobogan","Kab. Blora","Kab. Rembang","Kab.Pati","Kab. Kudus","Kab. Jepara","Kab. Demak","Kab. Semarang","Kab. Temanggung","Kab. Kendal","Kab. Batang","Kab. Pekalongan","Kab. Pemalang","Kab. Tegal","Kab. Brebes","Kota Magelang","Kota Surakarta","Kota Salatiga","Kota Semarang","Kota Pekalongan","Kota Tegal")
Gizi_Kurang <- c(4961,5333,2941,2130,3506,1968,1381,3697,2610,3836,2289,1952,1811,2891,5411,3537,2642,3987,1863,4065,3184,1978,1647,4664,2814,3923,6521,7107,7507,168,1036,302,1792,1459,916)
data <- data.frame(Kabupaten_Kota, Gizi_Kurang)
data$Kabupaten_Kota <- factor(data$Kabupaten_Kota,
levels = data$Kabupaten_Kota[order(data$Gizi_Kurang)])
ggplot(data, aes(x = Kabupaten_Kota, y = Gizi_Kurang, fill = Gizi_Kurang)) +
geom_bar(stat = "identity", color = "white", width = 0.7) +
scale_fill_gradient(low = "#f8c8dc", high = "#e75480") +
coord_flip() +
labs(
title = "Jumlah Gizi Balita Kurang di Jawa Tengah Tahun 2024",
x = "Kabupaten / Kota",
y = "Jumlah Balita Pendek"
) +
theme_minimal() +
theme(
plot.title = element_text(color = "#e75480", face = "bold", size = 13, hjust = 0.5),
axis.text = element_text(color = "#444", size = 9),
axis.title = element_text(color = "#555"),
panel.grid.major = element_line(color = "#fce4ec"),
panel.background = element_rect(fill = "#fff6f9", color = NA),
plot.background = element_rect(fill = "#fff6f9", color = NA),
legend.position = "none"
)
library(ggplot2)
library(dplyr)
Kabupaten_Kota <- c( "Kab. Cilacap","Kab. Banyumas","Kab. Purbalingga","Kab. Banjarnegara","Kab. Kebumen","Kab. Purworejo","Kab. Wonosobo","Kab. Magelang","Kab. Boyolali","Kab. Klaten","Kab. Sukoharjo","Kab. Wonogiri","Kab. Karanganyar","Kab. Sragen","Kab. Grobogan","Kab. Blora","Kab. Rembang","Kab.Pati","Kab. Kudus","Kab. Jepara","Kab. Demak","Kab. Semarang","Kab. Temanggung","Kab. Kendal","Kab. Batang","Kab. Pekalongan","Kab. Pemalang","Kab. Tegal","Kab. Brebes","Kota Magelang","Kota Surakarta","Kota Salatiga","Kota Semarang","Kota Pekalongan","Kota Tegal")
Gizi_Kurang<- c(4961,5333,2941,2130,3506,1968,1381,3697,2610,3836,2289,1952,1811,2891,5411,3537,2642,3987,1863,4065,3184,1978,1647,4664,2814,3923,6521,7107,7507,168,1036,302,1792,1459,916)
data <- data.frame(Kabupaten_Kota, Gizi_Kurang)
# Mengambil 5 daerah dengan jumlah gizi balita kurang tertinggi
top5 <- data %>%
arrange(desc(Gizi_Kurang)) %>%
head(5)
# Hitung persentase untuk label
top5 <- top5 %>%
mutate(persen = round(100 * Gizi_Kurang / sum(Gizi_Kurang), 1),
label = paste0(Kabupaten_Kota, "\n", persen, "%"))
# Pie chart
ggplot(top5, aes(x = "", y = Gizi_Kurang, fill = Kabupaten_Kota)) +
geom_bar(stat = "identity", width = 1, color = "white") +
coord_polar("y", start = 0) +
geom_text(aes(label = label),
position = position_stack(vjust = 0.5),
size = 3.5, color = "#444", lineheight = 0.9) +
scale_fill_manual(values = c("#f8c8dc", "#f4acb7", "#ffe5ec", "#f7cad0", "#e75480")) +
labs(
title = "Top 5 Gizi Balita Kurang Tertinggi di Jawa Tengah (2024)",
fill = "Wilayah"
) +
theme_void() +
theme(
plot.title = element_text(color = "#e75480", face = "bold", size = 13, hjust = 0.5),
legend.title = element_text(color = "#555"),
legend.text = element_text(color = "#555"),
plot.background = element_rect(fill = "#fff6f9", color = NA)
)
library(ggplot2)
Kabupaten_Kota <- c("Kab. Cilacap","Kab. Banyumas","Kab. Purbalingga","Kab. Banjarnegara","Kab. Kebumen","Kab. Purworejo","Kab. Wonosobo","Kab. Magelang","Kab. Boyolali","Kab. Klaten","Kab. Sukoharjo","Kab. Wonogiri","Kab. Karanganyar","Kab. Sragen","Kab. Grobogan","Kab. Blora","Kab. Rembang","Kab.Pati","Kab. Kudus","Kab. Jepara","Kab. Demak","Kab. Semarang","Kab. Temanggung","Kab. Kendal","Kab. Batang","Kab. Pekalongan","Kab. Pemalang","Kab. Tegal","Kab. Brebes","Kota Magelang","Kota Surakarta","Kota Salatiga","Kota Semarang","Kota Pekalongan","Kota Tegal")
Gizi_Kurang <- c(4961,5333,2941,2130,3506,1968,1381,3697,2610,3836,2289,1952,1811,2891,5411,3537,2642,3987,1863,4065,3184,1978,1647,4664,2814,3923,6521,7107,7507,168,1036,302,1792,1459,916)
data <- data.frame(Kabupaten_Kota, Gizi_Kurang)
# Urutkan berdasarkan jumlah balita pendek
data$Kabupaten_Kota <- factor(data$Kabupaten_Kota, levels = data$Kabupaten_Kota[order(data$Gizi_Kurang)])
# Scatterplot
ggplot(data, aes(x = Kabupaten_Kota, y = Gizi_Kurang)) +
geom_point(
shape = 21,
size = 3,
fill = "#f4acb7",
color = "#e75480",
alpha = 0.7
) +
theme_minimal() +
labs(
title = "Sebaran Jumlah Gizi Balita Kurang di Jawa Tengah (2024)",
subtitle = "Setiap titik mewakili satu kabupaten/kota",
x = "Kabupaten/Kota",
y = "Jumlah Gizi Balita Kurang"
) +
theme(
plot.title = element_text(color = "#e75480", face = "bold", size = 13, hjust = 0.5),
plot.subtitle = element_text(color = "#555", hjust = 0.5),
axis.text.x = element_blank(),
axis.ticks.x = element_blank(),
panel.grid.major = element_line(color = "#f9dce1"),
panel.grid.minor = element_blank(),
plot.background = element_rect(fill = "#fff6f9", color = NA)
)
Dari data pola persebaran ini memperlihatkan bahwa wilayah bagian barat dan tengah Jawa Tengah masih memiliki angka gizi kurang yang tinggi. Dapat dilihat top 5 kabupaten dengan angka tertinggi ada pada Kab. Brebes, Kab. Tegal, Kab. Pemalang, Kab. Grogongan dan Kab. Banyumas. Faktor-faktor seperti ketersediaan pangan bergizi, pengetahuan gizi keluarga, sanitasi, serta layanan kesehatan anak sangat berpengaruh terhadap kondisi ini. Oleh karena itu, upaya peningkatan edukasi gizi masyarakat, intervensi pangan lokal bergizi, dan program perbaikan sanitasi perlu terus diperkuat untuk menurunkan angka gizi kurang di Provinsi Jawa Tengah.
library(ggplot2)
Kabupaten_Kota <- c("Kab. Cilacap","Kab. Banyumas","Kab. Purbalingga","Kab. Banjarnegara","Kab. Kebumen","Kab. Purworejo","Kab. Wonosobo","Kab. Magelang","Kab. Boyolali","Kab. Klaten","Kab. Sukoharjo","Kab. Wonogiri","Kab. Karanganyar","Kab. Sragen","Kab. Grobogan","Kab. Blora","Kab. Rembang","Kab.Pati","Kab. Kudus","Kab. Jepara","Kab. Demak","Kab. Semarang","Kab. Temanggung","Kab. Kendal","Kab. Batang","Kab. Pekalongan","Kab. Pemalang","Kab. Tegal","Kab. Brebes","Kota Magelang","Kota Surakarta","Kota Salatiga","Kota Semarang","Kota Pekalongan","Kota Tegal")
Gizi_Buruk <- c(427,259,205,169,36,55,105,155,19,194,91,159,19,181,191,74,216,384,202,541,53,41,71,676,153,357,1.056,1.018,1.091,4,0,1,368,30,38)
data <- data.frame(Kabupaten_Kota, Gizi_Buruk)
ggplot(data, aes(x = Kabupaten_Kota, y = Gizi_Buruk, fill = Gizi_Buruk)) +
geom_bar(stat = "identity", color = "white", width = 0.7) +
scale_fill_gradient(low = "#f8c8dc", high = "#e75480") +
coord_flip() +
labs(
title = "Jumlah Gizi Balita Buruk di Jawa Tengah Tahun 2024",
x = "Kabupaten / Kota",
y = "Jumlah Gizi Balita Buruk "
) +
theme_minimal() +
theme(
plot.title = element_text(color = "#e75480", face = "bold", size = 13, hjust = 0.5),
axis.text = element_text(color = "#444", size = 9),
axis.title = element_text(color = "#555"),
panel.grid.major = element_line(color = "#fce4ec"),
panel.background = element_rect(fill = "#fff6f9", color = NA),
plot.background = element_rect(fill = "#fff6f9", color = NA),
legend.position = "none"
)
library(ggplot2)
library(dplyr)
Kabupaten_Kota <- c( "Kab. Cilacap","Kab. Banyumas","Kab. Purbalingga","Kab. Banjarnegara","Kab. Kebumen","Kab. Purworejo","Kab. Wonosobo","Kab. Magelang","Kab. Boyolali","Kab. Klaten","Kab. Sukoharjo","Kab. Wonogiri","Kab. Karanganyar","Kab. Sragen","Kab. Grobogan","Kab. Blora","Kab. Rembang","Kab.Pati","Kab. Kudus","Kab. Jepara","Kab. Demak","Kab. Semarang","Kab. Temanggung","Kab. Kendal","Kab. Batang","Kab. Pekalongan","Kab. Pemalang","Kab. Tegal","Kab. Brebes","Kota Magelang","Kota Surakarta","Kota Salatiga","Kota Semarang","Kota Pekalongan","Kota Tegal")
Gizi_Buruk <- c(427,259,205,169,36,55,105,155,19,194,91,159,19,181,191,74,216,384,202,541,53,41,71,676,153,357,1.056,1.018,1.091,4,0,1,368,30,38)
data <- data.frame(Kabupaten_Kota, Gizi_Buruk)
# Mengambil 5 daerah dengan jumlah gizi balita buruk tertinggi
top5 <- data %>%
arrange(desc(Gizi_Buruk)) %>%
head(5)
# Hitung persentase untuk label
top5 <- top5 %>%
mutate(persen = round(100 * Gizi_Buruk / sum(Gizi_Buruk), 1),
label = paste0(Kabupaten_Kota, "\n", persen, "%"))
# Pie chart
ggplot(top5, aes(x = "", y = Gizi_Buruk, fill = Kabupaten_Kota)) +
geom_bar(stat = "identity", width = 1, color = "white") +
coord_polar("y", start = 0) +
geom_text(aes(label = label),
position = position_stack(vjust = 0.5),
size = 3.5, color = "#444", lineheight = 0.9) +
scale_fill_manual(values = c("#f8c8dc", "#f4acb7", "#ffe5ec", "#f7cad0", "#e75480")) +
labs(
title = "Top 5 Gizi Balita Buruk Tertinggi di Jawa Tengah (2024)",
fill = "Wilayah"
) +
theme_void() +
theme(
plot.title = element_text(color = "#e75480", face = "bold", size = 13, hjust = 0.5),
legend.title = element_text(color = "#555"),
legend.text = element_text(color = "#555"),
plot.background = element_rect(fill = "#fff6f9", color = NA)
)
library(ggplot2)
Kabupaten_Kota <- c("Kab. Cilacap","Kab. Banyumas","Kab. Purbalingga","Kab. Banjarnegara","Kab. Kebumen","Kab. Purworejo","Kab. Wonosobo","Kab. Magelang","Kab. Boyolali","Kab. Klaten","Kab. Sukoharjo","Kab. Wonogiri","Kab. Karanganyar","Kab. Sragen","Kab. Grobogan","Kab. Blora","Kab. Rembang","Kab.Pati","Kab. Kudus","Kab. Jepara","Kab. Demak","Kab. Semarang","Kab. Temanggung","Kab. Kendal","Kab. Batang","Kab. Pekalongan","Kab. Pemalang","Kab. Tegal","Kab. Brebes","Kota Magelang","Kota Surakarta","Kota Salatiga","Kota Semarang","Kota Pekalongan","Kota Tegal")
Gizi_Buruk <- c(427,259,205,169,36,55,105,155,19,194,91,159,19,181,191,74,216,384,202,541,53,41,71,676,153,357,1.056,1.018,1.091,4,0,1,368,30,38)
data <- data.frame(Kabupaten_Kota, Gizi_Buruk)
# Urutkan berdasarkan jumlah balita gizi buruk
data$Kabupaten_Kota <- factor(data$Kabupaten_Kota, levels = data$Kabupaten_Kota[order(data$Gizi_Buruk)])
# Scatterplot
ggplot(data, aes(x = Kabupaten_Kota, y = Gizi_Buruk)) +
geom_point(
shape = 21,
size = 3,
fill = "#f4acb7",
color = "#e75480",
alpha = 0.7
) +
theme_minimal() +
labs(
title = "Sebaran Jumlah Gizi Balita Buruk di Jawa Tengah (2024)",
subtitle = "Setiap titik mewakili satu kabupaten/kota",
x = "Kabupaten/Kota",
y = "Jumlah Gizi Balita Buruk"
) +
theme(
plot.title = element_text(color = "#e75480", face = "bold", size = 13, hjust = 0.5),
plot.subtitle = element_text(color = "#555", hjust = 0.5),
axis.text.x = element_blank(),
axis.ticks.x = element_blank(),
panel.grid.major = element_line(color = "#f9dce1"),
panel.grid.minor = element_blank(),
plot.background = element_rect(fill = "#fff6f9", color = NA)
)
Secara umum, data diatas menggambarkan bahwa gizi buruk masih menjadi persoalan multidimensi di Jawa Tengah, yang tidak hanya dipengaruhi oleh faktor ekonomi, tetapi juga oleh pengetahuan gizi, perilaku konsumsi, dan kualitas pelayanan kesehatan. Oleh karena itu, upaya pencegahan harus dilakukan secara menyeluruh melalui peningkatan edukasi gizi, pengawasan tumbuh kembang balita secara rutin, serta kolaborasi lintas sektor untuk menekan angka gizi buruk di daerah-daerah dengan kasus tertinggi seperti Kendal, Jepara, dan Cilacap.
Analisis ini memberikan gambaran mengenai kondisi gizi balita di Provinsi Jawa Tengah, khususnya terkait balita pendek, gizi kurang, dan gizi buruk. Melalui visualisasi data ini diharapkan masyarakat dan pemerintah daerah dapat lebih memahami pentingnya perbaikan gizi sejak dini.
Ucapan terima kasih kepada BPS serta semua pihak yang telah mendukung analisis data ini.
Terima kasih 💖