Informatika Kelas X — Bab 6: Analisis Data
Bagian F: Pustaka (Library) Python untuk Analisis Data
Pengampu : Zuli Irawanto, ST
🎯 Tujuan Pembelajaran
Setelah mempelajari materi ini, siswa diharapkan mampu:
- Menjelaskan pengertian pustaka (library) dan fungsinya dalam pemrograman.
- Memakai perintah
importuntuk memanggil pustaka. - Menyebutkan fungsi pustaka NumPy, pandas, dan Matplotlib dalam analisis data.
- Membuat dan menjelajahi tabel data (DataFrame) menggunakan pandas.
Apa Itu Pustaka (Library)?
Di Bagian E kita menghitung total dan rata-rata dengan menulis perulangan sendiri. Bayangkan kalau setiap kali analisis kita harus menulis semua rumus dari nol. Capek, bukan? Untungnya, para programmer di seluruh dunia sudah menulis kode yang rapi, cepat, dan teruji, lalu membagikannya. Kumpulan kode siap pakai itu disebut pustaka atau library.
Pustaka itu seperti kotak perkakas. Tukang tidak perlu membuat palu sendiri setiap kali mau memaku. Ia cukup mengambil palu dari kotak perkakasnya. Di Python, kita “mengambil” perkakas itu dengan perintah
import.Tiga pustaka paling populer untuk analisis data:
Kabar baiknya, ketiga pustaka ini sudah terpasang di Google Colab, jadi kita tinggal memakainya.
Cara Belajar Bagian Ini
Bagian ini berisi 5 Tugas Praktik, yaitu Praktik 24 sampai 28 (melanjutkan Bagian E). Polanya masih sama: 🤔 Tebak dulu → ⌨️ Ketik & jalankan → ✅ Cocokkan → 💡 Pahami → 🏁 Tantangan mini.
🧪 Tugas Praktik 24: Mengenal import
math untuk perhitungan matematika. Menurutmu, berapa akar kuadrat dari 81?⌨️ Ketik di sel kode, lalu jalankan:
import math print(math.sqrt(81)) print(math.pi)
✅ Hasilnya:
9.0 3.141592653589793
💡 Penjelasan: Perintah import math “mengambil” pustaka math dari kotak perkakas. Sesudah itu, kita memakai isinya dengan format nama_pustaka.nama_fungsi. Di sini math.sqrt(81) menghitung akar kuadrat, dan math.pi adalah nilai π. Tanpa import, Python akan menampilkan NameError karena belum tahu apa itu math.
🧪 Tugas Praktik 25: NumPy: Menghitung Angka dengan Cepat
⌨️ Ketik di sel kode, lalu jalankan:
import numpy as np nilai = np.array([87, 65, 90, 72, 95]) print(nilai.mean()) print(nilai.max()) print(nilai.min()) print(nilai + 5)
✅ Hasilnya:
81.8 95 65 [ 92 70 95 77 100]
💡 Penjelasan: Kata as np memberi nama singkat agar tidak repot mengetik numpy berulang kali. np.array([...]) membuat array NumPy dari sebuah list. Dengan array, .mean() langsung menghitung rata-rata (81,8, sama dengan di Bagian A!), dan nilai + 5 menambah 5 pada semua elemen sekaligus tanpa perulangan. Pada list biasa, hal itu tidak bisa.
nilai * 2 dan nilai.sum(). Tebak dulu hasilnya!🧪 Tugas Praktik 26: pandas: Membuat Tabel Data (DataFrame)
⌨️ Ketik di sel kode, lalu jalankan:
import pandas as pd
data = {
"Nama": ["Budi", "Sari", "Andi"],
"Nilai": [87, 90, 75]
}
df = pd.DataFrame(data)
print(df)
✅ Hasilnya:
Nama Nilai 0 Budi 87 1 Sari 90 2 Andi 75
💡 Penjelasan: pandas mengolah data dalam bentuk tabel yang disebut DataFrame (singkatnya df). Data awalnya kita tulis dalam kurung kurawal { } yang disebut dictionary: setiap pasangan berbentuk "nama kolom": [isi kolom]. Nomor di kiri (0, 1, 2) adalah indeks baris yang dibuat otomatis, mirip indeks list di Bagian D. Tips: di Colab, kalau kamu menulis df saja di baris terakhir sel (tanpa print), tabelnya tampil lebih cantik.
🧪 Tugas Praktik 27: Menjelajahi Isi DataFrame
⌨️ Ketik di sel kode, lalu jalankan:
print(df["Nilai"].mean()) print(df["Nilai"].max()) print(df.shape) print(df[df["Nilai"] >= 80])
✅ Hasilnya:
84.0 90 (3, 2) Nama Nilai 0 Budi 87 1 Sari 90
💡 Penjelasan: Satu kolom diambil dengan df["Nilai"], lalu kita bisa langsung memakai .mean() dan .max(). df.shape menunjukkan ukuran tabel: 3 baris dan 2 kolom. Baris terakhir menyaring (filter) data: df[df["Nilai"] >= 80] hanya menampilkan baris yang memenuhi kondisi. Ini sama dengan if di Bagian E, tetapi tanpa perulangan. Praktik ini memakai variabel df dari Praktik 26, jadi jalankan sel itu dulu.
🧪 Tugas Praktik 28: Menambah Kolom dan Mengurutkan Data
⌨️ Ketik di sel kode, lalu jalankan:
df["Bonus"] = df["Nilai"] + 5
df_urut = df.sort_values("Nilai", ascending=False)
print(df_urut)
✅ Hasilnya:
Nama Nilai Bonus 1 Sari 90 95 0 Budi 87 92 2 Andi 75 80
💡 Penjelasan: Menulis df["Bonus"] = ... membuat kolom baru yang dihitung untuk semua baris sekaligus. sort_values("Nilai", ascending=False) mengurutkan berdasarkan kolom Nilai dari yang terbesar (ascending=False artinya menurun). Perhatikan angka indeks di kiri: Sari tetap bernomor 1 karena nomor itu melekat pada barisnya. Selamat! 🎉 Kamu sudah menganalisis data dengan pandas.
ascending=True. Bagaimana urutan tabelnya sekarang?Rangkuman
- Pustaka (library) adalah kumpulan kode siap pakai yang dipanggil dengan
import. - Memakai isi pustaka:
nama_pustaka.nama_fungsi. Nama singkat dibuat denganas, misalnyaimport numpy as np. - NumPy menghitung angka dengan cepat memakai array, misalnya
.mean()dan operasi pada semua elemen sekaligus. - pandas mengolah data berbentuk tabel yang disebut DataFrame. Isi awalnya bisa dibuat dari dictionary.
- Dengan pandas kita bisa mengambil kolom (
df["Nilai"]), menyaring baris, menambah kolom, dan mengurutkan data. - Matplotlib untuk membuat grafik akan kita pakai di Bagian I.
🌱 Pengayaan (Opsional)
Pustaka yang belum terpasang di Colab dapat dipasang dengan perintah yang diawali tanda seru. Contoh:
!pip install nama_pustaka
Selain itu, coba jalankan df.describe() pada DataFrame nilaimu. pandas akan menampilkan ringkasan statistik (jumlah data, rata-rata, nilai terkecil, nilai terbesar, dan lainnya) sekaligus!
Di Bagian G nanti kita akan memakai pustaka lain untuk mengambil data otomatis dari internet (web scraping).
💗 Nilai Panca Cinta: Cinta Ilmu Pengetahuan
Pustaka lahir dari kerja ribuan orang yang menuliskan ilmunya lalu membagikannya agar bisa dipakai siapa saja. Dengan memakai pustaka, kita belajar dari ilmu yang sudah ada tanpa mengulang dari nol, sambil tetap rendah hati dan terus ingin tahu, misalnya dengan membaca dokumentasinya. Menghargai karya orang lain, mau belajar dari mereka, dan tidak berhenti mencari tahu adalah wujud nyata dari cinta ilmu pengetahuan.
Refleksi: Ilmu atau keterampilan apa yang kamu dapat dari orang lain (guru, teman, atau internet)? Bagaimana caramu menghargai dan memanfaatkannya?
📝 Tugas Siswa
Tugas Mandiri: Tabel Nilai Kelompokku
Setelah menyelesaikan Praktik 24–28, buat satu notebook baru bernama Tugas_Pandas_NamaKamu, lalu kerjakan:
- Buat DataFrame berisi 4 siswa (boleh nama rekaan) dengan kolom
Nama,Matematika, danInformatika. Tampilkan denganprint(df). - Hitung rata-rata kolom Matematika dan kolom Informatika.
- Tampilkan siswa yang nilai Informatikanya 80 ke atas.
- Tambahkan kolom
Rataberisi rata-rata dua nilai tiap siswa, lalu urutkan dari yang tertinggi.
| Pertanyaan | Jawaban |
|---|---|
| Tautan (link) notebook | … |
| Rata-rata Matematika dan Informatika | … |
| Siswa dengan nilai Informatika 80 ke atas | … |
| Siswa di urutan pertama (kolom Rata) | … |
| Kendala yang dialami & cara mengatasinya | … |
Ceritakan satu hal baru yang kamu pelajari dari karya atau ilmu orang lain (buku, video, atau pustaka Python). Bagaimana kamu menghargai sumbernya dan memanfaatkannya?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.