Interpreter Python memiliki dua wajah: menjalankan file skrip, dan mode interaktif yang mengevaluasi setiap baris seketika setelah Enter ditekan. Mode interaktif — sering disebut REPL (Read-Eval-Print Loop) — adalah lab eksperimen kita: mencoba fungsi NumPy, melihat hasilnya tanpa menulis file, lalu menyunting percobaan berikutnya.

Bab ini memakai keduanya. Kita menulis satu skrip kecil dan menjalankannya, lalu mengulang percobaan serupa di REPL untuk merasakan perbedaan alurnya.

Simpan kode berikut sebagai demo_numpy.py (nama file ditandai pada header blok):

python demo_numpy.py
import numpy as np

harga = np.array([15000, 22000, 18750])
jumlah = np.array([3, 1, 2])
total = harga * jumlah

print("Total per item    :", total)
print("Total keseluruhan :", total.sum())
print("Rata-rata harga   :", harga.mean())

Output yang Dihasilkan:

text
Total per item    : [45000 22000 37500]
Total keseluruhan : 104500
Rata-rata harga   : 18583.333333333332

Mari kita bedah baris demi baris:

  1. Baris 1 (import numpy as np): memuat library NumPy dan memberinya alias np — konvensi yang dipakai hampir seluruh dokumentasi NumPy.
  2. Baris 3–4: dua list Python dikonversi menjadi array NumPy; berkat konversi itu, operasi aritmetika berikutnya bekerja pada seluruh elemen sekaligus.
  3. Baris 5 (total = harga * jumlah): perkalian element-wise — elemen pertama dikalikan elemen pertama, elemen kedua dikalikan elemen kedua, dan seterusnya; hasilnya [45000 22000 37500].
  4. Baris 7–9: method .sum() menjumlahkan seluruh elemen array, dan .mean() menghitung rata-ratanya; keduanya dicetak lewat print().

Cara menjalankannya: dari folder tempat file berada, panggil interpreter disertai nama file:

bash
python3 demo_numpy.py

Output yang Dihasilkan:

text
Total per item    : [45000 22000 37500]
Total keseluruhan : 104500
Rata-rata harga   : 18583.333333333332

Bentuk python3 nama_file.py adalah pola baku untuk mengeksekusi skrip: interpreter membaca file dari atas ke bawah, lalu selesai setelah baris terakhir.

Eksperimen Langsung di REPL #

Statement yang sama juga bisa diketik satu per satu di mode interaktif. Jalankan python3 tanpa argumen — interpreter menyapa dengan nomor versinya dan menampilkan prompt >>> — lalu ketik baris-baris berikut satu per satu:

bash
# notest
python3
>>> import numpy as np
>>> harga = np.array([15000, 22000, 18750])
>>> harga * 2
array([30000, 44000, 37500])
>>> harga.mean()
np.float64(18583.333333333332)
>>> exit()

Dua perbedaan penting dibanding skrip:

  • Ekspresi yang diketik langsung menampilkan hasilnya tanpa perlu print() — REPL mencetak representasi nilai setiap ekspresi.
  • Variabel tetap tersimpan antar baris; harga masih dikenali berapa baris pun kemudian. Sifat inilah yang membuat REPL nyaman untuk eksperimen bertahap.

Catatan kecil: nilai skalar NumPy ditampilkan REPL dengan pembungkus np.float64(...). Angka di dalamnya identik dengan hasil print() pada skrip; pembungkus tersebut hanya gaya tampilan NumPy 2 ketika sebuah nilai ditampilkan langsung. Untuk keluar dari REPL, ketik exit() atau tekan Ctrl-D (Linux/macOS); di Windows, tekan Ctrl-Z lalu Enter.

Bila eksperimen REPL ingin dipertahankan, kita menyimpannya sebagai skrip — ekspresi yang ingin ditampilkan diberi print():

python
import numpy as np

suhu = np.array([27.5, 28.1, 26.9])
print(suhu + 0.5)
print(suhu.mean())

Output yang Dihasilkan:

text
[28.  28.6 27.4]
27.5

Baris suhu + 0.5 menaikkan seluruh pengukuran setengah derajat tanpa loop, dan suhu.mean() merangkum ketiga pengukuran menjadi satu angka. Kedua statement ini juga dapat diketik langsung di REPL; hasilnya sama, hanya tampil tanpa print().

IPython, REPL yang Ditingkatkan #

Proyek IPython menyediakan REPL dengan pengalaman lebih baik: pelengkapan otomatis dengan tombol Tab, pewarnaan sintaks, riwayat perintah, dan magic command yang diawali % (misalnya %timeit untuk mengukur waktu eksekusi). IPython tidak wajib di course ini; bila ingin mencobanya, pasang dengan pip install ipython di dalam virtual environment, lalu jalankan perintah ipython. Mesin yang sama menjadi dasar Jupyter Notebook pada Chapter Menggunakan Jupyter Notebook.