library (tidyverse)
## Warning: package 'tidyverse' was built under R version 4.5.3
## Warning: package 'ggplot2' was built under R version 4.5.3
## Warning: package 'tidyr' was built under R version 4.5.3
## Warning: package 'purrr' was built under R version 4.5.3
## Warning: package 'dplyr' was built under R version 4.5.3
## Warning: package 'stringr' was built under R version 4.5.3
## Warning: package 'forcats' was built under R version 4.5.3
## Warning: package 'lubridate' was built under R version 4.5.3
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.2.1     ✔ readr     2.2.0
## ✔ forcats   1.0.1     ✔ stringr   1.6.0
## ✔ ggplot2   4.0.2     ✔ tibble    3.3.1
## ✔ lubridate 1.9.5     ✔ tidyr     1.3.2
## ✔ purrr     1.2.2     
## ── 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
  1. DATA $3/HARI (2021 PPP) format wide, perlu di-pivot
datapov3d <- read_csv(
  "C:/Users/Pongo/Downloads/API_SI.POV.DDAY_DS2_en_csv_v2_331861.csv",
  skip = 4
)
## New names:
## Rows: 266 Columns: 71
## ── Column specification
## ──────────────────────────────────────────────────────── Delimiter: "," chr
## (4): Country Name, Country Code, Indicator Name, Indicator Code dbl (63): 1963,
## 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972, 1973, ... lgl (4): 1960,
## 1961, 1962, ...71
## ℹ Use `spec()` to retrieve the full column specification for this data. ℹ
## Specify the column types or set `show_col_types = FALSE` to quiet this message.
## • `` -> `...71`
pov3d_long <- datapov3d %>%
  pivot_longer(
    cols = matches("^[0-9]{4}$"),     # kolom tahun 1960-2025
    names_to = "Tahun",
    values_to = "Persentase"
  ) %>%
  mutate(Tahun = as.numeric(Tahun)) %>%
  filter(!is.na(Persentase)) %>%
  select(Negara = `Country Name`, Kode = `Country Code`, Tahun, Persentase)

Bandingkan Indonesia vs Dunia

pov3d_compare <- pov3d_long %>%
  filter(Negara %in% c("World", "Indonesia"))
  1. DATA GARIS KEMISKINAN NASIONAL (NAHC) – sudah long
datapoverty <- read_csv("C:/Users/Pongo/Downloads/WB_WDI_SI_POV_NAHC.csv")
## Rows: 1172 Columns: 41
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (37): STRUCTURE, STRUCTURE_ID, ACTION, FREQ, REF_AREA, INDICATOR, SEX, A...
## dbl  (4): TIME_PERIOD, OBS_VALUE, DECIMALS, UNIT_MULT
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
nahc_clean <- datapoverty %>%
  select(Negara = REF_AREA_LABEL, Tahun = TIME_PERIOD, Persentase = OBS_VALUE) %>%
  filter(!is.na(Persentase))

Trend Indonesia berdasarkan garis kemiskinan nasionalnya sendiri

nahc_idn <- nahc_clean %>% filter(Negara == "Indonesia")

Rata-rata “dunia” (kasar, hanya gambaran rata-rata global, karena tiap negara pakai garis kemiskinan sendiri-sendiri)

nahc_world_avg <- nahc_clean %>%
  group_by(Tahun) %>%
  summarise(Persentase = mean(Persentase, na.rm = TRUE)) %>%
  mutate(Negara = "Rata-rata Dunia (garis kemiskinan masing-masing negara)")
nahc_compare <- bind_rows(
  nahc_idn %>% select(Negara, Tahun, Persentase),
  nahc_world_avg
)
  1. PLOT 1: Indonesia vs Dunia – $3/hari (2021 PPP)
ggplot(pov3d_compare, aes(x = Tahun, y = Persentase, color = Negara)) +
  geom_line(linewidth = 1.1) +
  geom_point(size = 1.5) +
  scale_color_manual(values = c("World" = "lightblue", "Indonesia" = "red")) +
  labs(
    title = "Perbandingan Tingkat Kemiskinan: Indonesia vs Dunia",
    subtitle = "Garis kemiskinan internasional $3,00/hari (PPP 2021)",
    x = "Tahun", y = "Persentase Penduduk Miskin (%)",
    color = "Wilayah"
  ) +
  theme_minimal(base_size = 13) +
  theme(legend.position = "bottom")

  1. PLOT 2: Indonesia berdasarkan garis kemiskinan nasional (NAHC) dibandingkan dengan rata-rata global (kasar)
ggplot(nahc_compare, aes(x = Tahun, y = Persentase, color = Negara)) +
  geom_line(linewidth = 1.1) +
  geom_point(size = 1.3) +
  labs(
    title = "Tren Kemiskinan Indonesia (Garis Kemiskinan Nasional)",
    subtitle = "Dibandingkan rata-rata kasar global per tahun",
    x = "Tahun", y = "Persentase Penduduk Miskin (%)",
    color = NULL
  ) +
  theme_minimal(base_size = 13) +
  theme(legend.position = "bottom")

Dari grafik $3/hari (Plot 1) — perbandingan internasional yang valid: Pada tahun 2000, persentase penduduk Indonesia yang hidup di bawah $3/hari mencapai 65,7%, jauh di atas rata-rata dunia yang saat itu sekitar 36,2%. Ini menunjukkan Indonesia pada awal 2000-an punya tingkat kemiskinan ekstrem yang jauh lebih parah dibanding rata-rata global. Namun penurunannya sangat tajam: pada 2010 Indonesia turun ke 34,1% (dunia: 21%), dan sekitar 2018-2019 garis Indonesia mulai memotong dan turun di bawah garis dunia (Indonesia 12,5% vs dunia 11,1% di 2018, lalu Indonesia 10,9% vs dunia 11,1% di 2019). Sampai 2024, Indonesia berada di 5,4%, jauh di bawah rata-rata dunia yang masih 10,4%. Ini menunjukkan laju penurunan kemiskinan Indonesia jauh lebih cepat daripada rata-rata global, Indonesia berhasil mengejar dan kini berada di posisi yang relatif lebih baik dibanding rata-rata dunia untuk kategori kemiskinan ekstrem ($3/hari). Dari grafik NAHC (Plot 2) — garis kemiskinan nasional Indonesia sendiri: Berdasarkan garis kemiskinan versi BPS (yang nilainya disesuaikan dengan kondisi biaya hidup domestik), tingkat kemiskinan Indonesia turun dari 17,5% (1996) menjadi 9,0% (2024), dengan tren menurun cukup konsisten. Ada satu kejadian penting: terjadi kenaikan saat pandemi COVID-19, dari 9,4% (2019) naik menjadi 9,8% (2020) dan 10,1% (2021), sebelum kembali menurun di tahun-tahun berikutnya. Ini mengindikasikan dampak pandemi sempat membalikkan tren penurunan kemiskinan selama 1-2 tahun, sebelum pemulihan ekonomi membawanya kembali ke tren menurun. Catatan penting untuk perbandingan NAHC: karena setiap negara punya definisi “garis kemiskinan nasional” yang berbeda (tergantung standar hidup minimum di negara masing-masing), rata-rata global yang dihitung di Plot 2 itu tidak benar-benar comparable secara metodologis. hanya sebagai gambaran kasar posisi Indonesia relatif terhadap angka-angka nasional negara lain. Untuk perbandingan lintas negara yang lebih valid secara metodologi, Plot 1 ($3/hari PPP) lebih disarankan karena menggunakan garis kemiskinan yang sama (terstandarisasi PPP) untuk semua negara. Kesimpulan umum: Indonesia menunjukkan kemajuan luar biasa dalam pengentasan kemiskinan ekstrem dalam 25 tahun terakhir, dengan laju penurunan jauh lebih cepat dibanding rata-rata dunia, meski sempat tertahan sementara akibat pandemi COVID-19.