0% menganggap dokumen ini bermanfaat (0 suara)
916 tayangan17 halaman

Pemrograman Invers Matriks Degan Python

Diunggah oleh

Denny Paat
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
916 tayangan17 halaman

Pemrograman Invers Matriks Degan Python

Diunggah oleh

Denny Paat
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 17

Invers Matriks Menggunakan Pemrograman Python

BAB I
PENDAHULUAN

1.1. LATAR BELAKANG


Saat ini, informatika memiliki perkembangan yang sangat pesat. Informatika sendiri
yaitu disiplin ilmu teknik yang menangani masalah transformasi atau pengolahan fakta
simbolik dengan menggunakan komputer melalui proses-proses logika. Dalam informatika,
hal yang paling berhubungan adalah bahasa pemograman atau bahasa komputer .

Bahasa pemograman juga dibagi dalam empat kelompok namun dari sumber lain ada
yang hanya menyebutkan tiga kelompok bahasa pemograman. Empat jenis bahasa
pemograman, yaitu Object Oriented Language, high level, middle level, low level.
Sebenarnya, keempat pengelompokkan bahasa tersebut sama saja intinya. Seperti bahasa
manusia yang memiliki bermacam-macam bahasa namun sebenarnya bermakna sama, yang
membedakan adalah simbol atau istilah yang dipakai.

Adapun bahasa berorentasi object salah satunya yaitu Python, Phyton adalah bahasa
pemrograman dinamis yang mendukung pemrograman berorientasi obyek. Python dapat
digunakan untuk berbagai keperluan pengembangan perangkat lunak dan dapat berjalan di
berbagai platform sistem operasi. Seperti halnya bahasa pemrograman dinamis, python
seringkali digunakan sebagai bahasa skrip dengan interpreter yang teintergrasi dalam sistem
operasi. Saat ini kode python dapat dijalankan pada sistem berbasis Linux/Unix, Windows,
Mac OS X, Java Virtual Machine, OS/2, Amiga, Palm, dan Symbian (untuk produk-produk
Nokia) Python didistribusikan dengan beberapa lisensi yang berbeda dari beberapa versi. Lihat
sejarahnya di Python Copyright. Namun pada prinsipnya Python dapat diperoleh dan
dipergunakan secara bebas, bahkan untuk kepentingan komersial. Lisensi Python tidak
bertentangan baik menurut definisi Open Source maupun General Public License (GPL).

1.2. RUMUSAN MASALAH


Masalah yang akan diangkat dalam makalah ini adalah mengenai bahasa pemrograman
phyton, adapun masalahnya adalah sebagai berikut :
1. Apa yang dimaksut bahasa pemrograman phyton ?
2. Bagaimana cara menggunakan program phyton ?
3. Perhitungan matematika matriks invers menggunakan programa phyton?

1
Invers Matriks Menggunakan Pemrograman Python

1.3. TUJUAN
Adapun tujuan dari penulisan makalah ini adalah sebagai berikut :
1. Mengetehui apa itu bahasa pemrograman phyton
2. Bagamana cara menggunakan program phyton
3. Mengetahui bagaimana menyelesaikan perhitungan invers matriks dengan menggunakan
program phyton

2
Invers Matriks Menggunakan Pemrograman Python

BAB II
PEMBAHASAN

2.1. PEMPROGRAMAN PYTHON


Python dikembangkan oleh Guido van Rossum pada tahun 1990 di CWI, Amsterdam
sebagai kelanjutan dari bahasa pemrograman ABC. Versi terakhir yang dikeluarkan CWI
adalah 1.2. Tahun 1995, Guido pindah ke CNRI sambil terus melanjutkan pengembangan
Python. Versi terakhir yang dikeluarkan adalah 1.6. Tahun 2000, Guido dan para pengembang
inti Python pindah ke BeOpen.com yang merupakan sebuah perusahaan komersial dan
membentuk BeOpen PythonLabs. Python 2.0 dikeluarkan oleh BeOpen. Setelah mengeluarkan
Python 2.0, Guido dan beberapa anggota tim PythonLabs pindah ke DigitalCreations.
Saat ini pengembangan Python terus dilakukan oleh sekumpulan pemrogram yang
dikoordinir Guido dan Python Software Foundation. Python Software Foundation adalah
sebuah organisasi non-profit yang dibentuk sebagai pemegang hak cipta intelektual Python
sejak versi 2.1 dan dengan demikian mencegah Python dimiliki oleh perusahaan komersial.
Saat ini distribusi Python sudah mencapai versi 2.6.1 dan versi 3.0.
Nama Python dipilih oleh Guido sebagai nama bahasa ciptaannya karena kecintaan
Guido pada acara televisi Monty Python's Flying Circus. Oleh karena itu seringkali ungkapan-
ungkapan khas dari acara tersebut seringkali muncul dalam korespondensi antar pengguna
Python
Python adalah bahasa pemrograman interpretatif multiguna. Tidak seperti bahasa lain
yang susah untuk dibaca dan dipahami, python lebih menekankan pada keterbacaan kode agar
lebih mudah untuk memahami sintaks. Hal ini membuat Python sangat mudah dipelajari baik
untuk pemula maupun untuk sudah menguasai pemoraman lain.
Dengan kode yang simpel dan mudah diimplementasikan, seorang programmer dapat lebih
mengutamakan pengembangan aplikasi yang dibuat, bukan malah sibuk mencari syntax error.

2.2. CARA MENDEFINISIKAN INVERS MATRIKS


Matriks dapat dikatakan sebagai list dua dimensi dimana suatu list berisi list lagi. Untuk
merepresentasikan matriks, kita harus menyimpan list dengan panjang yang sama dalam suatu
list. Bila list berbeda - beda panjangnya, maka list tersebut disebut sebagai sparse matrix.
Sebagai contoh berikut adalah contoh representasi matriks di Python:

matrix = [

3
Invers Matriks Menggunakan Pemrograman Python

[5, 0],
[2, 6],
]
matrix1 = [
[5, 0, 8],
[2, 6, 7],
[1, 3, 4],
]
matrix2 = [
[1, 0, 0, 0],
[0, 1, 0, 0],
[0, 0, 1, 0],
[0, 0, 0, 1],
]
Dalam mengolah matriks, ada berbagai operasi yang dapat dilakukan. Mulai dari
translasi, rotasi, mencari determinan, operasi baris elementer, dan lainnya. Namun kita hanya
akan membahas beberapa operasi dasar seperti penjumlahan, pengurangan dan perkalian dua
matriks.

2.2.1 Mengakses Elemen Matriks


Setelah mendefinisikan suatu matriks, tentu kita ingin mengakses setiap elemen pada
matriks tersebut. Dengan memanfaatkan nested loop for, kita dapat mengakses suatu elemen
pada koordinat tertentu.

Sebagai contoh mari kita lihat source code yang menampilkan isi matriks berikut:
matrix = [
[5, 0],
[2, 6],
]
for x in range(0, len(matrix)):
for y in range(0, len(matrix[0])):
print (matrix[x][y], end=' '),
print

Bila kita eksekusi di konsol maka akan muncul output berikut:

4
Invers Matriks Menggunakan Pemrograman Python

$ python3 simple-matrix.py
2 0
2 6

2.2.2 Melakukan Penjumlahan Matriks


Penjumlahan matriks dilakukan dengan menjumlahkan setiap elemen. Hasil
penjumlahan tersebut akan menjadi elemen baru. Masing - masing matriks kita akses setiap
elemennya pada koordinat yang sama kemudian kita jumlahkan untuk mendapatkan elemen
baru

mat1 = [
[5, 0],
[2, 6],
]
mat2 = [
[1, 0],
[4, 2],
]
for x in range(0, len(mat1)):
for y in range(0, len(mat1[0])):
print (mat1[x][y] + mat2[x][y], end=' '),
print

Jika source code kita jalankan, maka akan muncul output seperti berikut:

$ python3 add-matrix.py
60
6 8

2.2.3 Melakukan Pengurangan Matriks


Tidak berbeda jauh dengan penjumlahan matriks, pada pengurangan matriks kita hanya
mengganti operatornya saja dengan tanda kurang (-). Maka matriks baru akan terbentuk sebagai

5
Invers Matriks Menggunakan Pemrograman Python

hasil dari pengurangan setiap kedua elemen matriks. Sebagai contoh berikut adalah source code
untuk melakukan pengurangan matriks:
mat1 = [
[5, 0],
[2, 6],
]
mat2 = [
[1, 0],
[4, 2],
]
for x in range(0, len(mat1)):
for y in range(0, len(mat1[0])):
print (mat1[x][y] - mat2[x][y], end=' '),
print

Jika source code kita jalankan, maka akan muncul output seperti berikut:

$ python3 substract-matrix.py
40
-2 4

2.2.4 Melakukan Perkalian Matriks


Perkalian matriks merupakan salah satu operasi dasar yang tricky. Karena di dalamnya
bukan hanya terdapat operasi perkalian, melainkan juga penjumlahan. Perkalian suatu matriks
memang tidak sama dengan bilangan biasa, tidak juga langsung mengalikan setiap elemen.
Perkalian matriks dilakukan dengan menjumlahkan hasil perkalian suatu baris matriks pertama
ke kolom matriks kedua. Setiap baris di matriks pertama akan dikalikan ke setiap kolom di
matriks kedua. Di Python, kita akan menggunakan nested loop for di dalam nested loop yang
kedua. Looping ketiga tersebut kita gunakan untuk melakukan proses penjumlahan hasil
perkalian baris dan kolom. Hasilnya elemen matriks baru akan ditempatkan pada koordinat
tersebut. Sebagai contoh berikut adalah source code yang melakukan proses perkalian matriks:
mat1 = [

[5, 0],

[2, 6],

6
Invers Matriks Menggunakan Pemrograman Python

mat2 = [

[1, 0],

[4, 2],

mat3 = []

for x in range(0, len(mat1)):

row = []

for y in range(0, len(mat1[0])):

total = 0

for z in range(0, len(mat1)):

total = total + (mat1[x][z] * mat2[z][y])

row.append(total)

mat3.append(row)

for x in range(0, len(mat3)):

for y in range(0, len(mat3[0])):

print (mat3[x][y], end=' ')

print ()

2.2.5 Determinan matriks


dipelajari sebelum invers matriks dan untuk menentukan invers matriks maka perlu
diketahui terlebih dahulu determinannya (metode matriks sarrus dan adjoint). Hal tersebut
menandakan bahwa determinan matriks sebagai materi prasyarat invers matriks. Sebagai
implikasinya,penguasaan materi determinan matriks menjadi penentu keberhasilan dalam
menentukan invers matriks.

7
Invers Matriks Menggunakan Pemrograman Python

Contoh hitunglah berapa nilai determinan dari matriks ordo 3 x 3 berikut ini :

Jawaban untuk matriks ordo 3 x 3 di atas ialah seperti berikut ini :

det( A ) = ( 1 . 1 . 2 ) + ( 2 . 4 . 3 ) + ( 3 . 2 . 1 ) – ( 3 . 1 . 3 ) – ( 1 . 4 . 1 ) – ( 2 . 2 . 2 )
= (2) + ( 24 ) + (6) – (9) – (4) – (8)
= 11

2.2.6. Minor matriks


adalah determinan matriks bagian dari matriks yang diperoleh dengan cara
menghilangkan elemen pada baris tertentu dan elemen pada kolom tertentu.

M11=(1x2)-(4x1)= -2
M12=(2X2)-(4X3)= -8
M13=(2X1)-(1X3)= -1
M21=(2X2)-(3X1)= 1
M22=(1X2)-(3X3)= -7
8
Invers Matriks Menggunakan Pemrograman Python

M23=(1x1)-(2x3)= -5
M31=(2X4)-(3X1)= 5
M32=(1X4)-(3X2)= -2
M33=(1X1)-(2X2)= -3

Maka Minor Matriks B = -2 -8 -1


1 -7 -5
5 -2 -3

2.2.7 Kofaktor
Setelah mendapatkan harga minor dari masing-masing elemen matriks kita dapat
menentukan nilai atau harga dari kofaktor. Cara mencarinya adalah dengan mengalikan
masing-masing nilai minor di atas dengan tanda tempat masing-masing elemen. Adapun

tanda tempatnya dapat dilihat pada gambar berikut: KEab = (-1)a+b x NEab

Jadi berdasarkan tanda tempat di atas kita dapat mencari nilai kofakto dari masing-masing
elemen matriks. Untuk selanjutnya kita akan berikan simbol untuk nilai kofaktor masing-
masing elemen dengan Cij, dimana i menandakan baris dan j menandakan kolom. jadi untuk
setiap elemen di atas kita dapatkan harga kofaktornya sebagai berikut:

B = -2 -8 -1
1 -7 -5
5 -2 -3
M11=+(1x2)-(4x1)= -2
M12= - (2X2)-(4X3)= 8
M13= + (2X1)-(1X3)= -1
M21= - (2X2)-(3X1)= -1
M22= + (1X2)-(3X3)= -7

9
Invers Matriks Menggunakan Pemrograman Python

M23= - (1x1)-(2x3)= 5
M31= + (2X4)-(3X1)= 5
M32= - (1X4)-(3X2)= 2
M33= + (1X1)-(2X2)= -3

A = -2 8 -1
-1 -7 5
5 2 -3

2.2.8. Adjoin Matrik Bujur Sangkar.


Jika kita sudah mendapatkan matrik kofaktor (A) maka kita sudah bisa mendapatkan
adjoin dari matrik tersebut. adjoin matrik bujur sangkar sama nilainya dengan transpose dari
matrik kofaktor, jadi dengan mencari transpose dari matrik kofaktor kita sudah mendapatkan
nilai adjoin matrik. Transpose dari matrik A adalah :
B = -2 -1 5
8 -7 2
-1 5 -3

2.2.9. Invers Matriks.


Sebelumnya kita harus tahu dahulu bahwa invers suatu matriks biasanya
dilambangkan dengan nama matriks tertentu (biasanya berupa huruf kapital) dan
dipangkatkan -1. Untuk lebih jelasnya kita ambil contoh nama matriksnya adalah matriks A,
maka invers dari matriks A biasa ditulis A-1 .
Rumus invers matriks bisa dilihat di bawah ini :

Diman Determinan B = 11, maka untuk hasil B-1

B-1 = 1/11 -2 -1 5
8 -7 2
-1 5 -3

10
Invers Matriks Menggunakan Pemrograman Python

B-1 = -2/11 -1/11 5/11


8/11 -7/11 2/11
-1/11 5/11 -3/11

3.1. PERHITUNGAN INVERS MATRIKS DENGAN PEMROGRAMAN PYTHON

#disini saya menjadikan variabel tiap element/angka di matriks


b11=1
b12=2
b13=3
b21=2
b22=1
b23=4
b31=3
b32=1
b33=2
print()
#mengecek bentuk matriks
print (b11,b12,b13)
print (b21,b22,b23)
print (b31,b32,b33)
print()
#masukkan variabel diatas dalam bentuk determinan sarrus
print("metode det.sarrus:")
print(b11,b12,b13,"|",b11,b12)
print(b21,b22,b23,"|",b21,b22)
print(b31,b32,b33,"|",b31,b32)
#lalu hitunglah sesuai dengan rumus det. Sarrus

11
Invers Matriks Menggunakan Pemrograman Python

H1=(int(b11)*int(b22)*int(b33))
H2=(int(b12)*int(b23)*int(b31))
H3=(int(b13)*int(b21)*int(b32))
H4=(int(b31)*int(b22)*int(b13))
H5=(int(b32)*int(b23)*int(b11))
H6=(int(b33)*int(b21)*int(b12))
HA=int(H1)+int(H2)+int(H3)
HB=int(H4)+int(H5)+int(H6)
HX=int(HA)-int(HB)
print()
print("Hasil metode Det.Sarrus:",HX)
print()
#sekarang menggunakan metode minor untuk menemukan ko faktor dan adjointnya
print("metode minor:")
print(b11,b12,b13)
print(b21,b22,b23)
print(b31,b32,b33)
print()
print("A.D-B.C")
A11=(int(b22)*int(b33))-(int(b23)*int(b32))
print("A11=",b22,"x",b33,"-",b23,"x",b32,"=",A11)
A12=(int(b21)*int(b33))-(int(b23)*int(b31))
print("A12=",b21,"x",b33,"-",b23,"x",b31,"=",A12)
A13=(int(b21)*int(b32))-(int(b22)*int(b31))
print("A13=",b21,"x",b32,"-",b22,"x",b31,"=",A13)
A21=(int(b12)*int(b33))-(int(b13)*int(b32))
print("A21=",b12,"x",b33,"-",b13,"x",b32,"=",A21)
A22=(int(b11)*int(b33))-(int(b13)*int(b31))
print("A22=",b11,"x",b33,"-",b13,"x",b31,"=",A22)
A23=(int(b11)*int(b32))-(int(b12)*int(b31))

12
Invers Matriks Menggunakan Pemrograman Python

print("A23=",b11,"x",b32,"-",b12,"x",b31,"=",A23)
A31=(int(b12)*int(b23))-(int(b13)*int(b22))
print("A31=",b12,"x",b23,"-",b13,"x",b22,"=",A31)
A32=(int(b11)*int(b23))-(int(b13)*int(b21))
print("A32=",b11,"x",b23,"-",b13,"x",b21,"=",A32)
A33=(int(b11)*int(b22))-(int(b12)*int(b21))
print("A33=",b11,"x",b22,"-",b12,"x",b21,"=",A33)
print()
#lalu didapatlah matriks baru yang akan di kofaktorkan
print(A11,A12,A13)
print(A21,A22,A23)
print(A31,A32,A33)
print()
print("Metode kofaktor:")
print()
print(A11,A12*(-1),A13)
print(A21,-1*A22,A32*(-1))
print(A31,A32*(-1),A33)
print()
#lalu adjoint nya
print("Adj.=")
print(A11,A21*(-1),A31)
print(A12*(-1),A22,A32*(-1))
print(A13,A23*(-1),A33)
print()
#sekarang bisa mulai mencari invers matriks tersebut
print("invers A**-1=1/Det.Sarrus x Adj. atau Adj./Det.Sarrus")
print(A11,A21*(-1),A31,"|")
print(A12*(-1),A22,A32*(-1),"|","/",HX)
print(A13,A23*(-1),A33,"|")

13
Invers Matriks Menggunakan Pemrograman Python

print()
print(A11,"/",int(HX),"|",A21*(-1),"/",int(HX),"|",A31,"/",int(HX))
print(A12*(-1),"/",int(HX),"|",A22,"/",int(HX),"|",A32*(-1),"/",int(HX))
print(A13,"/",int(HX),"|",A23*(-1),"/",int(HX),"|",A33,"/",int(HX))
print()
print(A11/int(HX),A21*(-1)/int(HX),A31/int(HX))
print(A12*(-1)/int(HX),A22/int(HX),A32*(-1)/int(HX))
print(A13/int(HX),A23*(-1)/int(HX),A33/int(HX))

langka selanjutnya me RUN program python sehingga mendapat hasil :


Python 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)]
on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>>
== RESTART: D:\Python\INVERS MATRIX 3X3 program python 3.7 test matriks.py ==
123
214
312
metode det.sarrus:
123|12
214|21
312|31
Hasil metode Det.Sarrus: 11
metode minor:
123
214
312
A.D-B.C
A11= 1 x 2 - 4 x 1 = -2
A12= 2 x 2 - 4 x 3 = -8
A13= 2 x 1 - 1 x 3 = -1

14
Invers Matriks Menggunakan Pemrograman Python

A21= 2 x 2 - 3 x 1 = 1
A22= 1 x 2 - 3 x 3 = -7
A23= 1 x 1 - 2 x 3 = -5
A31= 2 x 4 - 3 x 1 = 5
A32= 1 x 4 - 3 x 2 = -2
A33= 1 x 1 - 2 x 2 = -3
-2 -8 -1
1 -7 -5
5 -2 -3
Metode kofaktor:
-2 8 -1
172
5 2 -3
Adj.=
-2 -1 5
8 -7 2
-1 5 -3
invers A**-1=1/Det.Sarrus x Adj. atau Adj./Det.Sarrus
-2 -1 5 |
8 -7 2 | / 11
-1 5 -3 |
-2 / 11 | -1 / 11 | 5 / 11
8 / 11 | -7 / 11 | 2 / 11
-1 / 11 | 5 / 11 | -3 / 11
-0.18181818181818182 -0.09090909090909091 0.45454545454545453
0.7272727272727273 -0.6363636363636364 0.18181818181818182
-0.09090909090909091 0.45454545454545453 -0.2727272727272727
>>>

15
Invers Matriks Menggunakan Pemrograman Python

BAB III
PENUTUP

3.1. KESIMPULAN
1. Misalnya matriks A dan B masing-masing adalah matriks persegi, sehingga AB=BA=I,
maka matriks B adalah invers matriks A dan ditulis B = A^-1 dan matriks A adalah
invers matriks B dan ditulis A = B^-1. Matriks A dan B adalah matriks yang saling
invers.
2. Python termasuk dari jajaran bahasa pemograman tingkat tinggi memiliki kelebihan
lebih mudah, cepat menulis dan memprogram sebuah aplikasi.

3.2. SARAN
Semoga makalah ini bisa membuat pembaca lebih banyak mengerti tentang
apa itu aplikasi python, Sehingga bagi calon pendidik ataupun mahasiswa dapat di
mudahkan dalam proses pembelajaran baik menampilkan dalam bentuk diskusi
maupun sebagai bahan ajar.

16
Invers Matriks Menggunakan Pemrograman Python

DAFTAR PUSTAKA

- Mada Sanjaya WS, Ph.D. ,Metode Numerik Berbasis Python, Gava Media, Yogyakarta,
201
- Abdul Kadir Ir., Dasar Pemrograman Python, Andi Offset, Yogyakarta, 2005
- wiet,whiet.2014.Makalah Matriks. http://wiettwiet.blogspot.com/2014/05/makalah-
matriks.html
- https://www.academia.edu/9477280/Makalah_matematika

17

Anda mungkin juga menyukai