Bagian 1 menutup dengan mean awal tiap mata pelajaran, tetapi satu ukuran pemusatan belum cukup untuk membaca kelas. Mean tercatat sensitif terhadap nilai ekstrem, median tahan terhadapnya, dan modus menunjukkan nilai yang paling banyak dihuni — ketiganya saling melengkapi, dan jarak antar ketiganya justru menyimpan informasi. Pada bagian ini kita menghitung perangkat statistik deskriptif lengkap untuk ketiga mata pelajaran: ukuran pemusatan, ringkasan lima angka, standar deviasi, lalu menggunakannya untuk membaca jejak outlier yang sempat terlihat pada tabel mentah.

Tiga Ukuran Pemusatan #

Cuplikan berikut menghitung mean, median, dan modus untuk ketiga kolom nilai sekaligus. Modus dihitung dengan statistics.multimode karena jumlah modus bisa lebih dari satu — kebiasaan yang diperkenalkan chapter Statistik dengan Python Standar:

python
import statistics

matematika = [70, 88, 76, 80, 65, 84, 92, 68, 78, 86,
              73, 62, 82, 45, 90, 66, 77, 81, 60, 79,
              74, 87, 67, 76, 83, 69, 75, 64, 72, 85]
bahasa = [78, 70, 91, 84, 67, 82, 74, 89, 76, 80,
          86, 64, 93, 72, 88, 75, 81, 68, 95, 77,
          69, 85, 73, 90, 80, 87, 71, 92, 83, 80]
sains = [88, 60, 93, 73, 70, 78, 64, 90, 75, 83,
         58, 71, 68, 76, 92, 65, 74, 79, 62, 72,
         85, 67, 77, 70, 81, 59, 86, 74, 63, 82]

for nama, nilai in [("matematika", matematika), ("bahasa", bahasa), ("sains", sains)]:
    print(f"{nama:<11s}: mean {statistics.mean(nilai):6.2f} | median {statistics.median(nilai):5.1f} | modus {statistics.multimode(nilai)}")

Output yang Dihasilkan:

text
matematika : mean  75.13 | median  76.0 | modus [76]
bahasa     : mean  80.00 | median  80.0 | modus [80]
sains      : mean  74.50 | median  74.0 | modus [70, 74]

Tiga pola berbeda terbaca dari angka-angka tersebut. Bahasa adalah contoh sebaran yang hampir simetris: mean, median, dan modus bertemu pada angka yang sama, 80 — tiga ukuran pemusatan yang sepakat menunjuk pusat data. Matematika menampilkan mean 75.13 yang berada di bawah median 76.0; nilai 45 milik Nadia menarik mean ke bawah tanpa menggerakkan median, persis perilaku yang dibahas chapter Mean tentang sensitivitas mean. Sains memiliki mean 74.50 di atas median 74.0 dan modus ganda [70, 74] — dua nilai yang sama sering munculnya, bentuk data multimodal yang membuat multimode lebih tepat daripada mode yang hanya mengembalikan satu nilai.

Ringkasan Lima Angka dan Sebaran #

Mean dan median menjawab “di mana pusatnya”; pertanyaan berikutnya adalah “seberapa lebar sebarannya”. Ringkasan lima angka — minimum, Q1, median, Q3, maksimum — plus standar deviasi menjawabnya sekaligus:

python
import statistics

import numpy as np

matematika = [70, 88, 76, 80, 65, 84, 92, 68, 78, 86,
              73, 62, 82, 45, 90, 66, 77, 81, 60, 79,
              74, 87, 67, 76, 83, 69, 75, 64, 72, 85]
bahasa = [78, 70, 91, 84, 67, 82, 74, 89, 76, 80,
          86, 64, 93, 72, 88, 75, 81, 68, 95, 77,
          69, 85, 73, 90, 80, 87, 71, 92, 83, 80]
sains = [88, 60, 93, 73, 70, 78, 64, 90, 75, 83,
         58, 71, 68, 76, 92, 65, 74, 79, 62, 72,
         85, 67, 77, 70, 81, 59, 86, 74, 63, 82]

for nama, nilai in [("matematika", matematika), ("bahasa", bahasa), ("sains", sains)]:
    q1, q2, q3 = np.percentile(nilai, [25, 50, 75])
    print(f"{nama:<11s}: min {min(nilai):2d} | Q1 {q1:6.2f} | median {q2:5.1f} | Q3 {q3:6.2f} | max {max(nilai):2d} | std {np.std(nilai, ddof=1):5.2f}")

print()
print("quantiles inclusive matematika :", statistics.quantiles(matematika, n=4, method="inclusive"))

Output yang Dihasilkan:

text
matematika : min 45 | Q1  68.25 | median  76.0 | Q3  82.75 | max 92 | std 10.37
bahasa     : min 64 | Q1  73.25 | median  80.0 | Q3  86.75 | max 95 | std  8.55
sains      : min 58 | Q1  67.25 | median  74.0 | Q3  81.75 | max 93 | std 10.00

quantiles inclusive matematika : [68.25, 76.0, 82.75]

Beberapa hal layak dicatat dari hasil di atas. Baris terakhir membuktikan kesetaraan yang sudah dikenal dari chapter Statistik dengan NumPy: np.percentile metode default menghasilkan kuartil yang persis sama dengan statistics.quantiles metode inclusive — 68.25, 76.0, 82.75 — sehingga kedua alat dapat dipakai bergantian. Standar deviasi dihitung dengan pembagi n − 1 (versi sampel, ddof=1), konvensi yang sama dengan statistics.stdev dan describe() pandas. Sebaran terlebar dimiliki matematika (std 10.37) dan terketat bahasa (8.55) — pola yang masuk akal karena satu nilai 45 di ujung matematika ikut melebarkan jarak tipikal data ke mean.

Membaca Jarak Mean-Median #

Eksperimen kecil berikut mengukur langsung seberapa besar pengaruh satu nilai terhadap dua ukuran pemusatan. Kita hitung ulang mean dan median matematika dua kali: dengan 30 data lengkap, lalu dengan 29 data tanpa nilai 45:

python
import statistics

matematika = [70, 88, 76, 80, 65, 84, 92, 68, 78, 86,
              73, 62, 82, 45, 90, 66, 77, 81, 60, 79,
              74, 87, 67, 76, 83, 69, 75, 64, 72, 85]
tanpa_45 = [x for x in matematika if x != 45]

print(f"mean   30 data : {statistics.mean(matematika):.2f}")
print(f"mean   29 data : {statistics.mean(tanpa_45):.2f}")
print(f"median 30 data : {statistics.median(matematika):.1f}")
print(f"median 29 data : {statistics.median(tanpa_45):.1f}")
print(f"selisih mean   : {statistics.mean(tanpa_45) - statistics.mean(matematika):.2f}")

Output yang Dihasilkan:

text
mean   30 data : 75.13
mean   29 data : 76.17
median 30 data : 76.0
median 29 data : 76.0
selisih mean   : 1.04

Dua temuan penting tersembul dari eksperimen ini (angka dibulatkan ke dua desimal). Pertama, satu nilai dari 30 data menggeser mean lebih dari satu poin penuh — selisih 1.04 poin antara 76.17 dan 75.13; pada kelas dengan 30 siswa, satu ulangan yang jauh di bawah bisa mengubah kesan “rata-rata kelas” secara terasa. Kedua, median tidak bergerak sama sekali — tetap 76.0 — karena median hanya melihat peringkat, dan membuang data terendah tidak mengubah posisi tengah yang tersisa. Inilah alasan klasik chapter Median merekomendasikan median ketika data memuat nilai ekstrem.

Ringkasan Karakter Tiga Mata Pelajaran #

Dengan seluruh ukuran di tangan, ketiga mata pelajaran mulai menunjukkan wataknya masing-masing:

Mata pelajaranMean vs medianstdKesan awal
matematikamean di bawah median10.37ada tarikan ke bawah — kandidat outlier rendah
bahasaketiganya bertemu di 808.55simetris dan paling rapat sebarannya
sainsmean di atas median10.00tarikan ringan ke atas — beberapa nilai tinggi

Kesan awal ini belum boleh menjadi kesimpulan: jarak mean-median bisa juga lahir dari sebaran yang miring tanpa ada outlier sama sekali. Dua pertanyaan masih terbuka. Apakah nilai 45 benar-benar outlier menurut ukuran formal, bukan sekadar nilai terendah? Dan bagaimana bentuk sebaran ketiganya bila dilihat dari frekuensi kelas dan grafiknya? Bagian 3 menjawab keduanya dengan tabel frekuensi, histogram, skewness, dan uji z-score.