1 / 56

Solusi Persamaan Nirlanjar ( Bagian 1)

Solusi Persamaan Nirlanjar ( Bagian 1). Bahan Kuliah IF4058 Topik Khusus Informatika I Oleh ; Rinaldi Munir (IF-STEI ITB). Rumusan Masalah. Persoalan : Temukan nilai x yang memenuhi persamaan f ( x ) = 0, yaitu nilai x = s sedemikian sehingga f ( s ) = 0.

Télécharger la présentation

Solusi Persamaan Nirlanjar ( Bagian 1)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SolusiPersamaanNirlanjar(Bagian 1) BahanKuliah IF4058 TopikKhususInformatika I Oleh; RinaldiMunir (IF-STEI ITB) Rinaldi Munir - Topik Khusus Informatika I

  2. RumusanMasalah • Persoalan: Temukannilaix yang memenuhipersamaan f(x) = 0, yaitunilaix = ssedemikiansehinggaf(s) = 0. • Nilai x = s disebutakarpersamaan f(x) = 0. Rinaldi Munir - Topik Khusus Informatika I

  3. Contohpersoalandalambidangelektronika: Suatuarusosilasidalamrangkaianlistrikdiberikanoleh I = 10e-t sin(2 t) yang dalamhalinit dalamdetik. TentukansemuanilaitsedemikansehinggaI = 2 ampere. Persoalaniniadalahmencarinilaitsedemikiansehingga: 10e-t sin(2 t) – 2 = 0 Rinaldi Munir - Topik Khusus Informatika I

  4. MetodePencarianAkar 1. Metodetertutup(bracketing method) • mencariakardidalamselang [a, b]; • Selang [a, b] sudahdipastikanberisi minimal satubuahakar, • karenaitumetodejenisiniselaluberhasilmenemukanakar.; • Dengankata lain, lelarannyaselalukonvergen (menuju) keakar, • karenaitumetodetertutupkadang-kadangdinamakanjugametodekonvergen. Rinaldi Munir - Topik Khusus Informatika I

  5. 2. Metodeterbuka • tidakmemerlukanselang [a, b] yang mengandungakar • mencariakarmelaluisuatulelaran yang dimulaidarisebuahtebakan (guest) awal, • padasetiaplelarankitamenghitunghampiranakar yang baru. • Mungkinsajahampiranakar yang barumendekatiakarsejati (konvergen), ataumungkinjugamenjauhinya (divergen). • Karenaitu, metodeterbukatidakselaluberhasilmenemukanakar, kadang-kadangkonvergen, kadangkalaiadivergen Rinaldi Munir - Topik Khusus Informatika I

  6. MetodeTertutup • Diperlukanselang [a, b] yang mengandung minimal satubuahakar. • Syaratcukupkeberadaanakar: Jikaf(a) f(b) < 0 dan f(x) menerusdidalamselang [a, b], makapaling sedikitterdapatsatubuahakarpersamaanf(x) = 0 didalamselang [a, b]. • Dengankata lain: selang [a, b] harusberbedatandapadanilai-nilaifungsinyasupayaterdapat minimal 1 buahakar. Rinaldi Munir - Topik Khusus Informatika I

  7. Syaratcukupkeberadaanakar Rinaldi Munir - Topik Khusus Informatika I

  8. Kondisi yang mungkinterjadi: • f(a)f(b) < 0, makaterdapatakarsebanyakbilanganganjil • f(a)f(b) > 0, makaterdapatakarsebanyakbilangangenap (termasuktidakadaakar) Rinaldi Munir - Topik Khusus Informatika I

  9. Cara menentukanselang yang cukupkecildanmengandungakar: 1. MembuatgrafikfungsidibidangX-Y, lalumelihatdimanaperpotongannyadengansumbu-X. • Membuattabel yang memuatnilai-nilaifungsipadapadatitik-titikabsis yang berjaraktetap (h). Nilaihdibuatcukupkecil. (lihatcontohberikut) Rinaldi Munir - Topik Khusus Informatika I

  10. Contoh:Tabelnilai-nilaif(x) = ex - 5x2mulaidaria = -0.5 sampaib = 1.4 dengankenaikanabsissebesarh = 0.1 ------------------------------------------- xf(x) ------------------------------------------- -0.50 -0.643469 -0.40 -0.129680 -0.30 0.290818 -0.20 0.618731 -0.10 0.854837 0.00 1.000000 0.10 1.055171 0.20 1.021403 0.30 0.899859 0.40 0.691825 0.50 0.398721 0.60 0.022119 0.70 -0.436247 0.80 -0.974459 0.90 -1.590397 1.00 -2.281718 1.10 -3.045834 1.20 -3.879883 1.30 -4.780703 1.40 -5.744800 -------------------------------------------- Selang-selang yang dapatdipilihdanmengandung akar: [-0.40, -0.30] [0.60, 0.70] [0.50, 0.70]  Bisadipilih, tetapicukuplebar [-0.50, -0.20]  Bisadipilih, tetapicukuplebar Rinaldi Munir - Topik Khusus Informatika I

  11. MetodeTertutupadadua: • Metodebagidua • Metoderegula-falsi Rinaldi Munir - Topik Khusus Informatika I

  12. MetodeBagidua (bisection method) Rinaldi Munir - Topik Khusus Informatika I

  13. Prosespembagianselang [a, b] denganmetodebagidua Rinaldi Munir - Topik Khusus Informatika I

  14. Kondisiberhentilelarandapatdipilihsalahsatudaritigakriteriaberikut: • Lebarselangbaru: a - b < , yang dalamhaliniadalahnilaitoleransilebarselang yang mengurungakar. • Nilaifungsidihampiranakar: f(c) < , yang dalamhalini  adalahnilai yang sangatkecilmendekati 0. • Galatrelatifhampiranakar: (cbaru - clama)/cbaru < , yang dalamhaliniadalahgalatrelatifhampiran yang diinginkan. Rinaldi Munir - Topik Khusus Informatika I

  15. procedureBagiDua(a,b: real); { Mencariakar f(x)=0 didalamselang [a,b] denganmetodebagidua K.Awal : a dan b adalahujung-ujungselangsehingga f(a)*f(b) < 0, nilai a dan b sudahterdefinisi. K.Akhir : Hampiranakartercetakdilayar. } const epsilon1 = 0.000001; {bataslebarselangakhirlelaran} epsilon2 = 0.00000001; {bilangan yang sangatkecil, mendekatinol} begin repeat c:=(a+b)/2; { titiktengah [a,b]} if f(a)*f(c) < 0 then b:=c {selangbaru [a,b]=[a,c]} else a:=c; {selangbaru [a,b]=[c,b]} until (ABS(a-b)< epsilon1) or (f(c)) < epsilon2); { c adalahakarpersamaan } writeln(‘Hampirankar = ‘, x:10:6); End; Rinaldi Munir - Topik Khusus Informatika I

  16. Contoh 1: Temukanakarf(x) = ex - 5x2didalamselang [0, 1] dan = 0.00001. Penyelesaian: Jadi, hampiranakarnyaadalahx = 0.605263 Rinaldi Munir - Topik Khusus Informatika I

  17. Kasus yang MungkinTerjadipadaPenggunaanMetodeBagidua • Jumlahakarlebihdarisatu • Biladalamselang [a, b] terdapatlebihdarisatuakar (banyaknyaakarganjil), hanyasatubuahakar yang dapatditemukan. • Cara mengatasinya: gunakanselang [a,b] yang cukupkecil yang memuathanyasatubuahakar. • Akarganda. • Metodebagiduatidakberhasilmenemukanakarganda. Hal inidisebabkankarenatidakterdapatperbedaantandadiujung-ujungselang yang baru Contoh: f(x) = (x - 3)2 = (x - 3)(x - 3),mempunyaiduaakar yang sama, yaitux = 3. Rinaldi Munir - Topik Khusus Informatika I

  18. Singularitas. Padatitik singular, nilaifungsinyatidakterdefinisi. Bilaselang [a, b] mengandungtitik singular, lelaranmetodebagiduatidakpernahberhenti. Penyebabnya, metodebagiduamenganggaptitik singular sebagaiakarkarenalelarancenderungkonvergen. Yang sebenarnya, titik singular bukanlahakar, melainkanakarsemu Cara mengatasinya: periksanilaif(b) - f(a). Jika f(b) - f(a)konvergenkenol, akar yang dicaripastiakarsejati, tetapijikaf(b) - f(a)divergen, akar yang dicari merupakantitik singular (akarsemu). Rinaldi Munir - Topik Khusus Informatika I

  19. MetodeRegula-Falsi • Kelemahanmetodebagidua: kecepatankonvergensinyasangatlambat. • Kecepatankonvergensidapatditingkatkanbilanilaif(a) danf(b) jugaturutdiperhitungkan. • Logikanya, bilaf(a) lebihdekatkenoldaripadaf(b) tentuakarlebihdekatkex = adaripadakex = b. • Metode yang memanfaatkannilaif(a) danf(b) iniadalahmetoderegula-falsi (bahasa Latin) ataumetodeposisipalsu. (false position method) Rinaldi Munir - Topik Khusus Informatika I

  20. GambarMetodeRegula-falsi gradiengaris AB = gradiengaris BC Rinaldi Munir - Topik Khusus Informatika I

  21. procedureregula_falsi(a, b: real); { Mencariakar f(x)=0 didalamselang [a,b] denganmetoderegulafalsi K.Awal : a dan b adalahujung-ujungselangsehingga f(a)*f(b) < 0, harga a dan b sudahterdefenisi K.Akhir : Hampiranakartercetakdilayar } const epsilon1 = 0.00001; {bataslebarselangakhirlelaran} epsilon2 = 0.000001; {bilangan yang sangatkecil, bisadiganti } begin repeat c:=b-(f(b)*(b-a)/(f(b)-f(a))); if abs(f(c))< epsilon2 then{f(c) = 0, c adalahakar} begin a:=c; b:=c; end else if f(a)*f(c) < 0 then b:=c; {selangbaru [a,b]=[a,c]} else a:=c; {selangbaru [a,b]=[c,b]} until ABS(a-b)< epsilon1; writeln(‘Hampiranakar : ‘, c:10:6); end; Rinaldi Munir - Topik Khusus Informatika I

  22. Secaraumum, lelaranmetoderegula-falsilebihcepatdaripadalelaranmetodebagidua • Tetapi, adakemungkinanlelaranmetdoeregulasilebihlambat • Kasussepertiiniakanterjadibilakurvafungsinyacekung (konkaf) didalamselang [a, b]. • Akibatnya, garispotongnyaselaluterletakdiataskurvaatauatauselaluterletakdibawahkurva. Rinaldi Munir - Topik Khusus Informatika I

  23. Padakondisi yang paling ekstrim, b - artidakpernahlebihkecildari, • sebabsalahsatutitikujungselang, dalamhalinib, selalutetapuntuksetiaplelaranr = 0, 1, 2, .... . • Titikujungselang yang tidakpernahberubahitudinamakantitikmandek (stagnantpoint). • Padatitikmandek, br - ar= b - arr = 0, 1, 2, ... Rinaldi Munir - Topik Khusus Informatika I

  24. Contoh: menghitungakarf(x) = ex - 5x2didalamselang [0, 1] dan = 0.00001. Perhatikanujungselangtidakpernahberubah, sellau [c, b]. Nilai c selalutetap (c adalahtitikmandek/stagnan) Rinaldi Munir - Topik Khusus Informatika I

  25. Untukmengatasihalini, kondisiberhentipadaalgoritmaregula-falsiharuskitatambahdenganmemeriksaapakahnilaif(c) sudahsangatkecilsehinggamendekati nol. • Jadi, kondisipada repeat-until menjadi until (ABS(a-b) < epsilon1) or (ABS(f(c)) < epsilon2) • Bilaperubahaniniditerapkanpadasoalpencarianakardiatasdengan epsilon2 = 0.000001, lelarannyaakanberhentipadar = 12 denganakarx = 0.605267. Rinaldi Munir - Topik Khusus Informatika I

  26. PerbaikanMetodeRegula-Falsi • Tentukantitikujungselang yang tidakberubah (jumlahperulangan > 1) - yang kemudianmenjadititikmandek. • Nilaif padatitikmandekitudigantimenjadisetengahkalinya Rinaldi Munir - Topik Khusus Informatika I

  27. Tabellelaranuntukmenghitungakarf(x) = ex - 5x2didalamselang [0, 1],  = 0.00001 dan = 0.000001 denganmetodeperbaikanregula-falsiadalahsebagaiberikut: Rinaldi Munir - Topik Khusus Informatika I

  28. Metode Terbuka • Yang ingindicariadalahx yang memenuhif(x) = 0 • Bentukumumpersamaanlelaranmetodeterbuka: xr+1 = g(xr) ; r = 0, 1, 2, 3, … • Terkalahsebuahnilaiawalx0, laluhitung x1 , x2 , x3, ... yang mudah-mudahankonvergenkeakarsejatissedemikiansehingga f(s)  0 dans  f(s) Kondisiberhentilelarandinyatakanbila xr+1 - xr<  Rinaldi Munir - Topik Khusus Informatika I

  29. Yang termasukkedalammetodeterbuka: • Metodelelarantitik-tetap (fixed-point iteration) • Metode Newton-Raphson • Metodesecant Rinaldi Munir - Topik Khusus Informatika I

  30. MetodeLelaranTitik-Tetap • Metodeinikadang-kadangdinamakanjugametodelelaransederhana, metodelangsung, ataumetodesulihberuntun. • Susunlahpersamaanf(x) = 0 menjadibentukx = g(x). Lalu, bentuklahmenjadiprosedurlelaran xr+1 = g(xr) ; r = 0, 1, 2, 3, … • Terkalahsebuahnilaiawalx0, laluhitungx1 , x2 , x3, ... yang mudah-mudahankonvergenkeakarsejati. Kondisiberhentilelarandinyatakanbila xr+1 – xr<  atau Rinaldi Munir - Topik Khusus Informatika I

  31. Contoh: Carilahakarpersamaanf(x) = x2 – 2x – 3 = 0 denganmetodelelarantitik-tetap. Gunakan = 0.000001. Penyelesaian: Terdapatbeberapakemungkinanprosedurlelaran yang dapatdibentuk. (i) x2 - 2x - 3 = 0 x2 = 2x + 3 x = (2x + 3) Dalamhalini, g(x) = (2x + 3). Prosedurlelarannyaadalah xr+1 = (2xr + 3). Ambilterkaanawalx0=4 Tabellelarannya: Rinaldi Munir - Topik Khusus Informatika I

  32. --------------------------------------------- rxrxr+1 - xr --------------------------------------------- 0 4.000000 - 1 3.316625 0.683375 2 3.103748 0.212877 3 3.034385 0.069362 4 3.011440 0.022945 5 3.003811 0.007629 6 3.001270 0.002541 7 3.000423 0.000847 8 3.000141 0.000282 9 3.000047 0.000094 10 3.000016 0.000031 11 3.000005 0.000010 12 3.000002 0.000003 13 3.000001 0.000001 14 3.000000 0.000000 ------------------------------------------- Hampiranakarx = 3.000000 (konvergenmonoton) Rinaldi Munir - Topik Khusus Informatika I

  33. (ii) x2 - 2x - 3 = 0 x(x-2) = 3 x = 3/(x - 2) Dalamhalini, g(x) = 3/(x - 2). Prosedurlelarannyaadalah xr+1 = 3/(xr - 2) Ambilterkaanawalx0 = 4 Tabellelarannya: Rinaldi Munir - Topik Khusus Informatika I

  34. ----------------------------------------- ixrxr+1 - xr ----------------------------------------- 0 4.000000 - 1 1.500000 2.500000 2 -6.000000 7.500000 3 -0.375000 5.625000 4 -1.263158 0.888158 5 -0.919355 0.343803 6 -1.027624 0.108269 7 -0.990876 0.036748 8 -1.003051 0.012175 9 -0.998984 0.004066 10 -1.000339 0.001355 11 -0.999887 0.000452 12 -1.000038 0.000151 13 -0.999987 0.000050 14 -1.000004 0.000017 15 -0.999999 0.000006 16 -1.000000 0.000002 17 -1.000000 0.000001 ----------------------------------------- Hampiranakarx = -1.000000 (konvergenberosilasi) Rinaldi Munir - Topik Khusus Informatika I

  35. (iii) x2 - 2x - 3 = 0 x = (x2 - 3)/2 Prosedurlelarannyaadalahxr+1 = (xr2 - 3)/2. Ambilterkaanawalx0=4 Tabellelarannya:   --------------------------------------------------- ixrxr+1 - xr -------------------------------------------------- 0 4.000000 - 1 6.500000 2.500000 2 19.625000 13.125000 3 191.070313 171.445312 4 18252.432159 18061.361847 ... ----------------------------------------------- Ternyatalelarannyadivergen! Rinaldi Munir - Topik Khusus Informatika I

  36. Kadang-kadanglelarankonvergen, kadang-kadangiadivergen. • Adakahsuatu “tanda” bagikitauntukmengetahuikapansuatulelarankonvergendankapandivergen? • TEOREMA 3.2. Misalkang(x) dang'(x) menerusdidalamselang [a,b] = [s-h, s+h] yang mengandungtitiktetapsdannilaiawalx0dipilihdalamselangtersebut. Jikag'(x) < 1 untuksemuax [a, b] makalelaranxr+1 = g(xr) akankonvergenkes. Padakasusini s disebutjugatitikatraktif. Jikag'(x) > 1 untuksemuax [a, b] makalelaranxr+1 = g(xr) akandivergendaris. Rinaldi Munir - Topik Khusus Informatika I

  37. Teorema 3.2 dapatkitasarikansebagaiberikut: Di dalamselangI = [s-h, s+h], denganstitiktetap, • jika 0 < g'(x) < 1 untuksetiapxI, makalelarankonvergenmonoton; • jika -1< g'(x) < 0 untuksetiapxI, makalelarankonvergenbersosilasi; • jikag'(x) > 1 untuksetiapxI, makalelarandivergenmonoton; • jikag'(x) < -1 untuksetiapxI, makalelarandivergrnberosilasi. Rinaldi Munir - Topik Khusus Informatika I

  38. (a) Konvergenmonoton: 0 < g’(x) < 1 (b) Konvergenberosilasi: –1 < g’(x) < 0 (c) Divergenmonoton: g’(x) > 1 (d) Divergenberosilasi: g’(x) < -1 Rinaldi Munir - Topik Khusus Informatika I

  39. Analisis: • Prosedurlelaranpertama Terlihatbahwag'(x)< 1 untukxdisekitartitik-tetaps = 3. Karenaitu, pengambilantebakanawalx0 = 4 akanmenghasilkanlelaran yang konvergensebab Rinaldi Munir - Topik Khusus Informatika I

  40. 2. Prosedurlelarankedua: xr+1 = 3/(xr - 2) g(x) = 3/(x-2)  g'(x) = -3/(x-2)2 Terlihatbahwag'(x)< 1 untukxdisekitartitik-tetaps = 3. Karenaitu, pengambilantebakanawalx0 = 4 akanmenghasilkanlelaran yang konvergensebab g'(4)=-3/(4-2)2= 0.75 < 1. Rinaldi Munir - Topik Khusus Informatika I

  41. 3. Prosedurlelaranketigaxr+1 = (xr2 - 3)/2 g(x) = (x2 - 3)/2  g'(x) = x Terlihatbahwag'(x)> 1 untukxdisekitartitik-tetaps = 3. Karenaitu, pengambilantebakanawalx0 = 4 akanmenghasilkanlelaran yang divergensebab g'(4)=4= 4 > 1. Rinaldi Munir - Topik Khusus Informatika I

  42. Kesimpulan: adaduahal yang mempengaruhikekonvergenanprosedurlelaran: 1. Bentuk formula xr+1 = g(xr) 2. Pemilihantebakanawalx Rinaldi Munir - Topik Khusus Informatika I

  43. Contoh: Gunakanmetodelelarantitik-tetapuntukmencariakarpersamaanx3 - 3x + 1 didalamselang [1, 2] Rinaldi Munir - Topik Khusus Informatika I

  44. Penyelesaian: (i) xr+1 = (xr3 + 1)/3 Tetapi, karenag '(x)=x2> 1 didalamselang [1, 2], makaprosedurlelaraninitidakdigunakan. (ii) xr+1 = -1/(xr2 - 3) Tetapi, karenag'(x)=2x /(x2 - 3)3> 1 didalamselang [1, 2], makaprosedurlelaraninitidakdigunakan. (iii) xr+1 = 3/xr - 1/xr2 Ternyatag '(x)=(-3x + 2)/x3 1 didalamselang [1, 2], yaitu, g '(x) naikdarig '(1) = -1 keg '(2)=-1/2. Jadi, g '(x)lebihkecildari 1 didalamselang [1, 2]. Denganmengambilx = 1.5, prosedurlelarannyakonvergenkeakarx = 1.5320889 sepertipadatabelberikutini. Rinaldi Munir - Topik Khusus Informatika I

  45. --------------------------------------- rx --------------------------------------- 0 1.5 1 1.5555556 2 1.5153061 ... ... 43 1.5320888 44 1.5320889 45 1.5320889 ----------------------------------------- Rinaldi Munir - Topik Khusus Informatika I

  46. 4. Prosedurlelarankeempat: xr+1 = (-xr3 + 3)/6 g(x) = (-x3 + 3)/6  g'(x) = -x2/2 Terlihatbahwag'(x)< 1 untukxdisekitartitik-tetaps = 0.48. Pemilihanx0 = 0.5 akanmenjaminlelarankonvergensebabg'(x0)< 1. Untukx0 = 1.5 danx0 = 2.2 memangnilaig'(x0)> 1 tetapilelarannyamasihtetapkonvergen, namunx0 = 2.7 terlalujauhdarititik-tetapsehinggalelarannyadivergen. Rinaldi Munir - Topik Khusus Informatika I

  47. Metode Newton-Raphson • Metode Newton-Raphsonlah yang paling terkenaldan paling banyakdipakaidalamterapansainsdanrekayasa. • Metodeini paling disukaikarenakonvergensinya paling cepatdiantarametodelainnya. • Adaduapendekatandalammenurunkanrumusmetode Newton-Raphson, yaitu: (i) penurunanrumus Newton-Raphsonsecarageometri, (ii) penurunanrumus Newton-Raphsondenganbantuanderet Taylor. Rinaldi Munir - Topik Khusus Informatika I

  48. (a) Penurunanrumus Newton-Raphsonsecarageometri Gradiengarissinggungdixradalah , f '(xr)  0 RinaldiMunir - TopikKhususInformatika I

  49. (b) Penurunanrumus Newton-Raphsondenganbantuanderet Taylor • Uraikanf(xr+1) disekitarxrkedalamderet Taylor: • yang biladipotongsampaisuku orde-2 sajamenjadi f(xr+1) f(xr) + (xr+1 - xr)f '(xr) • dankarenapersoalanmencariakar, makaf(xr+1) = 0, sehingga 0 = f(xr) + (xr+1 - xr) f '(xr) atau , f '(xr)  0 Rinaldi Munir - Topik Khusus Informatika I

  50. Kondisiberhentilelaran Newton-Raphsonadalahbila xr+1 - xr<  ataubilamenggunakangalatrelatifhampiran dengandanadalahtoleransigalat yang diinginkan. Rinaldi Munir - Topik Khusus Informatika I

More Related