1 Pendahuluan

Kruskal-Wallis Test adalah salah satu uji dari non-parametrik yang digunakan untuk menentukan apakah terdapat perbedaan signifikan diantara dua atau lebih kelompok yang bebas. Uji ini merupakan alternatif dari uji ANOVA ketika data tidak memenuhi asumsi normalitas atau data bersifat ordinal.

Conover (1999) menyebut bahwa Kruskal-Wallis adalah metode non-parametrik yang digunakan untuk menguji apakah𝑘sampel independen diambil dari distribusi yang sama. Uji ini merupakan perpanjangan dari uji Mann-Whitney U untuk lebih dari dua kelompok, dan didasarkan pada peringkat data daripada nilai sebenarnya. Uji ini membandingkan jumlah peringkat di antara kelompok-kelompok untuk menentukan apakah terdapat perbedaan yang signifikan.

Asumsi

  1. Data yang digunakan terdiri dari k sampel yang independen dan ditarik secara acak dari populasi.

  2. Data yang digunakan berskala ordinal atau numerik (interval/rasio) yang didasarkan pada rank.

  3. Distribusi data yang diuji tidak berdistribusi normal.

Formula

Rumus Kruskal-Wallis dapat dituliskan sebagai berikut:

\[ H = \frac{12}{N(N+1)} \sum_{j=1}^{k} \frac{R_j^2}{n_j} - 3(N+1) \]

Keterangan:

  • H: nilai Kruskal-Wallis dari hasil perhitungan

  • Rj: jumlah rank dari kelompok/kategori ke-j

  • nj: banyaknya kasus dalam sampel pada kelompok/kategori ke-j

  • k: banyaknya kelompok/kategori

  • N: jumlah seluruh observasi \(N = n_1 + n_2 + \dots + n_k\)

2 Pengujian Data

2.1 Shapiro-Wilk Test

Hipotesis

  • H0: Data berdistribusi normal
  • H1: Data tidak berdistribusi normal

Taraf Signifikansi (α)

Daerah Kritis: H0 ditolak jika p-value < α

Statistik Uji

Menggunakan shapiro.test() untuk menguji normalitas pada masing-masing variabel.

Jika p-value < 0,05, maka H0 ditolak sehingga data tidak berdistribusi normal, sedangkan apabila p-value ≥ 0,05, maka H0 tidak ditolak sehingga data berdistribusi normal.

2.2 Kruskal-Wallis Test

Hipotesis

  • H0: Tidak terdapat perbedaan antara tiga atau lebih kelompok data
  • H1: Terdapat perbedaan antara tiga atau lebih kelompok data

Taraf Signifikansi (α)

Daerah Kritis:

  • H0 ditolak jika \(H_{\text{hit}} > H_{\text{tabel}}\) dengan syarat \(n_i \leq 3\); \(k = 3\) atau
  • H0 ditolak jika \(H_{\text{hit}} > \chi^2_{k-1}(\alpha)\) dengan syarat \(n_i \neq 5\); \(k = 3\) atau
  • H0 ditolak jika p-value < α

Statistik Uji

Menggunakan kruskal.test() untuk mendapatkan nilai p-value dari data yang dimiliki.

Jika p-value < 0,05, maka H0 ditolak sehingga terdapat perbedaan, sedangkan apabila hasil p-value ≥ 0,05, maka H0 tidak ditolak sehingga tidak terdapat perbedaan antara tiga atau lebih kelompok data.

3 Data

Data yang digunakan bersumber dari Integrasi Susenas Tahun 2018 dan Riskesdas 2018, Laporan Survei Status Gizi Balita Indonesia (SSGBI) 2019, Buku Saku Hasil Studi Status Gizi Indonesia (SSGI) 2021-2022 dan Laporan SKI 2023 dengan cakupan di Provinsi Sulawesi Tengah.

library(rmarkdown)  # Membuat dokumen dinamis dengan kode R dan teks.
library(knitr)      # Membuat laporan otomatis dari kode R.
library(readxl)     # Membaca data dari Excel ke R.
library(kableExtra) # Mempercantik tabel dalam R Markdown.
library(ggpubr)     # Mempermudah pembuatan plot dengan ggplot2.
## Loading required package: ggplot2
dataku <- read_excel("Stunting_72.xlsx")
head(dataku)
## # A tibble: 6 × 7
##    KODE `KAB/KOTA`             `2018` `2019` `2021` `2022` `2023`
##   <dbl> <chr>                   <dbl>  <dbl>  <dbl>  <dbl>  <dbl>
## 1  7201 KAB. BANGGAI KEPULAUAN   40.5   34.2   30.6   32.6   27.7
## 2  7202 KAB. BANGGAI             31.9   30.0   26.0   24.3   29.1
## 3  7203 KAB. MOROWALI            34.8   26.8   28.9   23.3   26.0
## 4  7204 KAB. P O S O             26.2   37.8   26.7   24.6   26.5
## 5  7205 KAB. DONGGALA            36.0   33.6   29.5   32.4   34.1
## 6  7206 KAB. TOLI TOLI           31.7   13.1   29.3   30.7   29.0

4 Pemeriksaan Kenormalan

library(ggpubr)
ggqqplot(dataku$`2018`,main = "Stunting 2018")

shapiro.test(dataku$`2018`)
## 
##  Shapiro-Wilk normality test
## 
## data:  dataku$`2018`
## W = 0.95988, p-value = 0.7518

Berdasarkan persebaran yang diperoleh dari hasil probability plot tampak terdapat data yang sedikit keluar dari garis linear yang menunjukkan data tersebut mungkin tidak normal. Asumsi ini dapat diperkuat lebih lanjut melalui penghitungan shapiro test.

Dari Shapiro test, nilai p-value = 0,7518 > 0,05 sehingga dapat dikatakan kejadian stunting tahun 2018 berdistribusi normal.

ggqqplot(dataku$`2019`, main = "Stunting 2019")

shapiro.test(dataku$`2019`)
## 
##  Shapiro-Wilk normality test
## 
## data:  dataku$`2019`
## W = 0.91991, p-value = 0.2502

Berdasarkan Shapiro test, nilai p-value diperoleh sebesar 0,2502 > 0,05 sehingga dikatakan kejadian stunting tahun 2019 berdistribusi normal.

ggqqplot(dataku$`2021`, main = "Stunting 2021")

shapiro.test(dataku$`2021`)
## 
##  Shapiro-Wilk normality test
## 
## data:  dataku$`2021`
## W = 0.83011, p-value = 0.01589

Nilai p-value dari Shapiro test sebesar 0,01589 < 0,05 sehingga bisa disimpulkan kejadian stunting tahun 2021 tidak berdistribusi normal.

ggqqplot(dataku$`2022`,main = "Stunting 2022")

shapiro.test(dataku$`2022`)
## 
##  Shapiro-Wilk normality test
## 
## data:  dataku$`2022`
## W = 0.934, p-value = 0.384

Berdasarkan persebaran yang diperoleh dari hasil probability plot tampak terdapat data yang sedikit keluar dari garis linear yang menunjukkan data tersebut mungkin tidak normal. Asumsi ini dapat diperkuat lebih lanjut melalui penghitungan shapiro test.

Dari Shapiro test diperoleh nilai p-value sebesar 0,384 > 0,05 sehingga dikatakan kejadian stunting tahun 2022 di Provinsi Sulawesi Tengah berdistribusi normal.

ggqqplot(dataku$`2023`,main = "Stunting 2023")

shapiro.test(dataku$`2023`)
## 
##  Shapiro-Wilk normality test
## 
## data:  dataku$`2023`
## W = 0.96863, p-value = 0.8774

Berdasarkan persebaran yang diperoleh dari hasil probability plot tampak terdapat data yang sedikit keluar dari garis linear yang menunjukkan data tersebut mungkin tidak normal. Asumsi ini dapat diperkuat lebih lanjut melalui penghitungan shapiro test.

Dari Shapiro test, nilai p-value sebesar 0,8774 > 0,05. Ini menunjukkan kejadian stunting tahun 2023 berdistribusi normal.

5 Uji Kruskal-Wallis

Dari keseluruhan data dari tahun-tahun di atas, ternyata terdapat data di tahun tertentu yang tidak berdistribusi normal sehingga sudah tepat untuk menggunakan Uji Kruskal-Wallis (bukan Uji ANOVA).

library(reshape2)
# Transformasi data ke long format
dataku_long <- melt(dataku[, c("2018","2019","2021","2022","2023")], 
                    variable.name = "Tahun", value.name = "Nilai")
## No id variables; using all as measure variables
# Uji Kruskal-Wallis
kruskal.test(Nilai ~ Tahun, data = dataku_long)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  Nilai by Tahun
## Kruskal-Wallis chi-squared = 10.746, df = 4, p-value = 0.02957

Karena p-value (0.02957) kurang dari tingkat signifikansi α (0.05), maka hipotesis nol ditolak. Ini menunjukkan bahwa ada perbedaan yang signifikan dalam distribusi dari nilai antar kelompok-kelompok yang dibandingkan.

6 Post-Hoc koreksi Bonferroni

Interpretasi p-value dari uji Dunn post-hoc sangat penting untuk memahami perbedaan signifikan antara kelompok setelah melakukan uji Kruskal-Wallis.

Siegel (1956) menjelaskan Uji Dunn sering kali disertai dengan koreksi Bonferroni sebagai cara untuk mengatasi masalah pengujian hipotesis berganda dengan mengurangi tingkat kesalahan tipe I (false positives). Metode ini melibatkan pembagian tingkat signifikansi yang diinginkan (α) dengan jumlah perbandingan yang dilakukan, untuk menentukan tingkat signifikansi yang lebih ketat pada setiap uji individual.

library(dunn.test)
# Uji Post-Hoc Dunn dengan koreksi Bonferroni
dunn_test_result <- dunn.test(dataku_long$Nilai, dataku_long$Tahun, method = "bonferroni")
##   Kruskal-Wallis rank sum test
## 
## data: x and group
## Kruskal-Wallis chi-squared = 10.746, df = 4, p-value = 0.03
## 
## 
##                            Comparison of x by group                            
##                                  (Bonferroni)                                  
## Col Mean-|
## Row Mean |       2018       2019       2021       2022
## ---------+--------------------------------------------
##     2019 |   0.352658
##          |     1.0000
##          |
##     2021 |   1.804781   1.452122
##          |     0.3555     0.7323
##          |
##     2022 |   2.105578   1.752919   0.300796
##          |     0.1762     0.3981     1.0000
##          |
##     2023 |   2.686427   2.333768   0.881645   0.580849
##          |     0.0361     0.0980     1.0000     1.0000
## 
## alpha = 0.05
## Reject Ho if p <= alpha/2

Dari koreksi Bonferroni, diperoleh hasil Kruskal-Wallis Chi-Squared sebesar 10.746 dengan derajat kebebasan 4 dan p-value: 0.03.

Karena p-value < 0.05, maka disimpulkan menolak hipotesis nol. Ini berarti ada perbedaan yang signifikan diantara kelompok-kelompok secara keseluruhan.

Interpretasi Hasil Post-Hoc:

Perbandingan 2019 vs 2018: p-value = 1.0000 (Tidak signifikan).

Perbandingan 2021 vs 2018: p-value = 0.3555 (Tidak signifikan).

Perbandingan 2022 vs 2018: p-value = 0.1762 (Tidak signifikan).

Perbandingan 2023 vs 2018: p-value = 0.0361 Signifikan (p-value < 0.025 setelah koreksi Bonferroni).

Perbandingan 2021 vs 2019: p-value = 0.7323 (Tidak signifikan).

Perbandingan 2022 vs 2019: p-value = 0.3981 (Tidak signifikan).

Perbandingan 2023 vs 2019: p-value = 0.0980 (Tidak signifikan).

Perbandingan 2022 vs 2021: p-value = 1.0000 (Tidak signifikan).

Perbandingan 2023 vs 2021: p-value = 1.0000 (Tidak signifikan).

Perbandingan 2023 vs 2022: p-value = 1.0000 (Tidak signifikan).

Kesimpulan:

  • Hasil uji Kruskal-Wallis menunjukkan bahwa ada perbedaan signifikan dalam distribusi nilai antar kelompok secara keseluruhan.

  • Hasil uji Dunn post-hoc menunjukkan bahwa setelah koreksi Bonferroni, hanya perbandingan antara 2023 dan 2018 yang menunjukkan perbedaan signifikan.

Perbandingan ini menunjukkan bahwa nilai pada tahun 2023 secara signifikan berbeda dari nilai pada tahun 2018, sementara perbandingan lainnya tidak menunjukkan perbedaan signifikan setelah koreksi untuk banyak perbandingan.

p <- ggplot(dataku_long, aes(x = Tahun, y = Nilai)) +
  geom_boxplot(aes(fill = Tahun)) +
  labs(title = "Kruskal-Wallis Test with Dunn's Post-Hoc",
       x = "Tahun", y = "Nilai Stunting") +
  theme_minimal()
print(p)

Boxplot di atas menunjukkan distribusi data untuk setiap kelompok (tahun).

7 Referensi

  1. Conover, W. J. (1999). Practical Nonparametric Statistics (3rd ed.). John Wiley & Sons.

  2. Kementerian Kesehatan Republik Indonesia. (2019). Survei Status Gizi Balita Indonesia (SSGBI) 2019. Jakarta: Kementerian Kesehatan Republik Indonesia.

  3. Kementerian Kesehatan Republik Indonesia. (2021). Buku Saku Hasil Studi Status Gizi Indonesia (SSGI) Tahun 2021. Jakarta: Kementerian Kesehatan Republik Indonesia.

  4. Kementerian Kesehatan Republik Indonesia. (2022). Buku Saku Hasil Studi Status Gizi Indonesia (SSGI) Tahun 2022. Jakarta: Kementerian Kesehatan Republik Indonesia.

  5. Kementerian Kesehatan Republik Indonesia. (2023). Laporan Survei Kesehatan Indonesia (SKI) 2023. Jakarta: Kementerian Kesehatan Republik Indonesia.

  6. Siegel, S. (1956). Nonparametric Statistics for the Behavioral Sciences. New York: McGraw-Hill.


Direktorat Statistik Kesejahteraan Rakyat, BPS,