Seratus baris data pengukuran menjawab lebih sedikit pertanyaan daripada yang kita kira: angka-angka di layar belum otomatis mengatakan nilai tipikalnya, seberapa bervariasinya, atau apakah sebarannya condong ke satu sisi. Statistik deskriptif memampatkan ratusan pengamatan menjadi segelintir angka yang bisa dibandingkan antar periode, antar produk, dan antar laporan. Chapter ini membangun kosakata yang dipakai sepanjang section Statistik dan Analisis Data — pengujian hipotesis, confidence interval, hingga regresi semuanya membaca ringkasan yang kita hitung di sini. Cakupan materinya:

  • Ukuran pemusat: mean, median, mode
  • Ukuran sebaran: std, var, range, dan interquartile range (IQR)
  • Ukuran bentuk: skewness dan kurtosis dari rumus manual
  • Perilaku robust: median vs mean pada data ber-outlier

Tiga Keluarga Ukuran #

Aturannya: setiap statistik deskriptif menjawab tepat satu pertanyaan tentang data. Tidak ada satu angka ajaib yang menceritakan semuanya, jadi kita membaca dataset dari tiga arah sekaligus — seperti memotret objek yang sama dari tiga sudut berbeda.

KeluargaPertanyaan yang dijawabUkuran
Pemusatdi mana pusat data berkumpul?mean, median, mode
Sebaranseberapa jauh data menyebar dari pusatnya?std, var, range, IQR
Bentuksimetris, condong, atau terlalu runcing?skewness, kurtosis

Kita memakai satu dataset sepanjang chapter: nilai ujian sepuluh mahasiswa — cukup kecil untuk dihitung ulang dengan kertas dan pensil, dan mekanismenya identik pada data sejuta baris.

Ukuran Pemusat: mean, median, dan mode #

Mekanismenya berbeda untuk ketiganya: mean menjumlahkan semua nilai lalu membagi banyaknya data, sehingga setiap angka — termasuk yang ekstrem — ikut menarik hasil. median hanya peduli posisi tengah data terurut, sehingga satu nilai raksasa tidak menggeser hasil. mode melaporkan nilai yang paling sering muncul dan menjadi satu-satunya pilihan untuk data kategorikal.

matlab
nilai = [55 60 62 65 68 68 70 72 75 85];
fprintf('mean   : %.4f\n', mean(nilai));
fprintf('median : %.4f\n', median(nilai));
fprintf('mode   : %g\n', mode(nilai));

Output yang Dihasilkan:

text
mean   : 68.0000
median : 68.0000
mode   : 68

Mari kita bedah baris-baris kode di atas:

  1. Baris 1 (nilai = ...): vektor 10 nilai ujian; angka 68 sengaja muncul dua kali agar mode punya jawaban tegas.
  2. Baris 2 (mean(nilai)): jumlah 680 dibagi 10 elemen menghasilkan 68.
  3. Baris 3 (median(nilai)): banyak elemen genap, sehingga median adalah rata-rata dua nilai tengah: (68+68)/2 = 68.
  4. Baris 4 (mode(nilai)): nilai 68 muncul dua kali — lebih sering dari nilai lain.

Ketiga ukuran bertemu di angka 68 — pertanda sebaran hampir simetris. Pada data miring, ketiganya terpisah, dan urutan pemisahannya sendiri menjadi alat diagnosa: mean yang lebih besar dari median menandakan buntut panjang di sisi kanan.

Ukuran Sebaran: std, var, range, dan IQR #

Dua kelas bisa memiliki mean sama dengan karakter berbeda, jadi pusat harus didampingi ukuran sebaran. std menghitung akar rata-rata simpangan kuadrat dari mean, var adalah kuadratnya, dan range cukup max dikurangi min. Satu keputusan yang harus kita sadari: pembagi std — MATLAB memakai N−1 (versi sampel) secara default.

matlab
fprintf('std sampel  (N-1) : %.6f\n', std(nilai));
fprintf('std populasi (N)  : %.6f\n', std(nilai, 1));
fprintf('var sampel        : %.6f\n', var(nilai));
fprintf('min / max / range : %g / %g / %g\n', min(nilai), max(nilai), max(nilai)-min(nilai));
q = quantile(nilai, [0.25 0.75]);
fprintf('Q1 / Q3 / IQR     : %.2f / %.2f / %.2f\n', q(1), q(2), q(2)-q(1));

Output yang Dihasilkan:

text
std sampel  (N-1) : 8.406347
std populasi (N)  : 7.974961
var sampel        : 70.666667
min / max / range : 55 / 85 / 30
Q1 / Q3 / IQR     : 62.00 / 72.00 / 10.00

Mari kita bedah baris-baris kode di atas:

  1. Baris 1 (std(nilai)): simpangan baku versi sampel — pembaginya N−1 = 9; inilah default MATLAB karena data biasanya sampel dari populasi lebih besar.
  2. Baris 2 (std(nilai, 1)): flag 1 mengganti pembagi menjadi N = 10 (versi populasi); hasilnya selalu sedikit lebih kecil.
  3. Baris 4 (max(nilai)-min(nilai)): range 85 − 55 = 30 — ukuran paling sederhana yang hanya melihat dua ujung data.
  4. Baris 5-6 (quantile(nilai, [0.25 0.75])): Q1 = 62 dan Q3 = 72, sehingga IQR = 10 — lebar “jantung” data yang membuang 25% terbawah dan 25% teratas.
PanggilanPembagiKonteks pemakaian
std(x), var(x)N − 1data adalah sampel dari populasi lebih besar (default)
std(x,1), var(x,1)Ndata merekam seluruh populasi

Bentuk Distribusi: skewness dan kurtosis #

Skewness mengukur kemiringan sebaran dan kurtosis mengukur keruncingannya. Mekanismenya: keduanya adalah rasio momen rata-rata — pangkat tiga untuk kemiringan, pangkat empat untuk keruncingan — dinormalisasi oleh momen kedua. Kita hitung manual dari rumusnya supaya kode tidak bergantung pada ketersediaan toolbox.

matlab
m  = mean(nilai);
m2 = mean((nilai - m).^2);   % momen ke-2 (varians populasi)
m3 = mean((nilai - m).^3);   % momen ke-3
m4 = mean((nilai - m).^4);   % momen ke-4
fprintf('skewness (g1) : %.6f\n', m3 / m2^1.5);
fprintf('kurtosis  (g2) : %.6f\n', m4 / m2^2);

Output yang Dihasilkan:

text
skewness (g1) : 0.468447
kurtosis  (g2) : 2.972291

Mari kita bedah baris-baris kode di atas:

  1. Baris 2-4 (m2, m3, m4): rata-rata simpangan pangkat 2, 3, dan 4 — bahan mentah kedua ukuran bentuk.
  2. Baris 5 (m3 / m2^1.5): skewness g1 = 0.468 — positif, artinya buntut data menunjuk ke kanan (nilai 85 menarik sebaran).
  3. Baris 6 (m4 / m2^2): kurtosis g2 = 2.972 — nyaris 3, keruncingan khas distribusi normal.
NilaiInterpretasi
g1 < 0buntut panjang di kiri (nilai ekstrem kecil)
g1 ≈ 0sebaran simetris
g1 > 0buntut panjang di kanan (nilai ekstrem besar)
g2 < 3lebih pipih dari normal
g2 ≈ 3keruncingan setara normal
g2 > 3lebih runcing dari normal

Statistik Robust: Ketika Outlier Menyerang #

Satu transaksi raksasa bisa memalsukan kesimpulan. Dataset gaji berikut berisi delapan karyawan yang wajar plus satu eksekutif dengan gaji Rp250 juta — dan mean menelan angka itu bulat-bulat.

matlab
gaji = [35 38 40 42 45 48 50 250];   % juta rupiah, satu outlier
fprintf('--- dengan outlier ---\n');
fprintf('mean   : %.4f\n', mean(gaji));
fprintf('median : %.4f\n', median(gaji));
fprintf('std    : %.4f\n', std(gaji));

gajiBersih = gaji(gaji < 100);       % buang outlier
fprintf('--- tanpa outlier ---\n');
fprintf('mean   : %.4f\n', mean(gajiBersih));
fprintf('median : %.4f\n', median(gajiBersih));
fprintf('std    : %.4f\n', std(gajiBersih));

Output yang Dihasilkan:

text
--- dengan outlier ---
mean   : 68.5000
median : 43.5000
std    : 73.5080
--- tanpa outlier ---
mean   : 42.5714
median : 42.0000
std    : 5.4116

Mari kita bedah hasil tersebut:

  1. mean(gaji): satu angka 250 melompatkan rata-rata dari 42.57 ke 68.5 — padahal 7 dari 8 karyawan digaji di bawah 50.
  2. median(gaji): median hanya bergeser dari 42 ke 43.5; posisi tengah data terurut nyaris tak tersentuh outlier.
  3. std(gaji): sebaran membengkak dari 5.41 menjadi 73.51 — hampir 14 kali lipat hanya karena satu nilai.
  4. gajiBersih: logical indexing gaji(gaji < 100) membuang outlier; pola mask yang sama dengan chapter Statistical Summary.

Tabel Ringkas Fungsi #

Fungsi / rumusMenghitungHasil pada nilai
mean(x)rata-rata aritmetika68
median(x)nilai tengah data terurut68
mode(x)nilai tersering68
std(x) / std(x,1)simpangan baku sampel / populasi8.406347 / 7.974961
var(x)varians sampel70.666667
max(x)-min(x)range30
quantile(x,[.25 .75])Q1, Q3 → IQR62, 72 → 10
m3/m2^1.5skewness g10.468447
m4/m2^2kurtosis g22.972291

Berkas contoh.m pada bagian bawah halaman menjalankan seluruh tabel di atas: ringkasan lengkap dataset nilai ujian, kuartil dan IQR, momen bentuk, lalu demo robustness gaji dengan dan tanpa outlier.

Ringkasan #

Tiga keluarga ukuran melengkapi satu sama lain: mean/median/mode menjawab pusat, std/var/range/IQR menjawab sebaran, dan g1/g2 menjawab bentuk. Pilihan antara versi sampel (N−1) dan populasi (N) harus disadari karena mengubah hasil, dan kehadiran satu outlier cukup untuk membatalkan kepercayaan pada mean serta std — median dan IQR adalah pasangan cadangan yang tahan banting. Setelah data terbaca, langkah berikutnya adalah memodelkan peluangnya: itu materi Chapter Distribusi Probabilitas.