Aljabar pada chapter sebelumnya bekerja pada satu persamaan dalam satu kondisi. Data science bekerja pada hubungan: bagaimana biaya berubah ketika jumlah pembelian berubah, bagaimana penjualan bergerak ketika harga naik. Bahasa matematis untuk hubungan semacam itu adalah fungsi, dan gambar visualnya adalah grafik. Model machine learning yang akan kita pakai belakangan pada dasarnya juga fungsi — mesin yang menerima data dan mengeluarkan prediksi. Pada chapter ini kita membiasakan diri membaca fungsi dari dua arah: melalui rumusnya dan melalui bentuk grafiknya.
Fungsi sebagai Mesin Pemetaan #
Fungsi adalah aturan yang memetakan setiap masukan menjadi tepat satu keluaran. Kita menuliskannya sebagai f(x) — dibaca “f dari x” — dengan x sebagai masukan dan hasil pemetaannya sebagai keluaran. Sebuah paket kopi di Toko Kopi Kita, misalnya, mematok biaya 3000 rupiah per gelas ditambah biaya kemasan tetap 5000 rupiah; fungsi f(n) = 3000n + 5000 memetakan jumlah gelas ke total biaya. Membaca fungsi lewat tabel nilai adalah cara termurah memahami perilakunya sebelum menggambar apa pun:
def biaya_paket(jumlah_kopi):
"""Biaya (Rp) membeli n gelas kopi dalam satu paket."""
return 3000 * jumlah_kopi + 5000
for n in range(1, 6):
print(f"{n} gelas -> Rp{biaya_paket(n)}")Output yang Dihasilkan:
1 gelas -> Rp8000
2 gelas -> Rp11000
3 gelas -> Rp14000
4 gelas -> Rp17000
5 gelas -> Rp20000Mari kita telaah baris-baris kode di atas:
- Baris 1-3 (
def biaya_paket): fungsi di Python adalah wujud langsung definisi matematisf(n) = 3000n + 5000— masukanjumlah_kopi, keluaran hasil perhitungan. - Baris 5-6 (
for n ...): loop mencoba lima masukan berurutan dan mencetak pasangan masukan-keluaran. Dari tabel terlihat pola yang penting: setiap kenaikan satu gelas menaikkan biaya tepat 3000 rupiah.
Fungsi Linear: Membaca Slope dan Intercept #
Bentuk fungsi yang paling sering kita jumpai adalah linear: y = mx + b. Dua parameter di dalamnya punya tafsir yang langsung berguna. Slope m menyatakan seberapa besar y berubah setiap x naik satu satuan; intercept b menyatakan nilai y saat x bernilai nol. Pada contoh paket kopi, slope 3000 adalah biaya per gelas dan intercept 5000 adalah biaya tetap kemasan.
Menemukan slope dari data nyata cukup memakai dua titik pengamatan. Catatan penjualan kafe mencatat 18 gelas terjual pada hari ke-2 dan 34 gelas pada hari ke-6; slope adalah perubahan y dibagi perubahan x, lalu intercept diperoleh dengan memasukkan salah satu titik kembali:
hari1, gelas1 = 2, 18 # hari ke-2 tercatat 18 gelas terjual
hari2, gelas2 = 6, 34 # hari ke-6 tercatat 34 gelas terjual
slope = (gelas2 - gelas1) / (hari2 - hari1)
intercept = gelas1 - slope * hari1
print(f"Slope : {slope} gelas per hari")
print(f"Intercept : {intercept}")
print(f"Model : y = {slope}x + {intercept}")
prediksi_10 = slope * 10 + intercept
print(f"Prediksi hari ke-10: {prediksi_10} gelas")Output yang Dihasilkan:
Slope : 4.0 gelas per hari
Intercept : 10.0
Model : y = 4.0x + 10.0
Prediksi hari ke-10: 50.0 gelasModel y = 4x + 10 menyatakan tren penjualan naik empat gelas per hari. Slope positif berarti tren naik; slope negatif berarti tren menurun. Gerakan seperti inilah yang kelak dipakai regresi linear untuk menemukan garis terbaik dari puluhan titik data, bukan hanya dua.
Fungsi Kuadrat: Ketika Perubahan Ikut Berubah #
Fungsi linear mengasumsikan perubahan yang tetap. Banyak hubungan nyata tidak sepatuh itu: keuntungan iklan makin lama makin kecil hasilnya, harga makin murah tetapi total pendapatan tidak melulu naik. Fungsi kuadrat y = ax^2 + bx + c menangkap perilaku semacam ini — perubahannya sendiri berubah. Kita periksa lewat tabel nilai untuk f(x) = -2x^2 + 20x + 30:
def f(x):
return -2 * x**2 + 20 * x + 30
for x in range(0, 11):
print(f"f({x:2d}) = {f(x):3d}")Output yang Dihasilkan:
f( 0) = 30
f( 1) = 48
f( 2) = 62
f( 3) = 72
f( 4) = 78
f( 5) = 80
f( 6) = 78
f( 7) = 72
f( 8) = 62
f( 9) = 48
f(10) = 30Perhatikan dua hal dari tabel tersebut. Pertama, nilai naik dari 30 ke 80 lalu turun kembali ke 30 — ada puncak di x = 5 dengan nilai 80. Kedua, nilai pada x = 4 dan x = 6 sama-sama 78; tabel simetris mengelilingi puncak. Koefisien -2 pada suku kuadrat menyebabkan parabola membuka ke bawah; koefisien positif akan membuatnya membuka ke atas dengan titik terendah.
Membaca Bentuk Lewat Grafik #
Tabel nilai memuat informasi yang sama dengan grafik, tetapi mata kita jauh lebih cepat menangkap bentuk dari gambar. Kode berikut menggambar fungsi linear y = 4x + 10 dan fungsi kuadrat y = -2x^2 + 20x + 30 pada satu bidang:
import matplotlib.pyplot as plt
x = list(range(0, 11))
y_linear = [4 * nilai + 10 for nilai in x]
y_kuadrat = [-2 * nilai**2 + 20 * nilai + 30 for nilai in x]
fig, ax = plt.subplots(figsize=(7, 4))
ax.plot(x, y_linear, marker="o", label="y = 4x + 10")
ax.plot(x, y_kuadrat, marker="s", label="y = -2x^2 + 20x + 30")
ax.set_xlabel("Nilai x")
ax.set_ylabel("Nilai y")
ax.set_title("Perbandingan fungsi linear dan kuadrat")
ax.legend()
plt.show()Grafiknya memperlihatkan dua bentuk yang khas. Fungsi linear tampil sebagai garis lurus yang menanjak dengan kemiringan tetap — jarak vertikal antar titik selalu sama. Fungsi kuadrat tampil sebagai parabola: menanjak makin landai ketika mendekati puncak di sekitar x = 5, berhenti sejenak di nilai 80, lalu menurun makin curam. Kemampuan menebak bentuk grafik dari sekadar membaca rumus — dan sebaliknya menebak rumus dari bentuk — adalah keahlian inti saat kita membedah kurva loss function pada materi machine learning.
| Sifat | Fungsi linear y = mx + b | Fungsi kuadrat y = ax^2 + bx + c |
|---|---|---|
| Bentuk grafik | Garis lurus | Parabola |
| Laju perubahan | Tetap sebesar m | Berubah mengikuti x |
| Ekstrem | Tidak punya puncak/lembah | Punya puncak (a < 0) atau titik terendah (a > 0) |
| Contoh tafsiran | Biaya per unit, tren penjualan | Hasil iklan yang makin jenuh |
Rangkuman #
- Fungsi memetakan setiap masukan ke tepat satu keluaran;
f(x)adalah notasi bakunya. - Pada
y = mx + b, slopemadalah perubahanyper satu satuanx, dan interceptbadalah nilaiysaatx = 0. - Slope dari dua titik data dihitung dengan selisih
ydibagi selisihx— fondasi regresi linear. - Fungsi kuadrat menghasilkan parabola dengan satu titik ekstrem; koefisien
amenentukan arah membukanya. - Grafik dan tabel nilai menyampaikan informasi yang sama; grafik unggul dalam menunjukkan bentuk.
Kita kini punya kosakata untuk hubungan antar besaran. Tetapi perhatikan bahwa hampir semua contoh pada chapter ini berakhir di satu kegiatan yang berulang: menjumlahkan nilai demi nilai, baik saat mengisi tabel maupun saat menghitung perubahan. Matematika punya notasi ringkas untuk penjumlahan berulang itu, dan notasi itulah yang mengisi hampir setiap rumus statistika — kita bahas pada chapter berikutnya, Notasi Sigma dan Operasi Penjumlahan .