Laboratorium statistika pada jalur ini adalah Python beserta tiga library pendukungnya, yaitu NumPy untuk perhitungan numerik, matplotlib untuk menggambar, dan SciPy untuk distribusi serta pengujian statistik. Topik ini membahas pemasangan keempat komponen tersebut, verifikasi versinya, dan satu contoh kecil yang menyimpan gambar pertama ke berkas PNG. Setelah seluruh langkahnya berjalan, contoh-contoh pada seluruh jalur ini dapat dieksekusi ulang tanpa hambatan.
Empat komponen laboratorium#
Keempat komponen memiliki peran yang saling melengkapi, sebagaimana dirangkum pada tabel berikut.
| Komponen | Peran |
|---|---|
| Python | Bahasa pemrograman tempat seluruh analisis ditulis dan dijalankan. |
| NumPy | Menyediakan array beserta operasi vektor untuk mengolah banyak angka sekaligus. |
| matplotlib | Menggambar grafik, lalu menyimpannya menjadi berkas gambar seperti PNG. |
| SciPy | Menyediakan distribusi peluang, uji statistik, dan rutinitas ilmiah lainnya. |
Pembagian peran ini menjelaskan struktur hampir semua contoh pada jalur ini. Data dibentuk dan diolah menggunakan array NumPy, hasilnya diringkas dengan angka, kemudian digambar melalui matplotlib apabila diperlukan. SciPy baru muncul pada tahap pengujian, misalnya ketika distribusi peluang atau uji statistik dibutuhkan. Ketiga library tersebut bersifat open source dan dipasang melalui pip, pengelola paket bawaan Python.
Python yang baru terpasang belum menyertakan ketiga library tersebut, sehingga pemasangan terpisah selalu diperlukan. Setiap library merilis versi barunya secara mandiri, sehingga kombinasi versi pada sebuah komputer bisa berbeda dengan komputer lain. Catatan versi pada contoh menjadi tolok ukur yang mudah dibandingkan apabila keluaran numerik di tempat lain tampak sedikit berbeda.
Pemasangan Python dan library#
Python versi 3.10 atau lebih baru menjadi prasyarat jalur ini. Pemasang resminya tersedia di python.org, dan pada banyak sistem Linux serta macOS Python sudah terpasang sebelumnya. Kepastian versinya diperiksa dengan perintah python3 --version pada terminal. Setelah Python siap, ketiga library dipasang dengan satu perintah pip, dan prosesnya berjalan serupa di Windows, macOS, maupun Linux.
# tidak-dijalankan
python3 -m pip install numpy matplotlib scipyPerintah di atas dipanggil dengan bentuk python3 -m pip, bukan pip langsung, agar paket terpasang pada interpreter yang sama dengan python3 yang akan menjalankan contoh. Nama paketnya ditulis huruf kecil semua dan urutannya tidak berpengaruh. Proses pemasangan membutuhkan koneksi internet karena paket diunduh dari repositori resmi PyPI. Apabila perintahnya ditolak karena soal izin, jalankan ulang di dalam lingkungan virtual alih-alih memaksa pemasangan global. Perintah python3 -m pip list kemudian dapat digunakan untuk menampilkan seluruh paket yang sudah terpasang.
Verifikasi pemasangan#
Cara paling andal memeriksa hasil pemasangan adalah meminta nomor versinya langsung dari Python. Skrip berikut mengimpor ketiga library beserta modul bawaan sys, kemudian mencetak versinya. Nomor versi yang tercetak menjadi pembanding langsung bagi catatan versi pada contoh jalur ini.
import sys
import matplotlib
import numpy
import scipy
print(f"Python : {sys.version.split()[0]}")
print(f"NumPy : {numpy.__version__}")
print(f"matplotlib : {matplotlib.__version__}")
print(f"SciPy : {scipy.__version__}")Python : 3.12.16
NumPy : 2.1.3
matplotlib : 3.9.2
SciPy : 1.14.1Keluaran di atas adalah bukti bahwa keempat komponen terbaca oleh interpreter yang sama. Apabila salah satu barisnya berakhir dengan error ModuleNotFoundError, library yang bersangkutan belum terpasang pada interpreter yang digunakan, bukan belum terpasang pada komputer. Penyebab paling umum adalah skrip dijalankan dari lingkungan yang berbeda dengan tempat pip memasang paketnya. Solusinya adalah mengaktifkan lingkungan yang sama, kemudian menjalankan verifikasi ini sekali lagi. Pemeriksaan dari dalam Python ini juga lebih dipercaya daripada daftar paket milik pip karena keduanya dapat menunjuk interpreter yang berbeda.
Contoh pertama: grafik suhu harian#
Contoh penutup menggabungkan NumPy dan matplotlib pada satu skrip utuh. Data yang digunakan adalah suhu ruangan per jam selama 24 jam, dibangkitkan dari pola sinus agar hasilnya deterministik dan dapat direproduksi. Array jam berisi 0 sampai 23, sedangkan array suhu dihitung untuk seluruh jam sekaligus dalam satu ekspresi vektor tanpa perulangan eksplisit. Keluaran angkanya sengaja dibuat pendek, sedangkan cerita utamanya justru terletak pada gambarnya.
import matplotlib.pyplot as plt
import numpy as np
jam = np.arange(24)
suhu = 24 + 5 * np.sin((jam - 7) * 2 * np.pi / 24)
print(f"Suhu minimum : {suhu.min():.1f} derajat Celsius")
print(f"Suhu maksimum: {suhu.max():.1f} derajat Celsius")
fig, ax = plt.subplots(figsize=(7, 4), constrained_layout=True)
ax.plot(jam, suhu, marker="o", markersize=4)
ax.set_title("Suhu ruangan per jam selama satu hari")
ax.set_xlabel("Jam (0-23)")
ax.set_ylabel("Suhu (derajat Celsius)")
ax.set_xticks(range(0, 24, 3))
ax.grid(True, alpha=0.3)
fig.savefig("suhu-jam.png", dpi=110)
print("Gambar tersimpan sebagai suhu-jam.png")Suhu minimum : 19.0 derajat Celsius
Suhu maksimum: 29.0 derajat Celsius
Gambar tersimpan sebagai suhu-jam.png
Grafik di atas menunjukkan puncak suhu sekitar jam 13 dan titik terendahnya sekitar jam 1, sesuai dengan pola sinus yang dipilih. Berkas suhu-jam.png tersimpan di direktori tempat skrip dijalankan, sehingga direktori kerja menentukan lokasi hasilnya. Grafik sederhana ini adalah bentuk paling dasar dari deskripsi visual yang terus digunakan sepanjang jalur, mulai dari histogram hingga diagram pencar. Apabila skrip dijalankan ulang, gambar yang sama dihasilkan kembali karena tidak ada unsur acak pada kodenya. Sifat deterministik semacam ini menjadi kesepakatan seluruh contoh pada jalur ini.
Kesalahan umum#
ModuleNotFoundErrormuncul saat mengimpornumpy,matplotlib, atauscipy. Penyebabnya adalah library terpasang pada lingkungan yang berbeda dengan interpreter yang menjalankan skrip. Perbaikannya adalah memasang ulang paket pada lingkungan yang sama, kemudian menjalankan ulangcek-lingkungan.py.- Program berhenti dengan pesan error ketika jendela grafik diminta pada server tanpa layar. Penyebabnya adalah pemanggilan
plt.show()yang membutuhkan tampilan grafis. Perbaikannya adalah menyimpan gambar dengansavefig, kebijakan yang digunakan seluruh contoh jalur ini. - Berkas gambar tidak ditemukan pada folder yang diperkirakan. Penyebabnya adalah skrip dijalankan dari direktori lain, sehingga PNG tersimpan di direktori kerja saat itu. Perbaikannya adalah menjalankan skrip dari folder proyek, atau memeriksa isi direktori kerja sebelum mencari gambarnya.
Ringkasan#
- Laboratorium jalur ini terdiri atas Python, NumPy, matplotlib, dan SciPy yang dipasang melalui satu perintah pip.
- Verifikasi pemasangan dilakukan dengan
cek-lingkungan.py, dan errorModuleNotFoundErrormenandakan lingkungan yang tidak cocok. - Contoh pertama menggambar suhu 24 jam dari pola sinus, lalu menyimpannya sebagai
suhu-jam.pngmelaluisavefig. - Seluruh contoh jalur direproduksi pada Python 3.12.16, NumPy 2.1.3, matplotlib 3.9.2, dan SciPy 1.14.1.
Referensi#
- Unduhan Python — Python Software Foundation — Sumber resmi pemasang Python untuk berbagai sistem operasi.
- NumPy documentation — NumPy — Rujukan resmi array NumPy, operasi vektornya, dan pembangkit angka acaknya.
- matplotlib documentation — matplotlib — Rujukan resmi pembuatan grafik dan penyimpanan berkas gambar.
- SciPy documentation — SciPy — Rujukan resmi modul ilmiah SciPy, termasuk submodul statistiknya.