Analisis Hubungan Curah Hujan dan Hasil Panen Padi di Pulau Jawa
Practicum ~ Week 4
1 Pendahuluan
Pertanian merupakan salah satu sektor penting dalam perekonomian Indonesia. Salah satu faktor utama yang memengaruhi hasil panen adalah curah hujan. Curah hujan yang terlalu rendah dapat menyebabkan kekeringan, sedangkan curah hujan berlebih bisa menimbulkan banjir dan merusak tanaman.
Pada analisis ini, digunakan data simulasi berdasarkan referensi data curah hujan bulanan dari Badan Meteorologi, Klimatologi, dan Geofisika (BMKG). Tujuan utama penelitian ini adalah untuk melihat hubungan antara curah hujan dan hasil panen padi di beberapa daerah di Indonesia.
2 Persiapan Data
Pada tahap ini dilakukan pemuatan pustaka, pembuatan data simulasi (berdasarkan pola umum dari data BMKG), serta penjelasan sumber data dan konteks kasus.
Sumber referensi data:
- BMKG. (2025). Data Curah Hujan Bulanan Indonesia. Diakses dari: https://data.bmkg.go.id/
- FAO. (2024). Climate and Crop Production Statistics in Southeast Asia.
2.1 Penjelasan Data
Dataset ini berisi tiga variabel utama:
- Bulan → periode pengamatan (Januari–Desember)
- Daerah → provinsi atau wilayah pengamatan (contoh: Jawa Barat, Jawa Tengah, Jawa Timur)
- Curah_Hujan → rata-rata curah hujan per bulan (dalam mm)
- Hasil_Panen → hasil panen padi rata-rata per hektar (ton/ha)
library(ggplot2)
library(dplyr)
library(ggridges)
library(DT)
library(htmltools)
library(viridis)
set.seed(123) #agar hasil simulasi selalu sama setiap kali dijalankan.
# Membuat data simulasi
data_panen <- data.frame(
Bulan = rep(month.abb[1:12], times = 3), # mengulang nama bulan dan daerah.
Daerah = rep(c # 3 wilayah
("Jawa Barat",
"Jawa Tengah",
"Jawa Timur"),
each = 12),
Curah_Hujan = c( # Curah hujan acak untuk tiap wilayah (mm)
runif(12, 100, 350),
runif(12, 80, 300),
runif(12, 120, 400)
),
Hasil_Panen = c( # # Hasil panen acak (ton/ha)
runif(12, 4.5, 6.5),
runif(12, 4.0, 6.0),
runif(12, 5.0, 7.0))
)
# Ubah urutan bulan agar rapi
data_panen$Bulan <- factor(
data_panen$Bulan,
levels = c("Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
)
# Menentukan warna pada palet
warna_pertanian <- c("#9acd32", "#b8860b", "#8b4513")
# Mengurutkan data berdasarkan hasil panen dari kecil ke besar
data_panen <- data_panen %>% arrange(Hasil_Panen)
# Menghitung rata-rata hasil panen per daerah
avg_panen <- data_panen %>%
group_by(Daerah) %>%
summarise(Rata_Panen = mean(Hasil_Panen))%>%
arrange(Rata_Panen)
# Membuat data untuk pie chart (proporsi hasil panen per daerah)
data_pie <- data_panen %>%
group_by(Daerah) %>%
summarise(Total_Panen = sum(Hasil_Panen, na.rm = TRUE)) %>%
mutate(Proporsi = Total_Panen / sum(Total_Panen) * 100) # Persentase tiap daerah
# Menghitung korelasi antara curah hujan dan hasil panen
cor_val <- round(cor(data_panen$Curah_Hujan, data_panen$Hasil_Panen), 2)2.2 Menampilkan data
# Menampilkan data dalam bentuk tabel interaktif
datatable(
data_panen,
caption = tags$caption(
style = "caption-side: top;
text-align: center;
font-weight: bold;
font-size: 18px;
color: #2e4600;",
"Table 1. Data Simulasi Curah Hujan dan Hasil Panen",
rownames = FALSE),
options = list(
pageLength = 9, # Jumlah baris per halaman
autoWidth = TRUE,
dom = 'tip', # Menyembunyikan elemen tambahan
initComplete = JS(
"function(settings, json) {",
"$(this.api().
table().
header()).
css({'background-color':'#b5d99c',
'color': '#2e4600'});",
"}")
)
)3 Visualisasi
Visualisasi bertujuan untuk memahami pola hubungan antara curah hujan dan hasil panen padi.
3.1 Histogram
Histogram digunakan untuk menampilkan distribusi frekuensi dari suatu variabel numerik. Grafik ini membagi data menjadi interval (bin) dan menampilkan berapa banyak nilai yang jatuh dalam setiap interval tersebut.
Aturan Penggunaan:
- Digunakan untuk data kuantitatif (numerik).
- Cocok untuk melihat pola distribusi: apakah data menyebar normal, miring (skewed), atau memiliki outlier.
Kelebihan:
- Memberikan gambaran cepat tentang sebaran data.
- Mudah dibaca dan dipahami.
Kekurangan:
- Tidak bisa digunakan untuk membandingkan lebih dari satu variabel
sekaligus (tanpa overlay).
- Hasil bisa berbeda tergantung pada ukuran binwidth (lebar interval).
# VISUALISASI: HISTOGRAM
# Tujuan: Menampilkan distribusi hasil panen padi per daerah
# Tema pertanian yang rapi dan harmonis
tema_pertanian <- theme_minimal(base_size = 13) +
theme(
plot.title = element_text(
face = "bold",
size = 17,
color = "#2e4600",
hjust = 0.5,
margin = margin(b = 12)
),
axis.title = element_text(face = "bold", color = "#2e4600"),
axis.text = element_text(color = "#4a4a4a", size = 11),
panel.grid.minor = element_blank(),
panel.grid.major = element_line(color = "#dfe6dc", linetype = "dotted"),
plot.background = element_rect(fill = "#f9fff5", color = NA),
panel.background = element_rect(fill = "#f9fff5", color = NA),
legend.background = element_rect(fill = "#f9fff5", color = NA),
legend.title = element_text(face = "bold", color = "#2e4600"),
legend.text = element_text(color = "#4a4a4a"),
legend.position = "top",
plot.margin = margin(20, 20, 20, 20)
)
# Membuat histogram dengan konsep pertanian estetik
ggplot(data_panen, aes(x = Hasil_Panen, fill = Daerah)) +
geom_histogram(
binwidth = 0.4,
position = "dodge",
color = "white",
alpha = 0.9,
linewidth = 0.6
) +
geom_vline(
data = data_panen %>% group_by(Daerah)%>%
summarise(mean_x = mean(Hasil_Panen)),
aes(xintercept = mean_x, color = Daerah),
linetype = "dashed",
linewidth = 0.8,
show.legend = FALSE
) +
scale_fill_manual(values = warna_pertanian) +
labs(
title = "Distribusi Hasil Panen Padi per Daerah",
x = "Hasil Panen (ton/ha)",
y = "Frekuensi (Hz)",
fill = "Daerah"
) +
tema_pertanian3.2 Bar Chart
Bar chart digunakan untuk menampilkan perbandingan nilai antar kategori.
Aturan Penggunaan:
- Gunakan ketika ingin membandingkan nilai rata-rata antar daerah atau bulan.
Kelebihan:
- Mudah dibaca dan dipahami.
- Efektif untuk membandingkan antar kategori.
Kekurangan:
- Tidak menunjukkan tren waktu.
- Kurang cocok untuk data numerik kontinu.
# VISUALISASI: BARCHART
# Tujuan: Menampilkan rata-rata hasil panen antar daerah beserta label nilainya di atas batang.
ggplot(avg_panen, aes(x = reorder(Daerah, -Rata_Panen), y = Rata_Panen, fill = Daerah)) +
geom_bar(stat = "identity", width = 0.6, color = "white", alpha = 0.95) +
geom_text(
aes(label = round(Rata_Panen, 2)),
vjust = -0.4,
color = "#2e4600",
size = 4,
fontface = "bold"
) +
scale_fill_manual(values = warna_pertanian) +
labs(
title = "Rata-rata Hasil Panen Padi per Daerah",
x = "Daerah",
y = "Rata-rata Hasil Panen (ton/ha)",
fill = "Daerah"
) +
tema_pertanian +
theme(
axis.text.x = element_text(face = "bold"),
panel.grid.major.y = element_line(color = "#dfe6dc", linetype = "dotted"),
panel.grid.major.x = element_blank(),
legend.position = "none" # Sembunyikan legend agar fokus ke label batang
)3.3 Line Chart
Line chart (diagram garis) digunakan untuk menunjukkan perubahan data secara berurutan, misalnya tren bulanan hasil panen.
Aturan Penggunaan:
- Cocok untuk data time series atau urutan bulan.
Kelebihan:
- Menunjukkan tren perubahan dengan jelas.
- Bisa membandingkan antar kategori.
Kekurangan:
- Kurang cocok untuk data kategori yang tidak berurutan.
# VISUALISASI: LINE PLOT
# Tujuan: Menampilkan tren hasil panen padi per bulan per daerah
ggplot(data_panen, aes(x = Bulan,
y = Hasil_Panen,
color = Daerah,
group = Daerah)
) +
geom_line(size = 1.3, # Garis halus dan tegas
alpha = 0.9
) +
geom_point(size = 3, # Titik putih dengan pinggir berwarna
shape = 21,
fill = "white",
stroke = 1
) +
scale_color_manual(values = warna_pertanian) + # Warna konsisten dengan tema pertanian
labs(
title = "Tren Hasil Panen Padi per Bulan di Tiga Daerah",
subtitle = "Menunjukkan variasi hasil panen sepanjang tahun",
x = "Bulan",
y = "Hasil Panen (ton/ha)",
color = "Daerah"
) +
tema_pertanian + # Menggunakan tema pertanian yang sudah kamu definisikan
theme(
axis.text.x = element_text(
angle = 45,
hjust = 1,
vjust = 1,
face = "bold"
),
panel.grid.minor = element_blank(),
panel.grid.major.y = element_line(color = "#dfe6dc", linetype = "dotted"),
legend.position = "top"
)3.4 Pie Chart
Pie chart (diagram lingkaran) digunakan untuk menunjukkan
proporsi atau persentase dari suatu total.
Setiap potongan (slice) mewakili bagian dari keseluruhan nilai.
Aturan Penggunaan:
- Cocok untuk membandingkan bagian terhadap
keseluruhan (misalnya, persentase hasil panen dari tiap
daerah).
- Sebaiknya digunakan hanya jika jumlah kategori sedikit (≤6) agar mudah dibaca.
Kelebihan:
- Mudah dipahami secara visual oleh pembaca umum.
- Efektif untuk menunjukkan dominasi satu kategori.
Kekurangan:
- Sulit membandingkan potongan dengan ukuran mirip.
- Tidak menunjukkan nilai aktual dengan jelas seperti bar chart.
# VISUALISASI: PIE CHART
# Tujuan: Menampilkan proporsi total hasil panen padi per daerah
# Membuat pie chart dengan ggplot2
ggplot(data_pie, aes(x = 2, y = Proporsi, fill = Daerah)) +
geom_col(width = 1, color = "white") + # Membuat kolom berbentuk lingkaran
coord_polar(theta = "y", start = 0) + # Mengubah bar chart menjadi pie chart
geom_text(
aes(label = paste0(round(Proporsi, 1), "%")),
position = position_stack(vjust = 0.5),
color = "white",
size = 4.5,
fontface = "bold"
) +
scale_fill_manual(values = warna_pertanian) + # Palet warna pertanian
xlim (0.5 , 2.5) +
labs(
title = "Proporsi Total Hasil Panen Padi per Daerah",
subtitle = "Menunjukkan kontribusi tiap daerah terhadap total panen",
fill = "Daerah"
) +
theme_void() + # Menghapus elemen grid & axis
theme(
legend.position = "top",
plot.title = element_text(size = 16, face = "bold", hjust = 0.5, color = "#2e4600"),
plot.subtitle = element_text(hjust = 0.5, color = "gray40"),
plot.background = element_rect(fill = "#f9fff5", color = NA),
panel.background = element_rect(fill = "#f9fff5", color = NA)
)3.5 Scatter Plot
Scatter plot digunakan untuk melihat hubungan antara dua variabel numerik, misal curah hujan dan hasil panen.
Aturan Penggunaan:
- Cocok untuk analisis korelasi atau tren antar variabel numerik.
Kelebihan:
- Menunjukkan pola hubungan (linier atau non-linier).
- Menampilkan penyebaran data antar kelompok.
Kekurangan:
- Tidak cocok untuk data kategori.
# VISUALISASI: SCATTER PLOT
# Tujuan: Melihat hubungan antara Curah Hujan dan Hasil Panen
ggplot(data_panen, aes(x = Curah_Hujan, y = Hasil_Panen, color = Daerah)) +
geom_point(size = 4, alpha = 0.85, shape = 19, stroke = 0.5) + # Titik solid tapi lembut
geom_smooth(method = "lm", se = FALSE, linetype = "dashed", linewidth = 1.1) + # Garis tren
scale_color_manual(values = warna_pertanian) + # Palet pertanian
labs(
title = "Hubungan antara Curah Hujan dan Hasil Panen Padi",
subtitle = paste0("Setiap titik mewakili rata-rata bulanan di tiap daerah • Korelasi total: r = ", cor_val),
x = "Curah Hujan (mm per bulan)",
y = "Hasil Panen (ton/ha)",
color = "Daerah"
) +
tema_pertanian + # Gunakan tema pertanian custom
theme(
legend.position = "top",
legend.title = element_text(face = "bold", color = "#2e4600"),
legend.text = element_text(size = 10),
plot.title = element_text(face = "bold", size = 16, hjust = 0.5, color = "#2e4600"),
plot.subtitle = element_text(hjust = 0.5, color = "gray40", size = 11),
panel.grid.minor = element_blank(),
panel.grid.major = element_line(color = "#dfe6dc", linetype = "dotted"),
axis.title = element_text(size = 12, face = "bold", color = "#2e4600"),
axis.text = element_text(size = 11, color = "#3b3b3b")
) +
guides(color = guide_legend(override.aes = list(size = 5)
)
)3.6 Density Plot
Density plot menampilkan distribusi kepadatan data numerik, memberikan gambaran seberapa padat nilai tertentu muncul dalam dataset.
Aturan Penggunaan:
- Gunakan ketika ingin membandingkan sebaran hasil panen antar daerah atau kelompok, terutama untuk data kontinu.
Kelebihan:
- Memberikan visualisasi distribusi yang halus dibanding
histogram.
- Mudah membandingkan beberapa kelompok sekaligus.
Kekurangan:
- Tidak menunjukkan nilai absolut frekuensi seperti histogram.
# VISUALISASI: DENSITY PLOT
# Tujuan: Menampilkan distribusi kepadatan hasil panen per daerah
ggplot(data_panen, aes(x = Hasil_Panen, fill = Daerah)) +
geom_density(alpha = 0.7, linewidth = 1) + # Kurva lembut dengan transparansi
scale_fill_manual(values = warna_pertanian) + # Warna pertanian: hijau, kuning, coklat
labs(
title = "Distribusi Kepadatan Hasil Panen Padi per Daerah",
subtitle = "Menunjukkan pola penyebaran hasil panen rata-rata tiap wilayah",
x = "Hasil Panen (ton/ha)",
y = "Kepadatan",
fill = "Daerah"
) +
tema_pertanian + # Gunakan tema pertanian
theme(
legend.position = "top",
plot.title = element_text(size = 16, face = "bold", hjust = 0.5, color = "#2e4600"),
plot.subtitle = element_text(hjust = 0.5, color = "gray40", size = 11),
panel.grid.minor = element_blank(),
panel.grid.major = element_line(color = "#808080", linetype = "dotted"),
axis.text = element_text(size = 11),
axis.title = element_text(face = "bold"),
plot.margin = margin(15, 15, 15, 15)
)3.7 Box Plot
Boxplot digunakan untuk menampilkan penyebaran data
numerik dan mendeteksi outlier (nilai
pencilan).
Grafik ini menunjukkan nilai minimum, kuartil pertama (Q1),
median, kuartil ketiga (Q3), dan maksimum dalam satu
tampilan.
Aturan Penggunaan:
- Gunakan untuk melihat variasi data antar kelompok (misalnya antar
daerah).
- Cocok untuk data kuantitatif (angka).
Kelebihan:
- Dapat menampilkan penyebaran data dan pencilan dengan cepat.
- Mudah membandingkan persebaran antar kategori.
Kekurangan:
- Tidak menunjukkan distribusi detail (seperti bentuk kepadatan
data).
- Kurang cocok untuk dataset kecil.
# VISUALISASI: BOXPLOT
# Tujuan: Melihat penyebaran hasil panen padi di setiap daerah
ggplot(data_panen, aes(x = Daerah, y = Hasil_Panen, fill = Daerah)) +
geom_boxplot(
alpha = 0.8,
color = "#3b3b3b",
linewidth = 0.7,
outlier.color = "#2e4600", # Titik outlier berwarna hijau tua
outlier.size = 2.5
) +
scale_fill_manual(values = warna_pertanian) + # Palet pertanian: hijau, kuning, coklat
labs(
title = "Sebaran Hasil Panen Padi per Daerah di Indonesia",
subtitle = "Menunjukkan median, kuartil, dan pencilan hasil panen tiap daerah",
x = "Daerah",
y = "Hasil Panen (ton/ha)",
fill = "Daerah"
) +
tema_pertanian + # Gunakan tema pertanian
theme(
legend.position = "none", # Hilangkan legend (karena sudah jelas)
plot.title = element_text(size = 16, face = "bold", hjust = 0.5, color = "#2e4600"),
plot.subtitle = element_text(hjust = 0.5, color = "gray40", size = 11),
axis.text.x = element_text(face = "bold"),
panel.grid.minor = element_blank(),
panel.grid.major = element_line(color = "#dfe6dc", linetype = "dotted"),
plot.margin = margin(15, 15, 15, 15)
)3.8 Ridgeline Plot
Ridgeline plot adalah jenis visualisasi yang menampilkan distribusi dari beberapa kelompok (kategori) secara tumpang tindih dalam bentuk kurva. Setiap garis (ridge) menunjukkan distribusi dari satu kelompok, sehingga memudahkan kita membandingkan bentuk distribusi antar daerah atau kategori.
Aturan Penggunaan:
- Gunakan ketika ingin membandingkan distribusi data numerik
antar kategori.
- Cocok untuk dataset dengan banyak kelompok (misalnya beberapa
daerah, waktu, atau jenis produk).
- Kurang cocok untuk dataset kecil atau hanya berisi sedikit kategori.
Kelebihan:
- Visual menarik dan informatif untuk melihat perbandingan
distribusi.
- Menunjukkan pola dan perbedaan antar kategori dengan jelas.
Kekurangan:
- Bisa sulit dibaca jika terlalu banyak kategori atau tumpang tindih
terlalu rapat.
- Tidak menampilkan nilai eksak (lebih ke bentuk distribusi).
# VISUALISASI: RIDGELINE PLOT
# Tujuan: Menampilkan distribusi hasil panen di setiap daerah
# Membuat Ridgeline Plot menggunakan ggplot2 dan ggridges
ggplot(data_panen, aes(x = Hasil_Panen, y = Daerah, fill = Daerah)) +
geom_density_ridges(
alpha = 0.7, # transparansi untuk overlap
scale = 1.2, # jarak antar ridge
color = "#3b3b3b", # garis pinggir ridge
size = 0.5
) +
scale_fill_manual(values = warna_pertanian) + # palet pertanian
labs(
title = "Distribusi Hasil Panen Padi per Daerah",
subtitle = "Menunjukkan kepadatan hasil panen tiap daerah",
x = "Hasil Panen (ton/ha)",
y = "Daerah",
caption = "Sumber: Simulasi berbasis data BMKG dan hasil panen lokal"
) +
tema_pertanian + # gunakan tema pertanian sebelumnya
theme(
legend.position = "none", # warna sudah cukup membedakan
plot.title = element_text(face = "bold", size = 16, hjust = 0.5, color = "#2e4600"),
plot.subtitle = element_text(hjust = 0.5, color = "gray40", size = 11),
axis.title = element_text(face = "bold", size = 12),
axis.text = element_text(size = 11)
)3.9 Facet Plot
Facet Plot adalah teknik visualisasi pada ggplot2 yang
digunakan untuk membagi data menjadi beberapa panel
(sub-plot) berdasarkan kategori tertentu.
Setiap panel menampilkan subset data sehingga pola perbandingan antar
kategori menjadi lebih mudah terlihat.
Aturan Penggunaan:
- Gunakan ketika kamu ingin membandingkan pola antar grup atau
kategori dalam dataset yang sama.
- Cocok untuk dataset dengan variabel kategorik seperti daerah, jenis produk, atau waktu.
Kelebihan:
- Memudahkan analisis perbandingan antar grup secara visual.
- Tampilan tetap rapi meskipun banyak data.
Kekurangan:
- Tidak efisien untuk kategori yang sangat banyak.
- Membutuhkan ruang visual yang lebih besar agar tidak tampak padat.
# VISUALISASI: FACET PLOT
# Tujuan: Menampilkan hubungan antara Curah Hujan dan Hasil Panen per Daerah
ggplot(data_panen, aes(x = Curah_Hujan, y = Hasil_Panen, color = Daerah)) +
geom_point(size = 3.5, alpha = 0.8, shape = 16) + # Titik lebih solid
geom_smooth(method = "lm", se = FALSE, linetype = "dashed", linewidth = 1) + # Garis tren
scale_color_manual(values = warna_pertanian) + # Palet pertanian
facet_wrap(~ Daerah) + # Membagi panel per daerah
labs(
title = "Hubungan Curah Hujan dan Hasil Panen per Daerah",
subtitle = "Setiap titik mewakili rata-rata bulanan tiap daerah",
x = "Curah Hujan (mm/bulan)",
y = "Hasil Panen (ton/ha)",
color = "Daerah"
) +
tema_pertanian + # Gunakan tema pertanian
theme(
legend.position = "none", # Tidak perlu legenda
strip.background = element_rect(fill = "#f9fff5", color = NA), # Background panel
strip.text = element_text(face = "bold", size = 13, color = "#2e4600"),
plot.title = element_text(face = "bold", size = 16, hjust = 0.5, color = "#2e4600"),
plot.subtitle = element_text(hjust = 0.5, color = "gray40", size = 11),
panel.grid.major = element_line(color = "#dfe6dc", linetype = "dotted"),
panel.grid.minor = element_blank()
)4 Kesimpulan
Secara keseluruhan, hasil visualisasi menunjukkan bahwa curah
hujan memiliki pengaruh signifikan terhadap hasil panen padi,
namun pengaruh tersebut juga bergantung pada pola hujan musiman,
kondisi geografis, serta pengelolaan pertanian di tiap
daerah.
Dengan demikian, pengaturan irigasi dan sistem pertanian adaptif
terhadap iklim sangat penting untuk menjaga stabilitas hasil
panen di masa depan, terutama menghadapi perubahan iklim yang
semakin dinamis.
Berdasarkan hasil analisis visualisasi data yang telah dilakukan, diperoleh beberapa kesimpulan penting sebagai berikut:
Hubungan antara Curah Hujan dan Hasil Panen
Dari scatter plot, terlihat bahwa terdapat korelasi positif moderat antara curah hujan dan hasil panen. Artinya, semakin tinggi curah hujan (hingga batas optimal), umumnya hasil panen padi juga meningkat. Namun, pada beberapa daerah dengan curah hujan sangat tinggi, hasil panen justru sedikit menurun — kemungkinan akibat kelebihan air atau banjir.
Perbandingan Antar Daerah
Berdasarkan bar chart dan boxplot, daerah Jawa Timur cenderung memiliki rata-rata hasil panen paling tinggi, diikuti oleh Jawa Barat dan Jawa Tengah. Hal ini bisa disebabkan oleh perbedaan kondisi tanah, intensitas hujan yang lebih seimbang, serta efisiensi sistem irigasi.
Pola Musiman
Dari line chart, pola panen menunjukkan peningkatan hasil pada bulan Maret hingga Mei, yang bertepatan dengan akhir musim hujan. Sebaliknya, hasil menurun pada bulan Agustus hingga Oktober saat curah hujan rendah.
Distribusi Data
Berdasarkan density plot dan ridgeline plot, distribusi hasil panen antar daerah relatif seragam, namun daerah dengan curah hujan lebih stabil (seperti Jawa Timur) menunjukkan sebaran hasil yang lebih terkonsentrasi (stabil) dibanding daerah lain yang lebih fluktuatif.
Proporsi Total Hasil Panen Nasional
Dari pie chart, kontribusi terbesar terhadap total hasil panen berasal dari Jawa Timur, diikuti oleh Jawa Barat, dan yang paling sedikit Jawa Tengah.