Transformasi Fungsi

Pergeseran dan peregangan grafik fungsi.

Daftar isi

Topik ini membahas transformasi grafik fungsi, yaitu pergeseran vertikal dan horizontal, peregangan, serta refleksi. Setiap aturan transformasi dijelaskan bersama alasannya, diverifikasi dengan tabel nilai menggunakan NumPy, dan divisualisasikan pada parabola f(x)=x2 f(x) = x^2 . Setelah membaca, bentuk a(x−h)2+k a(x - h)^2 + k dapat dibaca sebagai rangkaian transformasi yang lengkap, dan arah setiap pergeseran dapat ditentukan tanpa menebak.

Pergeseran grafik#

Transformasi mengubah posisi atau bentuk grafik fungsi tanpa mengubah aturan intinya. Pergeseran (shift) adalah transformasi yang paling dasar. Menambahkan konstanta pada keluaran, f(x)+k f(x) + k , menggeser seluruh grafik ke atas sejauh k k satuan, sedangkan k k negatif menggesernya ke bawah. Operasi ini bekerja pada keluaran, sehingga setiap nilai fungsi bertambah sama banyak.

Menambahkan konstanta pada masukan bekerja dengan arah yang berbeda. Grafik f(x−h) f(x - h) bergeser ke kanan sejauh h h satuan, karena fungsi membutuhkan masukan yang lebih besar untuk menghasilkan nilai yang sama. Sebagai contoh, (x−2)2 (x - 2)^2 bernilai nol pada x=2 x = 2 , bukan pada x=0 x = 0 , sehingga titik terendah parabolanya ikut pindah ke kanan. Nilai h h negatif menghasilkan pergeseran ke kiri dengan cara yang sama.

Gambar berikut menampilkan parabola dasar bersama hasil geser kanan dua satuan dan geser atas satu satuan. Ketiganya digambar oleh contoh berikut, lalu disimpan sebagai berkas SVG. Titik terendah masing-masing kurva berpindah dari titik asal ke (2,0) (2, 0) dan ke (0,1) (0, 1) .

python Contoh: menggambar pergeseran parabola
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-2.0, 4.0, 200)
fig, ax = plt.subplots(figsize=(6, 3))
ax.plot(x, x**2, color="#77767b", linestyle="--", label="f(x) = x^2")
ax.plot(x, (x - 2.0)**2, color="#1a5fb4", label="f(x - 2), geser kanan 2")
ax.plot(x, x**2 + 1.0, color="#c01c28", label="f(x) + 1, geser atas 1")
ax.axhline(0.0, color="#000000", linewidth=0.8)
ax.axvline(0.0, color="#000000", linewidth=0.8)
ax.set_xlabel("x")
ax.set_ylabel("y")
ax.set_title("Pergeseran parabola ke kanan dan ke atas")
ax.legend(loc="upper left")
fig.savefig("pergeseran.svg")
Parabola dasar, hasil geser kanan dua satuan, dan hasil geser atas satu satuan

Peregangan dan refleksi#

Mengalikan keluaran dengan konstanta a a menghasilkan peregangan vertikal (vertical stretch). Nilai a>1 a > 1 menarik grafik menjauhi sumbu-x sehingga kurvanya terlihat lebih sempit dan tinggi, sedangkan 0<a<1 0 < a < 1 mendekatkannya ke sumbu-x. Refleksi (reflection) −f(x) -f(x) membalik grafik terhadap sumbu-x karena semua keluaran berubah tanda, sedangkan f(−x) f(-x) membalik terhadap sumbu-y karena semua masukan berubah tanda. Faktor a a juga mengubah daerah hasil, karena setiap keluaran dikalikan dengannya. Untuk f(x)=x2 f(x) = x^2 yang daerah hasilnya [0,∞) [0, \infty) , faktor 2 tetap menjaga daerah hasil itu, sedangkan refleksi mengubahnya menjadi (−∞,0] (-\infty, 0] .

Gambar berikut membandingkan x2 x^2 dengan hasil peregangan faktor dua dan hasil refleksinya. Contoh berikut menggambar ketiganya, lalu menyimpannya sebagai berkas SVG. Ketiga kurva bertemu di titik asal karena titik itu tidak berpindah oleh peregangan maupun refleksi. Titik yang tidak bergerak seperti ini menjadi patokan cepat untuk memeriksa arah suatu transformasi.

python Contoh: menggambar peregangan dan refleksi parabola
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-2.5, 2.5, 200)
fig, ax = plt.subplots(figsize=(6, 3))
ax.plot(x, x**2, color="#77767b", linestyle="--", label="f(x) = x^2")
ax.plot(x, 2.0 * x**2, color="#1a5fb4", label="2 f(x), regang vertikal")
ax.plot(x, -x**2, color="#c01c28", label="-f(x), refleksi sumbu-x")
ax.axhline(0.0, color="#000000", linewidth=0.8)
ax.axvline(0.0, color="#000000", linewidth=0.8)
ax.set_xlabel("x")
ax.set_ylabel("y")
ax.set_title("Peregangan vertikal dan refleksi terhadap sumbu-x")
ax.legend(loc="upper center", fontsize=8)
fig.savefig("peregangan.svg")
Peregangan vertikal dengan faktor dua dan refleksi terhadap sumbu-x

Verifikasi dengan tabel nilai#

Cara paling meyakinkan untuk memahami transformasi adalah membandingkan tabel nilai sebelum dan sesudahnya. Berkas berikut menghitung empat versi fungsi f(x)=x2 f(x) = x^2 pada masukan yang sama, sehingga efek setiap transformasi terbaca kolom demi kolom.

python tabel_transformasi.py
import numpy as np

x = np.array([-2.0, -1.0, 0.0, 1.0, 2.0])
f = x**2
print("x          :", x)
print("f(x) = x^2 :", f)
print("f(x) + 1   :", f + 1.0)
print("f(x - 2)   :", (x - 2.0)**2)
print("2*f(x)     :", 2.0 * f)
text Keluaran
x          : [-2. -1.  0.  1.  2.]
f(x) = x^2 : [4. 1. 0. 1. 4.]
f(x) + 1   : [5. 2. 1. 2. 5.]
f(x - 2)   : [16.  9.  4.  1.  0.]
2*f(x)     : [8. 2. 0. 2. 8.]

Baris f(x - 2) memperlihatkan pola pergeseran ke kanan, karena nilai 0 pada baris dasar kini berada di kolom x=2 x = 2 , bukan di kolom x=0 x = 0 . Baris f(x) + 1 menambah semua keluaran dengan satu tanpa memindahkan kolomnya, yang berarti kurvanya naik seragam. Baris 2*f(x) melipatgandakan setiap keluaran, sehingga nilai 4 pada ujungnya menjadi 8 dan kurva menjauh dari sumbu-x.

Tabel berikut merangkum seluruh aturan yang sudah diverifikasi.

BentukEfek pada grafik
f(x)+k f(x) + k geser vertikal sejauh k k
f(x−h) f(x - h) geser kanan sejauh h h
a⋅f(x) a \cdot f(x) regang vertikal dengan faktor a a
−f(x) -f(x) refleksi terhadap sumbu-x
f(−x) f(-x) refleksi terhadap sumbu-y

Bentuk gabungan a(x−h)2+k a(x - h)^2 + k merangkum ketiga jenisnya sekaligus, yaitu parabola dengan puncak di (h,k) (h, k) dan lebar yang diatur oleh a a . Setiap huruf pada bentuk itu kini memiliki makna geometris yang jelas, bukan sekadar simbol pada rumus.

Demo interaktif: mengatur pergeseran dan peregangan#

Demo berikut menggambar pasangan kurva x2 x^2 dan hasil transformasinya a(x−h)2+k a(x - h)^2 + k . Kurva abu-abu putus-putus adalah kurva dasar, sedangkan kurva biru adalah hasil transformasi dengan titik puncaknya ditandai merah. Geser h h dan amati bahwa puncak bergerak mendatar, lalu geser k k untuk pergeseran vertikal dan a a untuk perubahan lebar kurva. Nilai a a negatif tidak disediakan pada demo ini, sehingga refleksi dicoba melalui tabel nilai atau skrip.

Kombinasi ketiga penggeser menghasilkan bentuk puncak yang lengkap. Misalnya, a=0.5 a = 0.5 , h=3 h = 3 , dan k=−2 k = -2 memindahkan puncak ke (3,−2) (3, -2) dengan kurva yang lebih landai. Kurva dasar ikut digambar sebagai pembanding, sehingga besar setiap pergeseran terlihat sebagai jarak antara kedua puncaknya. Bacalah persamaan di atas kanvas setiap kali penggeser digerakkan, karena setiap perubahan nilai langsung menulis ulang bentuk a(x−h)2+k a(x - h)^2 + k , dan bentuk inilah yang digunakan lagi saat keluarga kuadratik dibahas. Kasus batas lainnya dicoba dengan a=0.25 a = 0.25 yang membuat kurvanya nyaris mendatar, atau dengan h h dan k k bernilai nol agar kurva hasil berhimpit dengan kurva dasarnya.

Di mana hal ini ditemui dalam kode#

Standardisasi (standardization) pada persiapan data machine learning adalah transformasi geser dan regang pada setiap fitur, yaitu nilai dikurangi rata-rata lalu dibagi simpangan bakunya. Mengurangi rata-rata adalah pergeseran, sedangkan membagi simpangan baku adalah peregangan dengan faktor 1/σ 1/\sigma . Rumus z-score z=x−μσ z = \frac{x - \mu}{\sigma} karenanya terbaca sebagai transformasi pada topik ini, bukan rumus yang berdiri sendiri.

Normalisasi minimum-maksimum (min-max normalization) memetakan data ke rentang [0,1] [0, 1] dengan pola geser lalu regang yang sama. Augmentasi data citra juga menggunakan pergeseran, karena citra yang digeser beberapa piksel tetap dikenali sebagai objek yang sama. Pada grafika komputer, pergeseran dan peregangan menjadi operasi dasar untuk memindahkan dan mengatur ukuran objek pada layar. Pemisahan antara bagian yang digeser dan bagian yang diregangkan juga memudahkan penerjemahan rumus menjadi kode, karena keduanya menjadi dua baris operasi array yang berurutan. Ketika model kuadratik disesuaikan (fit) ke data, puncak parabola hasil fit berpindah persis dengan parameter h h dan k k pada bentuk gabungan di atas.

Ringkasan#

  • f(x)+k f(x) + k dan f(x−h) f(x - h) menggeser grafik secara vertikal dan horizontal, dengan arah horizontal berlawanan tanda yang tertulis.
  • a⋅f(x) a \cdot f(x) mengatur peregangan vertikal, sedangkan −f(x) -f(x) dan f(−x) f(-x) memantulkan grafik terhadap sumbu-x dan sumbu-y.
  • Tabel nilai pada masukan yang sama memverifikasi arah setiap transformasi sebelum grafiknya digambar.
  • Bentuk gabungan a(x−h)2+k a(x - h)^2 + k menggambarkan parabola dengan puncak di (h,k) (h, k) dan lebar yang diatur oleh a a .

Referensi#