Outlier: Cara Deteksi dan Kapan Boleh Dibuang
Blog/Tips & Trik/Outlier: Cara Deteksi dan Kapan Boleh Dibuang

Outlier: Cara Deteksi dan Kapan Boleh Dibuang

BimaBima
·16 Juni 2026·7 menit baca

Penulis

Bima

Bima

Founder & Data Professional

Bagikan

TL;DR

Outlier adalah nilai data yang jauh menyimpang dari sebagian besar nilai lain di kumpulan yang sama. Dua cara deteksi paling umum: metode IQR (nilai di luar Q1 - 1.5×IQR sampai Q3 + 1.5×IQR) dan z-score (nilai dengan skor absolut di atas 3). Outlier boleh dibuang cuma kalau kamu bisa buktikan itu error — salah input, alat rusak, atau duplikasi. Outlier yang nyata (pembeli grosir, transaksi Harbolnas) jangan dihapus, karena justru di situ sering ada insight paling berharga.

Outlier adalah nilai data yang jauh menyimpang dari sebagian besar nilai lain di kumpulan data yang sama.

Contoh gampangnya: 999 transaksi di toko kamu nilainya antara Rp 20 ribu sampai Rp 500 ribu. Terus ada satu transaksi Rp 45 juta. Itu outlier.

Pertanyaan yang lebih penting bukan "gimana cara deteksinya" — itu gampang. Yang bikin orang salah langkah: apakah outlier itu boleh dibuang?

Apa itu outlier dan kenapa dia bikin masalah?

Outlier bikin masalah karena dia narik rata-rata. Sembilan orang punya gaji Rp 8 juta, satu orang Rp 200 juta. Rata-ratanya Rp 27,2 juta — angka yang nggak menggambarkan siapa pun di ruangan itu.

Ini kenapa median sering lebih jujur dari mean kalau ada outlier. Median dari data tadi: Rp 8 juta. Jauh lebih masuk akal.

Outlier juga bikin model prediksi meleset, bikin grafik gepeng (satu batang tinggi, sisanya kelihatan rata), dan bikin standar deviasi meledak.

Gimana cara deteksi outlier pakai metode IQR?

IQR (Interquartile Range) adalah jarak antara kuartil 1 dan kuartil 3 — alias rentang di mana 50% data tengah berada.

Rumusnya:

IQR = Q3 - Q1

Batas bawah = Q1 - (1.5 × IQR)
Batas atas  = Q3 + (1.5 × IQR)

Nilai di luar dua batas itu = outlier

Angka 1.5 itu konvensi, bukan hukum alam. Kalau kamu mau lebih ketat, pakai 3 — itu nangkep outlier yang benar-benar ekstrem doang.

Di SQL, deteksinya gini:

WITH nilai AS (
    SELECT
        transaksi_id,
        kota,
        qty * harga_satuan AS total
    FROM transaksi
    WHERE status = 'selesai'
),
kuartil AS (
    SELECT
        PERCENTILE_CONT(0.25) WITHIN GROUP (ORDER BY total) AS q1,
        PERCENTILE_CONT(0.75) WITHIN GROUP (ORDER BY total) AS q3
    FROM nilai
)
SELECT
    n.transaksi_id,
    n.kota,
    n.total,
    k.q3 - k.q1 AS iqr
FROM nilai n
CROSS JOIN kuartil k
WHERE n.total > k.q3 + 1.5 * (k.q3 - k.q1)
   OR n.total < k.q1 - 1.5 * (k.q3 - k.q1)
ORDER BY n.total DESC;

Di Excel atau Google Sheets, tinggal pakai QUARTILE:

Q1        =QUARTILE(A2:A1000; 1)
Q3        =QUARTILE(A2:A1000; 3)
IQR       =Q3 - Q1
Batas atas =Q3 + 1.5 * IQR

Flag outlier:
=IF(OR(A2 > $E$4; A2 < $E$5); "OUTLIER"; "")

Gimana cara deteksi outlier pakai z-score?

Z-score ngukur berapa standar deviasi sebuah nilai jauhnya dari rata-rata.

z = (nilai - rata_rata) / standar_deviasi

z absolut > 3  →  outlier

Ambang 3 dipakai karena di distribusi normal, cuma sekitar 0,3% data yang jatuh di luar 3 standar deviasi. Penjelasan sebarannya ada di NIST Engineering Statistics Handbook.

Tapi ada jebakan: rata-rata dan standar deviasi sendiri bisa ditarik sama outlier. Satu nilai ekstrem bisa bikin standar deviasi membengkak, dan tiba-tiba outlier itu jadi punya z-score cuma 2,4 — lolos dari deteksi.

Aturan praktisnya:

Kondisi dataPakai
Distribusi miring (nilai transaksi, pendapatan)IQR
Distribusi mendekati normal (tinggi badan, skor tes)Z-score
Ada outlier ekstrem yang udah keliatanIQR
Data bisnis Indonesia (umumnya miring ke kanan)IQR

Kapan outlier boleh dibuang?

Cuma kalau kamu bisa buktikan itu error. Tiga kategori yang jelas boleh:

  • Salah input. Umur pelanggan 250 tahun. Harga produk minus. Qty 999999.
  • Duplikasi. Satu transaksi kecatat dua kali gara-gara bug sistem.
  • Alat rusak. Sensor suhu baca 500°C di gudang.

Yang nggak boleh dibuang: outlier yang nyata.

Transaksi Rp 45 juta itu bisa jadi reseller yang belanja grosir. Kalau kamu hapus, kamu baru aja ngebuang pelanggan paling berharga dari analisis kamu.

Aturan yang aku pakai: investigasi dulu, baru putuskan. Buka barisnya, lihat siapa pelanggannya, cek tanggalnya. Kalau setelah dilihat masih masuk akal sebagai kejadian nyata, biarin.

Contoh kasus: transaksi Rp 42 juta di toko_berkah

Waktu jalanin deteksi IQR di dataset toko_berkah (24.500 transaksi), hasilnya: Q1 = Rp 28.500, Q3 = Rp 96.000, jadi IQR = Rp 67.500.

Batas atasnya: Rp 96.000 + (1.5 × 67.500) = Rp 197.250.

Yang lewat batas itu: 1.183 transaksi, alias 4,8% dari total. Kedengeran banyak, tapi wajar buat data yang miring ke kanan.

Yang menarik ada di ujung ekstrem. Ada 3 transaksi di atas Rp 40 juta. Waktu aku buka barisnya, ketahuan semua dari pelanggan yang sama, semua di bulan yang sama, semua produknya beras dan minyak dalam qty ratusan.

Itu bukan error. Itu warung yang kulakan.

Kalau 3 baris itu aku hapus sebagai "outlier", aku bakal kehilangan satu-satunya sinyal bahwa toko_berkah punya segmen B2B yang belum pernah digarap.

Outlier itu pertanyaan, bukan sampah.

Apa alternatif menghapus outlier?

Tiga pilihan yang lebih aman.

Winsorize. Ganti nilai ekstrem dengan batas persentil. Semua yang di atas persentil 99 diganti jadi nilai persentil 99. Datanya tetap ada, tapi pengaruhnya ke rata-rata dijinakkan.

Transformasi log. Ubah nilai jadi log. Ini bikin selisih antara Rp 100 ribu dan Rp 45 juta jadi lebih rapat. Sering dipakai buat data pendapatan dan harga rumah.

Laporkan dua versi. Kasih hasil dengan dan tanpa outlier, tulis selisihnya. Ini paling jujur, dan paling gampang dipertanggungjawabkan waktu ditanya bos.

Kesalahan umum

Hapus outlier sebelum dilihat. Ini kesalahan nomor satu. Deteksi dulu, buka barisnya, baru putuskan.

Pakai z-score di data yang miring. Data nilai transaksi hampir selalu miring ke kanan. Z-score bakal ngasih hasil yang nggak konsisten di sini.

Buang outlier tanpa nyatat. Kalau kamu hapus 40 baris, tulis di dokumentasi: berapa baris, kriterianya apa, alasannya apa. Tanpa catatan itu, hasil analisis kamu nggak bisa direproduksi.

Anggap semua outlier itu gangguan. Di deteksi fraud, outlier justru yang kamu cari.

FAQ

Outlier adalah apa dalam statistik?

Outlier adalah nilai data yang jauh menyimpang dari sebagian besar nilai lain di kumpulan data yang sama. Kalau 999 transaksi nilainya Rp 20 ribu sampai Rp 500 ribu, lalu ada satu transaksi Rp 45 juta, itu outlier. Penyebabnya bisa error input, alat rusak, atau kejadian nyata yang luar biasa.

Kapan outlier boleh dibuang?

Cuma kalau kamu bisa buktikan itu error — umur 250 tahun, harga minus, atau baris duplikat. Outlier yang nyata (pembeli grosir, lonjakan Harbolnas, gaji CEO di data karyawan) jangan dihapus. Kalau kamu hapus, kamu bukan lagi menganalisis realitas.

Apa bedanya metode IQR dan z-score?

IQR pakai kuartil, jadi tahan terhadap outlier itu sendiri dan cocok buat data yang miring — kayak nilai transaksi. Z-score pakai rata-rata dan standar deviasi, yang bisa ditarik oleh outlier ekstrem, jadi cuma pas buat data mendekati normal. Buat data bisnis Indonesia, IQR lebih aman.

Apakah outlier selalu buruk?

Nggak. Di deteksi fraud, outlier justru yang kamu cari. Di analisis pelanggan, outlier belanja sering ternyata reseller yang bisa kamu jadikan mitra. Outlier itu pertanyaan, bukan sampah.

Apa alternatif menghapus outlier?

Winsorize (ganti nilai ekstrem dengan batas persentil), transformasi log (bikin skala lebih rapat), atau laporkan dua versi hasil — dengan dan tanpa outlier — biar pembaca lihat pengaruhnya.

Langkah berikutnya

Yang perlu kamu bawa:

  • IQR buat data miring, z-score buat data normal.
  • Deteksi bukan berarti hapus. Buka barisnya dulu, lihat siapa dan kapan.
  • Outlier yang nyata sering jadi insight paling mahal di dataset kamu.

Ambil satu kolom angka di data kamu, hitung IQR-nya hari ini, terus buka 5 baris teratas yang lewat batas. Lihat ceritanya apa.

Kalau kamu mau lanjut ke pembersihan data secara menyeluruh, baca checklist data cleaning. Buat konsep dasarnya, cek glossary outlier dan fungsi MEDIAN.

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

Glossary Istilah Data: 60 Istilah yang Sering Muncul di Kerjaan
Tips & Trik
28 Juni 2026•11 menit baca

Glossary Istilah Data: 60 Istilah yang Sering Muncul di Kerjaan

Rapat data penuh istilah yang bikin bingung? Ini 60 istilah data analyst yang paling sering keluar di kerjaan, dijelasin dengan bahasa manusia plus contoh konkret.

BimaBima
Data Warehouse vs Data Lake: Pilih Mana buat Perusahaan Kamu
Tips & Trik
25 Juni 2026•9 menit baca

Data Warehouse vs Data Lake: Pilih Mana buat Perusahaan Kamu

Data warehouse nyimpen data yang udah rapi dan siap dipakai. Data lake nyimpen apa aja mentah-mentah. Ini cara milih yang cocok buat ukuran perusahaan kamu.

BimaBima
ETL vs ELT: Bedanya dan Kenapa Sekarang Banyak yang Pindah
Tips & Trik
22 Juni 2026•8 menit baca

ETL vs ELT: Bedanya dan Kenapa Sekarang Banyak yang Pindah

ETL transform data sebelum masuk warehouse, ELT masukin dulu baru transform di dalam. Ini beda praktisnya, dan kenapa tim data sekarang lebih sering pilih ELT.

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.

Copyright © 2026 - All rights reserved

LINKS
SupportPricingDatasetBlogAffiliates
LEGAL
Terms of servicesPrivacy policy
Ngulik Data
DatasetLeaderboardBlogStore