Mengolah Data · Pelajaran 6 dari 8
Tabel frekuensi
8 menit baca · BelajarCode
Tabel frekuensi menunjukkan berapa kali setiap nilai atau kategori muncul. Tabel ini adalah langkah pertama sebelum membuat grafik.
Menghitung kategori dengan dictionary
Dictionary di Python menyimpan pasangan kunci dan nilai. Sangat cocok untuk menghitung: kuncinya kategori, nilainya jumlah kemunculan.
1jawaban = ["Bakso", "Mie Ayam", "Bakso", "Siomay", "Bakso", "Mie Ayam", "Cilok"]2frekuensi = {}3for j in jawaban:4 if j in frekuensi:5 frekuensi[j] += 16 else:7 frekuensi[j] = 189for jajanan, jumlah in frekuensi.items():10 persen = jumlah / len(jawaban) * 10011 print(f"{jajanan:<10}{jumlah:>3} {persen:.1f}%")Bakso 3 42.9% Mie Ayam 2 28.6% Siomay 1 14.3% Cilok 1 14.3%
frekuensi[j] += 1menambah hitungan kategori yang sudah ada.frekuensi[j] = 1membuat kategori baru..items()mengambil pasangan kunci dan nilai satu per satu.
Kolom persen disebut frekuensi relatif. Jumlah seluruh persentasenya kira-kira 100%. Selisih kecil bisa muncul karena pembulatan.
Mengelompokkan data angka
Untuk data angka yang beragam seperti nilai ulangan, setiap nilai mungkin hanya muncul sekali. Data seperti ini lebih berguna jika dikelompokkan ke dalam interval.
1nilai = [55, 62, 68, 71, 74, 75, 78, 81, 83, 85, 88, 90, 94, 97, 66]2kelompok = {"0-59": 0, "60-69": 0, "70-79": 0, "80-89": 0, "90-100": 0}3for n in nilai:4 if n < 60:5 kelompok["0-59"] += 16 elif n < 70:7 kelompok["60-69"] += 18 elif n < 80:9 kelompok["70-79"] += 110 elif n < 90:11 kelompok["80-89"] += 112 else:13 kelompok["90-100"] += 11415for rentang, jumlah in kelompok.items():16 print(rentang, jumlah)0-59 1 60-69 3 70-79 4 80-89 4 90-100 3
Cek pemahaman
Pada dictionary frekuensi = {"A": 2}, apa isinya setelah frekuensi["B"] = 1 lalu frekuensi["A"] += 1?
Latihan
Cara berangkat ke sekolah
Hasil survei cara berangkat ke sekolah: jalan kaki, sepeda, diantar, angkot, jalan kaki, diantar, diantar, sepeda, jalan kaki, diantar. Buat tabel frekuensinya dengan Python, lengkap dengan persentasenya.
Pembahasan
1data = ["jalan kaki", "sepeda", "diantar", "angkot", "jalan kaki",2 "diantar", "diantar", "sepeda", "jalan kaki", "diantar"]3frekuensi = {}4for d in data:5 frekuensi[d] = frekuensi.get(d, 0) + 167for cara, jumlah in frekuensi.items():8 print(f"{cara:<12}{jumlah:>2} {jumlah / len(data) * 100:.0f}%")jalan kaki 3 30% sepeda 2 20% diantar 4 40% angkot 1 10%
frekuensi.get(d, 0) mengambil nilai kunci d, atau 0 jika kuncinya belum ada. Cara ini lebih ringkas daripada memakai if.
Jalankan contoh kode di pelajaran ini tanpa instalasi lewat compiler Python online.