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.
| Kelompok | Contoh fungsi | Kegunaan |
|---|---|---|
| Pembuatan array | np.array, np.arange, np.zeros | membuat ndarray dari list, rentang angka, atau buffer berisi nol |
| Operasi per elemen | np.sqrt, np.exp | fungsi matematika diterapkan ke setiap elemen |
| Agregasi dan statistik | sum, mean, std | meringkas isi array menjadi satu angka |
| Aljabar linear | np.dot, np.linalg.solve | perkalian dot dan sistem persamaan linear |
| Bilangan acak | default_rng, integers | angka acak yang dapat direproduksi lewat seed |
| I/O | np.save, np.loadtxt | menyimpan 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:
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:
[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).
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:
[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:
import numpy as np
nilai = np.array([70, 70, 80, 80])
print(nilai.mean())
print(nilai.std())Output yang Dihasilkan:
75.0
5.0Empat 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.
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:
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:
import numpy as np
rng = np.random.default_rng(42)
stok = rng.integers(10, 100, size=5)
print(stok)Output yang Dihasilkan:
[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:
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:
[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.