Dokumen tersebut membahas tentang materi Matriks pada mata kuliah Matematika Teknik. Terdapat penjelasan tentang konsep dasar matriks, contoh operasi penjumlahan, perkalian, dan pembagian matriks beserta sintaks pemrograman dalam bahasa C/C++. Juga dijelaskan tentang konsep vektor, transposisi, determinan, dan invers matriks beserta rumus-rumusnya.
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
Konsep dan Terapan Matriks
1. Matematika Teknik (3 sks)
Dosen: Ir. Sihar, MT.
Departemen Sistem Komputer
Fak. Teknik
Bandung 2002
Referensi:
[1]. ___Bahan kuliah Matematika Teknik, Departemen Elektroteknik, FT-ITB. 1996.
[2]. Bird, J. Higher Engineering Mathematics, sixth-edition. Elsevier. 2010
[3]. Schildt, H. Turbo C/C++: The Complete Reference. Osborne Publishing. 1992.
[4]. Strang, G. CALCULUS. MIT. 2009.
[5]. Wrede, R.C., Spiegel, M. Theory and Problems of Advanced Calculus, second edition. Schaum's
Outlines. McGraw-Hill. 2002.
MATRIKS
Matriks adalah sejumlah elemen-elemen yang tersusun secara indeks mulai dari 0 atau 1 pada
dimensi kolom dan baris, dan biasanya setiap ukurannya disebut dengan ordo; ordo matriks terdiri
dari baris x kolom. Misalkan matriks dengan ordo 2 x 3, artinya matriks tsb. terdiri dari 2-baris dan 3kolom.
Skema umum matriks ditunjukkan sbb:
kolom 1
kolom 2
kolom 3
kolom 4
baris 1
s[0][0]
s[0][1]
s[0][2]
s[0][3]
baris 2
s[1][0]
s[1][1]
s[1][2]
baris 3
s[2][0]
s[2][1]
baris 4
s[3][0]
s[3][1]
...
...
baris i
s[i][0]
s[i][1]
kolom j
s[2][3]
...
s[2][j]
s[3][2]
s[3][3]
...
s[3][j]
...
s[i][j]
s[i][3]
s[1][j]
...
s[i][2]
...
s[2][2]
...
s[0][j]
s[1][3]
...
...
Contoh sintaks pemrograman pengurangan matriks:
#include<iostream.h>
void main()
{
int i,j;
float z2[2][3],A[2][3]={
2,-1.8,2,
3,-1,-8.3
};
float B[2][3]={
2.1,-1.7,-2,
0.3,-1,-8
};
Halaman | 1
Ir. Sihar, MT. – Dept. SK
2. cout << "Pengurangan Matriks =n";
for(i=0;i<2;i++) {
for(j=0;j<3;j++) {
z2[i][j]=A[i][j]-B[i][j];
}
}
for(i=0;i<2;i++) {
for(j=0;j<3;j++) {
cout << " " << z2[i][j];
}
cout << endl;
}
}
Penjelasan:
2 െ1.8
2
2.1 െ1.7 െ2
െ0.1 െ0.1
4
ቂ
ቃെቂ
ቃൌቂ
ቃ
3 െ1 െ8.3
0.3 െ1 െ8
2.7
0
െ0.3
Contoh sintaks pemrograman perkalian matriks:
#include<iostream.h>
void main()
{
int i,j,k;
float z2[2][4],A[2][3]={
2,-1.8,2,
3,-1,-8.3
};
float B[3][4]={
2.1,-1.7,-2,1.1,
0.3,-1.2,-8,-1.1,
0.3,-1,-0.8,-0.1
};
cout << "Perkalian Matriks =n";
for(i=0;i<2;i++) {
for(k=0;k<4;k++) {
z2[i][k]=0;
for(j=0;j<3;j++) {
z2[i][k]+=A[i][j]*B[j][k];
}
}
}
for(i=0;i<2;i++) {
for(k=0;k<4;k++) {
cout << " " << z2[i][k];
}
cout << endl;
}
}
Penjelasan:
Perkalian dan pembagian matriks harus memenuhi syarat sbb:
ada dua matriks, A dan B, maka
untuk A dan B dapat dikali atau dibagi, jika dan hanya jika
jumlah kolom A == jumlah baris B
2.1 െ1.7 െ2 1.1
2 െ1.8
2
ቂ
ቃ ൈ 0.3 െ1.2 െ8 െ1.1 ൩
3 െ1 െ8.3
0.3 െ1 െ0.8 െ0.1
Halaman | 2
Ir. Sihar, MT. – Dept. SK
3.
ሺ2ሻሺ2.1ሻ ሺെ1.8ሻሺ0.3ሻ ሺ2ሻሺ0.3ሻ
ሺ3ሻሺ2.1ሻ ሺെ1ሻሺ0.3ሻሺെ8.3ሻሺ0.3ሻ
ሺ2ሻሺെ1.7ሻ ሺെ1.8ሻሺെ1.2ሻ ሺ2ሻሺെ1ሻ ሺ2ሻሺെ2ሻ ሺെ1.8ሻሺെ8ሻ ሺ2ሻሺെ0.8ሻ
ሺ3ሻሺെ1.7ሻ ሺെ1ሻሺെ1.2ሻ ሺെ8.3ሻሺെ1ሻ ሺ3ሻሺെ2ሻ ሺെ1ሻሺെ8ሻ ሺെ8.3ሻሺെ0.8ሻ
4.26 െ3.24 8.8 3.98
ቂ
ቃ
3.51
4.4 8.64 5.23
ሺ2ሻሺ1.1ሻ ሺെ1.8ሻሺെ1.1ሻ ሺ2ሻሺെ0.1ሻ
൨
ሺ3ሻሺ1.1ሻ ሺെ1ሻሺെ1.1ሻሺെ8.3ሻሺെ0.1ሻ
Vektor merupakan salah satu pencabangan matriks, oleh sebab vektor (vector) bisa disebutkan
sebagai matriks dengan ordo 2x1.
െ2
Contoh: A ቀ ቁ ⇒ vektor A dengan isi elemen: A11=-2 ; A12=3
3
Contoh perkalian matriks dan vektor:
1
െ1
െ0.5
െ2.5 െ2൩ ൈ ቂ
ቃ
2
െ1
4
ሺ1ሻሺെ0.5ሻ ሺെ1ሻሺ2ሻ
ሺെ2.5ሻሺെ0.5ሻ ሺെ2ሻሺ2ሻ
ሺെ1ሻሺെ0.5ሻ ሺ4ሻሺ2ሻ
െ2.5
െ2.75൩
8.5
െ2.5
Didapatkan vektor baru: െ2.75൩
8.5
Jika A dan B adalah dua matriks dengan ordo m1 x n1 dan m2 x n2, maka A x B ≠ B x A namun dapat
dikerjakan apabila m1=n2 dan m2=n1.
Contoh:
A=ሾെ1 1 2ሿ
െ2
B= 3 ൩
1
Maka: A x B sbb:
ሾሺെ1ሻሺെ2ሻ ሺ1ሻሺ3ሻ ሺ2ሻሺ1ሻሿ = ሾ7ሿ
Sintaksnya sbb:
#include<iostream.h>
void main()
{
int i,j,k;
float z2[1][1],A[1][3]={
-1,1,2,
};
float B[3][1]={
-2,
3,
1
};
cout << "Perkalian Matriks =n";
for(i=0;i<1;i++) {
for(k=0;k<1;k++) {
z2[i][k]=0;
for(j=0;j<3;j++) {
z2[i][k]+=A[i][j]*B[j][k];
}
}
Halaman | 3
Ir. Sihar, MT. – Dept. SK
4. }
for(i=0;i<1;i++) {
for(k=0;k<1;k++) {
cout << " " << z2[i][k];
}
cout << endl;
}
}
Dan B x A sbb:
ሺെ2ሻሺെ1ሻ ሺെ2ሻሺ1ሻ ሺെ2ሻሺ2ሻ
2 െ2 െ4
ሺ3ሻሺ1ሻ
ሺ3ሻሺ2ሻ ൌ െ3 3
ሺ3ሻሺെ1ሻ
6൩
ሺ1ሻሺെ1ሻ
ሺ1ሻሺ1ሻ
ሺ1ሻሺ2ሻ
െ1 1
2
Sintaksnya sbb:
#include<iostream.h>
void main()
{
int i,j,k;
float z2[3][3],A[1][3]={
-1,1,2,
};
float B[3][1]={
-2,
3,
1
};
cout << "Perkalian Matriks =n";
for(i=0;i<3;i++) {
for(k=0;k<3;k++) {
z2[i][k]=0;
for(j=0;j<1;j++) {
z2[i][k]+=B[i][j]*A[j][k];
}
}
}
for(i=0;i<3;i++) {
for(k=0;k<3;k++) {
cout << " " << z2[i][k];
}
cout << endl;
}
}
Penjelasan:
Dapat disimpulkan dua matriks A dan B dapat saling dikalikan akan menghasilkan masing-masing
matriks bujursangkar.
Untuk pembagian matriks dapat dijelaskan sebagai berikut:
Jika A.K = 1 ; dimana 1 dalam matriks disebut sebagai matriks identitas dengan anggota/elemen sbb:
1 0
ቂ
ቃ
0 1
ଵ
Maka K =
= A-1 ⇒ invers-A ; dengan catatan masing-masing A dan K merupakan matriks
bujursangkar, yakni jumlah baris dan kolom adalah sama atau dengan kata lain masing-masing
matriks memiliki ordo yang sama.
Untuk mencari invers dari suatu matriks dilakukan sbb:
Halaman | 4
Ir. Sihar, MT. – Dept. SK
5. െ1 െ1
1 0
ቃ maka I = ቂ
ቃ sehingga:
1
2
0 1
݇
݇ଵଶ
െ1 െ1
1 0
ቂ
ቃ x ଵଵ
൨=ቂ
ቃ
݇ଶଵ ݇ଶଶ
1
2
0 1
sehingga dapat dikerjakan sbb:
(-1)(k11)+(-1)(k21) = 1
(-1)(k12)+(-1)(k22) = 0
A.K = 1 ; jika A = ቂ
(1)(k11)+(2)(k21) = 0
(1)(k12)+(2)(k22) = 1
Dilakukan proses eliminasi sbb:
-k21 + 2k21 = 1 ⇒ k21=1 ; k11=-2
dan
-k22 + 2k22 = -1 ⇒ k22=1 ; k12=-1
െ2 െ1
Sehingga didapatkan, K = ቂ
ቃ
1
1
Teknik dan metode lain dapat dilakukan dengan rumus:
Pembuktian:
ଵ
െ1 െ1
2
1
െ2 െ1
A= ቂ
ቃ ; maka ିܣଵ ൌ ሺିଶିሺିଵሻሻ ቂ
ቃൌቂ
ቃ ... terbukti ☺
1
2
െ1 െ1
1
1
Disebutkan matriks transponse, apabila elemen baris ke-i menjadi kolom ke-i; misalkan diketahui
െ2 1
െ2 0 2
suatu matriks Z = 0 െ1൩ maka ZT = ቂ
ቃ ; sehingga bisa disimpulkan jika Z dengan
1 െ1 0
2
0
T
ordo 3x2, maka Z = matriks dengan ordo 2x3.
Determinan suatu matriks 3x3 dapat dicari dengan cara berikut ini:
െ1 1 2
െ1 1 2
A = 2 0 െ2൩ ⇒ det-A = อ 2 0 െ2อ = -1[(0)(2)-(-2)(1)] – 1[(2)(2)-(-2)(1)] + 2[(2)(1)-(0)(1)]
1 1 2
1 1 2
det-A = -1(2) – 1(6) + 2(2) = -4
Dengan demikian, dapat dirumuskan sbb:
ݖ ݕ ݔ
Jika A = ܽ ܾ ܿ ൩ , maka:
݀ ݁ ݂
det-A = x[(b)(f)-(c)(e)] – y[(a)(f)-(c)(d)] + z[(a)(e)-(b)(d)]
Berikut sintaks pemrogramannya:
#include<iostream.h>
void main()
{
int i,j,A[3][3];
Halaman | 5
Ir. Sihar, MT. – Dept. SK
6. for(i=0;i<3;i++) {
for(j=0;j<3;j++) {
cout << "A[" << i+1 << "][" << j+1 << "]: ";
cin >> A[i][j];
}
}
cout << endl;
for(i=0;i<3;i++) {
for(j=0;j<3;j++) {
cout << A[i][j] << " ";
}
cout << endl;
}
cout << "ndet-A = ";
cout << A[0][0]*((A[1][1]*A[2][2])-(A[1][2]*A[2][1]))A[0][1]*((A[1][0]*A[2][2])-(A[1][2]*A[2][0]))+A[0][2]*((A[1][0]*A[2][1])(A[1][1]*A[2][0]));
}
Matriks juga dapat digunakan untuk mencari variabel pada persamaan linier dengan n-variabel.
Misalkan:
x + 2y + 3z = 1
2x – y + z = 0
x + y – 2z = -1
Maka ketiga persamaan ini dapat ditransformasikan ke dalam bentuk perkalian matriks terhadap
vektor sbb:
ݔ
1 2
3
1
2 െ1 1 ൩ ݔቈ ݕ ൌ 0 ൩
ݖ
1 1 െ2
െ1
Demikian juga:
x–y=2
-4x + y = 1
Maka, jika ditransformasikan ke dalam bentuk perkalian matriks terhadap vektor adalah sbb:
ݔ
1 െ1
2
ቂ
ቃ ݔቂݕቃ ൌ ቂ ቃ
െ4 1
1
yakni:
AxK=Z
Untuk mencari nilai-eigen A dilakukan dengan cara sbb:
1 െ ߣ െ1
ቚ
ቚ ⇒ (1-λ)(1-λ) – (-1)(-4) = 0 ; (1-2λ+λ2) – 4 = 0 ; -3 – 2λ + λ2
െ4 1 െ ߣ
2
Maka: λ – 2λ – 3 ⇔ (λ-3)(λ+1) = 0
λ1 = 3 dan λ2 = -1
Halaman | 6
Ir. Sihar, MT. – Dept. SK