Nama : Abdan Nawwaf El Hibban

NIM : 230605110066

Dosen : Prof. Dr. Suhartono,M.Kom

Prodi : Teknik Informatika

Universitas : UIN Maulana Malik Ibrahim Malang

library(mosaicCalc)

Banyak perhitungan melibatkan dimulai dengan tebakan diikuti dengan proses langkah demi langkah untuk menyempurnakan tebakan. Contoh kasusnya adalah proses untuk menghitung akar kuadrat. Tidak ada rumus operasional untuk fungsi yang mengambil angka sebagai input dan menghasilkan akar kuadrat dari angka itu sebagai output. Mungkin sama sekali tidak jelas mengapa rumus ini terkait dengan menemukan akar kuadrat. Mari kita hentikan masalah itu sampai akhir bagian dan memusatkan perhatian kita pada cara menggunakannya.Untuk memulai, mari kita tentukan fungsi untuk komputer:

better <- makeFun((guess + x/guess)/2 ~ guess)
better
## function (guess, x) 
## (guess + x/guess)/2

Untuk menghitung lebih baik (tebak) kita tidak perlu hanya x=55 Tapi nilai untuk tebakan. Apa yang seharusnya menjadi nilai ini dan apa yang akan kita lakukan dengan kuantitas yang lebih baik (tebak) ketika kita telah menghitungnya.

Tanpa penjelasan, kita akan menggunakan guess = 1, terlepas dari nilai x. Menghitung output …

better(1, x=55)
## [1] 28

Baik 1 maupun 28 tidak berada dalam interval itu.)

Orang-orang — lebih dari dua ribu tahun yang lalu — yang menemukan ide-ide di balik fungsi tersebut yakin bahwa membangun tebakan yang lebih baik untuk jawaban yang kita cari. Tidak jelas mengapa 28 harus menjadi tebakan yang lebih baik daripada 1 untuk better()better() Di sinilah iterasi masuk. Bahkan jika 28 adalah tebakan yang lebih baik daripada 1, 28 masih bukan tebakan yang baik. Tetapi kita dapat menggunakan untuk menemukan sesuatu yang lebih baik dari 28:better()

better(28, x=55)
## [1] 14.98214

Mengulangi tindakan berarti melakukan tindakan itu berulang kali. (“Iterasi” berasal dari kata Latin iterum, yang berarti “lagi.”) Seekor burung mengulangi panggilannya, menyanyikannya berulang-ulang. Dalam matematika, “iterate” memiliki twist. Ketika kita mengulangi tindakan matematika, kita akan menggambar pada hasil sudut sebelumnya daripada hanya mengulangi perhitungan sebelumnya.

Melanjutkan iterasi kami better() …

Iterate(better(guess, x=55) ~ guess, x0=1, n=8)
##   n     guess
## 1 0  1.000000
## 2 1 28.000000
## 3 2 14.982143
## 4 3  9.326590
## 5 4  7.611854
## 6 5  7.418713
## 7 6  7.416199
## 8 7  7.416198
## 9 8  7.416198

Pada langkah terakhir, output dari praktis identik dengan input, jadi tidak ada alasan untuk melanjutkan. Kami dapat mengonfirmasi bahwa output terakhir adalah tebakan yang bagus untuk better()

7.416198^2
## [1] 54.99999