You are on page 1of 67

METODE NUMERIK (3 SKS)

STMIK CILEGON

PENGANTAR NUMERIK
Masalah nyata
Model
matematika

Rumusan masalah

Solusi
Eksak
Pendekatan

Contoh kasus.
1.

2.

Pemakaian rumus ABC utuk


menentukan akar dari persamaan
kuadrat
contoh
f(x) = x2 + 1015x + 5 = 0
Menentukan determinan dari suatu
matriks
1 1
Contoh.
2 3 0.5 0.3
1
3

1
4

0.3 0.25

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 parameter
Contoh aplikasi : Mathlab, Mathcad, Mathematica dll
Mengapa perlu belajar Metnum
1.
Alat bantu yang ampuh (tidak dapat diselesaikan
secara analitik)
2.
Memudahkan dalam memahami aplikasi program
3.
Dapat membuat sendiri program komputer yang tidak
dapat diselesaikan dengan program aplikasi
4.
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 bilangan
Bilangan ada 2:
1.
2.

Eksak
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 signifikan
x = 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 diminta
Contoh. 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
diminta
Contoh. 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
Input

Proses

Output

Sumber-sumber galat :
Galat yang ada pada input :
Chopping error
Rounding error
Bilangan yang dimasukkan bukan bilangan
eksak

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

x x*
r
x

Macam-macam galat
1.

Chopping error
Galat yang terjadi akibat proses pemenggalan
angka sesuai desimal yang diminta
Contoh.
x = 0.378456x103 dipenggal hingga tiga desimal
x* = 0.378x103
galat a = |x x*| = |0.378456x103 0.378x103|
= 0.000456x103 = 0.456

2.

Round off error


Galat yang terjadi akibat membulatkan suatu
nilai
Contoh.
x = 0.378546x103 dibulatkan menjadi 3 desimal
x* = 0.379x103
galat a = |x x*|
= |0.378546x103 0.379x103|
= 0.000454x103 = 0.454

3.

Truncation error
Galat yang muncul akibat pemotongan
proses hitung tak hingga, misal deret
Taylor, deret MacLaurin
Contoh.

x3 x5 x7
sin x x

...
3! 5! 7!
x3 x5
sin x x
3! 5!

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
168 12.9615
6 a.s
0.0385
3 a.s

Deret Taylor & Deret


MacLaurin

Deret Taylor di titik a

''
''
f ' (a)
f
(
a
)
f
(a)
f ( x) ( x a ).
( x a) 2 .
( x a) 3 .
...
1!
2!
3!

Jika a = 0 maka akan menjadi


deret MacLaurin
'

''

''

f ( 0)
2 f ( 0)
3 f (0)
f ( x) x.
x .
x .
...
1!
2!
3!

Contoh.

f(x) = sin x
f(x) = cos x
f(x) = - sin x
f(x) = -cos x
Dst.
Deret MacLaurin

cos 0
2 sin 0
3 cos 0
f ( x) x.
x .
x .
...
1!
2!
3!

x3 x5
f ( x) x

...
6 120

Deret Taylor dan deret MacLaurin dapat


digunakan dalam perhitungan untuk
mencegah hilangnya angka signifikan
Contoh.

x3 x5
x3 x3
x
sin x x x

6 120
6 120

Untuk x = 0.5 maka sin 0.5 0.5 =


0.02057
(4 a.s)
1
x3 x3
x

x x x

120
6 120

Diperoleh 0.02031 (4 a.s)

Fungsi

Pendekatan

Pendahuluan
Masalah yang sulit dievaluasi
Fungsi 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
p ( x ) fharus
, i 0memenuhi
,1,2,..., n
n

Bentuk Lagrange
Didefinisikan

fungsi

x x0 x x1 ... x xi 1 x xi x xi 1 ... x x
Li x
xi x0 xi x1 ... xi xi 1 xi x11 ... xi x n
n

x x
L x
x x
n

j 0, j i

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
9
2
x

16

Jawab.
Misal x0 = -1, x1 = 0 dan x2 = 1
9
5
f 1 1

16 4
9
3
2
f 0 0

16 4
2

f 1

9 5
1

16 4
2

L0 x

x x1 x x 2
x0 x1 x0 x 2

L1 x

x x0 x x 2
x 1 x 1
x1 x0 x1 x 2

1
x x 1
2

x x0 x x1 1
L2 x
x x 1
x 2 x0 x2 x1 2

Diperoleh polinomial interpolasi


p2(x)=f0L0(x)+f1L1(x)+f2L2(x)
=

5 1
3
5 1
. x x 1 . x 1 x 1 . x x 1
4 2
4
4 2

5 2 5
3 2 3 5 2 5
1 2 3
x x x x x x
8
8
4
4 8
8
2
4

Formula Pembagian Selisih Newton


xi

x0
x1
x2

f(xi)

f ( x0 )

f[xi,xi+1]
f x0 , x1

f ( x1 )

f x1 f x0
x1 x0

f x1 , x 2

f x 2 f x1
x 2 x1

f x 2 , x3

f x3 f x 2
x3 x 2

f ( x2 )

x3 f ( x3 )
x4

x5

f x3 , x 4

f ( x4 )
f ( x5 )

f x 4 , x5

f x 4 f x3
x 4 x3
f x5 f x 4
x5 x 4

f[xi,xi+1,xi+2]

f x0 , x1 , x 2

f x1 , x 2 f x 0 , x1
x 2 x0

f x1 , x 2 , x3

f x 2 , x3 f x1 , x 2
x3 x1

f x 2 , x3 , x 4

f x3 , x 4 f x 2 , x3
x4 x2

f x3 , x 4 , x 5

f x 4 , x5 f x3 , x 4
x5 x3

Dari langkah-langkah di atas diperoleh polinomial


interpolasi
pn(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 x di titik x = 2, 3, 4 dan 6

Jawab.
xi

f(xi)

1.414214
0.317837

1.732051

-0.024944
0.267949

2.000000

0.002636
-0.014401

0.224745
6

2.449490

Polinomial interpolasi
pn(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
f n 1 x
f ( x) p n ( x) x x 0 x x1 ... x x n
n 1!
Dengan x berada dalam interval yang
memuat x,x0,x1, ,xn

Contoh.

Tentukan error di titik x = 5 dari polinomial


interpolasi x di titik x = 2, 3, 4 dan 6
Jawab.
f ( x)

x f 5 5 2.236068

p n x 2.368575

error 0.13251 0.13251

PERSAMAAN
NONLINIER

Persamaan nonlinier
Pada umumnya persamaan nonlinier
f(x) = 0 tidak dapat mempunyai solusi
eksak
Jika 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 biseksi
Jika f(x) kontinu pada interval [a,b] dan f(a).f(b) < 0
maka terdapat minimal satu akar.
Algoritma sederhana metode biseksi
1. 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.

f(b)

f(c)

f(b).f(c)

action

error

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

Diperoleh

akarnya adalah x 1.2875

0.0125

Kekonvergenan metode
biseksi
Menentukan banyaknya iterasi sehingga
error maksimumnya
Iterasi

Lebar interval

Ba

(b a)/2

(b a)/4

(b a)/2n

1 b a b a
Error maksimum . n n 1
2 2
2

b a
2 n 1

b a

2 n 1

b a

n 1
log
log 2 log

ba

n 1 log 2

ba
ba
log

n 1 n
1
log 2
log 2

log

Banyaknya

ba
log

iterasi
n
1
log 2

Contoh.

Berapa iterasi yang diperlukan agar error


maksimum pada metode biseksi lebih kecil
dari 10-5 pada interval [0,1]?
Jawab.

ba
1 0
5
log

log 10 5 1

log
10


n
1 15.6 16
log 2
log 2

log 2

Iterasi titik tetap


Misal terdapat fungsi f(x) = 0
Ditentukan fungsi baru dengan bentuk x =
g(x)
Kemungkinan dari penentuan fungsi x = g(x)
Konvergen
Divergen

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 + 1
x = (x3 + 1)
xn+1 = (xn3 + 1) dengan x0 = 2
Dari tabel terlihat bahwa penentuan fungsi x = g(x)
bersifat divergen

Iterasi

xn

xn+1

4.5

4.5

46

46.

Penentuan fungsi baru yang lain


x3 2x + 1 = 0

x 2 x 1 2 x 1
3

1
3

x n 1 3 2 x n 1 2 x n 1

1
3

Iterasi

xn

xn+1

1.4422

1.4422

1.225

1.225

1.137

Setelah 3 iterasi diperoleh akar hampiran x = 1.137

Metode Newton
Dalam 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)
f a
maka
xa '
0 f(a) = ff(a)(x
a a)

f a
xa '
f a

Iterasi metode Newton

f xn
xn 1 xn '
f xn

Algoritma Newton

1.

Inisialisasi x = x0, f(x0) 0

2.

Hitung

3.

|f(xn+1)|

4.

Ulangi langkah 2

f xn
xn 1 xn '
f xn

STOP (xn+1 akar hampiran)

Contoh.

Tentukan akar hampiran dari dari f(x) = x 2 2x 8


dengan x0 = 3

Jawab.

Iterasi

f(x)

f(x) = 2x - 2

-5

4.25

1.5625

6.5

4.009

0.054

6.018

4.00

Setelah iterasi ke-3 diperoleh akar = 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 sama
xn = a + nh , n = 0,1,2,,N dengan h = (b a)/N
Untuk menentukan penyelesaian dari persamaan
diferensial biasa dapat dilakukan dengan :
Metode Euler
Metode Taylor
Metode Runge Kutta

Metode Euler

Merupakan metode yang paling sederhana


dalam menyelesaikan IVP
Diferensial tingkat pertama sebagai
kemiringan (slope) dari kurva fungsi

f x0 , y 0

y1 y 0 y1 y 0

x1 x0
h

y1 y 0 hf x0 , y 0

Dalam

menentukan penyelesaian
dilakukan dengan iterasi

y n 1 y n hf x n , y n
xn = a + nh

Contoh.

y
, y (1) 4
Tentukan penyelesaian dariy
yx
'

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

y
f x, y
yx
y n 1 y n hf x n , y n

y n 1

yn

y n h
y n xn

Untuk iterasi awal n = 0

y0

y1 y 0 h
y 0 x0
4
y1 4 0.5
4.666667
4 1
x1 x0 h 1 0.5 1.5

Iterasi kedua

y1

y 2 y1 h
y1 x1
4.666667

y 2 4.66667 0.5
5.403509
4.666667 1.5

x 2 x1 h 1.5 0.5 2

Di titik x = 2 diperoleh y(2) = 5.403509

Metode Taylor

Perhatikan deret Taylor di titik x = a berikut.


''
''
f ' (a)
f
(
a
)
f
(a)
2
3
f ( x) ( x a).
( x a) .
( x a) .
...
1!
2!
3!

Dari deret Taylor di atas dapat digunakan untuk


menghitung IVP.
2

h "
y xn 1 y xn hy xn
y xn
2
'

Metode Taylor orde 2

Contoh.
Gunakan metode Taylor orde 2 untuk menghitung
y
' dari
nilai y(2) dengan h = 0.5
y
, y (1) 4

yx

Jawab.

y
y
, y (1) 4
yx
'

yn
yn
y n xn
'

'
'

x
y
'

y
y

xy
y"

2
2
y x
y x

"

yn

y n xn y n

'

y n xn 2

Dari soal diketahui h = 0.5, x0= 1 dan y0= 4


y0
4
y0 '

1.333333
y 0 x0 4 1
"

y0

y 0 x0 y 0

'

y 0 x0 2

4 1.1.333333

0.296296
2
4 1

0 .5
h2 "
'
y x1 y x0 h. y x 0
y x 0 4 0.5.1.33333
2
2

x1 x0 h 1 0.5 1.5

0.296296 4.703704

y1
4.703704
y1 '

1.468208
y1 x1 4.703704 1.5
"

y1
y x2

y1 x1 y1

y1 x1

'

4.703704 1.5.1.468208

4.703704 1.5

0.243712

0.5
h2 "
y x1 h. y x1
y x1 4703704 0.5.1.468208
2
2
'

0.243712 5.468272

x2 x1 h 1.5 0.5 2
Di titik x = 2 diperoleh y(2) = 5.468272

Metode Runge Kutta

Pada metode ini, tidak perlu evaluasi


derivatif orde tinggi
Bentuk umum
y n 1 y n

Atau

y n 1

h
f x n , y n f x n h, y n hf x n , y n
2

h
y n k1 k 2
2

Dengan k1 f x n , y n

k 2 f x n h, y n hk1

Contoh.

Gunakan metode Runge Kutta untuk menghitung


y dari
nilai y(2) dengan yh' =
0.5

, y (1) 4

yx

Jawab.
Dari soal diketahui h = 0.5, x0= 1 dan y0= 4

Iterasi awal n = 0

h
y1 y 0 k1 k 2
2

k1 f x 0 , y 0

1.333333
4 1

4.666667
k 2 f x 0 h, y 0 hk1 f 1.5,4.666667
1.473684
4.666667 1.5

h
0.5
1.333333 1.473684 4.701754
y1 y 0 k1 k 2 4
2
2

x1 x0 h 1 0.5 1.5

Iterasi kedua n = 1

4.701754
k1 f x1 , y1
1.468493
4.701754 1.5

k 2 f x1 h, y1 hk1 f 2,5.436001
y2 y1

5.436001
1.582072
5.436001 2

h
k1 k2 4.701754 0.5 1.468493 1.582072 5.464395
2
2

x2 x1 h 1.5 0.5 2

Di titik x = 2 diperoleh y(2) = 5.464395

You might also like