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<=n; i++) { for ( j=1; j<= n+1; j++ ) { a[i][j]=a_init[i– 1][j– 1]; printf( “ %12.5”, a[i][j] ); } printf ( “\n”); } gauss ( n, a); printf ( “ Solusi\n”); printf ( “ ----------------------------------------------------------------\n”); printf ( “ i x(i)\n”); printf ( “ ----------------------------------------------------------------\n”); for ( i=1; i<=n; i++ ) printf ( “ %5d %16.6e\n”, i, a[i] [n+1] ); printf ( “ -----------------------------------------------------------------\n\n”); exit(0); } void gauss (n, a) int n; double a[ ] [11]; { int i, j, jc, k, kc, nv, pv; r, temp, tm, va; for ( i = 1; i < =(n-1); i++){ for (jr = i+1; jr<=n; jr++){ /* eliminasi dibawah diagonal */ if ( a[jr][i] ! = 0 ) { r = a[jr][i] / a[i][i]; for (kc = i + 1; kc<= (n+1); kc++){ temp = a[jr][kc]; a[jr][kc] = a[jr][kc] – r* a[i][kc]; } Äfisika-komputasi ⊇
54
} } } for ( i=1; i<=n; i++){ /* subtitusi balik */ a[n][n+1] = a[n] [n+1]/a[n][n]; for ( nv=n–1; nv >=1; nv– –){ va = a[nv][n+1]; for ( k=nv+1; k <= n; k++) { va=va–a[nv][k]*a[k][n+1]; } a[nv][n+1] = va/a[nv][nv]; } return; } } Hasil program Elemen matriks 0.00000e+00 –1.0000e+00 2.00000e+00 0.00000e+00 –2.00000e+00 2.00000e+00 –1.00000e+00 0.00000e+00 –2.00000e+00 4.00000e+00 3.00000e+00 1.00000e+00 Solusi -------------------------------------------------------------------------------I x[i] --------------------------------------------------------------------------------1 2.187500e+00 2 1.750000e+00 3 1.250000e –01 ---------------------------------------------------------------------------------
3.2 Metode Gauss-Seidel Dalam sub-bahasan ini akan dibahas metode penyelesaian sistem persamaan linear secara tak langsung atau iteratif. Metode perhitungan secara langsung sudah dibahas dalam sub-bahasan di depan, yaitu eliminasi Gauss. Metode Gauss-Seidel adalah metode iteratif yang secara luas telah digunakan sebagai alternatif metode eliminasi. Tinjau satu set dari n persamaan: [A]{X}={B}, dengan asumsi merupakan persamaan 3x3. Jika elemen diagonal tidak nol dan nilainya tidak diketahui, persamaan pertama bisa diselesaikan sebagai x1, persamaan kedua sebagai x2 dan persamaan ketiga sebagai x3, ditunjukkan berikut ini.
Äfisika-komputasi ⊇
55
x1 = x2 = x3 =
b1 − a12 x 2 − a13 x 3
(3.12a)
a11 b 2 − a 21 x1 − a23 x 3
(3.12b)
a 22 b 3 − a 31 x1 − a 32 x2
(3.12c)
a 33
Tahap selanjutnya dimulai proses penyelesaian dengan memilih nilai coba untuk x. Langkah sederhana untuk menentukan nilai coba dengan mengasumsikan bahwa semua nilai awal adalah nol. Jika disubtitusikan pada persamaan (3.12a), maka didapatkan nilai baru untuk x1=b 1/a 11. Kemudian kita subtitusikan nilai baru x1 dan nilai awal bernilai nol untuk x3 pada persamaan (3.12b) untuk menghitung nilai baru x2. Proses diulang pada persamaan (3.12c) untuk mendapatkan nilai baru x3. Kemudian kembali diulang untuk persamaan dan prosedur berulang sampai penyelesaian konvergen cukup rapat untuk nilai kebenaran. Konvergensi bisa dicek menggunakan kriteria e a, i =
x i j − x i j −1 xi
j
100 % < e s
untuk semua i, dimana j dan j– 1 adalah iterasi saat itu dan sebelumnya.
Contoh 3.4 Pandang suatu sistem persamaan 3 x1 − 0 ,1 x 2 + −0 ,2 x 3 = 7,85 0 ,1 x1 + 7 x 2 − 0 , 3 x 3 = −19 , 3
(3.15)
0 , 3 x1 − 0, 2 x2 + 10 x 3 = 71 , 4
solusi acuan yang benar adalah x1=3, x2=–2,5 dan x3=7 Solusi pertama, selesaikan setiap persamaan untuk diagonal yang belum diketahui x1 = x2 =
7,85 + 0 ,1 x 2 + 0 , 2 x 3 3
− 19 , 3 − 0 ,1 x1 + 0 ,3 x 3 7
(3.13a) (3.13b)
Äfisika-komputasi ⊇
56
x3 =
71 ,4 − 0 ,3 x1 + 0 ,2 x2
(3.13c)
10
dengan asumsi x2 dan x3 adalah nol, maka (3.13a) menjadi x1 =
7,85 + 0 + 0 3
= 2,616667
nilai ini dan asumsi x3=0, disubtitusikan pada (3.12b) memberikan hitungan x2 =
− 19 ,3 − 0,1(2,616667 ) + 0 7
= −2,794524
iterasi pertama dilengkapi dengan subtitusi hasil perhitungan nilai x1 dan x2 ke dalam persamaan (3.12c) berikut x3 =
71 , 4 − 0 , 3(2, 61667 ) + 0, 2( −2,794524 ) 10
= 7, 005610
Untuk iterasi kedua, proses yang sama berulang dan memberikan hasil berikut: x1 =
x2 = x3 =
7,85 + 0 ,1(−2 ,794524 ) + 0 ,2 (7, 005610 ) 3
= 2, 990557
e t = 0 , 31 %
= −2, 499625
et = 0, 015 %
= 7, 000291
et = 0, 042 %
− 19 ,3 − 0,1(2,990557 ) + 0,3(7,005610 ) 7 71 , 4 − 0 , 3(2, 990557 ) + 0 ,2( −2, 499625 ) 10
metode ini, lebih jauh, konvergen pada nilai benar. Kelanjutan iterasi akan memberikan jawaban yang lebih tepat.
Algoritma Gauss-Seidel Pseudocode untuk implementasi metode Gauss-Seidel disajikan dibawah ini: SUBROUTINE Gseid(a,b,n,x,imax,es,lambda) DO i=1,n dummy =a i,i DO j=1, n a i,j=a i,j /dummy END DO b i=b i /dummy END DO DO i=1,n sum= bi DO j=1,n Äfisika-komputasi ⊇
57
IF i≠j THEN sum=sum–a i,j.xj END DO xi=sumj END DO iter=1 DO sentinel=1 DO i=1,n old=x i sum=bi DO j=1,n IF i≠j THEN sum=sum– a i,j.xj END DO xi=lambda*sum+(1,–lambda)*0ld IF sentinel= 1 AND xi ≠ 0. THEN ea=ABS((xi–old)/xi)*100. IF ea>es THEN sentinel=0 END IF END DO iter=iter+1 IF sentinel=1 OR (iter ≥ imax) EXIT END DO END Gseid
3.3 Matriks spesial Tridiagonal & Nilai Eigen Banyak masalah terapan melibatkan matriks dengan kebanyakan elemennya nol. Salah satu bentuk matriks yang elemen nolnya berpola adalah matriks pita (banded matrix). Lebar pita adalah maksimum banyaknya elemen taknol pada barisbaris suatu matriks pita. Matriks pita yang terkecil adalah yang lebar pitanya tiga atau dikenal sebagai matriks tridiagonal, seperti ditunjukkan pada persamaan (3.12) sebagai Sistem linear tridiagonal NxN.
Äfisika-komputasi ⊇
58
f1 e 2
g1 f2
g2
e3
f3
g3
..
..
..
..
..
..
..
..
..
e N −1
f N −1 eN
g N −1 f N
x1 r1 x r 2 2 x 3 r3 . . = . . . . x N −1 rN −1 x N rN
(3.12)
Jika eliminasi Gauss langsung diterapkan pada sistem (3.12) maka banyak operasi yang sebenarnya tidak perlu dilakukan. Agar metode lebih efisien diperlukan modifikasi. Pivoting tidak diperlukan, karena pada umumnya persamaan (3.12) yang dijumpai dalam praktek bersifat dominan secara diagonal. Setelah eliminasi akan dihasilkan matriks bidiagonal atas. Beberapa metode bisa digunakan untuk menyelesaikan sistem tridiagonal, diantaranya adalah Secant, Gauss Seidel dan lainnya tergantung dari korelasi perilaku elemen matriks tridiagonal. Di fisika seringkali dijumpai kasus penyelesaian nilai eigen dan fungsi eigen dari suatu fungsi keadaan. Akhir bahasan pada studi kasus akan disinggung tentang nilai eigen dan fungsi eigen untuk partikel yang berada dalam sumur potensial. Metode yang efisien untuk menyelesaikan sistem tridiagonal diantaranya adalah algortima Thomas (Thomas Algorithm). Seperti pada dekomposisi konvensial LU, algoritma terdiri dari tiga langkah yaitu dekomposisi, subtitusi maju dan subtitusi balik. Berikut ini adalah algoritma Thomas: (a) Dekomposisi DO k=2,n ek=ek/fk–1 fk=fk –ek.gk–1 END DO (b) Subtitusi Maju DO k=2,n rk=rk–ek.rk–1 END DO (c) Subtitusi Balik xn=rn/fn DO k=n –1,1,–1 Äfisika-komputasi ⊇
59
xk=(rk–gk.xk+1)/fk END DO
Contoh 3.4 Selesaikan sistem tridiagonal berikut dengan algoritma Thomas
2 , 04 −1
−1 2 ,04
−1
−1
2 , 04
−1 2 ,04
−1
T 1 40 , 8 T 2 0 ,8 = T 3 0 ,8 T 4 200 ,8
(3.13)
Solusi Pertama, dekomposisi diimplementasikan sebagai berikut e2 = −1 / 2, 04 = −0 , 49 f 2 = 2 . 04 − (−0 , 49 )(−1 ) = 1, 550 e3 = −1 / 1, 550 = −0 , 645 f 3 = 2 ,04 − (−0 ,645 )(−1) = 1, 395 e 4 = −1 / 1, 395 = −0 ,717 f 4 = 2, 04 − (−0 ,717 )(−1 ) = 1, 323
kemudian matriks bertransformasi menjadi
2, 04 − 0 , 49
−1 1, 550
−1
− 0 ,645
1, 395
− 0 ,717
−1 1, 323
dan dekomposisi LU memberikan
1 − 0 , 49 [ A ] = [L ][U ] =
1
− 0 , 645
1
− 0 ,717
1
2 , 04
−1 1,550
−1 1, 395
−1 1,323
Subtitusi maju me mberikan perhitungan: r2 = 0 ,8 − ( −0 , 49 )40 , 8 = 20 , 8 r3 = 0 ,8 − ( −0 ,645 )20 ,8 = 14 ,221 r4 = 200 , 8 − (−0 ,717 )14 ,221 = 210 , 996
Äfisika-komputasi ⊇
60
40 , 8 20 ,8 dan modifikasi vektor 14 ,221 210 ,996 yang kemudian digunaka n dalam konjungsi dengan matriks U dalam subtitusi balik dan memberikan solusi, T 4 = 210 , 996 / 1,323 = 159 , 480 T 3 = [14 ,221 − (−1)159 , 48 ] / 1, 395 = 124 , 538 T 2 = [20 ,800 − (−1 )124 , 538 ] / 1, 550 = 93 ,778 T 1 = [40 ,800 − (−1 )93 ,778 ] / 2, 040 = 65 , 970
Jawaban dari algoritma Thomas ini bisa dicek dengan menggunakan software komputasi populer, dalam hal ini dipilih MATLAB (MATrix LABoratory ) sebagai fasilitas manipulasi matriks, dan sistem tridiagonal pada persamaan (3.13) diselesaikan dengan sangat akurat, seperti pada gambar 3.1.
Gambar 3. 1 proses MATLAB dalam menyelesaikan sistem tridiagonal
::: Studi Kasus Fisika::: Äfisika-komputasi ⊇
61
Arus dan Tegangan dalam Rangkaian Resistor
Untuk menentukan besar arus dan tegangan pada rangkaian kombinasi
∑i = 0
resistor, digunakan kaidah Kirchoff tentang arus dengan formulasi: kaidah Kirchoff tentang tegangan dalam loop:
∑ξ − ∑ iR = 0 , dimana
dan
ξ adalah
gaya gerak listrik dari sumber tegangan. Tinjau rangkaian pada gambar 3. 2. Arus dalam rangkaian belum diketahui baik besar maupun arahnya.Bukan menjadi persoalan yang rumit karena dengan asumsi yang sederhana, arah dicari pada tiap aliran arus. Jika hasil dari kaidah Kirchoff negatif, maka asumsi arah tentunya diperbaiki. 3
10 Ω
5Ω
2
5Ω
1 V1=200 V
3 i32
10 Ω
i12
i43
i52 i54
4
15 Ω
5
20 Ω
V6=0 V 66
[a]
1
2
4
i65 5
6
[b]
Gambar 3. 2 [a] Rangkaian resistor dievaluasi dengan persamaan linear simultan, dan [b] Asumsi arah arus Berdasarkan asumsi pada gambar 3.2 [b], kaidah Kirchoff tentang arus pada setiap node memberikan: i12 + i 52 + i 32 = 0 i 65 − i52 − i 54 = 0 i 43 − i32 = 0
(3.14)
i 54 − i 43 = 0
dan kaidah tegangan pada 2 loop adalah:
− i 54 R 54 − i 43 R 43 − i 32 R 32 + i 52 R 52 = 0 − i65 R 65 − i 52 R 52 + i12 R 12 − 200 = 0
(3.15)
Lebih lanjut sejumlah permasalahan diselesaikan dengan enam set persamaan dimana terdapat enam besaran arus yang tidak diketahui, seperti terlihat pada pemodelan Äfisika-komputasi ⊇
62
matriks. Disamping tidak praktis diselesaikan dengan tangan, sistem ini amat mudah ditangani dengan metode eliminasi.
1 0 0 0 0 5
0 i12
1
1
0
0
−1
0
1
−1
0
−1
0
0
0
0
0
1
10
− 10
0
− 15
− 10
0
− 20
0
0 0 0 = 0 0 200
0 i 52 1 i 32 − 1 i 65 − 5 i54 0 i 43
Selanjutnya dalam kasus ini, solusi didapatkan: i12 = 6 ,1538
i 52 = −4 ,6154
i 32 = −1, 5385
i 65 = −6 ,1538
i 54 = −1, 5385
i 43 = −1, 5385
besar dan arah arus dan tegangan pada node dan loop ditunjukkan pada gambar dibawah: 153,85 V
169,23 V
i=1,5385
V1=200 V i=6,1538
V6=0 V 146,15 V
123,08 V
6
Gambar 3. 3 Besar dan arah arus dan tegangan pada rangkaian resistor
Lebih lanjut, dengan menggunakan algoritma komputasi numerik dan pemrograman komputer, tipe kasus seperti ini menjadi lebih sederhana.
Nilai Eigen dan Fungsi Eigen pada Sumur Potensial Solusi Persamaan Schrodinger Dimensi Satu dalam sistem Kuantum
Äfisika-komputasi ⊇
63
V=∞
V=∞
Persamaan
Schrodinger
tak
tergantung waktu menjadi acuan dalam kasus ini.
∂ 2ψ( x ) 2 m + (E − V )ψ( x ) = 0 (3.16) h ∂x 2 dimana ψ(x ) adalah fungsi eigen, dan E adalah nilai eigen.
Vo
Dilakukan –b
–a
0
a
b
normalisasi
de ngan
mensubtitusikan: E=λ
h2 2 mb 2
,V = v
h2 2 mb 2
dan
x
= by ,
maka diperoleh
∂ 2ψ( y) + (λ − v )ψ(y ) = 0 ∂y2
(3.17)
dengan mengubah persamaan (3.17) ke dalam bentuk komputasi numerik, memberikan persamaan iterasi berikut:
ψo + h 2 (λ − v1 ) − 2 ψ1 +ψ2 = 0
(3.18)
ψ1 + h 2 (λ − v 2 ) − 2 ψ2 +ψ3 = 0
(3.19)
dan seterusnya hingga
ψn −2 + h 2 ( λ − v n −1 ) − 2 ψn −1 +ψn = 0
(3.20)
dimana v1 adalah potensial di titik i. Dengan menerapkan syarat batas ψo = 0 pada x=–b atau y=–1 dan
ψn = 0 pada x=b atau y=1, maka didapatkan bentuk lain dari persamaan (3.18), (3.19) dan (3.20) yaitu sistem tridiagonal sebagai berikut,
Äfisika-komputasi ⊇
64
h 2 (λ − v1 ) − 2 1
1 h (λ − v2 ) − 2
1
1
h (λ − v 3 ) − 2
2
2
..
1 .. .. 2 1 h (λ − v n −2 ) − 2 1 1 h 2 (λ − v n −1 ) − 2 (3.21)
dengan matriks fungsi sebagai berikut :
ψ1 ψ 2 ψ3 . ψn −2 ψn −1
(3.22)
Perkalian matriks koefisien dalam sistem tridiagonal dengan matriks fungsi sama dengan nol. Penyelesaian matriks diatas akan trivial jika determinan matriks paling kiri tidak sama dengan nol. Agar tidak trivial maka determinan tidak boleh sama dengan nol. Determinan matriks dapat dihitung dengan cara membuat sub-sub determinan yang dihitung sebagai berikut: P1 = h (λ − v1 ) − 2 2
(3.23)
P2 = h 2 (λ − v2 ) − 2 .P1 − 1
(3.24)
dan seterusnya hingga diperoleh aturan umum untuk mencari setiap sub determinan ini, yaitu
Pn = h (λ − v n ) − 2 .Pn −1 − Pn −2 2
(3.25)
Sehingga determinan keseluruhan dari matriks pada persamaan (3.21) adalah n −1
P = C Pi = 0
(3.26)
1
Persamaan (3.26) ini merupakan polinom sehingga untuk menyelesaikannya dapat digunakan metode Secant dalam mencari akar-akar sebuah polinom, sehingga
Äfisika-komputasi ⊇
65
didapat nilai-nilai λ yang memenuhi persamaan (3.26). Adapun metode Secant dalam formula iteratifnya adalah
λi +1 = λi − P(λi )
λi − λi −1 P( λi ) − P(λi −1 )
(3.27)
Nilai-nilai λ yang diperoleh dari persamaan (3.27) merupakan nilai-nilai eigen dari partikel-partikel pada kasus sumur potensial. Untuk setiap nilai λ disubtitusikan ke matriks (3.21), dan dengan menggunakan metode Gauss Seidel bisa diperoleh fungsi eigen gelombang untuk λ terkait. Adapun subtitusi nilai awal untuk metode Gauss Seidel (sebagaimana lazimnya metode Gauss Seidel) diberikan nilai –1 dan seterusnya, hingga akhirnya diperoleh satu buah nilai coba yang dapat memberikan nilai fungsi-fungsi gelombang yang ternornalkan. Dengan demikian proses penyelesaian secara komputasi numerik memenuhi persyaratan penyelesaian sebagaimana penyelesaian analitik untuk persamaan Schrodinger.
D. SOAL_SOAL (3.1)
Selesaikan sistem segitiga atas berikut ini: 3 x1 − 2 x 2 + x 3 − x 4 = 8 4 x 2 − x 3 + 2 x 4 = −3 2 x 3 + 3 x 4 = 15 5 x 4 = 15
(3.2)
4 x1 − x2 + 2 x3 − 2 x4 − x 5 = 4
− 2 x2 + 6 x3 + 2 x 4 + 7 x5 = 0 x3 − x 4 − 2 x5 = 3 2 x 4 − x 5 = 10 3x 5 = 6
Carilah parabol y=A+Bx+Cx2 yang melalui tiga titik: (1,4), (2,7) dan (3,14)
(3.3)
Menggunakan eliminasi Gauss dengan pivoting selesaikan sistem persamaan linear berikut: 2 x1 + 4 x2 − 6 x 3 = −4 x1 + 5 x 2 + 3 x 3 = 10 x1 + 3 x 2 + 2 x 3 = 5
(3.4)
Mulai dengan semua nila i awal nol gunakan iterasi Gauss-Seidel untukmencari nilai x, y dan z sampai iterasi ke -tiga pada matriks berikut .
Äfisika-komputasi ⊇
66
5 x − y + z = 10 2 x + 8 y − z = 11
− x + y + 4z = 3 Apakah iterasi Gauss Seidel akan konvergen ke selesaian? (3.5)
Buatlah program untuk studi kasus pertama dan kedua, dengan metode yang dimaksud.
E. DAFTAR PUSTAKA Chapra, S.C., and Canale, R.P., Numerical Methods for Engineers , McGraw-Hill, 1998 James, M.L., G.M. Smith, and J.C. Wolford, Applied Numerical Methods for Digital Computations, 3rd ed. Harper & Row, 1985 Koonin, S.E., Computational Physics, Addison-Wesley Inc, 1986 Mathews, J.H., Numerical Methods for Mathematics, Science and Engineering , Prentice -Hall Inc., 1992 McCracken, D. D., Computing for Engineers and Scientists with Fortran 77, Wiley, 1984 Morris,J.L., Computational Methods in Elementary Numerical Analysis, Wiley, 1983 Nakamura, S., Applied Numerical Methods in C , Prentice-Hall Inc. 1993 Yakowitz, S., and F. Szidarovszky, An Introduction to Numerical Computations, Macmillan, 1986
Äfisika-komputasi ⊇
67