Penyiapan Lingkungan

Menyiapkan Python, NumPy, matplotlib, dan SciPy sebagai laboratorium statistika.

Daftar isi

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.

KomponenPeran
PythonBahasa pemrograman tempat seluruh analisis ditulis dan dijalankan.
NumPyMenyediakan array beserta operasi vektor untuk mengolah banyak angka sekaligus.
matplotlibMenggambar grafik, lalu menyimpannya menjadi berkas gambar seperti PNG.
SciPyMenyediakan 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.

bash
# tidak-dijalankan
python3 -m pip install numpy matplotlib scipy

Perintah 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.

python cek-lingkungan.py
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__}")
text Keluaran
Python     : 3.12.16
NumPy      : 2.1.3
matplotlib : 3.9.2
SciPy      : 1.14.1

Keluaran 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.

python suhu-harian.py
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")
text Keluaran
Suhu minimum : 19.0 derajat Celsius
Suhu maksimum: 29.0 derajat Celsius
Gambar tersimpan sebagai suhu-jam.png

Suhu ruangan per jam hasil pola sinus selama 24 jam
Suhu ruangan per jam hasil pola sinus selama 24 jam

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#

  1. ModuleNotFoundError muncul saat mengimpor numpy, matplotlib, atau scipy. Penyebabnya adalah library terpasang pada lingkungan yang berbeda dengan interpreter yang menjalankan skrip. Perbaikannya adalah memasang ulang paket pada lingkungan yang sama, kemudian menjalankan ulang cek-lingkungan.py.
  2. 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 dengan savefig, kebijakan yang digunakan seluruh contoh jalur ini.
  3. 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 error ModuleNotFoundError menandakan lingkungan yang tidak cocok.
  • Contoh pertama menggambar suhu 24 jam dari pola sinus, lalu menyimpannya sebagai suhu-jam.png melalui savefig.
  • Seluruh contoh jalur direproduksi pada Python 3.12.16, NumPy 2.1.3, matplotlib 3.9.2, dan SciPy 1.14.1.

Referensi#