Matriks adalah struktur data fundamental dalam komputasi ilmiah, analisis data, dan pembelajaran mesin. Dalam Python, cara paling efisien dan umum untuk merepresentasikan serta memanipulasi matriks adalah menggunakan pustaka pihak ketiga yang sangat populer, yaitu NumPy (Numerical Python).
NumPy menyediakan objek array multidimensi (disebut `ndarray`) yang berperforma tinggi, yang jauh lebih cepat dan lebih kaya fitur dibandingkan list Python biasa ketika berurusan dengan operasi numerik skala besar, seperti operasi matriks.
Sebelum kita masuk ke langkah-langkah praktis, penting untuk memahami keunggulan NumPy:
Representasi visual dari sebuah matriks 3x3 dalam format array NumPy.
Jika Anda belum memiliki NumPy terinstal, Anda perlu menginstalnya terlebih dahulu menggunakan pip, manajer paket standar Python. Buka terminal atau Command Prompt Anda dan jalankan perintah berikut:
pip install numpy
Konvensi standar dalam komunitas Python adalah mengimpor NumPy dengan alias np. Ini membuat penulisan kode menjadi lebih ringkas.
import numpy as np
Matriks dalam NumPy diwakili oleh array 2 dimensi (`ndim=2`). Ada beberapa cara umum untuk membuatnya:
Ini adalah cara paling intuitif. Anda mendefinisikan setiap baris matriks sebagai list di dalam list utama.
# Matriks 3x3
data_matriks = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
matriks_a = np.array(data_matriks)
print("Matriks A:")
print(matriks_a)
print(f"Bentuk (Shape): {matriks_a.shape}")
Output akan menunjukkan: Matriks 3 baris dan 3 kolom.
Seringkali diperlukan untuk menginisialisasi matriks dengan nilai nol sebelum diisi datanya nanti. Gunakan fungsi np.zeros() dengan menentukan dimensinya (baris, kolom).
# Matriks 2x4 yang seluruh elemennya bernilai nol
matriks_nol = np.zeros((2, 4))
print("\nMatriks Nol 2x4:")
print(matriks_nol)
Matriks identitas adalah matriks persegi (jumlah baris = jumlah kolom) yang memiliki nilai 1 pada diagonal utama dan 0 di tempat lain. Ini penting dalam banyak perhitungan aljabar linier. Gunakan np.eye() atau np.identity().
# Matriks Identitas 4x4
matriks_identitas = np.eye(4)
print("\nMatriks Identitas 4x4:")
print(matriks_identitas)
Untuk simulasi atau inisialisasi awal pada model pembelajaran mesin, Anda sering memerlukan matriks yang diisi dengan angka acak (misalnya, antara 0 dan 1).
# Matriks 3x2 berisi angka acak terdistribusi seragam antara 0 dan 1
matriks_acak = np.random.rand(3, 2)
print("\nMatriks Acak 3x2:")
print(matriks_acak)
Setelah matriks berhasil dibuat, NumPy memungkinkan operasi yang cepat dan mudah:
matriks_x = np.array([[10, 20], [30, 40]])
matriks_y = np.array([[1, 2], [3, 4]])
# 1. Penjumlahan Elemen demi Elemen
penjumlahan = matriks_x + matriks_y
print("\nPenjumlahan (Elemen-wise):")
print(penjumlahan)
# 2. Perkalian Skalar
perkalian_skalar = matriks_x * 5
print("\nPerkalian Skalar:")
print(perkalian_skalar)
# 3. Perkalian Matriks Sejati (Dot Product)
# Gunakan np.dot() atau operator @ (sejak Python 3.5)
perkalian_matriks = np.dot(matriks_x, matriks_y)
# atau: perkalian_matriks = matriks_x @ matriks_y
print("\nPerkalian Matriks (Dot Product):")
print(perkalian_matriks)
Membuat dan memanipulasi matriks di Python menjadi tugas yang sangat efisien berkat NumPy. Penguasaan array 2D ini adalah fondasi penting sebelum melangkah ke topik yang lebih kompleks seperti dekomposisi nilai singular (SVD) atau inversi matriks yang semuanya didukung dengan baik oleh pustaka ini.