Pertemuan 9: AKAR SUATU FUNGSI TEKNIK KOMPUTASI Pertemuan 9: AKAR SUATU FUNGSI
2.1. Komputasi Iteratif (1) Apabila diberikan suatu fungsi ƒ dari suatu variabel bebas x adalah ƒ(x). Harga x* adalah nilai yang membuat ƒ(x) = 0 , maka harga x* itu disebut nilai nol atau akar dari fungsi ƒ(x). Suatu strategi komputasi iteratif dapat dilakukan untuk menetapkan akar fungsi ƒ(x). Bertolak dari taksiran awal atas nilai x* yang diinginkan, dengan menggunakan sebuah metode , dibuat suatu deretan taksiran x1, x2, x3, ………, xN, xN+1. Deretan taksiran tersebut diharapkan konvergen kepada nilai x* yang dicari. Apabila didefinisikan εk = abs(xk-x*) adalah galat taksiran yang ke-k, maka terbentuklah deretan galat ε0, ε 1, ε 2, ε 3, …….. …. ε N, ε N+1 yang konvergen pada nilai nol.
2.1. Komputasi Iteratif (2) Persoalan konkrit yang dihadapi dalam strategi komputasi iteratif adalah sebagai berikut : Bagaimana taksiran awal dipilih Bagaimana taksiran baru xk+1 ditetapkan dari deretan taksiran sebelumnya Apakah deretan taksiran konvergen kepada nilai yang diinginkan Bagaimana laju konvergensinya. Pada dasarnya taksiran awal hanya satu buah saja yaitu x0 (pada metode Newton), atau dua buah saja yaitu x0 dan x1 (pada metode Sekan), atau tiga buah saja yaitu x0, x1, x2 (pada metode Muller)
2.1. Komputasi Iteratif (3) Taksiran awal dapat ditentukan secara bebas , kecuali ada informasi lain yang dapat diandalkan agar proses iterasi tidak terlalu lama. Taksiran baru xk+1 ditetapkan dari satu, dua, atau tiga taksiran terakhir menurut rumusan dari metode yang dipilih. Pada dasarnya metode yang digunakan dalam proses iterasi harus konvergen pada nilai x*. Laju konvergensi dapat diamati pada deretan galat taksiran, dapat didefinisikan sebagai berikut. Laju konvergensi : k+1 = C( k) m , m>0. Laju konvergensi disebut linear jika m=1, kuadratis jika m=2, dan kubis jika m=3, dan seterusnya . Makin tinggi harga m, makin tinggi laju konvergensinya , yang berarti makin laju menuju kepada nilai yang dicari.
2.2. Metode Newton Metode Newton hanya memerlukan satu buah taksiran awal x0. Algoritma yang digunakan adalah : Metode ini dijamin konvergen jika taksiran awal x0 dipilih cukup dekat dengan x*. Jika taksiran awal merupakan nilai real, maka nilai akan konvergen pada nilai real juga, kecuali jika nilai nol real memang tak ada, juga sebaliknya. Metode ini mensyaratkan tersedianya ƒ’ (x) (=diferensial pertama ). Laju konvergensi metode Newton adalah kuadratis.
2.3. Metode Sekan Metode ini memerlukan dua taksiran awal x0 dan x1. Rumus yang dipakai adalah : Metode ini tidak mesyaratkan penetapan ƒ’(x). Laju konvergensi m=1.62, lebih lambatt daripada newton, tetapi tidak selambat laju konvergensi linear. Karena itu laju konvergensi 1 < m > 2 disebut superlinear.
2.4. Metode Muller (1) Metode Muller memerlukan 3 buah taksiran awal. Misalkan 3 buah taksiran awal itu adalah p, q, dan r, maka taksiran baru s. Seperti diketahui, lewat 3 titik (pƒ(p)), (q, ƒ(q)), (r, ƒ(r)) dapat dibuat kurve atau fungsi kuadratis : h(x)=a(x-r)2+b(x-r)+c yang memotong sumbu x di x=s yang merupakan taksiran terbaru atas nilai nol fungsi ƒ(x).
2.4. Metode Muller (2) Mengingat : ƒ(p)=a(p-r)2+b(p-r)+c ƒ(q)=a(q-r)2+b(q-r)+c ƒ(r)=a(r-r)2+b(r-r)+c=c membentuk 3 persamaan linear dalam a,b, dan c, maka tidak sulit untuk menetapkan , bahwa : c=ƒ(r)
2.4. Metode Muller (3) Atas dasar kenyataan itu, maka : Agar taksiran baru s dekat dengan taksiran terakhir r, maka biasanya dipilih : Metode Muller diketahui memiliki laju konvergensi m= 1.84, jadi lebih baik dari metode sekan.
2.5. Metode Olver Metode Olver memilki laju konvergensi kubis : Perhatikanlah bahwa laju konvergensi tinggi dalam metode Olver dibayangi oleh tuntutan tersedianya turunan kedua ƒ’’(x).
2.6. Metode Newton-ganda Metode ini juga diketahui memiliki laju konvergensi kubis :
2.7. Metode Traub Metode Traub juga memiliki konvergensi kubis :
2.8. Metode Cauchy (1) Misalkan x adalah salah satu nilai nol dari ƒ(x), jadi ƒ(x)=0. Nyatakanlah xk sebagi taksiran ke-k atas nilai nol tersebut. Dengan menggunakan expansi deret Taylor ƒ(x) di titik xk, dan dengan mengambil tiga suku pertama, diperoleh : yang merupakan bentuk kuadratis dalam (x-xk). Jika bentuk kuadratis ini dibuat sama dengan nol, diperoleh akar persamaan kuadrat yang menjadi basis bagi penetapan xk+1.
2.8. Metode Cauchy (2) Manipulasi aljabar memberi : dengan ± dipilih yang sesuai dengan tanda dari ƒ’(xk).
2.9. Polinominal (1) Poliniminal p(x) disebut memiliki pangkat n dengan koefisien a0,a1,a2,,….,an jika dapat dirumuskan sebagai berikut : P(x)=a0xn+a1xn-1+a2xn-2+…+an-1x+an Bentuknya yang istimewa membuat turunan pertamanya dapat langsung ditetapkan, yaitu : P’ (x)=a0nxn-1+a1(n-1)xn-2+a2(n-2)xn-3+…+an-2(2)x+an-1
2.9. Polinominal (2) Polinomial p(n) dapat ditulis sebagai berikut : P(x)=(…((a0xn+a1)x+a2)x+…+an-1)x+an Sehingga untuk x=s, nilai polinomial adalah p(s) yang dapat ditetapkan dengan bantuan program MATLAB di bawah ini: b0 = a0 for k = 1:n bk= sbk-1+ak; end; maka bn = p(s).
2.9. Polinominal (3) Untuk sekaligus menghitung nilai turunan pertama p’(x) pada x=s dapat digunakan statemen MATLAB sebagai berikut: b0 = a0; c0 = b0 for k = 1:n-1 bk= sbk+1+ak; ck=sck-1+bk; end; bn=sbn-1+an; Dengan bn = p(s) and cn-1=p’(s)
2.9. Polinominal (4) Untuk sembarang nilai s ada polinomial lain q(x) sedemikian sehingga : P(x)=(x-s)q(x)+p(s) Dalam hal ini q(x) di sebut polinomial tereduksi, tentunya dengan pangkat n-1. Jika p(s)=0, maka x=s adalah nilai nol akar dari polinomial p(x). Dikatakan juga bahwa p(s) habis dibagi oleh (x-s). Akar s dari polinomial p(x)= 0 disebut memiliki kerangkapan r hanya jika p(s)= p’(s)= p’’(s)= …= p(r-1)(s)= 0 dan p(r) ≠ 0.
2.9. Polinominal (5) Jika diketahui z dan z+ adalah akar kompleks berpasangan, maka polinomial itu dapat dibagi oleh : (x-z) (x-z+) = x2- x+ β2 dengan = 2 Re (z) dan β = │z│ Atas dasar itu : dengan : c0 = a0; c1 = a0+ c0; ck = ak+ ck-1- β ck -2 untuk ≤ 2k ≥ n-2.
2.9. Polinominal (6) Jika p(x) merupakan polinomial pangkat n dengan akar-akar s1, s2, s3, …, sk, masing- masing dengan kerangkapan , β, δ, v, maka polinomial dapat difaktorisasikan menjadi : P(x)= (x-s1)(x-s2)β(x-s3)δ … (x-sk)v
2.9. Polinominal (7) Metode Laguerre Metode Laguerre dikembangkan khusus untuk polinomial p(x) pangkat n. Rumus yang dipakai : dengan H(x) = (n-1) [(n-1)(p’(x))2-np(x)p’(x)] Tanda dari nilai akar yang diambil harus sesuai dengan tanda dari p’(x).
Contoh Program Penyelesaian f(x)= 0 (1) Prosedur fungsi(x) menghitung nilai fungsi dan turunan fungsi. Dalam contoh ini fungsi yang dicari nilai akarnya adalah : f(x)= 16x4- 40x3+ 5x2+20x+6. Function [y, yy]= fungsi(x) Y = 16*x^4-40*x^3+5*x^2+20*x+6; yy = 64*x^3- 120*x^2 + 10*x +20;
Contoh Program Penyelesaian f(x)= 0 (2) Program atau prosedur di bawah ini menggunakan metode Newton : % menyelesaikan f(x)= 0 dengan metode newton. % p= nilai dari taksiran awal, dianggap sudah tersedia dimemori [f,ff]= fungsi(p) while abs(f) > 0.000001 p= p-f/ff; [f,ff]= fungsi (p) end;
Contoh Program Penyelesaian f(x)= 0 (3) Program atau procedur di bawah ini menggunakan metode Sekan : %menyelesaikan f(x)= 0 dengan metode sekan. % p= nilai dari taksiran awal, dianggap sudah tersedia memori [f,df]= fungsi (p); [ff, df]= fungsi (q) while abs(ff) > 0.000001 r= q-(q-p) /(ff-f)*ff p=q; q=r; [f, df]= fungsi(p); [ff,df]= funsi(q) end;
Contoh Program Penyelesaian f(x)= 0 (4) Program atau prosedur di bawah ini menggunakan metode Muller : % menyelesaikan f(x)= 0 dengan metode muller % p, q, r adalah tiga taksiran awalnya, dianggap sudah ada dalam memori [f, df] = fungsi (p); [ff, df] = fungsi (q); [fff,df] = fungsi (r); while abs(ff) > 0.000001 c = fff;pmr = p-r;
Contoh Program Penyelesaian f(x)= 0 (5) qmr = q-r; pmq= p-q; ddd= pmr*qmr*pmq; d= pmr*pmr*(ff-fff); dd= qmr*qmr*(f-fff); b=( d-dd)/ddd d= qmr*(f-fff); dd= pmr* (f-fff); a= (d-dd)/ddd sb= sign(b); dis= sqrt(b*b-4*a*c); del= -2*c/(b+ sb*dis); s= r+ del; p= q; q=r; r= s; f= ff; ff=fff;[fff, df]= fungsi(s); end
Contoh Program Penyelesaian f(x)= 0 (6) Nilai akar yang diperoleh adalah : 1.24168, 1.97044, dan -0.35602 ±j 0.16278.