fisika komputasi

44
Modul I. Metode Regresi Kuadrat Terkecil Linier Tujuan Praktikum : 1. Mahasiswa dapat menuliskan kembali metode Regresi Kuadrat Terkecil Linier. 2. Mahasiswa dapat membuat sebuah aplikasi komputer terkait penggunaan metode Regresi Linier Kuadrat Terkecil. 3. Mahasiswa dapat merumuskan sebuah permasalahan fisis dan menyelesaikan permasalahan tersebut dengan bantuan aplikasi yang telah dibuat. Dasar Teori Perumusan Umum Metode Kuadrat Terkecil Linier Formulasi Matrik untuk Metode Kuadrat Terkecil Linier Model umum kuadrat terkecil adalah y=a 0 z 0 +a 1 z 1 +a 2 z 2 + + a m z m +e dimana z 0 ,z 1 ,…,z m adalah fungsi-fungsi yang saling berbeda. Terminologi linier diperoleh dari kebergantungan model pada paramater model, yaitu pada a i . Dalam bentuk matriks persamaan tersebut dapat dituliskan dalam bentuk { Y } =[ Z ] {A }+{E } dengan Z adalah matriks nilai dari fungsi yang dihitung untuk setiap variabel bebas, yang dapat ditulis sebagai :

Upload: yudhaarman

Post on 19-Jan-2016

72 views

Category:

Documents


2 download

DESCRIPTION

modul

TRANSCRIPT

Page 1: Fisika Komputasi

Modul I. Metode Regresi Kuadrat Terkecil Linier

Tujuan Praktikum :

1. Mahasiswa dapat menuliskan kembali metode Regresi Kuadrat Terkecil Linier.

2. Mahasiswa dapat membuat sebuah aplikasi komputer terkait penggunaan

metode Regresi Linier Kuadrat Terkecil.

3. Mahasiswa dapat merumuskan sebuah permasalahan fisis dan menyelesaikan

permasalahan tersebut dengan bantuan aplikasi yang telah dibuat.

Dasar Teori

Perumusan Umum Metode Kuadrat Terkecil Linier

Formulasi Matrik untuk Metode Kuadrat Terkecil Linier

Model umum kuadrat terkecil adalah

y=a0 z0+a1 z1+a2 z2+…+am zm+e

dimana z0 , z1 ,…, zm adalah fungsi-fungsi yang saling berbeda. Terminologi linier

diperoleh dari kebergantungan model pada paramater model, yaitu pada ai.

Dalam bentuk matriks persamaan tersebut dapat dituliskan dalam bentuk

{Y }= [Z ] {A }+ {E }

dengan Z adalah matriks nilai dari fungsi yang dihitung untuk setiap variabel bebas,

yang dapat ditulis sebagai :

{Z }=[ z01 z11z02 z12

⋯ zm1

⋯ zm2

⋮ ⋮z0n z1n

⋯ ⋮⋯ zmn

]dengan m adalah jumlah parameter model dan n adalah jumlah data. Karena sering

ditemui n ≥ m+1, matriks [Z] juga ditemukan tidak selalu berupa matriks bujur

sangkar. Vektor kolom [Y] berisi nilai dari hasil observasi, yaitu :

{Y }T= [ y1 y2 … yn ]Vektor kolom [A] merupakan koefisien parameter model

{ A }T= [a0 a1 … am ]dan vektor kolom [E] berisi selisih

Page 2: Fisika Komputasi

{E }T= [e1 e2 … en ]Selisih kuadrat dari model ini dapat dituliskan sebagai :

Sr=∑i=1

n

( y i−∑j=0

m

a j z ji)2

Kuantitas ini diminimumkan dengan mengambil turunan parsial terhadap setiap

parameter model dan membuat turunan parsial tersebut sama dengan nol. Hasil dari

proses tersebut adalah :

[ [ Z ]T [ Z ] ] {A }={[ Z ]T {Y }}Pencarian solusi matriks {A} dapat dilakukan dengan metode dekomposisi LU,

eliminasi Gauss, Eliminasi Gauss-Jordan, Gauss-Seidel maupun metode iteratif

Jacobi.

Langkah Praktikum 1

1. Tuliskan/ turunkan kembali perumusan metode Kuadrat terkecil linier orde 1

secara sistematis untuk kasus z0 = 0 dan z1 = x (biasa disebut dengan regresi

linier).

2. Lengkapi algoritma di bawah ini.

Algoritmanya :

Masukan : Jumlah data (N), xi,yi dengan i=1,2,...,N

Keluaran : A [a1 a2] T

Langkah :

jum_x = ...

jum_y = ...

jum_x2 = ...

jum_xy = ...

Untuk ii =1:N

jum_x = jum_x + x(...);

jum_y = jum_y + y(...);

jum_x2 = jum_x2 + x(...)2;

jum_xy = jum_xy + (x(...)*y(...));

Z=(N jumx

… jumx 2)

Y=( jumy

… )A=Z−1∗…

Page 3: Fisika Komputasi

3. Jika terdapat seperangkat data seperti berikut :

x y

1 0,52 2,53 24 45 3,56 6,57 5,5

Lengkapi kode program berikut berdasarkan algoritma yang telah dibuat

Langkah Praktikum 2

1. Diberikan seperangkat data sebagai berikut :

x y

1 0,52 1,73 3,44 5,75 8,4

tuliskan perumusan metode regresi linier kuadrat terkecil untuk fungsi :

y=a0x

a1+ x

clear all;clc;x=[... ];y=[...];[m,N]=size (x);jum_x = ...;jum_y = ...;jum_xy = ...;jum_x2 =0;for ii=1:N jum_x = jum_x + x(...); jum_ y = jum_y + y(...); jum_xy = jum_xy + (x(...)*y(...)); jum_x2 = jum_x2 + (x(...)^2);endZ=[ ... ... ; ... ...];Y=[... ;...];A= inv(Z)*Y;

Page 4: Fisika Komputasi

2. Modifikasi program aplikasi yang telah dibuat sebelumnya untuk menghitung a0

dan a1 sesuai permasalahan di atas.

3. Plot dan analisis model yang telah dibuat.

Page 5: Fisika Komputasi

Modul II. Metode Regresi Non Linier

Tujuan Praktikum :

1. Mahasiswa dapat menuliskan kembali metode Regresi Non Linier.

2. Mahasiswa dapat membuat sebuah aplikasi komputer penggunaan metode

Regresi Non Linier.

3. Mahasiswa dapat merumuskan sebuah permasalahan fisis dan menyelesaikan

permasalahan tersebut dengan bantuan aplikasi yang telah dibuat.

Dasar Teori

Dalam beberapa kasus di pemodelan sains, terdapat beberapa permasalahan

untuk melakukan pencocokan kurva dengan model yang bersifat non linier, seperti

model cuaca, persamaan pemodelan kedepan Self Potential, peluruhan radioaktif

dan lain-lain.

Seperti halnya kuadrat terkecil, regresi non linier didasarkan pada penentuan

nilai parameter model yang meminimumkan jumlah dari kuadrat kesalahan. Namun,

tidak seperti halnya pada kasus linier, pada kasus non linier solusi diperoleh melalui

proses yang dilakukan secara iteratif.

Pada kasus non linier, secara umum hubungan antara data dengan

persamaan non linier yang dianggap dapat menghampiri data adalah :

y i=f (x i ;a0 , a1 ,…,am)+ei

dengan yi adalah data hasil pengukuran, f(xi) adalah fungsi non linier dari variabel

bebas dengan parameter model a0, a1, ..., am , serta ei adalah kesalahan acak.

Metode Gauss Newton

Pada metode ini, fungsi nonlinier diekspansikan dalam deret Taylor. Bentuk

hampiran tersebut berbentuk fungsi linier.

f (x i ) j+1=f (x i ) j+∂ f (x i ) j∂a0

∆a0+∂ f (x i ) j

∂a1∆a1

dengan j adalah tebakan awal, j+1 adalah prediksi, a0 = a0,j+1 - a0,j dan a1 = a1,j+1

- a1,j

Page 6: Fisika Komputasi

Dari proses ini terlihat hubungan yang linier antara model asal terhadap

parameter modelnya. Persamaan hampiran kemudian disubstitusikan ke

persamaan model menjadi:

y i−f (x i) j=∂ f (x i ) j

∂a0∆a0+

∂ f (xi ) j

∂a1∆a1+e i

atau dalam bentuk matriks :

{D }= [Z j ] {∆ A }+ {E }

dengan [Zj] adalah matrik turunan parsial fungsi non linier terhadap setiap

parameter model, atau biasa juga disebut sebagai matriks Jacobi,

[ Z j ]= [∂ f 1∂a0

∂ f 1∂a1

∂ f 2∂a0

∂ f 2∂a1

⋮∂ f n

∂a0

⋮∂ f n

∂a1

]dengan n adalah jumlah data dan

∂ f n

∂ak adalah turunan parsial fungsi terhadap

parameter model ke k yang kemudian dievaluasi pada data ke i. Vektor {D} berisi

selisih antara data dengan nilai fungsi

{D }=[y1−f (x1)y2−f (x2)y3−f (x3)

⋮yn−f (xn)

]dan vektor {A} adalah vektor yang berisi perubahan nilai parameter model.

{∆ A }=[∆a0∆a1∆a2⋮

∆am

]Dengan menggunakan teorema kuadrat terkecil diperoleh

[ [Z j ]T [ Z j ] ] {∆ A }={[Z j ]

T {D }}

Page 7: Fisika Komputasi

Solusi setiap langkahnya dapat diperoleh dengan menggunakan teknik

penyelesaian SPL pada umumnya. Hasil dari proses ini adalah lebar langkah dari

perubahan parameter model, yang kemudian dapat digunakan untuk melakukan

perbaikan hampiran parameter model yang diperoleh pada iterasi sebelumnya.

Langkah Praktikum

1. Tuliskan/turunkan kembali perumusan metode regresi non linier secara

sistematis untuk kasus f (x ,a0 , a1 )=a0(1−ea1x)

2. Lengkapi algoritma di bawah ini.

Masukan : xi, yi dengan i =1,2,3,..., jumlah data

a00 , a1

0 parameter model awal

n_iter jumlah iterasi

f (x ,a0❑ , a1

❑)

eps

Keluaran : A solusi

Langkah :

Untuk ii = 1 : n_iter

fx = f (x ,a0❑ , a1

❑)

D= { y }−{ fx }

[Z ]=¿

dA=(ZT*Z)-1*(ZT*D);

a0 = a0+dA(1,1);

a1 = a1+dA(2,1);

A = [a0; a1]

fx = f (x ,a0❑ , a1

❑)

jika RMS (y-fx) ≤ eps maka solusi = A

Page 8: Fisika Komputasi

3. Berdasarkan algoritma yang dibuat, lengkapi kode program untuk seperangkat

data berikut

x y

0,25 0,280,75 0,571,25 0,681,75 0,742,25 0,79

dengan tebakan awal a0❑=1 dan a1

❑=1

clc;clear all;

x=[...];y=[...];[m,jumlah_data]=size(x);a0=...; a1=...;n_iter = 10; eps=1e-3;

for iterasi=1:n_iter f = @ (x,a0,a1) a0*(1-exp(a1.*x); dfa0 = @ (x,a0,a1) ...; dfa1 = @ (x,a0,a1) ...; for i = 1 : jumlah_data df_a0(i) = dfa0(a0,a1,x(i)); df_a1(i) = dfa1(a0,a1,x(i)); d=y(i)-fx(x(ii),a0,a1) end D=transpose(d); Zt=[df_a0;df_a1]; Z=transpose (Zt); dA=(Zt*Z)\(Zt*D); a0=a0+dA(1,1); a1=a1+dA(2,1); fx =f(x,a0,a1);selisih=(y-fx); if (norm(selisih)/sqrt(jumlah_data))<=eps

A=[a0; a1]; break; endendplot(x,y,'-b',x,fx,'r');

Page 9: Fisika Komputasi
Page 10: Fisika Komputasi

Modul III. Interpolasi

Tujuan Praktikum :

1. Mahasiswa dapat menuliskan kembali metode-metode interpolasi.

2. Mahasiswa dapat membuat sebuah aplikasi komputer penggunaan metode

interpolasi.

3. Mahasiswa dapat merumuskan sebuah permasalahan fisis dan menyelesaikan

permasalahan tersebut dengan bantuan aplikasi yang telah dibuat.

Dasar Teori

Estimasi nilai tengah dari suatu rentang nilai eksak sering dijumpai dalam

permasalahan sains. Metode yang sering digunakan untuk mengatasi hal ini adalah

metode interpolasi polinomial. Secara umum polinomial yang digunakan adalah

dalam bentuk seperti di bawah ini :

f(x)= a0 + a1x + a2x2 + a3x3 + ... + anxn

Untuk data sejumlah n+1, terdapat hanya sebuah polinomial berderajat n yang

melewati seluruh titik data. Sebagai contoh adalah sebuah garis lurus (polinomial

orde 1) yang menghubungkan dua titik dan sebuah parabola yang menghubungkan

tiga buah titik. Terdapat beberapa bentuk/format polinomial, yaitu polinomial Newton

dan Lagrange.

Polinom Newton

Interpolasi Linier

Bentuk umum dari interpolasi linier adalah

f 1 ( x )= f (x0 )+f (x1)−f (x0 )

x1−x0(x−x0)

yang menghubungkan dua titik data (x¿¿0 , y0)¿ dan (x¿¿1 , y1)¿ dengan sebuah

garis lurus.

Interpolasi Kuadratik

Bentuk umum dari interpolasi kuadratik adalah

Page 11: Fisika Komputasi

f 2 ( x )=b0+b1 (x−x0 )+b2 (x−x0 ) (x−x1 )

dimana (buktikan):

b0=f (x0)

b1=f (x1)−f (x0)

(x1−x0 )

b2=

f (x2 )−f (x1)

(x2−x1 )−

f ( x1 )−f (x0)

(x1−x0 )(x2−x0 )

Polinom Interpolasi beda terbagi Newton

Bentuk polinom beda terbagi Newton adalah bentuk umum dari polinom-polinom

sebelumnya yang digunakan untuk mencocokkan kurva polinomial orde n pada data

sejumlah n+1. Polinom ini dituliskan sebagai :

f n ( x )=b0+b1 (x−x0 )+b2 (x−x0 ) (x−x1 )+…+bn (x−x0 ) (x−x1 )…( x−xn−1)

dengan :

b0=f (x0)

b1=f (x1 , x0 )

b2=f (x2 , x1 , x0 )

...

bn=f (xn , xn−1 , xn−2 ,… x1, x0 )

dimana

f (x i , x j )=f (x i )−f (x j)

x i−x j

f (x i , x j , xk )=f (xi , x j )− f (x j , xk )

x i−xk

f (xn , xn−1 ,… x1 , x0 )=f (xn , xn−1 ,… x1 )−f (xn−1 , xn−2 ,…, x0)

xn−x0

Tabel berikut menunjukkan perumusan polinomial Newton beda terbagi.

Page 12: Fisika Komputasi

i X(i) F(xi) pertama kedua ketiga

0 X0 F(x0) F(x1, x0) F(x2,x1,x0) F(x3,x2,x1,x0)

1 X1 F(x1) F(x2, x1) F(x3,x2,x1)

2 X2 F(x2) F(x3, x2)

3 X3 F(x3)

Langkah Praktikum

1. Tuliskan/turunkan kembali perumusan metode interpolasi Newton untuk

menghitung nilai dari f(x) = ln(x) dari seperangkat data berikut secara sistematis.

x f(x)=ln(x)

1 0

4 1,3862944

6 1,7917595

5 1,6094379

3 1,0986123

1,5 0,4054641

2,5 0,9162907

3,5 1,2527630

2. Pelajari algoritma di bawah ini.

Algoritma Interpolasi Newton Beda Terbagi

Masukan : x,y (m,n ukuran x)Keluaran : f(xu)Langkah :

untuk i=1:n

R(i ,1)= y (i)

untuk j=2:n

untuk i=1:(n+1-j)

R(i , j)=R (i+1 , j−1 )−R (i , j−1)

x ( j+i−1 )−x (i)

untuk i=2:n

b_kw(i)=1;

untuk j=1:(i-1)

b_kw(i) = b_kw(i)*(x_u-x(j))

Page 13: Fisika Komputasi

suku(i)=R(1,i)*b_kw(i)

f(xu) = R(1,1)

untuk i=2:n

f(xu) = f(xu) + suku(i)

3. Salin kode program dalam bahasa Matlab berikut dan modifikasi untuk mencari

nilai dari f(5,5) =ln(5,5)

clc;clear all% input data --------------------------- x = [1 4 6 5 3 1.5 2.5 3.5];y = [0 1.3862944 1.7917595 ... 1.6094379 1.0986123 0.4054641 ... 0.9162907 1.2527630];[m,jum_data] = size(x);R = zeros(jum_data,jum_data);% ---------------------------------------------f(x)=ln(x);for i=1:jum_data; R(i,1) = y(i);endfor j=2:jum_data; for i=1:(jum_data+1-j); R(i,j)=(R(i+1,j-1)-R(i,j-1))/(x(j+i-1)-x(i)); end endxinput=2;for i=2:jum_data; b_kw(i)=1; for j=1:(i-1); b_kw(i)=b_kw(i)*(xinput-x(j)); end suku(i)=R(1,i)*b_kw(i);endfn=R(1,1);for i=2:jum_data fn=fn+suku(i);endfn

Page 14: Fisika Komputasi

Polinom Interpolasi Lagrange

Polinom Interpolasi Lagrange merupakan modifikasi dari bentuk polinom interpolasi

beda terbagi Newton. Polinom ini tidak memerlukan penghitungan beda terbagi

seperti halnya pada polinom interpolasi Newton. Bentuk umum dari polinom

Interpolasi Lagrange adalah sebagai berikut :

f n(x)=∑i=0

n

Li ( x ) f (x i)

dengan

Li (x )=∏j=0j ≠i

n x−x j

x i−x j

Sebagai contoh, untuk orde 1, polinom ini berbentuk :

f 1 ( x )=x− x1x0−x1

f (x0 )+x−x0x1−x0

f (x1 )

dan untuk orde 2, polinom ini berbentuk :

f 2 ( x )=x−x1x0−x1

x−x2x0−x2

f (x0 )+x−x0x1−x0

x− x2x1−x2

f (x1 )+x−x0x2−x0

x−x1x2−x1

f (x2 )

Langkah Praktikum

1. Tuliskan/turunkan kembali perumusan metode interpolasi Lagrange untuk

menghitung nilai dari f(x) = ln(x) dari seperangkat data pada tabel percobaan

sebelumnya secara sistematis.

2. Pelajari algoritma di bawah ini.

Page 15: Fisika Komputasi

Algoritma Interpolasi Lagrange

Masukan : x,y (m,n ukuran x)Keluaran : f(xu)Langkah :

f(xu)=0

untuk i=1:n

Li ( xu )=1

untuk j=1:n

jika j ≠ i maka Li ( xu )=Li

(xu )∗xu− x j

x i−x j

f(xu) = f(xu) + (Li(xu)*y(i))

3. Dari Algoritma tersebut, buat sebuah aplikasi dalam bahasa Matlab untuk

melakukan interpolasi pada data tabel percobaan sebelumnya.

Modul IV. Akar karakteristik (Eigen)

Tujuan Praktikum :

1. Mahasiswa dapat menuliskan kembali metode pencarian akar karakteristik.

2. Mahasiswa dapat membuat sebuah aplikasi komputer penggunaan metode

pencarian akar karakteristik.

3. Mahasiswa dapat merumuskan sebuah permasalahan fisis dan menyelesaikan

permasalahan tersebut dengan bantuan aplikasi yang telah dibuat.

Dasar Teori

Jika terdapat suatu matriks A, yang berukuran n x n, nilai karakteristik dari matriks

A tersebut salah satunya dapat diartikan sebagai nilai skalar yang berpasangan

dengan vektor x ≠ 0 dan memenuhi persamaan matriks:

Ax=λx

dimana A adalah suatu matriks berukuran n x n dan X adalah vektor karakteristik.

Persamaan di atas, dengan identitas matriks dapat dituliskan sebagai :

Ax−λIx=0

[ A− λI ] x=0

Jika dimisalkan matrix A merupakan suatu matriks bujur sangkar yang berorde 2 x 2

maka dapat dituliskan sebagai :

Page 16: Fisika Komputasi

[ A− λI ] x=[[A11 A12

A21 A22]−[ λ 00 λ]] [x1x2]=[00]

Karena vektor x tidak boleh bernilai nol, maka persamaan di atas dapat diselesaikan dengan cara:

det [ A−λI ]=0

dan dapat ditulis sebagai:

λ2−λ ( A11+A22 )−( A11A22−A12 A21 )=0

Persamaan tersebut dikenal dengan persamaan akar karakteristik. Contoh dari

penggunaan metode ini adalah untuk menentukan besarnya nilai dan vektor Eigen

dari suatu matriks. Untuk matriks yang memiliki orde yang besar, maka penentuan

akar karakteristik dapat dilakukan dengan metode Le Verrier-Faddeev.

M etode Le V errier-Faddeev

Jika nilai matriks di atas ditulis dalam bentuk polinomial:

|A−λI|=a0 λn+a1 λ

n−1+…+an−1 λ+an=Pn( λ)dengan:

a0=(−1)n

a1=−a0 s1

a2=−(a¿¿0 s2+a1 s1) /2¿

...

aK=−(a¿¿0 sK+a1 sK−1+…+aK−1 s1)/K ¿

menurut teorema Newton, untuk sebuah matriks A, jumlah elemen diagonal matriks

A sama dengan jumlah nilai eigen dari matriks A tersebut, yang dapat dituliskan

sebagai :

sk=∑i=1

n

λik=trace ( Ak )=∑

i=1

n

aii

dan berdasarkan rumusan Faddeev, maka akan didapatkan:

a i=−(−1 )n P i i=1,2,3 ,…ndengan:

Pi=1itrace ( A i) i=1,2,3 ,…n

Page 17: Fisika Komputasi

Sehingga dengan formulasi tersebut, persamaan karakteristik untuk matriks berorde

lebih dari 2 (dua) dapat ditentukan. Secara sistematis proses penentuan persamaan

karakteristik dapat dilakukan sebagai berikut :

A1 = A P1 = trace (A1) B1 = A1 -P1*IA2 = AB1 P2 = trace (A2)/2 B2 = A2 -P2*I... ... ...An-1 = ABn-2 Pn-1 = trace (An-1)/(n-1) Bn-1 = An-1 -Pn-1*IAn = ABn-1 Pn-2 = trace (An) / n Bn = An -Pn * I

Langkah Praktikum

1. Tuliskan/turunkan kembali perumusan metode pencarian akar karakteristik untuk

mencari persamaan dan akar karakteristik dari matriks [1 2 32 2 −13 −1 1 ]

2. Lengkapi algoritma berikut.

Masukan : A (m,n ukuran A)Keluaran : persamaan karakteristikLangkah :

0. [m,n] = ukuran (A)Jika m ≠ n maka 'Matriks tidak dapat diselesaikan'

1. penentuan trace matrikstrace (A) = 0untuk i =1 : n

untuk j = 1: mJika i=j maka trace(A)=trace(A)+Aij

2. penentuan persamaan karakteristika. buat matriks B = matriks identitas ukuran n x nb. untuk i=1 : n

A_temp = A * BP(i) = trace(A_temp)/iB = A_temp - P(i) * I

c. persamaan karakteristik (-1)n ( n - P1 n-1

- P2 n-2 - ... - Pn-1 - Pn ) = 0

3. Penentuan akar karakteristik. Pada bagian ini digunakan subroutine rutis (Munadi,1990)

Page 18: Fisika Komputasi

function (S) = trace_g(A)S = 0;[m,n] = size(A);for i = 1 : n

for j = 1 : mif i==j

S = S + A(i,j);end

endend

3. Lengkapi kode program Matlab berikut ini

clc;clear all; P=[];A=[ 1 2 3;2 2 -1;3 -1 1];[jlh_baris,jlh_kolom]=size (A);n=jlh_baris;B=eye(jlh_baris,jlh_kolom);for hitung=1:n Al=A*B; P=[P trace_g(Al)/hitung]; B=Al-P(hitung)*eye(n,n);end% persamaan karakteristikP =(-1)^n *[1 -P][akar,ier,D] =Rutis(P,n,60,1e-2)

function[Q,IER,D]=Rutis(P,N,KMAX,eps) Q=zeros(1,N); D=zeros(1,N+1); IER=0; K=0; Q(1)=-P(2)/P(1); D(1,1)=0; for j=2:N;

Q(1,j)=0;D(1,j)=P(1,j+1)/P(1,j);

end D(1,N+1)=0;while K<KMAXK=K+1;Aux=Q(1,1);

Q(1,1)=D(1,2)+Q(1,1);D(1,1)=0;E=abs(Q(1,1)-Aux);for j=2:N Aux= Q(1,1); Q(1,j)=D(1,j+1)-D(1,j)+Q(1,j); D(1,j)=Q(1,j)*D(1,j)/(Q(1,j-1)); E=E+abs(Q(1,j)-Aux);end D(1,N+1)= 0;if E<epsIER=1;endend

Page 19: Fisika Komputasi

Modul V. Beda Hingga (Finite Differences)

Bentuk umum dari persamaan differensial parsial (PDP) orde 2 (dua) adalah :

A∂2u∂x2

+B∂2u∂ y2

+C∂2u

∂ y ∂x+D(x , y , u ,

∂u∂ x

,∂u∂ y )=0

Jika:1. B2−4 AC < 0 maka persamaan diferensial parsial ini digolongkan dalam

persamaan diferensial model eliptik (contoh: persamaan Laplace dan persamaan Poisson)

2. B2−4 AC = 0 maka persamaan diferensial parsial ini digolongkan dalam persamaan diferensial model parabolik (contoh : persamaan konduksi panas bergantung waktu dan persamaan difusi)

3. B2−4 AC > 0 maka persamaan diferensial parsial ini digolongkan dalam persamaan diferensial model hiperbolik (contoh : persamaan gelombang)

Beda hingga merupakan suatu metode untuk menentukan solusi dari suatu persamaan differensial parsial dengan menghampiri turunan fungsi dengan deret Taylor untuk kemudian diambil selisih dari hampiran maju dan hampiran mundur yang dilakukan pada fungsi tersebut. Terdapat beberapa varian hampiran, namun pada kali ini hampiran turunan ke dua yang digunakan khusus untuk domain ruang adalah hampiran perbedaan nilai tengah.

Hal yang terlebih dahulu harus dilakukan untuk menggunakan metode beda hingga adalah membagi (mendiskritisasi) domain permasalahan menjadi subdomain-subdomain yang lebih kecil. Setiap variabel pada titik simpul dari subdomain tersebut kemudian akan digunakan untuk membangun sebuah sistem persamaan linier (SPL) (yaitu pada persamaan Laplace, domain ruang pada persamaan difusi dan persamaan gelombang) ataupun sistem persamaan yang bersifat iteratif (yaitu pada domain waktu di persamaan difusi maupun gelombang). Solusi dari persamaan diferensial tersebut adalah solusi dari SPL maupun solusi iteratif dari sistem persamaan yang dibangun.

h

x

hy

u1

u5

u2

u3

u6

u7

u4

u8

u10u9 u11 u12

Page 20: Fisika Komputasi

u7+u5+u10−4u6+u2=0Adapun bentuk umum hampiran untuk beda hingga adalah :

∂2u∂ x2

≅u ( x+h )−2u ( x )+u(x−h)

h2

dengan h merupakan jarak antara satu titik simpul ke titik simpul yang lain.

Modul V.1. Metode Beda Hingga untuk PDP Eliptik

Tujuan Praktikum :

1. Mahasiswa dapat menuliskan kembali metode beda hingga untuk menyelesaikan

permasalahan persamaan diferensial parsial eliptik.

2. Mahasiswa dapat membuat sebuah aplikasi komputer penggunaan metode beda

hingga untuk kasus PDP Eliptik.

3. Mahasiswa dapat merumuskan sebuah permasalahan fisis dan menyelesaikan

permasalahan tersebut dengan bantuan aplikasi yang telah dibuat.

Dasar Teori

Bentuk umum dari persamaan Laplace adalah:

∇2u=0

Untuk permasalahan dalam ruang 2 (dua) dimensi pada koordinat kartesian, persamaannya dapat dituliskan sebagai :

∂2u∂ x2

+ ∂2u∂ y2

=0

Formulasi beda hingga untuk persamaan tersebut dengan spasi jarak antar titik simpul adalah h dituliskan dalam bentuk :

u (x+h , y )−2u ( x , y )+u ( x−h , y )h2

+u ( x , y+h )−2u ( x , y )+u ( x , y−h )

h2=0

yang dapat juga ditulis dalam bentuk

u ( x+h , y )−2u (x , y )+u ( x−h , y )+u (x , y+h )−2u ( x , y )+u ( x , y−h )=0dan

u ( x+h , y )+u ( x−h , y )+u ( x , y+h )−4u ( x , y )+u ( x , y−h )=0

Solusi PDP akan bernilai unik apabila diberikan syarat batas. Dikenal 2 (dua) jenis

syarat batas yang digunakan yaitu:

Page 21: Fisika Komputasi

1. Syarat batas Dirichlet, yaitu nilai paramater fisis permasalahan diketahui di dalam

maupun pada batas domain.

2. Syarat batas Neumann, yaitu nilai turunan pertama dari parameter fisis yang

ditinjau diketahui baik di dalam maupun pada batas domain.

Persamaan linier yang dibangun untuk setiap titik simpul kemudian diselesaikan

dengan metode penyelesaian SPL yang pernah dibahas sebelumnya. Solusi dari

SPL tersebut adalah solusi bagi PDP Eliptik untuk setiap titik simpul yang terdapat di

dalam domain permasalahan.

Syarat batas yang diberikan disubstitusikan pada SPL yang dibangun. Untuk syarat

batas Dirichlet, secara langsung telah diaplikasikan pada SPL yang dibangun.

Khusus untuk syarat batas Neumann, titik simpul ditambah pada bagian subdomain

yang diketahui syarat batas Neumannya. Turunan pertama dihampiri dengan

perbedaan tengah kemudian diaplikasikan pada titik simpul batas domain. SPL yang

telah dibangun sebelumnya kemudian dimodifikasi pada persamaan linier bagian titik

simpul.

Langkah Praktikum

1. Diberikan sebuah persoalan berikut :

Sebuah plat baja berbentuk bujur sangkar memiliki dimensi 10 cm x 10 cm. Plat

tersebut dikondisikan memiliki suhu pada 3 (tiga) sisinya 0oC dan satu sisi

lainnya 100oC. Tentukan suhu di bagian dalam dari plat baja tersebut pada

keadaan tunak dan efek sumber pemanas diabaikan.

2. Jika diberikan variabel T adalah temperatur, maka permasalahan tersebut sesuai

dengan persamaan Laplace dalam koordinat kartesian :

∂2T∂x2

+ ∂2T∂ y2

=0

3. Diskritisasi domain menjadi 10 bagian sama besar baik dalam arah x maupun y

(yaitu x=y=h=1 cm).

Page 22: Fisika Komputasi

Gambar . diskritisasi domain permasalahan

4. Beri tanda setiap titik simpul sesuai kaidah matriks. Inisialisasi syarat batas

Dirichlet pada setiap titik simpul yang didefinisikan.

% inisialisasi syarat batas Dirichlet

clc;clear all;nx=10; % jumlah bagian x ny=10; % jumlah bagian y

T(1,1:nx+1)=100;T(1:ny+1,1)=0;T(1:ny+1,nx+1)=0;T(ny+1,1:nx+1)=0;

Page 23: Fisika Komputasi

5. Buat sistem persamaan linier dari setiap titik simpul yang berada di dalam

domain.

T (2 ,2 )=T (3 ,2 )+T (1 ,2 )+T (2 ,1 )+T (2,3 )4

...

T (10 ,10 )=T (11 ,10 )+T (9 ,10 )+T (10 ,9 )+T (10 ,11)4

dalam bahasa Matlab dituliskan dalam bentuk :

6. Susun sistem persamaan linier tersebut dalam format berikut :

[ A ] {Tunknown }={T known }dengan

{T unknown }=[T 22T 23…T 1010 ]dalam bahasa Matlab dituliskan dalam bentuk :

j_unk = (nx-1)*(ny-1); % jumlah titik simpul yang tidak diketahuiu = zeros(j_unk,j_unk);u1=diag(ones(j_unk-1,1),1);u2=diag(ones(j_unk-1,1),-1);u3=diag(ones(j_unk-(nx-1),1),nx-1);u4=diag(ones(j_unk,1)*-4);u5=diag(ones(j_unk-(nx-1),1),-(nx-1));u=u1+u2+u3+u4+u5;for j=1:fix(nx/2) u((j*(nx-1))+1,(j*(nx-1)))=0; u((j*(nx-1)),(j*(nx-1)+1))=0;end

M=zeros(j_unk,1);for i = 1:(nx-1) % dirichlet atas M(i,1)=M(i,1)+T(1,i+1); endfor i=1:(ny-1) % dirichlet kanan M((nx-1)*i,1)=M((nx-1)*i,1)+T(i+1,nx+1); endfor i=1:(ny-1) % dirichlet kiri M((i-1)*(nx-1)+1,1)=M((i-1)*(nx-1)+1,1)+T(i+1,1); endfor i=1:(nx-1) % dirichlet bawah M(2*(nx-1)+i,1)=M(2*(nx-1)+i,1)+T(ny+1,i+1); endT_known = -M;

Page 24: Fisika Komputasi

7. Selesaikan SPL yang sudah dibuat dengan memanfaatkan fungsi inversi matriks

built-in dalam Matlab.

8. Analisis hasilnya dan bandingkan dengan solusi analitiknya

Syarat batas Neumann pada formulasi Beda Hingga untuk PDP Eliptik

Syarat batas ini merupakan syarat batas berbentuk turunan pertama (flux) dari

parameter fisis yang ditinjau. Turunan pertama dihampiri dengan beda tengah

hampiran deret Taylor.

∂T∂x

≅T x +∆ x−T x−∆x

2∆ x

Domain permasalahan khusus untuk permasalahan syarat batas ini ditambah satu

node di luar domain yang ada sebelumnya.

T_known = -M;T_unknown =(A'*A)\(A'*T_known);

% untuk plotT_unknown = reshape(T_unknown,nx-1,ny-1)';image(T_unknown(1:nx-1,1:ny-1));figure(gcf);

Page 25: Fisika Komputasi

Gambar memperlihatkan penambahan node (sub domain) baru untuk dapat

ditambahkan syarat batas Neumann. Jika syarat batas tersebut berupa

∂T∂ y

=−a

dengan a merupakan sebuah konstanta dan syarat batas ini terdapat pada bagian

utara domain permasalahan, maka persamaan hampiran beda hingga untuk T1

adalah (seperti pada gambar) :

T n−4 T1+T 2+T7+Ta=0

dengan Tn adalah syarat batas Dirichlet. Variabel Ta dihampiri oleh :

∂T∂ y

≅T a−T 7

2∆ y=−a

sehingga

T a=T 7−2a∆ y

persamaan ini kemudian disubstitusikan ke persamaan hampiran beda hingga

sebelumnya,

T n−4 T1+T 2+T7+T 7−2a∆ y=0

untuk kemudian diselesaikan seperti pada contoh sebelumnya.

Page 26: Fisika Komputasi

Modul V.2. Metode Beda Hingga untuk PDP Parabolik

Tujuan Praktikum :

1. Mahasiswa dapat menuliskan kembali metode beda hingga untuk menyelesaikan

permasalahan persamaan diferensial parsial parabolik.

2. Mahasiswa dapat membuat sebuah aplikasi komputer penggunaan metode beda

hingga untuk kasus PDP parabolik.

3. Mahasiswa dapat merumuskan sebuah permasalahan fisis dan menyelesaikan

permasalahan tersebut dengan bantuan aplikasi yang telah dibuat.

Dasar Teori

Bentuk PDP seperti yang pernah dituliskan sebelumnya dengan nilai:

B2−4 AC=0

adalah PDP jenis parabolik, yaitu yang memiliki bentuk :

∇2u¿C p∂u∂ t

Untuk permasalahan dalam koordinat kartesian dan berdimensi 2 (dua) dapat

dituliskan dalam bentuk :

k ( ∂2u∂x2+ ∂2u

∂ y2 )=C p∂u∂ t

dengan k dan Cp adalah sebuah konstanta. Terlihat, selain terdapat turunan

terhadap domain ruang, terdapat juga turunan terhadap domain waktu. Turunan

terhadap domain waktu hanya dalam orde turunan pangkat 1(satu). Salah satu

contoh PDP jenis ini adalah persamaan difusi.

Syarat batas yang berlaku pada PDP ini sama seperti syarat batas yang

berlaku pada PDP Eliptik, yaitu syarat batas Dirichlet dan syarat batas Neumann.

Terdapat sedikit perbedaan hampiran untuk kedua syarat batas ini jika dibandingkan

dengan PDP Eliptik.

Metode Eksplisit

Page 27: Fisika Komputasi

Pendekatan yang digunakan pada metode ini adalah perbedaan tengah untuk

domain ruang, sementara untuk domain waktu digunakan hampiran perbedaan

maju, yaitu (kasus 1(satu) Dimensi) :

∂2u∂ x2

≅ui+1

j −2uij+ui−1

j

(∆ x )2

∂u∂ t

≅ui

j+1−u ij

∆ t

subskript i menyatakan indeks posisi dalam domain permasalahan dan superskript j

menyatakan indeks dalam waktu. Jika digabungkan, formulasi dalam metode ini

menjadi :

uij+1=

∆ t

Cp (∆ x )2(ui+1

j +ui−1j )+(1− 2 ∆t

Cp (∆ x )2 )u ij

Hampiran yang umum digunakan untuk menjaga kesatabilan perhitungan adalah :

∆ t

Cp ( ∆x )2=12

Namun jika terdapat syarat batas Neumann, nilai tersebut harus < 1/2.

Kasus Dua Dimensi atau Lebih pada Metode Eksplisit

Pada kasus ini, jika ∆ x=∆ y dan

r= ∆ t

Cp (∆ x )2

hampiran beda hingga untuk PDP parabolik ditulis sebagai :

ui , jk +1−ui , j

k =r (u i+1 , jk −2ui , j

k +ui−1 , jk +u i , j+1

k −2ui , jk +u i , j−1

k )yang disederhanakan menjadi

ui , jk +1=r (ui+1 , j

k +u i−1, jk +ui , j+1

k +u i , j−1k )+(1−4 r )u i , j

k

dengan nilai r maksimum agar proses perhitungan stabil adalah 14

. Untuk kasus

lebih umum dimana ∆ x ≠∆ y, maka kriteria nilai r adalah :

r= ∆ t

Cp {( ∆x )2+( ∆ y )2 }≤18

Untuk kasus tiga dimensi dan untuk kasus ukuran grid sama untuk setiap arahnya,

maka koefisien suku terakhir untuk kasus dua dimensi diubah menjadi ¿) serta nilai r

untuk menjaga kestabilan perhitungan bernilai ≤16

.

Page 28: Fisika Komputasi

Metode Crank-Nicolson (Implicit)

Pada metode ini, hampiran untuk domain ruang dilakukan pada waktu j dan waktu

j+1, kemudian diambil nilai rata-ratanya. Persamaan tersebut dapat ditulis sebagai :

∂2u

∂ x2≅12 ( ui+1

j −2uij+ui−1

j

(∆ x )2+

ui+1j+1−2u i

j+1+u i−1j+1

( ∆ x )2 )sedangkan terhadap domain waktu

∂u∂ t

≅ui

j+1−u ij

∆ t

sehingga jika dituliskan secara lengkap :

∇2u¿C p

∂u∂ t

→12 ( ui+1

j −2uij+u i−1

j

(∆ x )2+

u i+1j+1−2ui

j+1+ui−1j+1

(∆ x )2 )¿C p( uij+1−u i

j

∆ t )yang dapat juga dituliskan sebagai :

−rui−1j+1+(2+2r )ui

j+1−r ui+1j+1=r ui−1

j +(2−2 r ) uij+ru i+1

j

dimana

r= ∆ t

Cp (∆ x )2

untuk penyederhanaan dibuat r=1, sehingga:

−ui−1j+1+4u i

j+1−ui+1j+1=ui−1

j +ui+1j

Kelebihan dari metode Crank-Nicolson adalah kestabilan perhitungan untuk

berbagai nilai r, namun lebih disarankan untuk menggunakan nilai r yang cukup

kecil. Nama metode implicit juga dilekatkan pada metode ini karena terdapatnya

suku uij+1 yang tidak secara langsung diketahui pada saat awal-awal perhitungan.

Nilai u pada t=t1 tidak hanya merupakan fungsi t=t0, tapi juga melibatkan nilai u pada

langkah waktu yang sama. Hal ini menunjukkan diperlukannya menyelesaikan SPL

untuk setiap langkah waktu yang didefinisikan sebelumnya.

Kasus Dua Dimensi atau Lebih pada Metode Implisit

Page 29: Fisika Komputasi

fluifluida domain

x = 0 x = 10

Perumusan untuk kasus dua dimensi pada metode ini dituliskan sebagai :

ui , jk +1−ui , j

k = r2

(u i+1 , jk+1 −2ui , j

k +1+u i−1 , jk+1 +ui+1 , j

k −2u i , jk +ui−1 , j

k +ui , j+1k +1 −2ui , j

k+1+ui , j−1k +1 +u i , j+1

k −2ui , jk +ui , j−1

k )

Secara unik (dapat dibuktikan) menggunakan skema Alternating Direction Implicit

(ADI) untuk kemudahan proses komputasi dan penghematan penggunaan memori,

metode ini dituliskan sebagai :

ui , jk +1−ui , j

k =r (u¿¿ i+1, jk−2u i , jk +u i−1 , j

k +ui , j+1k +1 −2u i , j

k+1+ui , j+1k +1 )¿

bagian dari∂2u∂ x2

bagian∂2u∂ y2

sementara langkah waktu berikutnya menggunakan hampiran berikut :

ui , jk +2−ui , j

k +1=r (u¿¿ i+1 , jk +2−2ui , jk+2+ui−1 , j

k+2 +ui , j+1k +1 −2ui , j

k+1+ui , j+1k +1 )¿

bagian dari∂2u∂ x2

bagian∂2u∂ y2

Proses diulang hingga jumlah perulangan yang ditentukan sebelumnya.

Syarat Batas Neumann

Pada batas domain terdapatnya syarat batas jenis ini, domain permasalahan

ditambah satu node. Nilai turunan pertama dari syarat batas tersebut didekati

dengan perbedaan tengah. Variabel tak diketahui pada node tambahan kemudian

disubstitusikan pada persamaan sebelumnya untuk langsung diselesaikan secara

iteratif (metode eksplisit) atau dilakukan penyusunan ulang SPL yang telah

didefinisikan sebelumnya (metode implicit).

Langkah Praktikum

1. Jika diberikan permasalahan sebagai berikut:

Sebuah kubus alumunium memiliki ukuran 10cm x 10cm x 10cm (k=217 J/smC,

c=946 J/kgC, =2,7.103 kg/m3). Satu sisi pada kubus tersebut tidak diisolasi

dengan baik dan kubus dibuat bersuhu 550C pada saat awal. Panas yang hilang

berasal dari sisi yang tak diisolasi tersebut akibat kontak dengan aliran fluida

berdasarkan persamaan (temperatur fluida = 20C) :

laju kehilangan panas = hA(u-uo)

dengan

Page 30: Fisika Komputasi

h= 98,9117 J/sm2C

A= luas permukaan setiap sisi alumunium

u = temperatur (C)

uo= temperatur fluida

Tentukan distribusi suhu di dalam kubus setiap saatnya.

2. Dari soal dapat ditentukan u(x,0)=550 dan pada sisi terbuka berlaku

−kA∂u∂ x|x=0=−h A (u−20)

karena laju aliran panas yang keluar sama dengan laju aliran panas yang masuk

ke sistem. Tanda negatif menunjukkan arah yang berlawanan dengan arah positif

gradien. Pada sisi kubus yang lain, laju aliran panas yang keluar adalah

∂u∂x |

x=4=0

3. Jika digunakan metode eksplisit dengan Δ x=2cm, dan dengan menggunakan

hubungan berikut :

k ∆ t

(ρ Δ x )2= 14

maka akan dihasilkan ∆ t= 1,17 s.

Untuk rasio yang dipilih tersebut, persamaan beda hingga untuk kasus ini

menjadi :

uij+1=1

4(ui+1

j +ui−1j )+ 1

2ui

j

yang akan diaplikasikan pada titik x=0 hingga x=10.

4. Karena terdapat syarat batas Neuman, ujung domain ditambahkan sebuah node

khayal xL (untuk ujung kiri) dan xR(untuk ujung kanan).

dan aplikasikan persamaan berikut pada node khayal.

u1j+1=1

4(u2j+uL

j )+ 12

u1j

u6j+1=1

4(uR

j +u5j )+ 12

u6j

x1 x2 x3 x4 x5 x6xL xR

Page 31: Fisika Komputasi

5. Penggunaan syarat batas neumann digunakan untuk menghilangkan titik khayal

ini. Formulasi beda tengah untuk syarat batas ini memberikan :

−k∂u∂x |

x=0=−217( u2

j−uLj

2 (2 ) )=98,97 (u1j−20 )

−k∂u∂x |

x=6=−217( uR

j −u4j

2 (2 ) )=0

6.

Contoh pada kasus aliran panas pada sebuah plat baja yang berukuran 20 cm,

dengan syarat sebagai berikut:

u=100x saat 0≤x ≤1u=100 (2−x ) saat1≤x ≤2

Dengan:K=0.13 cal/s.cmocC=0.11 cal/gocDensitas=7.8g/cm3

U0=70ocjika dibagi menjadi 8 ruas maka didapatkan panjang tiap segmen menjadi 0.25 cm.dari syarat kestabilan:

k ∆ t

(ρ Δ x )2≤1 /2

Adapun algoritma untuk menyelesaikan persoalan tersebut adalah sebagai berikut:masukan: U0,k,rho,c,l,n,tKeluaran: Ut

Proses:k=…..c=……rho=….l=….t=…n=8delta_x=0:l /n:2[o,p]=size(delta_x)Untuk i=1:oJika u(i,1)= 100*delta_x

Page 32: Fisika Komputasi

lainyau(i,1)=100*(2-x)akhiri

u(0,1)=2h (u (1,1 )−70 )

k−u (2,1 )

untuk j=2:tuntuk i=1:ou(i,j)=(u(i+1,j-1)+u(i-1,j-1)-2(i,j-1))/4

Page 33: Fisika Komputasi

Adapun bahasa pemrogramannya pada Matlab sebagai berikut:clc;clear all;%inisiasi domainpanjang=2;del_x=0.25;%--------%inisiasi untuk komputasi beda hingga jumlah_titik=(panjang/del_x)+1; k=0.13; c=0.11; rho=7.8; r=0.5;%untuk kebijakan umum,nilai ini tidak boleh lebih dari 0.5 del_t=c*rho*(del_x^2)/(2*k); %---------------nilai awalfor ii=1:jumlah_titik x(ii)=(ii-1)*del_x; if x(ii)<=1 u(ii,1)=100*x(ii); else u(ii,1)=100*(2-x(ii)); endend%berhitungfor jj=1:200 for ii=2:(jumlah_titik-1) u(ii,jj+1)=(r*(u(ii-1,jj)+u(ii+1,jj)))+((1-(2*r))*u(ii,jj)); endendu(1,:)=0;u(jumlah_titik,:)=0;%bagian nampilplot(u)

Page 34: Fisika Komputasi

Modul VII. Persamaan Differensial Parsial Hiperbolik

PDP hiperbolik, sering ditemukan dalam kasus untuk menyelesaikan persamaan gelombang. Dari persamaan umum persamaan PDP:

A∂2u∂x2

+B∂2u∂ y2

+C∂2u

∂ y ∂x+D(x , y , u ,

∂u∂ x

,∂u∂ y )=0

Maka untuk PDP hiperbolik akan diperoleh nilai untuk D sebesar:B2−4 AC>0

Sebagai contoh untuk tinjauan pada gelombang tali:∂2 y∂ t2

=TgW

∂2 y∂ x2

Dengan metode beda hingga maka:∂2 y∂ t2

=TgW

∂2 y∂ x2

y ij+1−2 y i

j+ y ij−1

∆ t 2=Tg

W ( y i+1j −2 y i

j+ y i−1j

∆ x2 )Untuk nilai x yang menuju nol, maka akan didapat nilai y yang stabil sebesar :

y ij+1= y i+1

j + y i−1j − y i

j−1

Dengan aturan beda tengah maka akan diperoleh nilai untuk y i1yakni sebesar:

y i1=12

( y i+10 + y i−1

0 )+g(x )∆t

Sehingga dapat ditentukan kemudian solusi untuk persamaan diferential tersebut.

Tinjau untuk kasus dimana senar sebuah instrument ditarik hingga 0.6 cm dari jarak 20 cm terhadap ujungnya, dan kemudian dibiarkan berosilasi. dengan:

T=40.000g=980w=1

Simpangan tiap saatnya kemudian dapat dihitung dengan metode beda hingga explicit.

Algoritma:

Masukan : T,g,w,delta_xKeluaran: uj

Proses:T=…g=…w=…l=80;n=10;Delta_t=sqrt((w*delta_x)/(T*g))x=0:l/n:l[o,p]=size(x)

Page 35: Fisika Komputasi

Untuk i=1:oJika x(i)<2u(i,1)=0.1*xlainya:u(i,1)=-0.1*x+0.8akhiriuntuk j=2:t

untuk i=2:o-1u(i,j)=(1/2)*(u(i-1,j-1)+u(i+1,j-1))