Uji Chi-Square: Konsep dan Contoh Praktis (2026)
Blog/Tips & Trik/Uji Chi-Square: Konsep dan Contoh Praktis (2026)

Uji Chi-Square: Konsep dan Contoh Praktis (2026)

BimaBima
·30 Desember 2026·9 menit baca

Penulis

Bima

Bima

Founder & Data Professional

Bagikan

TL;DR

Uji chi-square adalah metode statistik buat ngecek apakah dua variabel kategorikal punya hubungan atau cuma kebetulan. Caranya membandingkan jumlah yang teramati dengan jumlah yang diharapkan kalau kedua variabel nggak berhubungan. Kalau p-value di bawah 0,05, hubungannya dianggap nyata secara statistik. Di Python, uji ini kelar satu baris pakai chi2_contingency dari scipy.

Uji chi-square adalah metode statistik buat ngecek apakah dua variabel kategorikal punya hubungan, atau polanya cuma kebetulan.

Contohnya: apakah pelanggan lama lebih milih bayar tunai dibanding pelanggan baru? Chi-square yang jawab, dengan angka, bukan tebakan.

Konsepnya simpel begitu kamu paham logikanya. Bandingin apa yang beneran terjadi sama apa yang seharusnya terjadi kalau dua variabel itu nggak nyambung. Di bawah ini rumusnya, cara hitung di Python, plus contoh data toko.

Apa itu uji chi-square?

Uji chi-square adalah tes yang ngukur apakah dua variabel kategorikal saling berhubungan. Dia kerja dengan membandingkan jumlah yang teramati (observed) sama jumlah yang diharapkan (expected) kalau dua variabel itu benar-benar bebas satu sama lain. Makin jauh bedanya, makin kuat sinyal adanya hubungan.

Variabel kategorikal itu data yang berbentuk kelompok, bukan angka. Contoh: metode bayar (tunai atau e-wallet), tipe pelanggan (baru atau lama), kota, jenis produk.

Buat data yang berupa angka kontinu, kamu butuh korelasi, bukan chi-square. Kalau mau kenalan sama eksplorasi data dasar dulu, cek EDA pakai SQL.

Kapan pakai uji chi-square?

Pakai uji chi-square kalau kamu punya dua variabel kategorikal dan pengin tau apakah keduanya berhubungan. Datanya harus berupa hitungan frekuensi, misalnya berapa banyak pelanggan lama yang bayar tunai. Uji ini nggak cocok buat angka kontinu kayak nominal belanja atau umur, kecuali kamu kelompokin dulu jadi kategori.

Beberapa pertanyaan yang cocok dijawab chi-square:

  • Apakah metode pembayaran berhubungan sama tipe pelanggan?
  • Apakah pilihan kategori produk berbeda antar kota?
  • Apakah channel promo ngaruh ke apakah pelanggan jadi beli?

Gimana cara ngitung chi-square?

Rumus intinya membandingkan observed (O) dan expected (E) di tiap sel tabel:

chi-square = Σ (O - E)² / E

Langkahnya empat:

  1. Susun tabel kontingensi berisi jumlah teramati di tiap kombinasi kategori.
  2. Hitung nilai expected tiap sel: (total baris x total kolom) / total keseluruhan.
  3. Masukin ke rumus, jumlahin semua sel.
  4. Bandingin hasilnya sama tabel distribusi chi-square pakai derajat bebas (dof) = (jumlah baris - 1) x (jumlah kolom - 1).

Hasil akhirnya diterjemahin jadi p-value. Kalau p-value di bawah 0,05, hubungannya dianggap nyata secara statistik. Penjelasan lebih dalam soal angka ini ada di glossary p-value.

Uji chi-square pakai Python

Kamu nggak perlu ngitung manual. Library scipy ngerjain semuanya dalam satu fungsi. Pertama, susun tabel kontingensi dari data toko. Di SQL, tabelnya dibikin gini:

SELECT
  tipe_pelanggan,
  COUNT(*) FILTER (WHERE metode = 'tunai') AS tunai,
  COUNT(*) FILTER (WHERE metode = 'ewallet') AS ewallet
FROM transaksi
GROUP BY tipe_pelanggan;

Hasilnya masuk ke Python sebagai tabel angka:

import numpy as np
from scipy.stats import chi2_contingency

# baris: pelanggan lama, pelanggan baru
# kolom: tunai, e-wallet
tabel = np.array([
    [120, 80],
    [60, 140]
])

chi2, p, dof, expected = chi2_contingency(tabel)

print("chi-square:", round(chi2, 2))
print("p-value:", round(p, 5))
print("derajat bebas:", dof)
print("expected:\n", expected.round(1))

Fungsi chi2_contingency balikin empat hal: nilai chi-square, p-value, derajat bebas, dan tabel expected. Detail parameternya ada di dokumentasi scipy chi2_contingency.

Contoh kasus: pembayaran vs tipe pelanggan toko_berkah

Toko_berkah pengin tau apakah pelanggan lama lebih milih tunai. Dari 400 transaksi, ini tabelnya:

Tipe pelangganTunaiE-walletTotal
Pelanggan lama12080200
Pelanggan baru60140200
Total180220400

Hasil uji: chi-square 36,36, p-value 0,00000164. Jauh di bawah 0,05.

Artinya, hubungan antara tipe pelanggan dan metode bayar itu nyata, bukan kebetulan. Pelanggan lama 60 persen bayar tunai, sementara pelanggan baru 70 persen pakai e-wallet.

Buat toko, insight ini kepake. Promo e-wallet buat pelanggan baru masuk akal, karena mereka emang udah condong ke situ. Sementara pelanggan lama butuh dorongan beda kalau mau digeser ke digital.

Ingat batasnya: chi-square bilang ada hubungan, bukan siapa nyebabin siapa. Bisa jadi pelanggan baru lebih muda dan lebih akrab sama e-wallet. Faktor umur nggak keliatan di tabel ini.

Kesalahan umum uji chi-square

1. Pakai buat data kontinu. Chi-square cuma buat kategori. Nominal belanja harus dikelompokin dulu jadi rentang.

2. Sel dengan expected di bawah 5. Kalau ada sel harapan yang kekecilan, hasilnya nggak reliable. Pakai Fisher exact test buat sampel kecil.

3. Nyimpulin sebab-akibat. Ada hubungan bukan berarti satu nyebabin yang lain. Chi-square nggak bisa buktiin itu.

4. Lupa cek ukuran sampel. Sampel kegedean bikin hubungan kecil keliatan nyata secara statistik padahal nggak penting secara praktik.

5. Salah baca arah. Chi-square nggak ngasih tau arah hubungan. Kamu harus lihat tabelnya buat tau kelompok mana yang condong ke mana.

FAQ

Uji chi-square dipakai buat apa?

Uji chi-square dipakai buat ngecek apakah dua variabel kategorikal punya hubungan. Contohnya: apakah metode pembayaran berhubungan sama tipe pelanggan, atau apakah pilihan produk berhubungan sama kota. Datanya harus berupa hitungan atau frekuensi, bukan angka kontinu kayak tinggi atau berat. Kalau kamu mau tes hubungan antara dua angka kontinu, korelasi lebih tepat, bukan chi-square.

Apa arti p-value di uji chi-square?

P-value ngasih tau seberapa besar kemungkinan pola yang kamu lihat muncul cuma karena kebetulan, kalau sebenarnya dua variabel nggak berhubungan. Kalau p-value di bawah 0,05, kamu simpulin hubungannya nyata secara statistik, bukan kebetulan. Kalau di atas 0,05, kamu belum punya bukti cukup buat bilang ada hubungan. Angka 0,05 itu ambang yang umum, bukan hukum wajib.

Bedanya observed sama expected di chi-square apa?

Observed adalah jumlah yang beneran kamu hitung dari data, misalnya 120 pelanggan lama bayar tunai. Expected adalah jumlah yang diharapkan muncul kalau dua variabel nggak berhubungan sama sekali. Uji chi-square membandingkan dua angka ini di tiap sel. Makin jauh observed dari expected, makin besar nilai chi-square, dan makin kuat sinyal kalau ada hubungan.

Berapa ukuran sampel minimal buat uji chi-square?

Aturan praktis yang umum: tiap sel di tabel harapan sebaiknya punya nilai expected minimal 5. Kalau ada sel yang expected-nya di bawah 5, hasil chi-square jadi kurang bisa diandalkan. Buat tabel 2x2 dengan sel kecil, orang biasanya pakai Fisher exact test sebagai gantinya. Jadi pastikan datamu cukup banyak sebelum ngandelin kesimpulannya.

Chi-square bisa bilang variabel mana yang nyebabin yang lain nggak?

Nggak. Chi-square cuma ngasih tau ada hubungan atau nggak, bukan mana yang nyebabin. Sama kayak korelasi, dia nunjukin dua variabel gerak bareng, tapi nggak bilang siapa yang duluan. Bisa jadi ada faktor ketiga yang ngaruhin dua-duanya. Jadi pakai hasilnya buat nemuin pola yang perlu diselidiki, bukan buat langsung nyimpulin sebab-akibat.

Penutup

Uji chi-square jawab satu pertanyaan penting dengan angka: apakah dua kategori beneran berhubungan atau cuma kebetulan. Rumusnya bisa dihitung tangan, tapi scipy bikin kelar dalam satu baris.

Yang harus kamu jaga: datanya kategori, sampelnya cukup, dan jangan buru-buru nyimpulin sebab-akibat.

Coba ambil dua kolom kategori di datamu sendiri, susun tabel kontingensi, dan jalanin uji ini. Lanjut baca AI untuk interpretasi statistik kalau mau bantuan baca hasilnya, atau glossary outlier buat konsep statistik lain.

Coba Langsung

Mau praktek langsung? Mulai latihan SQL gratis

Latihan interaktif, langsung di browser.

Buka NgulikSQL →
Bagikan:
Bima
Ditulis oleh

Bima

Founder & Data Professional

Founder Ngulik Data. Passionate about making data analysis accessible for everyone.

Artikel terkait

Korelasi Spearman: Kapan Dipakai vs Pearson
Tips & Trik
27 Desember 2026•8 menit baca

Korelasi Spearman: Kapan Dipakai vs Pearson

Korelasi Spearman kerja di peringkat, bukan nilai asli. Ini bedanya dengan Pearson, kapan pakai yang mana, dan cara hitungnya di Excel dan Python.

BimaBima
Korelasi Pearson: Cara Menghitung dan Membaca
Tips & Trik
24 Desember 2026•8 menit baca

Korelasi Pearson: Cara Menghitung dan Membaca

Korelasi Pearson ngukur seberapa kuat dua angka bergerak bareng. Ini cara hitung dan baca nilainya dengan contoh dataset toko Indonesia.

BimaBima
Regresi Linear Berganda: Penjelasan dan Contoh
Tips & Trik
21 Desember 2026•9 menit baca

Regresi Linear Berganda: Penjelasan dan Contoh

Regresi linear berganda bikin kamu bisa prediksi satu angka dari banyak faktor sekaligus. Ini penjelasan rumusnya, cara baca hasil, plus contoh Python yang bisa langsung kamu tiru.

BimaBima
Kembali ke Blog
Ngulik Data logoNgulik Data

Platform edukasi data lengkap untuk professionals Indonesia. Belajar SQL, Data Analysis, dan lebih banyak lagi dengan praktek langsung dan feedback real-time.

© 2026 Ngulik Data. Semua hak dilindungi.

TAUTAN
BantuanHargaDatasetBlogAfiliasi
LEGAL
Syarat & KetentuanKebijakan Privasi
Ngulik Data
DatasetLeaderboardBlogStore