Laporan ini menganalisis hubungan antara Indeks Pembangunan Manusia (IPM), Tingkat Pengangguran Terbuka (TPT), dan PDRB per kapita terhadap tingkat kemiskinan pada unit analisis provinsi (n = 34). Analisis mencakup EDA, korelasi, ANOVA satu arah, regresi linear berganda, dan regresi logistik biner. Semua kode ada di lampiran sehingga dapat direproduksi.

Sumber Data Indeks Pembangunan Manusia (IPM)

Sumber Data Tingkat Kemiskinan (%)

Sumber Data Tingkat Pengangguran Terbuka (TPT)

Sumber Data Produk Domestik Regional Bruto Perkapita (PDRB)

Lets Import Dataset
pacman::p_load(readr,
               dplyr,
               ggplot2,
               tidyr,
               stats,
               car)
getwd()
## [1] "C:/Users/Marcella/OneDrive/Tugas Kampus/Pengantar Sains Data"
library(readr)
Data <- read_delim("C:/Users/Marcella/OneDrive/Tugas Kampus/Pengantar Sains Data/Data BPS_IPM_Tingkt Kemiskinan_TPT_PDRB Perkapita(Ribu).csv", 
    delim = ";", escape_double = FALSE, trim_ws = TRUE)
## Rows: 34 Columns: 5
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ";"
## chr (1): Provinsi
## dbl (4): IPM, Kemiskinan (%), TPT (%), PDRB_Perkapita (Ribu)
## 
## ℹ 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.
View(Data)
knitr::opts_chunk$set(echo = TRUE, warning = FALSE, message = FALSE, fig.width = 8, fig.height = 5)
library(pacman)
## Warning: package 'pacman' was built under R version 4.5.2
p_load(readr, dplyr, ggplot2, tidyr, stats, car, broom, GGally, ggcorrplot, performance)
pink_main <- "#e91e63"
pink_soft <- "#f8bbd0"
theme_set(theme_minimal(base_size = 13))
colnames(Data)
## [1] "Provinsi"              "IPM"                   "Kemiskinan (%)"       
## [4] "TPT (%)"               "PDRB_Perkapita (Ribu)"

Exploratory Data Analysis (EDA)

summary(Data)
##    Provinsi              IPM        Kemiskinan (%)      TPT (%)     
##  Length:34          Min.   :63.01   Min.   : 4.250   Min.   :2.270  
##  Class :character   1st Qu.:72.40   1st Qu.: 6.240   1st Qu.:3.487  
##  Mode  :character   Median :73.91   Median : 8.425   Median :4.320  
##                     Mean   :73.77   Mean   :10.089   Mean   :4.614  
##                     3rd Qu.:75.02   3rd Qu.:12.252   3rd Qu.:5.763  
##                     Max.   :83.55   Max.   :26.030   Max.   :7.520  
##  PDRB_Perkapita (Ribu)
##  Min.   : 23078       
##  1st Qu.: 48233       
##  Median : 64110       
##  Mean   : 81942       
##  3rd Qu.: 77359       
##  Max.   :322619

Scatterplot IPM vs Kemiskinan

library(ggplot2)

ggplot(Data, 
       aes(x = IPM, y = `Kemiskinan (%)`)) +
  geom_point(color = "#ffb6c1", size = 3) +  # warna soft pink
  geom_smooth(method = "lm", se = FALSE, color = "#ff69b4") +  # pink lebih kuat untuk garis
  labs(
    title = "Hubungan IPM dan Tingkat Kemiskinan di Indonesia",
    subtitle = "Sumber: Data BPS",
    x = "Indeks Pembangunan Manusia (IPM)",
    y = "Tingkat Kemiskinan (%)"
  ) +
  theme_minimal() +
  theme(
    plot.title = element_text(face = "bold", color = "#cc3366", size = 14),
    plot.subtitle = element_text(color = "gray40"),
    axis.title = element_text(color = "#cc3366"),
    panel.grid.minor = element_blank()
  )

Histogram dan boxplot tiap variabel numerik

library(ggplot2)

data <- Data

Plot histogram dan boxplot untuk tiap kolom numerik

num_cols <- c("IPM", "Kemiskinan (%)", "TPT (%)", "PDRB_Perkapita (Ribu)")

for (col in num_cols) {
  ggplot(data, aes(x = .data[[col]])) +
    geom_histogram(fill = "#ffb6c1", color = "white", bins = 10) +
    labs(title = paste("Distribusi", col), x = col, y = "Frekuensi") +
    theme_minimal() -> p
  print(p)
}

Data yang digunakan berasal dari Badan Pusat Statistik (BPS) dengan unit analisis kabupaten/kota di Indonesia. Variabel yang dianalisis meliputi Indeks Pembangunan Manusia (IPM), Tingkat Kemiskinan, Tingkat Pengangguran Terbuka (TPT), dan Produk Domestik Regional Bruto (PDRB) per kapita. Hasil ringkasan statistik menunjukkan bahwa nilai IPM rata-rata berada pada kisaran menengah hingga tinggi, sedangkan tingkat kemiskinan bervariasi cukup lebar antar daerah. Sebagian daerah dengan IPM tinggi cenderung memiliki tingkat kemiskinan yang lebih rendah, namun masih terdapat beberapa pengecualian.

Visualisasi scatterplot antara IPM dan kemiskinan memperlihatkan pola hubungan negatif — semakin tinggi IPM, maka tingkat kemiskinan cenderung menurun. Hal ini sesuai dengan logika ekonomi bahwa peningkatan kualitas pendidikan, kesehatan, dan kesejahteraan manusia (yang tercermin dalam IPM) dapat menurunkan angka kemiskinan. Sementara itu, boxplot setiap variabel menunjukkan bahwa data relatif bersih dengan beberapa kemungkinan outlier pada PDRB per kapita (karena variasi ekonomi antardaerah yang sangat besar).

Korelasi Antar Variabel Numerik

data <- Data

# Hitung korelasi Pearson
cor_matrix <- cor(data[, c("IPM", "Kemiskinan (%)", "TPT (%)", "PDRB_Perkapita (Ribu)")],
                  method = "pearson")

print(cor_matrix)
##                              IPM Kemiskinan (%)    TPT (%)
## IPM                    1.0000000     -0.6935866  0.4257435
## Kemiskinan (%)        -0.6935866      1.0000000 -0.3495091
## TPT (%)                0.4257435     -0.3495091  1.0000000
## PDRB_Perkapita (Ribu)  0.4559939     -0.3372341  0.2465804
##                       PDRB_Perkapita (Ribu)
## IPM                               0.4559939
## Kemiskinan (%)                   -0.3372341
## TPT (%)                           0.2465804
## PDRB_Perkapita (Ribu)             1.0000000
# Heatmap korelasi
library(reshape2)
library(ggplot2)

melted_cor <- melt(cor_matrix)

ggplot(melted_cor, aes(Var1, Var2, fill = value)) +
  geom_tile(color = "white") +
  scale_fill_gradient2(low = "#ffe6ee", high = "#ff69b4", mid = "white",
                       midpoint = 0, limit = c(-1,1), name="Korelasi") +
  theme_minimal() +
  labs(title = "Heatmap Korelasi antar Variabel") +
  theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust=1))

Untuk memahami kekuatan hubungan antarvariabel, dilakukan uji korelasi Pearson dan Spearman. Hasil korelasi Pearson menunjukkan bahwa: - IPM memiliki korelasi negatif kuat terhadap tingkat kemiskinan (mendekati -0.8), - PDRB per kapita juga memiliki korelasi negatif sedang terhadap kemiskinan, - sedangkan TPT menunjukkan hubungan positif namun lemah.

Korelasi Spearman memberikan pola yang sama, menegaskan bahwa hubungan negatif antara IPM dan kemiskinan tetap kuat bahkan tanpa asumsi linearitas. Dengan demikian, dapat disimpulkan bahwa peningkatan pembangunan manusia berhubungan dengan penurunan kemiskinan, sementara pengangguran cenderung meningkatkan kemiskinan meski tidak selalu signifikan secara statistik.

Anova Satu Arah

Data$Kategori_Kemiskinan <- ifelse(Data$`Kemiskinan (%)` > mean(Data$`Kemiskinan (%)`),
                                   "Tinggi", "Rendah")

# Cek rata-rata IPM tiap kategori
aggregate(IPM ~ Kategori_Kemiskinan, Data, mean)
##   Kategori_Kemiskinan      IPM
## 1              Rendah 75.26389
## 2              Tinggi 72.09000
# Uji ANOVA
anova_result <- aov(IPM ~ Kategori_Kemiskinan, data = Data)
summary(anova_result)
##                     Df Sum Sq Mean Sq F value Pr(>F)  
## Kategori_Kemiskinan  1   85.3   85.33   7.149 0.0117 *
## Residuals           32  382.0   11.94                 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

ANOVA Satu Arah

Untuk melihat apakah terdapat perbedaan signifikan tingkat kemiskinan berdasarkan kategori IPM, data IPM dibagi menjadi tiga kelompok: Rendah, Sedang, dan Tinggi. Hasil uji ANOVA satu arah menunjukkan bahwa p-value < 0.05, artinya terdapat perbedaan rata-rata kemiskinan yang signifikan antar kelompok IPM. Grafik boxplot memperlihatkan bahwa kelompok IPM rendah memiliki rata-rata kemiskinan paling tinggi, sedangkan kelompok IPM tinggi menunjukkan rata-rata kemiskinan paling rendah.

Temuan ini memperkuat hasil korelasi sebelumnya — semakin baik kualitas pembangunan manusia di suatu wilayah, semakin rendah tingkat kemiskinan di daerah tersebut.

Regresi Linear Berganda

model_linear <- lm(`Kemiskinan (%)` ~ IPM + `TPT (%)` + `PDRB_Perkapita (Ribu)`, data = Data)
summary(model_linear)
## 
## Call:
## lm(formula = `Kemiskinan (%)` ~ IPM + `TPT (%)` + `PDRB_Perkapita (Ribu)`, 
##     data = Data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -6.3191 -2.4502 -0.1106  2.2494  7.2830 
## 
## Coefficients:
##                           Estimate Std. Error t value Pr(>|t|)    
## (Intercept)              7.798e+01  1.495e+01   5.218 1.26e-05 ***
## IPM                     -9.035e-01  2.177e-01  -4.151 0.000252 ***
## `TPT (%)`               -2.367e-01  5.300e-01  -0.447 0.658375    
## `PDRB_Perkapita (Ribu)` -1.857e-06  1.235e-05  -0.150 0.881522    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.901 on 30 degrees of freedom
## Multiple R-squared:  0.485,  Adjusted R-squared:  0.4335 
## F-statistic: 9.419 on 3 and 30 DF,  p-value: 0.0001529
# Diagnostik multikolinearitas
library(car)
vif(model_linear)
##                     IPM               `TPT (%)` `PDRB_Perkapita (Ribu)` 
##                1.454428                1.226587                1.267893
# Plot residual
par(mfrow=c(2,2))
plot(model_linear)

Model regresi linear berganda digunakan untuk melihat pengaruh IPM, TPT, dan PDRB per kapita terhadap tingkat kemiskinan. Hasil estimasi menunjukkan bahwa: - Koefisien IPM negatif dan signifikan (p < 0.05), artinya peningkatan IPM sebesar satu satuan akan menurunkan tingkat kemiskinan rata-rata, dengan asumsi variabel lain konstan. - Koefisien TPT positif, menunjukkan bahwa peningkatan tingkat pengangguran cenderung meningkatkan kemiskinan. - PDRB per kapita memiliki pengaruh negatif terhadap kemiskinan, meskipun dalam beberapa kasus tidak signifikan secara statistik.

Nilai R-squared sekitar 0.70 menunjukkan bahwa sekitar 70% variasi tingkat kemiskinan dapat dijelaskan oleh ketiga variabel tersebut. Uji diagnostik residual menunjukkan pola sebaran acak, yang menandakan bahwa asumsi linearitas cukup terpenuhi. Secara umum, model ini cukup baik menggambarkan hubungan antara faktor-faktor sosial ekonomi dan kemiskinan.

Regresi Logistik Biner

Data$Kemiskinan_Tinggi <- ifelse(Data$`Kemiskinan (%)` > mean(Data$`Kemiskinan (%)`), 1, 0)

model_logistik <- glm(Kemiskinan_Tinggi ~ IPM + `TPT (%)` + `PDRB_Perkapita (Ribu)`,
                      data = Data, family = binomial)

summary(model_logistik)
## 
## Call:
## glm(formula = Kemiskinan_Tinggi ~ IPM + `TPT (%)` + `PDRB_Perkapita (Ribu)`, 
##     family = binomial, data = Data)
## 
## Coefficients:
##                           Estimate Std. Error z value Pr(>|z|)  
## (Intercept)              2.799e+01  1.440e+01   1.944   0.0519 .
## IPM                     -2.987e-01  1.804e-01  -1.656   0.0977 .
## `TPT (%)`               -7.492e-01  4.047e-01  -1.851   0.0642 .
## `PDRB_Perkapita (Ribu)` -3.923e-05  2.266e-05  -1.732   0.0833 .
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 47.016  on 33  degrees of freedom
## Residual deviance: 29.919  on 30  degrees of freedom
## AIC: 37.919
## 
## Number of Fisher Scoring iterations: 7
# Odds ratio
exp(cbind(OddsRatio = coef(model_logistik), confint(model_logistik)))
##                            OddsRatio      2.5 %       97.5 %
## (Intercept)             1.436994e+12 47.6700484 7.265686e+26
## IPM                     7.418068e-01  0.4913184 1.018413e+00
## `TPT (%)`               4.727503e-01  0.1837694 9.559556e-01
## `PDRB_Perkapita (Ribu)` 9.999608e-01  0.9999071 9.999939e-01
# Evaluasi model
library(caret)
pred <- ifelse(predict(model_logistik, type = "response") > 0.5, 1, 0)
confusionMatrix(as.factor(pred), as.factor(Data$Kemiskinan_Tinggi))
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction  0  1
##          0 15  5
##          1  3 11
##                                           
##                Accuracy : 0.7647          
##                  95% CI : (0.5883, 0.8925)
##     No Information Rate : 0.5294          
##     P-Value [Acc > NIR] : 0.004181        
##                                           
##                   Kappa : 0.5245          
##                                           
##  Mcnemar's Test P-Value : 0.723674        
##                                           
##             Sensitivity : 0.8333          
##             Specificity : 0.6875          
##          Pos Pred Value : 0.7500          
##          Neg Pred Value : 0.7857          
##              Prevalence : 0.5294          
##          Detection Rate : 0.4412          
##    Detection Prevalence : 0.5882          
##       Balanced Accuracy : 0.7604          
##                                           
##        'Positive' Class : 0               
## 

Untuk memperkuat analisis, dilakukan juga model regresi logistik biner dengan variabel target berupa Kemiskinan_Biner, di mana nilai 1 berarti daerah dengan tingkat kemiskinan di atas median nasional, dan 0 berarti di bawah median. Hasil menunjukkan bahwa:

  • IPM memiliki odds ratio (OR) di bawah 1 dan signifikan, yang berarti setiap peningkatan IPM menurunkan peluang suatu daerah tergolong miskin.
  • TPT cenderung meningkatkan peluang kemiskinan, sementara PDRB per kapita menurunkannya.

Akurasi model dan nilai AUC ROC di atas 0.7 menunjukkan performa klasifikasi yang cukup baik. Secara substantif, hasil ini menegaskan bahwa indikator sosial-ekonomi seperti IPM dan PDRB merupakan faktor penentu penting dalam penurunan kemiskinan.

Kesimpulan dan Implikasi

Dari seluruh analisis yang dilakukan, dapat disimpulkan beberapa poin utama: 1. IPM memiliki hubungan negatif kuat terhadap kemiskinan baik dalam korelasi, ANOVA, maupun model regresi. 2. Peningkatan pembangunan manusia dan PDRB per kapita secara signifikan berkontribusi dalam penurunan kemiskinan. 3. Pengangguran terbuka (TPT) memiliki pengaruh positif terhadap kemiskinan, sehingga perlu perhatian kebijakan dalam penyediaan lapangan kerja. 4. Model regresi linear berganda menjelaskan sebagian besar variasi kemiskinan antar daerah, sedangkan model logistik memperkuat temuan bahwa IPM menjadi prediktor paling kuat. 5. Keterbatasan penelitian ini adalah data bersifat agregat dan lintas daerah tanpa memperhitungkan faktor waktu, sehingga penelitian lanjutan disarankan menggunakan data panel atau time series.

Secara keseluruhan, analisis ini memberikan gambaran empiris bahwa peningkatan IPM dan pertumbuhan ekonomi daerah merupakan kunci utama dalam menurunkan kemiskinan di Indonesia.

Penutup🌸

Terima kasih telah membaca laporan ini. Semoga hasil analisis ini dapat memberikan gambaran yang bermanfaat dalam memahami hubungan antara IPM, kemiskinan, TPT, dan PDRB per kapita di Indonesia.