Indeks Pembangunan Manusia (IPM) merupakan indikator penting untuk mengukur kualitas hidup masyarakat, yang mencakup dimensi kesehatan, pendidikan, dan standar hidup. Di Provinsi Bengkulu, peningkatan IPM menjadi fokus utama dalam upaya pembangunan. Salah satu faktor yang dapat memengaruhi IPM adalah pengeluaran per kapita, yang mencerminkan kondisi ekonomi masyarakat dan akses terhadap layanan dasar. Penelitian ini bertujuan untuk menganalisis hubungan antara dua variabel utama, yaitu IPM dan pengeluaran per kapita di Provinsi Bengkulu Tahun 2023, melalui analisis korelasi. Penelitian ini tidak mempertimbangkan variabel lain, melainkan hanya fokus pada keterkaitan antara IPM dan pengeluaran per kapita. Dengan menggunakan perangkat lunak R, diharapkan hasil analisis ini dapat memberikan wawasan mengenai adanya hubungan antara kedua variabel tersebut dan memberikan rekomendasi bagi pemangku kebijakan.
Memuat library yang diperlukan
library(readxl)
library(ggplot2)
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.3.3
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(corrplot)
## Warning: package 'corrplot' was built under R version 4.3.3
## corrplot 0.94 loaded
Melihat dimana diractory bekerja dan menetapkan diractory bekerja
getwd()
## [1] "C:/komstat"
setwd("C:/komstat")
getwd()
## [1] "C:/komstat"
Memasukkan data secara manual menggunakan vektor
wilayah<-c("Provinsi Bengkulu", "Bengkulu Selatan", "Rejang Lebong", "Bengkulu Utara", "Kaur",
"Seluma", "Muko-muko", "Lebong", "Kepahiang", "Bengkulu Tengah", "Kota Bengkulu")
wilayah
## [1] "Provinsi Bengkulu" "Bengkulu Selatan" "Rejang Lebong"
## [4] "Bengkulu Utara" "Kaur" "Seluma"
## [7] "Muko-muko" "Lebong" "Kepahiang"
## [10] "Bengkulu Tengah" "Kota Bengkulu"
indeks_pembangunan_manusia<-c(74.3, 74.06, 74.43, 72.27, 70.92, 70.27, 73, 72.95, 71.38, 70.81, 83.38)
indeks_pembangunan_manusia
## [1] 74.30 74.06 74.43 72.27 70.92 70.27 73.00 72.95 71.38 70.81 83.38
pengeluaran_perkapita<-c(11172, 10657, 10848, 11188, 9365, 8949, 11075, 12012, 10044, 10114, 14924)
pengeluaran_perkapita
## [1] 11172 10657 10848 11188 9365 8949 11075 12012 10044 10114 14924
Menyajikan data dalam bentuk faktor
wilayah_faktor <- factor(wilayah)
wilayah_faktor
## [1] Provinsi Bengkulu Bengkulu Selatan Rejang Lebong Bengkulu Utara
## [5] Kaur Seluma Muko-muko Lebong
## [9] Kepahiang Bengkulu Tengah Kota Bengkulu
## 11 Levels: Bengkulu Selatan Bengkulu Tengah Bengkulu Utara Kaur ... Seluma
menyajikan data dalam bentuk list
data_list_ipm_pp <- list(
Wilayah = wilayah,
Indeks_Pembangunan_Manusia = indeks_pembangunan_manusia,
Pengeluaran_Perkapita = pengeluaran_perkapita)
data_list_ipm_pp
## $Wilayah
## [1] "Provinsi Bengkulu" "Bengkulu Selatan" "Rejang Lebong"
## [4] "Bengkulu Utara" "Kaur" "Seluma"
## [7] "Muko-muko" "Lebong" "Kepahiang"
## [10] "Bengkulu Tengah" "Kota Bengkulu"
##
## $Indeks_Pembangunan_Manusia
## [1] 74.30 74.06 74.43 72.27 70.92 70.27 73.00 72.95 71.38 70.81 83.38
##
## $Pengeluaran_Perkapita
## [1] 11172 10657 10848 11188 9365 8949 11075 12012 10044 10114 14924
mengimpor data dari excel
DATA_KOMSTAT <- read_excel("C:/Users/ASUS/Downloads/DATA KOMSTAT.xlsx", col_types = c("text", "numeric", "numeric"))
View(DATA_KOMSTAT)
Melihat struktur data
head(DATA_KOMSTAT,11)
## # A tibble: 11 × 3
## wilayah Indeks Pembangunan Manusia tahun 2…¹ Pengeluaran Perkapit…²
## <chr> <dbl> <dbl>
## 1 Provinsi Bengkulu 74.3 11172
## 2 Bengkulu Selatan 74.1 10657
## 3 Rejang Lebong 74.4 10848
## 4 Bengkulu Utara 72.3 11188
## 5 Kaur 70.9 9365
## 6 Seluma 70.3 8949
## 7 Mukomuko 73 11075
## 8 Lebong 73.0 12012
## 9 Kepahiang 71.4 10044
## 10 Bengkulu Tengah 70.8 10114
## 11 Kota Bengkulu 83.4 14924
## # ℹ abbreviated names: ¹​`Indeks Pembangunan Manusia tahun 2023`,
## # ²​`Pengeluaran Perkapita tahun 2023`
Melihat jenis data
str(DATA_KOMSTAT)
## tibble [11 × 3] (S3: tbl_df/tbl/data.frame)
## $ wilayah : chr [1:11] "Provinsi Bengkulu" "Bengkulu Selatan" "Rejang Lebong" "Bengkulu Utara" ...
## $ Indeks Pembangunan Manusia tahun 2023: num [1:11] 74.3 74.1 74.4 72.3 70.9 ...
## $ Pengeluaran Perkapita tahun 2023 : num [1:11] 11172 10657 10848 11188 9365 ...
Melihat nama variabel data
names(DATA_KOMSTAT)
## [1] "wilayah"
## [2] "Indeks Pembangunan Manusia tahun 2023"
## [3] "Pengeluaran Perkapita tahun 2023"
Membuat prosedur bersyarat untuk mengecek apakah ada data kosong
cek_data_kosong <- function(cek_data)
# Mengecek apakah ada nilai kosong (NA) di dalam data frame
if (any(is.na(cek_data))) {
message("Ada data yang kosong. Harap lengkapi data sebelum melanjutkan.")
} else {
message("Tidak ada data kosong. Proses bisa dilanjutkan.")
}
Mendefinisikan data yang ingin dicek
# Membuat data frame dari DATA_KOMSTAT
cek_data <- data.frame(
Indeks_Pembangunan_Manusia_tahun_2023 = DATA_KOMSTAT$`Indeks Pembangunan Manusia tahun 2023`,
Pengeluaran_Perkapita_tahun_2023 = DATA_KOMSTAT$`Pengeluaran Perkapita tahun 2023`)
cek_data_kosong(cek_data)
## Tidak ada data kosong. Proses bisa dilanjutkan.
Mengecek data
cek_data_kosong(cek_data)
## Tidak ada data kosong. Proses bisa dilanjutkan.
Membuat fungsi bersarang untuk nilai korelasi
nilai_korelasi <- function(x, y) {
# Menghitung komponen-komponen utama
jumlah_data <- length(x)
sum_x <- sum(x)
sum_y <- sum(y)
sum_produk_deviasi <- sum(x * y)
sum_kuadrat_deviasi_x <- sum(x^2)
sum_kuadrat_deviasi_y <- sum(y^2)
# Menghitung korelasi Pearson
pembilang <- (jumlah_data * sum_produk_deviasi) - (sum_x * sum_y)
penyebut <- sqrt((jumlah_data * sum_kuadrat_deviasi_x - sum_x^2) * (jumlah_data * sum_kuadrat_deviasi_y - sum_y^2))
korelasi <- pembilang / penyebut
# Menampilkan hasil korelasi
cat("Korelasi Pearson:", korelasi, "\n")
return(korelasi)
}
Mendefinisikan data
x <- indeks_pembangunan_manusia
y <- pengeluaran_perkapita
Menghitung nilai korelasi
nilai_korelasi(x,y)
## Korelasi Pearson: 0.9247782
## [1] 0.9247782
##Visualisasi Data
Visualisasi data menggunakan Scatter Plot Digunakan untuk melihat hubungan antar dua variabel
# Data frame contoh
df <- data.frame(
x = DATA_KOMSTAT$`Indeks Pembangunan Manusia tahun 2023`,
y = DATA_KOMSTAT$`Pengeluaran Perkapita tahun 2023`
)
# Scatter plot dengan garis regresi
ggplot(df, aes(x = x, y = y)) +
geom_point(color = "darkred") + # Scatter plot
geom_smooth(method = "lm", color = "blue") + # Garis regresi
labs(
x = "Indeks Pembangunan Manusia tahun 2023",
y = "Pengeluaran Per Kapita tahun 2023",
title = "Scatter Plot Indeks Pembangunan Manusia vs Pengeluaran Per Kapita"
)
## `geom_smooth()` using formula = 'y ~ x'
Visualisasi data menggunakan CorrPlot Digunakan untuk melihat korelasi antara IPM dan Pengeluaran Perkapita
# Menghitung rata-rata IPM dan Pengeluaran Perkapita per kabupaten
korelasi_per_wilayah <- DATA_KOMSTAT %>%
group_by(wilayah) %>%
summarize(
IPM = mean(`Indeks Pembangunan Manusia tahun 2023`, na.rm = TRUE),
Pengeluaran = mean(`Pengeluaran Perkapita tahun 2023`, na.rm = TRUE),
.groups = 'drop'
)
# Hitung matriks korelasi
M <- cor(korelasi_per_wilayah[, c("IPM", "Pengeluaran")], use = "complete.obs")
# Cek jika matriks korelasi memiliki cukup nilai untuk divisualisasikan
if (nrow(M) > 1) {
# Visualisasi korelasi per wilayah
corrplot.mixed(M,
order = 'AOE',
lower = "number",
upper = "circle",
tl.col = "black",
tl.srt = 45,
number.cex = 1.2,
title = "Korelasi antara IPM dan Pengeluaran Perkapita",
lower.col = "black",
upper.col = colorRampPalette(c("red", "white", "blue"))(200))
} else {
print("Tidak ada cukup data untuk menghitung korelasi.")
}
Dari scatter plot, dapat dilakukan analisis korelasi antara Indeks Pembangunan Manusia (IPM) dan Pengeluaran Per Kapita tahun 2023, sebagai berikut: 1. Terdapat hubungan positif, di mana peningkatan pengeluaran per kapita diikuti oleh peningkatan IPM. 2. Garis regresi (garis biru) menunjukkan adanya tren yang dapat dijelaskan oleh model linier, memungkinkan prediksi nilai IPM berdasarkan pengeluaran per kapita. 3. Bayangan abu-abu di sekitar garis regresi menandakan interval kepercayaan. Semakin sempit bayangan, semakin konsisten hubungan antara kedua variabel. 4. Beberapa titik data yang terlihat sebagai outlier (titik merah) menunjukkan adanya wilayah dengan pengeluaran per kapita yang lebih rendah tetapi IPM yang lebih tinggi dari yang diharapkan. Outlier ini perlu dianalisis lebih lanjut. 5. Kekuatan hubungan harus diperiksa dengan menghitung koefisien korelasi. Nilai yang mendekati 1 menunjukkan hubungan yang lebih kuat. Secara keseluruhan, scatter plot menunjukkan hubungan positif antara IPM dan Pengeluaran Per Kapita di tahun 2023, yang dapat menjadi dasar untuk analisis lebih lanjut, termasuk perhitungan koefisien korelasi. Perhatikan outlier dan variabel lain yang mungkin mempengaruhi hubungan ini.
Nilai korelasi 0,9247782 menunjukkan bahwa saat pengeluaran per kapita meningkat, Indeks Pembangunan Manusia (IPM) juga cenderung meningkat. Ini mengindikasikan bahwa kebijakan yang meningkatkan pengeluaran per kapita dapat berdampak positif pada pembangunan manusia. Hubungan yang kuat ini menandakan bahwa investasi dalam pendidikan, kesehatan, dan infrastruktur dapat berkontribusi signifikan terhadap peningkatan kualitas hidup di daerah tersebut.