Uji Normalitas SPSS: Kolmogorov-Smirnov dan Shapiro-Wilk Step by Step
TL;DR
Uji normalitas SPSS dijalankan lewat Analyze, Descriptive Statistics, Explore, lalu centang Normality plots with tests untuk memunculkan tabel Tests of Normality. Hipotesis nolnya menyatakan data berdistribusi normal, jadi kalau nilai Sig di atas 0,05 datamu dianggap normal. Shapiro-Wilk lebih diandalkan untuk sampel di bawah 50, sedangkan Kolmogorov-Smirnov versi SPSS memakai koreksi Lilliefors dan lebih cocok untuk sampel besar.
Uji normalitas ngecek apakah sebaran datamu cukup dekat dengan distribusi normal, dan di SPSS uji ini dijalankan lewat menu Analyze, Descriptive Statistics, Explore.
Yang bikin banyak orang salah bukan langkah kliknya. Yang bikin salah itu arah kesimpulannya, soalnya di uji normalitas kamu justru berharap nilai Sig-nya besar.
Di bawah ini langkah kliknya, cara baca tabel Tests of Normality, beda Kolmogorov-Smirnov dan Shapiro-Wilk, plus apa yang kamu lakukan kalau hasilnya nggak normal.
Apa itu uji normalitas dan kenapa perlu dijalankan?
Uji normalitas adalah pengecekan apakah data yang kamu punya menyebar mengikuti kurva normal. Uji ini dipakai sebagai syarat untuk analisis parametrik kayak uji t, ANOVA, dan regresi linear. Kalau syaratnya nggak kepenuhan, nilai p dan selang kepercayaan yang keluar bisa meleset dari yang seharusnya.
Hipotesisnya begini:
- H0: data berdistribusi normal
- H1: data nggak berdistribusi normal
Karena H0-nya menyatakan normal, kamu justru pengin gagal menolak H0. Jadi Sig di atas 0,05 adalah hasil yang kamu harapkan. Ini kebalikan dari kebiasaan di uji hipotesis lain, dan di sinilah kesalahan tafsir paling sering muncul. Konsep angka Sig-nya dibahas terpisah di glossary p-value.
Yang diuji itu variabelnya atau residualnya?
Untuk regresi, yang harus berdistribusi normal adalah residual, yaitu selisih antara nilai asli dan nilai prediksi model. Variabel bebas dan variabel terikat sendiri nggak wajib normal. Untuk uji beda kayak uji t dan ANOVA, yang diuji adalah data tiap kelompok.
Banyak skripsi menguji variabel mentahnya, dapat hasil nggak normal, lalu panik padahal yang diperiksa emang bukan itu.
Cara mengambil residual di SPSS:
- Analyze, Regression, Linear.
- Masukkan variabel terikat dan variabel bebas seperti biasa.
- Klik tombol Save, centang Unstandardized di kotak Residuals, lalu OK.
- SPSS bikin kolom baru bernama RES_1 di Data View.
- Uji kolom RES_1 itu yang normalitasnya.
Gimana langkah uji normalitas di SPSS?
Jalur paling umum lewat menu Explore, karena satu jalur itu langsung ngasih Kolmogorov-Smirnov, Shapiro-Wilk, histogram, dan Q-Q plot sekaligus. Prosesnya lima klik dan hasilnya keluar di jendela Output.
- Buka data di SPSS, pastikan variabel yang mau diuji bertipe Scale di Variable View.
- Klik Analyze, lalu Descriptive Statistics, lalu Explore.
- Pindahkan variabel yang mau diuji ke kotak Dependent List. Kalau mau uji per kelompok, masukkan variabel kelompoknya ke Factor List.
- Klik tombol Plots, centang Normality plots with tests. Kalau mau, centang juga Histogram.
- Klik Continue, lalu OK.
Ada jalur kedua lewat Analyze, Nonparametric Tests, Legacy Dialogs, 1-Sample K-S. Jalur ini cuma ngasih Kolmogorov-Smirnov tanpa koreksi Lilliefors, dan hasilnya cenderung lebih longgar. Kalau pembimbingmu minta angka K-S yang standar, pakai jalur Explore.
Gimana cara baca output Tests of Normality?
Cari tabel bernama Tests of Normality. Isinya dua blok kolom: Kolmogorov-Smirnov dan Shapiro-Wilk, masing-masing dengan Statistic, df, dan Sig. Yang kamu baca cuma kolom Sig. Kalau angkanya di atas 0,05, datamu dianggap berdistribusi normal.
Contoh output dari dataset contoh ngulikdata survei_berkah_60 berisi 60 responden:
| Variabel | K-S Statistic | df | Sig. (K-S) | S-W Statistic | Sig. (S-W) | Kesimpulan |
|---|---|---|---|---|---|---|
| Residual model kepuasan | 0,092 | 60 | 0,200 | 0,978 | 0,342 | Normal |
| Omzet harian (rupiah) | 0,168 | 60 | 0,000 | 0,891 | 0,000 | Nggak normal |
| Log omzet harian | 0,071 | 60 | 0,200 | 0,981 | 0,472 | Normal |
Baris pertama lolos: Sig 0,342 jauh di atas 0,05, jadi residual modelnya normal dan regresi bisa lanjut.
Baris kedua gugur. Ini pola khas data uang, yang biasanya miring ke kanan gara-gara beberapa hari omzetnya jauh lebih tinggi dari biasanya.
Baris ketiga adalah kolom yang sama setelah diubah jadi logaritma natural. Sig-nya melompat dari 0,000 ke 0,472 cuma karena satu transformasi. Ini angka dari dataset contoh ngulikdata, dan polanya sering banget kejadian di data penjualan.
Kalau di kolom Sig Kolmogorov-Smirnov muncul angka 0,200 dengan tanda bintang, artinya nilai sebenarnya lebih besar atau sama dengan 0,200. SPSS nggak menghitung angka persisnya di atas batas itu.
Kapan pakai Kolmogorov-Smirnov, kapan Shapiro-Wilk?
Pakai Shapiro-Wilk kalau sampelmu di bawah 50, karena uji ini lebih peka mendeteksi penyimpangan pada data sedikit. Untuk sampel besar, Kolmogorov-Smirnov versi SPSS dengan koreksi Lilliefors lebih umum dilaporkan. Dua-duanya muncul bareng di satu tabel, jadi kamu tinggal pilih mana yang dilaporkan.
| Aspek | Kolmogorov-Smirnov (Lilliefors) | Shapiro-Wilk |
|---|---|---|
| Cocok untuk | Sampel besar, di atas 50 | Sampel kecil sampai sedang |
| Dasar perhitungan | Selisih terbesar antara sebaran data dan sebaran normal | Kesesuaian urutan data dengan nilai harapan normal |
| Kepekaan | Lebih longgar | Lebih ketat |
| Batas sampel di SPSS | Nggak dibatasi | 3 sampai 5.000 data |
Satu catatan yang penting buat sampel besar: begitu datamu ratusan atau ribuan baris, penyimpangan sekecil apa pun bakal terdeteksi dan Sig-nya jadi 0,000. Di titik itu, lihat juga histogram dan Q-Q plot, jangan cuma angka Sig.
Di Q-Q plot, datamu dianggap dekat normal kalau titik-titiknya nempel di sekitar garis diagonal. Titik yang melengkung di ujung atas atau bawah nunjukin ekor sebaran yang kepanjangan.
Contoh kasus: uji normalitas skor kepuasan pelanggan toko_berkah
Kasusnya begini. Peneliti mau menguji pengaruh keramahan kasir dan kecepatan antrean terhadap kepuasan pelanggan di toko_berkah, dengan 60 responden dan skor gabungan skala Likert.
Urutan kerjanya:
- Jalankan Analyze, Regression, Linear dengan kepuasan sebagai variabel terikat.
- Klik Save, centang Unstandardized di kotak Residuals, lalu OK. Muncul kolom RES_1.
- Analyze, Descriptive Statistics, Explore. Masukkan RES_1 ke Dependent List.
- Plots, centang Normality plots with tests, Continue, OK.
Hasilnya: Shapiro-Wilk 0,978 dengan Sig 0,342. Residual normal, asumsi terpenuhi, regresi bisa dilanjut.
Cara menuliskannya di Bab 4 kira-kira begini. "Hasil uji Shapiro-Wilk terhadap nilai residual menghasilkan statistik 0,978 dengan signifikansi 0,342. Karena nilai signifikansi lebih besar dari 0,05, residual model dinyatakan berdistribusi normal sehingga asumsi normalitas terpenuhi."
Kalimat kayak gitu yang dicari penguji: angka, ambang, dan kesimpulan dalam satu paragraf.
Kalau data nggak normal, harus gimana?
Ada empat langkah yang umum dipakai, urutkan dari yang paling ringan. Cek outlier dulu, baru transformasi, baru pertimbangkan ukuran sampel, dan paling akhir ganti ke uji non-parametrik.
- Cek outlier. Sering satu atau dua nilai ekstrem yang bikin sebaran melenceng. Lihat boxplot dari menu Explore yang sama. Jangan buang data cuma karena mengganggu, tapi periksa apakah itu salah input. Definisinya ada di glossary outlier.
- Transformasi data. Buat data yang miring ke kanan kayak omzet atau pendapatan, logaritma natural biasanya paling ampuh. Di SPSS: Transform, Compute Variable, isi rumus
LN(omzet). Buat kemiringan yang lebih ringan, akar kuadrat sering cukup. - Pertimbangkan ukuran sampel. Kalau sampelmu di atas 100 dan penyimpangannya kecil, banyak uji parametrik tetap cukup tahan. Sebutkan ini di bagian metode berikut bukti histogram dan Q-Q plot.
- Ganti ke uji non-parametrik. Uji t independen diganti Mann-Whitney, uji t berpasangan diganti Wilcoxon, ANOVA satu arah diganti Kruskal-Wallis, dan korelasi Pearson diganti Spearman.
Peta lengkap pemilihan uji beserta syaratnya ada di peta uji statistik. Buat pengganti korelasi, bahasannya ada di korelasi Spearman.
Kalau kamu kerja di Python, uji yang sama tersedia lewat scipy.stats.shapiro dan hasilnya identik dengan SPSS sampai tiga angka di belakang koma.
Kesalahan umum saat uji normalitas SPSS
1. Menyimpulkan terbalik. Sig 0,000 bukan berarti bagus. Di uji normalitas, Sig kecil berarti datamu nggak normal.
2. Menguji variabel padahal yang dibutuhkan residual. Ini kesalahan paling sering di skripsi regresi. Uji RES_1, bukan X atau Y.
3. Menguji data gabungan padahal kelompoknya beda. Buat uji beda dua kelompok, normalitas dicek per kelompok lewat Factor List, bukan sekaligus.
4. Melaporkan Shapiro-Wilk untuk 800 responden. Nggak salah secara teknis, tapi di sampel sebesar itu uji apa pun bakal menolak normalitas. Sertakan histogram dan Q-Q plot sebagai pertimbangan.
5. Variabel diset Nominal di Variable View. Kalau tipe datanya salah, menu Explore nggak mau nerima variabelnya. Ubah dulu ke Scale.
6. Transformasi tapi lupa menyesuaikan tafsirannya. Kalau kamu regresi pakai LN omzet, koefisien yang keluar dibaca sebagai perubahan persen, bukan rupiah.
FAQ
Nilai Sig berapa yang menandakan data normal?
Nilai Sig di atas 0,05 berarti datamu dianggap berdistribusi normal. Logikanya kebalik dari uji yang biasa kamu pakai, soalnya hipotesis nol di uji normalitas justru menyatakan data mengikuti sebaran normal. Jadi hasil yang kamu harapkan adalah Sig yang besar. Kalau Sig di bawah 0,05, sebaran datamu berbeda nyata dari kurva normal dan kamu perlu ambil langkah lanjutan.
Pilih Kolmogorov-Smirnov atau Shapiro-Wilk?
Pakai Shapiro-Wilk kalau jumlah sampelmu di bawah 50, karena uji ini lebih peka mendeteksi penyimpangan pada data sedikit. Untuk sampel besar, Kolmogorov-Smirnov versi SPSS dengan koreksi Lilliefors lebih umum dilaporkan. SPSS menampilkan keduanya sekaligus di tabel Tests of Normality, jadi kamu tinggal memilih mana yang dilaporkan dan menyebut alasannya di bagian metode.
Yang diuji normalitas itu variabelnya atau residualnya?
Untuk analisis regresi, yang harus normal adalah residual, bukan variabel bebas maupun variabel terikatnya. Banyak skripsi menguji variabel mentah dan menyimpulkan asumsi terpenuhi padahal yang diperiksa keliru. Caranya, jalankan regresi dulu, simpan unstandardized residual lewat tombol Save, baru uji kolom residual itu di menu Explore.
Kalau data nggak normal, apakah penelitiannya gagal?
Nggak. Kamu punya beberapa jalan keluar: cek dan tangani outlier, transformasi data pakai logaritma atau akar, atau ganti ke uji non-parametrik yang nggak menuntut sebaran normal. Untuk sampel besar, banyak uji juga cukup tahan terhadap penyimpangan normalitas. Yang penting kamu jelaskan pilihanmu di bagian metode berikut alasannya.
Kenapa Sig Kolmogorov-Smirnov muncul angka 0,200 dengan tanda bintang?
Tanda bintang di SPSS berarti angka itu adalah batas bawah dari signifikansi sebenarnya, jadi nilainya lebih besar atau sama dengan 0,200. SPSS nggak menghitung nilai persis di atas ambang itu untuk versi Lilliefors. Buat kesimpulanmu, artinya tetap sama: Sig jauh di atas 0,05, jadi sebaran datamu nggak berbeda nyata dari distribusi normal.
Penutup
Tiga hal yang perlu kamu ingat. Jalurnya Analyze, Descriptive Statistics, Explore, lalu centang Normality plots with tests. Sig di atas 0,05 berarti normal, jadi arah kesimpulannya kebalik dari uji lain. Dan untuk regresi, yang diuji adalah residual, bukan variabel mentahnya.
Kalau hasilnya nggak normal, coba logaritma dulu sebelum pindah ke uji non-parametrik. Di dataset contoh tadi, satu transformasi nurunin masalahnya dari Sig 0,000 ke 0,472.
Buka datamu sekarang, jalankan Explore, dan catat angka Statistic beserta Sig-nya buat ditulis di Bab 4. Lanjut baca uji validitas dan reliabilitas SPSS kalau instrumenmu belum diuji, atau regresi linear berganda buat langkah setelah asumsimu terpenuhi.
Mau praktek langsung? Mulai latihan SQL gratis
Latihan interaktif, langsung di browser.
Artikel terkait
Pandas groupby: Agregasi Data ala Pivot di Python (2026)
groupby ngelompokin baris berdasarkan kolom, lalu ngitung ringkasan per grup kayak total atau rata-rata. Ini pivot-nya pandas.
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.