Analisis Variansi Satu Arah: Membandingankan Indeks Pembangunan Manusia di Bali Tahun 2021-2023
PENDAHULUAN
1.1 Latar Belakang
Indeks Pembangunan Manusia (IPM) merupakan indikator penting yang digunakan untuk mengukur kualitas hidup dan pembangunan manusia di suatu wilayah. IPM mencakup tiga dimensi utama yaitu kesehatan, pendidikan, dan standar hidup yang layak. Di Indonesia, IPM menjadi salah satu parameter utama dalam menentukan kebijakan pembangunan daerah dan nasional. Setiap tahunnya, Badan Pusat Statistik (BPS) mengeluarkan data IPM untuk setiap provinsi, termasuk Bali, yang terkenal sebagai salah satu destinasi wisata utama di dunia. Analisis IPM dapat membantu pemerintah dan pemangku kepentingan lainnya dalam memahami kemajuan pembangunan manusia dan mengidentifikasi area yang perlu diperbaiki.
Analisis ini bertujuan untuk mengevaluasi perubahan IPM di Bali selama periode 2021 hingga 2023. Dengan menggunakan uji ANOVA satu arah, tim peneliti dapat mengetahui apakah terdapat perbedaan yang signifikan dalam IPM antara tahun-tahun tersebut. Hasil analisis ini diharapkan dapat memberikan informasi berharga bagi pemerintah dan pemangku kepentingan lainnya dalam mengevaluasi dan merumuskan kebijakan pembangunan di Bali.
1.2 ANOVA Satu Arah
ANOVA adalah metode statistik untuk menganalisis efek satu atau lebih variabel independen, yaitu variabel faktor terhadap varibael dependennya, yaitu variabel respon. ANOVA dirancang untuk menganalisis suatu studi eksperimen dan observarsial, walaupun secara teoritik nilai validitas hasilnya dianggap lebih rendah dari data studi eksperimen. ANOVA dapat digolongkan kedalam beberapa kriteria, yaitu ANOVA satu arah, ANOVA dua arah, dan ANOVA tiga arah. ANOVA satu arah digunakan untuk menguji apakah ada pengaruh dari satu faktor tertentu terhadap variabel dependen (variabel terikat) pada beberapa kelompok yang berbeda. Asumsi yang harus terpenuhi sebelum melakukan uji anova adalah:
- Kenormalan : galat tiap kelompok perlakuan dalam populasi berdistribusi normal.
- Homogenitas : homogenitas variansi populasi antar kelompok perlakuan.
- Independensi : galat antar responden saling independen .
- Sampling acak : data yang diperoleh dengan sampling acak (random), sehingga setiap pengamatan merupakan informasi yang independen.
Jika hasil uji anova satu arah menyatakan bahwa terdapat perbedaan yang signifikan dari variabel-variabel yang diuji maka dapat dilakukan uji lanjut seperti uji BNT dan uji BNJ. Uji lanjut digunakan untuk membandingkan seluruh pasangan rata-rata perlakuan sehingga terlihat perlakuan apa yang berbeda nyata.
1.3 Data
Kabupaten <- c("Jembrana", "Tabanan", "Badung", "Gianyar", "Klungkung", "Bangli", "Karangasem", "Buleleng", "Kota_Denpasar")
Tahun_2021 <- c(73.57, 76.95, 81.84, 78.21, 72.98, 70.60, 68.58, 73.60, 84.04)
Tahun_2022 <- c(74.38, 77.22, 82.13, 78.87, 73.77, 71.47, 69.48, 74.48, 84.39)
Tahun_2023 <- c(74.80, 77.87, 83.00, 79.69, 74.18, 71.99, 70.09, 74.87, 84.68)
IPM_Bali <- data.frame(Kabupaten, Tahun_2021, Tahun_2022, Tahun_2023)
IPM_Bali## Kabupaten Tahun_2021 Tahun_2022 Tahun_2023
## 1 Jembrana 73.57 74.38 74.80
## 2 Tabanan 76.95 77.22 77.87
## 3 Badung 81.84 82.13 83.00
## 4 Gianyar 78.21 78.87 79.69
## 5 Klungkung 72.98 73.77 74.18
## 6 Bangli 70.60 71.47 71.99
## 7 Karangasem 68.58 69.48 70.09
## 8 Buleleng 73.60 74.48 74.87
## 9 Kota_Denpasar 84.04 84.39 84.68
Menampilkan data dengan tabel agar lebih rapi dan mudah dibaca.
knitr::kable(
head(data_filter, 9),
"pipe",
col.name = c("Kabupaten", "Tahun_2021", "Tahun_2022", "Tahun_2023"),
align = "lcccc"
)| Kabupaten | Tahun_2021 | Tahun_2022 | Tahun_2023 |
|---|---|---|---|
| Jembrana | 73.57 | 74.38 | 74.80 |
| Tabanan | 76.95 | 77.22 | 77.87 |
| Badung | 81.84 | 82.13 | 83.00 |
| Gianyar | 78.21 | 78.87 | 79.69 |
| Klungkung | 72.98 | 73.77 | 74.18 |
| Bangli | 70.60 | 71.47 | 71.99 |
| Karangasem | 68.58 | 69.48 | 70.09 |
| Buleleng | 73.60 | 74.48 | 74.87 |
| Kota_Denpasar | 84.04 | 84.39 | 84.68 |
1.4 Statistika Deskriptif
Pada langkah ini, dilakukan penghitungan statistika deskriptif untuk tiga variabel tahun, yaitu Tahun 2021, Tahun 2022, dan Tahun 2023. Statistika deskriptif ini memberikan gambaran tentang sebaran dan karakteristik data pada variabel-variabel tersebut.
## Kabupaten Tahun_2021 Tahun_2022 Tahun_2023
## Length:9 Min. :68.58 Min. :69.48 Min. :70.09
## Class :character 1st Qu.:72.98 1st Qu.:73.77 1st Qu.:74.18
## Mode :character Median :73.60 Median :74.48 Median :74.87
## Mean :75.60 Mean :76.24 Mean :76.80
## 3rd Qu.:78.21 3rd Qu.:78.87 3rd Qu.:79.69
## Max. :84.04 Max. :84.39 Max. :84.68
SOURCE CODE
2.1 Library yang Dibutuhkan
## Loading required package: carData
## Loading required package: ggplot2
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
2.2 Data Frame
Dalam R, analisis ragam dilakukan dengan Variabel Prediktor (Tahun) bersifat factor menggunakan perintah as.factor() dimana:
<ul>
<li>Level 1 = IPM Bali Menurut Kabupaten pada Tahun 2021</li>
<li>Level 2 = IPM Bali Menurut Kabupaten pada Tahun 2022</li>
<li>Level 3 = IPM Bali Menurut Kabupaten pada Tahun 2023</li>
</ul>
Variabel Respon (IPM) bersifat numeric. Data frame yang dibentuk disimpan dalam objek ‘Data’.
Tahun <- c(rep(1,9), rep(2,9), rep(3,9))
IPM <- c(73.57, 76.95, 81.84, 78.21, 72.98, 70.60, 68.58, 73.60, 84.04,
74.38, 77.22, 82.13, 78.87, 73.77, 71.47, 69.48, 74.48, 84.39,
74.80, 77.87, 83.00, 79.69, 74.18, 71.99, 70.09, 74.87, 84.68)
Tahun <- factor(Tahun)
Data <- data.frame(Tahun, IPM)
Data## Tahun IPM
## 1 1 73.57
## 2 1 76.95
## 3 1 81.84
## 4 1 78.21
## 5 1 72.98
## 6 1 70.60
## 7 1 68.58
## 8 1 73.60
## 9 1 84.04
## 10 2 74.38
## 11 2 77.22
## 12 2 82.13
## 13 2 78.87
## 14 2 73.77
## 15 2 71.47
## 16 2 69.48
## 17 2 74.48
## 18 2 84.39
## 19 3 74.80
## 20 3 77.87
## 21 3 83.00
## 22 3 79.69
## 23 3 74.18
## 24 3 71.99
## 25 3 70.09
## 26 3 74.87
## 27 3 84.68
2.3 Boxplot
Pembuatan boxplot menggunakan perintah boxplot() yang merupakan deskripsi dari IPM di setiap Tahun pada data frame ‘IPM_Bali_long’.
IPM_Bali_long <- pivot_longer(IPM_Bali, cols = starts_with("Tahun"),
names_to = "Tahun", values_to = "IPM")
ggplot(IPM_Bali_long, aes(x = Tahun, y = IPM, fill = Tahun)) +
geom_boxplot() +
labs(title = "Boxplot IPM Bali Tahun 2021-2023", x = "Tahun", y = "IPM") +
theme_minimal() +
theme(legend.position = "none")2.4 ANOVA Satu Arah (Manual)
2.4.1 Derajat Bebas
Perhitungan Derajat Bebas perlakuan, galat, dan total dengan rumus:
\[DBp=p-1\] \[DBt=N-1\] \[DBg=N-p\]
dimana:
N merupakan banyaknya pengamatan dan setara dengan jumlah baris dalam data frame ‘IPM_Bali_long’
p merupakan banyaknya perlakuan dan setara dengan banyaknya level dalam variabel Tahun
N=nrow(IPM_Bali_long)
p=length(unique(IPM_Bali_long$Tahun))
DBp=p-1
DBg=N-p
DBt=N-1
DB=c(DBp,DBg,DBt)
DB## [1] 2 24 26
2.4.2 Jumlah Kuadrat
Perhitungan Jumlah Kuadrat perlakuan, galat, dan total dengan rumus:
\[JKp=\sum_{i=k}^{k}n_i(\bar{Y_i}-\bar{Y})^2\] \[JKt=\sum_{j=k}^{n_i}\sum_{i=k}^{k}(Y_{ij}-\bar{Y})^2\] \[JKg=JKt-JKp\]
Dimana \(\bar{Y_i}\) merupakan rata-rata dari \(n_i\) merupakan panjang setiap perlakuan (IPM) dengan menggunakan perintah aggregate() serta \(\bar{Y}\) merupakan rata-rata dari seluruh perlakuan (IPM).
rata2_perlakuan=aggregate(IPM_Bali_long$IPM, list(IPM_Bali_long$Tahun), mean)[,2]
n = aggregate(IPM_Bali_long$IPM, list(IPM_Bali_long$Tahun), length)[,2]
rata2=mean(IPM_Bali_long$IPM)
JKt=sum((IPM_Bali_long$IPM-rata2)^2)
JKp=sum(n*(rata2_perlakuan-rata2)^2)
JKg=JKt-JKp
JK=c(JKp,JKg,JKt)
JK## [1] 6.493067 590.952600 597.445667
2.4.3 Rata-rata Kuadrat
Perhitungan Rata-rata Kuadrat perlakua dan galat dengan rumus:
\[RKp=\frac{JKp}{DBp}\] \[RKg=\frac{JKg}{DBg}\]
## [1] 3.246533 24.623025
2.4.4 Fhitung dan Nilai p
Rumus \(F_{hitung}\) yaitu:
Perhitungan nilai p berdasarkan nilai \(F{hitung}\) yang berdistribusi F dengan menggunakan perintah pf() dimana lower.tail=FALSE karena dihitung dari ekor kanan.
## [1] 0.1318495
## [1] 0.8771034
2.4.5 Tabel ANOVA
Pembentukan tabel ANOVA yaitu gabungan dari DB, JK, RK, Fhit, dan pVal yang disimpan dalam data frame ‘anova’.
anova=data.frame(SK=c('Perlakuan','Galat','Total'),DB,JK=c(JK),RK=c(RK,'-'),Fhit=c(Fhit,'-','-'),pVal=c(pVal,'-','-'))
kable(anova,caption ="Tabel ANOVA")| SK | DB | JK | RK | Fhit | pVal |
|---|---|---|---|---|---|
| Perlakuan | 2 | 6.493067 | 3.24653333333335 | 0.131849491820495 | 0.87710338481534 |
| Galat | 24 | 590.952600 | 24.623025 | - | - |
| Total | 26 | 597.445667 | - | - | - |
2.5 ANOVA Satu Arah (Fungsi)
Pembentukan tabel ANOVA dengan menggunakan fungsi yang bersifat built in di R yaitu aov() yang disimpan dalam objek ‘anova_result’ dengan variabel yang dianalisis adalah IPM di setiap Tahun pada data frame ‘IPM_Bali_long’.
## Call:
## aov(formula = IPM ~ Tahun, data = IPM_Bali_long)
##
## Terms:
## Tahun Residuals
## Sum of Squares 6.4931 590.9526
## Deg. of Freedom 2 24
##
## Residual standard error: 4.962159
## Estimated effects may be unbalanced
## Df Sum Sq Mean Sq F value Pr(>F)
## Tahun 2 6.5 3.247 0.132 0.877
## Residuals 24 591.0 24.623
2.6 Pemeriksaan Asumsi
2.6.1 Plot
2.6.1.1 Plot Residuals vs Fitted
Plot Residuals vs Fitted digunakan untuk memeriksa ketepatan model pada objek ‘anova_result’ dengan perintah plot( ,1).
2.6.1.2 Plot Q-Q
Plot Q-Q digunakan untuk memeriksa normalitas galat pada objek ‘anova_result’ dengan perintah plot( ,2).
## [1] 25 26
2.6.2 Uji Normalitas Galat
Uji normalitas menggunakan sisaan dari model pada objek ‘anova_result’ sehingga digunakan perintah residuals() yang disimpan dalam objek ‘sisa’.
2.6.2.1 Uji Jarque-Bera
Uji normalitas Jarque-Bera dari objek ‘sisa’ dengan menggunakan perintah jarque.bera.test() dan library tseries.
##
## Jarque Bera Test
##
## data: sisa
## X-squared = 1.6511, df = 2, p-value = 0.438
2.6.3 Uji Homogenitas Ragam
Uji homogenitas ragam Levene dengan variabel yang dianalisis adalah IPM di setiap Tahun pada data frame ‘IPM_Bali_long’ dengan menggunakan perintah leveneTest() dan library car.
## Warning in leveneTest.default(y = y, group = group, ...): group coerced to
## factor.
## Levene's Test for Homogeneity of Variance (center = median)
## Df F value Pr(>F)
## group 2 0.0075 0.9926
## 24
HASIL DAN PEMBAHASAN
3.1 Boxplot
Sebelum dilakukan uji ANOVA, data dapat dideskripsikan terlebih dahulu berdasarkan statistik deskriptifnya dengan menggunakan Boxplot.
IPM_Bali_long <- pivot_longer(IPM_Bali, cols = starts_with("Tahun"),
names_to = "Tahun", values_to = "IPM")
ggplot(IPM_Bali_long, aes(x = Tahun, y = IPM, fill = Tahun)) +
geom_boxplot() +
labs(title = "Boxplot IPM Bali Tahun 2021-2023", x = "Tahun", y = "IPM") +
theme_minimal() +
theme(legend.position = "none")Berdasarkan hasil boxplot tersebut, terlihat IPM pada Tahun 2021, Tahun 2022, dan Tahun 2023 menunjukkan nlai rata-rata yang hampir sama. Data IPM pada Tahun 2023 lebih tinggi daripada Tahun 2022 dan Tahun 2021.
3.2 ANOVA
Perhitungan ANOVA baik secara manual atau menggunakan fungsi menghasilkan hasil yang sama yaitu:
Hipotesis:
\(H_0:\mu_1=\mu_2=...=\mu\) (Tidak ada perbedaan nilai rata-rata IPM di Bali yang siginifikan antara Tahun 2021, Tahun 2022, dan Tahun 2023)
\(H_1:\mu_1≠\mu_2≠...≠\mu\) (Ada perbedaan nilai rata-rata IPM di Bali yang siginifikan antara Tahun 2021, Tahun 2022, dan Tahun 2023)
Taraf signifikansi:
\(α\) = 5%
Daerah Kritis:
\(H_0\) ditolak jika \(F_{hit}>F_{0.05;(k-1;n-k)}=3.403\) atau 𝜌-value < 𝛼= 0.05
Statistik Uji:
anova=data.frame(SK=c('Perlakuan','Galat','Total'),DB,JK,RK=c(RK,'-'),Fhit=c(Fhit,'-','-'),pVal=c(pVal,'-','-'))
kable(anova,caption ="Tabel ANOVA")| SK | DB | JK | RK | Fhit | pVal |
|---|---|---|---|---|---|
| Perlakuan | 2 | 6.493067 | 3.24653333333335 | 0.131849491820495 | 0.87710338481534 |
| Galat | 24 | 590.952600 | 24.623025 | - | - |
| Total | 26 | 597.445667 | - | - | - |
Kesimpulan:
Karena \(F_{hit}=0.132<F_{tabel}=3.403\) atau 𝜌-value = 0.88 > 𝛼= 0.05, maka \(H_0\) tidak dapat ditolak, yang berarti bahwa tidak ada perbedaan nilai rata-rata IPM yang siginifikan antara Tahun 2021, Tahun 2022, dan Tahun 2023.
3.3 Pemeriksaan Asumsi
Keabsahan kesimpulan dari uji ANOVA masih perlu dipastikan melalui pemeriksaan asumsi dengan melakukan diagnostik plot dan uji asumsi.
3.3.1 Plot
3.3.1.1 Plot Residuals vs Fitted
Berdasarkan plot Residuals vs Fitted, garis merah yang menghubungkan kelompok sisaan terlihat mendasar atau horizontal, sehingga dapat disimpulkan bahwa model yang digunakan sudah tepat.
3.3.1.2 Plot Q-Q
## [1] 25 26
Berdasarkan plot Q-Q, titik-titik berada tidak jauh dari garis dengan sudut 45 derajat antara sumbu x dan sumbu y di kuadran I, sehingga dapat disimpulkan bahwa asumsi normalitas terpenuhi.
3.3.2 Uji Normalitas Galat
3.3.2.1 Uji Jarque-Bera
##
## Jarque Bera Test
##
## data: sisa
## X-squared = 1.6511, df = 2, p-value = 0.438
3.3.2.2 Uji Shapiro-Wilk
##
## Shapiro-Wilk normality test
##
## data: sisa
## W = 0.92909, p-value = 0.06564
Hipotesis:
\(H_0:\) Galat menyebar normal
\(H_1:\) Galat tidak menyebar normal
Taraf signifikansi:
\(α\) = 5%
Daerah Kritis:
\(H_0\) ditolak jika:
Uji Jarque-Bera : 𝜌-value < 0.05
Uji Shapiro-Wilk : 𝜌-value < 0.05
Statistik Uji:
Berdasarkan Uji Jarque-Bera dan Shapiro-Wilk
Kesimpulan:
Berdasarkan uji Jarque-Bera dengan 𝜌-value = 0.438 dan Shapiro-Wilk dengan 𝜌-value = 0.06564, maka \(H_0\) tidak dapat ditolak, yang berarti bahwa dengan taraf nyata 5%, sudah cukup bukti bahwa galat menyebar normal sehingga asumsi normalitas galat terpenuhi.
3.3.3 Uji Homogenitas Ragam
Uji Levene
Hipotesis:
\(H_0:\) Ragam setiap kelompok sama
\(H_1:\) Paling sedikit terdapat satu kelompok yang memiliki ragam berbeda
Taraf signifikansi:
\(α\) = 5%
Daerah Kritis:
\(H_0\) ditolak jika 𝜌-value < 0.05
Statistik Uji:
## Warning in leveneTest.default(y = y, group = group, ...): group coerced to
## factor.
## Levene's Test for Homogeneity of Variance (center = median)
## Df F value Pr(>F)
## group 2 0.0075 0.9926
## 24
Kesimpulan:
Karena 𝜌-value = 0.9926, maka \(H_0\) tidak dapat ditolak, yang berarti bahwa ragam dari ketiga tahun sama sehingga asumsi homogenitas ragam terpenuhi.
3.4 Kesimpulan
Karena data memenuhi asumsi normalitas dan kehomogenanan ragam, sehingga dapat disimpulkan bahwa memenuhi asumsi. Sehingga tidak perlu dilanjutkan dengan uji lanjut.
DAFTAR PUSTAKA
Anonim. 2013. Modul II ANOVA. Universitas Islam Indonesia.
bali.bps.go.id, 28 Maret 2024, [Metode Baru] Indeks Pembangunan Manusia menurut Kabupaten/Kota di Provinsi Bali (Umur Harapan Hidup Hasil Long Form SP2020) 2020 - 2023, Diakses pada 17 Mei 2024, link ke IPM BPS Bali.
Harlan, J. 2018. Analisis Variansi. Depok: Gunadarma.
Husnul, Nisak Ruwah Ibnatur., dkk. 2020. STATISTIKA DESKRIPTIF. Tangerang Selatan: UNPAM PRESS.
Nurmalasari, Mieke. 2018. Modul Statistik Inferens. Universitas Esa Unggul.