Operasi Matriks pada Python Menggunakan Numpy
Matriks adalah susunan angka yang berbentuk kotak, dengan ukuran NxM. Dimana N adalah jumlah baris dan M adalah jumlah kolom. Biasanya, matrix digunakan untuk menyatakan N baris data dimana masing-masing baris memiliki M komponen.
Matriks sangat penting dalam dunia pemrograman. Banyak sekali proses kalkulasi yang membutuhkan data dalam bentuk matriks. Termasuk dalam pemrograman Python.
Sayangnya, Python secara native tidak memiliki bentuk data matriks secara khusus. Sehingga harus menggunakan bentuk data lain sebagai ganti matriks.
Misal pada proses pembuatan matriks identitas menggunakan Python, digunakan list Python sebagai pengganti matriks. Tentu saja banyak kekurangan ketika menggunakan list sebagai matriks.
Beruntung sekali, terdapat modul Numpy, yang merupakan salah satu modul Python untuk menangani berbagai proses kalkulasi matematika. Modul Numpy menyediakan bentuk matriks tersendiri, yang mendukung berbagai operasi matriks.
Matriks Numpy Ndarray
Matriks pada numpy adalah sebuah object yang disebut sebagai Ndarray. Ada berbagai cara membuat Ndarray, salah satunya adalah menggunakan function np.zeros((n, m)).
Biasanya numpy diimport menggunakan inisial np, dan zeros adalah method untuk membuat matriks kosong. Ketika dijalankan di Python, kira-kira seperti ini:
2
3 A = np.zeros((3, 3))
4 print(A)
out:
array([[0., 0., 0.,],
[0., 0., 0.,],
[0., 0., 0.,]])
Pertama import dulu numpy sebagai np, alias ini akan digunakan pada code numpy pada artikel ini. Kemudian dibuat matriks menggunakan method .zeros((n, m)), dihasilkan matriks 3 x 3 dan elemen-elemennya berisi angka 0.
Mengakses Elemen Matriks Numpy Ndarray
Setelah berhasil membuat matriks tentunya kita ingin mengganti isi dari cell matriks, atau mengambil nilainya untuk berbagai keperluan. Elemen matriks Ndarray dapat diakses dengan menambahkan tanda [] di depan variabel nya.
Misalkan matriks A di atas, maka elemennya dapat diakses dengan cara:
row adalah nomor baris, dan col adalah nomor colom. Ingat, index pada Python dimulai dari angka 0. Dengan mengakses elemen matriks seperti di atas, kita dapat mengganti elemen matriks ataupun mengambil nilainya. Contohnya seperti di bawah ini:
2 for j in range(3):
3 A[i, j] = i*j
4
5 elemen = A[0, 1]
6
7 print(A)
9 print("Elemen matriks A kolom baris ke-1 kolom ke-2 adalah:", elemen)
out:
array([[0, 0, 0],
[0, 1, 2],
[0, 2, 4]])
"Elemen matriks A kolom baris ke-1 kolom ke-2 adalah: 0"
Contoh di atas adalah script untuk mengubah elemen matriks A pada contoh sebelumnya, kemudian mengambil salah satu elemennya.
- For loop pada baris ke 1 dan 2 digunakan untuk mengakses row dan column. Dimana i sebagai row, dan j sebagai column. Karena jumlah row dan columnya sama, jadi seolah tidak ada perbedaan.
- Kemudian baris ke-3 digunakan untuk mengakses dan mengubah elemen matriks baris ke-i kolom ke-j. Nilainya diganti dengan i*j.
- Karena dilakukan for loop, maka semua elemen matriks A pada setiap baris dan kolom akan berubah. Ingat, range dari i dan j harus sesuai dengan jumlah baris dan kolom matriks yang diakses.
- Kemudian dilanjutkan mengambil angka dari matriks pada baris ke-5. Ingat tentang indexing Python, elemen matriks yang diambil adalah baris ke-1 kolom ke-2, dan disimpan pada variabel elemen.
- Kemudian di-print, matriks A dan elemen yang diambil.
Script Python di atas menggunakan for loop hanya sebagai contoh agar mudah dipahami. Pada dasarnya, matriks Numpy atau Ndarray memiliki fitur untuk mengakses elemennya tanpa menggunakan loop. Fitur tersebut akan membuat proses kalkulasi menjadi sangat cepat.
Kalkulasi Data Pada Kolom Matriks Numpy Ndarray
Misalkan kita mau mengambil data dalam satu kolom, kemudian mengudratkannya. Dapat dilakukan dengan mudah tanpa menggunakan for loop. Seperti ini script Python nya.
2 print(B)
out:
[0. 1. 4.]
Masih menggunakan matriks A dari contoh sebelumnya. Script diatas mengambil kolom ke-2 dari matriks A, kemudian menguadratkannya. Tanda (:) pada indeks baris artinya semua baris pada kolom tersebut diambil. Dan bisa langsung dikuadratkan semua tanpa menggunakan for loop. Keren bukan.
Kalkulasi Data Pada Baris Matriks Numpy Ndarray
Sama seperti contoh sebelumnya, tapi kali ini adalah baris yang diambil. Sudah kebayang kan prosesnya?. Tepat sekali, proses untuk mengambil baris dan menerapkan proses kalkulasi matriks Ndarray seperti ini:
2 print(B)
out:
[0. 1. 4.]
Kebalikan dari contoh sebelumnya, masih menggunakan matriks A, tapi sekarang yang diambil dan dihitung adalah data baris ke-2. Tanda (:) di bagian kolom indeks, sehingga semua kolom pada baris ke-2 diambil.
Penjumlahan Matriks Numpy Ndarray
Penjumlahan matriks menggunakan list pada Python Native mungkin cukup ribet untuk dilakukan, karena harus menambahkan secara manual setiap elemennya menggunakan for loop. Menggunakan Numpy Ndarray, penjumlahan matriks cukup praktis dengan menjumlahkan variabel masing-masing matriks.
Dimana A dan B adalah variabel yang berisi Ndarray. Tapi harus ingat, matriks A dan B harus memiliki dimensi yang sama, karena penjumlahan matriks harus antara 2 matriks yang ukurannya sama.
Perkalian Dot Matriks Numpy Ndarray
Perkalian dot matriks, atau biasa disebut dot product, adalah salah satu operasi matriks yang cukup sering digunakan. Syaratnya adalah matriks pertama harus memiliki jumlah kolom yang sama dengan jumlah baris matriks kedua. Hasil operasi matriks tersebut akan menghasilkan matriks baru dengan dimensi (Na, Mb), dimana Na adalah jumlah baris matriks a, dan Mb adalah jumlah kolom matriks b.
Prosesnya pada Numpy Ndarray dapat dilakukan dengan method np.dot()
Dimana C adalah hasil perkalian atau dot product dari matriks A dan B
Posting Komentar untuk "Operasi Matriks pada Python Menggunakan Numpy"