FISIKA KOMPUTASI
OPERASI MATRIKS
OLEH :
2017
LEMBAR PENGESAHAN
LAPORAN PRAKTIKUM FISIKA KOMPUTASI
Asisten,
(Monica Lasmaria)
OPERASI MATRIKS
Maya Safitri1, Monica Lasmaria2, Ade Agung Hernawan,S.Si,M.Sc2
Jurusan Fisika, Fakultas Matematika dan Ilmu Pengetahuan Alam
Universitas Lambung Mangkurat
Banjarbaru, Indonesia
Maya Safitri2016@gmail.com1, 2, Adefisika@gmail.com2
Abstrak
Ada beberapa permasalahan yang ada dalam praktikum ini, yaitu membuat
program operasi matriks dengan menggunakan metode LU dan metode matriks
augmented. Dalam pengoperasian matriks memiliki beberapa cara dalam
penyelesaiannya, yaitu penjumlahan, pengurangan, transpose (mengubah elemen
matrik baris menjadi kolom dan sebaliknya), perkalian matriks, determinan (pada
matriks dengan jumlah kolom = jumlah baris), dan pembagian matriks / invers
matriks (pada matriks dengan jumlah kolom = jumlah baris). Tujuannya yaitu
menghitung determinan matriks dengan menggunakan metode LU dan
menghitung invers matriks dengan menggunakan metode matriks augmented.
Matriks mempunya beberapa jenis, yaitu matriks bujur sangkar, matriks diagonal,
matriks simetris, matriks skalar, matriks identitas (I atau In), matriks nol, matriks
segitiga, matriks idempotent, matriks partisi dan matriks transpose. Operasi
matriks juga menggunakan beberapa metode seperti metode gauss, metode
augmented, metode eliminasi, metode iterasi dan menggunaan persamaan linear
simultan.
Kata Kunci : Operasi matriks, metode LU, metode augmented
Abstract
There are some problems that exist in this lab, which makes the program
operation using the LU matrix and augmented matrix method. In the operation of
the matrix has some way to completion, ie addition, subtraction, transpose (
change the matrix element rows into columns and vice versa ), matrix
multiplication , determinant ( the matrix with the number of columns = number of
lines ), and the division of matrix / inverse matrix ( the matrix the number of
columns = number of rows ). The goal is to calculate the determinant of a matrix
using LU and calculate the inverse matrix by using the augmented matrix method.
Matrix possessed some kind, ie square matrix, diagonal matrix, symmetric matrix,
scalar matrix, the identity matrix ( I or inclusive ), the zero matrix, triangular,
idempotent matrix, the matrix partitioning, and matrix transpose. Matrix
operations are also using several methods such as Gauss , augmented method, the
method of elimination, and the iteration method uses simultaneous linear
equations.
Kata Kunci : Matrix operations, LU method, augmented method
PENDAHULUAN
Matriks adalah kumpulan bilangan, parameter atau variable tersusun dalam
baris dan kolom sehingga terbentuk segi empat. Susunan ini biasanya diletakkan
dalam tanda kurung () atau kurung siku []. Bilangan, parameter atau variable yang
berada dalam kurung tersebut merupakan anggota atau elemen dari matriks.
Dalam praktikum ini, pengoperasian matriks lebih ditonjolkan cara
penyelesaiannya. Dalam pengoperasian matriks memiliki beberapa cara dalam
penyelesaiannya, yaitu penjumlahan, pengurangan, transpose (mengubah elemen
matrik baris menjadi kolom dan sebaliknya), perkalian matriks, determinan (pada
matriks dengan jumlah kolom = jumlah baris), dan pembagian matriks / invers
matriks (pada matriks dengan jumlah kolom = jumlah baris). Setelah dilakukan
pengoperasian matriks, maka akan terbentuk anggota atau elemen matriks yang
baru.
Matriks mempunyai determinan hanya jika merupakan matriks bujur
sangkar.Persamaan linear yang tidak homogeny tidak dapat diselesaikan jika
determinannya bernilai nol (0).Sedang persamaan linear yang homogeny dapat
diselesaikan jika determinannya bernilai nol (0).Sejumlahbilangandalamurutan a
barisdan b kolomA(3,2) matriks A mempunyai 3 barisdan 2 kolomB(3,3)
matriks B mempunyai 3 barisdan 3 kolom. Determinan merupakan kuantitas
yang berkaitan dengan matriks bujursangkar.
Contoh matriks:
KASUS FISIS
Matriks berupa sekelompok bilangan yang disusun empat persegi dan dibatasi
tanda [ ] terdiri dari baris dan kolom. Notasi matriks: Satu huruf besar atau huruf
kapital : A, B, C
Contoh:
Bilangan yang menyusun disebut elemen matrik. Elemen matrik : 2, 5, 7, 1, 3, 4
Ukuran matriks ditunjukkan dengan jumlah baris x jumlah kolom.
(Asat, 2011).
(Djonhard, 2011).
Salah satu cabang ilmu matematika yang sangat penting adalah Aljabar.
Aljabar berasal dari Bahasa Arab yaitu “al-jabr” yang berarti “pertemuan atau
hubungan atau penyelesaian”. Penemu Aljabar adalah Abu Abdullah Muhammad
Ibn Musa al-Khwarizmi. Ilmu matematika juga dapat digunakan untuk
menyelesaikan masalah dunia nyata yaitu dalam bidang ekonomi, statistik,
biologi, ataupun yang lainnya. Untuk cabang matematika yang lain yaitu Analisis,
Persamaan Differensial, Geometri, Teori Graph, maupun Matematika Terapan.
Dalam Aljabar memiliki pokok permasalahan untuk dikembangkan lebih 2 lanjut
lagi, salah satunya yaitu Aljabar Linear (Sari, 2014).
METODE KOMPUTASI DAN LISTING PROGRAM
ALGORITME PROGRAM
a. Perhitungan Determinan dengan Metode Perkalian Diagonal
1. Memulai program dengan memasukkan fungsi #include<stdio.h> dan
fungsi #include<math.h>.
2. Menginput jc, pv, i, j, k, jbA.
3. Memasukkan data matriks A serta jumlah baris atau kolom.
4. Memasukkan matriks A untuk i = 0 dimana i < jbA dan untuk j = 0 dimana
j < jbA.
5. Pengoperasian OBE untuk membuat matrik segitiga atas, dimana sebelum
dioperasikan persamaan dipivot dahulu (pv = k).
6. Untuk jc = 0 dimana jc < jbA+1 makan proses pertukaran data. Syarat jika
komponen diagonalnya = 0 maka det = 0.
7. Menghitung determinan matrik.
8. Mencetak isi matriks A dan mencetak matriks OBE.
9. Menampilkan hasil operasi.
10. Menampilkan hasil determinan matriks.
11. Jika determinan = 0 maka matriks singular.
12. Mengakhiri program.
b. Invers Matriks dengan Metode Augmented
1. Memulai program dengan memasukka fungsi #include<iostream.h> dan
fungsi #include<stdio.h>.
2. Menginput I, j, k, n.
3. Memasukkan orde matriks, maksimun 10.
4. Memasukkan elemen matriks seperti a00, a01, a02,…., dan seterusnya.
5. Memproses program dan menghitung matriks invers.
6. Menampilkan hasil matriks invers.
7. Mengakhiri program.
c. Metode Matriks LU untuk 1 Kolom Matriks Hasil
1. Memulai program dengan memasukkan fungsi #include<math.h> dan
fungsi #include<stdio.h>.
2. Menampilkan daftar veriabel matriks segi empat dari nilai koefisien
persamaan loop A [], matriks dekomposisi L [] dan U [] dimana I adalah
matriks hasil.
3. Menginput i, j, k, jbA, pv, tm, jc, tb.
4. Memasukkan data matriks A beserta jumlah baris c (< 5).
5. Membandingkan dengan yang lebih besar.
6. Proses pertukaran data (jc = 0 dimana jc < jbA+1.
7. Menampilkan dekomposisi matriks dan mencetak isi matriks A.
8. Menampilkan matriks L dan matriks U.
9. Mensubtitusikan ke depan.
10. Hasil akhir.
11. Mengakhiri program.
FLOWCHART
a. Perhitungan Determinan dengan Metode Perkalian Diagonal
int main()
{
int jc, pv, i, j, k, jbA;
float tm, det, mat, A[15][15], B[15][15];
printf(" \n Masukkan data matriks A");
printf(" \n jumlah baris / kolom (<15) : ");
scanf(" %i", &jbA);
for (i=0;i<jbA;i++)
{
for (j=0;j<jbA;j++)
{
printf(" input A[%i][%i]: ", i+1, j+1);
fflush(stdin);
scanf("%f", &A[i][j]);
B[i][j]=A[i][j];
}
printf(" \n");
}
for (k=0;k<jbA;k++)
{
pv=k;
for (j=k+1;j<jbA;j++)
{
if (sqrt(pow(B[pv][k],2))< sqrt(pow(B[j][k],2)))
{
pv=j;
}
}
if (pv!=k)
{
for (jc=0;jc<jbA+1;jc++)
{
tm=B[k][jc];
B[k][jc] = B [pv][jc];
B[pv][jc] = tm;
}
}
if (B[k][k]==0)
{
goto det0;
}
for (i=k+1;i<jbA;i++)
{
mat=B[i][k]/ B[k][k];
for(j=k;j<jbA;j++)
{
B[i][j]=B[i][j] - B[k][j]*mat;
}
}
}
det = 1;
for (i=0;i<jbA;i++)
{
det=det*B[i][i];
}
printf(" \n\n");
printf("matriks A = \n");
for (i=0;i<jbA;i++)
{
for (j=0;j<jbA;j++)
{
printf(" %f ", A[i][j]);
printf(" ");
}
printf("\n");
}
printf("\n hasil operasi \n");
for(i=0;i<jbA;i++)
{
for (j=0;j<jbA;j++)
{
printf("%f",B[i][j]);
printf(" ");
}
printf("\n");
}
printf("\n");
printf(" \n determinan matriks = %f ", det);
if (det==0)
{
det0:
printf("\n matriks singular ");
}
getch();
return 0;
}
#include <stdio.h>
#include <iostream>
main()
{
int i,j,k,n;
float a[10][10]= {0},d;
if(sqrt(pow(B[pv][k],2))<sqrt(pow(B[j][k],2)))
//membandingkan yang lebih besar
{
pv=j;
}
}
if (pv!=k)
{
for(jc=0;jc<jbA+1;jc++) //proses penukaran
data
{
tm=B[k][jc];
B[k][jc]=B[pv][jc];
B[pv][jc]=tm;
}
tb=b[k];
b[k]=b[pv];
b[pv]=tb;
}
for (i=0;i<jbA;i++)
{
for (j=0;j<jbA;j++)
{
A[i][j]=B[i][j];
}
}
//dekomposisi matriks
for (i=0;i<jbA;i++) for (j=0;j<jbA;j++)
U[i][j]=A[i][j];
for (i=0;i<jbA;i++) L[i][i]=1.0;
for (k=0;k<jbA-1;k++)
for (j=k+1;j<jbA;j++)
{
L[j][k]=U[j][k]/U[k][k];
for(i=k;i<jbA;i++) U[j][i]=U[j][i]-
L[j][k]*U[k][i];
}
/**Cetak isi matriks A**/
printf(" \n\n");
printf("Matriks A = \n\n");
for(i=0;i<jbA;i++)
{
for(j=0;j<jbA;j++)
{
printf("%f",A[i][j]);
printf(" ");
}
printf("\n");
}
printf("matriks [L]\n");
for (i=0;i<jbA;i++)
{
for(j=0;j<jbA;j++) printf("%10.4f",L[i][j]);
printf("\n");
}
printf("matriks [U]\n");
for (i=0;i<jbA;i++)
{
for(j=0;j<jbA;j++) printf("%10.4f",U[i][j]);
printf("\n");
}
//substirusi ke depan
for (i=0;i<jbA;i++)
for(j=0;j<i;j++) b[i]=b[i]-L[i][j]*b[j];
//substitusi ke belakang
b[jbA-1]=b[jbA-1]/U[jbA-1][jbA-1];
for(i=jbA-2;i>=0;i--)
{
for(j=i+1;j<jbA;j++)b[i]=b[i]-U[i][j]*b[j];
b[i]=b[i]/U[i][i];
}
printf ("Hasil akhir\n");
for(i=0;i<jbA;i++) printf("i[%2d] = %g\n",i,b[i]);
getch();
}
HASIL KOMPUTASI DAN PEMBAHASAN
Hasil komputasi:
a. Perhitungan Detreminan dengan Metode Perkalian Diagonal
−5 3 0 1
0 1 0 0
A=[ ]
0 0 1 0
3 −4 1 0
Matriks non Singular karena memiliki nilai determinant -3
Menggunakan program nilai determinan: -3,0000002
Menggunakan metode Augmented :
Invers A =
0 1,33333 −0,33333 0,333
4,99142𝑥10−17 1 −6,15751𝑥10−9 1,08372𝑥10−8
[ ]
1,54972𝑥10−8 3,09944𝑥10−8 1 6,55651𝑥10−8
1 3,66667 −1,667 1,667
1 1 −1 1
2 1 1 5
B=[ ]
−1 0 −2 −4
0 2 −4 −2
Matriks Singular karena memiliki nilai determinant 0
Menggunakan program nilai determinan: 0
f. Tugas Praktikum 1. c
1 2 3 7
0 0 1,5 1
C=[ ]
1 0 1 0,5
0 2 0 0,6
Matriks non Singular karena memiliki nilai determinant – 13,7
Menggunakan program nilai determinan: 13,7
Menggunakan metode Augmented :
0,0364964 −0,715329 0,963504 −0,0364964
−0,0656934 0,0875913 0,0656934 0,565693
Invers C = [ ]
−0,145985 0,861314 0,145985 0,145985
0,218978 −0,291971 −0, 218978 −0,218978
j. Tugas praktikum 2. a
Det (AB)
−5 3 0 1 1 1 −1 1
0 1 0 0 2 1 1 5
Det [ ][ ]
0 0 1 0 −1 0 −2 −4
3 −4 1 0 0 2 −4 −2
1 0 4 8
2 1 1 5
=Det [ ] = 1,1368683x10-13
−1 0 −2 −4
−6 −1 −9 −21
k. Tugas Praktikum 2. b
Invers (AE)
Invers
−5 3 0 1 2,1756 4,0231 −2,1732 5,1967
0 1 0 0 −4,0231 6,0000 0 1,1973
[ ][ ]
0 0 1 0 −1,000 −5,2107 1,1111 0
3 −4 1 0 6,0235 7,000 0 −4,1561
−16,9238 4,884499 10,866 −26,5477
−4,0231 6,0 0 1,1973
= Invers [ ]
−1,000 −5,2107 1,1111 0
21,6192 −17,1414 −5,4085 10,8009
0,136357 0,619072 −0,036121 0,266529
0,0748506 0,433182 −0,0702016 0,135957
=[ ]
0,473748 2,58866 0,538277 0,877475
0,0830832 0,74459 0,230428 0,214257
l. Tugas Praktikum 2. c
Det (ABA)
−5 3 0 1 1 1 −1 1 −5 3 0 1
0 1 0 0 2 1 1 5 0 1 0 0
Det [ ][ ][ ]
0 0 1 0 −1 0 −2 −4 0 0 1 0
3 −4 1 0 0 2 −4 −2 3 −4 1 0
19 −29 12 1
5 −13 6 2
=Det [ ]= 0,00002094824048981536
−7 13 −6 −1
−33 65 −30 −6
m. Tugas Praktikum 2. d
Invers (CTB)
1 0 1 0 1 1 −1 1
2 0 0 2 2 1 1 5
Invers [ ][ ]
3 1,5 1 0 −1 0 −2 −4
7 1 0,5 0,6 0 2 −4 −2
0 1 −1 1
2 6 1 5
= invers [ ]=
5 4.5 −2 −4
8.5 9.2 −4 −2
1,23575 −0,463021 0,594756 −0,123263
2,27096𝑥1𝑥106 2,34928𝑥106 1,23729𝑥107 −7,83092𝑥106
[ ]
1,75014𝑥106 1,81049𝑥106 9,53525𝑥106 −6,03497𝑥106
−756989 −783093 −4,12429𝑥106 2,61031𝑥106
Pada wxmaxima =
−0,8 0,5 −0.6000000000000001 0
14
[−2.448832𝑥10 −2.533274𝑥1014 −1.334191𝑥1014 8.444249𝑥1014 ]
−1.632554𝑥1014 −1.688849𝑥1014 −8.894609𝑥1014 5.629499𝑥1014
8.162774𝑥1013 8.444249𝑥1013 4.447304𝑥1014 −2.814749𝑥1014
n. Tugas praktikum 2. e
Tunjukkan bahwa A(BC)=(AB)C
−5 3 0 1 0 4 3.5 8,1
0 1 0 0 3 14 8.5 18,5
[ ][ ]=
0 0 1 0 −3 −10 −5 −10,4
3 −4 1 0 −4 −4 −1 −1,2
1 0 4 8 1 2 3 7
2 1 1 5 0 0 1,5 1
[ ][ ]
−1 0 −2 −4 1 0 1 0,5
−6 −1 −9 −21 0 2 0 0,6
5 18 7 13,8 5 18 7 13,8
3 14 8,5 18,5 3 14 8,5 18,5
[ ]=[ ] Terbukti
−3 −10 −5 −10,4 −3 −10 −5 −10,4
−15 −54 −28,5 −60,1 −15 −54 −28,5 −60,1
o. Tugas Praktikum 2. f
Det(EE)
Det
2,1756 4,0231 −2,1732 5,1967 2,1756 4,0231 −2,1732 5,1967
−4,0231 6,0000 0 1,1973 −4,0231 6,0000 0 1,1973
[ ][ ]
−1,000 −5,2107 1,1111 0 −1,000 −5,2107 1,1111 0
6,0235 7,000 0 −4,1561 6,0235 7,000 0 −4,1561
= Det
22,0234242 80,5920496 −7,14265644 −5,47520671
−25,67931981 28,19576639 8,743000092 −18,6991423
[ ]
17,67646717 −41,07690877 3,40774321 −11,43547111
−49,09124175 37,14044285 −13,0902702 56,95658966
= 98753.609375
Menggunakan WxMaxima = 98753.67527803624
p. Tugas praktikum 2. g
Invers(FF)
Invers
4 −1 0 −1 0 0 4 −1 0 −1 0 0
−1 4 −1 0 0 −1 −1 4 −1 0 0 −1
0 −1 4 0 0 −1 0 −1 4 0 0 −1
−1 0 0 4 −1 0 −1 0 0 4 −1 0
0 −1 0 −1 4 −1 0 −1 0 −1 4 −1
[0 0 −1 0 −1 4 ] [ 0 0 −1 0 −1 4]
18 −8 1 −8 1 1
−8 18 −7 1 1 −7
1 −8 18 0 1 −7
= Invers
−8 2 0 18 −8 1
2 −8 2 −8 18 −7
[0 2 −8 1 −8 18 ]
=
0,102414 0,0640138 0,0342637 0,0534871 0,0311418 0,0416686
0,059028 0,120346 0,0779269 0,0318446 0,0385466 0,087048
0,0268589 0,0640138 0,109819 0,0179315 0,0311418 0,0772241
0,584729 0,047474 0,0277555 0,101712 0,056609 0,0423714
0,0467712 0,0788235 0,0555817 0,0615947 0,112941 0,09016799
[0,0229173 0,047474 0,063311 0,026156 0,0566089 0,117927 ]
Pembahasan:
Pada latihan praktikum yang pertama, yaitu perhitungan determinan
dengan menggunakan metode perkalian diagonal. Dalam program proses
perhitungan determinan ini, yang pertama adalah membuat listing program untuk
metode perkalian diagonal. Dalam prosesnya, yaitu memasukkan data matriks A
dengan jumlah baris atau kolom. Setelah itu program akan mengoperasikan OBE
untuk membuat matriks segitiga atas. Sebelum dioperasikan pesamaan harus
dipivot dahulu yang di dalam program ini juga terjadi proses pertukaran data.
Dalam program ini dimasukkan syarat jika komponen diagonalnya sama dengan
nol maka determinannya juga akan bernilai nol yang artinya matriks tersebut
merupakan matriks singular. Jika determinannya tidak sama dengan nol atau ada
nilainya maka program akan melakukan perhitungan determinan matriks dan
kemudian mencetak isi matriks A. setelah itu akan diketahui nilai determinan
matriks tersebut yang artinya matriks tersebut adalah matriks non singular. Hasil
dari program ini dapat di lihat pada screenshot.
Pada latihan praktikum yang kedua, yaitu membuat program untuk
menghitung invers matriks dengan menggunakan metode Augmented. Saya
sebagai praktikan merasa bingung untuk membahas program ini, karena pada
praktikum terjadi kesalahan dalam listing program sehingga program tidak dapat
dijalankan. Sehingga pada hasil komputasi hanya ditampilkan screenshot listing
program.
Pada latihan praktikum yang ketiga, yaitu membuat program metode
matriks LU untuk 1 kolom matriks hasil. Pada program ini, A[] merupakan
matriks segi empat dari nilai koefisien persamaan loop. Matriks LU merupakan
matriks dekomposisi. Ketika menjalankan program, yaitu memamsukkan data
matriks A dengan jumlah baris c(<5>). Dalam program ini juga terjadi proses
pertukaran data. Kemudian akan mencetak isi matriks A. matriks L dan matriks U
yang kemudian di subtitusi kedepan sehingga akan diperoleh hasil akhirnya. Hasil
program dapat dilihat pada screenshot di hasil komputasi.
Pada tugas eksperimen 1, yaitu menentukan apakah matriks A, B, C, D, E,
dan F merupakan matriks singular atau non singular. Jika singular atau non
singular maka dijelaskanlah alasannya. Dan jika matriks tersebut non singular
maka invers matriks tersebut di cari dengan menggunakan metode matriks
augmented. Matriks A merupakan matriks non singular karena determinannya
bernilai -3, matriks C merupakan matriks non singular karena determinannya
bernilai -13,7, matriks E merupakan matriks non singular karena determinannya
bernilai –314,2509749834301, matriks F merupakan matriks non singular karena
determinannya bernilai 2550. Sedangkan matriks B dan matriks D merupakan
matriks singular karena nilai determinannya adalah nol.
Pada tugas eksperimen 2, data yang di gunakan adalah data 6 matriks pada
tugas eksperimen nomor 1 yaitu matriks A, B, C, D, E, dan F di sini di suruh
menghitung determinan (AB), invers (AE), determinan (ABA), invers (CTB),
menunjukkan bahwa A (BC) = (AB) C, det(EE) dan invers (FF).
Kesimpulan:
Kesimpulan yang dapat di tarik dari praktikum pengoperasian matriks ini
adalah determinan matriks maupun invers matriks dapat diselesaikan dengan
begitu banyak variasi cara dan metode. Seperti pada praktikum ini, matriks
diselesaikan dengan metode matriks augmented dan LU.penyelesaian matriks
dapat diselesaiakan dengan cara penjumlahan, pengurangan, transpose, perkalian
dan pembagian. Selain itu, matriks juga dapat diselesaiakan dengan menggunakan
metode Gauss, ataupun Gauss Jordan.
DAFTAR PUSTAKA
Latihan praktikum 1
Latihan praktikum 2
Tidak ada lampiran
Latihan praktikum 3
Tugas praktikum 1.a