TL;DR
Jenis-jenis data dibagi jadi empat: nominal (label tanpa urutan, kayak kota), ordinal (punya urutan tapi jaraknya nggak sama, kayak rating puas-netral-kecewa), interval (jaraknya sama tapi nolnya bukan kosong, kayak suhu Celsius), dan rasio (jarak sama dan nol berarti nggak ada, kayak omzet). Tipe data nentuin statistik apa yang valid: rata-rata cuma masuk akal buat interval dan rasio.
Jenis-jenis data ada empat: nominal, ordinal, interval, dan rasio. Bedanya di seberapa banyak informasi yang dibawa angkanya. Itu yang nentuin rumus mana yang boleh kamu pakai.
Kedengeran kayak materi kuliah statistik yang nggak kepake. Sampai kamu ketemu laporan yang nulis "rata-rata kode pos pelanggan: 42.117".
Itu kejadian beneran, dan itu murni gara-gara orangnya nggak sadar kode pos itu data nominal.
Jenis data adalah klasifikasi yang nunjukin operasi matematika apa yang masuk akal buat suatu data. Data nominal cuma bisa dihitung frekuensinya. Data ordinal bisa diurutin. Data interval bisa dikurangin. Data rasio bisa dibagi.
Tiap naik satu level, kamu dapat kemampuan baru. Level yang lebih tinggi bisa pakai semua operasi level di bawahnya.
| Jenis | Punya urutan? | Jarak sama? | Nol = nggak ada? | Contoh |
|---|---|---|---|---|
| Nominal | Nggak | Nggak | Nggak relevan | Kota, metode bayar |
| Ordinal | Ya | Nggak | Nggak relevan | Rating puas/netral/kecewa |
| Interval | Ya | Ya | Nggak | Suhu Celsius, tahun |
| Rasio | Ya | Ya | Ya | Omzet, umur, jumlah item |
Data nominal adalah label. Isinya kategori yang nggak punya urutan, dan angkanya (kalau ada) cuma penanda, bukan besaran.
Contoh dari toko_berkah: metode_bayar berisi tunai, QRIS, transfer, kartu debit. Nggak ada yang "lebih tinggi" dari yang lain.
Yang boleh kamu hitung: frekuensi, modus, persentase. Yang nggak boleh: rata-rata, median.
Jebakan paling umum: kode pos, nomor HP, ID pelanggan, NIK. Semuanya angka, semuanya nominal. Simpan sebagai teks di database biar nol di depan nggak ilang dan biar nggak ada yang iseng nge-SUM.
Data ordinal punya urutan, tapi jarak antar levelnya nggak dijamin sama.
Rating kepuasan: kecewa → netral → puas. Jelas ada urutan. Tapi "jarak" dari kecewa ke netral belum tentu sama dengan netral ke puas.
Contoh lain: tingkat pendidikan (SD, SMP, SMA, S1), rentang penghasilan, ukuran baju S/M/L.
Yang boleh: modus, median, persentil, urutan. Yang bermasalah: rata-rata.
Ini pelanggaran paling sering di dunia kerja. Rating 1-5 dirata-rata jadi 3,7. Angka itu diam-diam berasumsi jarak 1→2 sama persis dengan 4→5. Padahal orang yang kasih 1 bintang biasanya lagi marah banget, sementara beda 4 dan 5 cuma soal mood.
Yang lebih jujur: tampilin sebarannya. "62% kasih 5 bintang, 8% kasih 1 bintang" jauh lebih berguna dari "rata-rata 4,2".
Data interval punya jarak yang sama antar nilai, tapi angka nolnya cuma kesepakatan, bukan tanda "nggak ada".
Suhu Celsius: 0 derajat bukan berarti nggak ada suhu. Makanya 30 derajat nggak bisa disebut dua kali lebih panas dari 15 derajat.
Tapi selisihnya valid. Beda 30 dan 20 sama persis dengan beda 20 dan 10: sepuluh derajat.
Contoh lain: tahun kalender, skor IQ.
Yang boleh: penjumlahan, pengurangan, rata-rata, standar deviasi. Yang nggak boleh: rasio ("dua kali lipat").
Data rasio adalah data interval plus nol yang punya arti: nol berarti nggak ada.
Omzet Rp 0 artinya nggak ada penjualan. Jadi Rp 10 juta beneran dua kali lipat Rp 5 juta.
Contoh: omzet, jumlah item, umur, berat, durasi, jarak.
Semua operasi boleh: tambah, kurang, kali, bagi, rata-rata, rasio, pertumbuhan persen. Ini tipe data yang paling bebas, dan kebetulan juga yang paling sering muncul di data bisnis.
Bulan Maret 2026, toko_berkah ngumpulin 1.847 respons survei dari pelanggan. Kolomnya:
| Kolom | Isi contoh | Jenis data |
|---|---|---|
| cabang | Depok | Nominal |
| metode_bayar | QRIS | Nominal |
| rating | 4 (dari 1-5) | Ordinal |
| tahun_lahir | 1994 | Interval |
| total_belanja | Rp 187.500 | Rasio |
Laporan pertama nulis: "Rata-rata rating 4,12. Pelanggan puas."
Aku cek sebarannya:
rating 5 : 986 respons (53%)
rating 4 : 402 respons (22%)
rating 3 : 118 respons ( 6%)
rating 2 : 95 respons ( 5%)
rating 1 : 246 respons (13%)
Rata-ratanya emang 4,12. Tapi 13 persen pelanggan kasih bintang 1, dan hampir semuanya dari satu cabang: Cibubur, 178 dari 246 respons bintang 1.
Rata-rata nutupin selisihnya. Sebaran nunjukin selisihnya.
Perlakuin rating sebagai ordinal, dan masalahnya keliatan dalam 30 detik.
INT bisa berisi data nominal. Yang nentuin itu maknanya, bukan tipe datanya di SQL.Kalau mau referensi resmi soal klasifikasi ini, publikasi metodologi BPS pakai pembagian yang sama buat variabel survei.
Data ordinal punya urutan tapi jarak antar levelnya nggak dijamin sama. Rating puas, netral, kecewa itu berurutan, tapi jarak dari kecewa ke netral belum tentu sama dengan netral ke puas. Data interval jaraknya sama dan bisa dikurangin dengan aman. Beda 30 dan 20 derajat sama persis dengan beda 20 dan 10 derajat.
Karena rata-rata butuh jarak antar nilai yang setara, dan data ordinal nggak punya itu. Kalau rating 1-5 dirata-rata jadi 3,7, kamu diam-diam berasumsi jarak dari 1 ke 2 sama dengan 4 ke 5. Yang lebih aman: pakai median dan modus, atau tampilin sebaran per level.
Bedanya di makna angka nol. Di data interval, nol cuma titik yang disepakati. 0 derajat Celsius bukan berarti nggak ada suhu. Di data rasio, nol berarti benar-benar nggak ada. Omzet 0 rupiah artinya nggak ada penjualan, jadi 10 juta memang dua kali 5 juta.
Nominal, walau isinya angka. Kode pos 40115 nggak lebih besar atau lebih kecil dari 10110, dan merata-ratakannya nggak menghasilkan apa-apa. Simpan sebagai teks di database supaya nol di depan nggak hilang.
Karena jenis data nentuin bentuk perbandingan yang masuk akal. Data nominal cocok dibandingin pakai bar chart. Data ordinal lebih pas ditampilin sebagai sebaran per level. Data rasio yang berjalan sepanjang waktu paling kebaca pakai line chart.
Yang perlu nempel:
Mau lanjut praktek? Cek definisi median di glossary. Ini statistik yang paling sering kepake buat data ordinal. Atau latihan hitung sebaran pakai COUNT dan GROUP BY.
Kalau kamu lagi milih chart buat data-data ini, mampir ke kapan pakai bar chart.
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.