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)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
delfx = (fx(x + 0.000001 * x) - fx(x)) / (0.000001 * x) ' mencari differensial
End Function
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