Sunday 25 March 2012

Pemograman Newton Rapshon sebagai fungsi didalam VBA excell

salah satu kemudahan VBA adalah pemograman menggunakan function, dengan membuat fungsi sendiri, kita dapat dengan mudah memanggilnya kapan saja melalui excell, seperti halnya perintah sum(...) untuk menjumlah, langkah-langkahnya adalah sebagai berikut

1. buka MS Excell
2. Masuk ke Developer Tab (ms. 2007),
3. klik Visual basic icon, maka kita akan masuk ke penulisan program
4. insert module, caranya klik kanan, insert, module seperti gambar dibawah berikut


Alogaritma
alogaritma yang dipakai untuk newton raphson adalah

1. setting nilai loop awal (iloops)
2. baca x, err
3. baca fx
4. hitung f'0
5. Do
6 iloops = iloops + 1
7. hitung f0 = fx(0)
8. hitung f'0 = f'(x0)
9.setting xnew = x - f0 / f'0
10. x = x0
11. loop until fx < err
12. tulis x
13. stop


bila alogaritma diatas ditulis ingin ditulis dalam bentuk bahasa program, sehingga bisa dibaca melalui visual basic, langkah pertama adalah menuliskannya dalam module, ingat bukan pada form, jadi double klik module yang sudah di masukkan, bila tempat menuliskan code sudah muncul, tuliskan code seperti berikut


Function newton(x, err)
iloops = 0              ' loop pertama, = 0
Do
 iloops = iloops + 1            'menghitung proses iterasi
 newtfx = fx(x)                 'memberikan fungsi baru
 newtdfx = delfx(x)             'nilai turunan
 xnew = x - newtfx / newtdfx    'rumus newton
 x = xnew                       ' ganti nilai x
Loop Until ((Abs(newtfx) < err) Or (iloops > 30)) 'looping minimal 30, atau sampai lebih kecil dari nilai error
 newton = x                     'menuliskan nilai x pada fungsi newton
End Function

Function fx(x)
fx = x ^ 2 - 25 ' tuliskan persamaannya disini
End Function

Function delfx(x)
   delfx = (fx(x + 0.000001 * x) - fx(x)) / (0.000001 * x) ' mencari differensial
End Function
dalam program ini, fungsi f(x) harus dimasukkan secara manual, integrasi dengan tombol dan cell memang seharusnya dilakukan, namun pembacaan fungsinya akan error bila hal tersebut dilakukan, mungkin ada cara lain, silahkan dikomentari


Hasil
cara penulisannya adalah
1. masukkan nilai tebakan awal x0 pada sembarang cell
2. masukkan nilai error pada sembarang cell
3. pada cell yang dituju ketikkkan newton (x0,error)

sebagai contoh diatas, nilai fungsi yang saya masukkan adalah f(x) = x^2-25 = 0, seperti pada buku "computer oriented numerical method" hal 48, dan hasilnya tepat 5


hasil excel, dan contoh program lainya dapat didownload pada link dibawah berikut, semoga bermanfaat





8 comments:

Waduh...Dahsyat nih mas Hasnam...Lanjutkan....
Sharing ilmu dong, ane kurang ngerti ttg metoda newton raphson, bisa jadi inspirasi blog belajar nih...
Mas Hasnam, iloops apaan?????

itu variable untuk looping ke i, gitu kurang lebih, download aja tuh excellnya, silahkan buat belajar

Wah ini mas hasnan emang beda daripada yang lain, saya aja ga kebayang kalo pake loop..Itu cara kerjanya gimana mas??Wah bisa belajar dari mas hasnan nih..

salam,

arandityonarutomo.blogspot.com

super sekali mas Hasnan..
Menambah pengetahuan neyh, terutama penggunaan module and microsoft excel secara langsung untuk membuat program,,
super sekali..

ya enaknya ga usah bikin form khan, hehehhe
klo coding nya seh sama juga, susah juga

asikk ud mencoba newton raphson, ijin mengunduh dari menu download ya.. =D nice posting..

mas klo di coba di vb agak susah ya, wadoohh.. senen konsultasi ya mas,thq

wah sumpah, mas hasnan mantab, kapan2 saya coba yaa,terus berkarya mas bro hasnan,hehehe

salam hangat

Post a Comment