BAB III MATRIKS & SOLUSI PERSAMAAN LINEAR

15 downloads 1837 Views 194KB Size Report
Metode komputasi numerik untuk penyelesaian sistem persamaan linear ... Sistem persamaan umum dengan n=3, dituliskan sebagai berikut. 3. 3. 33. 2. 32. 1.
3

MATRIKS & SOLUSI PERSAMAAN LINEAR

Pada bab ini dibahas konsep dasar dan metode di dalam menyelesaikan persamaan linear dengan pendekatan matriks terutama berkaitan dengan kasus-kasus khusus dalam fisika. Disajikan beberapa metode komputasi numerik, meliputi metode eliminasi Gauss dengan pivoting, metode Gauss-Seidel, dan matriks Tridiagonal yang cukup familiar di terapkan dalam masalah nilai eigen dalam fisika kuantum, sebagai stimulan untuk pemahaman yang lebih intensif terhadap metodemetode yang lain menyangkut solusi fenomena fisis dalam formulasi persamaan linear.

A. SASARAN UMUM Sasaran umum dari perkuliahan ini adalah memberikan pemahaman kepada mahasiswa mengenai proses penyelesaian kasus fisika dalam formulasi persamaan linear secara komputasi numerik, dan memberikan keleluasaan wawasan tentang beberapa metode dari sekian banyak metode yang bisa diimplementasikan.

B. SASARAN KHUSUS Setelah perkuliahan selesai dilaksanakan, mahasiswa diharapkan mampu: 1. Memformulasikan fenomena fisis bentuk persamaan linear ke dalam formula iteratif komputasi numerik. 2. Menyebutkan beberapa metode komputasi numerik dalam kasus penyelesaian persamaan linear 3. Menjelaskan perilaku metode eliminasi Gauss, metode Gauss-Seidel dan matriks Tridiagonal di dalam menanga ni kasus persamaan linear yang ditangani. 4. Mengembangkan pemahaman dengan menggunakan karakteristik metode-metode komputasi numerik yang lain.

Äfisika-komputasi ⊇

47

5. Meng-implementasikan metode komputasi numerik bercirikan matriks untuk persamaan linear dalam program komputer.

C. URAIAN MATERI Tinjau sistem linear Ax=b, yang mempunyai satu dan hanya satu penyelesaian untuk setiap sisi kanan b, dan batasi perhatian pada sistem yang mempunyai jumlah persamaan tepat sama dengan jumlah variabelnya, yakni untuk matriks yang koefisiennya A dan dapat diinvers-kan. Suatu uji coba yang seringkali dikutip untuk meneliti dapat tidaknya suatu matriks diinverskan, didasarkan pada konsep determinan. Teorema penting yang bersangkutan menyatakan bahwa matriks A dapat diinverskan, jika hanya jika det(A)≠ 0 sebagaimana Dalil Cramer yang menyatakan penyelesaian dari Ax=b dalam determinan. Nsmun demikian, determinan tidak penting untuk praktek penyelesaian sistem linear, karena perhitungan determinan biasanya mempunyai kesulitan yang sama dengan penyelesaian sistem linear. Karena alasan tersebut tidak digunakan determinan dalam penyelesaian sistem linear dan juga tidak perlu mendefinisikan determinan itu sendiri. Metode komputasi numerik untuk penyelesaian sistem persamaan linear dapat dibagi dalam dua jenis, langsung (direct) dan iterasi(iterative). Metode langsung adalah metode dengan tidak adanya kesalahan pembulatan atau lainlainnya, akan memberikan penyelesaian yang tepat dalam jumlah operasi aritmetika elementer yang terbatas banyaknya. Metode dasar yang digunakan adalah eliminasi Gauss dan ada berbagai pilihan metode yang bervariasi dalam efisiensi dan kecermatan hitungan. Metode iterasi adalah dimulai dengan pendekatan permulaan menggunakan algoritma yang sesuai, untuk mendapatkan hasil pendekatan yang lebih baik. Metode iterasi bervariasi dalam algoritma dan kecepatan konvergensi. Kelebihan metode iterasi adalah kesederhanaan dan keseragamannya dari operasi yang dilakukan. Matriks yang berkaitan dengan sistem linear juga digolongkan dalam padat (dense) atau longgar (sparse). Matriks padat mempunyai sedikit sekali unsur-unsur nol, dan orde matriks itu cenderung menjadi relatif kecil– mungkin berorde 100 atau lebih kecil. Biasanya lebih efisien untuk menangani masalah yang melibatkan Äfisika-komputasi ⊇

48

matriks semacam itu dengan metode langsung. Matriks longgar mempunyai sedikit sekali unsur-unsur tak nol. Biasanya timbul dari usaha -usaha untuk menyelesaiakan persamaan diferensial dengan metode selisih terhingga. Tingkat matriks semacam ini mungkin besar sekali, dan secara ideal sangat cocok untuk penyelesaian dengan metode iterasi. Berikut ini adalah beberapa metode di dalam menyelesaikan persamaan linear dengan pendekatan matriks, antara lain: a.

Kaidah Cramer

b.

ÄEliminasi Gauss (dengan pivoting) (Stability:– ,Precision:Affected by Round-off error, Breadth of Application:General, Programming Effort:Moderat)

c.

Gauss Jordan

d.

ÄDekomposisi LU (Matriks Spesial–Tridiagonal) (Stability:– ,Precision:Affected by Round-off error, Breadth of Application:General, Programming Effort:Mode rat)

e.

ÄGauss Seidel (Stability:may not converge if not diagonally dominant, Precision:Excellent, Breadth of Application:Appropriate only for diagonally dominant system, Programming Effort:Easy)

3.1 Eliminasi Gauss (dengan pivoting) Matriks menjadi skema yang efisien ketika semua koefisien sistem linear Ax=b berada dalam deret berorde Nx(N+1). Koefisien-koefisien b disimpan dalam kolom N+1 dari deret ( yaitu ai,N+1=bi ). Tiap baris memuat semua koefisien yang diperlukan untuk menyatakan satu persamaan dalam sistem linear. Matriks lengkap dinyatakan oleh [A,b] dan sistem linear itu dinyatakan sebagai berikut:

 a11 a  21 [ A , b ] =  ...   ...  a N 1

b1 

a12

...

a1 N

a 22

...

b2 N

b2 

...

...

...

... 

...

...

...

aN 2

...

a NN



 ...  b N 

(3.1)

Äfisika-komputasi ⊇

49

Sistem Ax=b, dapat diselesaikan dengan melakukan OBE (operasi-operasi baris elementer) pada matriks lengkap [A,b]. Var iabel-variabel xk adalah pemegang posisi untuk koefisien-koefisien dan dapat dihilangkan sampai akhir perhitungan. Operasi berikut merupakan operasi baris elementar yang dapat diterapkan pada matriks lengkap dan menghasilkan sistem yang setara, meliputi: (a) Pertukaran

: urutan dua baris dapat ditukar

(b) Penskalaan

: Perkalian sebuah baris dengan tetapan tidak nol

(c) Penggantian

: Sebuah baris dapat digantikan oleh jumlah baris itu dengan kelipatan sebarang baris lainnya.

Tumpuan (pivoting) adalah salah satu bentuk penyelesaian eliminasi Gauss dengan menentukan bilangan akk pada posisi (k,k) untuk mengeliminasi xk dalam baris k+1,k+2,…,N. Jika akk=0, maka baris k tidak dapat dipakai untuk menghilangkan elemen-elemen pada kolom k, dan baris k harus ditukar dengan baris lainnya di bawah diagonal untuk memperoleh elemen tumpuan yang tidak nol. Jika ini tidak dapat dilakukan maka sistem persamaan tidak mempunyai selesaian tunggal. Metode eliminasi Gauss memerlukan dua tahap di dalam menyelesaikan sua tu sistem persamaan linear. Pertama, tahap eliminasi maju (forward elimination) bertujuan mengubah matriks koefisien menjadi matriks segitiga atas. Kedua, adalah subtitusi balik (back subtitution).

Contoh 3.1 Sistem persamaan umum dengan n=3, dituliskan sebagai berikut a11 x1 + a12 x2 + a13 x 3 = b1

P(1)

a21 x1 + a 22 x 2 + a23 x 2 = b 2

P(2 )

a 31 x1 + a 32 x2 + a 33 x 3 = b3

P(3 )

(3.2)

selesaikan persamaan linear silmultan diatas menggunakan metode eliminasi Gauss Solusi Tahap Pertama: Eliminasi Maju langkah pertama, adalah eliminasi xi dari P(2) dan P(3) dengan asumsi a11≠0. Definisikan P21 =

a21 a11

dan P31 =

a 31 a11

Äfisika-komputasi ⊇

50

lakukan operasi-operasi berikut P(2) – P 21 * P(1) dan P(3) – P 31 * P(1), maka persamaan linear pada (3.2) menjadi: a11 x 1 + a12 x 2 + a13 x 3 = b1

P(1)

a 22 ' x 2 + a 23 ' x2 = b2 '

P(2 )

a 32 ' x2 + a 33 ' x 3 = b 3 '

P(3 )

(3.3)

koefisien-koefisien aij’ didefinisikan oleh a ij ' = a ij − Pi1 a1 j

i, j = 2 , 3

b i ' = b i − Pi1 b1

i = 2 ,3

Langkah kedua adalah eliminasi x2 dari P(3). Asumsikan bahwa a22’≠ 0 Definisikan P32 =

a 32 ' a22 '

lakukan operasi-operasi berikut P(3) – P32* P(2) maka persamaan linear pada (3.3) menjadi: a11 x 1 + a12 x 2 + a13 x 3 = b1

P(1)

a 22 ' x 2 + a 23 ' x2 = b2 '

P(2 )

a 33 " x 3 = b 3 "

P(3 )

(3.4)

koefisien-koefisien yang baru didefinisikan oleh a 33 "= a 33 ' −P32 a 23 '

i, j = 2 , 3

b 3 " = b2 ' −P32 b2

i = 2 ,3

Tahap Kedua: Subtitusi Balik Dengan subtitusi balik, secara beruntun didapatkan x1 ,x2 dan x3 : x 3 = b 3 " / a 33 " x 2 = (b2 ' − a23 ' x 3 ) / a 22 '

(3.5)

x1 = (b1 − a12 x2 − a13 x 3 ) / a11

Contoh 3.2 Gunakan eliminasi Gauss untuk menyelesaikan 3 x1 − 0 ,1 x 2 − 0 ,2 x 3 = 7, 85

P(1)

0 ,1 x1 + 7 x 2 − 0 , 3 x 3 = −19 , 3

P(2 )

0 , 3 x1 − 0, 2 x2 + 10 x 3 = 71 , 4

P(3 )

(3.6)

bawa 6 angka signifikan selama komputasi Äfisika-komputasi ⊇

51

solusi Tahap Pertama: Eliminasi Maju Operasi-operasi eliminasi adalah P(2)–0,1/3*P(1) dan P(3)–0,3/3*P(1) akan memberikan perubahan pada persamaan 3.6 menjadi: 3 x1 − 0 ,1 x2 − 0, 2 x 3 = 7, 85

P(1)

7, 00333 x 2 − 0 , 293333 x 3 = −19 , 5617

P(2 )

− 0 ,190000 x 2 + 10 ,0200 x 3 = 70 ,6150

P(3 )

(3.7)

Untuk melengkapi eliminasi maju, x2 harus dihilangkan dari P(3) dengan operasi P(3)–0,19000/7,00333*P(2), sehingga sistem tereduksi menjadi bentuk segitiga atas sebagai berikut: 3 x1 − 0,1 x 2 − 0 ,2 x 3 = 7,85

P(1)

7, 00333 x 2 − 0 ,293333 x 3 = −19 , 5617

P(2 )

10 , 0200 x 3 = 70 , 0843

P(3 )

(3.8)

Tahap Kedua: Subtitusi Balik x3 = x2 = x1 =

70 . 0843 10 , 0200

= 7, 00003

− 19 , 5617 + 0 ,293333 (7, 00003 ) 7, 00333

= −2 , 50000

7,85 + 0 ,1(−2 , 50000 ) + 0 ,2 (7, 00003 ) 3

= 3, 00000

Langkah-langkah untuk n=3 pada contoh 3.1 dan 3.2 secara mudah dapat diimplementasikan untuk sistem n persamaan linear yang tidak singular, dimana matriks segitiga atas karena proses eliminasi dituliskan, a11 x1 + a12 x 2 + a13 x 3 + ... + a1 n x n = b1 a 22 ' x 2 + a23 ' x 2 + ... + a 2 n ' x n = b2 ' a33 " x 3 + ... + a 3 n " x n = b 3 "

(3.9)

... ... a nn ( n −1 ) x n = b n ( n −1 )

dan persamaan subtitusi balik,

Äfisika-komputasi ⊇

52

xn =

b n ( n −1 )

(3.10)

( n −1 )

a nn

Hasilnya kemudian disubtitusi balik pada persamaan yang ke (n–1). Prosedurenya akan berulang untuk mengevaluasi nilai-nilai x, dengan formula: bi

( i −1 )



n

∑a

j = i +1

xi =

a ij

( i −1 )

ij

xj

( i −1 )

untuk i = n − 1, n − 2,...,1

(3.11)

Algoritma Eliminasi Gauss Pseudocode untuk implementasi eliminasi Gauss dan proses subtitusi balik disajikan dibawah ini: DO k=1,n–1 DO i=k+1,n factor=a i k/a k,k DO j=k+1 to n a i,j=a i,j–factor.a k,j END DO b i=b i–factor.bk END DO END DO xn=b n/an,n DO i=n–1,1,–1 sum=0 DO j=i+1,n sum=sum+ai,j.xj END DO xi=(bi–sum)/a i,j END DO

Contoh 3.3 Buatlah program untuk menyelesaikan set persamaan simultan dalam bentuk matriks berikut dengan eliminasi Gauss !

0 − 2  − 2

−1 2 4

2

0

− 1 0  3 1 

Solusi Äfisika-komputasi ⊇

53

/* Eliminasi Gauss */ #include #include #include #define TRUE 1 /* a[i][j] : elemen matriks, a[I,j] n : orde matriks */ main() { int i, j, _i, _r; static n=3; static float a_init[10][11]= { { 0, –1, 2, 0}, {–2, 2, –1, 0}, {–2, 4, 3, 1} }; double a[10][11]; void gauss(); static int _aini = 1; printf ( “ Eliminasi Gauss \n\n”); printf (“ Elemen Matriks\n”); for ( i=1; i