Upcoming SlideShare
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Standard text messaging rates apply

# Konsep dan Terapan Matriks

314
views

Published on

Published in: Education

0 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

• Be the first to like this

Views
Total Views
314
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
2
0
Likes
0
Embeds 0
No embeds

No notes for slide

### Transcript

• 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