Laju Perubahan

Kemiringan kurva dan garis singgung.

Daftar isi

Topik ini membahas laju perubahan fungsi, mulai dari laju rata-rata pada suatu interval sampai laju sesaat di satu titik tunggal. Konsep garis potong dan garis singgung diperkenalkan melalui gambar terlebih dahulu, kemudian rumusnya dituliskan dan dihitung menggunakan NumPy. Setelah membaca, kemiringan kurva di titik mana pun dapat dihitung, diperiksa ulang secara numerik, dan dibaca ulang dari grafiknya.

Laju perubahan rata-rata#

Laju perubahan rata-rata (average rate of change) mengukur seberapa besar keluaran fungsi berubah untuk setiap satu satuan perubahan masukannya pada suatu interval. Cara menghitungnya sama dengan menghitung kemiringan garis yang melalui dua titik pada grafik fungsi, yaitu selisih keluaran dibagi selisih masukan,

laju rata-rata=f(x2)−f(x1)x2−x1=ΔyΔx. \text{laju rata-rata} = \frac{f(x_2) - f(x_1)}{x_2 - x_1} = \frac{\Delta y}{\Delta x}.

Notasi Δy\Delta y dibaca sebagai perubahan yy, sedangkan Δx\Delta x dibaca sebagai perubahan xx. Sebagai contoh konkret, pembacaan sensor suhu ruangan dicatat setiap lima menit, dan pertanyaannya adalah seberapa cepat suhu berubah pada setiap interval tersebut. Deret catatan itu diolah dengan NumPy sebagai berikut.

python Contoh: laju perubahan rata-rata dari catatan sensor
import numpy as np

# catatan sensor suhu ruangan setiap lima menit
waktu = np.array([0.0, 5.0, 10.0, 15.0, 20.0])    # menit
suhu = np.array([24.0, 25.5, 27.0, 28.0, 28.5])   # derajat Celsius

# laju perubahan rata-rata pada tiap interval
laju = np.diff(suhu) / np.diff(waktu)
for i in range(len(laju)):
    print(f"menit {waktu[i]:4.0f} ke {waktu[i + 1]:4.0f} : {laju[i]:+.3f} derajat per menit")
text Keluaran
menit    0 ke    5 : +0.300 derajat per menit
menit    5 ke   10 : +0.300 derajat per menit
menit   10 ke   15 : +0.200 derajat per menit
menit   15 ke   20 : +0.100 derajat per menit

Keluarannya memperlihatkan pemanasan yang melambat, yaitu laju +0.300+0.300 derajat per menit pada dua interval pertama, kemudian +0.200+0.200, dan terakhir +0.100+0.100. Suhu masih naik sepanjang catatan, tetapi kenaikannya semakin landai mendekati suhu ruangan yang stabil. Angka per interval inilah bahan mentah untuk pertanyaan berikutnya, yaitu laju perubahan pada satu titik waktu tertentu, misalnya tepat pada menit kesepuluh.

Dari garis potong ke garis singgung#

Garis potong (secant) adalah garis lurus yang melalui dua titik pada suatu kurva, sedangkan garis singgung (tangent) adalah garis yang menyentuh kurva di satu titik dan searah dengan kurva pada titik itu. Kedua titik pada garis potong dinyatakan sebagai aa dan a+ha + h, sehingga kemiringannya mengikuti rumus

mpotong=f(a+h)−f(a)h. m_{\text{potong}} = \frac{f(a + h) - f(a)}{h}.

Apabila hh diperkecil terus, titik kedua bergeser mendekati titik pertama dan garis potong berputar menuju posisi tertentu. Nilai kemiringan yang didekati garis potong disebut limit, dan hasilnya diberi nama kemiringan garis singgung,

msinggung=lim⁡h→0f(a+h)−f(a)h. m_{\text{singgung}} = \lim_{h \to 0} \frac{f(a + h) - f(a)}{h}.

Perhitungan pada fungsi f(x)=x2f(x) = x^2 di titik a=1a = 1 memperlihatkan proses pendekatannya. Rumus kemiringan garis potong dihitung berulang untuk nilai hh yang semakin kecil.

python Contoh: kemiringan garis potong saat h diperkecil
import numpy as np

def f(x):
    return x**2

a = 1.0
for h in (1.0, 0.5, 0.1, 0.01, 0.0001):
    kemiringan = (f(a + h) - f(a)) / h
    print(f"h = {h:8.4f} : kemiringan garis potong = {kemiringan:.6f}")
text Keluaran
h =   1.0000 : kemiringan garis potong = 3.000000
h =   0.5000 : kemiringan garis potong = 2.500000
h =   0.1000 : kemiringan garis potong = 2.100000
h =   0.0100 : kemiringan garis potong = 2.010000
h =   0.0001 : kemiringan garis potong = 2.000100

Kelima baris keluaran menuju nilai 22, dan polanya dapat ditebak dari aljabar sederhana, yaitu (1+h)2−1=2h+h2(1 + h)^2 - 1 = 2h + h^2 yang setelah dibagi hh menjadi 2+h2 + h. Semakin kecil hh, suku tambahan hh semakin tidak berpengaruh, sehingga kemiringan garis singgung kurva f(x)=x2f(x) = x^2 di x=1x = 1 adalah 22. Prosedur yang sama berlaku untuk fungsi mana pun yang kurvanya mulus di sekitar titik yang dimaksud.

Grafik berikut menggambarkan kedua garis pada satu bidang. Skripnya disimpan sebagai berkas utuh agar dapat dijalankan ulang dan disunting.

python gambar_singgung.py
import numpy as np
import matplotlib.pyplot as plt

def f(x):
    return x**2

a = 1.0
h = 1.5

x = np.linspace(-0.5, 2.6, 200)
fig, ax = plt.subplots(figsize=(6, 3.5))
ax.plot(x, f(x), color="#1a5fb4", label="f(x) = x^2")
xp = np.array([a, a + h])
ax.plot(xp, f(xp), color="#e66100", linestyle="--", label="garis potong (h = 1.5)")
xt = np.linspace(-0.2, 2.2, 50)
ax.plot(xt, f(a) + 2.0 * a * (xt - a), color="#c01c28", label="garis singgung (m = 2)")
ax.scatter([a], [f(a)], color="#c01c28", zorder=3)
ax.axhline(0.0, color="#000000", linewidth=0.8)
ax.set_xlabel("x")
ax.set_ylabel("f(x)")
ax.set_title("Garis potong menuju garis singgung ketika h mengecil")
ax.legend(loc="upper left")
fig.savefig("garis-singgung.svg")
Kurva f(x) = x^2 beserta garis potong melalui dua titiknya dan garis singgung di titik (1, 1)

Pada gambar itu, garis potong melalui x=1x = 1 dan x=2.5x = 2.5 masih menyimpang dari kurva di antara keduanya, sedangkan garis singgung hanya menyentuh kurva di sekitar satu titik. Apabila hh pada skrip diperkecil, kedua garis bertumpuk hingga sulit dibedakan. Kemiringan kedua garis pada gambar dapat dihitung langsung, yaitu 3.53.5 untuk garis potong yang melalui (1,1)(1, 1) dan (2.5,6.25)(2.5, 6.25), serta 22 untuk garis singgungnya.

Demo interaktif: memperkecil h#

Demo berikut mengulang percobaan pada tabel di atas pada kanvas yang dapat diatur. Geser penggeser hh dari nilai 22 turun mendekati 0.020.02, kemudian amati garis potong oranye yang terus berputar. Garis singgung merah putus-putus digambar sebagai pembanding tetap dengan kemiringan 22, sedangkan baris bacaan di atas kanvas menampilkan kemiringan garis potong yang dihitung langsung dari rumusnya.

Ketika hh sudah kurang dari sekitar 0.10.1, garis potong tampak menempel pada garis singgung meskipun keduanya belum benar-benar sama. Bacaan kemiringannya pun turun dari 3.003.00 menuju 2.022.02 dan seterusnya. Perilaku inilah yang dirangkum oleh tanda limit pada rumus, yaitu nilai yang didekati tanpa perlu menghitung pada h=0h = 0, karena pembagian dengan nol memang tidak terdefinisi.

Di mana hal ini ditemui dalam kode#

Pengolahan data sensor adalah penerapan paling langsung dari laju perubahan. Deret pembacaan suhu, tegangan, atau posisi yang tersimpan dalam array diubah menjadi laju menggunakan np.diff atau np.gradient, dan kedua fungsi tersebut menghitung kemiringan antara pembacaan berturutan persis seperti rumus pada topik ini. Hasilnya digunakan untuk menghitung kecepatan dari deret posisi, mendeteksi lonjakan pembacaan, atau memberi amaran ketika laju perubahan melewati ambang tertentu.

Perbedaan antara laju rata-rata dan laju sesaat juga menjelaskan pilihan ukuran interval pada kode nyata. Interval yang lebar menghasilkan laju yang halus tetapi lambat mendeteksi perubahan, sedangkan interval yang sempit responsif namun mudah terganggu oleh derau pembacaan. Pertukaran (trade-off) yang sama muncul pada pemrosesan video dengan frame differencing dan pada estimasi kecepatan dari pembacaan GPS, sehingga konsep garis potong ini menjadi bekal yang langsung terpakai.

Pustaka pengolahan sinyal membungkus perhitungan yang sama menjadi fungsi siap pakai. Fungsi np.gradient mengembalikan array laju perubahan yang panjangnya sama dengan masukannya, sehingga deret posisi dapat diubah menjadi deret kecepatan tanpa perulangan yang ditulis manual. Pemahaman rumus di balik fungsi tersebut juga memudahkan pembacaan pesan error ketika data mengandung nilai kosong atau jarak antara sampel yang tidak seragam.

Ringkasan#

  • Laju perubahan rata-rata pada suatu interval dihitung sebagai selisih keluaran dibagi selisih masukan, sama dengan kemiringan garis melalui dua titik grafik.
  • Garis potong melalui dua titik kurva berputar menjadi garis singgung apabila jarak hh antara kedua titiknya diperkecil menuju nol.
  • Kemiringan garis singgung dinyatakan sebagai lim⁡h→0f(a+h)−f(a)h\lim_{h \to 0} \frac{f(a+h) - f(a)}{h}, dan nilainya didekati secara numerik dengan memilih hh yang kecil.

Referensi#