TUGAS 1

1 Bagian 1: Definisi Analisis Data Kategori

1.1 Apa itu Analisis Data Kategori?

Analisis data kategori (categorical data analysis) adalah sekumpulan metode statistik yang digunakan untuk menganalisis data yang diukur dalam skala nominal atau ordinal, yaitu data yang nilainya berupa kategori atau label dan bukan angka kontinu (Agresti, 2013).

Secara formal, variabel kategori membagi observasi ke dalam kelompok-kelompok yang saling eksklusif (mutually exclusive) dan mencakup semua kemungkinan (exhaustive). Metode analisis data kategori mencakup, antara lain:

  • Uji Chi-Square
  • Analisis tabel kontingensi
  • Regresi Logistik
  • Model Log-Linear

1.2 Karakteristik Variabel Kategori

Variabel kategori memiliki beberapa karakteristik utama yang membedakannya dari variabel kontinu:

Karakteristik Penjelasan Contoh
Skala Pengukuran Nominal (tanpa urutan) atau Ordinal (dengan urutan) Jenis kelamin, golongan darah
Tipe Nilai Label atau kategori, bukan angka Sakit / Tidak Sakit
Operasi Matematika Tidak dapat dijumlahkan/dikalikan secara langsung Tidak bisa: Laki-laki + Perempuan
Ringkasan Statistik Disajikan dengan frekuensi dan proporsi 40% konsumsi fast food, 60% tidak
Subtipe Umum Nominal, Ordinal, Biner/Dikotom Ya/Tidak, Rendah/Sedang/Tinggi

Menurut Agresti (2013), variabel kategori dibedakan menjadi tiga subtipe utama:

  • Nominal: kategori tanpa urutan alami (misalnya: warna mata, jenis pekerjaan)
  • Ordinal: kategori dengan urutan yang bermakna (misalnya: tingkat kepuasan: rendah, sedang, tinggi)
  • Biner/Dikotom: variabel khusus dengan hanya dua kategori (misalnya: ya/tidak, sakit/sehat)

1.3 Contoh Penerapan dalam Penelitian

Bidang Ilmu Contoh Kasus Metode Analisis
Epidemiologi Hubungan konsumsi fast food dengan kejadian obesitas Odds Ratio, Uji Chi-Square
Ilmu Sosial Hubungan tingkat pendidikan dengan preferensi politik Uji Chi-Square, Cramér’s V
Ekonomi Hubungan status pekerjaan dengan kepemilikan asuransi Regresi Logistik
Kedokteran Klinis Efektivitas vaksin terhadap kejadian infeksi Relative Risk, Uji Fisher

Referensi: Agresti, A. (2013). Categorical Data Analysis (3rd ed.). John Wiley & Sons.


2 Bagian 2: Tabel Kontingensi

2.1 Definisi Tabel Kontingensi

Tabel kontingensi (contingency table) adalah tabel yang menyajikan distribusi frekuensi dari dua atau lebih variabel kategori secara bersama-sama. Tabel ini memungkinkan kita mengamati bagaimana nilai satu variabel “tersebar” (contingent) di setiap kategori variabel lainnya (Agresti, 2013).

Tabel kontingensi paling sederhana adalah tabel \(2 \times 2\), yang melibatkan dua variabel dengan masing-masing dua kategori.

2.2 Struktur Tabel Kontingensi 2×2

Misalkan kita memiliki dua variabel:

  • Variabel Baris (X): Kebiasaan Makan (Fast Food / Tidak Fast Food)
  • Variabel Kolom (Y): Status Penyakit (Sakit / Tidak Sakit)
Sakit (Y = 1) Tidak Sakit (Y = 0) Total
Fast Food (X = 1) \(n_{11}\) \(n_{12}\) \(n_{1+}\)
Tidak Fast Food (X = 0) \(n_{21}\) \(n_{22}\) \(n_{2+}\)
Total \(n_{+1}\) \(n_{+2}\) \(n\)

Di mana:

  • \(n_{ij}\) = frekuensi sel baris ke-\(i\) dan kolom ke-\(j\)
  • \(n_{i+}\) = total baris ke-\(i\) (marginal baris)
  • \(n_{+j}\) = total kolom ke-\(j\) (marginal kolom)
  • \(n\) = total keseluruhan observasi

2.3 Konsep Joint Distribution

Joint distribution (distribusi bersama) adalah distribusi probabilitas dari dua variabel secara simultan. Probabilitas bersama dari sel \((i, j)\) diestimasi dengan:

\[\hat{\pi}_{ij} = \frac{n_{ij}}{n}\]
(1)

Untuk tabel \(2 \times 2\) terdapat 4 sel dengan syarat: \(\sum_{i}\sum_{j} \hat{\pi}_{ij} = 1\).

2.4 Konsep Marginal Distribution

Marginal distribution adalah distribusi probabilitas dari salah satu variabel tanpa memperhatikan variabel lainnya, diperoleh dengan menjumlahkan probabilitas bersama sepanjang baris atau kolom.

Marginal untuk variabel baris (X):

\[\hat{\pi}_{i+} = \sum_{j} \hat{\pi}_{ij} = \frac{n_{i+}}{n}\]
(2)

Marginal untuk variabel kolom (Y):

\[\hat{\pi}_{+j} = \sum_{i} \hat{\pi}_{ij} = \frac{n_{+j}}{n}\]
(3)

2.5 Konsep Conditional Probability

Conditional probability (peluang bersyarat) adalah probabilitas suatu kejadian terjadi dengan syarat kejadian lain sudah diketahui terjadi:

\[P(Y = j \mid X = i) = \frac{\pi_{ij}}{\pi_{i+}} \approx \frac{n_{ij}}{n_{i+}}\]
(4)

Dalam konteks tabel kita:

\[P(\text{Obesitas} \mid \text{Fast Food}) = \frac{n_{11}}{n_{1+}}, \qquad P(\text{Obesitas} \mid \text{Tidak Fast Food}) = \frac{n_{21}}{n_{2+}}\]
(5)

Perbandingan probabilitas bersyarat inilah yang menjadi dasar ukuran asosiasi seperti Relative Risk dan Odds Ratio.


3 Bagian 3: Ukuran Asosiasi

3.1 Odds

Odds adalah rasio antara peluang suatu kejadian terjadi dibandingkan peluang kejadian tersebut tidak terjadi:

\[\text{Odds} = \frac{P(\text{kejadian terjadi})}{P(\text{kejadian tidak terjadi})} = \frac{\pi}{1 - \pi}\]
(6)

Untuk masing-masing kelompok pada tabel \(2 \times 2\):

\[\text{Odds}_{\text{Fast Food}} = \frac{n_{11}}{n_{12}}, \qquad \text{Odds}_{\text{Tidak Fast Food}} = \frac{n_{21}}{n_{22}}\]
(7)
Nilai Odds Interpretasi
Odds = 1 Peluang terjadi sama dengan peluang tidak terjadi
Odds > 1 Kejadian lebih mungkin terjadi daripada tidak terjadi
Odds < 1 Kejadian lebih mungkin tidak terjadi

3.2 Odds Ratio (OR)

Odds Ratio adalah perbandingan odds dari dua kelompok. OR mengukur seberapa besar odds suatu outcome pada kelompok terpapar dibandingkan kelompok tidak terpapar:

\[OR = \frac{\text{Odds}_{\text{Terpapar}}}{\text{Odds}_{\text{Tidak Terpapar}}} = \frac{n_{11}/n_{12}}{n_{21}/n_{22}} = \frac{n_{11} \cdot n_{22}}{n_{12} \cdot n_{21}} = \frac{ad}{bc}\]
(8)

Interval kepercayaan 95% untuk OR dihitung via transformasi logaritma natural:

\[\ln(\widehat{OR}) \pm 1{,}96 \times \sqrt{\frac{1}{n_{11}} + \frac{1}{n_{12}} + \frac{1}{n_{21}} + \frac{1}{n_{22}}}\]
(9)
Nilai OR Interpretasi
OR = 1 Tidak ada asosiasi antara paparan dan outcome
OR > 1 Paparan meningkatkan odds terjadinya outcome
OR < 1 Paparan menurunkan odds terjadinya outcome (protektif)

3.3 Relative Risk (RR)

Relative Risk (atau Risk Ratio) adalah rasio langsung antara probabilitas bersyarat pada kelompok terpapar dibandingkan tidak terpapar:

\[RR = \frac{P(\text{Outcome} \mid \text{Terpapar})}{P(\text{Outcome} \mid \text{Tidak Terpapar})} = \frac{n_{11}/(n_{11}+n_{12})}{n_{21}/(n_{21}+n_{22})} = \frac{n_{11} \cdot n_{2+}}{n_{21} \cdot n_{1+}}\]
(10)
Nilai RR Interpretasi
RR = 1 Risiko sama pada kedua kelompok (tidak ada asosiasi)
RR > 1 Kelompok terpapar memiliki risiko lebih tinggi
RR < 1 Kelompok terpapar memiliki risiko lebih rendah (protektif)

Catatan: RR hanya valid pada studi kohort atau eksperimental. Pada studi kasus-kontrol, gunakan OR karena proporsi kasus ditentukan oleh desain studi, bukan prevalensi populasi.

3.4 Uji Chi-Square

Uji Chi-Square (Pearson’s Chi-Square Test) digunakan untuk menguji apakah terdapat hubungan yang signifikan antara dua variabel kategori. Hipotesis yang diuji adalah:

  • \(H_0\): Tidak ada asosiasi antara variabel baris dan kolom (independen)
  • \(H_1\): Terdapat asosiasi antara variabel baris dan kolom
\[\chi^2 = \sum_{i}\sum_{j} \frac{(O_{ij} - E_{ij})^2}{E_{ij}}\]
(11)

Di mana frekuensi harapan dihitung dengan:

\[E_{ij} = \frac{n_{i+} \times n_{+j}}{n}\]
(12)

Statistik \(\chi^2\) mengikuti distribusi Chi-Square dengan derajat bebas \(df = (r-1)(c-1)\), di mana \(r\) = jumlah baris dan \(c\) = jumlah kolom. Untuk tabel \(2\times2\), \(df = 1\).

Kondisi Interpretasi
p-value < α Tolak H0: terdapat asosiasi yang signifikan
p-value ≥ α Gagal tolak H0: tidak cukup bukti adanya asosiasi
χ² besar Frekuensi observasi jauh dari yang diharapkan jika independen
χ² ≈ 0 Frekuensi observasi mendekati frekuensi harapan (mendukung independensi)

Uji Chi-Square hanya menunjukkan ada atau tidaknya asosiasi, bukan seberapa kuat asosiasi tersebut. Untuk mengukur kekuatan asosiasi, digunakan Cramér’s V.

3.5 Cramér’s V

Cramér’s V adalah ukuran kekuatan asosiasi berbasis Chi-Square yang nilainya berkisar antara 0 sampai 1, sehingga lebih mudah diinterpretasikan daripada nilai \(\chi^2\) mentah.

\[V = \sqrt{\frac{\chi^2}{n \cdot \min(r-1,\, c-1)}}\]
(13)
Nilai Cramér’s V Kekuatan Asosiasi
V = 0 Tidak ada asosiasi
0 < V ≤ 0,10 Asosiasi sangat lemah
0,10 < V ≤ 0,30 Asosiasi lemah–sedang
0,30 < V ≤ 0,50 Asosiasi sedang–kuat
V > 0,50 Asosiasi kuat

3.6 Uji Fisher (Fisher’s Exact Test)

Uji Fisher adalah alternatif uji Chi-Square yang digunakan ketika ukuran sampel kecil atau frekuensi harapan pada salah satu sel kurang dari 5. Uji ini menghitung probabilitas eksak dari tabel yang teramati dan semua tabel yang lebih ekstrem.

\[p = \frac{\binom{n_{1+}}{n_{11}}\binom{n_{2+}}{n_{21}}}{\binom{n}{n_{+1}}} = \frac{n_{1+}!\; n_{2+}!\; n_{+1}!\; n_{+2}!}{n!\; n_{11}!\; n_{12}!\; n_{21}!\; n_{22}!}\]
(14)
Kondisi Interpretasi
p-value < α Tolak H0: terdapat asosiasi yang signifikan
p-value ≥ α Gagal tolak H0: tidak cukup bukti adanya asosiasi
Digunakan saat Sampel kecil (n < 20) atau ada sel dengan frekuensi harapan < 5

4 Bagian 4: Contoh Perhitungan Manual

4.1 Kasus: Hubungan Konsumsi Fast Food dan Obesitas

Sebuah penelitian kohort dilakukan untuk menyelidiki apakah kebiasaan konsumsi fast food secara rutin (≥4 kali/minggu) berhubungan dengan kejadian obesitas pada usia dewasa muda. Peneliti mengikuti 200 responden selama 2 tahun dan memperoleh data berikut:

Kebiasaan Makan Obesitas Tidak Obesitas Total
Konsumsi Fast Food 60 40 100
Tidak Konsumsi Fast Food 20 80 100
Total 80 120 200

Notasi: \(a = 60\), \(b = 40\), \(c = 20\), \(d = 80\), \(n = 200\)

4.2 Langkah 1: Peluang Bersyarat

Peluang obesitas pada kelompok konsumsi fast food:

\[P(\text{Obesitas} \mid \text{Fast Food}) = \frac{a}{a+b} = \frac{60}{100} = 0{,}60\]

Peluang obesitas pada kelompok tidak konsumsi fast food:

\[P(\text{Obesitas} \mid \text{Tidak Fast Food}) = \frac{c}{c+d} = \frac{20}{100} = 0{,}20\]

Artinya, 60% responden yang rutin mengonsumsi fast food mengalami obesitas, sementara hanya 20% yang tidak mengonsumsi fast food mengalami obesitas.

4.3 Langkah 2: Menghitung Odds

Odds obesitas pada kelompok fast food:

\[\text{Odds}_{\text{Fast Food}} = \frac{a}{b} = \frac{60}{40} = 1{,}50\]

Odds obesitas pada kelompok tidak fast food:

\[\text{Odds}_{\text{Tidak Fast Food}} = \frac{c}{d} = \frac{20}{80} = 0{,}25\]

Odds 1,50 berarti pada kelompok konsumsi fast food, peluang mengalami obesitas 1,5× lebih besar dari peluang tidak mengalaminya. Sebaliknya, odds 0,25 menunjukkan kelompok yang tidak konsumsi fast food jauh lebih mungkin tidak mengalami obesitas.

4.4 Langkah 3: Menghitung Odds Ratio

\[OR = \frac{\text{Odds}_{\text{Fast Food}}}{\text{Odds}_{\text{Tidak Fast Food}}} = \frac{a/b}{c/d} = \frac{ad}{bc} = \frac{60 \times 80}{40 \times 20} = \frac{4800}{800} = \mathbf{6{,}00}\]

Interval Kepercayaan 95% untuk OR:

\[SE_{\ln(OR)} = \sqrt{\frac{1}{60} + \frac{1}{40} + \frac{1}{20} + \frac{1}{80}} = \sqrt{0{,}0167 + 0{,}0250 + 0{,}0500 + 0{,}0125} = \sqrt{0{,}1042} \approx 0{,}3228\]

\[\ln(OR) = \ln(6) \approx 1{,}7918\]

\[\text{95\% CI untuk } \ln(OR): \quad 1{,}7918 \pm 1{,}96 \times 0{,}3228 = (1{,}1591 \;;\; 2{,}4245)\]

\[\text{95\% CI untuk OR}: \quad \left(e^{1{,}1591} \;;\; e^{2{,}4245}\right) \approx \mathbf{(3{,}19 \;;\; 11{,}35)}\]

4.5 Langkah 4: Menghitung Relative Risk

\[RR = \frac{P(\text{Obesitas} \mid \text{Fast Food})}{P(\text{Obesitas} \mid \text{Tidak Fast Food})} = \frac{60/100}{20/100} = \frac{0{,}60}{0{,}20} = \mathbf{3{,}00}\]

4.6 Langkah 5: Uji Chi-Square

Hitung terlebih dahulu frekuensi harapan (\(E_{ij}\)) untuk setiap sel:

\[E_{11} = \frac{n_{1+} \times n_{+1}}{n} = \frac{100 \times 80}{200} = 40, \quad E_{12} = \frac{100 \times 120}{200} = 60\]

\[E_{21} = \frac{100 \times 80}{200} = 40, \quad E_{22} = \frac{100 \times 120}{200} = 60\]

Karena semua \(E_{ij} \geq 5\), syarat uji Chi-Square terpenuhi. Hitung statistik uji menggunakan Pers. (11):

\[\chi^2 = \frac{(60-40)^2}{40} + \frac{(40-60)^2}{60} + \frac{(20-40)^2}{40} + \frac{(80-60)^2}{60}\]

\[\chi^2 = \frac{400}{40} + \frac{400}{60} + \frac{400}{40} + \frac{400}{60} = 10 + 6{,}667 + 10 + 6{,}667 = \mathbf{33{,}33}\]

Keputusan: Karena \(\chi^2 = 33{,}33 > 3{,}841\) (nilai kritis \(\alpha=0{,}05\), \(df=1\)), maka tolak \(H_0\). Terdapat asosiasi yang signifikan antara konsumsi fast food dan obesitas.

4.7 Langkah 6: Cramér’s V

Dengan \(n = 200\) dan \(\min(r-1, c-1) = 1\):

\[V = \sqrt{\frac{\chi^2}{n \cdot \min(r-1,\, c-1)}} = \sqrt{\frac{33{,}33}{200 \times 1}} = \sqrt{0{,}1667} \approx \mathbf{0{,}408}\]

4.8 Langkah 7: Uji Fisher

Uji Fisher menghitung probabilitas eksak dengan distribusi hipergeometrik. Untuk data ini dengan total marginal tetap (\(n_{1+} = n_{2+} = 100\), \(n_{+1} = 80\), \(n_{+2} = 120\)):

\[p = \frac{100!\; 100!\; 80!\; 120!}{200!\; 60!\; 40!\; 20!\; 80!}\]

Pada sampel besar (\(n = 200\)) dengan semua frekuensi harapan \(\geq 5\), uji Chi-Square dan Fisher biasanya memberikan kesimpulan yang sama. Uji Fisher lebih relevan digunakan ketika \(n\) kecil atau ada sel dengan \(E_{ij} < 5\).

4.9 Ringkasan Hasil Perhitungan

Ukuran Nilai
P(Obesitas &#124; Fast Food) 0,60
P(Obesitas &#124; Tidak Fast Food) 0,20
Odds Fast Food 1,50
Odds Tidak Fast Food 0,25
Odds Ratio (OR) 6,00
95% CI untuk OR (3,19 ; 11,35)
Relative Risk (RR) 3,00
Chi-Square (χ²) 33,33
Cramér’s V 0,408
Fisher’s p-value < 0,001

5 Bagian 5: Analisis Menggunakan R

5.1 Membuat Tabel Kontingensi

# Membuat matriks data
data <- matrix(c(60, 40, 20, 80),
               nrow  = 2,
               byrow = TRUE)

rownames(data) <- c("Fast Food", "Tidak Fast Food")
colnames(data) <- c("Obesitas", "Tidak Obesitas")

data
##                 Obesitas Tidak Obesitas
## Fast Food             60             40
## Tidak Fast Food       20             80
Kebiasaan Makan Obesitas Tidak Obesitas
Fast Food 60 40
Tidak Fast Food 20 80
# Proporsi baris (conditional distribution)
cat("=== Proporsi Baris ===\n")
## === Proporsi Baris ===
round(prop.table(data, margin = 1), 4)
##                 Obesitas Tidak Obesitas
## Fast Food            0.6            0.4
## Tidak Fast Food      0.2            0.8
# Proporsi total (joint distribution)
cat("\n=== Proporsi Total ===\n")
## 
## === Proporsi Total ===
round(prop.table(data), 4)
##                 Obesitas Tidak Obesitas
## Fast Food            0.3            0.2
## Tidak Fast Food      0.1            0.4

5.2 Menghitung Odds Ratio

a <- data[1, 1]; b <- data[1, 2]
c <- data[2, 1]; d <- data[2, 2]

odds_fastfood      <- a / b
odds_tidak_fastfood <- c / d
OR                 <- (a * d) / (b * c)
RR                 <- (a / (a + b)) / (c / (c + d))
SE_ln_OR           <- sqrt(1/a + 1/b + 1/c + 1/d)
CI_lower           <- exp(log(OR) - 1.96 * SE_ln_OR)
CI_upper           <- exp(log(OR) + 1.96 * SE_ln_OR)

cat(sprintf("Odds Fast Food          : %.4f\n", odds_fastfood))
## Odds Fast Food          : 1.5000
cat(sprintf("Odds Tidak Fast Food    : %.4f\n", odds_tidak_fastfood))
## Odds Tidak Fast Food    : 0.2500
cat(sprintf("Odds Ratio (OR)         : %.4f\n", OR))
## Odds Ratio (OR)         : 6.0000
cat(sprintf("95%% CI untuk OR        : (%.4f ; %.4f)\n", CI_lower, CI_upper))
## 95% CI untuk OR        : (3.1873 ; 11.2948)
cat(sprintf("Relative Risk (RR)      : %.4f\n", RR))
## Relative Risk (RR)      : 3.0000

5.3 Uji Chi-Square

hasil_chisq <- chisq.test(data, correct = FALSE)
hasil_chisq
## 
##  Pearson's Chi-squared test
## 
## data:  data
## X-squared = 33.333, df = 1, p-value = 7.764e-09
cat("\n=== Frekuensi yang Diharapkan ===\n")
## 
## === Frekuensi yang Diharapkan ===
round(hasil_chisq$expected, 2)
##                 Obesitas Tidak Obesitas
## Fast Food             40             60
## Tidak Fast Food       40             60

5.4 Cramér’s V

# Cramér's V
chi2 <- hasil_chisq$statistic
n    <- sum(data)
k    <- min(nrow(data) - 1, ncol(data) - 1)
V    <- sqrt(chi2 / (n * k))

cat(sprintf("Chi-Square (χ²)  : %.4f\n", chi2))
## Chi-Square (χ²)  : 33.3333
cat(sprintf("n                : %d\n",   n))
## n                : 200
cat(sprintf("Cramér's V       : %.4f\n", V))
## Cramér's V       : 0.4082
kekuatan <- ifelse(V <= 0.10, "Sangat lemah",
           ifelse(V <= 0.30, "Lemah–sedang",
           ifelse(V <= 0.50, "Sedang–kuat", "Kuat")))
cat(sprintf("Kekuatan asosiasi: %s\n", kekuatan))
## Kekuatan asosiasi: Sedang–kuat

5.5 Uji Fisher (Fisher’s Exact Test)

# Uji Fisher
hasil_fisher <- fisher.test(data)
hasil_fisher
## 
##  Fisher's Exact Test for Count Data
## 
## data:  data
## p-value = 1.064e-08
## alternative hypothesis: true odds ratio is not equal to 1
## 95 percent confidence interval:
##   3.055033 11.932317
## sample estimates:
## odds ratio 
##   5.940316
cat(sprintf("\nOdds Ratio (Fisher) : %.4f\n", hasil_fisher$estimate))
## 
## Odds Ratio (Fisher) : 5.9403
cat(sprintf("95%% CI (Fisher)    : (%.4f ; %.4f)\n",
            hasil_fisher$conf.int[1], hasil_fisher$conf.int[2]))
## 95% CI (Fisher)    : (3.0550 ; 11.9323)
cat(sprintf("p-value (Fisher)    : %.6f\n", hasil_fisher$p.value))
## p-value (Fisher)    : 0.000000

5.6 Visualisasi

5.6.1 Grafik 1: Distribusi Proporsi Obesitas per Kelompok

p1 <- ggplot(prop_df, aes(x = Kelompok, y = Proporsi, fill = Status)) +
  geom_col(position = "dodge", width = 0.6, color = "white", linewidth = 0.4) +
  geom_text(aes(label = Label),
            position = position_dodge(width = 0.6),
            vjust = -0.5, fontface = "bold", size = 3.8, color = "#2c3e50") +
  scale_fill_manual(values = c("Obesitas" = "#e74c3c", "Tidak Obesitas" = "#3498db")) +
  scale_y_continuous(labels = percent_format(), limits = c(0, 0.85),
                     breaks = seq(0, 0.8, 0.2)) +
  labs(
    title    = "Proporsi Status Obesitas Berdasarkan Kebiasaan Konsumsi Fast Food",
    subtitle = "Perbandingan proporsi obesitas dan tidak obesitas pada setiap kelompok paparan",
    x        = "Kebiasaan Konsumsi Fast Food",
    y        = "Proporsi (%)",
    caption  = "Sumber: Data simulasi studi cross-sectional, n = 200 responden"
  ) +
  tema_laporan

print(p1)

Interpretasi Grafik 1: Proporsi Obesitas per Kelompok

Grafik batang berdampingan ini membandingkan proporsi status obesitas antara kelompok yang rutin mengonsumsi fast food dan kelompok yang tidak. Terlihat perbedaan yang sangat mencolok:

  • Kelompok Fast Food: sebanyak 60% responden mengalami obesitas, dan hanya 40% yang tidak obesitas.
  • Kelompok Tidak Fast Food: hanya 20% responden yang mengalami obesitas, sementara 80% tidak obesitas.

Perbedaan proporsi sebesar 40 poin persentase (60% vs 20%) merupakan indikasi visual yang kuat bahwa terdapat asosiasi antara konsumsi fast food dan kejadian obesitas, konsisten dengan nilai RR = 3,00.

5.6.2 Grafik 2: Perbandingan Odds antar Kelompok

p2 <- ggplot(odds_df, aes(x = Kelompok, y = Odds, color = Kelompok)) +
  geom_segment(aes(xend = Kelompok, y = 0, yend = Odds),
               linewidth = 1.8, alpha = 0.7) +
  geom_point(size = 7, alpha = 0.9) +
  geom_text(aes(label = sprintf("Odds = %.2f", Odds)),
            vjust = -1.1, fontface = "bold", size = 4, color = "#2c3e50") +
  geom_hline(yintercept = 1, linetype = "dashed", color = "#7f8c8d", linewidth = 0.8) +
  annotate("text", x = 2.45, y = 1.05, label = "Odds = 1
(titik netral)",
           size = 3.2, color = "#7f8c8d", fontface = "italic") +
  scale_color_manual(values = c("Fast Food" = "#e74c3c", "Tidak Fast Food" = "#3498db")) +
  scale_y_continuous(limits = c(0, 2), breaks = seq(0, 2, 0.25)) +
  labs(
    title    = "Perbandingan Odds Obesitas antar Kelompok",
    subtitle = "Odds Fast Food (1,50) vs Odds Tidak Fast Food (0,25)",
    x        = "Kelompok Paparan",
    y        = "Odds Obesitas",
    caption  = "Garis putus-putus menandai titik netral Odds = 1"
  ) +
  tema_laporan +
  theme(legend.position = "none")

print(p2)

Interpretasi Grafik 2: Perbandingan Odds

Grafik lollipop ini membandingkan nilai odds obesitas pada dua kelompok, dengan garis putus-putus sebagai titik netral odds = 1.

  • Odds Fast Food = 1,50: berada di atas garis netral, artinya dalam kelompok ini responden lebih mungkin mengalami obesitas daripada tidak.
  • Odds Tidak Fast Food = 0,25: berada jauh di bawah garis netral, menandakan responden jauh lebih mungkin tidak mengalami obesitas.

Rasio antara kedua nilai ini menghasilkan Odds Ratio = 6,00, yang berarti odds obesitas pada kelompok fast food adalah 6 kali lebih besar.


6 Bagian 6: Interpretasi Hasil

6.1 Interpretasi Statistik

Ukuran Nilai Interpretasi
Chi-Square (χ²) 33,33 Nilai uji besar → distribusi antar kelompok berbeda nyata
p-value (Chi-Square) < 0,001 Sangat signifikan, tolak H0 pada alpha = 0,05 maupun alpha = 0,01
Cramér’s V 0,408 Asosiasi sedang–kuat (0,30 < V ≤ 0,50)
p-value (Fisher) < 0,001 Konfirmasi independen: asosiasi signifikan secara eksak
Odds Ratio (OR) 6,00 Odds obesitas kelompok fast food 6× lebih besar dari kelompok tidak fast food
95% CI untuk OR (3,19 ; 11,35) Tidak mencakup 1 → asosiasi signifikan secara statistik
Relative Risk (RR) 3,00 Risiko obesitas kelompok fast food 3× lebih tinggi dari kelompok tidak fast food

6.2 Interpretasi Substantif

Berdasarkan hasil analisis, dapat disimpulkan bahwa:

  • Signifikansi: Uji Chi-Square (\(\chi^2 = 33{,}33\), \(p < 0{,}001\)) dan Uji Fisher (\(p < 0{,}001\)) secara konsisten menunjukkan asosiasi yang signifikan antara konsumsi fast food dan obesitas.
  • Kekuatan asosiasi: Cramér’s V = 0,408 menunjukkan kekuatan asosiasi yang tergolong sedang hingga kuat, bukan sekadar signifikan secara statistik.
  • Besarnya risiko: Kelompok yang rutin mengonsumsi fast food memiliki risiko 3 kali lebih tinggi untuk mengalami obesitas (RR = 3,00) dengan odds 6 kali lebih besar (OR = 6,00).
  • Implikasi kebijakan: Temuan ini mendukung pentingnya edukasi gizi, pembatasan iklan fast food pada anak dan remaja, serta pengembangan regulasi label kalori pada produk makanan cepat saji.

Catatan Kausal: Asosiasi statistik tidak serta-merta membuktikan hubungan sebab-akibat. Faktor perancu seperti tingkat aktivitas fisik, genetik, dan pola makan keseluruhan perlu dikendalikan dalam studi yang lebih komprehensif.

Kesimpulan Utama: Terdapat asosiasi yang signifikan dan kuat antara kebiasaan konsumsi fast food dan kejadian obesitas. Hal ini dikonfirmasi oleh Chi-Square, Fisher’s Exact Test, Cramér’s V, OR, dan RR secara konsisten.


7 Referensi

  • Agresti, A. (2013). Categorical Data Analysis (3rd ed.). John Wiley & Sons.
  • Hosmer, D. W., Lemeshow, S., & Sturdivant, R. X. (2013). Applied Logistic Regression (3rd ed.). John Wiley & Sons.
  • Rothman, K. J., Greenland, S., & Lash, T. L. (2008). Modern Epidemiology (3rd ed.). Lippincott Williams & Wilkins.
  • R Core Team (2024). R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing. https://www.R-project.org/