Halaman ini menutup course. Sepanjang bab-bab sebelumnya kita menemui istilah teknis yang hampir selalu berbahasa Inggris, dan saat membaca dokumentasi atau buku lain, istilah-istilah itu akan muncul lagi tanpa penjelasan ulang. Glosarium berikut merangkum istilah yang paling sering dipakai, lengkap dengan arti singkat dan petunjuk bab yang membahasnya secara mendalam.
Simpan halaman ini sebagai rujukan cepat. Untuk daftar istilah resmi yang lebih lengkap (berbahasa Inggris), halaman glossary dokumentasi tersedia di situs NumPy.
Istilah Inti Course #
| Istilah | Arti singkat | Dibahas pada chapter |
|---|---|---|
| ndarray | Struktur data inti NumPy: array berdimensi-n dengan seluruh elemen bertipe sama | Konsep ndarray |
| dtype | Tipe data elemen array, misalnya int64 atau float64 | Atribut dtype |
| shape | Ukuran array per dimensi; (2, 3) berarti 2 baris dan 3 kolom | Atribut shape |
| scalar | Nilai tunggal; dalam NumPy berupa array 0-dimensi atau objek seperti np.float64(27.5) | Broadcasting dengan Scalar |
| axis | Nomor dimensi tempat operasi bekerja; axis=0 melintasi baris, axis=1 melintasi kolom | Operasi Berdasarkan Axis |
| broadcasting | Aturan penyebaran bentuk agar array dengan shape berbeda dapat dioperasikan tanpa salinan | Aturan Broadcasting |
| ufunc | Fungsi universal yang beroperasi per elemen, misalnya np.exp dan np.add | Fungsi Universal (ufunc) |
| vectorization | Menuliskan operasi atas array secara keseluruhan tanpa loop Python eksplisit | Pengenalan Vectorization |
| view | Array baru yang berbagi buffer memori dengan array aslinya | View vs Copy |
| copy | Array baru dengan buffer memori sendiri; perubahan pada salinan tidak menyentuh aslinya | View vs Copy |
| stride | Jumlah byte yang dilompati untuk berpindah satu langkah di tiap dimensi | Strides dan Memory Access |
| mask | Array boolean yang menandai elemen mana yang diambil atau ditutup | Masking dan Conditional Selection |
| NaN | “Not a number”; penanda nilai numerik yang hilang atau tidak sah | NaN dan Infinity |
| fancy indexing | Mengindeks dengan array atau list indeks; hasilnya selalu array baru | Fancy Indexing |
| flatten / ravel | Mengubah array menjadi satu dimensi; flatten selalu menyalin, ravel dapat mengembalikan view | flatten dan ravel |
| reduce | Menekan satu axis menjadi satu nilai dengan operasi berulang, misalnya np.add.reduce | ufunc Lanjutan |
| aggregate | Fungsi yang merangkum banyak elemen menjadi satu angka, misalnya sum dan mean | sum dan prod |
| structured array | Array yang setiap elemennya terdiri atas beberapa field bertipe berbeda | Structured Array |
| memmap | Array yang menyimpan datanya di file dan memuat bagian yang dibutuhkan sesuai permintaan | Memory-mapped Array |
| RNG / Generator | Pembangkit bilangan acak modern berbasis objek Generator | default_rng dan Generator |
| seed | Nilai awal yang menentukan urutan angka acak sehingga hasil dapat direproduksi | Reproducibility dan Random Seed |
Istilah dalam Kode #
Empat istilah pertama — shape, axis, scalar, dan broadcasting — paling sering membingungkan pemula karena abstrak. Blok berikut menampilkannya dalam satu layar:
import numpy as np
a = np.arange(6).reshape(2, 3)
print("sum(axis=0):", a.sum(axis=0))
print("sum(axis=1):", a.sum(axis=1))
print(a + 10)Output yang Dihasilkan:
sum(axis=0): [3 5 7]
sum(axis=1): [ 3 12]
[[10 11 12]
[13 14 15]]Array ber-shape (2, 3) diringkas dua arah: axis=0 menjumlahkan tiap kolom sehingga tersisa satu nilai per kolom, axis=1 menjumlahkan tiap baris. Baris terakhir memperlihatkan broadcasting dengan scalar 10: satu angka disebarkan ke seluruh elemen tanpa loop.
Pasangan view dan copy paling mudah dipahami lewat eksperimen mutasi:
import numpy as np
a = np.arange(4)
v = a[1:3] # slice -> view
c = a[[1, 2]] # fancy indexing -> copy
print("v.base is a:", v.base is a, "| c.base is a:", c.base is a)
v[0] = 99
print("a setelah mutasi view:", a)Output yang Dihasilkan:
v.base is a: True | c.base is a: False
a setelah mutasi view: [ 0 99 2 3]Mari kita bedah baris demi baris:
- Baris 3 (
v = a[1:3]): slicing mengembalikan view; atributv.basemenunjuk kea, bukti kedua array berbagi buffer yang sama. - Baris 4 (
c = a[[1, 2]]): fancy indexing mengembalikan copy dengan buffer sendiri, sehinggac.base is abernilaiFalse. - Baris 5 (
print(...)): kedua statusbasedicetak sebagai bukti statis yang bisa diulang siapa pun. - Baris 6 (
v[0] = 99): mengubah view turut mengubaha— posisi ke-1 berubah dari1menjadi99, persis perilaku yang diwaspadai pada bab View vs Copy.
Terakhir, istilah NaN, mask, dan nan-aware aggregation sering muncul bersama saat bekerja dengan data yang tidak sempurna:
import numpy as np
suhu = np.array([27.5, np.nan, 30.0])
mask = np.isnan(suhu)
print("mask :", mask)
print("nanmean:", np.nanmean(suhu))
print("suhu[~mask]:", suhu[~mask])Output yang Dihasilkan:
mask : [False True False]
nanmean: 28.75
suhu[~mask]: [27.5 30. ]np.isnan adalah ufunc yang menghasilkan mask boolean; np.nanmean menghitung rata-rata dengan melewati NaN; dan suhu[~mask] memakai mask terbalik untuk menyaring elemen yang valid. Tiga pola ini adalah inti bab NaN dan Infinity, Masking dan Conditional Selection, dan NaN-aware Aggregation.
Dengan glosarium ini, setiap istilah yang muncul di dokumentasi, buku, atau tutorial kini punya tempat kembali: arti singkatnya di tabel, dan penjelasan penuhnya pada chapter yang dirujuk.