Okay, pada kesempatan kali ini kita akan membahas functional programming ML untuk mencari nilai akar real dari sebuah bilangan a. Berikut adalah code-nya, silakan dilihat dan dipelajari:
fun findroot (a, x, acc) = let val nextx = (a/x + x) / 2.0 in if abs (x-nextx) < acc*x then nextx else findroot (a, nextx, acc) end; fun sqroot a = findroot (a, 1.0, 1.0E~10);
Kita dapat juga menulis fungsi tersebut dengan menggunakan metode seperti di bawah ini, sehingga terdapat fungsi di dalam fungsi. Check this out!
fun sqroot a = let val acc = 1.0E~10 fun findroot x = let val nextx = (a/x + x) / 2.0 in if abs (x-nextx) < acc*x then nextx else findroot nextx end in findroot 1.0 end;
Ya cukup sekian kodingan untuk menemukan atau find nilai real dari operasi akar atau square roots dari sebuah bilangan a di atas. Semoga dapat memberikan inspirasi bagi semua. Silakan mencoba, terima kasih.
Recent Comments