Dua kelas bisa memiliki mean yang persis sama namun suasana yang berbeda total: satu kelas rapat di sekitar rata-rata, kelas lain terpencar dari nilai terendah ke tertinggi. Ukuran pemusatan tidak membedakan keduanya — tugas itu dipegang ukuran penyebaran. Anggota termudah keluarga ini adalah rentang, yang bisa dihitung dalam hitungan detik; anggota berikutnya, interquartile range (IQR), dibangun dari kuartil yang baru saja kita hitung. Keduanya diuji pada dataset nilai sembilan siswa yang sama — 68, 75, 75, 81, 84, 88, 90, 92, 97 dengan mean 83.33 — supaya perbandingannya langsung terasa.
Rentang: Selisih Dua Ekstrem #
Rentang (range) adalah selisih nilai terbesar dan nilai terkecil data:
rentang = nilai maksimum - nilai minimumUntuk data sembilan siswa: rentang = 97 − 68 = 29. Satu angka itu langsung memberi gambaran kasar seberapa lebar data menyebar — nilai siswa membentang 29 poin dari ujung ke ujung. Rentang populer karena cepat: cukup dua angka tanpa perhitungan lain, dan berguna untuk pemeriksaan sekilas, misalnya memastikan tidak ada nilai yang keluar dari batas wajar 0-100. Namun kecepatan itu dibayar dengan dua kelemahan yang serius, seperti dua bagian berikut perlihatkan.
Kelemahan Rentang: Hanya Dua Titik #
Kelemahan pertama: rentang hanya membaca dua dari sembilan nilai; tujuh nilai di tengah tidak diperhitungkan sama sekali. Akibatnya, dua dataset dengan sebaran sangat berbeda bisa memiliki rentang yang sama — data yang menumpuk di tengah dengan dua ekstrem menyendiri tercatat sama lebarnya dengan data yang tersebar merata. Bentuk sebaran yang sebenarnya hilang total dari ringkasan.
Kelemahan kedua: rentang sangat sensitif terhadap outlier. Ulangi skenario chapter Mean — nilai 97 diganti 40 karena pemeriksaan ulang — dan rentang berubah menjadi 92 − 40 = 52, hampir dua kali lipat semula, padahal delapan data lain tidak berubah. Skenario kedua dari chapter Median memberi efek lebih ekstrem lagi: nilai 68 tercatat keliru sebagai 2, dan rentang melebar menjadi 97 − 2 = 95. Satu kesalahan entri data cukup untuk membuat rentang melaporkan sebaran yang jauh dari kenyataan. Ringkasan penyebaran yang goyah oleh satu titik bukan alat yang bisa dipercaya untuk data yang belum diperiksa kebersihannya.
Interquartile Range: Lebar Wilayah Tengah #
Interquartile range (IQR) memperbaiki kelemahan itu dengan membuang kedua ujung data. IQR adalah selisih kuartil ketiga dan kuartil pertama:
IQR = Q3 - Q1Dari chapter Kuartil dan Persentil kita membawa Q1 = 75 dan Q3 = 91 (metode posisi), sehingga IQR = 91 − 75 = 16. Tafsirannya lebih kaya daripada rentang: 16 poin adalah lebar wilayah yang ditempati 50 persen data di tengah. Karena 25 persen data terbawah dan 25 persen teratas dibuang sebelum dihitung, besaran ekstrem di ujung tidak pernah masuk perhitungan. Bukti terbersihnya ada pada data pendapatan chapter Median: ketika pendapatan tertinggi melonjak dari 30 juta menjadi 60 juta, Q1, Q3, dan IQR tidak berubah sama sekali — gaji seorang pemilik usaha bisa berlipat tanpa menggeser wilayah tengah data. Skenario 97 diganti 40 tetap menggeser kuartil (Q1 turun ke 71.5 dan Q3 ke 89, karena satu nilai pindah dari ujung atas ke ujung bawah), tetapi IQR hanya bergeser dari 16 ke 17.5 — bandingkan dengan rentang yang melonjak dari 29 ke 52. Inilah makna tahan (robust): tidak kebal sepenuhnya, tetapi jauh lebih sulit digoyahkan satu titik ekstrem.
Mendeteksi Outlier dengan Aturan 1.5×IQR #
IQR tidak hanya tahan terhadap outlier — ia juga dipakai untuk menemukannya. Konvensi yang paling umum, sekaligus yang dipakai box plot, menetapkan dua batas:
batas bawah = Q1 - 1.5 × IQR
batas atas = Q3 + 1.5 × IQRData yang berada di luar batas-batas itu dicurigai sebagai outlier. Untuk data sembilan siswa dengan Q1 = 75, Q3 = 91, dan IQR = 16:
batas bawah = 75 - 1.5 × 16 = 75 - 24 = 51
batas atas = 91 + 1.5 × 16 = 91 + 24 = 115Nilai terendah data (68) berada jauh di atas batas bawah 51 dan nilai tertinggi (97) berada di bawah batas atas 115, sehingga data sembilan siswa kita bersih dari outlier menurut aturan ini. Aturan yang sama bekerja lebih dramatis pada data pendapatan chapter Median. Kuartil data pendapatan adalah Q1 = 3.55 dan Q3 = 4.65 (dibulatkan ke dua desimal), memberi IQR = 1.10, batas bawah 1.90, dan batas atas 6.30 juta — pendapatan 30.0 juta sang pemilik usaha berada jauh di atas batas atas, sehingga ditandai sebagai outlier. Penemuan yang tepat: nilai yang menarik mean ke atas itu memang ekstrem.
Rentang atau IQR: Kapan Memakai yang Mana #
Kedua ukuran menjawab pertanyaan yang sama dengan karakter yang berbeda:
| Aspek | Rentang | IQR |
|---|---|---|
| Data yang dibaca | 2 titik: minimum dan maksimum | Q1 dan Q3 (wilayah tengah 50%) |
| Kecepatan hitung | seketika, tanpa mengurutkan penuh | perlu kuartil |
| Sensitivitas outlier | sangat tinggi | rendah |
| Cocok untuk | data bersih, laporan sekilas, pemeriksaan batas | analisis, data yang belum diperiksa |
Aturan praktisnya sederhana. Gunakan rentang saat kecepatan penting, data kecil dan sudah terverifikasi bersih, atau saat hanya butuh gambaran kasar seperti “nilai membentang 29 poin”. Beralih ke IQR saat data besar, belum diperiksa, atau berasal dari sumber yang bisa memuat pencilan — dan IQR menjadi keharusan saat kita melanjutkan ke box plot, karena lebar kotaknya memang IQR. Perbandingan kedalaman kedua ukuran ini dibahas dalam NIST/SEMATECH e-Handbook pada bagian measures of scale, sedangkan OpenIntro Statistics menyajikannya dengan contoh box plot.
Menghitung Rentang, IQR, dan Batas Outlier dengan Python #
Snippet berikut menghitung seluruh ukuran section ini untuk kedua dataset — rentang, IQR, batas outlier, dan daftar outlier yang ditandai:
import statistics
nilai = [68, 75, 75, 81, 84, 88, 90, 92, 97]
pendapatan = [3.2, 3.5, 3.6, 3.8, 4.0, 4.2, 4.5, 4.8, 30.0]
def cek_outlier(data):
q1, q2, q3 = statistics.quantiles(data, n=4, method="exclusive")
iqr = q3 - q1
bawah, atas = q1 - 1.5 * iqr, q3 + 1.5 * iqr
return [x for x in data if x < bawah or x > atas]
print(max(nilai) - min(nilai))
q1, q2, q3 = statistics.quantiles(nilai, n=4, method="exclusive")
print(q3 - q1)
print(cek_outlier(nilai))
print(cek_outlier(pendapatan))Output yang Dihasilkan:
29
16.0
[]
[30.0]Mari kita bedah kode di atas:
- Baris 6 (
def cek_outlier(...)): function menerima list data, menghitung kuartil dengan metodeexclusiveagar sama dengan hitungan manual kita, lalu menyaring nilai di luar batas 1.5×IQR. - Baris 12 (
max(nilai) - min(nilai)): rentang data sembilan siswa, hasilnya29. - Baris 14 (
print(q3 - q1)): IQR data sembilan siswa, hasilnya16.0— 91.0 dikurangi 75.0. - Baris 15-16: data nilai menghasilkan list kosong
[](tidak ada outlier), sedangkan data pendapatan menghasilkan[30.0]— persis temuan manual kita di atas.
Rentang dan IQR mengukur penyebaran dari posisi: dua ekstrem, atau dua kuartil. Keduanya tidak pernah menatap nilai satu per satu, sehingga bentuk sebaran di tengah tetap gelap. Ukuran penyebaran berikutnya bekerja sebaliknya — memakai seluruh nilai data, satu per satu, lewat deviasi terhadap mean. Namun sebelum varians bisa dihitung, ada satu rintangan matematis yang harus diselesaikan: jumlah deviasi yang selalu nol.