Uji T Test: Satu Sampel, Dua Sampel, dan Berpasangan dengan Contoh Angka
TL;DR
Uji t test adalah uji statistik buat ngecek apakah selisih rata-rata itu nyata atau cuma kebetulan dari sampel. Ada tiga jenis: satu sampel (bandingin rata-rata sampel sama nilai patokan), dua sampel bebas (bandingin dua kelompok berbeda), dan berpasangan (bandingin kondisi sebelum dan sesudah pada subjek yang sama). Ketiganya menghasilkan nilai t yang kamu bandingin sama t tabel atau kamu baca lewat p-value, dengan ambang umum 0,05.
Uji t test adalah uji statistik buat ngecek apakah selisih rata-rata itu nyata, atau cuma kebetulan dari sampel yang kebetulan bagus.
Ada tiga jenis, dan yang bikin orang bingung biasanya bukan rumusnya. Tapi milih yang mana.
Di bawah ini ketiganya aku hitung manual sampai angka terakhir pakai data toko, lengkap sama cara ngejalaninnya di Excel, SPSS, dan Python.
Apa itu uji t test?
Uji t test adalah prosedur statistik yang membandingkan rata-rata dengan memperhitungkan sebaran data dan ukuran sampel. Hasilnya berupa nilai t, yaitu selisih rata-rata dibagi kesalahan baku. Makin besar nilai t, makin kecil kemungkinan selisih itu muncul gara-gara kebetulan.
Intinya satu pertanyaan: selisih yang kamu lihat itu lebih besar dari naik turun normal datamu, atau masih di dalamnya?
Konsep hipotesis nol dan alternatifnya udah aku bahas terpisah di panduan uji hipotesis. Halaman ini fokus ke hitungannya.
Ada berapa jenis uji t?
Tiga, dan pilihannya ditentukan sama bentuk datamu.
| Jenis | Dipakai kalau | Contoh pertanyaan | df |
|---|---|---|---|
| Satu sampel | Bandingin satu kelompok sama nilai patokan | Rata-rata belanja pelanggan udah nyampe target Rp 85.000? | n - 1 |
| Dua sampel bebas | Dua kelompok yang orangnya beda | Belanja di cabang Bekasi beda sama Depok? | n1 + n2 - 2 |
| Berpasangan | Kelompok yang sama, diukur dua kali | Omzet toko naik setelah promo dijalanin? | n pasangan - 1 |
Salah milih di sini bikin kesimpulanmu meleset walaupun hitungannya bener. Data sebelum dan sesudah yang diperlakukan sebagai dua kelompok bebas hampir selalu ngasih nilai t yang lebih kecil dari seharusnya.
Apa syarat sebelum pakai uji t?
Ada empat syarat, dan nggak semuanya sekaku yang diajarin di kelas.
- Data berskala interval atau rasio. Nominal rupiah, umur, dan skor boleh. Kategori seperti kota atau warna nggak bisa.
- Sebaran mendekati normal. Cek pakai Shapiro-Wilk buat sampel kecil. Di sampel besar, penyimpangan ringan masih aman.
- Ragam kedua kelompok mirip (khusus dua sampel bebas). Cek pakai Levene test. Kalau gagal, pakai versi Welch.
- Pengamatan saling bebas. Satu pelanggan nggak boleh masuk dua kali di kelompok yang sama.
Syarat nomor 4 yang paling sering bocor diam-diam. Data transaksi sering punya pelanggan yang belanja berkali-kali, dan itu bikin sampelmu kelihatan lebih besar dari informasi yang sebenernya kamu punya.
Gimana cara hitung uji t satu sampel?
Rumusnya membandingkan rata-rata sampel sama nilai patokan, lalu dibagi kesalahan baku. Kesalahan baku itu simpangan baku dibagi akar jumlah sampel. Hasilnya dibandingin sama t tabel pada df = n - 1.
t = (rata-rata sampel - nilai patokan) / (simpangan baku / akar n)
Contoh. Toko_berkah nargetin rata-rata nilai transaksi Rp 85.000. Kamu ambil 25 transaksi acak bulan ini.
n = 25
rata-rata = Rp 91.200
simpangan baku = Rp 18.500
patokan = Rp 85.000
kesalahan baku = 18.500 / akar(25) = 18.500 / 5 = 3.700
t = (91.200 - 85.000) / 3.700 = 6.200 / 3.700 = 1,676
df = 25 - 1 = 24
t tabel dua sisi 5% pada df 24 adalah 2,064. Nilai hitungmu 1,676, jadi lebih kecil.
Kesimpulannya: hipotesis nol nggak ditolak. p-value-nya sekitar 0,107. Rata-rata Rp 91.200 kelihatan di atas target, tapi dengan sebaran segede itu dan cuma 25 data, selisihnya masih masuk akal sebagai kebetulan.
Daftar nilai t tabel buat df lain ada di halaman tabel uji statistik.
Gimana cara hitung uji t dua sampel bebas?
Uji t dua sampel bebas membandingkan rata-rata dua kelompok yang anggotanya beda. Simpangan baku kedua kelompok digabung dulu jadi satu angka, namanya pooled standard deviation. Nilai t-nya selisih rata-rata dibagi kesalahan baku gabungan, dengan df = n1 + n2 - 2.
sp^2 = ((n1-1) x s1^2 + (n2-1) x s2^2) / (n1 + n2 - 2)
SE = sp x akar(1/n1 + 1/n2)
t = (rata1 - rata2) / SE
Contoh. Nilai transaksi di dua cabang toko_berkah, masing-masing 30 transaksi.
| Cabang | n | Rata-rata | Simpangan baku |
|---|---|---|---|
| Bekasi Timur | 30 | Rp 92.400 | Rp 21.000 |
| Depok | 30 | Rp 81.600 | Rp 19.400 |
sp^2 = (29 x 21.000^2 + 29 x 19.400^2) / 58
= (441.000.000 + 376.360.000) / 2
= 408.680.000
sp = 20.216
SE = 20.216 x akar(1/30 + 1/30) = 20.216 x 0,2582 = 5.220
t = (92.400 - 81.600) / 5.220 = 10.800 / 5.220 = 2,069
df = 58
t tabel dua sisi 5% pada df 58 kira-kira 2,002. Nilai hitung 2,069 lebih besar, jadi hipotesis nol ditolak. p-value-nya sekitar 0,043.
Sekarang bagian yang sering dilewatin. Signifikan bukan berarti besar.
Cohen's d = selisih rata-rata / sp
= 10.800 / 20.216
= 0,53
Nilai 0,53 masuk kategori efek sedang. Artinya selisih Rp 10.800 itu nyata secara statistik, tapi sebaran belanja pelanggan di dua cabang masih tumpang tindih banyak. Kamu belum bisa nebak cabang seseorang cuma dari nilai belanjanya.
Gimana cara hitung uji t berpasangan?
Uji t berpasangan ngitung selisih tiap pasangan dulu, baru diuji. Jadi datanya berubah dari dua kolom jadi satu kolom selisih. Rumusnya sama persis kayak uji satu sampel dengan patokan nol, dan df-nya jumlah pasangan dikurangi satu.
t = rata-rata selisih / (simpangan baku selisih / akar n)
Contoh. Omzet harian toko_berkah cabang Tambun, 10 hari sebelum dan 10 hari sesudah promo bundling. Angka dalam ribuan rupiah.
| Hari | Sebelum | Sesudah | Selisih |
|---|---|---|---|
| 1 | 2.480 | 2.800 | +320 |
| 2 | 2.150 | 2.330 | +180 |
| 3 | 2.640 | 2.550 | -90 |
| 4 | 2.090 | 2.500 | +410 |
| 5 | 2.310 | 2.560 | +250 |
| 6 | 2.720 | 2.870 | +150 |
| 7 | 2.180 | 2.560 | +380 |
| 8 | 2.900 | 2.860 | -40 |
| 9 | 2.400 | 2.620 | +220 |
| 10 | 2.260 | 2.560 | +300 |
rata-rata selisih = 2.080 / 10 = 208
simpangan baku selisih = 165,9
kesalahan baku = 165,9 / akar(10) = 52,5
t = 208 / 52,5 = 3,96
df = 9
t tabel dua sisi 5% pada df 9 adalah 2,262. Nilai hitung 3,96 jauh lebih besar, p-value sekitar 0,003.
Promonya ngefek. Rata-rata omzet harian naik Rp 208.000, sekitar 8,7 persen dari rata-rata harian sebelum promo yang Rp 2.393.000.
Perhatiin dua hari yang selisihnya negatif. Uji berpasangan tetap nangkep kenaikan yang nyata walaupun ada hari yang turun, soalnya dia ngukur pola, bukan tiap hari satu-satu.
Gimana jalanin uji t di Excel, SPSS, dan Python?
Excel
Fungsi T.TEST balikin p-value langsung. Argumen ketiga jumlah sisi, argumen keempat tipe uji.
Berpasangan : =T.TEST(A2:A11, B2:B11, 2, 1)
Dua sampel, ragam sama : =T.TEST(A2:A31, B2:B31, 2, 2)
Dua sampel, ragam beda : =T.TEST(A2:A31, B2:B31, 2, 3)
Excel nggak punya fungsi khusus buat uji satu sampel. Hitung manual pakai AVERAGE, STDEV.S, dan COUNT, lalu ambil p-value pakai =T.DIST.2T(ABS(t), df).
SPSS
- Satu sampel: Analyze > Compare Means > One-Sample T Test. Isi Test Value dengan nilai patokan.
- Dua sampel bebas: Analyze > Compare Means > Independent-Samples T Test. Butuh satu kolom nilai dan satu kolom penanda kelompok.
- Berpasangan: Analyze > Compare Means > Paired-Samples T Test. Butuh dua kolom sejajar.
Di output uji dua sampel, baca dulu kolom Levene's Test. Kalau nilai signifikansinya di bawah 0,05, pindah baca ke baris kedua yang judulnya Equal variances not assumed.
Python
from scipy import stats
# satu sampel
stats.ttest_1samp(data, popmean=85000)
# dua sampel bebas, ragam sama
stats.ttest_ind(bekasi, depok)
# dua sampel bebas, ragam beda (Welch)
stats.ttest_ind(bekasi, depok, equal_var=False)
# berpasangan
stats.ttest_rel(sebelum, sesudah)
Detail tiap parameternya ada di dokumentasi resmi SciPy ttest_ind.
Kesalahan umum waktu pakai uji t
1. Pakai uji t buat tiga kelompok atau lebih. Tiga uji t terpisah bikin peluang salah tolak naik dari 5 persen ke sekitar 14 persen. Buat tiga kelompok, pakai ANOVA.
2. Data berpasangan diperlakukan sebagai bebas. Di contoh promo tadi, kalau 10 hari sebelum dan sesudah dianggap dua kelompok bebas, nilai t-nya turun drastis dan kesimpulanmu bisa berubah jadi nggak signifikan.
3. Ngabaikan hasil Levene test. Kalau ragam kedua kelompok beda jauh dan kamu tetap baca baris pertama di SPSS, p-value-nya kekecilan. Baris kedua yang bener.
4. Berhenti di p-value. Selisih Rp 10.800 dengan Cohen's d 0,53 punya arti bisnis yang beda jauh dibanding selisih Rp 200 yang juga signifikan di sampel raksasa. Selalu laporin ukuran efek.
5. Nggak ngecek outlier. Satu transaksi grosir Rp 4 juta di tengah data eceran bisa ngangkat rata-rata dan ngembungin simpangan baku sekaligus. Cek dulu sebarannya, konsepnya ada di glosarium outlier.
6. Milih satu sisi setelah lihat hasil. Uji satu sisi memang bikin ambangnya lebih longgar. Tapi arah hipotesis harus ditulis sebelum data dilihat, bukan sesudah.
FAQ
Kapan aku harus pakai uji t dan kapan pakai ANOVA?
Pakai uji t kalau kamu bandingin maksimal dua kelompok. Begitu kelompoknya tiga atau lebih, pindah ke ANOVA. Alasannya bukan soal ribet, tapi soal risiko salah. Kalau kamu bandingin tiga kelompok pakai tiga uji t terpisah, peluang dapet hasil signifikan palsu naik dari 5 persen jadi sekitar 14 persen. ANOVA nguji semuanya sekaligus tanpa nambah risiko itu.
Datanya nggak normal, uji t masih boleh dipakai?
Tergantung ukuran sampel. Di sampel besar, uji t cukup tahan terhadap penyimpangan normalitas ringan. Di sampel kecil di bawah 30 dan sebarannya miring jauh, hasilnya jadi rawan. Pilihanmu ada dua: transformasi data, atau ganti ke uji non parametrik seperti Mann-Whitney untuk dua kelompok bebas dan Wilcoxon untuk data berpasangan.
Apa bedanya uji t dua sampel bebas dan berpasangan?
Bedanya di sumber datanya. Dua sampel bebas dipakai kalau dua kelompoknya orang atau objek yang berbeda, misalnya cabang Bekasi dan cabang Depok. Berpasangan dipakai kalau subjeknya sama tapi diukur dua kali, misalnya toko yang sama sebelum dan sesudah promo. Salah pilih bikin nilai t-mu meleset, biasanya jadi terlalu kecil kalau data berpasangan kamu perlakukan sebagai bebas.
Nilai t negatif itu artinya apa?
Cuma soal arah, bukan soal salah. Tanda negatif berarti rata-rata kelompok pertama lebih kecil dari kelompok kedua, atau lebih kecil dari nilai patokan. Buat ngambil kesimpulan pada uji dua sisi, yang kamu bandingin sama t tabel adalah nilai mutlaknya. Kalau kamu tukar urutan kelompok di software, tandanya balik tapi p-value-nya tetap sama persis.
Berapa sampel minimal buat uji t?
Nggak ada angka wajib, tapi banyak yang pakai 30 per kelompok sebagai patokan nyaman. Yang lebih penting bukan angka bulatnya, melainkan seberapa kecil selisih yang mau kamu deteksi. Selisih kecil butuh sampel besar. Hitung dulu kebutuhan sampelmu sebelum ngumpulin data, bukan sesudah hasilnya keluar dan ternyata nggak signifikan.
Penutup
Yang layak kamu bawa dari halaman ini:
- Pilih jenis uji t dari bentuk datamu, bukan dari mana yang hasilnya lebih enak.
- Data sebelum dan sesudah pada subjek yang sama selalu pakai versi berpasangan.
- Laporin ukuran efek di samping p-value. Cohen's d 0,53 bilang jauh lebih banyak daripada bintang dua di tabel.
Coba ambil data penjualan dua bulan terakhir punyamu, hitung rata-rata dan simpangan bakunya pakai fungsi AVG, lalu jalanin uji t berpasangan. Sepuluh menit, dan kamu bakal tau kenaikan bulan ini nyata atau cuma naik turun biasa.
Kalau kamu lagi nyiapin eksperimen dan belum yakin butuh berapa data, mampir ke glosarium A/B testing dulu sebelum mulai ngumpulin.
Mau praktek langsung? Mulai latihan SQL gratis
Latihan interaktif, langsung di browser.
Artikel terkait
Pandas to_excel: Ekspor DataFrame ke Excel (2026)
to_excel nyimpen DataFrame pandas jadi file Excel .xlsx. Ini cara pakainya, dari satu sheet sampai banyak sheet, plus setelan yang bikin hasilnya rapi.
Pandas read_excel: Baca File Excel di Python
pandas read_excel baca file Excel jadi DataFrame, bisa pilih sheet tertentu dan lompatin baris judul yang berantakan. Ini cara pakai plus parameter penting dengan contoh data toko.
Pandas read_csv: Baca File CSV di Python untuk Analis
pandas read_csv baca file CSV jadi DataFrame siap olah cuma satu baris kode. Ini cara pakai plus parameter penting kayak sep, encoding, dan usecols dengan contoh data toko.