Вы находитесь на странице: 1из 34

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


dimana

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
{} []{} {}
dengan Z adalah matriks nilai dari fungsi yang dihitung untuk setiap variabel bebas,
yang dapat ditulis sebagai :
{}[

]

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 :
{}


]
Vektor kolom [A] merupakan koefisien parameter model
{}


]
dan vektor kolom [E] berisi selisih
{}


]
Selisih kuadrat dari model ini dapat dituliskan sebagai :


Kuantitas ini diminimumkan dengan mengambil turunan parsial terhadap setiap
parameter model dan membuat turunan parsial tersebut sama dengan nol. Hasil dari
proses tersebut adalah :
[[]

[]]{} {[]

{}}
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 z
0
= 0 dan z
1
= x (biasa disebut dengan regresi
linier).
2. Lengkapi algoritma di bawah ini.
Algoritmanya :
















(


)
(


Masukan : Jumlah data (N), x
i
,y
i
dengan i=1,2,...,N
Keluaran : A [a
1
a
2
]
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(...));



3. Jika terdapat seperangkat data seperti berikut :
x y
1 0,5
2 2,5
3 2
4 4
5 3,5
6 6,5
7 5,5

Lengkapi kode program berikut berdasarkan algoritma yang telah dibuat




















Langkah Praktikum 2
1. Diberikan seperangkat data sebagai berikut :
x y
1 0,5
2 1,7
3 3,4
4 5,7
5 8,4
tuliskan perumusan metode regresi linier kuadrat terkecil untuk fungsi :



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);
end
Z=[ ... ... ; ... ...];
Y=[... ;...];
A= inv(Z)*Y;
2. Modifikasi program aplikasi yang telah dibuat sebelumnya untuk menghitung a
0

dan a
1
sesuai permasalahan di atas.
3. Plot dan analisis model yang telah dibuat.





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 :


dengan y
i
adalah data hasil pengukuran, f(x
i
) adalah fungsi non linier dari variabel
bebas dengan parameter model a
0
, a
1
, ..., a
m
, serta e
i
adalah kesalahan acak.

Metode Gauss Newton
Pada metode ini, fungsi nonlinier diekspansikan dalam deret Taylor. Bentuk
hampiran tersebut berbentuk fungsi linier.


dengan j adalah tebakan awal, j+1 adalah prediksi, a
0
= a
0,j+1
- a
0,j
dan a
1
=
a
1,j+1
- a
1,j
Dari proses ini terlihat hubungan yang linier antara model asal terhadap
parameter modelnya. Persamaan hampiran kemudian disubstitusikan ke
persamaan model menjadi:


atau dalam bentuk matriks :
{} [

]{} {}
dengan [Zj] adalah matrik turunan parsial fungsi non linier terhadap setiap
parameter model, atau biasa juga disebut sebagai matriks Jacobi,
[

]
[


dengan n adalah jumlah data dan

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

{}
[


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


Dengan menggunakan teorema kuadrat terkecil diperoleh
[[

]] {} {[

{}}
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


2. Lengkapi algoritma di bawah ini.





























{} {}
[]
[


Masukan : x
i
, y
i
dengan i =1,2,3,..., jumlah data

parameter model awal


n_iter jumlah iterasi





eps
Keluaran : A solusi
Langkah :
Untuk ii = 1 : n_iter
fx =




dA=(Z
T
*Z)
-1
*(Z
T
*D);
a
0
= a
0
+dA(1,1);
a
1
= a
1
+dA(2,1);
A = [a
0
; a
1
]
fx =




jika RMS (y-fx) eps maka solusi A




3. Berdasarkan algoritma yang dibuat, lengkapi kode program untuk seperangkat
data berikut
x y
0,25 0,28
0,75 0,57
1,25 0,68
1,75 0,74
2,25 0,79

dengan tebakan awal

dan
























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;
end
end
plot(x,y,'-b',x,fx,'r');

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)= a
0
+ a
1
x + a
2
x
2
+ a
3
x
3
+ ... + a
n
x
n
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


yang menghubungkan dua titik data

dan

dengan sebuah garis lurus.


Interpolasi Kuadratik
Bentuk umum dari interpolasi kuadratik adalah


dimana (buktikan):


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 :


dengan :


...

)
dimana
(

)
(


Tabel berikut menunjukkan perumusan polinomial Newton beda terbagi.





i X(i) F(xi) pertama kedua ketiga
0 X
0
F(x
0
) F(x
1
, x
0
) F(x
2,
x
1
,x
0
) F(x
3
,x
2,
x
1
,x
0
)
1 X
1
F(x
1
) F(x
2
, x
1
) F(x
3,
x
2
,x
1
)
2 X
2
F(x
2
) F(x
3
, x
2
)
3 X
3
F(x
3
)

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(x
u
)
Langkah :
untuk i=1:n

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


untuk i=2:n
b_kw(i)=1;
untuk j=1:(i-1)
b_kw(i) = b_kw(i)*(x_u-x(j))
suku(i)=R(1,i)*b_kw(i)
f(x
u
) = R(1,1)
untuk i=2:n
f(x
u
) = f(x
u
) + 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);
end
for 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
end
xinput=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);
end
fn=R(1,1);
for i=2:jum_data
fn=fn+suku(i);
end
fn







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 :


dengan



Sebagai contoh, untuk orde 1, polinom ini berbentuk :



dan untuk orde 2, polinom ini berbentuk :



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.









Algoritma Interpolasi Lagrange

Masukan : x,y (m,n ukuran x)
Keluaran : f(x
u
)
Langkah :
f(x
u
)=0
untuk i=1:n


untuk j=1:n
jika j i maka


f(x
u
) = f(x
u
) + (Li(x
u
)*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:

dimana A adalah suatu matriks berukuran n x n dan X adalah vektor karakteristik.
Persamaan di atas, dengan identitas matriks dapat dituliskan sebagai :

[ ]
Jika dimisalkan matrix A merupakan suatu matriks bujur sangkar yang berorde 2 x 2
maka dapat dituliskan sebagai :
[ ] *[

] *


++ *

+ *

+

Karena vektor x tidak boleh bernilai nol, maka persamaan di atas dapat diselesaikan
dengan cara:
[ ]
dan dapat ditulis sebagai:



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.


Metode Le Verrier-Faddeev
Jika nilai matriks di atas ditulis dalam bentuk polinomial:
| |


dengan:


...


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 :



dan berdasarkan rumusan Faddeev, maka akan didapatkan:


dengan:

)

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 :

A
1
= A P
1
= trace (A
1
) B
1
= A
1
-P
1*
I
A
2
= AB
1
P
2
= trace (A
2
)/2 B
2
= A
2
-P
2*
I
... ... ...
A
n-1
= AB
n-2
P
n-1
= trace (A
n-1
)/(n-1) B
n-1
= A
n-1
-P
n-1*
I
A
n
= AB
n-1
P
n-2
= trace (A
n
) / n B
n
= A
n
-P
n *
I

Langkah Praktikum
1. Tuliskan/turunkan kembali perumusan metode pencarian akar karakteristik untuk
mencari persamaan dan akar karakteristik dari matriks [



]
2. Lengkapi algoritma berikut.




Masukan : A (m,n ukuran A)
Keluaran : persamaan karakteristik
Langkah :

0. [m,n] = ukuran (A)
Jika m n maka 'Matriks tidak dapat diselesaikan'
1. penentuan trace matriks
trace (A) = 0
untuk i =1 : n
untuk j = 1: m
Jika i=j maka trace(A)=trace(A)+A
ij

2. penentuan persamaan karakteristik
a. buat matriks B = matriks identitas ukuran n x n
b. untuk i=1 : n
A_temp = A * B
P(i) = trace(A_temp)/i
B = A_temp - P(i) * I

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

n-1

- P
2

n-2

- ... - P
n-1
- P
n
) = 0

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


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



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 karakteristik
P =(-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<KMAX
K=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<eps
IER=1;
end
end





Modul V. Beda Hingga (Finite Differences)


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

)

Jika:
1.

< 0 maka persamaan diferensial parsial ini digolongkan dalam


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

= 0 maka persamaan diferensial parsial ini digolongkan dalam


persamaan diferensial model parabolik (contoh : persamaan konduksi panas
bergantung waktu dan persamaan difusi)
3.

> 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.

























u
2

h
x
h
y
u
1
u
3

u
6
u
5
u
7

u
4

u
8

u
10
u
9
u
11
u
12

Adapun bentuk umum hampiran untuk beda hingga adalah :



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:



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



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



yang dapat juga ditulis dalam bentuk


dan


Solusi PDP akan bernilai unik apabila diberikan syarat batas. Dikenal 2 (dua) jenis
syarat batas yang digunakan yaitu:
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 0
o
C dan satu sisi
lainnya 100
o
C. 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 :



3. Diskritisasi domain menjadi 10 bagian sama besar baik dalam arah x maupun y
(yaitu x=y=h=1 cm).

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;


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


...




dalam bahasa Matlab dituliskan dalam bentuk :















6. Susun sistem persamaan linier tersebut dalam format berikut :
[]{

} {

}
dengan
{

} [

]
dalam bahasa Matlab dituliskan dalam bentuk :










j_unk = (nx-1)*(ny-1); % jumlah titik simpul yang tidak diketahui
u = 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
A = u;

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

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.



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 plot
T_unknown = reshape(T_unknown,nx-1,ny-1)';
image(T_unknown(1:nx-1,1:ny-1));figure(gcf);



Gambar memperlihatkan penambahan node (sub domain) baru untuk dapat
ditambahkan syarat batas Neumann. Jika syarat batas tersebut berupa


dengan a merupakan sebuah konstanta dan syarat batas ini terdapat pada bagian
utara domain permasalahan, maka persamaan hampiran beda hingga untuk T
1

adalah (seperti pada gambar) :



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


sehingga


persamaan

ini kemudian disubstitusikan ke persamaan hampiran beda hingga
sebelumnya,



untuk kemudian diselesaikan seperti pada contoh sebelumnya.


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:



adalah PDP jenis parabolik, yaitu yang memiliki bentuk :



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

(



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
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) :


subskript i menyatakan indeks posisi dalam domain permasalahan dan superskript j
menyatakan indeks dalam waktu. Jika digabungkan, formulasi dalam metode ini
menjadi :

) (


Hampiran yang umum digunakan untuk menjaga kesatabilan perhitungan adalah :


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

Kasus Dua Dimensi atau Lebih pada Metode Eksplisit
Pada kasus ini, jika dan


hampiran beda hingga untuk PDP parabolik ditulis sebagai :

)
yang disederhanakan menjadi


dengan nilai r maksimum agar proses perhitungan stabil adalah

. Untuk kasus lebih


umum dimana , maka kriteria nilai r adalah :


{


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

.

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 :

)

sedangkan terhadap domain waktu



sehingga jika dituliskan secara lengkap :

)

yang dapat juga dituliskan sebagai :


dimana


untuk penyederhanaan dibuat r=1, sehingga:


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

yang tidak secara langsung diketahui pada saat awal-awal perhitungan.


Nilai u pada t=t
1
tidak hanya merupakan fungsi t=t
0
, 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
Perumusan untuk kasus dua dimensi pada metode ini dituliskan sebagai :

)
Secara unik (dapat dibuktikan) menggunakan skema Alternating Direction Implicit
(ADI) untuk kemudahan proses komputasi dan penghematan penggunaan memori,
metode ini dituliskan sebagai :


sementara langkah waktu berikutnya menggunakan hampiran berikut :


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.10
3
kg/m
3
). 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-u
o
)
dengan
h= 98,9117 J/sm
2
C
A= luas permukaan setiap sisi alumunium
u = temperatur (C)
u
o
= temperatur fluida
fluifluida

domain
x = 0 x = 10
Tentukan distribusi suhu di dalam kubus setiap saatnya.
2. Dari soal dapat ditentukan u(x,0)=550 dan pada sisi terbuka berlaku


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


3. Jika digunakan metode eksplisit dengan , dan dengan menggunakan
hubungan berikut :


maka akan dihasilkan = 1,17 s.
Untuk rasio yang dipilih tersebut, persamaan beda hingga untuk kasus ini
menjadi :


yang akan diaplikasikan pada titik x=0 hingga x=10.
4. Karena terdapat syarat batas Neuman, ujung domain ditambahkan sebuah node
khayal x
L
(untuk ujung kiri) dan x
R
(untuk ujung kanan).




dan aplikasikan persamaan berikut pada node khayal.


5. Penggunaan syarat batas neumann digunakan untuk menghilangkan titik khayal
ini. Formulasi beda tengah untuk syarat batas ini memberikan :

) (

)
x
1
x
2
x
3
x
4
x
5
x
6
x
L
x
R

)

6.





Contoh pada kasus aliran panas pada sebuah plat baja yang berukuran 20 cm,
dengan syarat sebagai berikut:


Dengan:
K=0.13 cal/s.cm
o
c
C=0.11 cal/g
o
c
Densitas=7.8g/cm
3
U
0
=70
o
c
jika dibagi menjadi 8 ruas maka didapatkan panjang tiap segmen menjadi 0.25 cm.
dari syarat kestabilan:



Adapun algoritma untuk menyelesaikan persoalan tersebut adalah sebagai berikut:
masukan: U
0
,k,rho,c,l,n,t
Keluaran: U
t

Proses:
k..
c
rho.
l.
t
n=8
delta_x=0: :2
[o,p]=size(delta_x)
Untuk i=1:o
Jika
u(i,1)= 100*delta_x
lainya
u(i,1)=100*(2-x)
akhiri
u(0,1)=


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
























Adapun bahasa pemrogramannya pada Matlab sebagai berikut:
clc;clear all;
%inisiasi domain
panjang=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 awal
for 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));
end
end
%berhitung
for 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));
end
end
u(1,:)=0;u(jumlah_titik,:)=0;
%bagian nampil
plot(u)



















Modul VII. Persamaan Differensial Parsial Hiperbolik

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

)

Maka untuk PDP hiperbolik akan diperoleh nilai untuk D sebesar:



Sebagai contoh untuk tinjauan pada gelombang tali:


Dengan metode beda hingga maka:

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



Dengan aturan beda tengah maka akan diperoleh nilai untuk

yakni sebesar:


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:



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

Algoritma:

Masukan : T,g,w,delta_x
Keluaran: u
j
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)
Untuk i=1:o
Jika x(i)<2
u(i,1)=0.1*x
lainya:
u(i,1)=-0.1*x+0.8
akhiri
untuk j=2:t
untuk i=2:o-1
u(i,j)=(1/2)*(u(i-1,j-1)+u(i+1,j-1))

Вам также может понравиться