Bab 1 Mewakili Fungsi Matematika
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
Input yang diambil oleh fungsi dan output yang dihasilkannya belum tentu berupa angka. Seringkali, mereka adalah kuantitas. Perhatikan contoh besaran berikut: uang, kecepatan, tekanan darah, tinggi, volume. Pertimbangkan uang. Kita dapat menghitung, menambah, dan mengurangi uang – sama seperti kita menghitung, menambah, dan mengurangi dengan angka. Uang sebagai ide adalah abstraksi dari jenis yang kadang-kadang disebut dimensi . Dimensi lainnya adalah panjang, waktu, volume, suhu, luas, sudut, luminositas, suku bunga bank, dan sebagainya. Ketika kita berhadapan dengan suatu besaran yang memiliki dimensi, tidak cukup memberikan angka untuk mengatakan “berapa” dari dimensi yang kita miliki. Kita juga perlu memberikan unit. 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
Saat kita merepresentasikan besaran di komputer, kita akan menggunakan nama besaran untuk mengingatkan kita apa dimensi dan satuannya.
1.2 Fungsi bahasa R
R, memiliki konstruksi pemrograman untuk mewakili operasi yang mengambil satu atau lebih input dan menghasilkan output. Di R, ini disebut “fungsi.” Di R, semua yang Anda lakukan melibatkan fungsi, baik secara eksplisit maupun implisit. Dalam R, fungsi dapat dibuat dengan kata kunci function. Misalnya, untuk membuat fungsi yang menerjemahkan pendapatan tahunan menjadi pendapatan harian, kita dapat menulis:
as_daily_income <- function(yearly_income) {
yearly_income / 365
}
Nama yang diberikan untuk argumen tidak masalah sama sekali, asalkan digunakan secara konsisten di badan fungsi. Jadi programmer mungkin telah menulis fungsi R dengan cara ini:
as_daily_income <- function(x) {
x / 365
}
atau bahkan
as_daily_income <- function(ghskelw) {
ghskelw / 365
}
Semua versi as_daily_income()wasiat yang berbeda ini melakukan hal yang persis sama dan digunakan dengan cara yang persis sama, terlepas dari nama yang diberikan untuk argumen tersebut. Seperti ini:
as_daily_income(61362)
## [1] 168.1151
Seringkali, fungsi memiliki lebih dari satu argumen. Nama-nama argumen dicantumkan di antara tanda kurung setelah kata kunci function, seperti ini:
as_daily_income <- function(yearly_income, duration) {
yearly_income / duration
}
1.3 Literasi Penggunaan Argumen
Ingatlah bahwa nama-nama yang dipilih oleh pemrogram suatu fungsi bersifat arbitrer. Anda akan menggunakan fungsi dengan cara yang persis sama meskipun namanya berbeda. Demikian pula, saat menggunakan fungsi, Anda dapat memilih sendiri ekspresi apa yang akan menjadi nilai argumen.
Misalnya, Anda ingin menghitung 100e^−2.5 Mudah:
100 * exp(-2.5)
## [1] 8.2085
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:
dose <- 100 # mg
duration <- 10 # days
time_constant <- 4 # days
dose * exp(- duration / time_constant)
## [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)
}
1.4 Sehubungan dengan …
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:
library(mosaicCalc)
## Loading required package: mosaicCore
## Loading required package: Deriv
## Loading required package: Ryacas
##
## Attaching package: 'Ryacas'
## The following object is masked from 'package:stats':
##
## integrate
## The following objects are masked from 'package:base':
##
## %*%, diag, diag<-, lower.tri, upper.tri
## Registered S3 method overwritten by 'mosaic':
## method from
## fortify.SpatialPolygonsDataFrame ggplot2
##
## 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))
This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.
When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:
summary(cars)
## speed dist
## Min. : 4.0 Min. : 2.00
## 1st Qu.:12.0 1st Qu.: 26.00
## Median :15.0 Median : 36.00
## Mean :15.4 Mean : 42.98
## 3rd Qu.:19.0 3rd Qu.: 56.00
## Max. :25.0 Max. :120.00
You can also embed plots, for example:
Note that the echo = FALSE parameter was added to the
code chunk to prevent printing of the R code that generated the
plot.