Lewati ke isi
JRG++JRG++ v0.2.0

Bab 9 · Konsep Lanjutan

Fungsi Matematika

Fungsi adalah "mesin" konsisten: masukkan sesuatu, dapatkan hasil yang bisa diprediksi. Notasi f(x) hanyalah cara formal menuliskan mesin itu.

Konsepf(x) = mesin input-output

f(x) = 2x + 3 dibaca: "fungsi f, dengan input x, menghasilkan 2 kali x ditambah 3." f(x) BUKAN f dikali x — f adalah nama mesinnya, x adalah bahan yang dimasukkan.

f(x) = 2x + 3
f(4) = 2(4)+3 = 8+3 = 11
f(0) = 2(0)+3 = 3
f(−1) = 2(−1)+3 = −2+3 = 1

Domain & Range — batasan mesin

Domain = semua input yang boleh dimasukkan ke mesin. Range = semua kemungkinan hasil yang bisa keluar.

DomainNilai x yang valid
RangeNilai f(x) yang mungkin

Contoh: untuk f(x) = 1/x, domain-nya adalah semua bilangan real kecuali 0 — karena membagi dengan nol tidak terdefinisi (ingat Bab 3!).

Latihan mandiri

1. Jika g(x) = x² − 1, berapa g(3)?

2. Jika h(x) = 5, berapa h(100)? (fungsi konstan)

Jawaban 1: 3²−1 = 9−1 = 8
Jawaban 2: 5 — fungsi konstan selalu mengembalikan nilai sama berapa pun inputnya.

Kode JRGFungsi di kode = fungsi di matematika

Ini titik temu paling langsung di seluruh materi: fn f(x: float) -> float di JRG secara literal adalah f(x) di matematika. Sama persis konsepnya — input masuk, aturan dijalankan, output keluar.

fungsi.jrg
fn f(x: float) -> float {
    return 2.0 * x + 3.0
}

pub fn main() {
    wok("f(4) =", f(4.0))
    wok("f(0) =", f(0.0))
    wok("f(-1) =", f(-1.0))
}
f(4) = 11.0
f(0) = 3.0
f(-1) = 1.0

Kuis 1

Jika f(x) = 3x − 2, berapa f(5)?

Kuis 2

f(x) dibaca sebagai...

Kuis 3

Untuk f(x) = 1/x, nilai x berapa yang TIDAK termasuk domain?