Seorang guru baru selesai mengoreksi ulangan Matematika dari 30 siswa. Di tangannya kini ada 30 angka yang belum terolah: berapa siswa yang mencapai batas lulus 75, dan kelompok nilai mana yang paling banyak dihuni? Pertanyaan semacam itu tidak dijawab oleh mean, melainkan oleh tabel frekuensi — bentuk penyajian data paling dasar dalam statistika deskriptif. Tabel frekuensi menghitung kemunculan setiap nilai atau kelompok nilai sehingga bentuk sebaran data terlihat sekilas. Chapter ini membangun tabel tersebut dari nol: frekuensi absolut, relatif, dan kumulatif, lalu pengelompokan data numerik ke dalam interval kelas.
Frekuensi Absolut: Menghitung Kemunculan #
Frekuensi absolut adalah banyaknya kemunculan sebuah nilai atau kategori dalam dataset. Dari 30 nilai ulangan tadi, nilai 74 muncul tiga kali dan nilai 70 muncul dua kali; angka tiga dan dua itulah frekuensi absolut. Tabel frekuensi menyandingkan setiap nilai, kategori, atau kelompok nilai dengan frekuensi kemunculannya dalam dua kolom yang saling melengkapi. Satu aturan yang selalu berlaku: jumlah seluruh frekuensi absolut harus tepat sama dengan banyaknya data. Jika tabel hanya mencatat 28 dari 30 siswa, ada dua data yang hilang dan seluruh ringkasan turunannya patut dicurigai.
Frekuensi Relatif dan Frekuensi Kumulatif #
Frekuensi absolut menjawab “berapa banyak”, sedangkan frekuensi relatif menjawab “berapa persen dari keseluruhan”. Relatif membuat ukuran sebanding antar dataset yang jumlah datanya berbeda: 12 dari 30 siswa dan 40 dari 300 siswa sama-sama 40 persen, dan fakta itu baru jelas setelah frekuensi dibagi jumlah data. Rumusnya:
frekuensi relatif = frekuensi / jumlah data
frekuensi relatif (%) = (frekuensi / jumlah data) × 100%Frekuensi kumulatif menjawab pertanyaan bertingkat seperti “berapa banyak data sampai batas tertentu”. Kolom kumulatif diisi dengan menjumlahkan frekuensi dari baris pertama hingga baris yang sedang dibaca, sehingga angka pada baris terakhir selalu sama dengan jumlah data. Ketiga jenis frekuensi akan kita bangun sekaligus pada contoh besar di akhir chapter ini.
Data Tidak Dikelompokkan: Data Kategorik #
Data kategorik tidak memiliki nilai numerik untuk dijumlahkan, sehingga tabel frekuensi adalah satu-satunya bentuk ringkasan yang tersedia. Contoh berikut merangkum cara 30 siswa pergi ke sekolah:
| Cara ke Sekolah | Frekuensi | Frekuensi Relatif (%) |
|---|---|---|
| Jalan kaki | 8 | 26.67 |
| Sepeda | 12 | 40.0 |
| Angkutan umum | 7 | 23.33 |
| Diantar keluarga | 3 | 10.0 |
| Total | 30 | 100.0 |
Dari tabel terbaca langsung bahwa sepeda adalah moda terpopuler dengan 12 pengguna (40 persen), sedangkan siswa yang diantar keluarga paling sedikit. Perhatikan pula bahwa kolom kumulatif sengaja tidak dibuat. Kategori “jalan kaki”, “sepeda”, dan “angkutan umum” tidak memiliki urutan yang bermakna, sehingga penjumlahan bertumpuk antarbaris tidak bisa ditafsirkan. Kolom kumulatif baru masuk akal ketika data berurutan, misalnya kelompok nilai dari rendah ke tinggi. Pembedaan skala data nominal dan ordinal dibahas tuntas pada chapter Skala Pengukuran di Section Pengumpulan dan Jenis Data.
Data Dikelompokkan: Menentukan Jumlah Kelas dan Lebar Kelas #
Data numerik dengan banyak nilai berbeda tidak efisien dibuat satu baris per nilai — 30 nilai ulangan kita menempati 22 angka unik, dan daftar 22 baris justru sama sulitnya dibaca seperti data mentah. Solusinya adalah pengelompokan: nilai dibagi ke dalam interval kelas yang berurutan dan sama lebar. Dua keputusan harus diambil sebelum tabel dibuat: berapa banyak kelas, dan seberapa lebar tiap kelas.
Untuk jumlah kelas, pedoman umum yang paling sering dikutip adalah aturan Sturges:
k = 1 + 3.3 log ndengan k adalah usulan jumlah kelas dan n adalah banyaknya data. Untuk n = 30, aturan ini menghasilkan k = 1 + 3.3 × log 30 ≈ 5.87, yang dibulatkan menjadi sekitar enam kelas. Perhitungannya mudah dicek sendiri:
import math
print(round(1 + 3.3 * math.log10(30), 2))Output yang Dihasilkan:
5.87Aturan Sturges hanyalah pedoman kasar, bukan ketentuan yang mengikat; banyak buku praktik menyarankan rentang 5 sampai 15 kelas dan menyerahkan keputusan akhir pada keterbacaan tabel. Agar contoh kita ringkas, kita memakai lima kelas. Lebar kelas dihitung dari rentang data — nilai terendah 60 dan tertinggi 84 memberi rentang 24, lalu 24 dibagi lima kelas menghasilkan 4.8 yang dibulatkan menjadi lebar 5. Kelas-kelasnya pun terbentuk: 60-64, 65-69, 70-74, 75-79, dan 80-84.
rentang = nilai maksimum - nilai minimum
lebar kelas = rentang / kMembangun Tabel Frekuensi Nilai 30 Siswa #
Berikut data mentah nilai ulangan 30 siswa, sudah diurutkan agar mudah diperiksa:
60, 62, 63, 65, 65, 67, 68, 68, 69, 70, 70, 71, 72, 72, 73,
74, 74, 74, 75, 75, 76, 77, 77, 78, 79, 80, 81, 82, 83, 84Tabel frekuensi lengkap dengan ketiga jenis frekuensi:
| Kelas Nilai | Frekuensi | Frekuensi Relatif (%) | Frekuensi Kumulatif |
|---|---|---|---|
| 60-64 | 3 | 10.0 | 3 |
| 65-69 | 6 | 20.0 | 9 |
| 70-74 | 9 | 30.0 | 18 |
| 75-79 | 7 | 23.33 | 25 |
| 80-84 | 5 | 16.67 | 30 |
| Total | 30 | 100.0 | — |
Cara membacanya ada tiga lapis. Frekuensi absolut menunjukkan kelas 70-74 sebagai kelas terpadat dengan sembilan siswa. Frekuensi relatif mengubahnya menjadi 30 persen — hampir sepertiga kelas berkumpul pada kelompok nilai itu. Frekuensi kumulatif pada baris ketiga (18) menjawab pertanyaan batas lulus: 18 dari 30 siswa memperoleh nilai di bawah 75, sehingga 12 siswa mencapai angka 75 ke atas. Seluruh baris tabel di atas dapat direplikasi dengan Python:
nilai = [60, 62, 63, 65, 65, 67, 68, 68, 69, 70,
70, 71, 72, 72, 73, 74, 74, 74, 75, 75,
76, 77, 77, 78, 79, 80, 81, 82, 83, 84]
kelas = [(60, 64), (65, 69), (70, 74), (75, 79), (80, 84)]
kumulatif = 0
print(f"{'Kelas':<8}{'Frek':>5}{'Relatif(%)':>12}{'Kumulatif':>10}")
for bawah, atas in kelas:
frek = sum(1 for x in nilai if bawah <= x <= atas)
kumulatif += frek
relatif = round(frek / len(nilai) * 100, 2)
print(f"{bawah}-{atas:<5}{frek:>5}{relatif:>12}{kumulatif:>10}")Output yang Dihasilkan:
Kelas Frek Relatif(%) Kumulatif
60-64 3 10.0 3
65-69 6 20.0 9
70-74 9 30.0 18
75-79 7 23.33 25
80-84 5 16.67 30Mari kita bedah kode di atas:
- Baris 7 (
kumulatif = 0): variabel penampung frekuensi kumulatif dimulai dari nol dan akan bertambah setiap kelas selesai dihitung. - Baris 10 (
sum(1 for x in nilai if ...)): menghitung frekuensi absolut sebuah kelas dengan menghitung banyaknya nilai yang berada di antara batas bawah dan batas atas secara inklusif. - Baris 12 (
round(frek / len(nilai) * 100, 2)): menghitung frekuensi relatif lalu membulatkannya ke dua desimal, sehingga 7/30 tampil sebagai 23.33, bukan deretan digit panjang. - Baris 13: setiap baris mencetak empat kolom sekaligus; lebar kolom diatur dengan format
:<8,:>5,:>12, dan:>10agar angka sejajar rapi.
Fondasi Histogram dan Pertanyaan Kumulatif #
Tabel frekuensi bukan tampilan akhir, melainkan bahan baku analisis lanjutan. Histogram yang akan kita gambar pada Section Visualisasi Data dibangun persis dari tabel ini: sumbu datarnya memakai interval kelas dan tinggi batangnya memakai frekuensi. Ukuran pemusatan seperti mean dan median, serta ukuran penyebaran seperti standar deviasi, juga paling mudah dipahami setelah bentuk sebaran data terlihat lewat tabel. Latihan penyusunan tabel frekuensi dengan contoh tambahan tersedia di Khan Academy , sedangkan pembahasan frekuensi dan histogram untuk data pengukuran di industri dirangkum dalam NIST/SEMATECH e-Handbook .
Tabel frekuensi telah merapikan 30 data mentah menjadi enam baris yang bisa dibaca dalam hitungan detik. Namun pertanyaan yang paling sering diajukan tentang data tetap satu angka ringkas: berapa rata-ratanya? Angka itu dihitung dengan mean, topik chapter berikutnya — dan kita akan memakai dataset kecil sembilan siswa yang menemani kita hingga akhir section ini.