TL;DR
Distribusi normal adalah pola sebaran data di mana kebanyakan nilai numpuk di sekitar rata-rata dan makin jarang begitu menjauh, bentuknya simetris kayak lonceng. Pola ini sering muncul karena central limit theorem: kalau sebuah nilai adalah hasil penjumlahan banyak faktor kecil yang acak, hasilnya cenderung normal. Yang penting diinget, banyak data bisnis kayak omzet dan gaji justru gak normal, dan maksa pakai asumsi normal di situ bikin kesimpulanmu meleset.
Distribusi normal adalah pola sebaran data di mana kebanyakan nilai numpuk di sekitar rata-rata, dan makin jarang begitu menjauh dari situ.
Bentuknya simetris, mirip lonceng. Itu sebabnya sering disebut kurva lonceng atau kurva Gauss.
Yang jarang dijelasin di kelas statistik: banyak data yang kamu temuin di kerjaan sehari-hari gak normal. Omzet toko, gaji, durasi kunjungan web. Dan maksa pakai asumsi normal di data kayak gitu bikin kesimpulanmu meleset. Aku bahas dua-duanya.
Distribusi normal adalah sebaran data yang simetris di sekitar rata-rata, di mana nilai yang deket rata-rata paling sering muncul, dan nilai ekstrem makin jarang.
Dua angka yang nentuin bentuknya:
Sekali kamu tau dua angka itu, kamu tau seluruh bentuk kurvanya. Gak butuh info lain.
Ini yang bikin distribusi normal berguna banget di praktik.
Di data yang normal:
Contoh konkretnya. Misal tinggi badan pria dewasa Indonesia punya rata-rata 165 cm dengan simpangan baku 7 cm.
| Rentang | Tinggi | Porsi orang |
|---|---|---|
| ±1 simpangan baku | 158-172 cm | ~68% |
| ±2 simpangan baku | 151-179 cm | ~95% |
| ±3 simpangan baku | 144-186 cm | ~99,7% |
Jadi kalau kamu ketemu orang setinggi 190 cm, dia ada di luar 3 simpangan baku. Itu kejadian yang muncul kurang dari 0,15 persen kasus.
Inilah cara kerja deteksi outlier paling sederhana: apa pun yang di luar 3 simpangan baku layak diperiksa.
Jawabannya ada di central limit theorem.
Teorema ini bilang: kalau sebuah nilai adalah hasil penjumlahan banyak faktor kecil yang acak dan gak saling ketergantungan, sebarannya cenderung mendekati normal.
Tinggi badan itu hasil dari ratusan gen, gizi masa kecil, kesehatan, dan macam-macam faktor lain. Masing-masing nyumbang sedikit. Digabung, hasilnya normal.
Error pengukuran juga sama. Timbangan meleset dikit karena suhu, dikit karena getaran, dikit karena kalibrasi. Semua ditambahin, hasilnya normal.
Versi yang lebih kuat dari teorema ini: rata-rata sampel cenderung normal, apa pun bentuk data aslinya. Kamu bisa ambil data omzet yang miring parah, ambil sampel 50 transaksi berkali-kali, hitung rata-ratanya, dan sebaran rata-rata itu bakal berbentuk lonceng.
Ini yang bikin uji statistik kayak uji hipotesis tetep jalan walaupun data mentahnya gak normal, asal sampelnya cukup gede.
Ini bagian yang paling sering bikin analis kepeleset.
Data yang punya batas bawah tapi gak punya batas atas hampir selalu miring ke kanan.
Bentuknya bukan lonceng, tapi lonceng yang mencong ke kiri dengan ekor panjang ke kanan.
Konsekuensinya besar: di data miring, rata-rata itu angka yang menyesatkan. Satu transaksi borongan bisa narik rata-rata ke atas, dan angka itu gak mewakili siapa-siapa.
Ini dari dataset ngulikdata, 18.400 transaksi toko_berkah sepanjang 2025.
| Statistik | Nilai |
|---|---|
| Rata-rata nilai transaksi | Rp 87.400 |
| Median nilai transaksi | Rp 42.000 |
| Transaksi terbesar | Rp 4.100.000 |
| Transaksi terkecil | Rp 3.500 |
Lihat selisih rata-rata dan median. Rata-ratanya dua kali lipat mediannya.
Di data normal, rata-rata dan median hampir selalu nempel. Kalau jauh, artinya datanya miring.
Yang terjadi di toko_berkah: ada 340 transaksi borongan (warung yang belanja stok) dengan nilai di atas Rp 500 ribu. Cuma 1,8 persen dari total transaksi, tapi cukup buat narik rata-rata naik 108 persen.
Kalau tim marketing bikin promo berdasarkan "rata-rata belanja pelanggan Rp 87 ribu", mereka salah sasaran. Pelanggan tengah cuma belanja Rp 42 ribu.
Selisih ini yang bikin promo "gratis ongkir min. belanja Rp 90 ribu" cuma dipakai 6 persen pelanggan. Ambangnya kelewat tinggi buat mayoritas orang.
Pelajarannya: cek median dulu sebelum ngutip rata-rata. Sepuluh detik ngecek bisa nyelametin promo jutaan rupiah.
Tiga cara, dari yang paling cepat.
Lihat bentuknya. Simetris dan numpuk di tengah? Kemungkinan normal. Miring dengan ekor panjang? Gak normal. Cara ini paling gampang dan paling sering udah cukup.
Kalau selisihnya kecil (di bawah 10 persen), datanya kemungkinan besar simetris. Kalau jauh kayak kasus toko_berkah, datanya miring.
Ada uji statistik resminya. Tapi hati-hati: di sampel besar (di atas 5.000 baris), uji ini hampir selalu bilang "gak normal", walau penyimpangannya kecil banget dan gak ngaruh ke praktik.
Buat kerja sehari-hari, histogram lebih berguna dari uji formal. Detail teknisnya bisa kamu cek di dokumentasi SciPy.
Ada 3 jalan keluar.
Transformasi logaritma. Ganti tiap nilai jadi log-nya. Data omzet dan gaji sering langsung jadi mendekati normal setelah dilog. Habis itu semua uji statistik biasa bisa dipakai.
Pakai uji non-parametrik. Mann-Whitney buat gantiin uji t, Kruskal-Wallis buat gantiin ANOVA. Uji ini gak butuh asumsi normal karena kerjanya lewat peringkat, bukan lewat nilai.
Andelin central limit theorem. Kalau kamu ngebandingin rata-rata dari sampel gede (di atas 30 per grup), sebaran rata-ratanya udah cukup normal buat dipakai. Data mentahnya boleh miring.
Yang jangan dilakuin: pura-pura datanya normal terus jalan terus.
Ngira semua data pasti normal. Namanya "normal", tapi di dunia bisnis dia justru minoritas.
Ngutip rata-rata di data miring. Selalu cek median sebelahnya. Kalau beda jauh, laporin median.
Buang outlier tanpa mikir. Di data omzet, transaksi borongan itu bukan error. Itu segmen pelanggan yang beda. Jangan dibuang, pisahin.
Pakai aturan 3 simpangan baku buat deteksi outlier di data miring. Di data miring, aturan itu bakal nandain terlalu banyak nilai sah sebagai outlier. Pakai metode IQR aja.
Di data yang normal, sekitar 68 persen nilai jatuh dalam jarak satu simpangan baku dari rata-rata, 95 persen dalam dua simpangan baku, dan 99,7 persen dalam tiga. Kalau rata-rata tinggi badan 165 cm dengan simpangan baku 7 cm, berarti sekitar 95 persen orang tingginya antara 151 dan 179 cm. Aturan ini cuma berlaku kalau datanya memang normal.
Cara paling cepat: bikin histogram dan lihat bentuknya. Kalau simetris dan menumpuk di tengah, kemungkinan besar normal. Cara kedua: bandingkan rata-rata dan median. Kalau selisihnya jauh, datanya miring dan gak normal. Uji formal kayak Shapiro-Wilk juga ada, tapi di sampel besar dia hampir selalu bilang gak normal, jadi grafik lebih berguna.
Karena omzet punya batas bawah nol tapi gak punya batas atas. Gak ada transaksi minus, tapi bisa ada satu pembelian borongan yang nilainya seratus kali rata-rata. Akibatnya kurva jadi miring ke kanan dengan ekor panjang. Data kayak gini biasanya lebih cocok dibaca pakai median daripada rata-rata.
Central limit theorem bilang kalau kamu ambil sampel berkali-kali dari populasi apa pun, lalu hitung rata-ratanya, sebaran rata-rata itu bakal mendekati normal. Bentuk data aslinya gak penting. Ini alasan kenapa uji statistik bisa jalan walaupun data mentahnya miring, asal ukuran sampelnya cukup besar, biasanya di atas 30.
Ada tiga pilihan. Pertama, transformasi data pakai logaritma, ini sering bikin data omzet jadi mendekati normal. Kedua, pakai uji non-parametrik kayak Mann-Whitney yang gak butuh asumsi normal. Ketiga, andalkan central limit theorem kalau sampelmu besar. Yang jangan dilakuin: pura-pura datanya normal terus jalan terus.
Distribusi normal itu simetris dan ditentukan cuma sama dua angka: rata-rata dan simpangan baku. Aturan 68-95-99,7 langsung ngasih kamu gambaran sebarannya.
Data bisnis kayak omzet dan gaji sering gak normal. Cek median sebelum ngutip rata-rata. Kalau selisihnya jauh, itu sinyal datanya miring, dan analisismu perlu disesuaikan.
Coba sendiri: ambil data transaksi kamu, hitung rata-rata dan median, terus bandingin. Kalau bedanya lebih dari 20 persen, kamu baru nemu data yang miring. Query-nya bisa mulai dari AVG dan median.
Lanjut baca: P-value, konsep yang berdiri di atas kurva lonceng ini dan sering disalahartikan.
Mau praktek langsung? Mulai latihan SQL gratis
Latihan interaktif, langsung di browser.
Cara pakai pandas rolling buat hitung moving average dan haluskan data time series yang naik-turun. Lengkap dengan contoh penjualan harian UMKM.
Data transaksi harian sering terlalu ramai buat dilihat. Pandas resample ngeringkasnya jadi total per minggu atau per bulan cuma dengan satu baris, asal indeksnya tanggal.
Kolom tanggal yang kebaca sebagai teks bikin sortir dan hitung selisih hari jadi kacau. Ini cara pd.to_datetime ubah teks jadi tanggal asli, plus tangani format berantakan.