Modul Metode Numerik Moch Agus Choiron
Modul Metode Numerik Moch Agus Choiron
2012
2012
2012
KOMPOSISI PROGRAM
Penulisan program dalam bahasa komputer
DOKUMENTASI
Membuat program mudah digunakan dan dipahami
2012
xmid =
f (xmid) = 0
x n1 x n
2
|f (xmid)|
y = f(x)
f(x2)
f(xmid)
x1
x
x2
xmid
f(x1)
f(xmid)
-0,269
2,55
2,6
-0,269
0,376
2,575
0,049
2012
2,55
2,575
-0,269
0,049
2,562
-0,117
2,562
2,575
-0,117
0,049
2,568
-0,041
2,568
2,575
-0,041
0,049
2,572
0,010
2,568
2,572
-0,041
0,010
2,570
-0,015
2,570
2,572
-0,041
0,010
2,571
-0,003
Hitung xmid =
x n1 x n
, f (xmid)
2
f(xn), f(xmid)
sama tanda ?
Tidak
Tidak
xn+1 = xmid
f (xn+1) = f (xmid)
f (xn), f (xmid)
sama tanda
|f (xmid)|
Ya
STOP
Ya
A
pxn = xmid
f (x
an) = f (xmid)
k
a
h
A
p
a
k
a
h
|f (xmid)|
2012
f(x)
yang
y
y = f(x)
f(x2)
x1
x3
x4
x
x2
f(x1)
f(x1) dan f(x2) berbeda tanda berarti ada akar antara x 1 dan x2.
Perumusan mencari akar :
x n1 x n
x* = xn f(xn)
f (x n1 ) f (x n )
Evaluasi suatu akar : | f(x*) |
Algoritma Metode Posisi Palsu = Algoritma Metode Biseksi hanya
x
xn
tinggal mengganti rumusan xmid = n1
menjadi x* = xn f(xn)
2
x n1 x n
f (x n1 ) f (x n )
No
1
x1
2,5
x2
2,6
f(x1)
-0,875
f(x2)
0,376
x*
2,57
f(x*)
-0,015
2,57
2,6
-0,015
0,376
2,571
0,003
Sehingga salah satu akar yang dicari adalah 2,571. Terlihat dengan
metode ini hanya dibutuhkan 2 iterasi sehingga konvergensi lebih
cepat dibandingkan dengan metode biseksi.
2012
h2
f(x) + ..
2
diabaikan
f (xn )
f' (xn )
START
|f (xn + 1)|
Ya
STOP
Tidak
xn = xn+1
A
p
a
k
a
h
|f (xn + 1)|
2012
y = f(x)
x0
x1
x3
x2
E
B
C
x0 dan x1 dipilih
x 2 = x1 +
Segitiga ABC segitiga DEA
x1 x0
- f (x1 )
- f (x0 ) f (x1)
=
= - f(x1)
x1 - x0
f (x1) f (x0 )
x1 x0
maka : x2 = x1 - f(x1)
f (x1) f (x0 )
x n x n1
xn+1 = xn f(xn)
f (x n ) f (x n1 )
Perumusan :
Metode
pengurung
Metode
terbuka
JENIS
Bisection
Regula Falsi
Newton-Raphson
Secant
KELEBIHAN
- Selalu
Konvergen
-Laju konvergen
cepat
- Cukup satu
terkaan awal
KEKURANGAN
-Laju konvergen
lambat
- Turunan harus
dicari secara
analitis
- Bisa divergen
2012
TUGAS :
Selesaikan dengan cara manual dan Buat program komputer dengan
menggunakan metode di atas dan Uji hasil program dengan
menyelesaikan fungsi sebagai berikut :
y = x4 + 3 x3 + 2 x2 + 5 x
Berikut listing program dengan menggunakan metode posisi palsu.
program posisi_palsu;
uses crt;
var
j,k,l,m,n,maxit,x1,x2,nb,na,xa,gmax : real;
function f( a,b,c,d,e,x :real):real;
begin
f:=a*sqr(sqr(x))+b*x*sqr(x)+c*sqr(x)+d*x+e;
end;
{prosedur pengisian data}
procedure data;
begin
clrscr;
writeln('Menghitung akar persamaan
');
writeln('f(x)=A x^4 + B x^3 + C x^2 + D x + E
');
writeln('dengan metode Posisi Palsu
');
writeln;
writeln;
write('Masukan nilai A = '); readln(j);
write('Masukan nilai B = '); readln(k);
write('Masukan nilai C = '); readln(l);
write('Masukan nilai D = '); readln(m);
write('Masukan nilai E = '); readln(n);
writeln;
write('Batas Error
= '); readln(gmax);
write('Jumlah Iterasi Maks. = '); readln(maxit);
write('Nilai bawah
= '); readln(nb);
write('Nilai atas
= '); readln(na);
clrscr;
end;
{prosedur perhitungan posisi palsu}
procedure pospalsu;
var
iterasi : integer;
galat,uji : real;
x:real;
begin
writeln;
2012
writeln('
==========================================');
write('
Iterasi ke-');write('
');
write('Hasil');writeln;
write('
==========================================');
x1:=nb; x2:=na; iterasi:=0;
xa:=x1-((f(j,k,l,m,n,x1)*(x2-x1))/(f(j,k,l,m,n,x2)-f(j,k,l,m,n,x1)));
repeat
iterasi:=iterasi+1;
uji:=f(j,k,l,m,n,x1)*f(j,k,l,m,n,xa);
if uji= 0 then xa:=0
else if uji < 0 then
begin
x1:=nb; x2:=xa;
xa:=x1-((f(j,k,l,m,n,x1)*(x2-x1))/(f(j,k,l,m,n,x2)f(j,k,l,m,n,x1)));
writeln;write('
');
write(iterasi);
write('
',xa:3:5);
end
else if uji>0 then
begin
x1:=xa; x2:=na;
xa:=x1-((f(j,k,l,m,n,x1)*(x2-x1))/(f(j,k,l,m,n,x2)f(j,k,l,m,n,x1)));
writeln;write('
');
write(iterasi);write('
',xa:3:5);
end;
until (abs(f(j,k,l,m,n,xa))<=gmax) or (iterasi=maxit);
writeln;
writeln('
==========================================');
writeln;
writeln('Persamaan : ',j:2:2,'X^4 + (',k:2:2,')X^3 + (',l:2:2,')X^2 +
(',m:2:2,')X + (',n:2:2,')');
writeln('Jumlah Iterasi = ',iterasi,' Batas Error = ',gmax:3:5);
writeln('Batas Bawah = ',nb:3:2,' Batas Atas = ',na:3:2);writeln;
write('Salah satu akarnya adalah = ',xa:3:5);
end;
{prosedur / program utama}
begin
data;
pospalsu;
readln;
end.
10
2012
nilai
nilai
nilai
nilai
nilai
A=1
B=3
C=2
D=5
E=0
Batas Error
= 0.01
Jumlah Iterasi Maks. = 100
Nilai bawah
= -3.5
Nilai atas
= -1.5
=========================================
Iterasi keHasil
==========================================
1
-2.34464
2
-2.62648
3
-2.78083
4
-2.85257
5
-2.88317
6
-2.89572
7
-2.90078
8
-2.90281
9
-2.90362
10
-2.90395
==========================================
Persamaan : (1.00)X^4 + (3.00)X^3 + (2.00)X^2 + (5.00)X + (0.00)
Jumlah Iterasi = 10 Batas Error = 0.01000
Batas Bawah = -3.50 Batas Atas = -1.50
Salah satu akarnya adalah = -2.90395
11
2012
..... + ann xn = bn
a1 1
a
21
.
a
n1
b
1
b2
.........
.
.
an2 ......... ann .
x b
n
n
a1 2
a2 2
.........
x
a1 n 1
x
a2 n 2
dimana a adalah koefisien-koefisien konstanta, b adalah konstantakonstanta dan n adalah banyaknya persamaan.
Penyelesaian persamaan linear serentak dapat dilakukan cara :
1. Eliminasi
Eliminasi Gauss, Gauss Jordan.
2. Iterasi
Iterasi Jacobi, Gauss siedel.
3. Dekomposisi Dekomposisi lower-upper (LU), Cholesky.
3.1. Eliminasi Gauss
Eliminasi bilangan unknown dengan menggabungkan persamaanpersamaan.
Strategi : mengalikan persamaan dengan konstanta agar salah satu
bilangan unknown akan tereliminasi bilamana dua
persamaan digabungkan.
Kebutuhan : pemahaman Operasi Matrik
Skema langkah eliminasi Gauss
a11 a12 a13 x1 b1
a
21 a22 a23 x 2 b2
a31 a32 a33
x 3 b3
(E1)
(E2)
(E3)
Forward
Elimination
a11
0
a12
a'22
0
a13
a'23
x1 b1
x b'
2 2
a' '33
x3 b' '3
Upper Triangular
System
Back
Substitution
x3
x2
= b3 / a33
12
2012
a2 1
a'3 2
; m31 =
a1 1
a'2 2
m21 =
+ a12 x2 + a13 x3
= b1
a22 x2 + a23 x3
= b2
a32 x2 + a33 x3
= b3
a'2 2
+ a12 x2 + a13 x3 = b1
a22 x2 + a23 x3 = b2
a33 x3 = b3
NB :
b3 / a33
(n - 1)
xn = b n
- 1)
a(n
nn
xi =
- 1)
b(i
j i1
- 1)
a(i
ii
- 1)
a(i
xj
ii
dengan i = n 1, n 2 , . , 1
NB :
13
2012
a
3 1
a1 2 a1 3 b1
a2 2 a2 3 b2
a3 2 a3 3 b3
2
1 1 54 110 E3 - 1/27 E1
E3 0,778/13,667 E2
6
-1
85
27
0 13,667 2,222 53,111
6
-1
85
27
0 13,667 2,222 53,111
0
0
53,911 103,829
14
2012
x2 = 3,573
x1 = 2,425
a2 1 a2 2 a2 3 b2
a3 1 a3 2 a3 3 b3
(E1)
(E2)
(E3)
Elimination
*
0 0 b1
1 0 b*
2
0 1 b*
NO Back M
Substitution
a
t
r
i
k
x1 = b*1
x2 = b*2
x3 = b*3
S Gauss :
Selesaikan soal yang sama pada metode Eliminasi
27 6 - 1 85 1/27 E1
6 15 2 72
1 1 54 110
E2 6 E1
E3 E1
1/13,667 E2
a
t
3,148
1 0,222 - 0,337
6
u
15
2
72
a54
1
1
110
n
15
1 0 0 2,426
0 1 0 3,572
0 0 1 1,926
2012
1 0 - 0,073 2,285
0 1 0,163 3,886
0 0
1
1,926
x1 = 2,426
x2 = 3,572
x3 = 1,926
1
( b2 - a21 x1 + a23 x3 - .................... - a2n xn)
a 22
1
x3 =
( b3 - a31 x1 + a32 x2 - .................... - a3n xn)
a 33
1
xn =
( bn - an1 x1 - an2 x2 - .................... - an(n-1) x(n-1))
ann
x2 =
16
2012
4. Proses iterasi berakhir bila hasil dari iterasi terakhir sama dengan
atau hampir sama dengan iterasi sebelumnya. Ini merupakan
kelemahan metode iterasi gauss-siedel yaitu proses akhir iterasi
menjadi meragukan.
Contoh soal :
Selesaikan persamaan simultan berikut :
27 x + 6 y z = 85 .. (1a)
6 x + 15 y + 2 z = 72 .. (1b)
x + y + 54 z = 110
.. (1c)
Penyelesaian :
Persamaan di atas dapat diubah bentuknya menjadi :
1
x=
( 85 - 6 y + z ) (2a)
27
1
y=
( 72 - 6 x - 2 z ) (2a)
15
1
z=
( 110 - x - y ) (2a)
54
Iterasi pertama
1. Asumsikan y = z = 0, sehingga dari persamaan (2a) akan diperoleh
85
: x1 =
= 3,15
27
2. Hasil dari x1 tersebut dimasukkan persamaan (2b) untuk
mendapatkan harga y1 (asumsi z = 0)
1
y1 =
( 72 - 6 (3,15) ) = 3,54
15
3. Masukkan hasil x1 dan y1 ke dalam persamaan (2c)
1
z1 =
( 110 3,15 3,54) = 1,91
54
Iterasi kedua
1
x2 =
( 85 - 6 (3,54) + 1,91 ) = 2,43
27
1
y2 =
( 72 - 6 (2,43) 2 (1,91) ) = 3,57
15
1
z2 =
( 110 2,43 3,57) = 1,926
54
Iterasi selanjutnya dapat ditabelkan sebagai berikut :
Iterasi ke 1
2
3
4
5
x
3,15
2,43
2,423
2,425
2,425
y
3,54
3,57
3,574
3,573
3,573
z
1,91
1,926
1,926
1,926
1,926
17
2012
aii >
ij
; j i dan i = 1, 2, .., N
j 1
Contoh soal :
Selesaikan persamaan simultan berikut :
27 x + 6 y z = 85
.. (1a)
6 x + 15 y + 2 z = 72
.. (1b)
x + y + 54 z = 110
.. (1c)
Penyelesaian :
Persamaan di atas dIbentuk menjadi :
1
x(1) =
( 85 - 6 y(0) + z(0) ) (2a)
27
1
y(1) =
( 72 - 6 x(0) - 2 z(0) ) (2b)
15
1
z(1) =
( 110 - x(0) - y(0) ) (2c)
54
Iterasi pertama
Asumsikan x(0) = y(0) = z(0) = 0, sehingga dari persamaan (2a, 2b dan
2c) akan diperoleh :
85
x(1) =
= 3,148
27
72
y(1) =
= 4,800
15
110
z(1) =
= 2,037
54
Iterasi kedua
1
x(2) =
( 85 - 6 (4,8) + 2,037 ) = 2,157
27
1
y(2) =
( 72 - 6 (3,148) 2 (2,037) ) = 3,269
15
1
z(2) =
( 110 3,148 4,8) = 1,890
54
18
2012
X
3,148
2,157
2,492
2,401
2,432
2,423
2,426
2,425
2,426
2,425
2,425
Y
4,800
3,269
3,685
3,545
3,583
3,570
3,574
3,573
3,573
3,573
3,573
z
2,037
1,890
1,937
1,923
1,927
1,926
1,926
1,926
1,926
1,926
1,926
Maju
Pensubtitusian
{D}
Mundur
{X}
19
2012
Langkah-langkah Dekomposisi LU
1. Membentuk matrik koefisien [A], matrik variabel {X} dan matrik
hasil {B} dari persamaan simultan.
[A] {X} = {B}
2. Mencari matrik segitiga bawah [L] dan matrik segitiga atas [U] dari
matrik koefisien [A] dengan aturan berikut :
li1 = ai1
; i = 1,2, , n
a1 j
a1 j
u1j =
=
; j = 2,3, , n
a11
l11
- untuk j = 2,3, , n-1
lij = aij -
j 1
l ik .u kj
k 1
j 1
a jk
ujk =
; i = j, j+1, , n
ji .u ik
i 1
l jj
n1
nk .u kn
k 1
b1
b1 =
l11
4. Membentuk
diperoleh :
xn = bn
bi
;
bi =
Augmented
dan
i 1
ij .b' j
j 1
l ii
Matrix
xj = bj -
untuk i = 2, 3, , n
{UB}
jk
dan
penyelesaiannya
xk
k j 1
20
2012
Name
= "Nadall"
Size
= 12
Charset
= 0
Weight
= 700
Underline
= 0 'False
Italic
= 0 'False
Strikethrough = 0 'False
EndProperty
Height
= 495
Left
= 3840
TabIndex
= 38
Top
= 5400
Width
= 1215
End
Begin VB.CommandButton Command1
Caption
= "Hitung Interasi"
BeginProperty Font
Name
= "Nadall"
Size
= 11.25
Charset
= 0
Weight
= 700
Underline
= 0 'False
Italic
= 0 'False
Strikethrough = 0 'False
EndProperty
Height
= 495
Left
= 720
TabIndex
= 31
Top
= 3000
Width
= 1695
End
Begin VB.Frame Frame1
Caption
= "Masukkan Angka"
BeginProperty Font
Name
= "Palatino Linotype"
Size
= 12
Charset
= 0
Weight
= 700
Underline
= 0 'False
Italic
= 0 'False
Strikethrough = 0 'False
EndProperty
Height
= 2415
Left
= 720
TabIndex
= 0
Top
= 240
Width
= 6495
Begin VB.TextBox Text4
21
2012
Height
= 375
Index
= 2
Left
= 5160
TabIndex
= 12
Top
= 1800
Width
= 975
End
Begin VB.TextBox Text3
Height
= 375
Index
= 2
Left
= 3480
TabIndex
= 11
Top
= 1800
Width
= 495
End
Begin VB.TextBox Text2
Height
= 375
Index
= 2
Left
= 1920
TabIndex
= 10
Top
= 1800
Width
= 495
End
Begin VB.TextBox Text1
Height
= 375
Index
= 2
Left
= 360
TabIndex
= 9
Top
= 1800
Width
= 495
End
Begin VB.TextBox Text4
Height
= 375
Index
= 1
Left
= 5160
TabIndex
= 8
Top
= 1080
Width
= 975
End
Begin VB.TextBox Text3
Height
= 375
Index
= 1
Left
= 3480
TabIndex
= 7
Top
= 1080
Width
= 495
End
Begin VB.TextBox Text2
22
2012
Height
= 375
Index
= 1
Left
= 1920
TabIndex
= 6
Top
= 1080
Width
= 495
End
Begin VB.TextBox Text1
Height
= 375
Index
= 1
Left
= 360
TabIndex
= 5
Top
= 1080
Width
= 495
End
Begin VB.TextBox Text4
Height
= 375
Index
= 0
Left
= 5160
TabIndex
= 4
Top
= 360
Width
= 975
End
Begin VB.TextBox Text3
Height
= 375
Index
= 0
Left
= 3480
TabIndex
= 3
Top
= 360
Width
= 495
End
Begin VB.TextBox Text2
Height
= 375
Index
= 0
Left
= 1920
TabIndex
= 2
Top
= 360
Width
= 495
End
Begin VB.TextBox Text1
Height
= 375
Index
= 0
Left
= 360
TabIndex
= 1
Top
= 360
Width
= 495
End
Begin VB.Label Label6
23
2012
Caption
= "+"
Height
= 375
Index
= 2
Left
= 3000
TabIndex
= 30
Top
= 1920
Width
= 375
End
Begin VB.Label Label5
Caption
= "+"
Height
= 375
Index
= 2
Left
= 1440
TabIndex
= 29
Top
= 1920
Width
= 375
End
Begin VB.Label Label3
Caption
= "Z"
Height
= 375
Index
= 2
Left
= 4080
TabIndex
= 27
Top
= 1920
Width
= 615
End
Begin VB.Label Label2
Caption
= "Y"
Height
= 375
Index
= 2
Left
= 2640
TabIndex
= 26
Top
= 1920
Width
= 495
End
Begin VB.Label Label1
Caption
= "X"
Height
= 375
Index
= 2
Left
= 1080
TabIndex
= 25
Top
= 1920
Width
= 495
End
Begin VB.Label Label6
Caption
= "+"
Height
= 375
Index
= 1
24
2012
Left
= 3000
TabIndex
= 24
Top
= 1200
Width
= 375
End
Begin VB.Label Label5
Caption
= "+"
Height
= 375
Index
= 1
Left
= 1440
TabIndex
= 23
Top
= 1200
Width
= 375
End
Begin VB.Label Label4
Caption
= "="
Height
= 375
Index
= 1
Left
= 4680
TabIndex
= 22
Top
= 1200
Width
= 495
End
Begin VB.Label Label3
Caption
= "Z"
Height
= 375
Index
= 1
Left
= 4080
TabIndex
= 21
Top
= 1200
Width
= 615
End
Begin VB.Label Label2
Caption
= "Y"
Height
= 375
Index
= 1
Left
= 2640
TabIndex
= 20
Top
= 1200
Width
= 495
End
Begin VB.Label Label1
Caption
= "X"
Height
= 375
Index
= 1
Left
= 1080
TabIndex
= 19
Top
= 1200
25
2012
Width
= 495
End
Begin VB.Label Label6
Caption
= "+"
Height
= 375
Index
= 0
Left
= 3000
TabIndex
= 18
Top
= 480
Width
= 375
End
Begin VB.Label Label5
Caption
= "+"
Height
= 375
Index
= 0
Left
= 1440
TabIndex
= 17
Top
= 480
Width
= 375
End
Begin VB.Label Label4
Caption
= "="
Height
= 375
Index
= 0
Left
= 4680
TabIndex
= 16
Top
= 480
Width
= 495
End
Begin VB.Label Label3
Caption
= "Z"
Height
= 375
Index
= 0
Left
= 4080
TabIndex
= 15
Top
= 480
Width
= 615
End
Begin VB.Label Label2
Caption
= "Y"
Height
= 375
Index
= 0
Left
= 2640
TabIndex
= 14
Top
= 480
Width
= 495
End
Begin VB.Label Label1
26
2012
Caption
= "X"
Height
= 375
Index
= 0
Left
= 1080
TabIndex
= 13
Top
= 480
Width
= 495
End
Begin VB.Label Label4
Caption
= "="
Height
= 375
Index
= 2
Left
= 4680
TabIndex
= 28
Top
= 1920
Width
= 495
End
End
Begin VB.Frame Frame2
Caption
= "View Persamaan dan Hasil Interasi"
BeginProperty Font
Name
= "Palatino Linotype"
Size
= 12
Charset
= 0
Weight
= 700
Underline
= 0 'False
Italic
= 0 'False
Strikethrough = 0 'False
EndProperty
Height
= 5775
Left
= 120
TabIndex
= 32
Top
= 120
Width
= 9255
Begin VB.CommandButton Command2
Caption
= "CLear"
BeginProperty Font
Name
= "Nadall"
Size
= 12
Charset
= 0
Weight
= 700
Underline
= 0 'False
Italic
= 0 'False
Strikethrough = 0 'False
EndProperty
Height
= 375
Left
= 7080
TabIndex
= 37
27
2012
Top
= 5280
Width
= 1815
End
Begin VB.ListBox List1
Height
= 2205
Left
= 240
TabIndex
= 33
Top
= 3000
Width
= 8655
End
Begin VB.Label Label9
Alignment
= 2 'Center
BorderStyle
= 1 'Fixed Single
BeginProperty Font
Name
= "Arial"
Size
= 14.25
Charset
= 0
Weight
= 700
Underline
= 0 'False
Italic
= 0 'False
Strikethrough = 0 'False
EndProperty
Height
= 735
Left
= 240
TabIndex
= 36
Top
= 2160
Width
= 8655
End
Begin VB.Label Label8
Alignment
= 2 'Center
BorderStyle
= 1 'Fixed Single
BeginProperty Font
Name
= "Arial"
Size
= 14.25
Charset
= 0
Weight
= 700
Underline
= 0 'False
Italic
= 0 'False
Strikethrough = 0 'False
EndProperty
Height
= 735
Left
= 240
TabIndex
= 35
Top
= 1320
Width
= 8655
End
Begin VB.Label Label7
Alignment
= 2 'Center
28
2012
BorderStyle
= 1 'Fixed Single
BeginProperty Font
Name
= "Arial"
Size
= 14.25
Charset
= 0
Weight
= 700
Underline
= 0 'False
Italic
= 0 'False
Strikethrough = 0 'False
EndProperty
Height
= 735
Left
= 240
TabIndex
= 34
Top
= 480
Width
= 8655
End
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim x(1000) As Single
Dim y(1000) As Single
Dim z(1000) As Single
Dim a(2) As Single
Dim b(2) As Single
Dim c(2) As Single
Dim d(2) As Single
Private Sub Command1_Click()
On Error Resume Next
Frame2.Visible = True
Frame1.Visible = False
Command1.Visible = False
Label7.Caption = Text1(0).Text & "X" & "+" & Text2(0).Text & "Y" &
"+" & Text3(0).Text & "Z" & "=" & Text4(0).Text
Label8.Caption = Text1(1).Text & "X" & "+" & Text2(1).Text & "Y" &
"+" & Text3(1).Text & "Z" & "=" & Text4(1).Text
Label9.Caption = Text1(2).Text & "X" & "+" & Text2(2).Text & "Y" &
"+" & Text3(2).Text & "Z" & "=" & Text4(2).Text
If Text1(0).Text = "" And Text1(1).Text = "" And Text1(2).Text = ""
And Text2(0).Text = "" And Text2(1).Text = "" And Text2(2).Text = ""
And Text3(0).Text = "" And Text3(1).Text = "" And Text3(2).Text = ""
Then
option15 = MsgBox("ANDA BELUM MEMASUKKAN NILAI
VARIABEL", vbOKOnly, "WARNING")
29
2012
Frame2.Visible = False
Command3.Visible = True
End If
For I = 0 To 2
a(I) = Text1(I).Text
b(I) = Text2(I).Text
c(I) = Text3(I).Text
d(I) = Text4(I).Text
Next I
x(0) = 0
y(0) = 0
z(0) = 0
jumlah = 0
For I = 1 To 100000
jumlah = jumlah + 1
x(I) = (d(0) - (b(0) * y(I - 1) + c(0) * z(I - 1))) / a(0)
y(I) = (d(1) - (a(1) * x(I) + c(1) * z(I - 1))) / b(1)
z(I) = (d(2) - (a(2) * x(I) + b(2) * y(I))) / c(2)
If x(I) = x(I - 1) And y(I) = y(I - 1) And z(I) = z(I - 1) Then
GoTo 2
End If
Next I
2 List1.Clear
For I = 1 To jumlah
List1.AddItem I & vbTab & vbTab & x(I) & vbTab & vbTab & y(I) &
vbTab & vbTab & z(I)
Next I
End Sub
Private Sub Command2_Click()
Label7.Caption = ""
Label8.Caption = ""
Label9.Caption = ""
Frame2.Visible = False
Frame1.Visible = True
Command1.Visible = True
End Sub
Private Sub Command3_Click()
Frame1.Visible = True
Command1.Visible = True
Command3.Visible = False
End Sub
Private Sub Form_Load()
Frame2.Visible = False
Command3.Visible = False
End Sub
30
2012
31
2012
0.2
0.3
0.4
0.5
0.6
10.1
12.5
14.2
17.8
19.3
menganggap
y = f(x)
yn+1
dengan
Garis Lurus
y = yn +
yn
y n1 y n
(x xn)
x n1 - x n
x
xn
xn+1
32
y = 10,1 +
2012
12,5 10,1
(0,25 0,2) = 11,3
0,3 - 0,2
n+1
penyelesaian
persamaan
constraint,
maka
1 ; i=j
bj(xi) =
0 ; ij
Pilihan tersebut memenuhi persamaan constraint.
Bentuk persamaan polinomial bj(x) adalah sebagai berikut :
bj(x) = Cj (x - x0) (x - x1) (x - x2) . (x - xj-1) (x - xj+1) (x - xn)
Sesuai pilihan di atas yang cocok dengan constraint yaitu : b j(xj) = 1
Maka konstanta Cj dapat dicari dengan rumusan berikut :
1
Cj =
(x j x 0 )(x j x1 )....(x j x j 1 )(x j x j 1 )...(x j x n )
Dengan demikian semua
b0(x) = C0 (x - x1)
b1(x) = C1 (x - x0)
b2(x) = C2 (x - x0)
.
.
bn(x) = Cn (x - x0)
33
2012
1
(x 0 x1 )(x 0 x 2 )(x 0 x 3 )....(x 0 x n )
1
C1 =
(x1 x0 )(x1 x2 )(x1 x3 )....(x1 xn )
1
C2 =
(x 2 x 0 )(x 2 x1 )(x 2 x 3 )....(x 2 x n )
.
1
Cn =
(xn x0 )(xn x1)(xn x2 )....(xn xn1)
dimana :
C0 =
(x x1)(x x2 )....(x xn )
(x0 x1)(x0 x2 )....(x0 xn )
(x x0 )(x x2 )....(x xn )
b1(x) =
(x1 x0 )(x1 x2 )....(x1 xn )
b0(x) =
b2(x) =
.
.
bn(x) =
j0
yj
Pn(x) =
y
j 0
L j (x)
L j (x j )
= y(x) = f(x)
Contoh Soal :
Hitung harga y(1.5) pada data yang disajikan pada tabel berikut ini.
x
1
2
3
4
y
0.1
0.2
0.4
0.8
34
y(1,5) = y0
+ y1
+ y2
2012
C0 = y0
C0 + C1(x1 - x0) = y1
C0 + C1(x1 - x0) + C2 (x2 - x0)(x2 - x1) = y1
C0 + C1(xn - x0)+ + Cn (xn - x0)(xn - x1) (xn - xn-1)= yn
y 2 C 0 C1 (x 2 x 0 )
(x 2 x 0 )(x 2 x1 )
y 3 C 0 C1 (x 3 x 0 ) C 2 (x 3 x 0 )(x 3 x1 )
dst.
(x 3 x 0 )(x 3 x1 )(x 3 x 2 )
Metode ini menjadi lebih mudah jika inkremen dari x tetap.
xi+1 = xi = h
atau xi = x0 + ih ; i =1,2, , n
C3 =
35
2012
yi
y0
x1
y1
x2
y2
x3
y3
x4
y4
x5
y5
yi =
yi+1 - yi
y0
y1
y2
y3
y4
.
.
2yi =
yi+1 - yi
2y0
2
y1
2
y2
2y3
.
.
.
3yi =
yi+1 - 2yi
2
3y0
3y1
3
y2
.
.
.
.
4yi =
yi+1 - 3yi
3
5yi =
yi+1 - 4yi
4
4y0
5y0
y1
.
.
.
.
.
.
.
.
.
.
.
j y
( j ! )h j
36
2012
yi
0.1
0.2
yi
0.1
2yi
0.1
0.2
3
0.4
0.8
3yi
0.1
0.2
0.4
Jika dipakai first order difference saja, maka :
y 0
y(1.5)= y0 +
(1.5x0)
h
0 .1
= 0.1 +
(1.5 1)
1
= 0.1 + 0.05 = 0.15
Jika dipakai first-second order difference maka :
y 0
2 y
y(1.5)= y0 +
(1.5x0)+ 2 (1.5x0)(1.5x1)
h
2h
0 .1
0 .1
= 0.1 +
(1.5 1)+
(1.5 1)(1.5 2)
1
2
= 0.1 + 0.05 - 0.0125 = 0.1375
Dipakai first-second-third order difference maka :
y 0
2 y
y(1.5)= y0 +
(1.5x0)+ 2 (1.5x0)(1.5x1)
h
2h
3
y
+
(1.5x0)(1.5x1)(1.5 x2)
6h3
0 .1
0 .1
= 0.1 +
(1.5 1)+
(1.5 1)(1.5 2)
1
2
0 .1
+
(1.5 1)(1.5 2)(1.5 3)
6
= 0.1 + 0.05 - 0.0125 + 0.0062 = 0.1437
37
2012
y
y = f(x)
Persamaan
untuk kurva
dirumuskan :
pendekatan
linear dapat
f(x) = a + bx
1
a
y2
y1
x
Metode kuadrat terkecil
Jumlah kuadrat terkecil (D2)
D2 =
Ei =
i 1
yi f(x i )2
i 1
y i a bxi 2
i 1
D 2
=0
a
y i a bx i 2 = 0
i 1
a
-2
y i a bxi = 0
i 1
yI - a - b xi = 0
yI - n a - b x i = 0
n a = yI - b xi
yi
xi
-b
= y b x
n
n
a=
D 2
=0
b
a
-2
(1)
y i a bx i 2 = 0
i 1
y i a bxi xi = 0
i 1
xi yi - a xi - b xi2 = 0
a xi + b xi2 = xi yi
38
2012
xi
y i
2
-b
xi + b xi = xi y i
n
n
xi yi - b x i + n b xi2 = n xi yi
2
b { n xi2 - x i } = n xi yI - xi yi
2
b=
n x i yi x i yi
n x i x i
2
(2)
Dt D 2
Dt
(berharga 0 s/d 1)
dengan Dt2 =
y i y
n
i 1
y = a ebx
Proses Linearisasi ln y = ln a + b x ln e
= ln a + b x
Y = A +bx
Y = A + bx
y=ae
bx
ln y
b
1
x
xi
x1
x2
.
.
xn
xi
yi
y1
y2
.
.
yn
yi
Yi = ln yi
ln y1
ln y2
.
.
ln yn
yi
x i Yi
x1 y1
x2 y2
.
.
xn yn
xi yi
xi2
x12
x22
.
.
xn2
xi 2
39
b=
2012
n x i Yi x i Yi
n x i x i
xi
Yi
A=
-b
= Y b x
n
n
2
b. y = a xb
Proses Linearisasi
A = ln a
a = eA
log y
= log a + b log x
Y = A +bX
Y = A + bX
y=ax
log y
b
1
x
xi
x1
x2
.
.
xn
xi
yi
y1
y2
.
.
yn
yi
b=
Xi = log xi
log x1
log x2
.
.
log xn
Xi
Yi = log yi
log y1
log y2
.
.
log yn
YI
X i Yi
X 1 Y1
X 2 Y2
.
.
X n Yn
X i Yi
Xi2
X12
X22
.
.
Xn2
xi 2
n Xi Yi Xi Yi
n Xi Xi
Yi
Xi
A=
-b
= Y b X
n
n
A = log a a = log-1 A
2
c. Polinomial y = a0 + a1 x + a2 x2+ .. + ar xr
Jumlah kuadrat dari kesalahan adalah :
D2 =
yi a0 a1x i a2 x i 2 .... ar x i r
n
i 1
konstanta
dapat
dicari
dengan
40
D 2
=0
a0
2
D
=0
a1
2
D
=0
a2
-2
-2
-2
D 2
=0
ar
yi a0 a1x i a2 x i 2 .... ar x i r = 0
n
i 1
n
x i yi a0 a1x i a2 x i 2 .... ar x i r = 0
i 1
n
x i 2 y i a0 a1x i a2 x i 2 .... ar x i r = 0
i 1
.
.
2012
-2
x i r yi a0 a1x i a2 x i 2 .... ar x i r = 0
n
i 1
xi
x 2
i
.
.
x i r
xi
2
xi
xi
3
xi
xi
.
.
xi
.
.
xi
r 1
xi
r 2
r
. . x i a0 y i
r 1
. . x i a1 x i y i
2
r 2
. . x i a2 x i y i
. .
. . .
. .
. . .
r
r n
. . x i ar x i y i
Response
i 1
n
yi b0 b1x1i b2 x 2i b3 x 3i ........ bk x ki 2
i 1
41
2
x1i
x1i x 2i x1i x 3i ...
x1i
x 2i x1i x 2i x 2i 2 x 2i x 3i ...
2
...
x 3i x1i x 3i x 2i x 3i x 3i
.
.
.
.
.
.
.
.
.
.
x ki x1i x ki x 2i x ki x 3i x ki ...
2012
x ki b 0
x1i x ki b1
x 2i x ki b 2
x 3i x ki b 4 =
.
.
.
.
2
x ki b k
yi
x1i y i
x 2 i y i
x 3 i y i
.
.
x ki y i
42
2012
Fv
83.768
82.542
16.402
18.968
151.598
124.435
202.295
192.469
60.704
110.964
380.966
370.195
215.205
239.084
85.404
83.14
270.679
444.666
0.5
0.5
0.1
0.1
1
1
0.5
0.5
0.1
0.1
1
1
0.5
0.5
0.1
0.1
1
1
f
0.05
0.05
0.05
0.05
0.05
0.05
0.16
0.16
0.16
0.16
0.16
0.16
0.2
0.2
0.2
0.2
0.2
0.2
Y = Log
Fv
1.923
1.917
1.215
1.278
2.181
2.095
2.306
2.284
1.783
2.045
2.581
2.568
2.333
2.379
1.931
1.920
2.432
2.648
X1 =
Log a
-0.301
-0.301
-1.000
-1.000
0.000
0.000
-0.301
-0.301
-1.000
-1.000
0.000
0.000
-0.301
-0.301
-1.000
-1.000
0.000
0.000
X2 = Log
f
-1.301
-1.301
-1.301
-1.301
-1.301
-1.301
-0.796
-0.796
-0.796
-0.796
-0.796
-0.796
-0.699
-0.699
-0.699
-0.699
-0.699
-0.699
37.820
-7.806
-16.775
X12
X22
X1X2
X1Y
X2Y
0.091
0.091
1.000
1.000
0.000
0.000
0.091
0.091
1.000
1.000
0.000
0.000
0.091
0.091
1.000
1.000
0.000
0.000
1.693
1.693
1.693
1.693
1.693
1.693
0.633
0.633
0.633
0.633
0.633
0.633
0.489
0.489
0.489
0.489
0.489
0.489
0.392
0.392
1.301
1.301
0.000
0.000
0.240
0.240
0.769
0.769
0.000
0.000
0.210
0.210
0.699
0.699
0.000
0.000
-0.579
-0.577
-1.215
-1.278
0.000
0.000
-0.694
-0.688
-1.783
-2.045
0.000
0.000
-0.702
-0.716
-1.931
-1.920
0.000
0.000
-2.502
-2.494
-1.581
-1.663
-2.837
-2.726
-1.835
-1.818
-1.419
-1.628
-2.054
-2.044
-1.631
-1.663
-1.350
-1.342
-1.700
-1.851
6.544
16.888
7.275
-14.129
-34.136
43
2012
Fv = 1727,825 . a
0,7193
. f
0,8847
44
2012
3. RUNGE-KUTTA METHOD
Deret taylor orde 4
Lebih teliti
h
y n1 y n k1 2k 2 2k3 k 4
6
dimana
: k1 = f (xn, yn)
k2 = f (xn+ 0,5h, yn+ 0,5 h . k1)
k3 = f (xn+ 0,5h, yn+ 0,5 h . k2)
k4 = f (xn + h, yn+ h . k3)
Contoh :
dy
= 3x2 + 5x + y
; y(1) = 1
dx
Cari nilai y (1,2) dengan Metode Euler, Modified Euler dan Runge Kutta
(pakai h = 0,1).
45
2012
46
2012
47
2012
Hasil iterasi keempat dan iterasi sebelumnya yaitu iterasi ketiga sama
maka proses iterasi dihentikan dengan hasil harga y 2 = 3,2417
Jadi penyelesaian kasus tersebut : y(1,2) = 3,2417
6.3. Runge-Kutta Method
Dipilih h = 0,1
Iterasi Pertama ( y1 = y(1,1) )
x0 = 1 ; y0 = 1
k1 = f (x0, y0) = (3 x02 + 5 . x0 + y0) = (3 . 12 + 5 . 1 + 1) = 9
k2 = f (x0+ 0,5h, y0+ 0,5 h . k1)
= 3 (x0+ 0,5h)2 + 5 . (x0+ 0,5h) + (y0+ 0,5 h . k1)
= 3 (1+ 0,5 . 0,1)2 + 5 . (1+ 0,5 . 0,1) + (1+ 0,5 . 0,1 . 9)
= 10,0075
k3 = f (x0+ 0,5h, y0+ 0,5 h . k2)
= 3 (x0+ 0,5h)2 + 5 . (x0+ 0,5h) + (y0+ 0,5 h . k2)
= 3 (1+ 0,5 . 0,1)2 + 5 . (1+ 0,5 . 0,1) + (1+ 0,5 . 0,1 . 10,0075)
= 10,0579
k4 = f (x0 + h, y0+ h . k3)
= 3 (x0+ h)2 + 5 . (x0+ h) + (y0+ h . k3)
= 3 (1+ 0,1)2 + 5 . (1+ 0,1) + (1+ 0,1 . 10,0579)
= 11,1358
h
k1 2k2 2k3 k 4
y1 y 0
6
48
2012
0,1
(9+ (2 . 10,0075) + (2 . 10,0579) + 11,1358)
6
= 2,0044
=1+
0,1
(11,1344+(2. 12,2787)+(2. 12,3359)+13,5580)
6
= 3,2356
49
2012
T K 2 T
t
x 2
Penyelesaian dari persamaan di atas adalah mencari temperatur T
untuk nilai x pada setiap waktu t.
B. Persamaan Differensial Eliptik
Biasanya berhubungan dengan masalah kesetimbangan atau
kondisi permanen (tidak tergantung waktu) dan penyelesaiannya
memerlukan kondisi batas di sekeliling daerah tinjauan. Seperti
aliran air tanah di bawah bendungan dan karena adanya
pemompaan, defleksi plat akibat pembebanan, dsb.
2 2
0
x 2 y 2
C. Persamaan Differensial Hiperbolik
Biasanya berhubungan dengan getaran atau permasalahan dimana
terjadi diskontinue dalam waktu, seperti gelombang kejut yang
terjadi discontinue dalam kecepatan, tekanan dan rapat massa.
2U C2 2U
t2
x 2
50
2012
T K 2 T
t
x 2
dengan :
K
t
x
. (7.1)
T =
temperatur
koefisien konduktivitas
waktu
jarak
=
=
=
n
n +1
i-1
i+1
f (x, t) = fi n
n 1
f
fi
f(x , t)
= i
t
t
f 2 (x , t)
t 2
fin1 2fi fi 1
t 2
Ti
n 1
Tn 2Ti Ti 1
Ti
= Ki i 1
t
x 2
atau
Ti
n 1
= Ti Ki
t
x
n
n
i 1 2Ti
Ti 1
(7.2)
51
2012
skema
n1
i 1 ,
eksplisit,
n1
i
Ti
tergantung
pada
tiga
titik
n1
i 1 .
sebelumnya yaitu: T
Keadaan ini dapat menyebabkan
T dan T
ketidakstabilan dari skema tersebut, yang berupa terjadinya
amplifikasi hasil hitungan dari kondisi awal. Agar stabil dibutuhkan
suatu syarat yaitu :
t
0 < < 1/2 dengan =
x 2
Contoh:
L=1m
Dimana :
t
x
0,001
0,12
k
x
t
=
=
=
1
0,1
0,001
52
2012
1
0
0
0
0
0
.
.
.
N
2
0.1
0.2
0.2
0.2
0.2
.
.
.
N
3
0.2
0.4
0.4
0.4
0.4
.
.
.
N
4
0.3
0.6
0.6
0.6
0.5996
.
.
.
N
5
0.4
0.8
0.8
0.796
0.7896
.
.
.
N
6
0.5
1
0.96
0.928
0.9016
.
.
.
N
7
0.6
0.8
0.8
0.796
0.7896
.
.
.
N
n
n+1
i-1
i+1
t
t
f(x,t) fin11 fin11
x
2 x
2f(x,t)
x 2
53
2012
1 n1
Ki
2 Ki n1
Ki
Tin
n1
n1
Ti
1
i
i
1
t
t
x 2
x 2
x 2
Ki
x 2
1
Tin1
(
1
2 Ki n1
Ki
Tin
n1
)
T
i
i 1
t
t
x 2
x 2
atau
Ai .Tin11 Bi .Tin 1 Ci .Tin11 Di
.......... (6.3)
dengan
Ai
Bi (
Ki
x
; Ci
Ki
1
2
)
t
x 2
; Di
Ki
x 2
Tin
t
.........
T1
D1
A2 B2 C2 0
.........
T2
D2
0 A3 B3 C3 0
.........
T3
D3
0 A4 B4 C4
.........
T4
D4
.........
.........
. . . . . . AM BM
TM
DM
54
2012
2 2
0
2
2
x
y
Sehingga :
i 1, j 2i, j i 1, j
x 2
i, j 1 2i, j i, j 1
y 2
4i, j i 1, j i 1, j i, j 1 i, j 1 0
55
2012
Contoh Soal :
Determine the steady state temperature of the following plate
using = 1 and x = 1 ft.
y
4 ft
Tb = 40F
Tc = 0F
Ta = 10F
3 ft
x
Td = 20F
Jawab :
Tb = 40F
Ta = 10F
Tc = 0F
Td = 20F
Node 1
Node 3
1
1
Ta
1
2
-4
1
Tb
Tb
1
3
1
4
5
6
1
Tc
Td
10 + 40 - 4 T1 + T2 + T3 = 0
Ta
3
4
-4
1
1
6
Tc
Td
40 + T1 - 4 T3 + T4 + T5 = 0
56
2012
Node 4
Tb
1 1 3
Ta
2
4
1
-4
1
Tb
5
Tc
Ta
3
1
10 + 20 + T1 -4 T2 + T4 = 0
Tc
20 + T2 + T3 -4 T4 + T6 = 0
Node 5
Node 6
Tb
Tb
3
Ta
2
-4
1
Td
Td
1
5
6
-4
Ta
Tc
1
2
3
4
5
1
1
Tc
-4
Td
Td
40 + T3 -4 T5 + T6 = 0
20 + T4 + T5 - 4 T6 = 0
-4
1
1
0
0
0
1
-4
0
1
0
0
1 0 0 0
0 1 0 0
-4 1 1 0
1 -4 0 1
1 0 -4 1
0 1 1 -4
T1
T2
T3
T4
T5
T6
-50
-30
-40
-20
-40
-20
T1 = 23,561 F
T2 = 18,344 F
T3 = 25,901 F
T4 = 19,814 F
T5 = 20,228 F
T6 = 15,010 F
57
2012
I=
f(x)dx =
Dengan :
Wk f(x k )
k 1
Jumlah
Point
1
Sampling (Gauss)
Point
x1 = 0
Koefisien Berat
x1 = - 0.5773503
x2 = 0.5773503
W1 = 1
W2 = 1
=5
x1 = - 0.7745967
x2 = 0
x3 = 0.7745967
W1 = 0.5555556
W1 = 0.8888889
W2 = 0.5555556
W1 = 2
58
2012
A*
T
2y 2x dx dy
59
2012
DAFTAR PUSTAKA
Abd. Munif, (1995), Cara Praktis Penguasaan dan Penggunaan
Metode Numerik, Guna Wijaya, Jakarta.
Chapra, Steven C., (1991), Metode Numerik, Erlangga, Jakarta.
Soehardjo (1985), Analisa Numerik, ITS, Surabaya.
Triatmodjo, Bambang,
Yogyakarta.
(1995),
Metode
Numerik,
Beta
Offset,
60