Nama dan NIM : Nadia Din Salima Al Kamila (230605110140)

Dosen Pengampu : Prof. Dr. Suhartono, M.Kom

Universitas : Universitas Islam Negeri Maulana Malik Ibrahim Malang

Fakultas : Sains dan Teknologi

Program Studi : Teknik Informatika

library(mosaicCalc)
## Loading required package: mosaic
## Registered S3 method overwritten by 'mosaic':
##   method                           from   
##   fortify.SpatialPolygonsDataFrame ggplot2
## 
## The 'mosaic' package masks several functions from core packages in order to add 
## additional features.  The original behavior of these functions should not be affected by this.
## 
## Attaching package: 'mosaic'
## The following objects are masked from 'package:dplyr':
## 
##     count, do, tally
## The following object is masked from 'package:Matrix':
## 
##     mean
## The following object is masked from 'package:ggplot2':
## 
##     stat
## The following objects are masked from 'package:stats':
## 
##     binom.test, cor, cor.test, cov, fivenum, IQR, median, prop.test,
##     quantile, sd, t.test, var
## The following objects are masked from 'package:base':
## 
##     max, mean, min, prod, range, sample, sum
## Loading required package: mosaicCore
## 
## Attaching package: 'mosaicCore'
## The following objects are masked from 'package:dplyr':
## 
##     count, tally
## The legacy packages maptools, rgdal, and rgeos, underpinning the sp package,
## which was just loaded, will retire in October 2023.
## Please refer to R-spatial evolution reports for details, especially
## https://r-spatial.org/r/2023/05/15/evolution4.html.
## It may be desirable to make the sf package available;
## package maintainers should consider adding sf to Suggests:.
## The sp package is now running under evolution status 2
##      (status 2 uses the sf package in place of rgdal)
## 
## Attaching package: 'mosaicCalc'
## The following object is masked from 'package:stats':
## 
##     D

ITERASI

Banyak perhitungan melibatkan memulai dengan tebakan yang diikuti oleh proses langkah demi langkah untuk menyempurnakan tebakan. Contoh kasus 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. Ketika kita menulis x−−√

kami tidak mengatakan bagaimana menghitung output, hanya menggambarkan jenis output yang kami cari.


 Fungsi yang sering digunakan untuk menghitung x−−√
lebih baik(): betterguess=12(guess=+xguess)

Mungkin sama sekali tidak jelas mengapa rumus ini terkait dengan menemukan akar kuadrat. Mari kita hentikan masalah itu sampai akhir bagian dan konsentrasikan perhatian kita pada cara menggunakannya.

Untuk memulai, mari kita definisikan fungsi untuk komputer:
better <- makeFun((guess + x/guess)/2 ~ guess)

Perhatikan bahwa X dilemparkan dalam peran parameter fungsi daripada masukan ke fungsi.

Misalkan kita ingin menerapkan fungsi akar kuadrat ke input 55, yaitu, hitung x−−√=. Nilai yang harus kita tetapkan Oleh karena itu 55.

Untuk menghitung lebih baik (tebak) kita tidak hanya perlu 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 tebak = 1, terlepas dari nilai x Menghitung hasil …


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

Baik tebakan kita 1 maupun output 28 tidak x−−√=55. (Setelah lama menghafal kuadrat bilangan bulat, kita tahu x−−√=55 akan berada di suatu tempat antara 7 dan 8. Baik 1 maupun 28 tidak ada dalam interval itu.)


 Di sinilah iterasi berperan. Meskipun 28 merupakan tebakan yang lebih baik daripada 1, 28 tetap saja bukan tebakan yang baik. Tapi kita bisa menggunakan lebih baik() untuk menemukan sesuatu yang lebih baik dari 28:
better(28, x=55)
## [1] 14.98214
## [1] 14.98214

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

Melanjutkan iterasi kami dari better() …




```r
better(14.98214, x=55)
## [1] 9.326589
## [1] 9.326589
## [1] 9.326589
## [1] 7.611854
## [1] 7.418713
## [1] 7.416199
## [1] 7.416198

Pada langkah terakhir, keluaran dari lebih baik() praktis identik dengan masukan, jadi tidak ada alasan untuk melanjutkan. Kami dapat mengonfirmasi bahwa keluaran terakhir adalah tebakan yang bagus x−−√=55




```r
7.416198^2 ## [1] 54.99999
## [1] 54.99999