##
## **BAB 1**
**Mewakili Fungsi Matematika**
Topik kalkulus pada dasarnya adalah tentang fungsi matematika dan operasi yang dilakukan pada mereka. Konsep "fungsi matematika" adalah sebuah ide. Jika kita akan menggunakan bahasa komputer untuk bekerja dengan fungsi matematika, kita perlu menerjemahkannya ke dalam beberapa entitas dalam bahasa komputer. Artinya, kita memerlukan konstruksi bahasa untuk *merepresentasikan* fungsi dan kuantitas yang diambil fungsi sebagai input dan dihasilkan sebagai output.
##
## 1.1 Angka, besaran, dan nama
Dalam buku ini kita akan menggunakan fungsi dan kalkulus untuk bekerja dengan kuantitas dunia nyata. Kita tidak bisa mengabaikan dimensi dan satuan. Sayangnya, bahasa komputer utama seperti R dan Python dan JavaScript tidak menyediakan cara sistematis untuk menangani dimensi dan unit secara otomatis. Di R, misalnya, kita dapat dengan mudah menulis
x <- 7
Kurangnya notasi komputer yang tepat untuk mewakili kuantitas berdimensi dengan satuannya, kita memerlukan beberapa cara lain untuk melacak berbagai hal.
## 1.2 Fungsi bahasa R
Mari kita lihat versi R dari fungsi matematika, eksponensial. Fungsi diberi nama `exp`dan kita dapat melihat pemrograman yang dikandungnya
exp
## function (x) .Primitive("exp")
## 1.3 Literasi penggunaan argumen
Dalam menulis perhitungan, ada baiknya untuk memperjelas dan menjelaskan arti dari setiap besaran yang digunakan dalam perhitungan. Jadi, alih-alih `100 * exp(-2.5)`, Anda mungkin ingin menulis:
```r
dose <- 100 # mg
duration <- 10 # days
time_constant <- 4 # days
dose * exp(- duration / time_constant)
## [1] 8.2085
## [1] 8.2085
Lebih ’baik; lagi, Anda bisa mendefinisikan fungsi yang melakukan perhitungan untuk Anda:
drug_remaining <- function(dose, duration, time_constant) {
dose * exp(- duration / time_constant)
}
Kemudian, melakukan perhitungan untuk situasi tertentu yang dijelaskan di atas adalah masalah penggunaan fungsi:
drug_remaining(dose = 100, duration = 10, time_constant = 4)
## [1] 8.2085
Dengan menggunakan nama deskriptif yang baik dan secara eksplisit melabeli argumen yang mana, Anda menghasilkan dokumentasi yang jelas dan terpelajar tentang apa yang ingin Anda lakukan dan bagaimana orang lain, termasuk “Anda di masa depan”, harus mengubah hal-hal untuk mewakili situasi baru.
Kami telah menggunakan fungsi R untuk mewakili perhitungan jumlah dari input seperti dosis dan konstanta waktu obat.
Kami telah menggunakan fungsi R untuk mewakili perhitungan jumlah dari input seperti dosis dan konstanta waktu obat.
Dalam buku ini, kita akan menggunakan operasi yang disediakan oleh
paket mosaicand mosaicCalcuntuk R. Operasi
dari paket ini memiliki notasi yang sangat spesifik untuk diekspresikan
sehubungan dengan . Notasi tersebut menggunakan karakter tilde,
~. Berikut cara menggambar grafik yang kita inginkan,
menggunakan slice_plot()operasi paket:
```r
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
##
## Attaching package: 'mosaicCalc'
## The following object is masked from 'package:stats':
##
## D
slice_plot(
drug_remaining(dose = 100, time_constant = 4, duration = t) ~ t,
domain(t = 0:20))
Grafik yang tepat akan diberi label dengan benar, misalnya sumbu horizontal dengan “Waktu (hari)” dan sumbu vertikal dengan “Sisa obat (mg)”. Anda akan melihat bagaimana melakukannya di bab berikutnya, yang mengeksplorasi operasi grafik fungsi secara lebih rinci.