METODE NUMERIK (3 SKS)METODE NUMERIK (3 SKS)
STMIK CILEGONSTMIK CILEGON
PENGANTAR NUMERIKMasalah nyata
Modelmatematika
Rumusan masalah
Solusi Eksak
Pendekatan
Contoh kasus.
1. Pemakaian rumus ABC utuk menentukan akar dari persamaan kuadrat contoh f(x) = x2 + 1015x + 5 = 0
2. Menentukan determinan dari suatu matriksContoh.
25.03.03.05.0
41
31
31
21
Metode analitik vs Metode numerik
Metode analitik- menghasilkan solusi eksak (galat = 0)- menghasilkan solusi dalam bentuk fungsi matematika Metode numerik- menghasilkan solusi pendekatan- menghasilkan solusi dalam bentuk angka
Peranan komputer dalam MetNum Mempercepat perhitungan tanpa membuat
kesalahan Mencoba berbagai kemungkinan yang terjadi
akibat perubahan parameterContoh aplikasi : Mathlab, Mathcad, Mathematica dllMengapa perlu belajar Metnum1. Alat bantu yang ampuh (tidak dapat diselesaikan
secara analitik)2. Memudahkan dalam memahami aplikasi program3. Dapat membuat sendiri program komputer yang
tidak dapat diselesaikan dengan program aplikasi4. Menyederhanakan matematika yang lebih tinggi
menjadi operasi matematika yang mendasar
Prinsip perhitungan dalam numerik
Penggunaan metode/algoritma yang tepat sesuai kasus“tidak ada algoritma untuk segalanya”
Mencari solusi pendekatan yang diperoleh dengan cepat dan error kecil
Penyajian bilanganBilangan ada 2:
1. Eksak2. Tidak eksak
Perhitungan matematika tidak eksak , e, Perhitungan desimal yang berulang
0.3333…. Hasil perhitungan deret tak hingga e Hasil pengukuran
Floating point
f.p x = a x bn
a = matise (0 ≤ a ≤ 1) b = basis n = eksponen (bilangan bulat)
Dalam alat hitung elektronik biasanya digunakan basis b = 10
Desimal dan angka signifikan Misal
x = 0.05 2 desimal 1 angka signifikanx = 0.30 2 desimal 2 angka signifikan
Angka signifikan adalah angka 0 yang diabaikan untuk yang berada dibelakang sedangkan dihitung untuk angka 0 yang berada di depan
Aritmatika dalam floating point Penjumlahan /pengurangan
Ubah bilangan ke f.p Ubah eksponen mengikuti eksponen yang besar Jumlahkan/kurangkan Sesuaikan desimal/a.s yang dimintaContoh. x = 123.75 dan y = 0.14 (2 desimal)x = 0.12375 x 103 = 0.12 x 103
y = 0.14 = 0.00014 x 103 = 0.00 x 103
x + y = 0.12 x 103 + 0.00 x 103= 0.12 x 103 = 120
Perkalian/pembagian Ubah bilangan ke f.p Untuk perkalian : jumlahkan eksponen dan kalikan
matise Untuk pembagian : kurangkan eksponen dan
bagikan matise Tulis hasil dalam f.p sesuai dengan desimal yang
dimintaContoh. x = 123.75 dan y = 0.14 (2 desimal)x = 0.12375 x 103 = 0.12 x 103
y = 0.14 = 0. 14 x 100
x . y = (0.12 x 103) . (0.14 x 100)= 0.0168 x 103 = 0.02 x 103 = 20
• Alur perhitungan
Sumber-sumber galat :• Galat yang ada pada input :
– Chopping error– Rounding error– Bilangan yang dimasukkan bukan
bilangan eksak
Input Proses
Output
Galat yang ada pada proses : Rambatan galat Rumus/metode/algoritma tidak
tepat Kesalahan alat Human error
Galat pada output : Chopping error Rounding error
Misal x adalah nilai eksak dan x* adalah nilai pendekatan maka galat = x – x*
Galat absolut a = |x – x*| Galat absolut relatif
xxx
r*
Macam-macam galat
1. Chopping errorGalat yang terjadi akibat proses pemenggalan angka sesuai desimal yang dimintaContoh. x = 0.378456x103 dipenggal hingga tiga desimalx* = 0.378x103
galat a = |x – x*| = |0.378456x103 – 0.378x103|
= 0.000456x103 = 0.456
2. Round off errorGalat yang terjadi akibat membulatkan suatu nilaiContoh. x = 0.378546x103 dibulatkan menjadi 3 desimal x* = 0.379x103 galat a = |x – x*|
= |0.378546x103 – 0.379x103| = 0.000454x103 = 0.454
3. Truncation errorGalat yang muncul akibat pemotongan proses hitung tak hingga, misal deret Taylor, deret MacLaurinContoh.
...!7!5!3
sin753
xxxxx
!5!3sin
53 xxxx
Nested form Nested form menjadikan operasi
perhitungan lebih efisien dan dapat meminimalisasi galat
Contoh. f(x) = 3 + 2.5x + 5.35x2 – 4x3
f(0.25) = 4.521875 Nested form f(x) = 3 + x(2.5+x(5.35+x(-
4))) f(0.25)=3.896875 Galat yang terjadi 0.625
Hilangnya angka signifikan Hilangnya angka signifikan terjadi jika
dua buah bilangan yang hampir sama dibandingkan. Hilangnya angka signifikan sering berakibat fatal bagi perhitungan numerik
Contoh. 13 = 13.0000 6 a.s
6 a.s 0.0385 3 a.s
9615.12168
Deret Taylor & Deret MacLaurin
Deret Taylor di titik a
Jika a = 0 maka akan menjadi deret MacLaurin
...!3
)(.)(!2
)(.)(!1
)().()(''
3''
2'
afaxafaxafaxxf
...!3
)0(.!2
)0(.!1
)0(.)(''
3''
2'
fxfxfxxf
Contoh.
f(x) = sin xf’(x) = cos xf’’(x) = - sin xf’’’(x) = -cos xDst….
Deret MacLaurin
...!3
0cos.!2
0sin.!10cos.)( 32
xxxxf
...1206
)(53
xxxxf
• Deret Taylor dan deret MacLaurin dapat digunakan dalam perhitungan untuk mencegah hilangnya angka signifikan
• Contoh.
• Untuk x = 0.5 maka sin 0.5 – 0.5 = 0.02057 (4 a.s)
• Diperoleh 0.02031 (4 a.s)
12061206sin
3353 xxxxxxxx
12061
1206
33 xxxxxx
Fungsi Pendekatan
Pendahuluan
Masalah yang sulit dievaluasiFungsi yang “rumit”
Fungsi pendekatan dengan menyederhanakan fungsi
Informasi tentang fungsi dalam bentuk tabel nilai (hanya sebagian informasi yang diketahui)
Fungsi pendekatan dengan pendekatan nilai dari data
Digunakan fungsi pendekatan berupa polinomial yang memenuhi fungsi pada sejumlah titik
Misalkan nilai fi = f(xi) diketahui i = 1,2,3,…,n
Dapat digunakan fungsi polinomial pn(x) dengan derajat ≤ n untuk menginterpolasi fungsi di (n + 1) titik xi, i = 1,2, 3,…,n
Polinomial interpolasi yang digunakan harus memenuhi nifxp iin ,...,2,1,0,)(
Bentuk Lagrange
Didefinisikan fungsi
niiiiii
xiiii xxxxxxxxxx
xxxxxxxxxxxxL n
............
11110
1110
n
ijj ji
ji xx
xxxL
,0
• Jika fi adalah nilai fungsi di titik xi maka jumlah dari perkalian fi dengan Li(x) adalah pn(x) = f1L1(x) + f2L2(x) + … + fnLn(x)
Bentuk di atas disebut bentuk Lagrange polinomial interpolasi
Contoh. Tentukan polinomial untuk menginterpolasi
fungsi di titik x = -1,0 dan 1
Jawab. Misal x0 = -1, x1 = 0 dan x2 = 1
1692 x
45
16911 2 f
43
16900 2 f
45
16911 2 f
Diperoleh polinomial interpolasi p2(x)=f0L0(x)+f1L1(x)+f2L2(x)
=
=
1
21
2010
210
xxxxxxxxxx
xL
11
2101
201
xxxxxxxxxx
xL
1
21
1202
102
xxxxxxxxxx
xL
121.
4511.
431
21.
45
xxxxxx
43
21
85
85
43
43
85
85 2222 xxxxxx
Formula Pembagian Selisih NewtonFormula Pembagian Selisih Newton
xi f(xi) f[xi,xi+1]f[xi,xi+1,xi+2]
02
1021210
,,,,
xxxxfxxf
xxxf
01
0110 ,
xxxfxf
xxf
12
1221 ,
xxxfxf
xxf
23
2332 ,
xxxfxf
xxf
34
3443 ,
xxxfxf
xxf
45
4554 ,
xxxfxf
xxf
13
2132321
,,,,
xxxxfxxf
xxxf
24
3243432
,,,,
xxxxfxxf
xxxf
35
4354543
,,,,
xxxxfxxf
xxxf
0x
1x
2x
3x
4x
5x
)( 0xf
)( 1xf
)( 2xf
)( 3xf
)( 4xf
)( 5xf
Dari langkah-langkah di atas diperoleh polinomial interpolasipn(x) = f(x0)+(x - x0)f[x0,x1]+(x - x0)(x-x1)f[x0,x1,x2]+…+ (x - x0)…(x - xn-1)f[x0,x1,…,xn]
Contoh.Gunakan formula pembagian selisih Newton untuk menginterpolasi di titik x = 2, 3, 4 dan 6
x
Jawab.xi f(xi)2 1.414214
0.002636
0.3178373 1.732051 -0.024944
0.2679494 2.000000 -0.014401
0.2247456 2.449490
Polinomial interpolasipn(x) = 1.414214 + (x – 2){0.317837 + (x – 3){-0.024944 + (x – 4)(0.002636)}}
Galat dari polinomial interpolasi
Misal polinom pn(x) dengan derajat ≤ n yang menginterpolasi fungsi f di xi [a,b], i = 0,1,2…, n
Jika derivatif fungsi ke - n+1 kontinu pada [a,b] maka galat
Dengan x berada dalam interval yang memuat x,x0,x1, … ,xn
!1
...)()(1
10
nf
xxxxxxxpxf xn
nn
Contoh.
Tentukan error di titik x = 5 dari polinomial interpolasi di titik x = 2, 3, 4 dan 6
Jawab. x
236068.255)( fxxf
368575.2xpn13251.013251.0 error
PERSAMAAN PERSAMAAN NONLINIERNONLINIER
Persamaan nonlinierPada umumnya persamaan nonlinier f(x) = 0 tidak dapat mempunyai solusi eksakJika r suatu bilangan real sehingga f(r) = 0 maka r disebut sebagai akar dari persamaan nonlinier f(x)Solusi dari persamaan nonlinier dapat ditentukan dengan menggunakan metode iterasi
• Persamaan nonlinier f(x) = 0– Tidak mempunyai akar– Mempunyai beberapa akar– Mempunyai banyak akar
• Metode pencarian akar dari persamaan nonlinier– Metode biseksi (Bisection Method)– Iterasi titik tetap (Fixed Point Iteration)– Metode Newton (Newton Method)
Metode biseksiJika f(x) kontinu pada interval [a,b] dan f(a).f(b) < 0 maka terdapat minimal satu akar.Algoritma sederhana metode biseksi1. Mulai dengan interval [a,b] dan toleransi 2. Hitung f(b)3. Hitung c = (a - b)/2 dan f(c)4. Jika b – c ≤ maka STOP ( akar = c)5. Jika f(b).f(c) < 0 maka a = c jika tidak b = c
dan f(b) = f(c) 6. Ulangi langkah 3
Contoh.
Gunakan metode biseksi untuk mencari akar dari x – 1 = e-x pada interval [1,1.4] dengan toleransi = 0.02
Jawab.
a b c f(b) f(c) f(b).f(c) action error
1 1.4 1.2 0.15 -0.1 < 0 a = c 0.2
1.2 1.4 1.3 0.15 0.027 > 0 b = c 0.1
1.2 1.3 1.25 0.027 -0.037 < 0 a = c 0.05
1.25 1.3 1.275 0.027 -0.0044 < 0 a = c 0.025
1.275 1.3 1.2875 0.0125
Diperoleh akarnya adalah x 1.2875
Kekonvergenan metode biseksi
Menentukan banyaknya iterasi sehingga error maksimumnya ≤
Iterasi Lebar interval
0 B – a
1 (b – a)/2
2 (b – a)/4
. .
n (b – a)/2n
Error maksimum
Banyaknya iterasi
122.
21
nn
abab
11 2
2
nn
abab
2log1log2loglog 1
nabab n
12log
log1
2log
log
ab
nn
ab
12log
logab
n
Contoh.
Berapa iterasi yang diperlukan agar error maksimum pada metode biseksi lebih kecil dari 10-5 pada interval [0,1]?
Jawab.
166.1512log
10log2log
110
01log1
2log
log 55
ab
n
Iterasi titik tetap
Misal terdapat fungsi f(x) = 0Ditentukan fungsi baru dengan bentuk x = g(x)Kemungkinan dari penentuan fungsi x = g(x)
KonvergenDivergen
Digunakan untuk melakukan iterasi dengan inisialisasi x0
f(r) = 0 ↔ r = g(r) dan r disebut titik tetap
Contoh. Tentukan akar hampiran dari fungsi x3 – 2x + 1 = 0
dengan x0 = 2 Jawab.
Ditentukan fungsi baru 2x = x3 + 1x = ½ (x3 + 1) xn+1 = ½ (xn
3 + 1) dengan x0 = 2Dari tabel terlihat bahwa penentuan fungsi x = g(x) bersifat divergen
Iterasi xn xn+1
0 2 4.51 4.5 46…2 46….
Penentuan fungsi baru yang lainx3 – 2x + 1 = 0
Setelah 3 iterasi diperoleh akar hampiran x = 1.137
31
3 1212 xxx
31
31 1212 nnn xxx
Iterasi xn xn+1
0 2 1.4422
1 1.4422 1.225
2 1.225 1.137
Metode NewtonDalam metode ini, fungsi y = f(x) dianggap sebagai garis lurus yang melalui titik (a,f(a)), menyinggung kurva y = f(x) dan memotong sumbu X di titik (x,0)Gradien kurva m = f’(a)
Menyinggung kurva f = f(x) persamaan garis singgungnya adalah
y – f(a) = m (x – a)y – f(a) = f’(a)(x – a)
Karena memotong sumbu X di (x,0) maka 0 – f(a) = f’(a)(x – a)
afafax '
afafax '
Iterasi metode Newton
Algoritma Newton1. Inisialisasi x = x0, f’(x0) 02. Hitung
3. |f(xn+1)| STOP (xn+1 akar hampiran)4. Ulangi langkah 2
nn
nn xfxfxx '1
nn
nn xfxfxx '1
Contoh. Tentukan akar hampiran dari dari f(x) = x2 –
2x – 8 dengan x0 = 3 Jawab.
Setelah iterasi ke-3 diperoleh akar = 4.00
Iterasi x f(x) f’(x) = 2x - 2
0 3 -5 4
1 4.25 1.5625 6.5
2 4.009 0.054 6.018
3 4.00
PERSAMAAN DIFERENSIAL BIASA
Pengantar Misalkan terdapat masalah nilai awal
(initial value problem/IVP)y’ = f(x,y) dengan y(a) =
Secara umum, masalah di atas dapat diselesaikan secara numerik
Contoh.y’ = y dengan y(0) = 2
Penyelesaian persamaan diferensial biasa
Diketahui IVP y’ = f(x,y) dengan y(a) = Misalkan penyelesaian IVP di atas pada interval [a.b], ambil titik dengan jarak yang samaxn = a + nh , n = 0,1,2,…,N dengan h = (b – a)/NUntuk menentukan penyelesaian dari persamaan diferensial biasa dapat dilakukan dengan :
Metode EulerMetode TaylorMetode Runge Kutta
Metode Euler
Merupakan metode yang paling sederhana dalam menyelesaikan IVP
Diferensial tingkat pertama sebagai kemiringan (slope) dari kurva fungsi
hyy
xxyy
yxf 01
01
0100 ,
0001 , yxhfyy
Dalam menentukan penyelesaian dilakukan dengan iterasi
xn = a + nh
nnnn yxhfyy ,1
Contoh.
Tentukan penyelesaian daridi x = 2 dengan h = 0.5
Jawab. Diketahui x0 = 1 dan y0 = 4 berada di
interval [1,2] dengan h = 0.5 diperoleh N = 2 (yang berarti ada 2 iterasi)
4)1(,'
yxyyy
Untuk iterasi awal n = 0
xyyyxf
,
nnnn yxhfyy ,1
nn
nnn xy
yhyy 1
00
001 xy
yhyy
666667.414
45.041
y
5.15.0101 hxx
Iterasi kedua
Di titik x = 2 diperoleh y(2) = 5.403509
11
112 xy
yhyy
403509.55.1666667.4
666667.45.066667.42
y
25.05.112 hxx
Metode Taylor Perhatikan deret Taylor di titik x = a berikut.
Dari deret Taylor di atas dapat digunakan untuk menghitung IVP.
Metode Taylor orde 2
...!3
)(.)(!2
)(.)(!1
)().()(''
3''
2'
afaxafaxafaxxf
nnnn xyhxhyxyxy "2
'1 2
Contoh.Gunakan metode Taylor orde 2 untuk menghitung nilai y(2) dengan h = 0.5 dari
Jawab.
4)1(,'
yxyyy
4)1(,'
yxyyy
2
'
2
'" 1'
xyxyy
xyyyyxyy
nn
nn xy
yy
'
2
'"
nn
nnnn xy
yxyy
• Dari soal diketahui h = 0.5, x0= 1 dan y0= 4333333.1
144'
00
00
xyy
y
296296.0
14333333.1.14
2200
'000"
0
xyyxy
y
703704.4296296.025.033333.1.5.04
2.
2
0"
2
0'
01 xyhxyhxyxy
5.15.0101 hxx
468208.15.1703704.4
703704.4'11
11
xyy
y
243712.0
5.1703704.4468208.1.5.1703704.4
2211
'111"
1
xyyxy
y
468272.5243712.025.0468208.1.5.04703704
2.
2
1"
2
1'
12 xyhxyhxyxy
25.05.112 hxx
Di titik x = 2 diperoleh y(2) = 5.468272
Metode Runge Kutta Pada metode ini, tidak perlu evaluasi
derivatif orde tinggi Bentuk umum
Atau
Dengan
nnnnnnnn yxhfyhxfyxfhyy ,,,21
211 2kkhyy nn
nn yxfk ,1
12 , hkyhxfk nn
Contoh. Gunakan metode Runge Kutta untuk menghitung
nilai y(2) dengan h = 0.5 dari
Jawab. Dari soal diketahui h = 0.5, x0= 1 dan y0= 4
Iterasi awal n = 0
4)1(,'
yxyyy
2101 2kkhyy
Iterasi kedua n = 1
473684.15.1666667.4
666667.4666667.4,5.1, 1002
fhkyhxfk
333333.114
4, 001
yxfk
701754.4473684.1333333.125.04
2 2101 kkhyy
5.15.0101 hxx
468493.15.1701754.4
701754.4, 111
yxfk
582072.12436001.5
436001.5436001.5,2, 1112
fhkyhxfk
464395.5582072.1468493.125.0701754.4
2 2112 kkhyy
25.05.112 hxx
Di titik x = 2 diperoleh y(2) = 5.464395