BAB II
MATRIKS
I. TUJUAN
● Mahasiswa dapat membuat matriks dan melakukan fungsi-fungsi dalam matriks
menggunakan Python dengan library NumPy.
● Mahasiswa dapat melakukan operasi dalam matriks menggunakan NumPy.
II. PENDAHULUAN
Matriks adalah kelompok bilangan yang disusun dalam bentuk persegi atau persegi
Panjang yang terdiri atas baris-baris atau kolom-kolom. Dengan library NumPy di Python,
berbagai operasi matriks seperti penjumlahan, pengurangan, perkalian, invers, transpose,
dan lainnya dapat dilakukan secara efisien. NumPy menyediakan berbagai fungsi untuk
memanipulasi matriks, seperti operasi aljabar matriks dan operasi elemen per elemen.
NumPy memungkinkan perhitungan numerik yang mudah untuk berbagai aplikasi.
Operasi Penjumlahan dan Pengurangan
Operasi penjumlahan dua matriks, A+B, dan selisih dua matriks, A–B, terdefinisi apabila
matrik A dan B berukuran sama. Penjumlahan menambahkan elemen-elemen yang
bersesuaian dalam matriks, sedangkan pengurangan mengurangkannya. Walau demikian,
penjumlahan atau pengurangan juga bisa dilakukan antara matriks dengan skalar.
Operasi Perkalian
Perkalian matriks, seperti C = AB, dilakukan menggunakan aturan aljabar matriks, yaitu
menjumlahkan hasil kali elemen-elemen baris pada matriks pertama dengan elemen-
elemen kolom pada matriks kedua.
Modul Praktikum Kecerdasan Buatan 13
Prodi Informatika UPN “Veteran” Yogyakarta
Transposisi
Salah satu operasi yang utama dalam matriks adalah transposisi, yang berfungsi untuk
mempertukarkan baris dan kolom dalam suatu matriks atau vector. Dalam NumPy,
transposisi dapat dilakukan menggunakan atribut .T atau fungsi [Link]().
● .T, Atribut bawaan untuk melakukan transposisi pada matriks atau array.
● [Link](), fungsi untuk melakukan transposisi dengan opsi tambahan seperti
pengaturan urutan dimensi (khusus array multidimensi).
Operasi Elemen
Di dalam Python dengan NumPy, operasi matematika dapat dilakukan pada setiap elemen
dalam array atau matriks. Matriks atau vektor yang terlibat harus memiliki ukuran yang
sama. Operasi yang dapat dilakukan meliputi:
• Penjumlahan dan Pengurangan Elemen.
• Perkalian Elemen-per-Elemen.
• Pembagian Elemen-per-Elemen.
• Pangkat Elemen-per-Elemen.
NumPy juga menyediakan banyak fungsi matriks yang berguna untuk menyelesaikan
berbagai permasalahan dalam berbagai bidang seperti: komputasi numerik, pengolahan
citra, dan kecerdasan buatan. Beberapa fungsi matriks yang umum digunakan dalam
NumPy adalah:
● [Link](A) : determinan matriks,
● [Link](A) : nilai eigenvalues dan eigenvectors.
● [Link](A) : invers matriks.
● [Link](A) : faktorisasi Cholesky.
● [Link](A) : eliminasi gauss (LU Decomposition).
● [Link].matrix_rank(A) : rank matriks.
Fungsi matriks khusus dalam NumPy adalah sebagai berikut:
● [Link]() : matriks kosong.
Modul Praktikum Kecerdasan Buatan 14
Prodi Informatika UPN “Veteran” Yogyakarta
● [Link]() : matriks identitas.
● [Link]() : matriks dengan semua elemen bernilai satu.
● [Link]() : matriks dengan semua elemen bernilai nol.
● [Link]() : matriks dengan nilai acak.
Format data dalam NumPy terdapat empat jenis, yaitu skalar, vektor, matriks, dan array
multidimensi.
• Skalar, ialah sebuah bilangan tunggal.
• Vektor, ialah sekelompok bilangan yang tersusun 1-dimensi. Dalam Numpy
umumnya disajikan array 1-dimensi.
• Matriks, ialah sebuah array 2-dimensi yang memiliki baris dan kolom. Di dalam
NumPy, matriks didefinisikan dengan jumlah baris dan kolomnya.
• Array Multidimensi, ialah masebuah array dengan lebih dari dua dimensi untuk
merepresentasikan data yang lebih kompleks.
.
III. LANGKAH PRAKTIKUM
Instalasi Library Numpy
Sebelum menggunakan library NumPy, kita perlu menginstal library/package tersebut
dalam Python lokal kita dengan perintah sebagai berikut:
pip install numpy
Pendefinisian Matriks
import numpy as np
# Skalar
scalar = [Link](5)
print("Skalar:", scalar)
# Vektor baris (1×n)
row_vector = [Link]([1, 2, 3])
print("Vektor Baris:", row_vector)
# Vektor kolom (n×1)
column_vector = [Link]([[1], [2], [3]])
print("Vektor Kolom:\n", column_vector)
Modul Praktikum Kecerdasan Buatan 15
Prodi Informatika UPN “Veteran” Yogyakarta
# Matriks 2D
matrix = [Link]([[1, 2, 3], [4, 5, 6]])
print("Matriks 2D:\n", matrix)
# Matriks 3x3
matrix_3x3 = [Link]([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print("Matriks 3x3:\n", matrix_3x3)
Pendefinisian Matriks dengan Fungsi Khusus
zeros_matrix = [Link]((3, 3))
print("Matriks Nol (3x3):\n", zeros_matrix)
ones_matrix = [Link]((2, 4))
print("Matriks Elemen Satu (2x4):\n", ones_matrix)
identity_matrix = [Link](4)
print("Matriks Identitas (4x4):\n", identity_matrix)
random_matrix = [Link](3, 3)
print("Matriks Acak (3x3):\n", random_matrix)
Mengambil Elemen Matriks
Untuk mengakses elemen dalam matriks NumPy, indeks digunakan dengan format [baris,
kolom]. Indeks dimulai dari 0.
A = [Link]([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# Mengakses elemen tertentu
print("Elemen baris ke-1, kolom ke-2:", A[0, 1])
# Mengakses seluruh elemen di baris tertentu
print("Baris ke-2:", A[1, :])
# Mengakses seluruh elemen di kolom tertentu
print("Kolom ke-3:", A[:, 2])
# Mengakses sub-matriks (bagian matriks)
print("Sub-matriks:", A[0:2, 1:3])
• A[0, 1]: Mengakses elemen di baris ke-0 dan kolom ke-1 (nilai = 2).
• A[1, :]: Mengambil seluruh elemen di baris ke-1 (hasil = [4, 5, 6]).
• A[:, 2]: Mengambil seluruh elemen di kolom ke-2 (hasil = [3, 6, 9]).
• A[0:2, 1:3]: Mengambil elemen dari baris ke-0 hingga baris ke-1, kolom ke-1 hingga
kolom ke-2 (hasil = [[2, 3], [5, 6]]).
Modul Praktikum Kecerdasan Buatan 16
Prodi Informatika UPN “Veteran” Yogyakarta
Operasi Elemen
Operasi elemen dalam NumPy memungkinkan perhitungan dilakukan pada setiap elemen
matriks secara langsung. Matriks yang terlibat harus memiliki ukuran yang sama. Operasi
yang dapat dilakukan meliputi:
A = [Link]([[1, 2], [3, 4]])
B = [Link]([[5, 6], [7, 8]])
# Perkalian elemen-per-elemen
C = A * B
print("Perkalian Elemen-per-Elemen:\n", C)
# Pembagian elemen-per-elemen
D = A / B
print("Pembagian Elemen-per-Elemen:\n", D)
# Penjumlahan dan Pengurangan elemen
E = A + B
F = A - B
print("Penjumlahan Elemen:\n", E)
print("Pengurangan Elemen:\n", F)
# Pangkat elemen-per-elemen
G = A ** 2
print("Pangkat Elemen:\n", G)
Operasi Aljabar Matriks
Operasi aljabar matriks dalam NumPy mengikuti aturan matematika untuk matriks. Berikut
adalah beberapa contoh:
A = [Link]([[1, 2], [3, 4]])
B = [Link]([[5, 6], [7, 8]])
# Perkalian Matriks
C = [Link](A, B)
print("Perkalian Matriks:\n", C)
# Invers Matriks
inv_A = [Link](A)
print("Invers Matriks:\n", inv_A)
# Transpose Matriks
A_T = A.T
print("Transpose Matriks:\n", A_T)
# Determinan Matriks
Modul Praktikum Kecerdasan Buatan 17
Prodi Informatika UPN “Veteran” Yogyakarta
det_A = [Link](A)
print("Determinan Matriks:\n", det_A)
# Eigenvalues & Eigenvectors
eigenvalues, eigenvectors = [Link](A)
print("Nilai Eigen:\n", eigenvalues)
print("Vektor Eigen:\n", eigenvectors)
# Rank Matriks
rank_A = [Link].matrix_rank(A)
print("Rank Matriks:\n", rank_A)
Persamaan Linier dalam Matriks
Jika terdapat persamaan linier dengan variabel x1 dan x2.
x1 – 2x2 = 32
12x1 + 5x2 = 7
Dalam matrik dapat ditulis sebagai
X = A-1 B ; di mana A-1 ialah invers matriks A
import numpy as np
# Matriks koefisien
A = [Link]([[1, -2], [12, 5]])
# Vektor konstanta
B = [Link]([32, 7])
# Menghitung invers matriks
A_inv = [Link](A)
# Menghitung solusi
X = [Link](A_inv, B)
print("Solusi:\n", X)
Sehingga kita dapatkan solusi x1 = 6 dan x2 = -13. Atau dapat diselesaikan dengan
menggunakan operator pembagian terbalik:
# Menggunakan pembagian balik
X = [Link](A, B)
print("Solusi dengan [Link]:\n", X)
Modul Praktikum Kecerdasan Buatan 18
Prodi Informatika UPN “Veteran” Yogyakarta
Pengabungan Matriks
Penggabungan matriks pada NumPy dilakukan untuk menyatukan dua atau lebih matriks
menjadi satu matriks yang lebih besar. Hal ini dapat dilakukan secara horizontal atau
vertikal, menggunakan fungsi [Link] dan [Link].
1. Penggabungan Horizontal dengan [Link]
[Link] digunakan untuk menggabungkan matriks sejajar kolom (dari kiri ke kanan).
Fungsi ini memiliki syarat, yaitu semua matriks yang digabungkan harus memiliki
jumlah baris yang sama.
import numpy as np
# Definisi matriks
A = [Link]([[1, 2], [3, 4]])
B = [Link]([[5, 6], [7, 8]])
# Penggabungan horizontal
H = [Link]((A, B))
print("Hasil Penggabungan Horizontal:\n", H)
2. Penggabungan Vertikal dengan [Link]
[Link] digunakan untuk menggabungkan matriks sejajar baris (dari atas ke bawah).
Fungsi ini memiliki syarat, yaitu semua matriks yang digabungkan harus memiliki
jumlah kolom yang sama.
import numpy as np
# Definisi matriks
A = [Link]([[1, 2], [3, 4]])
B = [Link]([[5, 6], [7, 8]])
# Penggabungan vertikal
V = [Link]((A, B))
print("Hasil Penggabungan Vertikal:\n", V)
3. Menggabungkan Lebih dari Dua Matriks
Baik [Link] maupun [Link] dapat digunakan untuk menggabungkan lebih dari
dua matriks sekaligus.
import numpy as np
Modul Praktikum Kecerdasan Buatan 19
Prodi Informatika UPN “Veteran” Yogyakarta
# Definisi matriks
A = [Link]([[1, 2], [3, 4]])
B = [Link]([[5, 6], [7, 8]])
C = [Link]([[9, 10], [11, 12]])
# Penggabungan horizontal tiga matriks
H_multi = [Link]((A, B, C))
print("Gabungan Horizontal Tiga Matriks:\n", H_multi)
# Penggabungan vertikal tiga matriks
V_multi = [Link]((A, B, C))
print("Gabungan Vertikal Tiga Matriks:\n", V_multi)
Pembentukan Ulang Matriks
Terdapat beberapa perintah dalam NumPy yang dapat dipakai untuk mengubah bentuk atau
dimensi sebuah matriks.
1. [Link]
Fungsi [Link] digunakan untuk mengubah dimensi matriks atau array. Matriks
hasil reshaping harus memiliki jumlah elemen yang sama dengan matriks awal.
import numpy as np
# Matriks awal
A = [Link]([1, 2, 3, 4, 5, 6])
# Mengubah bentuk menjadi matriks 2x3
reshaped_A = [Link](2, 3)
print("Matriks Reshape 2x3:\n", reshaped_A)
# Mengubah bentuk menjadi matriks 3x2
reshaped_A2 = [Link](3, 2)
print("Matriks Reshape 3x2:\n", reshaped_A2)
2. [Link]
Fungsi [Link] digunakan meratakan dimensi matriks menjadi satu dimensi.
# Matriks awal
B = [Link]([[1, 2, 3], [4, 5, 6]])
flattened_B = [Link]()
print("Matriks Diratakan (flatten):", flattened_B)
3. [Link]
Modul Praktikum Kecerdasan Buatan 20
Prodi Informatika UPN “Veteran” Yogyakarta
Fungsi resize() mengubah ukuran matriks, tetapi berbeda dari reshape() karena matriks
dapat diubah menjadi ukuran baru dengan menambahkan elemen 0 jika diperlukan.
# Matriks awal
C = [Link]([1, 2, 3, 4])
# Mengubah ukuran menjadi 3x3
resized_C = [Link](C, (3, 3))
print("Matriks Resize 3x3:\n", resized_C)
4. Kesimpulan
• Gunakan reshape() untuk mengubah dimensi matriks sesuai kebutuhan.
• Gunakan flatten() untuk meratakan matriks menjadi array 1D.
• Gunakan resize() untuk mengubah ukuran matriks tanpa memperhatikan jumlah
elemen.
Modul Praktikum Kecerdasan Buatan 21
Prodi Informatika UPN “Veteran” Yogyakarta
IV. TUGAS PRAKTIKUM
1. Buatlah matriks 3×3 dengan elemen berupa bilangan berurutan dari 1 hingga 9. Cetak
hasilnya.
2. Definisikan dua matriks 2×2:
1 2 5 6
𝐴= ( ) 𝐵 = ( )
3 4 7 8
Hitung hasil penjumlahan dari kedua matriks tersebut.
3. Hitunglah hasil perkalian matriks berikut:
1 0 2 3
𝐶= ( ) 𝐷 = ( )
0 1 4 5
Cetak hasilnya dalam bentuk matriks.
4. Diberikan matriks 2×3 berikut:
1 2 3
𝐸= ( )
4 5 6
Lakukan transpose dan cetak hasilnya.
5. Selesaikan sistem persamaan linier berikut menggunakan matriks:
𝓍 + 2𝓎 = 10
3𝓍 + 4𝓎 = 24
6. Diberikan dua matriks:
1 2 5 6
𝐴= ( ) 𝐵 = ( )
3 4 7 8
Gabungkan kedua matriks:
• Secara horizontal.
• Secara vertikal.
7. Definisikan array 1D berikut:
1 2 3
𝑋= ( )
4 5 6
Ubah array tersebut menjadi matriks:
• Matriks 2×3
• Matriks 3×2
Modul Praktikum Kecerdasan Buatan 22
Prodi Informatika UPN “Veteran” Yogyakarta