Dokumentasi NumPy memuat ratusan fungsi, dan menghafal semuanya bukan cara belajar yang efektif. Pendekatan yang lebih hemat tenaga: kenali enam kelompok kegunaan utama, lalu pelajari fungsi di dalamnya sesuai kebutuhan. Tabel berikut menjadi peta kita sepanjang bab ini.

KelompokContoh fungsiKegunaan
Pembuatan arraynp.array, np.arange, np.zerosmembuat ndarray dari list, rentang angka, atau buffer berisi nol
Operasi per elemennp.sqrt, np.expfungsi matematika diterapkan ke setiap elemen
Agregasi dan statistiksum, mean, stdmeringkas isi array menjadi satu angka
Aljabar linearnp.dot, np.linalg.solveperkalian dot dan sistem persamaan linear
Bilangan acakdefault_rng, integersangka acak yang dapat direproduksi lewat seed
I/Onp.save, np.loadtxtmenyimpan dan membaca array dari file

Setiap kelompok didemonstrasikan dengan satu blok kode pendek yang memakai data sehari-hari: harga, stok, dan nilai ujian. Semua blok bersifat mandiri — selalu diawali import numpy as np — dan diuji pada NumPy 2.1.3.

Pembuatan Array #

Tiga fungsi ini adalah titik masuk paling umum menuju sebuah ndarray:

python
import numpy as np

harga = np.array([15000, 24000, 8000])   # dari list Python
nomor = np.arange(0, 10, 2)              # 0, 2, 4, 6, 8
stok = np.zeros(3)                       # tiga slot berisi 0.0
print(harga)
print(nomor)
print(stok)

Output yang Dihasilkan:

text
[15000 24000  8000]
[0 2 4 6 8]
[0. 0. 0.]

np.array mengonversi list Python menjadi ndarray. np.arange(start, stop, step) menghasilkan rentang angka beraturan; batas atas stop tidak ikut disertakan, sehingga np.arange(0, 10, 2) berhenti di 8. np.zeros(n) membuat n elemen berisi nol — perhatikan tanda desimal pada output: tipenya float, bukan integer.

Operasi Matematika per Elemen #

Fungsi seperti np.sqrt dan np.exp bekerja pada setiap elemen tanpa loop yang kita tulis sendiri. NumPy menyebut fungsi jenis ini ufunc (universal function).

python
import numpy as np

luas = np.array([4, 9, 16, 25])
print(np.sqrt(luas))
print(np.exp(np.array([0.0, 1.0])))

Output yang Dihasilkan:

text
[2. 3. 4. 5.]
[1.         2.71828183]

Baris pertama menghitung panjang sisi dari empat luas persegi: akar dari 4, 9, 16, dan 25 adalah 2, 3, 4, dan 5. Baris kedua menghitung e pangkat 0 dan e pangkat 1; angka 2.71828183 hanya tampilan terpotong delapan digit, nilai yang tersimpan di memori tetap presisi penuh.

Agregasi dan Statistik #

Agregasi menyusutkan sebuah array menjadi satu angka ringkasan. Method mean, std, dan sum — beserta fungsi padanannya seperti np.mean — adalah peralatan statistik deskriptif yang paling sering dipakai:

python
import numpy as np

nilai = np.array([70, 70, 80, 80])
print(nilai.mean())
print(nilai.std())

Output yang Dihasilkan:

text
75.0
5.0

Empat nilai ujian di atas memiliki rata-rata 75.0 dan simpangan baku 5.0. Perbedaan antara method (nilai.mean()) dan fungsi (np.mean(nilai)) hanyalah gaya penulisan; hasil keduanya identik.

Aljabar Linear #

Kelompok ini menghitung operasi vektor dan matriks. Dua contoh yang paling sering muncul: perkalian dot dan penyelesaian sistem persamaan linear dengan np.linalg.solve.

python
import numpy as np

harga = np.array([15000, 8000])
terjual = np.array([3, 2])
print(np.dot(harga, terjual))

A = np.array([[3.0, 2.0], [1.0, 1.0]])
b = np.array([66000.0, 25000.0])
print(np.linalg.solve(A, b))

Output yang Dihasilkan:

text
61000
[16000.  9000.]

np.dot menjumlahkan hasil kali elemen yang berpasangan: 15000×3 + 8000×2 = 61000 — total pendapatan dua jenis barang. np.linalg.solve menyelesaikan sistem persamaan 3x + 2y = 66000 dan x + y = 25000, misalnya mencari harga sebuah buku dan sebuah pulpen: buku 16000 rupiah, pulpen 9000 rupiah.

Bilangan Acak yang Dapat Direproduksi #

Simulasi dan pengujian membutuhkan angka acak yang bisa dihasilkan ulang secara persis. API modern NumPy memakai generator ber-seed:

python
import numpy as np

rng = np.random.default_rng(42)
stok = rng.integers(10, 100, size=5)
print(stok)

Output yang Dihasilkan:

text
[18 79 68 49 48]

Baris pertama membuat objek Generator dengan seed 42; seed yang sama selalu menghasilkan deret angka yang sama, di mesin mana pun. rng.integers(10, 100, size=5) mengambil lima bilangan bulat acak dari 10 sampai 99 — batas atas 100 tidak ikut disertakan, serupa dengan perilaku np.arange.

Menyimpan dan Membaca Data #

NumPy menyediakan format biner .npy untuk menyimpan array beserta tipenya, serta rutinitas teks untuk data berformat CSV sederhana:

python
import numpy as np

stok = np.array([120, 45, 230, 88])
np.save("stok.npy", stok)
print(np.load("stok.npy"))

np.savetxt("stok.csv", stok, fmt="%d")
print(np.loadtxt("stok.csv"))

Output yang Dihasilkan:

text
[120  45 230  88]
[120.  45. 230.  88.]

np.save menulis file stok.npy dan np.load membacanya kembali tanpa kehilangan tipe data. Untuk jalur teks, np.savetxt menulis berkas dengan pola format fmt="%d" (bilangan bulat), lalu np.loadtxt membacanya kembali.

Enam kelompok di atas menutupi sebagian besar kebutuhan harian. Fungsi lanjutan seperti manipulasi bentuk array, broadcasting, dan indexing kita bedah pada section-section berikutnya.