Assalamualaikum Sahabat Whitecyber di seluruh tanah air … seperti biasa saya akan berbagi beberapa project yang sudah selesai kami kerjakan.
Kali ini dengan tema : Python Program untuk Inverse Matrix Menggunakan Gauss Jordan.
Kita semua waktu di SMA pernah diajarin tentang matrik bukan ? coba diingat-ingat …
Nah, sebenarnya kita bisa buat program komputer untuk menghitung semua matrik tersebut …
Yuk kita review sebentar pelajaran waktu SMA kita dulu sejenak sebelum kita share code program pembuatannya :
Invers matrik adalah operasi matematika yang menghasilkan matrik baru yang jika dikalikan dengan matrik asli akan menghasilkan matrik identitas. Matrik identitas adalah matrik yang memiliki angka 1 di diagonal utama dan 0 di seluruh elemen lainnya. Invers matrik hanya dapat dilakukan untuk matrik persegi, yaitu matrik yang memiliki jumlah baris dan kolom yang sama. Selain itu, matrik harus memiliki determinan yang tidak nol, yaitu nilai yang didapat dari operasi khusus pada elemen-elemen matrik.
Invers matrik memiliki banyak aplikasi dalam bidang matematika, fisika, ekonomi, dan lain-lain. Misalnya, invers matrik dapat digunakan untuk menyelesaikan sistem persamaan linear, mencari solusi optimal dari masalah optimisasi, atau melakukan transformasi geometri pada objek dua atau tiga dimensi. Invers matrik juga dapat membantu kita memahami sifat-sifat matrik, seperti eigenvalue, eigenvector, rank, dan trace.
Untuk mencari invers matrik, ada beberapa metode yang dapat digunakan, seperti metode eliminasi Gauss-Jordan, metode adjoin, metode dekomposisi LU, atau metode iteratif. Metode-metode ini memiliki kelebihan dan kekurangan masing-masing, tergantung pada ukuran, jenis, dan kondisi matrik yang diberikan. Pada artikel ini, kita akan membahas salah satu metode yang paling umum digunakan, yaitu metode eliminasi Gauss-Jordan.
Invers matrik adalah operasi yang menghasilkan matrik baru yang jika dikalikan dengan matrik asli akan menghasilkan matrik identitas. Salah satu metode untuk mencari invers matrik adalah dengan menggunakan eliminasi Gauss-Jordan. Eliminasi Gauss-Jordan adalah proses mengubah matrik menjadi bentuk eselon baris tereduksi dengan menggunakan operasi baris elementer. Dengan metode ini, kita dapat menyelesaikan sistem persamaan linear atau mencari invers matrik dengan mudah.
Untuk mencari invers matrik dengan eliminasi Gauss-Jordan, kita perlu melakukan langkah-langkah berikut:
1. Buat matrik augmented yang terdiri dari matrik asli dan matrik identitas dengan ukuran yang sama. Misalnya, jika kita ingin mencari invers dari matrik A berukuran 3×3, maka kita buat matrik augmented [A|I] berukuran 3×6.
2. Ubah matrik augmented menjadi bentuk eselon baris tereduksi dengan menggunakan operasi baris elementer. Operasi baris elementer yang dapat kita gunakan adalah: menukar dua baris, mengalikan atau membagi sebuah baris dengan sebuah skalar, atau menambahkan atau mengurangi sebuah baris dengan kelipatan dari baris lain.
3. Jika matrik asli memiliki determinan yang tidak nol, maka matrik augmented akan menjadi bentuk [I|B], di mana B adalah invers dari A. Jika matrik asli memiliki determinan yang nol, maka matrik augmented tidak akan menjadi bentuk [I|B], dan invers dari A tidak ada.
Contoh:
Misalkan kita ingin mencari invers dari matrik A berikut:
A = | 1 2 -1 |
| 0 1 3 |
| 2 -1 1 |
Langkah pertama, kita buat matrik augmented [A|I] sebagai berikut:
[A|I] = | 1 2 -1 | 1 0 0 |
| 0 1 3 | 0 1 0 |
| 2 -1 1 | 0 0 1 |
Langkah kedua, kita ubah matrik augmented menjadi bentuk eselon baris tereduksi dengan operasi baris elementer. Berikut adalah prosesnya:
R3 = R3 – 2R1
[A|I] = | 1 2 -1 | 1 0 0 |
| 0 1 3 | 0 1 0 |
| 0 -5 -1 | -2 0 1 |
R2 = R2 + R3
[A|I] = | 1 2 -1 | 1 0 0 |
| 0 -4 -4 | -2 -5 -5 |
| -5 -5 -5 | -2 -5 -5 |
R3 = R3 + R2
[A|I] = | -4 -4 -4 | -2 -5 -5 |
| -4 -4 -4 | -2 -5 -5 |
| R3 + R2 |
R3 = R3 / (-4)
[A|I] = | R3 / (-4) |
| R3 / (-4) |
| R3 / (-4) |
R2 = R2 + R3
[A|I] = | R2 + R3 |
| R2 + R3 |
| R2 + R3 |
R1 = R1 + R3
[A|I] = | R1 + R3 |
| R1 + R3 |
| R1 + R3 |
R2 = R2 / (-4)
[A|I] = | R2 / (-4) |
| R2 / (-4) |
| R2 / (-4) |
R1 = R1 + (2 * R2)
[A|I] = | (R1 + (2 * R2)) |
| (R1 + (2 * R2)) |
| (R1 + (2 * R2)) |
R1 = R1 / (7)
[A|I] = | (R1 / (7)) |
| (R1 / (7)) |
| (R1 / (7)) |
Setelah melakukan operasi baris elementer, kita mendapatkan matrik augmented berikut:
[A|I] = | 1 0 0 | 2/7 3/7 -2/7 |
| 0 1 0 | -1/7 -10/7 9/7 |
| 0 0 1 | -2/7 9/7 -5/7 |
Langkah ketiga, kita lihat bahwa matrik augmented sudah menjadi bentuk [I|B], di mana B adalah invers dari A. Jadi, kita dapat menulis:
A^-1 = | 2/7 3/7 -2/7 |
|-1/7 -10/7 9/7 |
|-2/7 9/7 -5/7 |
Demikianlah cara mencari invers matrik dengan eliminasi Gauss-Jordan. Semoga bermanfaat!
Sekarang yuk kita buat code pythonnya :
.
.
[code language=”html”]
# Mengimpor Perpustakaan NumPy
import numpy as np
import sys
# Membaca urutan matriks
n = int(input(‘Masukkan ORDO Matriks : ‘))
# Membuat array numpy ukuran n x 2n dan menginisialisasi
# ke nol untuk menyimpan matriks yang diperbesar
a = np.zeros((n,2*n))
# Membaca koefisien matriks
print(‘Masukkan Koefisien Matriks :’)
for i in range(n):
for j in range(n):
a[i][j] = float(input( ‘a[‘+str(i)+’][‘+ str(j)+’]=’))
# Menambah Matriks Identitas Ketertiban n
for i in range(n):
for j in range(n):
if i == j:
a[i][j+n] = 1
# Menerapkan Eliminasi Gauss Jordan
for i in range(n):
if a[i][i] == 0.0:
sys.exit(‘Bagi dengan nol terdeteksi!’)
for j in range(n):
if i != j:
ratio = a[j][i]/a[i][i]
for k in range(2*n):
a[j][k] = a[j][k] – ratio * a[i][k]
# Operasi baris untuk membuat elemen diagonal utama menjadi 1
for i in range(n):
divisor = a[i][i]
for j in range(2*n):
a[i][j] = a[i][j]/divisor
# Menampilkan Matriks Invers
print(‘\nINVERSE MATRIX NYA ADALAH : ‘)
for i in range(n):
for j in range(n, 2*n):
print(a[i][j], end=’\t’)
print()
[/code]
.