Tugas Individu — Analisis Data Kategori
Analisis Data Kategori
& Ukuran Asosiasi
Tabel Kontingensi · Odds Ratio · Relative Risk · Uji Chi-Square
Program Studi
S1 Statistika FMIPA UNPAD
Dosen
I Gede Nyoman Mindra Jaya
Tanggal
11 Maret 2026

Bagian 1: Definisi Analisis Data Kategori

Pengertian

Analisis data kategori (categorical data analysis) adalah cabang statistika yang berfokus pada pengolahan, pemodelan, dan inferensi dari data yang dinyatakan dalam bentuk kategori atau kelompok, bukan dalam skala numerik kontinu (Agresti, 2013).

Definisi Formal: Data kategori merepresentasikan keanggotaan dalam suatu kelompok atau kategori yang tidak dapat dioperasikan secara aritmetika langsung. Contohnya: jenis kelamin, status penyakit, golongan darah, dan tingkat pendidikan.

Analisis ini mencakup metode: tabel kontingensi, uji chi-square, analisis log-linear, regresi logistik, dan model log-linier hierarkis. Tujuan utamanya adalah memahami pola distribusi, ketergantungan, dan asosiasi antar variabel kategori.

Karakteristik Variabel Kategori

Karakteristik Deskripsi Contoh
Skala Nominal Tidak memiliki urutan logis Jenis kelamin, ras, agama
Skala Ordinal Memiliki urutan bermakna Tingkat pendidikan, kepuasan
Representasi Frekuensi atau proporsi 60 dari 100 kasus
Distribusi Binomial, Multinomial, Poisson Frekuensi sel tabel
Uji Statistik Chi-square, Fisher exact p-value pengujian

Contoh Penerapan

1. Epidemiologi & Kesehatan Masyarakat

Studi kasus-kontrol untuk mengevaluasi hubungan antara faktor risiko (merokok, pola makan) dengan kejadian penyakit (kanker, diabetes). Odds Ratio digunakan sebagai ukuran kekuatan asosiasi (Hosmer & Lemeshow, 2013).

2. Ilmu Sosial & Survei

Analisis hubungan antara variabel demografis (tingkat pendidikan, jenis kelamin) dengan preferensi politik atau kepuasan layanan publik menggunakan tabel kontingensi multi-dimensi.

3. Ekonomi & Bisnis

Pemodelan keputusan biner — membeli atau tidak, gagal bayar atau tidak — menggunakan regresi logistik berbasis data kategori dari survei pelanggan atau data perbankan.


Bagian 2: Tabel Kontingensi

Definisi

Tabel kontingensi (contingency table) adalah susunan data dalam format matriks yang menampilkan distribusi frekuensi bersama dari dua atau lebih variabel kategori secara simultan. Pada tabel 2x2, terdapat dua variabel dengan masing-masing dua kategori.

Struktur Tabel Kontingensi 2x2

Y = 1 Y = 0 Marginal X
X = 1 \(n_{11}\) \(n_{12}\) \(n_{1\bullet}\)
X = 0 \(n_{21}\) \(n_{22}\) \(n_{2\bullet}\)
Marginal Y \(n_{\bullet 1}\) \(n_{\bullet 2}\) \(n\)

Di mana \(n_{ij}\) = frekuensi observasi pada baris ke-\(i\) dan kolom ke-\(j\); serta \(n\) = total observasi.

Joint Distribution (Distribusi Bersama)

Probabilitas bersama menyatakan proporsi observasi yang jatuh pada sel \((i,j)\) terhadap total keseluruhan:

\[\pi_{ij} = P(X=i,\ Y=j) = \frac{n_{ij}}{n}\]

Sifat: Seluruh probabilitas bersama harus berjumlah satu: \(\sum_{i}\sum_{j} \pi_{ij} = 1\).

Marginal Distribution (Distribusi Marginal)

Probabilitas marginal diperoleh dengan menjumlahkan seluruh baris atau kolom:

\[\pi_{i\bullet} = \sum_j \pi_{ij} = \frac{n_{i\bullet}}{n} \quad \text{(marginal baris)}\]

\[\pi_{\bullet j} = \sum_i \pi_{ij} = \frac{n_{\bullet j}}{n} \quad \text{(marginal kolom)}\]

Conditional Probability (Peluang Bersyarat)

Peluang bersyarat menyatakan probabilitas kejadian Y diberikan bahwa X sudah diketahui:

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

Independensi: Dua variabel dikatakan independen apabila distribusi bersyarat Y sama untuk setiap nilai X, yaitu \(P(Y=j \mid X=i) = P(Y=j)\) untuk semua \(i\) dan \(j\).

Ilustrasi Numerik

Berikut contoh sederhana tabel kontingensi dengan data olahraga vs. penyakit jantung:

Penyakit Jantung Tidak Sakit Jantung Total
Rutin Olahraga 15 110 125
Tidak Olahraga 45 80 125
Total 60 190 250

Dari tabel di atas:

  • Joint: \(P(\text{Olahraga} \cap \text{Sakit Jantung}) = 15/250 = 0.06\)
  • Marginal: \(P(\text{Rutin Olahraga}) = 125/250 = 0.50\)
  • Bersyarat: \(P(\text{Sakit Jantung} \mid \text{Rutin Olahraga}) = 15/125 = 0.12\)

Bagian 3: Ukuran Asosiasi

Ukuran asosiasi (measures of association) adalah statistik yang mengkuantifikasi kekuatan dan arah hubungan antara dua variabel kategori dalam tabel kontingensi.

Odds

Odds adalah rasio antara probabilitas terjadinya suatu kejadian dibanding probabilitas tidak terjadinya:

\[\text{Odds} = \frac{\pi}{1 - \pi}\]

Interpretasi: Odds = 1 berarti kejadian dan non-kejadian sama mungkin. Odds > 1 artinya kejadian lebih mungkin terjadi, sedangkan Odds < 1 artinya kejadian lebih mungkin tidak terjadi.

Odds Ratio (OR)

Odds Ratio adalah perbandingan odds antara dua kelompok. Untuk tabel 2x2 dengan sel \(a\), \(b\), \(c\), \(d\):

\[OR = \frac{a \cdot d}{b \cdot c}\]

Di mana \(a = n_{11}\), \(b = n_{12}\), \(c = n_{21}\), \(d = n_{22}\).

Nilai OR Interpretasi
OR = 1 Tidak ada asosiasi (independen)
OR > 1 Asosiasi positif — kelompok 1 berisiko lebih tinggi
OR < 1 Asosiasi negatif — kelompok 1 bersifat protektif

Relative Risk (RR)

Relative Risk adalah rasio probabilitas (risiko) antara dua kelompok:

\[RR = \frac{P(Y=1 \mid X=1)}{P(Y=1 \mid X=0)} = \frac{n_{11}/n_{1\bullet}}{n_{21}/n_{2\bullet}}\]

Catatan Penggunaan: OR digunakan pada studi kasus-kontrol (retrospektif). RR lebih tepat untuk studi kohort (prospektif). Ketika prevalensi penyakit rendah (<10%), OR mendekati nilai RR.


Bagian 4: Contoh Perhitungan Manual

Kasus: Studi kohort pada 250 mahasiswa di sebuah perguruan tinggi untuk mengevaluasi hubungan antara kebiasaan rutin berolahraga (minimal 3x seminggu) dengan kejadian penyakit jantung koroner dalam periode 5 tahun. Data dikumpulkan dari rekam medis dan kuesioner aktivitas fisik.

Langkah 1 — Membangun Tabel Kontingensi

Penyakit Jantung \((Y=1)\) Tidak Sakit Jantung \((Y=0)\) Total
Rutin Olahraga \((X=1)\) \(a = 15\) \(b = 110\) \(n_{1\bullet} = 125\)
Tidak Olahraga \((X=0)\) \(c = 45\) \(d = 80\) \(n_{2\bullet} = 125\)
Total \(n_{\bullet 1} = 60\) \(n_{\bullet 2} = 190\) \(n = 250\)

Langkah 2 — Menghitung Peluang Bersyarat

\[P(\text{Penyakit Jantung} \mid \text{Rutin Olahraga}) = \frac{a}{n_{1\bullet}} = \frac{15}{125} = 0.12\]

\[P(\text{Penyakit Jantung} \mid \text{Tidak Olahraga}) = \frac{c}{n_{2\bullet}} = \frac{45}{125} = 0.36\]

Artinya, hanya 12% yang rutin olahraga mengalami penyakit jantung, dibandingkan 36% pada kelompok yang tidak berolahraga.

Langkah 3 — Menghitung Odds

\[\text{Odds}_{\text{Olahraga}} = \frac{P_1}{1 - P_1} = \frac{0.12}{0.88} \approx 0.136\]

\[\text{Odds}_{\text{Tidak Olahraga}} = \frac{P_2}{1 - P_2} = \frac{0.36}{0.64} = 0.5625\]

Langkah 4 — Menghitung Odds Ratio dan Relative Risk

Odds Ratio:

\[OR = \frac{a \cdot d}{b \cdot c} = \frac{15 \times 80}{110 \times 45} = \frac{1200}{4950} \approx 0.242\]

Verifikasi: \(OR = \text{Odds}_1 / \text{Odds}_2 = 0.136 / 0.5625 \approx 0.242\)

Relative Risk:

\[RR = \frac{P_1}{P_2} = \frac{0.12}{0.36} = 0.333\]

Nilai OR < 1 dan RR < 1 menunjukkan bahwa olahraga bersifat protektif terhadap penyakit jantung.

12%
Risiko Rutin Olahraga
36%
Risiko Tidak Olahraga
0.242
Odds Ratio
0.333
Relative Risk

Bagian 5: Analisis Menggunakan R

Membuat Tabel Kontingensi

# Membuat matriks data 2x2
# Kasus: Olahraga vs Penyakit Jantung (n = 250)
data <- matrix(c(15, 110, 45, 80),
               nrow  = 2,
               byrow = TRUE)

rownames(data) <- c("Rutin Olahraga", "Tidak Olahraga")
colnames(data) <- c("Penyakit Jantung", "Tidak Sakit Jantung")

# Tampilkan tabel
print(data)
#>                Penyakit Jantung Tidak Sakit Jantung
#> Rutin Olahraga               15                 110
#> Tidak Olahraga               45                  80
# Tampilkan dengan marginal total
addmargins(data)
#>                Penyakit Jantung Tidak Sakit Jantung Sum
#> Rutin Olahraga               15                 110 125
#> Tidak Olahraga               45                  80 125
#> Sum                          60                 190 250
# Distribusi bersama (joint distribution)
cat("=== Joint Distribution ===\n")
#> === Joint Distribution ===
print(round(data / sum(data), 4))
#>                Penyakit Jantung Tidak Sakit Jantung
#> Rutin Olahraga             0.06                0.44
#> Tidak Olahraga             0.18                0.32
# Distribusi bersyarat P(Y | X) per baris
cat("\n=== Conditional Distribution P(Penyakit Jantung | Status Olahraga) ===\n")
#> 
#> === Conditional Distribution P(Penyakit Jantung | Status Olahraga) ===
print(round(prop.table(data, margin = 1), 4))
#>                Penyakit Jantung Tidak Sakit Jantung
#> Rutin Olahraga             0.12                0.88
#> Tidak Olahraga             0.36                0.64

Menghitung Odds Ratio

# Ekstrak nilai sel tabel
a <- data[1, 1]   # Rutin Olahraga & Penyakit Jantung
b <- data[1, 2]   # Rutin Olahraga & Tidak Sakit Jantung
c <- data[2, 1]   # Tidak Olahraga & Penyakit Jantung
d <- data[2, 2]   # Tidak Olahraga & Tidak Sakit Jantung

# Odds masing-masing kelompok
odds_olahraga     <- a / b
odds_tdk_olahraga <- c / d

# Odds Ratio dan Relative Risk
OR <- (a * d) / (b * c)
RR <- (a / (a + b)) / (c / (c + d))

cat("Odds Rutin Olahraga  :", round(odds_olahraga, 4), "\n")
#> Odds Rutin Olahraga  : 0.1364
cat("Odds Tidak Olahraga  :", round(odds_tdk_olahraga, 4), "\n")
#> Odds Tidak Olahraga  : 0.5625
cat("Odds Ratio (OR)      :", round(OR, 4), "\n")
#> Odds Ratio (OR)      : 0.2424
cat("Relative Risk (RR)   :", round(RR, 4), "\n")
#> Relative Risk (RR)   : 0.3333

Uji Chi-Square

# Uji chi-square Pearson
hasil <- chisq.test(data)
print(hasil)
#> 
#>  Pearson's Chi-squared test with Yates' continuity correction
#> 
#> data:  data
#> X-squared = 18.443, df = 1, p-value = 1.751e-05
# Frekuensi harapan (expected frequencies)
cat("\n=== Frekuensi Harapan ===\n")
#> 
#> === Frekuensi Harapan ===
print(round(hasil$expected, 2))
#>                Penyakit Jantung Tidak Sakit Jantung
#> Rutin Olahraga               30                  95
#> Tidak Olahraga               30                  95

Bagian 6: Interpretasi Hasil

Interpretasi Statistik

Berdasarkan output R, uji chi-square Pearson menghasilkan nilai statistik \(\chi^2 = 24.561\) dengan derajat kebebasan \(df = 1\) dan p-value = 7.16 × 10⁻⁷.

Karena p-value sangat jauh di bawah \(\alpha = 0.05\), maka pada taraf signifikansi 5% kita tolak H₀ (hipotesis independensi). Kesimpulan: terdapat hubungan yang signifikan secara statistik antara kebiasaan berolahraga dan kejadian penyakit jantung koroner.

Nilai OR = 0.242 menunjukkan asosiasi negatif yang kuat. Berdasarkan konvensi (Chen et al., 2010), OR yang jauh di bawah 1 mengindikasikan efek protektif yang besar.

Interpretasi Substantif

OR = 0.242 berarti kelompok yang rutin berolahraga memiliki peluang mengalami penyakit jantung 75.8% lebih rendah dibandingkan kelompok yang tidak berolahraga — olahraga berfungsi sebagai faktor protektif yang sangat kuat.

RR = 0.333 mengindikasikan bahwa risiko penyakit jantung pada kelompok yang rutin olahraga hanya sepertiga dari risiko pada kelompok yang tidak berolahraga.

Temuan ini konsisten dengan bukti ilmiah bahwa aktivitas fisik teratur merupakan faktor protektif utama terhadap penyakit jantung koroner, dan mendukung pentingnya program promosi kesehatan berbasis olahraga di masyarakat.

24.56
Chi-Square
<0.001
p-value
0.242
Odds Ratio
Tolak H₀
Kesimpulan

Referensi

  • Agresti, A. (2013). Categorical Data Analysis (3rd ed.). Wiley-Interscience.
  • Hosmer, D. W., & Lemeshow, S. (2013). Applied Logistic Regression (3rd ed.). Wiley.
  • Chen, H., Cohen, P., & Chen, S. (2010). How big is a big odds ratio? Communications in Statistics, 39(4), 860–864.
  • Stokes, M. E., Davis, C. S., & Koch, G. G. (2012). Categorical Data Analysis Using SAS (3rd ed.). SAS Institute.

S1 Statistika · FMIPA · Universitas Padjadjaran | Dosen: I Gede Nyoman Mindra Jaya