Tuesday 27 March 2012

Metode Iterative dan aplikasinya

metode ini dapat dipahami sebagi salah satu metode matematika untuk menyelesaikan persamaan atau kumpulan persamaan, dengan cara memasukkan nilai tebakan awal, lalu dilakukan pendekatan sampai nilai tersebut konvergen, pendekatan tersebut dilakukan sampai nilai error sesuai atau lebih kecil dari yang kita inginkan, karena komputer saat ini sudah berkecepatan tinggi, memasukkan nilai error sampai 0.00001 pun tidak akan menjadi kesulitan.  kondisi error lebih kecil dari pada yang kita inginkan disebut konvergen.

misalnya pada permasalahan mencari akar persamaan, perhitungan secara exact dapat dilakukan dengan memakai metode eliminasi gaus, misalnya pada Ax+b=0, namun pada persamaan non linier, metode iterative sangat banyak digunakan, karena persamaan, suku pangkat sangat susah untuk diselesaikan secara exact.
ada beberapa metode iterative yang biasa dipakai antara lain :
1. Metode newton raphson
2. Metode Secant
3. Metode Bisection
4. Metode False Position
sebenarnya masih banyak metode lain yang lebih rumit dan memusingkan, saya sebut metode advance, misalnya :
1. Newton Krylov
2. Arnoldi Iteration
3. Jacobi Method

penjelasan singkatnya adalah sebagai berikut
1. Metode Newton Raphson
saya sudah mencoba membuat alogaritma dan pemogramannya menjadi sebuah fungsi di visual basic, silahkan check di  http://bloghasnan.blogspot.com/2012/03/pemograman-newton-rapshon-sebagai.html,  kelemahan dari program yang saya buat tersebut adalah, harus memasukkan fungsi secara manual, sehingga bila terdapat fungsi lain, kita harus menuliskannya dahulu ke syntax code. metode ini ditemukan oleh Isaac Newton dan Joseph Raphson, metode ini dapat mencari nilai pendekatan dari akar persamaan sama dengan nol.
newton raphson untuk satu fariable dapat dijelaskan sebagai berikut


 misalnya diketahui sebuah fungsi f(x)=0 (garis biru), tebakan pertama (x1) menghasilkan slope (garis merah), pada titik perpotongan dengan sumbu maka didapatkan nilai x2 yang lebih mendekati, nilai x2 didapatkan dari nilai x1 dikurangi f(x)/f'(x), dari nilai x2 dihitung nilai f(x) lalu didapatkan slope yang lebih mendekati, dan seterusnya sampai pendekatan tersebut mendekati nol, seberapa dekat?? semampu komputer menghitung saya rasa.
Definisi dari turunan f'(x) sebuah fungsi f(x) adalah

sehingga nilai xn adalah


2. Metode Secant
metode ini dikembangkan terpisah dari newton, namun secara prinsip metode secant adalah metode untuk menentukan akar-akar persamaan yang sering disebut sebagai pendekatan finite different dari metode newton-raphson, untuk lebih jelasnya perhatikan gambar berikut ini

sesuai pada gambar diatas, untuk menebak nilai yang mendekati f(x) maka dibutuhkan dua buah tebakan, yaitu x0 dan x1, lalu didapatkan nilai x2, rumus untuk menghitung nilai x ke n untuk metode secant adalah



3. Metode Bisection
metode ini adalah metode pencarian akar persamaan dengan cara membelah suatu fungsi dalam interval tertentu, lalu interval tersebut diperkecil, secara berurutan sampai didapatkan nilai x yang mendekati f(x)=0, secara grafis dapat dilihat pada gambar dibawah berikut

analisis intervalnya

alogaritmanya adalah :
INPUT: Function f, endpoint values a, b, tolerance TOL, maximum iterations NMAX
CONDITIONS: a < b, either f(a) < 0 and f(b) > 0 or f(a) > 0 and f(b) < 0
OUTPUT: value which differs from a root of f(x)=0 by less than TOL

N ← 1
While NNMAX { limit iterations to prevent infinite loop
  c ← (a + b)/2 new midpoint
  If (f(c) = 0 or (ba)/2 < TOL then { solution found
    Output(c)
    Stop
  }
  NN + 1 increment step counter
  If sign(f(c)) = sign(f(a)) then ac else bc new interval
}
Output("Method failed.") max number of steps exceeded
 
(Burden, Richard L.; Faires, J. Douglas (1985), "2.1 The Bisection Algorithm", Numerical Analysis (3rd ed.), PWS Publishers)

4. False Position
 metode ini sering disebut juga dengan regula falsi yaitu metode untuk mencari akar persamaan dengan cara menebak x lalu fungsi akan mengembalikan dengan arah berlawanan, proses tersebut diulang sampai didapatkan nilai f(x) dengan error mendekati nol

bila diambil dari dua titik, didapatkan

dengan y=0, dan y1=f(x1) penyelesaian Xn dapat didekati dengan iterasi


metode manakah yang lebih effisien, lebih cepat melakukan perhitungan? sepertinya perlu dibuat programnya satu per satu lalu dibandingkan hasilnya, ada yang mau bantu?


Referensi
1. iterative for optimization : www.caam.rice.edu/~zhang/caam554/KelleyBooks/fr18_book.pdf
2. Iterative for linier and non linier system : www.caam.rice.edu/~zhang/caam454/KelleyBooks/fr16_book.pdf
3.   Iterative Solution Methods :  Oleh Owe Axelsson
4. Solving nonlinear equations with Newton's method  Oleh C. T. Kelle
5. Numerical analysis oleh Richard L. Burden, J. Douglas Faires
6.  Computer solution of large linear systems  Oleh Gérard Meurant

Aknowledment
Many thanks to Google books.

13 comments:

mas hasnan.. yang arnoldi iteration saya baru tau nih.. kira2 bedanya dgn yg lain apa ya?
terima kasih

metodenya menggunakan tebakan matrix, lebih lengkapnya silahkan berkunjung ke sini nie : http://en.wikipedia.org/wiki/Arnoldi_iteration

Mas hasnan, apa bedanya metode yang biasa kita kenal dengan metode advance yang ada di postingan mas hasnan?? Itu lebih bagus yang mana? hasilnya sama??

salam,

arandityonarutomo.blogspot.com

Mas Hasnan, keep posting ya..
bagus-bagus ya isi blognya..
semangat..

Mas dari banyak metode diatas kira2 tingkat keerroran yang kecil yang mana ya?

bang rantot: maksud advance sebenarnya ada dua disini: 1 karena metode itu diturunkan dari metode yang sudah ada, 2. karena saya juga baru tahu ada metode lain, heheheheh
@helmi : kalau semuanya ga tahu saya hel, berdasarkan program yang sudah dibuat bisection dan newton, hasilnya bagusan newton, tapi ko newton salah prediksi juga lebih ancur seh..heheh
@enggar : thanks...yang cfd blum sempet ngepost jadinya

ohh ada metoda advance.. baru tw jg saya,hee thq mas postingnya =D

Blog Mas Hasnan keren...

Isi blognya bagus dan lengkap termasuk yang satu ini...

Keep posting Mas, Semangat!

Visit my blog

mhs.blog.ui.ac.id/daniel81 :D

wahh zuppa!!
postingannya mas hasnan bagus-bagus deh..
jadi tertarik liat postingan yang lain.hehee

setelah membaca posting mas, saya menjadi lebih memahami konsep awal dari setiap metode-metode tersebut. Yang mau saya tanyakan mas, ada ga sih cara untuk menentukan tebakan nilai awal pada metode Bisecant, nilai a dan b nya. Karena saya pernah baca kalo nilai tebakan awalnya jauh, maka hasilnya akan divergen. Mohon pencerahannya yah mas. Thx :-)

kalaw matode jacobi sama arnoldi itu gmn mas?
tengkyu

mas hasnan, izin share ya. bagus sekali postingannya. terima kasih

@irawan :senin aja ya kita bahas

Post a Comment