Uploaded by syahputrad3

bab-2-penyelesaian-persamaan

advertisement
Komputasi Numerik Widjianto
release 2013 44 hal
1
Penyelesaian persamaan fungsi mencari titik potong dengan
sumbu variabel bebas.
Umumnya sukar diperoleh secara eksak.
Persamaan fungsi suatu gejala alam umumnya bilangan real.
 Sukar ditentukan akarnya!!!
Selain itu bentuk fungsinyapun sangat beragam, seperti
- fungsi eksponen,
- fungsi hiperbola,
- fungsi polinom, atau
- fungsi-fungsi rumit lainnya.
Komputasi Numerik Widjianto
release 2013 44 hal
2
Contoh persamaan keadaan gas sejati Van Der Wall
(p + a / v2)(v - b) = RT,
bentuk rumit hubungan antara p dan v  sukar diselesaikan untuk v
Kenyataannya nilai akar dari suatu persamaan dari gejala alam atau
rekayasa pengukuran harus ditemukan untuk keperluan tertentu.
Nilai sesungguhnya dapat diwakili dgn nilai pendekatan
dengan taraf kesalahan yang dapat ditoleransi.
Pencarian akar persamaan dilakukan dengan iterasi sampai
ditemukan nilai dengan kesalahan iterasi tertentu atau nol.
Nilai terakhir  dianggap mewakili nilai sesungguhnya.
Dua metode populer untuk menyelesaian persamaan fungsi:
- metode akolade (tertutup)
- metode terbuka.
Komputasi Numerik Widjianto
release 2013 44 hal
3
1. Metode Akolade (Tertutup)
Prinsip: akar suatu persamaan dapat diisolasikan pada suatu rentangan
dua nilai variabel dimana nilai fungsi yang dihasilkan berbeda tanda.
Jika terdapat dua nilai f(x1) dan f(x2) yang berbeda, f(x1).f(x2) < 0,
maka salah satu akar dari fungsi tersebut terletak antara x1 dan x2 .
Y
Metode akolade ada dua macam :
- metode bagi dua
- metode posisi palsu atau regula falsi.
f(x)
f(x1)
x1
akar
o
x2
X
f(x2)
Komputasi Numerik Widjianto
release 2013 44 hal
4
1.1 Metode Bagi Dua
Kapan berhenti???
Jika f(akar_n) = 0 atau
Disebut juga metode Bolzano
ei mencapai nilai tertentu.
Akar pendekatan  membagi dua interval yang dibentuk oleh nilai batas.
Langkahnya:
0. Tetapkan nilai batas bawah xb dan nilai batas atas xa,
1. Periksa apakah f(xb)*f(xa) <0. Jika tidak ulangi batasnya
2. akar1 = (xb + xa) / 2.
3. Jika f(akar1) = 0  proses selesai dan akar persamaan = akar1.
Jika tidak, tetapkan batas baru.
Jika f(xb).f(akar1) > 0 tukar xb dengan akar1
Y
f(x)
Jika f(xa).f(akar1) > 0 tukar xa dengan akar1.
akar1
akar2 = (akar1 + xa) / 2
atau
xa
akar2 = (xb + akar1) / 2.
4. Kesalahan relatif iterasi adalah:
ei = abs((akar2 - akar1) / akar2) x 100 %
5. Ulangi langkah 2.
Komputasi Numerik Widjianto
release 2013 44 hal
X
xb
akar2
5
Procedure BagiDua;
BEGIN
PROGRAM
Input batas bawah dan batas atas: xb, xa;
Input batas kesalahan iterasi: eibatas;
AkarDugaAwal := xb;
Cari nilai f(xb) dan f(xa);
IF (f(xb) = 0) THEN
begin akar := xb; tampilkan di listbox; exit; end
ELSE IF (f(xa) = 0) THEN
begin akar := xa; tampilkan di listbox; exit; end
ELSE IF (f(xb) * f(xa) > 0) THEN
begin hapus xa dan xb; Munculkan peringatan salah; exit; end
ELSE
Repeat
AkarDuga := (xb + xa ) / 2 ; Cari f(akarDuga);
IF (f(AkarDuga) = 0) THEN
begin Akar := AkarDuga; tampilkan di listbox; exit; end
ELSE IF f(AkarDuga) * f(xb) > 0 THEN xb := AkarDuga
ELSE xa := AkarDuga;
ei := abs((AkarDuga - AkarDugaAwal) / AkarDuga) * 100;
Akar := AkarDuga; Tampilkan akar dan kesalahan di listbox;
AkarDugaAwal := AkarDuga;
Until ei <= eiBatas;
Komputasi Numerik Widjianto
6
END PROC;
release 2013 44 hal
Contoh:
Gunakan metode bagi dua untuk mencari akar dari f(x) = e -x - x
dengan batas bawah = 0 dan batas atas = 2
serta batas kesalahan iterasi = 1 %.
Jawab:
xb = 0; xa = 2.
Periksa apakah batas-batas yang ada sudah memenuhi persyaratan
metode bagi dua, yaitu dengan menentukan nilai f(0) dan f(2).
f(0) = e-0 - 0 = 1 - 0 = 1.
f(2) = e-2 - 2 = 0,1353 - 2 = - 1,8647.
Ternyata f(0).f(2) = 1 . (-1,8647) = -1,8647 < 0.
Iterasi 1 :
akar1 = (xb + xa)/2 = (0 + 2)/2 = 1.
Periksa nilai f(1) = e-1 - 1 = 0,3679 - 1 = -0,6321.
Ternyata f(1) <> 0 dan sama tandanya dengan f(2).
Maka tukar nilai xa dengan nilai akar1. Jadi xb = 0 dan xa = 1.
Ambil salah satu nilai batas sebagai akar sebelumnya xb = 0.
Kesalahan iterasi = |(1 - 0) / 1 x 100 %| = 100 % > 1 %.
Komputasi Numerik Widjianto
release 2013 44 hal
7
Iterasi 2:
akar2 = (xb + xa) / 2 = (0 + 1) / 2 = 0,5.
Periksa nilai f(0,5) = e-0,5 - 0,5 = 0,6065 - 0,5 = 0,1065.
Ternyata f(0,5) <> 0 dan sama tandanya dengan f(0).
Maka tukar nilai xb dengan nilai akar2. Jadi xb = 0,5 dan xa = 1.
Kesalahan iterasi = |(0,5 - 1) / 0,5 x 100 % | = 100 % > 1 %.
Iterasi 3:
akar3 = (xb + xa) / 2 = (0,5 + 1) / 2 = 0,75.
Periksa nilai f(0,75) = e-0,75 - 0,75 = 0,4724 - 0,75 = -0,2776.
Ternyata f(0,75) <> 0 dan sama tandanya dengan f(1).
Maka tukar nilai xa dengan nilai akar3. Jadi xb = 0,5 dan xa = 0,75.
Kesalahan iterasi = |(0,75 - 0,5) / 0,75 x 100 % | = 33,33 % > 1 %.
Komputasi Numerik Widjianto
release 2013 44 hal
8
Iterasi 4:
akar4 = (xb + xa) / 2 = (0,5 + 0,75) / 2 = 0,6250.
Periksa nilai f(0,625) = e-0,625 - 0,625 = 0,5353 - 0,6250 = -0,0897.
Ternyata f(0,625) <> 0 dan sama tandanya dengan f(0,75).
Maka tukar nilai xa dengan nilai akar4. Jadi xb = 0,5 dan xa = 0,6250.
Kesalahan iterasi = |(0,6250 - 0,75) / 0,625 x 100 % | = 20 % > 1 %.
Iterasi 5:
akar5 = (xb + xa) / 2 = (0,5 + 0,625) / 2 = 0,5625.
Periksa nilai f(0,5625) = e-0,5625 - 0,5625 = 0,5698 - 0,5625 = 0,0073.
Ternyata f(0,5625) <> 0 dan sama tandanya dengan f(0,5).
Maka tukar nilai xb dengan nilai akar5. Jadi xb = 0,5625 dan xa = 0,625.
Kesalahan iterasi = |(0,5625 - 0,6250) / 0,5625 x 100 % | = 11,11 % > 1 %.
Komputasi Numerik Widjianto
release 2013 44 hal
9
Iterasi 6:
akar6 = (xb + xa) / 2 = (0,5625 + 0,625) / 2 = 0,5938.
Periksa nilai f(0,5938) = e-0,5938 - 0,5938 = 0,5523 - 0,5938 = -0,0415.
Ternyata f(0,5938) <> 0 dan sama tandanya dengan f(0,6250).
Maka tukar nilai xa dengan nilai akar6. Jadi xb = 0,5625 dan xa = 0,5938.
Kesalahan iterasi = |(0,5938 - 0,5625) / 0,5938 x 100 % | = 5,26% > 1%.
Iterasi 7:
akar7 = (xb + xa) / 2 = (0,5625 + 0,5938) / 2 = 0,5781.
Periksa nilai f(0,5781) = e-0,5781 - 0,5781 = 0,5609 - 0,5781 = -0,0172.
Ternyata f(0,5781) <> 0 dan sama tandanya dengan f(0,5938).
Maka tukar nilai xa dengan nilai akar7. Jadi xb = 0,5625 dan xa = 0,5781.
Kesalahan iterasi = |(0,5781 - 0,5938) / 0,5781 x 100 % | = 2,70 % > 1 %.
Komputasi Numerik Widjianto
release 2013 44 hal
10
Iterasi 8:
akar8 = (xb + xa) / 2 = (0,5625 + 0,5781) / 2 = 0,5703.
Periksa nilai f(0,5703) = e-0,5703 - 0,5703 = 0,5653 - 0,5703 = -0,0050.
Ternyata f(0,5703) <> 0 dan sama tandanya dengan f(0,5781).
Maka tukar nilai xa dengan nilai akar8. Jadi xb = 0,5625 dan xa = 0,5703.
Kesalahan iterasi = |(0,5703 - 0,5781) / 0,5703 x 100 % | = 1,37 % > 1 %.
Iterasi 9:
akar9 = (xb + xa) / 2 = (0,5625 + 0,5703) / 2 = 0,5664.
Periksa nilai f(0,5664) = e-0,5664 - 0,5664 = 0,5676 - 0,5664 = -0,0012.
Ternyata f(0,5664) <> 0 dan sama tandanya dengan f(0,5703).
Maka tukar nilai xa dengan nilai akar9. Jadi xb = 0,5625 dan xa = 0,5664.
Kesalahan iterasi = |(0,5664 - 0,5703) / 0,5664 x 100 % | = 0,69% < 1 %.
nilai pendekatan = 0,5664, taraf kesalahan iterasi relatif = 0,69 %.
Komputasi Numerik Widjianto
release 2013 44 hal
11
1.2 Metode Posisi Palsu (Regula Falsi)
Mirip dengan metode Bolzano.
Metode ini juga mensyaratkan batas bawah (xb) dan batas atas (xa)
yang memenuhi f(xb).f(xa) < 0.
Bedanya pada penentuan akar.
Akar pendekatan dilakukan dengan perbandingan seharga
antara nilai batas dengan nilai fungsi. (segitiga sebangun)
Proses pencarian nilai akar lebih cepat.
Komputasi Numerik Widjianto
release 2013 44 hal
12
Cara kerja:
0. Tentukan batas bawah xb dan batas atas xa.
1. Mencari titik potong antara garis hubung titik (xb,f(xb)) dan (xa,f(xa))
dengan sumbu variabel bebas (x).
2. Titik potong ini dianggap sebagai akar pendekatan diberi simbol xr.
3. Tentukan nilai f(xr) dan posisi xr terhadap xa dan xb seperti Bolzano.
4. Ulangi langkah 1 dengan titik (xb,f(xb)) atau (xa,f(xa)) yg telah diubah
nilainya terhadap xr.
Kesebangunan segitiga:
Y
xa,f(xa)
xr
xb
xa
xb,f(xb)
xb,f(xb)
baru
X
- f(xb)
--------xr - xb
f(xa)
= -------xa - xr
- f(xb) . (xa - xr) = f(xa) . (xr - xb)
xr.(f(xa) - f(xb)) = xb.f(xa) - xa.f(xb)
xr baru
xb.f(xa) - xa.f(xb)
xr = ----------------------f(xa) - f(xb)
Komputasi Numerik Widjianto
release 2013 44 hal
13
Procedure RegulaFalsi;
BEGIN
PROGRAM
Input batas bawah, batas atas dan batas iterasi: xb, xa, eibatas;
AkarDugaAwal := xb; Cari nilai f(xb) dan f(xa);
IF (f(xb) = 0) THEN
begin akar := xb; tampilkan di listbox; exit; end
ELSE IF (f(xa) = 0) THEN
begin akar := xa; tampilkan di listbox; exit; end
ELSE IF (f(xb) * f(xa) > 0) then
begin hapus xa dan xb; munculkan peringatan salah; exit; end
ELSE
Repeat
AkarDuga := ((xb * f(xa) – xa * f(xb)) / (f(xa) - f(xb)) ;
Cari nilai f(AkarDuga);
IF (f(AkarDuga) = 0) THEN
begin Akar := AkarDuga; tampilkan di listbox; exit; end
ELSE IF f(AkarDuga) * f(xb) < 0 THEN xa := AkarDuga
ELSE xb := AkarDuga;
ei := abs((AkarDuga - AkarDugaAwal) / AkarDuga) * 100;
Akar := AkarDuga; Tampilkan hasil di listbox;
AkarDugaAwal :=Komputasi
AkarDuga;
Cari nilai f(xb) dan f(xa) baru;14
Numerik Widjianto
release 2013 44 hal
Until ei <= eiBatas;
END Proc;
Contoh:
Gunakan metode regula falsi untuk menaksirkan akar persamaan
f(x) = e-x - x dengan batas bawah = 0, batas atas = 2 dan
batas kesalahan iterasi = 1 %.
Jawab:
xb = 0; xa = 2.
Periksa apakah batas-batas yang ada sudah memenuhi persyaratan.
f(0) = e-0 - 0 = 1 - 0 = 1.
f(2) = e-2 - 2 = 0,14 - 2 = - 1,8647.
Ternyata f(0).f(2) = 1 . (-1,8647) = -1,8647 < 0.  memenuhi persyaratan.
0 . (-1,8647) – 2 . (1)
Iterasi 1: akar1 = ------------------------------ = 0,6982
1,8647 - 1
Periksa nilai f(0,6982) = e-0,6982 - 0,6982 = 0,4975 - 0,6982 = -0,2007.
Ternyata f(1) <> 0 dan sama tandanya dengan f(2).
Maka tukar nilai xa dengan nilai akar1. Jadi xb = 0 dan xa = 0,6982.
Ambil salah satu nilai batas sebagai akar sebelumnya yaitu xb= 0,
Kesalahan iterasi = |(0,6982 - 0) / 0,6982| x 100 % = 100 % > 1 %
Komputasi Numerik Widjianto
release 2013 44 hal
15
Iterasi 2:
0.(-0,2007) - 0,6982.(1)
akar2 = --------------------------------0,2007 – 1
= 0,5815.
Periksa nilai f(0,5815) = e-0,5815 - 0,5815 = 0,5591 - 0,5815 = - 0,0224.
Ternyata f(1) <> 0 dan sama tandanya dengan f(2).
Maka tukar nilai xa dengan nilai akar1. Jadi xb = 0 dan xa = 0,5815.
Kesalahan iterasi = |(0,5815 - 0,6982) / 0,5815| x 100 % = 20,07 %.
0.(-0,0224) - 0,5815.(1)
Iterasi 3: akar3 = --------------------------------- = 0,5687.
-0,0224 – 1
Periksa nilai f(0,5687) = e-0,5687 - 0,5687 = 0,5662 - 0,5687 = -0,0025.
Ternyata f(1) <> 0 dan sama tandanya dengan f(2).
Maka tukar nilai xa dengan nilai akar1. Jadi xb = 0 dan xa = 0,5687.
Kesalahan iterasi = |(0,5687 - 0,5815 ) / 0,5687| x 100 % = 2,24 % > 1%.
Komputasi Numerik Widjianto
release 2013 44 hal
16
Iterasi 4:
0.(-0,0025) - 0,5815.(1)
akar4 = --------------------------------- = 0,5673.
-0,0025 – 1
Periksa nilai f(0,5673) = e-0,5673 - 0,5673 = 0,5670 - 0,5673 = - 0,0003.
Ternyata f(1) <> 0 dan sama tandanya dengan f(2).
Maka tukar nilai xa dengan nilai akar1. Jadi xb = 0 dan xa = 0,5815.
Kesalahan iterasi = |(0,5673 - 0,5687) / 0,5673 x 100 % = 0,25 % < 1%.
Proses selesai dalam 4 iterasi, dengan Bolzano 9 kali iterasi.
metode regula falsi mempunyai kecepatan iterasi yang lebih baik.
Hasil akar pendekatannya = 0,5673 dengan kesalahan iterasi 0,25 %.
dengan metode bagi dua = 0,5664 dengan kesalahan iterasi 0,69 %,
secara teknis kedua hasil tidak berbeda.
Komputasi Numerik Widjianto
release 2013 44 hal
17
2. Metode Terbuka
Dalam metode akolade harus ditentukan batas bawah dan atas
yang mengurung akar.
Kesulitan dalam menduga batas-batas tersebut.
Kesulitan dihilangkan dengan metode terbuka,
yang hanya perlu satu nilai duga awal.
Dapat mengalami divergensi yaitu pencarian akar menjauhi
nilai akar yang sesungguhnya.
Jika metode ini bersifat konvergen maka iterasinya lebih cepat
dibanding dengan metode akolade.
Terdapat 3 metode operasional:
-metode iterasi satu titik sederhana,
-metode Newton-Raphson dan
-metode Secant.
Komputasi Numerik Widjianto
release 2013 44 hal
18
2.1 Metode Iterasi Satu Titik
Kerja metode ini mengatur ulang bentuk fungsi f(x) = 0 sehingga:
- variabel bebas x diletakkan di ruas kiri dan
- variabel selain x terletak di sebelah kanan.
- Persamaan baru berbentuk : x = g(x)
x3 + 5 x + 3 = 0 dapat diubah menjadi x = - (x3 + 3) / 5.
Dari persamaan yang terakhir jika dikerjakan secara iterasi,
maka nilai x yang lama akan mengisi ruas kanan dan
nilai x yang baru dipegang oleh variabel x di ruas kiri.
Formula iterasinya dapat ditulis:
xi+1 = g(xi)
Bentuk f(x) = ln(x), f(x) = cos(x) ???
xi+1 = ln(xi) + xi
dan xi+1 = cos(xi) + xi
Kesalahan iterasinya:
diubah menjadi:
f(x) = ln(x)  x = ln(x) + x.
f(x) = cos(x)  x = cos(x) + x.
ei = |(xi+1 - xi) / xi+1| * 100%
Komputasi Numerik Widjianto
release 2013 44 hal
19
Procedure IterasiSatuTitik;
PROGRAM
BEGIN
Input akar awal: xi ;
Input batas kesalahan iterasi: eibatas;
Cari nilai f(xi);
if f(xi) = 0 then begin tampilkan akar = xi; exit ; end
else
Repeat
AkarDugaAwal := xi ;
xi = g(xi);
// mengubah fungsi....
Cari nilai f(xi);
If f(xi )=0 then begin tampilkan akar = xi; exit; end;
AkarDuga := xi ;
ei := abs ((AkarDuga - AkarDugaAwal ) / AkarDuga) * 100;
Tampilkan hasil di listbox;
Until ei < = eiBatas;
END PROC;
Komputasi Numerik Widjianto
release 2013 44 hal
20
Contoh:
Tentukan akar persamaan f(x) = e-x - x dengan iterasi satu titik dengan
titik awal x = 0 dan kesalahan iterasi batas 1%.
Jawab:
Persamaan f(x) = e-x - x dalam bentuk iterasi satu titik menjadi:
xi+1 = e-xi
Akar awal ditetapkan = 0,
Iterasi 1: Akar1 = e-0 = 1
Kesalahan iterasi = |(1 - 0) / 1| x 100 % = 100 %.
Iterasi 2: Akar2 = e-1 = 0,3679.
Kesalahan iterasi = |(0,3679 - 1 ) / 0,3679| x 100 % = 171,8 %.
Iterasi 3: Akar3 = e-0,3679 = 0,6922.
Kesalahan iterasi = |(0,6922 - 0,3679) / 0,6922| x 100 % = 46,9 %.
Komputasi Numerik Widjianto
release 2013 44 hal
21
Iterasi 4: Akar4 = e-0,6922 = 0,5005.
Kesalahan iterasi = |(0,5005 - 0,6922) / 0,5005| x 100 % = 38,3 %.
Iterasi 5: Akar5 = e-0,5005 = 0,6062.
Kesalahan iterasi = |(0,6062 - 0,5005) / 0,6062| x 100 % = 17,4 %.
Iterasi 6: Akar6 = e-0,6062 = 0,5454.
Kesalahan iterasi = |(0,5454 - 0,6062) / 0,5454| x 100 % = 11,2 %.
Iterasi 7: Akar7 = e-0,5454 = 0,5796.
Kesalahan iterasi = |(0,5796 - 0,5454) / 0,5796| x 100 % = 5,90 %.
Iterasi 8: Akar8 = e-0,5796 = 0,5601.
Kesalahan iterasi = |(0,5601 - 0,5796) / 0,5601| x 100 % = 3,48 %.
Iterasi 9: Akar9 = e-0,5601 = 0,5711.
Kesalahan iterasi = |(0,5711 - 0,5601) / 0,5711| x 100 % = 1,93 %.
Komputasi Numerik Widjianto
release 2013 44 hal
22
Iterasi 10: Akar10 = e- 0,5711 = 0,5648.
Kesalahan iterasi = |(0,5648 - 0,5711) / 0,5648| x 100 % = 1,11 %.
Iterasi 11: Akar11 = e- 0,5648 = 0,5685.
Kesalahan iterasi = |(0,5685 - 0,5648 ) / 0,5685| x 100 % = 0,65 %
Iterasi berhenti sampai akar ke 11 karena telah dicapai kesalahan
iterasi < 1 %.
Jadi akar pendekatannya = 0,5685 dengan kesalahan relatif 0,65 %.
Bandingkan hasil ini dengan metode bolzano dan regula falsi.
Akar dengan regula falsi = 0,5673 dengan kesalahan iterasi 0,25 %.
Akar dengan Bolzano = 0,5664 dengan kesalahan iterasi 0,69 %,
Ketiga nilai tidak berbeda secara teknis.
Komputasi Numerik Widjianto
release 2013 44 hal
23
2.2 Metode Newton Raphson (N-R)
Metode ini menetapkan satu taksiran akar misalnya xi.
Kemudian ditarik garis singgung pada kurva dari titik (x i,f(xi)).
Garis singgung ini akan memotong sumbu x yang menunjukkan
perbaikan taksiran akar xi+1
Dan seterusnya......
Y
Akar
(xi,f(xi))
Akar
taksiran
awal, xi
X
Akar
taksiran
berikut,
xi+1
Garis singgung (slope) representasi
turunan pertama fungsi f’(x).
Secara pendekatan diskrit nilainya:
f’(x)  f(x) / x
Dari gambar disamping diperoleh:
f’(x) = (f(xi) – 0)/(xi – xi+1)
f(xi)
xi+1 = xi - ----  Rumus N-R
f’(xi)
Komputasi Numerik Widjianto
release 2013 44 hal
24
Procedure NewtonRaphson;
PROGRAM
BEGIN
Input akar awal: xi ;
Input batas kesalahan iterasi: eibatas;
Tentukan nilai fungsi f(xi);
if f(xi) = 0 then begin Tampilkan di ListBox; exit; end
else
Repeat
Cari nilai fungsi turunan f ’(xi);
AkarDugaAwal := xi;
xi = xi - f(xi )/ f ’(xi );
AkarDuga:= xi ;
Cari nilai f(xi);
// f(akarDuga) = f(xi)
if (f(xi) = 0) then Begin Tampilkan hasil; Exit; End;
ei := abs ((AkarDuga - AkarDugaAwal) / AkarDuga) * 100;
Tampilkan hasil di listbox;
Until ei <= eiBatas;
END PROC;
Komputasi Numerik Widjianto
release 2013 44 hal
25
Contoh
Tentukan akar persamaan f(x) = e-x - x dengan Newton Raphson
dengan titik awal x = 0 dan kesalahan iterasi batas 1%.
Jawab:
f(x) = e-x - x.
Maka f’(x) = -e-x - 1.
Sehingga Rumus NR menjadi:
f(xi)
e-xi - xi
xi+1 = xi - --------- = xi - ---------f’(xi)
-e-xi - 1
Iterasi 1:
e- 0 - 0
x1 = x0 - ---------e- 0 - 1
1
= 0 - ---------- = 0,5
-1 - 1
Kesalahan iterasi = |(0,5 - 0) / 0,5| * 100% = 100%
Komputasi Numerik Widjianto
release 2013 44 hal
26
Iterasi 2:
e- 0,5 - 0,5
e- 0,5 - 0,5
x2 = x1 - -------------- = 0,5 - --------------- = 0,566311
- e- 0,5 - 1
- e- 0,5 - 1
Kesalahan iterasi = |(0,566311 – 0,5) / 0,566311| * 100% = 11,8%
Iterasi 3:
e- 0,566311 - 0,5 66311
e- 0,566311 - 0,566311
x3 = x2 - ---------------------------- = 0,566311 - -------------------------- = 0,567143
- e- 0,566311 – 1
- e- 0,566311 - 1
Kesalahan iterasi = |(0,567143 - 0,566311) / 0,567143| * 100% = 0,147%
Jadi akar pendekatannya = 0,567143 dengan kesalahan iterasi 0,147%
Komputasi Numerik Widjianto
release 2013 44 hal
27
2.3 Metode Secant
Merupakan pendekatan metode Newton Raphson,
terutama untuk fungsi-fungsi yang sukar ditentukan turunannya.
Dipilih 2 titik sembarang sebagai titik awal xi-1 dan xi.
Titik ini tidak memerlukan persyaratan seperti pada metode bagi dua.
Ditarik garis ke kurva sehingga membentuk titik (xi-1,f(xi-1)) dan (xi,f(xi)).
Kemudian ditarik garis sampai memotong sumbu var bebasakar duga.
Y
Turunan kurva dapat didekati dengan
(xi-1, f(xi-1))
Akar
(xi, f(xi))
f(x)
x
xi
Akar Duga xi+1
X
xi-1
f’(x)  f(x) / x
= (f(xi-1 ) - f(xi )) / (xi-1 – xi )
Formula Newton Raphson menjadi:
f(xi ). (xi-1 – xi )
xi+1 = xi - ------------------- ... secant
f(xi-1 ) - f(xi )
Komputasi Numerik Widjianto
release 2013 44 hal
28
PROGRAM
Procedure Secant;
BEGIN
Input dua nilai awal: xi dan xi-1 ;
Input batas kesalahan iterasi: eibatas;
Cari nilai f(xi);
if f(xi) = 0 then begin akar := xi; Tampilkan di ListBox; Exit; end ;
Repeat
AkarDugaAwal := xi ;
Cari nilai f(xi-1 )
xi = xi - (f(xi ). (xi-1 - xi )) / (f(xi-1 ) - f(xi ));
AkarDuga:= xi ;
Cari nilai f(xi); // f(AkarDuga) = f(xi)
if (f(xi) = 0) then Begin Tampilkan hasil di listbox; Exit; End;
ei := abs ((AkarDuga - AkarDugaAwal) / AkarDuga) * 100;
Tampilkan hasil di listbox;
xi-1 = AkarDugaAwal;
Until ei < = eiBatas;
END PROC;
Komputasi Numerik Widjianto
release 2013 44 hal
29
Contoh:
Tentukan akar persamaan f(x) = e-x - x dengan metode Secant dengan
titik batas awal x0= 0 dan x1 = 1 serta batas kesalahan iterasi 1%.
Jawab:
Akar duga awal = x1 = 1.
Iterasi 1:
f(x0) = e-0 - 0 = 1
f(x1) = e-1 - 1 = - 0,63212
- 0,63212 (0 - 1)
x2 = 1 - ------------------------ = 0,61270
1 - (- 0,63212)
Kesalahan iterasi = |(0,61270 - 1)| / 0,61270 x 100 % = 63,21 %
Komputasi Numerik Widjianto
release 2013 44 hal
30
Iterasi 2:
x1 = 1
x2 = 0,61270
f(x1) = e-1 – 1 = - 0,63212
f(x2) = e-0,61270 - 0,61270 = - 0,07081
- 0,07081 (1- 0,61270)
x3 = 0,61270 - ------------------------------- = 0,56384
- 0,63212 – (-0,07081)
Kesalahan iterasi = |(0,56384 - 0,61270)| / 0,56384 x 100 % = 8,67 %
Iterasi 3:
x2 = 0,61270
x3 = 0,56384
f(x2) = e-0,61270 - 0,61270 = - 0,07081
f(x3) = e-0,56384 - 1 = 0,00518
0,00518 (0,61270 - 0,56384)
x4 = 0,61270 - --------------------------------------- = 0,56717
- 0,07081 - 0,00518
Kesalahan iterasi = |(0,56717 - 0,56384)| / 0,56717 x 100 % = 0,58 %
Jadi hasilnya 0,56717 dengan kesalahan relatif 0,58 % dan 3 iterasi.
Komputasi Numerik Widjianto
release 2013 44 hal
31
3. Studi Kasus Dalam Sain dan Teknik
Dari kelima metode penyelesaian persamaan yang sering digunakan
adalah metode Newton-Raphson.
Metode Secant digunakan jika fungsinya sukar dicari turunannya.
Sedangkan metode akolade jarang digunakan karena kendala
sulitnya menentukan dua batas awal yang mengapit akar.
Untuk fungsi yang hanya menyinggung sumbu variabel bebas
metode akolade sukar diterapkan.
Apalagi untuk fungsi yang tidak memotong sumbu variabel bebas
metode akolade tidak dapat digunakan.
Tetapi ada kalanya metode akolade digunakan juga.
Komputasi Numerik Widjianto
release 2013 44 hal
32
3.1 Menentukan akar pangkat n dari suatu bilangan.
Bentuk persamaan fungsinya f(x) = xn - a = 0.
Maka f’(x) = n x n-1
Sehingga formula Newton Raphson menjadi:
f(xi)
xi+1 = xi - -------f’(xi)
xn - a
xi+1 = xi - -----------n x n-1
Komputasi Numerik Widjianto
release 2013 44 hal
33
Carilah nilai 3√ 6 atau 61/3 dengan metode Newton Raphson
dengan tebakan awal x = 1 dan batas kesalahan iterasi 1 %.
Jawab:
Bentuk fungsinya adalah f(x) = x3 – 6.
Maka f’(x) = 3x2.
Rumus Newton Raphson:
f(xi)
xi 3 - 6
xi+1 = xi - ------- = xi - ---------f’(xi)
3xi2
Iterasi 1:
x0 3 - 6
13 - 6
-5
x1 = x0 - --------- = 1 - --------- = 1 - ----- = 2,666667
3x02
3.12
3
Kesalahan iterasi = |(2,666667 – 1)/2,666667| * 100% = 62.5%
Komputasi Numerik Widjianto
release 2013 44 hal
34
Iterasi 2:
x1 3 - 6
2,6666673 - 6
x2 = x1 - --------- = 2,666667 - -------------------- = 2,059028
3 x 12
3 .2 ,6666672
Kesalahan iterasi = |(2,059028 - 2, 666667) / 2,059028| * 100% = 29,5%
Iterasi 3:
x2 3 - 6
2,0590283 - 6
x3 = x2 - ---------- = 2,059028 - -------------------3 x 22
3 .2 ,0590282
= 1,844428
Kesalahan iterasi = |(1,844428 - 2,059028) / 1,844428| * 100% = 11,6%
Iterasi 4:
x3 3 - 6
1,8444283 - 6
x4 = x3 - --------- = 1,844428 - -------------------3 x 32
3 . 1,8444282
= 1,817523
Kesalahan iterasi = |(1,817523 -1,844428) / 1,817523| * 100% = 1,5%
Komputasi Numerik Widjianto
release 2013 44 hal
35
PROGRAM
Iterasi 4:
x3 3 - 6
1,8444283 - 6
x4 = x3 - ------------ = 1,844428 - -------------------- = 1,817523
3x32
3 . 1,8444282
Kesalahan iterasi = |(1,817523 -1,844428) / 1,817523| * 100% = 1,5%
Iterasi 5:
x4 3 - 6
1,8175233 - 6
x5 = x4 - ----------- = 1,817523 - -------------------- = 1,817121
3x42
3 . 1,8175232
Kesalahan iterasi = |(1,817121 -1,817523) / 1,817121| * 100% = 0,02%
Jadi nilai 61/3 = 1,817121 dengan kesalahan iterasi 0,02%
Komputasi Numerik Widjianto
release 2013 44 hal
36
3.2 Menentukan volume gas sejati Van Der Walls
Persamaan gas ideal dituliskan dengan pv = nRT.
Persamaan ini mempunyai batas rentang tekanan dan suhu tertentu.
Dari percobaan Van Der Walls diperoleh rumusan untuk gas yang dapat
mengoreksi ketidakakuratan persamaan gas ideal.
Persamaannya (p + a / v2)(v - b) = RT,
a dan b adalah tetapan-tetapan empiris yang bergantung jenis gas.
Misalnya untuk gas oksigen nilai a = 1,360 dan b = 0,03183
sedangkan untuk gas karbondioksida a = 3,592 dan b = 0,04267.
Sebagai titik awal perhitungan dapat dipakai nilai volume gas
menurut gas ideal pada tekanan dan suhu yang sama.
Selanjutnya dengan salah satu metode penyelesaian persamaan
(disarankan Newton Raphson) dapat dicari volume gas yang lebih teliti.
Komputasi Numerik Widjianto
release 2013 44 hal
37
Formulasi Van Der Walls
f(v) = (p + a/v2)(v - b) - RT
f(v) = pv + a/v - pb - ab/v2 - RT
Maka
f ’(v) = p - a/v2 - 0 + 2ab/v3 - 0
f ’(v) = p - a/v2 + 2ab/v3
Dengan kedua bentuk persamaan diatas lebih mudah
menggunakan metode Newton Raphson.
vi+1 = vi - f(vi) / f’(vi).
Komputasi Numerik Widjianto
release 2013 44 hal
38
Contoh
Tentukan volume 1 mol gas oksigen pada suhu 500 K dan
tekanan 10 atm berdasar persamaan Van Der Walls dengan
metode Newton Raphson dan kesalahan 0.001%.
Jawab:
Nilai awal volume gas dicari dengan persamaan gas ideal pv = nRT.
R = 0,082054 liter.atm/mol K
vo = nRT/p = 1. 0,082054. 500/10 = 4,1027 liter
Untuk gas oksigen a = 1,360 dan b = 0,03183
Metode Newton Raphson:
f(v) = (p + a/v2)(v - b) – RT.
f ’(v) = p - a/v2 + 2ab/v3.
Komputasi Numerik Widjianto
release 2013 44 hal
39
Iterasi 1:
PROGRAM
v1 = vo - f(vo)/ f ’(vo).
f(vo) = (10 + 1,360 / 4,10272)( 4,1027 - 0,03183) - 0,082054. 500 = 0,01061722
f ’(vo) = 10 - 1,360 / 4,10272 + 2 . 1,360 . 0,03183 / 4,10273 = 9,92045593.
v1 = 4,1027 - 0,01061722 / 9,92045593
v1 = 4,101629764.
Kesalahan iterasi = | (4,101629764 - 4,1027)| / 4,101629764 x 100 = 0.026 %.
Iterasi 2
v2 = v1 - f(v1)/ f ’(v1).
f(v1) = (10 + 1,360 / 4,1016297642)( 4,101629764 - 0,03183) - 0,082054. 500
= 2,2038 . 10-8 .
f ’(v1) = 10 - 1,360 / 4,10272 + 2 . 1,360 . 0,03183 / 4,10273
= 9,92041476
v2 = 4,101629764 - 2,2038 . 10-8 / 9,92041476
v2 = 4,101629762
Kesalahan iterasi = |(4,101629762- 4,101629764)| / 4,101629762 x 100
= 5,4. 10-8Komputasi
%.
Numerik Widjianto
release 2013 44 hal
40
3.3 Menentukan Komponen Rangkaian Listrik
Keadaan mantap (steady state) dalam rangkaian listrik sangat
diperlukan sebab merupakan syarat dasar kerja peralatan elektronika.
Keadaan mantap diperoleh setelah melalui keadaan transien dari
keadaan mati (off).
Sebagai contoh rangkaian osilasi RLC berikut ini.
Komputasi Numerik Widjianto
release 2013 44 hal
41
Ketika arus melalui resistor terjadi penurunan tegangan V R = i R.
Sedangkan induktor akan menahan arus sehingga terjadi
perubahan tegangan VL = L di/dt, dan dalam kapasitor terjadi
perubahan tegangan VC = q/C.
Setelah saklar ditutup jumlah tegangan = 0, persamaannya menjadi:
L di/dt + iR + q/C = 0.
Mengingat i = dq/dt, persamaan diatas menjadi:
L d2q/dt2 + R dq/dt + q/C = 0
Solusi kalkulus menghasilkan:
q(t) = q0 e –Rt/2L cos [{1/(LC) –(R/(2L)2}t] atau
f(R) = e –Rt/2L cos [{1/(LC) –(R/(2L)2}t] – q(t)/ q0
pada saat t = 0, q = q0 = VoC.
Komputasi Numerik Widjianto
release 2013 44 hal
42
Persoalan desain teknik elektro umumnya menentukan nilai resistor
yang layak untuk mendisipasikan energi pada suatu kelajuan tertentu
dengan harga L dan C yang ditentukan.
Misalnya muatan harus didisipasikan sampai 1 % dari harga awal dalam
waktu 0,05 detik dengan H = 5H dan C = 10-4 F.
Maka persamaan menjadi:
f(R) = e –0,05R cos [{2000 –0,01R2}0,05] – 0,01.
Dengan mengunakan syarat batas bilangan dibawah tanda akar
2000 – 0,01R2 > 0 maka nilai R berkisar antara 0 – 400 Ohm.
Nilai tsb dapat dipakai sebagai nilai batas awal perhitungan.
Metode apa yang akan dipakai? Turunan fungsi sukar ditentukan.
Metode Newton Raphson dan metode alokade terbuka sukar dipakai.
Kita dapat menggunakan metode Bagi Dua atau Regula Falsi.
Dengan metode Bagi Dua dengan taraf kesalahan 0,0001 %
setelah 20 iterasi diperoleh nilai R = 328,1515 Ohm.
Coba buat programnya
Komputasi Numerik Widjianto
release 2013 44 hal
sendiri.....
43
Komputasi Numerik Widjianto
release 2013 44 hal
44
Download