Informatika Kelas X — Bab 6: Analisis Data
Bagian I: Visualisasi dan Interpretasi Data
Pengampu : Zuli Irawanto, ST
🎯 Tujuan Pembelajaran
Setelah mempelajari materi ini, siswa diharapkan mampu:
- Menjelaskan alasan data perlu divisualisasikan.
- Memilih jenis grafik yang tepat: batang, garis, atau lingkaran.
- Membuat grafik dengan Matplotlib lengkap dengan judul dan label sumbu.
- Membaca dan menafsirkan grafik (interpretasi), lalu menarik kesimpulan dan saran.
Mengapa Data Perlu Divisualisasikan?
Bandingkan dua cara menyajikan nilai lima siswa: deretan angka 87, 90, 84, 75, 82, atau sebuah grafik batang. Dengan grafik, kita langsung tahu siapa yang tertinggi dan terendah tanpa menghitung. Otak manusia memang jauh lebih cepat memahami gambar daripada deretan angka.
Visualisasi data adalah menyajikan data dalam bentuk grafik atau diagram agar pola, perbandingan, dan perubahan mudah dilihat. Ini tahap keempat analisis data, dan setelahnya kita masuk ke tahap kelima, yaitu interpretasi: memahami arti grafik dan mengambil keputusan.
Memilih grafik yang tepat:
| Jenis grafik | Dipakai untuk | Contoh |
|---|---|---|
| 📊 Batang (bar) | Membandingkan beberapa kelompok | Nilai tiap siswa, rata-rata tiap kelas |
| 📈 Garis (line) | Melihat perubahan dari waktu ke waktu | Perkembangan nilai tiap ulangan |
| 🥧 Lingkaran (pie) | Melihat bagian dari keseluruhan (persentase) | Proporsi predikat A, B, C, D |
Pustaka yang kita pakai adalah Matplotlib (ingat tabel pustaka di Bagian F), yang sudah terpasang di Colab. Biasanya ditulis import matplotlib.pyplot as plt.
Cara Belajar Bagian Ini
Bagian ini berisi 5 Tugas Praktik, yaitu Praktik 39 sampai 43 (melanjutkan Bagian H). Polanya masih sama: 🤔 Tebak dulu → ⌨️ Ketik & jalankan → ✅ Cocokkan → 💡 Pahami → 🏁 Tantangan mini.
nama dan nilai dari Praktik 39). Praktik 41 sampai 43 berdiri sendiri. Grafik yang tampil di Colab berupa gambar sungguhan, sedangkan di halaman ini hanya berupa gambaran, jadi tampilan warna dan bentuknya akan sedikit berbeda.🧪 Tugas Praktik 39: Grafik Batang Pertamaku
⌨️ Ketik di sel kode, lalu jalankan:
import matplotlib.pyplot as plt nama = ["Budi", "Sari", "Andi", "Dedi", "Rina"] nilai = [87, 90, 84, 75, 82] plt.bar(nama, nilai) plt.show()
✅ Hasilnya (Colab menampilkan grafik di bawah sel; ini gambarannya):
💡 Penjelasan: plt.bar(nama, nilai) membuat grafik batang: list pertama untuk sumbu mendatar (kategori), list kedua untuk tinggi batang. Kedua list harus sama panjang, seperti di Bagian D. plt.show() menampilkan grafiknya. Tanpa pustaka dan tanpa menghitung, kita sudah bisa langsung melihat perbandingannya.
🧪 Tugas Praktik 40: Menambah Judul, Label, dan Warna
⌨️ Ketik di sel kode, lalu jalankan:
plt.bar(nama, nilai, color="teal")
plt.title("Nilai Ulangan Harian")
plt.xlabel("Nama Siswa")
plt.ylabel("Nilai")
plt.ylim(0, 100)
plt.show()
✅ Hasilnya (Colab menampilkan grafik di bawah sel; ini gambarannya):
💡 Penjelasan: color mengatur warna batang, plt.title() memberi judul, dan plt.xlabel() serta plt.ylabel() memberi nama kedua sumbu. plt.ylim(0, 100) mengunci sumbu tegak dari 0 sampai 100. Sel ini memakai nama dan nilai dari Praktik 39. Grafik yang baik selalu punya judul, label sumbu, dan sumbu yang jujur.
plt.ylim(0, 100). Apakah beda tinggi batang jadi tampak lebih besar daripada kenyataannya?🧪 Tugas Praktik 41: Grafik Garis: Melihat Perkembangan
⌨️ Ketik di sel kode, lalu jalankan:
import matplotlib.pyplot as plt
ulangan = ["UH 1", "UH 2", "UH 3", "UH 4"]
nilai_budi = [70, 75, 82, 88]
plt.plot(ulangan, nilai_budi, marker="o", color="orange")
plt.title("Perkembangan Nilai Budi")
plt.xlabel("Ulangan Harian")
plt.ylabel("Nilai")
plt.ylim(0, 100)
plt.grid(True)
plt.show()
✅ Hasilnya (Colab menampilkan grafik di bawah sel; ini gambarannya):
💡 Penjelasan: plt.plot() membuat grafik garis, dan marker="o" menambah bulatan di tiap titik. plt.grid(True) menampilkan garis bantu. Garis cocok untuk data yang berurutan menurut waktu. Di sini garis naik terus, artinya nilai Budi meningkat setiap ulangan.
🧪 Tugas Praktik 42: Diagram Lingkaran: Melihat Persentase
⌨️ Ketik di sel kode, lalu jalankan:
import matplotlib.pyplot as plt
predikat = ["A", "B", "C", "D"]
jumlah = [2, 5, 2, 1]
plt.pie(jumlah, labels=predikat, autopct="%1.0f%%")
plt.title("Proporsi Predikat Siswa")
plt.show()
✅ Hasilnya (Colab menampilkan grafik di bawah sel; ini gambarannya):
💡 Penjelasan: plt.pie() membuat diagram lingkaran. labels memberi nama tiap irisan, dan autopct="%1.0f%%" menampilkan persentase pada irisan. Diagram lingkaran cocok bila jumlah irisannya sedikit dan kita ingin melihat bagian dari keseluruhan. Predikat B paling besar, yaitu 50%.
jumlah menjadi [4, 3, 2, 1]. Predikat mana yang sekarang paling besar?🧪 Tugas Praktik 43: Mini Proyek: Dari Data Kotor sampai Interpretasi
⌨️ Ketik di sel kode, lalu jalankan:
import pandas as pd
import matplotlib.pyplot as plt
mentah = {
"Nama": ["Budi", "Sari", "Andi", "Sari", "Dedi", "Rina"],
"Kelas": ["X-1", "X-1", "X-2", "X-1", "X-2", "X-1"],
"Nilai": [87, 90, None, 90, 75, 82]
}
df = pd.DataFrame(mentah)
df = df.drop_duplicates().reset_index(drop=True)
df["Nilai"] = df["Nilai"].fillna(df["Nilai"].mean())
rekap = df.groupby("Kelas")["Nilai"].mean()
print(rekap.round(1))
rekap.plot(kind="bar", color=["teal", "orange"])
plt.title("Rata-rata Nilai per Kelas")
plt.ylabel("Rata-rata Nilai")
plt.ylim(0, 100)
plt.xticks(rotation=0)
plt.show()
✅ Hasilnya (Colab menampilkan grafik di bawah sel; ini gambarannya):
Kelas X-1 86.3 X-2 79.2 Name: Nilai, dtype: float64
💡 Penjelasan: Seluruh alur analisis data berjalan di sini: koleksi (data awal), pembersihan (hapus data ganda dan isi data kosong), pengolahan (groupby), dan visualisasi (.plot(kind="bar") dari pandas, yang memakai Matplotlib di belakang layar). plt.xticks(rotation=0) menegakkan tulisan label di sumbu mendatar. Tinggal tahap terakhir: interpretasi.
“Berdasarkan grafik, rata-rata nilai kelas X-1 (sekitar 86,3) lebih tinggi sekitar 7 poin daripada kelas X-2 (sekitar 79,2). Ini menunjukkan siswa X-1 secara umum lebih menguasai materi. Namun jumlah datanya sedikit, sehingga kesimpulan ini perlu dicek dengan data yang lebih banyak. Guru dapat memberi pendampingan tambahan kepada kelas X-2.”
kind="bar" menjadi kind="line". Apakah garis cocok untuk membandingkan dua kelas? Mengapa?Cara Menafsirkan (Interpretasi) Grafik
Membuat grafik itu baru separuh jalan. Bagian terpenting adalah memahami artinya. Gunakan langkah berikut:
| Langkah | Pertanyaan pemandu |
|---|---|
| 1. Baca judul dan sumbu | Grafik ini tentang apa? Satuan dan rentang angkanya apa? |
| 2. Temukan nilai penting | Mana yang tertinggi, terendah, dan paling mencolok? |
| 3. Cari pola atau perbandingan | Naik, turun, atau stabil? Siapa atau apa yang lebih besar? |
| 4. Tarik kesimpulan | Apa artinya? Apa kemungkinan penyebabnya? |
| 5. Beri saran atau keputusan | Apa tindakan yang sebaiknya dilakukan berdasarkan data ini? |
Rangkuman Bagian I dan Perjalanan Bab 6
- Visualisasi data menyajikan data dalam grafik agar pola dan perbandingan mudah dilihat.
- Grafik batang untuk membandingkan kelompok, garis untuk perubahan dari waktu ke waktu, dan lingkaran untuk persentase bagian dari keseluruhan.
- Matplotlib:
plt.bar(),plt.plot(),plt.pie(), ditambahtitle,xlabel,ylabel, danplt.show(). - Grafik yang jujur memakai sumbu yang wajar, dan selalu memiliki judul serta label.
- Interpretasi adalah memahami makna grafik, menarik kesimpulan, dan memberi saran dengan jujur.
Perjalanan kita di Bab 6: kelima tahap analisis data di Bagian A sudah kamu praktikkan sendiri!
| Tahap analisis data | Yang kamu pelajari | Bagian |
|---|---|---|
| 1. Koleksi data | Google Colab, Python dasar, web scraping | B, C, D, E, G |
| 2. Pembersihan | Data ganda, data kosong, teks dan tipe data | H |
| 3. Pengolahan | NumPy, pandas, groupby |
F, H |
| 4. Visualisasi | Grafik batang, garis, dan lingkaran | I |
| 5. Interpretasi | Membaca grafik, kesimpulan, dan saran | I |
🌱 Pengayaan (Opsional)
Grafik bisa disimpan sebagai gambar dengan perintah plt.savefig("grafik.png") yang ditulis sebelum plt.show(). Hasilnya bisa diunduh dari panel file di Colab dan dipakai untuk laporan atau presentasi.
Setelah Bab 6, kamu bisa mencoba perangkat visualisasi profesional seperti Power BI atau Tableau (ingat bagian Pengayaan di Bagian A).
💗 Nilai Panca Cinta: Cinta Lingkungan
Visualisasi data membantu kita memahami kondisi lingkungan dan mengambil tindakan nyata: berapa banyak sampah yang kita hasilkan, kapan paling banyak, dan bagaimana menguranginya. Keputusan yang diambil berdasarkan data yang jujur akan membuat kita lebih bijak merawat bumi. Itulah wujud cinta lingkungan: peduli, mengamati, lalu bertindak.
Refleksi: Menurutmu, hal apa di sekitar kelasmu (sampah, listrik, air) yang perlu dicatat datanya agar bisa dikurangi?
📝 Tugas Siswa
Tugas Mandiri: Grafik dan Interpretasi Sampah Kelas
Setelah menyelesaikan Praktik 39–43, buat satu notebook baru bernama Tugas_Grafik_NamaKamu. Data berikut adalah jumlah sampah (kilogram) yang dihasilkan sebuah kelas selama satu minggu sekolah:
hari = ["Senin", "Selasa", "Rabu", "Kamis", "Jumat"] sampah_kg = [12, 9, 15, 7, 6]
Kerjakan:
- Buat grafik batang dengan judul, label sumbu, dan warna pilihanmu.
- Buat grafik garis dengan titik (
marker) dari data yang sama. - Hitung total dan rata-rata sampah per hari dengan Python.
- Tulis interpretasi dalam sel teks (3–4 kalimat): hari apa paling banyak dan paling sedikit, bagaimana pola dari awal sampai akhir pekan, dan satu saran untuk mengurangi sampah.
| Pertanyaan | Jawaban |
|---|---|
| Tautan (link) notebook | … |
| Total dan rata-rata sampah | … |
| Hari dengan sampah terbanyak dan tersedikit | … |
| Interpretasi dan saranmu | … |
| Kendala yang dialami & cara mengatasinya | … |
Rancanglah satu kebiasaan baru di kelasmu untuk mengurangi sampah. Data apa yang akan kamu catat untuk membuktikan bahwa kebiasaan itu berhasil?Jawaban: …………………………………………………………………
Kerjakan di Colab, lalu kumpulkan tautan notebook melalui link/aplikasi yang diinformasikan guru (sesuai kondisi dan kesepakatan dengan guru pengampu). Jika tidak memungkinkan memakai laptop, boleh dicatat dan difoto di buku tugas.