Invers Matriks
Cara menghitung invers matriks berordo 3x3 ada dua cara, yaitu dengan metode Adjoint, dan metode OBE (Operasi Baris Elementer). Pada saat ini saya akan menghitung invers menggunakan metode Adjoint dengan bahasa pemrograman Python3,
berikut source code-nya / program nya :
import os
a=1
while a==1:
print("===Angka matriks===")
a=int(input("Nilai M11 = "))
b=int(input("Nilai M12 = "))
c=int(input("Nilai M13 = "))
d=int(input("Nilai M14 = "))
e=int(input("Nilai M15 = "))
f=int(input("Nilai M16 = "))
g=int(input("Nilai M17 = "))
h=int(input("Nilai M18 = "))
i=int(input("Nilai M19 = "))
#Determinan
detA=(a*e*i)+(b*f*g)+(c*d*h)-(g*e*c)-(h*f*a)-(i*d*b)
print("\nMATRIKS ")
print("|`",a," ",b," ",c,"`|")
print("| ",d," ",e," ",f," | ===> DetA = ",detA)
print("|_",g," ",h," ",i,"_|")
print("")
#Adjoin
a11=(e*i)-(h*f)
a12=(d*i)-(g*f)
a13=(d*h)-(g*e)
a21=(b*i)-(h*c)
a22=(a*i)-(g*c)
a23=(a*h)-(g*b)
a31=(b*f)-(e*c)
a32=(a*f)-(d*c)
a33=(a*e)-(d*b)
print('ADJOIN')
print("A11 = (+)[ ",e,"",f," ]=",a11," A12 = (-)[ ",d,"",f," ]=",a12," A13 = (+)[ ",d,"",e," ]=",a13)
print(" [ ",h,"",i," ] [ ",g,"",i," ] [ ",g,"",h," ]")
print("\nA21 = (-)[ ",b,"",c," ]=",a21," A22 = (+)[ ",a,"",c," ]=",a22," A23 = (-)[ ",a,"",b," ]=",a23)
print(" [ ",h,"",i," ] [ ",g,"",i," ] [ ",g,"",h," ]")
print("\nA31 = (+)[ ",b,"",c," ]=",a31," A32 = (-)[ ",a,"",c," ]=",a32," A33 = (+)[ ",a,"",b," ]=",a33)
print(" [ ",e,"",f," ] [ ",d,"",f," ] [ ",d,"",e," ]")
#printAdjoin
print("Adj = [ ",a11*(1),"",a12*(-1),"",a13*(1)," ]")
print(" [ ",a21*(-1),"",a22*(1),"",a23*(-1)," ]")
print(" [ ",a31*(1),"",a32*(-1),"",a33*(1)," ]")
print("")
print("A Traspose = [ ",a11*(1),'',a21*(-1),'',a31*(1),' ]')
print(' [ ',a12*(-1),'',a22*(1),'',a32*(-1),' ]')
print(' [ ',a13*(1),'',a23*(-1),'',a33*(1),' ]')
#invers
INVERS_11=(1/detA*(a11*(1)))
INVERS_12=(1/detA*(a12*(-1)))
INVERS_13=(1/detA*(a13*(1)))
INVERS_21=(1/detA*(a21*(-1)))
INVERS_22=(1/detA*(a22*(1)))
INVERS_23=(1/detA*(a23*(-1)))
INVERS_31=(1/detA*(a31*(1)))
INVERS_32=(1/detA*(a32*(-1)))
INVERS_33=(1/detA*(a33*(1)))
print("\nA-1 = 1/Det A x Adj A")
print(' = 1/',detA,"[ ",a11,'',a21,'',a31," ]")
print(' [ ',a12,'',a22,'',a32,' ]')
print(' [ ',a13,'',a23,'',a33,' ]')
print('\n = [ ',INVERS_11,'',INVERS_21,'',INVERS_31,' ]')
print(' [ ',INVERS_12,'',INVERS_22,'',INVERS_32,' ]')
print(' [ ',INVERS_13,'',INVERS_23,'',INVERS_33,' ]')
input("\nRismonita anggraeni")
os.system('cls')
a=1
while a==1:
print("===Angka matriks===")
a=int(input("Nilai M11 = "))
b=int(input("Nilai M12 = "))
c=int(input("Nilai M13 = "))
d=int(input("Nilai M14 = "))
e=int(input("Nilai M15 = "))
f=int(input("Nilai M16 = "))
g=int(input("Nilai M17 = "))
h=int(input("Nilai M18 = "))
i=int(input("Nilai M19 = "))
#Determinan
detA=(a*e*i)+(b*f*g)+(c*d*h)-(g*e*c)-(h*f*a)-(i*d*b)
print("\nMATRIKS ")
print("|`",a," ",b," ",c,"`|")
print("| ",d," ",e," ",f," | ===> DetA = ",detA)
print("|_",g," ",h," ",i,"_|")
print("")
#Adjoin
a11=(e*i)-(h*f)
a12=(d*i)-(g*f)
a13=(d*h)-(g*e)
a21=(b*i)-(h*c)
a22=(a*i)-(g*c)
a23=(a*h)-(g*b)
a31=(b*f)-(e*c)
a32=(a*f)-(d*c)
a33=(a*e)-(d*b)
print('ADJOIN')
print("A11 = (+)[ ",e,"",f," ]=",a11," A12 = (-)[ ",d,"",f," ]=",a12," A13 = (+)[ ",d,"",e," ]=",a13)
print(" [ ",h,"",i," ] [ ",g,"",i," ] [ ",g,"",h," ]")
print("\nA21 = (-)[ ",b,"",c," ]=",a21," A22 = (+)[ ",a,"",c," ]=",a22," A23 = (-)[ ",a,"",b," ]=",a23)
print(" [ ",h,"",i," ] [ ",g,"",i," ] [ ",g,"",h," ]")
print("\nA31 = (+)[ ",b,"",c," ]=",a31," A32 = (-)[ ",a,"",c," ]=",a32," A33 = (+)[ ",a,"",b," ]=",a33)
print(" [ ",e,"",f," ] [ ",d,"",f," ] [ ",d,"",e," ]")
#printAdjoin
print("Adj = [ ",a11*(1),"",a12*(-1),"",a13*(1)," ]")
print(" [ ",a21*(-1),"",a22*(1),"",a23*(-1)," ]")
print(" [ ",a31*(1),"",a32*(-1),"",a33*(1)," ]")
print("")
print("A Traspose = [ ",a11*(1),'',a21*(-1),'',a31*(1),' ]')
print(' [ ',a12*(-1),'',a22*(1),'',a32*(-1),' ]')
print(' [ ',a13*(1),'',a23*(-1),'',a33*(1),' ]')
#invers
INVERS_11=(1/detA*(a11*(1)))
INVERS_12=(1/detA*(a12*(-1)))
INVERS_13=(1/detA*(a13*(1)))
INVERS_21=(1/detA*(a21*(-1)))
INVERS_22=(1/detA*(a22*(1)))
INVERS_23=(1/detA*(a23*(-1)))
INVERS_31=(1/detA*(a31*(1)))
INVERS_32=(1/detA*(a32*(-1)))
INVERS_33=(1/detA*(a33*(1)))
print("\nA-1 = 1/Det A x Adj A")
print(' = 1/',detA,"[ ",a11,'',a21,'',a31," ]")
print(' [ ',a12,'',a22,'',a32,' ]')
print(' [ ',a13,'',a23,'',a33,' ]')
print('\n = [ ',INVERS_11,'',INVERS_21,'',INVERS_31,' ]')
print(' [ ',INVERS_12,'',INVERS_22,'',INVERS_32,' ]')
print(' [ ',INVERS_13,'',INVERS_23,'',INVERS_33,' ]')
input("\nRismonita anggraeni")
os.system('cls')
Demikian ini lah cara menghitung invers matriks berordo 3x3 dengan metode Adjoint menggunkan bahasa pemrograman Python3.
Terima kasih dan semoga bermanfaat.


Komentar
Posting Komentar