Anda di halaman 1dari 24

L.H.

Wiryanto

MA-3171 Matematika Numerik


Tahun 2011

Pokok bahasan
1. Akar persamaan
2. Sistem Persamaan
3. Turunan dan Integral
4. Persamaan Diferensial

Buku:
1. John Mathews, Numerical methods for mathematics, sciences and engineering
2. Steven Chapra and R. Canale, Numerical methods for engineers

Evaluasi
1. Ujian tengah semester (35%)
2. Kuis dan tugas (10%)
3. Praktikum (20%)
4. Ujian Akhir Semester (35%)

1
L.H. Wiryanto

Mengapa numerik diperlukan


 Model matematika dibentuk dengan menggunakan penyederhanaan-
penyederhanaan. Study dimulai dari model dengan asumsi yang sangat
sederhanan. Contoh: persamaan gerak dari ayunan dawai berbentuk
ml x ''  mg sin  x 
dengan x menyatakan simpangan dawai tehadap sumbu tegak. Persamaan
tersebut merupakan bentuk persamaan diferensial tak linear, dan tidak mudah
diperoleh solusinya, secara analitik. Salah satu cara yang dapat digunakan adalah
dengan menghampiri menjadi bentuk linear
l x ''   g x
yang tentunya berlaku untuk x yang kecil.
 Bila tidak dapat sedemikian sederhana, masalah dalam penyelesaian adalah
sulitnya mendapatkan solusi analitik, atau terbatas pada klas solusi tertentu
 Perhitungan-perhitungan yang rumit menjadi kendala dalam penyelesaian model
matematika yang ada. Penyederhanaan angka dapat berakibat tidak atau kurang
mencerminkan model yang sebenarnya. Perhitungan menggunakan computer
dapat membantu menghindarkan penyederhanaan tersebut dan dapat dengan cepat
dilakukan perhitungan.
 Animasi dan plot dapat dilakukan untuk memberikan gambaran dan karakteristik
masalah.

Beberapa contoh:
Hukum gas ideal:
PV  nRT
P: tekanan
V: volume
n: jumlah/banyaknya mole
R: konstanta gas
T: temperatur

Hubungan tersebut digunakan secara luas karena bentuknya yang sederhana dan mudah
digunakan. Tentunya dengan kondisi P dan T dalam selang tertentu, dan keberlakuannya
terbatas pada gas tertentu saja.

Model van der Waals dapat berlaku lebih umum, berbentuk


 a
 P  2   v  b   RT
 v 
v=V/n sebagai mole volume
a, b konstanta empiric bergantung pada gas

Bentuk van der Waals dapat diuraikan menjadi


 a ab 
Pv   Pb   2   RT
 v v 
Model gas ideal merupakan bentuk khusus dari van der Waals, suku dalam kurung
diabaikan.

2
L.H. Wiryanto

Terapkan model di atas pada perhitungan berikut:


Tentukan mole-volume dari suatu zat dengan kondisi R=0.082054, a=3.592, b=0.04267;
dan diukur pada P=1 atm dan T=300K. Kemudian ulangi perhitungan pada P=10, T=500.

Dengan menggunakan model van der Waals, masalah yang kita hadapai merupakan
persamaan (polinon) derajat 5, disederhanakan menjadi derajat 3, dengan koefisien yang
tidak sederhana
Pv5  bPv 4  av3  (ab  RT )v 2  0

Perhitungan gaya dalam struktur:


Perhatikan bentuk struktur dari 3 titik seperti pada gambar dengan gaya-gaya yang
bekerja. F1, F2, F3 menyatakan gaya tegang pada penopang, H2, V2 dan V3 merupakan
gaya reaksi dari luar. Bila pada titik 1 diberi beban seberat 1000, hitung gaya-gaya yang
ada.

1000
1

F1 F3

H2 2 30 60 3
F2
V2
V3

Dengan menggunakan prinsip kesetimbangan gaya, tinjau kesetimbangan gaya pada


setiap titik (horizontal dan vertical)
Titik 1:
Jumlah gaya horizontal harus nol. Dengan memproyeksikan F1 dan F3 pada sumbu datar
diperoleh
 F1 cos30o  F3 cos 60o  0  0.866F1  0.5F3  0
dengan cara yang sama, untuk gaya vertical,
 F1 sin 30o  F3 cos 60o  1000  0  0.5F1  0.866 F3  1000

Titik 2:
Gaya horizontal
F2  F1 cos30o  H 2  0  0.866F1  F2  H 2  0

3
L.H. Wiryanto

Gaya vertical
F1 sin 30o  V2  0  0.5F1  V2  0

Titik 3:
Gaya horizontal
 F2  F3 cos 60o  0   F2  0.5F3  0
Gaya vertical
F3 sin 60o  V3  0  0.866F3  V3  0

Enam persamaan di atas dapat dinyatakan dalam bentuk matrik

 0.866 0 0.5 0 0 0   F1   0 
    
 0.5 0 0.866 0 0 0   F2   1000 
 0.866 1 0 1 0 0   F3   0 
     
 0.5 0 0 0 1 0   H 2   0 
 0 1 0.5 0 0 0   V2   0 
    
 0 0 0.866 0 0 1  V3   0 

Selanjutnya, bagaimana kita menyelesaikan SPL ini, mengingat matrik yang ada cukup
besar dibanding soal-soal yang selam ini diberikan pada aljabar linear dan angka yang
terlibat dalam matrik berupa bilangan real, tidak semua bulat. Untuk titik yang lebih
banyak, kita akan mendapatkan ukuran matrik yang lebih besar lagi. Contoh
permasalahan ini diharapkan memberi motivasi untuk mengetahui alternative
penyelesaian melalui numerik.

Algoritma
Prosedure yang terdiri dari serangkaian operasi, yang mempunyai arti tunggal, yang
dipakai untuk menyelesaikan sebuah masalah.
Karakteristik algoritma:
 Tiap langkah harus didefiniskan dengan persis sehingga mempunyai arti yang
jelas dan maksud yang tunggal
 Harus sampai pada solusi setelah berhingga langkah
 Bersifat umum, algoritma untuk sebuah SPL harus dapat digunakan untuk ukuran
berapapun (berhingga).
Penulisan:
 Flow chart: dalam bentuk diagram
 Pseudocode: dalam bentuk kalimat
Komponen Algoritma
 Input
 Output
 Langkah, berupa perintah atau perhitungan

Contoh:

4
L.H. Wiryanto

1. Buat algoritma untuk menghitung jumlah keseluruhan angka yang diberikan


a1 , a2 , , an  .
Masukan: n
a[i], i=1,2,…, n
Keluaran: D
Langkah:
1. D:=0
2. untuk i=1,n
D:=D+a[i]

2. Buat algoritma untuk menentukan bilangan terbesar dari bilangan positip


a1 , a2 , , an 
Masukan: n
a[i], i=1,2,…, n
Keluaran: amax
Langkah:
1. amax:=0
2. untuk i:=1,n
jika amax<a[i] maka amax:=a[i]

3. Buat algoritma untuk mengurutkan bilangan a1 , a2 , , an  dari yang terkecil


sampai terbesar
Masukan: n
a[i], i=1,2,…, n
Keluaran: {a[i], i:=1,n} dengan a[i]<a[i+1]
Langkah:
1. Untuk i:=1,n-1
2. Untuk j:=i+1,n
3. Jika a[i]>a[j] maka b:=a[i], a[i]:=a[j], a[j]:=b
4. Tuliskan a[i]

Terkait algoritma mengurutkan bilangan (nomer 3), berikut program dalam Fortran
program increasing
implicit double precision (a-h,o-z)
dimension a(50)
print *, 'Banyaknya bilangan n'
read *, n
c data diberikan
print *,'Masukkan bilangan yang diurutkan'
do 1 i=1,n
read *,a(i)
1 continue
do 2 i=1,n-1
do 3 j=i+1,n

5
L.H. Wiryanto

if(a(i) .ge. a(j)) then


b=a(i)
a(i)=a(j)
a(j)=b
endif
3 continue
print 7, a(i)
2 continue
print 7, a(n)
7 format(f12.5)
stop
end

Buat program dalam bahasa pemrograman yang Anda kuasai seperti diatas, kemudian
terapkan pada bilangan {0, 0.5, 0.7, 0.56, 4.3, 0.1, -30.2, 10.6, 3.4, -33.2}

Galat/error/kesalahan:
Perbedaan nilai dari besaran yang dihitung secara eksak dan hampiran.
E  x  x * , kesalahan mutlak dari nilai eksak x, x* sebagai hampiran
x  x*
e , kesalahan relative.
x
Dalam hal |E|<<x, sering digunakan kesalahan relative e.

Bandingkan hasil perhitungan berikut


1. x=3.141592, x*=3.14
E=0.001592
e=0.000507

2. y=2 000 000, y*=2 000 004


E=-4
e=0.00002

3. z=0.000012, z*=0.000015
E=-0.000003
e=0.25
Contoh no 1 dan 2 lebih baik menggunakan e, sedangkan no 3 menggunakan E.

Dua macam galat


Pemotongan:
Sebagai aki bat pemotongan rumus matematika untuk menghampiri nilai besaran

Contoh:
Untuk menghitung sin(0.1), kita gunakan deret Mc Laurin
x3 x5 x 7
sin x  x    
3! 5! 7!

6
L.H. Wiryanto

Dalam perhitungan, hanya mampu dijumlahkan sampai suku tertentu, misalnya sampai 3
suku pertama
0.13 0.15
sin 0.1  0.1  
3! 5!
7
x
Kesalahan pemotongan: R5 ( x)  untuk 0<x<0.1.
7!
Pembulatan:
Kesalahan akibat pembulatan bilangan, terkait dengan kemampuan alat dalam
menyimpan data.

Contoh:
Bila kita menyimpan angka 2/3=0.666666… pada alat yang mempunyai kemampuan
menyimpan sampai 5 angka decimal, maka angka yang disimpan 0.66667. Terjadi
pembulatan.

Kesalahan ini akan merambat dalam proses perhitungan. Misalkan x dan y dihampiri
dengan x* dan y*, kesalahan masing-masing Ex=x-x*, Ey=y-y*, maka perhitungan (x+y)
mempunyai kesalahan
Ex  y  Ex  E y
Begitu juga dengan operasi (x-y). Untuk perkalian berlaku
xy   Ex  x *  E y  y *  x * y *   x * E y  y * Ex   Ex E y
Kesalahan perambatan sebesar x*Ey+y*Ex

Untuk kesalahan perambatan berdasar kesalahan relative dapat diperoleh sebagai berikut
x  x* x*
1. ex  x
x 1  ex

 xy 1  (ex  ey )  ex ey   x * y *
x* y* x* y*
2. xy  
1  ex 1  ey 1  (ex  ey )  ex ey
xy  x * y *
3. Kesalahan perambatan relative sebesar exy   ex  ey  ex ey , tetapi
xy
ex ey  ex  ey , jadi exy  ex  ey

Galat pembulatan dalam suatu perhitungan kadang dapat diperkecil dengan mengubah
urutan perhitungan, seperti pada contoh berikut. Kita gunakan perhitungan sampai 4
desimal.
 
Diberikan f ( x)  x x  1  x , hitung f(500).

Secara langsung f (500)  500  


501  500  500  22.3830  22.3607   11.1500
Kita dapat menuliskan fungsi semula menjadi
x
f ( x)  g ( x) 
x 1  x
Dan menghitung

7
L.H. Wiryanto

500 500
g (500)    11.1748
501  500 44.7437
Sedangkan nilai eksaknya g (500)  11.1747553...
Hal ini sesuai dengan analisa sebelumnya bahwa galat pengurangan dua bilangan, yang
hampir sama, akan semakin mengecil karena Ex  y  Ex  E y .

Akar Persamaan
Permasalah dalam bab ini secara umum adalah menentukan x agar memenuhi f(x)=0,
untuk suatu fungsi y=f(x). Oleh karena itu bila diminta menyelesaikan g(x)=h(x), kita
dapat menyatakan f(x)=g(x)-h(x).

Dua kelompok metoda:


 Pengurung: akar berada dalam suatu selang interval dan diharapkan interval
semakin sempit untuk menjepit akar.
 Terbuka: akar tidak selalu berada dalam interval.
Keuntungan dan kerugian dari kedua kelompok akan diamati setelah kita berkenalan
dengan metoda-metoda yang ada.

Metoda bagi dua


Misalkan f(x) suatu fungsi kontinu pada selang (a,b) dengan akar r, yang belum diketahui
dan r berada di dalam (a,b).

Ide metoda:
 Tetapkan a dan b agar berlaku f(a)f(b)<0. Hal ini dapat dilakukan dengan melihat
dari kurva fungsi atau menghitung nilai fungsi pada beberapa nilai x.
Teorema nilai antara menjamin adanya akar r berada di dalam (a,b) sehingga
f(r)=0, dan dimungkinkan lebih dari satu, lihat ilustrasi pada Gambar 1.1a dan
1.1b, akan tetapi kita hanya meninjau untuk selang yang mempunyai satu akar.

a r b a r1 r2 r3 b

(a) (b)
Gambar 1.1: Plot fungsi kontinu pada (a,b), (a) mempunyai satu akar dan (b) mempunyai tiga akar.

8
L.H. Wiryanto

 Dari selang (a,b) kita tetapkan c=(a+b)/2, sebagai titik tengah selang (a,b) dan
dimungkinkan akar berada pada (a,c) atau (c,b).
 Periksa selang apakah f(a)f(c)<0 atau f(c)f(b)<0 atau f(c)=0.
 Untuk kasus pertama atau kedua kita peroleh lebar selang yang lebih kecil, dan
proses di atas dapat diulang kembali. Sedangkan kasus ketiga iterasi selesai, kita
peroleh akar secara eksak.
 Proses iterasi bisection diakhiri bila a atau b cukup dekat dengan c, dengan
memberikan kondisi |a-c|<tol atau |b-c|<tol, dengan tol bilangan kecil sebagai
toleransi kesalahan dalam perhitungan di sini.

Kita formulasi proses iterasi di atas dengan menggunakan indek.


 Pada awalnya kita mempunyai selang (a0,b0) dan kita hitung c0=(a0+b0)/2.
 Andaikan akar berada pada (a0,c0). Kita gunakan notasi a1=a0, b1=c0, sehingga
akar berada pada (a1,b1). Lebar selang b1-a1=(a0+b0)/2 –a0=(b0-a0)/2
 Hitung c1=(a1+b1)/2, akar berada pada (a2,b2), lebar selang
a b b a b a
b2  a2  c1  a1  1 1  a1  1 1  0 2 0
2 2 2
 Proses perhitungan di atas diulang, sehingga pada iterasi ke-k diperoleh selang
b a
(ak , bk ) dengan lebar selang bk  ak  0 k 0 . Karena r berada pada selang
2
(ak , bk ) , maka
| b  ak | b0  a0
| ck  r | k  k 1
2 2
 Bila k   diperoleh ck  r . Jadi kita mempunyai barisan ck  yang dijamin
konvergen ke r, atau metoda bagi dua menjamin iterasi konvergen. Metoda ini
termasuk dalam metoda pengurung, karena akarnya selalu berada di dalam selang
yang semakin lama semakin sempit.

Algoritma

Masukkan: f(x) fungsi yang dicari akarnya


a, b sebagai tebakan awal atau batas selang
tol: batas kesalahan yang diperkenankan
Keluaran: r akar dari fungsi f(x)
Langkah:
1. fa:=f(a), fb:=f(b)
2. Jika fa*fb>0 proses gagal, stop
3. c:=(a+b)/2; fc:=f(c)
4. Jika fa*fc<=0 maka b:=c, fb=fc,
Jika-tidak a:=c, fa:=fc
endif
5. Jika (b-a)<tol maka akar r=c, selesai,
Jika-tidak kembali ke 3.

9
L.H. Wiryanto

Contoh:
Untuk menentukan akar dari x x  2  0 , gunakan metoda bagi-dua dengan memberikan
contoh perhitungan 2 kali.

Jawab:
Tuliskan f ( x)  x x  2 dan kurva dari fungsi seperti pada gambar, sehingga kita dapat
menebak bahwa akar berada pada selang [1,2]. Metoda bisection (bagi dua) dapat
digunakan dengan
Perhitungan ke 1:
 a=1, b=2, dan f(1)=-1, f(2)= 0.828427124
 c=(a+b)/2=1.5 dan f(1.5)= −0.162882695, aka r berada diantara 1.5 dan 2
Perhitungan ke 2
 Selang yang baru a=1.5, b=2, dan c=(1.5+2)/2=1.75. Nilai fungsi f(1.75)=
0.315032400. Jadi akar berada diantara 1.5 dan 1.75
 Proses diulangi kembali dengan a=1.5, b=1.75 dan seterusnya.

Metoda posisi palsu (Regula false)


Metoda ini serupa dengan metoda bagi dua, bedanya adalah dalam menentukan titik c,
melalui perpotongan garis, yang dibentuk dari dua titik awal, dengan sumbu x. Berikut
langkah-langkah pengerjaannya.
 Misalkan f(x) fungsi kontinu pada (a,b) dan akar berada pada selang tersebut,
yaitu f(a)*f(b)<0
 Buat garis yang menghubungkan (a,f(a)) dan (b,f(b)). Garis tersebut memotong
sumbu x (lihat Gambar 1.2) pada
ba
c  b  f (b)
f (b)  f (a)
 Akar fungsi akan terjepit pada salah satu dari (a,c) atau (c,b). Proses penentuan c
dapat diteruskan.

10
L.H. Wiryanto

y=f(x)

a c b

Gambar 2: Ilustrasi proses metoda regula false.

 Penghentian iterasi dilakukan dengan cara yang berbeda dengan metoda bisection,
yaitu
|c c |
| ck 1  ck | tol atau k 1 k  tol
| ck 1 |
Mengapa tidak dapat dilakukan seperti pada metoda sebelumnya?

Algoritma
Masukan : f(x)
a, b tebakan awal
tol batas toleransi kesalahan
Keluaran : r akar dari f(x)=0
Langkah:
1. fa:=f(a), fb:=f(b)
2. Jika fa*fb>0 maka proses gagal, selesai
3. cl:=2b-a, sebagai nilai awal untuk proses penghentian
4. c:=b-fb(b-a)/(fb-fa)
5. fc:=f(c)
6. Jika fa*fc<=0 maka b:=c, fb:=fc
else a:=c, fa:=fc endif
7. del:=|c-cl|, cl:=c
8. Jika del<tol maka akar r:=c, selesai
Jika-tidak kembali ke 4

Untuk menentukan nilai awal a dan b, kita dapat lakukan dengan


 Membuat table x, f(x) dengan perbedaan x yang sama. Nilai f(x) yang berbeda
tanda dapat dipilih sebagai nilai tebakan awal
 Membuat grafik dari y=f(x) dengan bantuan computer untuk mengetahui pada
daerah mana f(x) memotong sumbu x. Kadang kala melihat grafik y=f(x) tidak
tampak dengan jelas, untuk itu dapat digunakan dua fungsi f(x)=h(x)-g(x), dan
akar dari y=f(x) sebagai perpotongan h(x) dan g(x).

11
L.H. Wiryanto

Contoh:
Untuk menentukan akar dari x x  2  0 , gunakan metoda regula false dengan
memberikan contoh perhitungan 2 kali.

Jawab:
Tuliskan f ( x)  x x  2 dan kita tentukan akar yang berada pada selang [1,2]. Metoda
regula false dapat digunakan dengan
Perhitungan ke 1:
 a=1, b=2, dan f(1)=-1, f(2)= 0.828427124
 c=2-f(2)(2-1)/(f(2)-f(1))= 1.546918161 dan f(c)= −0.076017987, akar berada
diantara c dan b
Perhitungan ke 2
 Selang yang baru a=1.546918161, b=2, dan c=b-f(b)(b-a)/(fb-fa)= 1.584999377.
Nilai fungsi f(c)= −0.004537163 0. Jadi akar berada diantara c dan b.
 Proses diulangi kembali dengan a=1.584999377, b=2 dan seterusnya (Kapan
perhitungan dihentikan?).

Latihan:
Perhatikan kurva f ( x)  sin x  cos( x 2  1)  1 pada Gambar 1.3 di bawah.
 Tentukan selang (a,b) untuk menghitung akar terkecil dari f(x)=0.
 Kemudian terapkan pada metoda bisection (bagi dua) dan juga metoda regula
false untuk menentukan akar f(x)=0. Dalam menghitung sinus dan cosinus
gunakan x dalam satuan radian.
 Amati apa yang terjadi bila proses penghentian pada metoda regula false dibuat
sama dengan netoda bagi dua.

Gambar 1.3: Plot f ( x)  sin x  cos( x 2  1)  1 pada selang [-2,3].

12
L.H. Wiryanto

Metoda Modifikasi Regula False


Sesuai dengan namanya, metoda ini serupa dengan regula false. Perbedaannya terdapat
pada penentuan titik dalam membuat garis. Bila salah satu titik tidak berubah dalam dua
kali iterasi, maka nilai fungsinya dilakukan penggeseran. Penjelasan tersebut langsung
diterapkan pada algoritma berikut.

Algoritma
Masukan : f(x)
a, b tebakan awal
tol batas toleransi kesalahan
Keluaran : r akar dari f(x)=0
Langkah:
1. fa:=f(a), fb:=f(b)
2. Jika fa*fb>0 maka proses gagal, selesai
3. cl:=2b-a, sebagai nilai awal untuk proses penghentian
4. Kiri:=0, Kanan:=0
5. c:=b-fb(b-a)/(fb-fa)
6. fc:=f(c)
7. Jika fa*fc<=0 maka b:=c, fb:=fc, Kanan:=0, Kiri:=Kiri+1, Jika Kiri>=2
maka fa:=fa/2
8. else a:=c, fa:=fc, Kiri:=0, Kanan:=Kanan+1, Jika Kanan>=2 maka
fb:=fb/2 endif
9. endif
10. del:=|c-cl|, cl:=c
11. Jika del<tol maka akar r:=c, selesai
12. Jika-tidak kembali ke 5

Metoda Newton Raphson


 Metoda ini menggunakan satu nilai tebakan awal, seperti diilustrasikan pada Gambar
1.4.
 Misalkan f(x) fungsi kontinu dan x0 tebakan awal terhadap akar
 Buat garis singgung pada y=f(x) di titik (x0,f(x0))
 Bila f '( x0 )  0 , garis singgung memotong di
f ( x0 )
x1  x0 
f '( x0 )
 Ulangi proses di atas dengan garis singgung y=f(x) melalui (x1,f(x1)), sehingga
diperoleh rumus iterasi
f ( xk )
xk 1  xk  , k  0,1, 2,
f '( xk )

Catatan:
i. garis singgung dari y=f(x) melalui (x0,f(x0)) adalah
y  f ( x0 )  f '( x0 )  x  x0 
Perpotongan dengan sumbu x terjadi dengan memasukkan y=0, sehingga diperoleh

13
L.H. Wiryanto

f ( x0 )
x  x0 
f '( x0 )
Metoda ini jauh lebih cepat dibandingkan dengan metoda-metoda sebelumnya.
ii. Bila  xk  barisan dari hasil iterasi Newton yang konvergen ke p, maka limit pada
rumus iterasi memberikan bahwa p akar dari f, seperti yang ditunjukkan di bawah.
 f ( xk ) 
lim xk 1  lim  xk  
k  k 
 f '( xk ) 

p  p
   f ( p)  0
f lim xk
k 

f '  lim x 
k
k 

iii. Sebagai criteria penghentian iterasi dapat digunakan | xk 1  xk | tol


iv. Beberapa sebab iterasi tidak konvergen
 Terjadinya f '( x)  0 atau hampir nol
 Terjadi proses siklik (lihat Gambar 1.5a)
 Iterasi divergen (lihat Gambar 1.5b)

y=f(x)

x0
x1

Gambar 1.4: Ilustrasi metoda Newton Raphson

14
L.H. Wiryanto

x1 x0
x0 x1

(a) (b)
Gambar 1.5 Ilustrasi metoda Newton yang memberikan iterasi divergen, (a) karena siklik, (b) divergen

Metoda secant (talibusur)


 Metoda ini serupa dengan metoda modifikasi regula false dengan menggunakan
dua nilai awal yang tidak harus mengapit akar.
 Metoda ini sama cepatnya dengan metoda Newton
 Proses pada iterasi tidak memerlukan perhitungan turunan
Metoda:
Hendak ditentukan akar f(x)=0 dengan dua titik awal (p0,f(p0)) dan (p1,f(p1)). Untuk itu,
buat garis melalui kedua titik dan teruskan sampai memotong sumbu x di p2, lihat
Gambar 1.6.

p0 p1

p2

Gambar 1.6: Skema metoda secant.

 Dari 2 titik yang diketahui, kemiringan garis


f ( p1 )  f ( p0 )
m
p1  p0
 Sedangkan dari dua titik berikutnya, kemiringan garis
f ( p2 )  f ( p1 )
m
p2  p1
 Dengan menyamakan kedua kemiringan dan memberikan f(p2)=0, maka
f ( p1 )  p1  p0 
p2  p1 
f ( p1 )  f ( p0 )

15
L.H. Wiryanto

 Ulangi proses perhitungan di atas dengan (p1,f(p1)) dan (p2,f(p2)), dan seterusnya
maka diperoleh rumus iterasi
f ( pk )  pk  pk 1 
pk 1  pk  , k  1, 2,
f ( pk )  f ( pk 1 )

Metoda titik tetap


Untuk menentukan akar dari f(x)=0, kita dapat menuliskan f menjadi x=g(x) dengan
g(x)=f(x)+x. Secara geometri akar dari f(x)=0 dinyatakan sebagai perpotongan antara y=x
dan y=g(x), dan selanjutnya rumus iterasinya
pk 1  g ( pk ), k  0,1,
Barisan bilangan  pk  yang konvergen ke akar persamaan dapat terjadi seperti pada
Gambar 1.7. Metoda ini dijamin konvergen bila
 g : (a, b)  [a, b] , menjamin limit barisan ada
 | g '( x) | K  1 pada x  (a, b) , menjamin limitnya tunggal

Hal ini dapat ditunjukkan melalui teorema nilai rata-rata yang menjamin adanya
c  (a, b) sehingga
g (b)  g (a)
g '(c) 
ba
g '( x) ada untuk g  C[ a ,b ] .
Kemudian r sebagai akar berlaku
| r  p1 || g (r )  g ( p0 ) || g '(c) || r  p0 || r  p0 |
Jarak p1 ke r menjadi lebih dekat dibanding p0 ke r. Secara umum, setelah k iterasi
berlaku
| r  pk | K | r  pk 1 | K 2 | r  pk 2 |  K k | r  p0 |
dan  pk  berada pada (a,b). Dengan mengambil k   diperoleh lim | r  pk | 0 .
k 

y=x

y=g(x)

y=g(x)

x0 x1 x0 x1
y=x

Gambar 1.7. Dua macam iterasi titik tetap yang menghasilkan perhitungan konvergen.

16
L.H. Wiryanto

Analisa kekonvergenan dari metoda titik tetap tersebut selanjutnya diterapkan pada
metoda Newton untuk mendapat syarat berlakunya iterasi pada metoda Newton, yaitu
iterasi pada metoda Newton dijamin konvergen untuk f  C[2a ,b ] dengan r  (a, b) , dan
disyaratkan p0 dekat ke r.

Bukti dapat diturunkan dengan menggunakan deret Taylor


( x  p0 ) 2
f ( x)  f ( p0 )  f '( p0 )( x  p0 )  f ''(c)
2
dengan c antara x dan p0. Untuk x=r, diperoleh
(r  p0 ) 2
0  f ( p0 )  f '( p0 )(r  p0 )  f ''(c)
2
Sekarang tinjau p0 dekat ke r. Suku ketiga akan menjadi lebih kecil dibanding dua suku
lainnya, sehingga dapat diabaikan, dan juga f ''(c) terbatas pada selang sempit. Jadi
diperoleh
f ( p0 )
f ( p0 )  f '( p0 )(r  p0 )  0  r  p0 
f '( p0 )
sesuai rumus iterasi.

f ( x)
Untuk kekonvergenan, kita tuliskan g ( x)  x  sebagai ganti barisan  pk  .
f '( x)
Kemudian turunan
f '( x)2  f ( x) f ''( x) f ( x) f ''( x)
g '( x)  1  
f '( x)2 f '( x) 2
dihitung pada x=r, yang memberikan nilai nol karena r sebagai akar dari f. Selain itu, g '
juga kontinu karena disyaratkan f  C[2a ,b ] , maka ada selang kecil yang memuat r
sehingga berlaku | g '( x) | 1 . Menurut iterasi titik tetap barisan  pk  dijamin konvergen
dan tunggal.

Berikut ini diberikan contoh perhitungan terkait menentukan akar f ( x)  1  x sin x pada
selang [0,2]. Lebih dahulu kita buat plot f untuk mengetahui posisi akar secara
keseluruhan, Gambar 1.8, dan kemudian kita persempit pada selang [0,2], Gambar 1.9,
menggunakan MAPLE.

Untuk menggunakan metoda iterasi titik tetap, kita bentuk fungsi g ( x)  1  x sin( x)  x
yang dipotongkan dengan y  x . Plot fungsi diberikan pada Gambar 1.10 untuk selang
yang lebar dan Gambar 1.11 untuk selang [0,2].

17
L.H. Wiryanto

Gambar 1.8: Plot f ( x)  1  x sin( x) pada selang [-10,10]

Gambar 1.9: Plot f ( x)  1  x sin( x) pada selang [0,2]

18
L.H. Wiryanto

Gambar 1.10: Plot g ( x)  1  x sin( x)  x dan y  x

Gambar 1.11: Plot g ( x)  1  x sin( x)  x dan y  x pada selang [0,2]

Program perhitungan diberikan pada bagian bawah ini:

C Metoda iterasi titik tetap:


C Menyelesaikan akar persamaan f ( x)  1  x sin( x) pada selang [0,2]
C dengan p0  0 dan toleransi kesalahan error= 107
program iterasi
open(11, file='iterasi.dat')
xtol=0.0000001
n=1
po=0.0

19
L.H. Wiryanto

1 pl=po
pn=1.0-pl*sin(pl)+pl
er=abs(pl-pn)
po=pn
print 2,n,pn,er
write(11,2) n,pn,er
n=n+1
if(n .gt. 50) er=0.0
if(er .gt. xtol) goto 1
2 format(i5,3x,f13.8,3x,f13.9)
close(unit=11)
stop
end

Hasil perhitungan menggunakan nilai awal p0 yang berbeda

p0  0.0 p0  3.0
n pn | pn  pn 1 | 1 3.57664000 .576640000
2 6.08402600 2.507386000
1 1.00000000 1.000000000 3 8.28772100 2.203694000
2 1.15852900 .158529000 4 1.76743700 6.520284000
3 1.09706800 .061461350 5 1.03406100 .733375800
4 1.12081600 .023748560 6 1.14540700 .111345500
5 1.11157100 .009245431 7 1.10208100 .043325980
6 1.11516300 .003592272 8 1.11886000 .016779390
7 1.11376600 .001397008 9 1.11233000 .006530353
8 1.11430900 .000543126 10 1.11486800 .002537966
9 1.11409800 .000211168 11 1.11388100 .000986949
10 1.11418000 .000082036 12 1.11426500 .000383688
11 1.11414800 .000031869 13 1.11411500 .000149250
12 1.11416100 .000012335 14 1.11417300 .000058029
13 1.11415600 .000004718 15 1.11415100 .000022598
14 1.11415800 .000001905 16 1.11416000 .000008858
15 1.11415700 .000000744 17 1.11415600 .000003393
16 1.11415700 .000000249 18 1.11415700 .000001243
17 1.11415700 .000000082 19 1.11415700 .000000413
20 1.11415700 .000000084

Bandingkan hasil perhitungan menggunakan metoda titik tetap dengan metoda lain,
diberikan pada table berikut.
Program bisection untuk f(x)=1-xsin(x)

program bisection
xtol=0.0000001

20
L.H. Wiryanto

open(11, file='bsection.dat')
n=1
a=2.0
b=4.0
1 c=(a+b)/2.0
fa=1.0-a*sin(a)
fb=1.0-b*sin(b)
fc=1.0-c*sin(c)
if(fa*fb .gt. 0.0) n=55
if(fa*fc .lt. 0.0) then
b=c
else
if(fb*fc .lt. 0.0) then
a=c
endif
endif
print 2,n,c,fc
write(11,2) n,c,fc
n=n+1
er=abs(fc)
if(n .gt. 50) er=0.0
if(er .gt. xtol) goto 1
2 format(i3,1x,f10.8,1x,f10.8)
close(unit=11)
stop
end

Program regula false untuk f(x)=1-xsin(x)


program rfalsi
xtol=0.000001
open(11,file='rfalsi.dat')
n=1
a=0.0
b=1.0
1 fa=1.0-a*sin(a)
fb=1.0-b*sin(b)
c=b-fb*(a-b)/(fa-fb)
fc=1.0-c*sin(c)
if(fa*fb .gt. 0.0) n=55
if(fa*fc .lt. 0.0) then
b=c
else
if(fb*fc .lt. 0.0) then
a=c

21
L.H. Wiryanto

endif
endif
print 2,n,a,c,b,fc
write(11,2) n,a,c,b,fc
n=n+1
if(n .gt. 50) fc=0.0
if(abs(fc) .gt. xtol) goto 1
2 format(i3,4(1x,f10.8))
close(unit=11)
stop
end

22
L.H. Wiryanto

Menyelesaikan akar persamaan f ( x)  1  x sin( x) pada selang [0,2]


dengan toleransi kesalahan error= 106
Metoda bisection Metoda regula falsi
n c f(c) a c b f(c)
1 .75000000 .48877090 1.09975000 1.09975000 2.00000000 .02001922
2 1.12500000 -.01505104 1.09975000 1.12124100 1.12124100 -.00983461
3 .93750000 .24429900 1.09975000 1.11416100 1.11416100 -.00000568
4 1.03125000 .11524750 1.09975000 1.11415700 1.11415700 -.00000005
5 1.07812500 .05009369
6 1.10156300 .01749987
Metoda Newton dengan po  1.3
7 1.11328100 .00121649
8 1.11914100 -.00691958 pn f(pn)
9 1.11621100 -.00285208 1.10734800 .00945891
10 1.11474600 -.00081792 1.11415500 .00000240
11 1.11401400 .00019925 1.11415700 -.00000005
12 1.11438000 -.00030934
13 1.11419700 -.00005505 Metoda Newton dengan po  2.0
14 1.11410500 .00007210 -8.63058400 -5.15618600
15 1.11415100 .00000853 -9.59697100 2.64437700
16 1.11417400 -.00002326 -9.32227000 .04606676
17 1.11416200 -.00000737 -9.31724700 .00003729
18 1.11415700 .00000058 -9.31724300 .00000003
19 1.11416000 -.00000339
20 1.11415800 -.00000141
Metoda secant dengan po  2.0 , p1  1.0
21 1.11415700 -.00000041
pn f(pn)
1.16224000 -.06658278
1.11425400 -.00013384
1.11415700 .00000041

Soal Latihan:
1. Sebuah tangki berbentuk silinder, diletakkan mendatar, dengan jari-jari r  2 dan
panjang L  5 . Jika tangki tersebut diisi air sebesar V  8 , tentukan tinggi
permukaan air di dalam tangki. Hubungan volume dan tinggi permukaan berbentuk
  r h 2
V   r 2 cos 1     r  h  2rh  h  L
  r  
Petunjuk: Tentukan lebih dahulu selang yang memuat akar, kemudian gunakan
metoda pengurung pada selang tersebut.

2. Tangki berbentuk bola dengan jari-jari r  1 diisi air sebanyak V  0.5 . Hitung
tinggi permukaan air h di dalam bola yang memenuhi persamaan
 h2  3r  h 
V
3

23
L.H. Wiryanto

h3   3V /  
menggunakan iterasi titik tetap h  , kemudian ulangi menggunakan
3r
h  3 3  rh2  V /   . Gunakan tebakan awal h0  2.0 dan   3.14159 . Jelaskan
apa yang Saudara peroleh.

24

Anda mungkin juga menyukai