Bab 3P. Fungsi

3.1 Menuliskan Fungsi dalam Python

Contoh berikut adalah kode Python untuk membuat tabel pemetaan dan mencari range dari suatu fungsi yang didefinisikan dalam himpunan pasangan terurut seperti halnya sebuah relasi.

Contoh 1. Mencari Range dari Fungsi
Misalkan

A={1,2,3,...,7} dan
B={4,5,6,...,10}
dan
f:AB
didefinisikan dengan
f={(1,4),(2,5),(3,6),(4,7),(5,4),(6,5),(7,7)}
. Buat tabel pemetaan
f
dan tentukan range dari
f
.

Solusi:

A = {1, 2, 3, 4, 5, 6, 7}    # Domain
B = {4, 5, 6, 7, 8, 9, 10}   # Kodomain

# Fungsi f
f = {(1, 4), (2, 5), (3, 6), (4, 7), (5, 4), (6, 5), (7, 7)}


# Buat tabel pemetaan
print(f'| {"x":^5s} | {"f(x)":^5s} |')
for elm in sorted(f):
    print(f'| {elm[0]:5d} | {elm[1]:5d} |')

print()

# Cari himpunan jelajah (range)
Range = set()
for elm in sorted(f):
    Range.add(elm[1])

print('Range =', Range)

Kode di atas akan memberikan output:

|   x   | f(x)  |
|     1 |     4 |
|     2 |     5 |
|     3 |     6 |
|     4 |     7 |
|     5 |     4 |
|     6 |     5 |
|     7 |     7 |

Range = {4, 5, 6, 7}

Fungsi didefinisikan dalam Python menggunakan format syntax berikut:

def <nama_fungsi>(x):
    return <rumus_dari_f(x)>

Sebagai contoh, misalkan

f(x)=x+1, kita dapat mendefinisikan fungsi tersebut dalam Python seperti berikut:

def f(x):
    return x + 1

Contoh 2. Membuat Tabel Pemetaan dari Fungsi
Fungsi

f:{1,2,3,4,5}N mempunyai rumus:
f(x)=x2

Sajikan

f dalam tabel!

Solusi:

# Definisi fungsi f
def f(x):
    return x  ** 2


A = {1, 2, 3, 4, 5} # Domain

# Buat tabel pemetaan
print(f'| {"x":^5s} | {"f(x)":^5s} |')
for x in A:
    y = f(x)
    print(f'| {x:5d} | {y:5d} |')

print()

Output dari kode di atas:

|   x   | f(x)  |
|     1 |     1 |
|     2 |     4 |
|     3 |     9 |
|     4 |    16 |
|     5 |    25 |

3.2 Grafik Fungsi

Untuk membuat plot atau menggambar grafik suatu fungsi dalam Python, kita memerlukan module numpy dan matplotlib. Kedua module tersebut harus diinstall terlebih dahulu menggunakan pip. Pastikan komputer Anda sudah terinstalasi pip.

Untuk menginstalasi module numpy dan matplotlib, ketikkan perintah berikut pada command prompt:

pip install numpy matplotlib

Contoh 3. Membuat Grafik Fungsi
Kode berikut membuat grafik fungsi

f(x)=x2.

import numpy as np import sympy import matplotlib.pyplot as plt # Definisi fungsi f def f(x): return x ** 2 x = np.linspace(-10, 10) # Subset dari domain untuk cakupan sumbu x grafik y = f(x) plt.figure() plt.plot(x, y, label='f(x)') plt.title('Grafik Fungsi f(x) = x^2') # Judul grafik plt.xlabel('x') # Label sumbu x plt.ylabel('f(x)') # Label sumbu y plt.show()

Penjelasan kode di atas:

  • Baris 1 mengimpor module numpy dan menamainya dengan alias np.
  • Baris 2 mengimpor module sympy.
  • Baris 3 mengimpor submodule matplotlib.pylot dan menamainya dengan alias plt.
  • Baris 5 s.d 7 adalah definisi fungsi
    f(x)=x2
    .
  • Baris 9 membuat rentang sumbu x dari -10 s.d 10.
  • Baris 10 menetapkan variabel y dengan nilai-nilai bayangan dari fungsi f untuk nilai-nilai pada rentang sumbu x.
  • Baris 12 membuat object gambar.
  • Baris 13 meng-plot nilai-nilaix dan y pada grafik.
  • Baris 14 memberikan judul plot.
  • Baris 15 melabeli sumbu x dengan `'x'.
  • Baris 16 melabeli sumbu y dengan 'f(x)'
  • Baris 17 manempilkan grafik.

Output dari kode di atas:

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Contoh 4. Membuat grafik fungsi

f(x)=2x+1
Grafik fungsi
2x+1
dimana untuk
5x5
.

import numpy as np import matplotlib.pyplot as plt # Definisi fungsi f def f(x): return 2*x + 1 x = np.linspace(-5,5,100) y = f(x) plt.plot(x,y) plt.xlabel('x') plt.ylabel('f(x)') plt.title("Grafik fungsi 2x + 1") plt.show()

Output dari kode di atas


Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →


3.3 Fungsi-fungsi Khusus

Fungsi Floor dan Ceiling pada Python

Pada module standard math telah tersedia fungsi floor dan fungsi ceil.

Contoh 5. Menggunakan Fungsi floor()

# Import library math
import math

# Fungsi floor untuk sejumlah bilangan
print('f(0.3) =', math.floor(0.3))
print('f(1.4) =', math.floor(1.4))
print('f(2.8) =', math.floor(2.8))
print('f(3.7) =', math.floor(3.7))

Output dari kode di atas:

f(0.3) = 0
f(1.4) = 1
f(2.8) = 2
f(3.7) = 3

Contoh 6. Menggunakan Fungsi ceil()

# Import library math
import math

# Fungsi ceil untuk sejumlah bilangan
print('f(0.3) =', math.ceil(0.3))
print('f(1.4) =', math.ceil(1.4))
print('f(2.8) =', math.ceil(2.8))
print('f(3.7) =', math.ceil(3.7))

Output dari kode di atas:

f(0.3) = 1
f(1.4) = 2
f(2.8) = 3
f(3.7) = 4

Fungsi Faktorial

Fungsi faktorial dapat dituliskan definisinya dalam Python seperti berikut:

def faktorial(n):
    if n == 1:
        return 1
    else:
        return n * faktorial(n-1)

Contoh 7. Menggunakan Fungsi Faktorial
Kode di bawah mencontohkan fungsi faktorial:

# Definisi Fungsi Faktorial
def faktorial(n):
    if n == 1:
        return 1
    else:
        return n * faktorial(n-1)

# Mencari Faktorial
print('1! =', faktorial(1))
print('2! =', faktorial(2))
print('3! =', faktorial(3))
print('4! =', faktorial(4))
print('5! =', faktorial(5))
print('6! =', faktorial(6))

Output dari kode di atas:

1! = 1
2! = 2
3! = 6
4! = 24
5! = 120
6! = 720

3.5 Bekerja dengan Fungsi secara Simbolis

Kita dapat bekerja dengan fungsi secara simbolis dalam Python. Untuk bekerja dengan fungsi dalam bentuk simbol dalam Python, kita menggunakan module sympy.

Untuk menginstalasi module numpy, ketikkan perintah berikut pada command prompt:

pip install sympy

Berikut adalah contoh penggunaan module sympy untuk mendefinisikan sebuah fungsi secara simbolis:

import sympy x = sympy.Symbol('x') f = x**2 + 1

Penjelasan kode di atas:

  • Baris 1: mengimpor module sympy.
  • Baris 3: menggunakan fungsi Symbol pada module sympy untuk mendefinisikan variabel x yang akan kita akan gunakan untuk mendefinisikan fungsi f.
  • Baris 4: mendefinisikan fungsi
    f(x)=x2+1
    secara simbolis.

Untuk mendapatkan nilai

f(x) dari suatu nilai
x
kita dapat menggunakan method subs pada fungsi yang didefinisikan secara simbolis. Kode berikut menggunakan method subs untuk menampilkan nilai
f(1)
,
f(2)
, dan
f(3)
dari fungsi yang didefinisikan sebelumnya:

print(f.subs(x, 1)) # Output nilai f(1) print(f.subs(x, 2)) # Output nilai f(2) print(f.subs(x, 3)) # Output nilai f(3)

Penjelasan kode di atas:

  • Baris 1: f.subs(x, 1) mensubtitusi simbol x pada fungsi f dengan nilai 1 dan mengevaluasi f.
  • Baris 1: f.subs(x, 2) mensubtitusi simbol x pada fungsi f dengan nilai 2 dan mengevaluasi f.
  • Baris 1: f.subs(x, 3) mensubtitusi simbol x pada fungsi f dengan nilai 3 dan mengevaluasi f.

Contoh 8. Bekerja dengan Fungsi secara Simbolis
Fungsi

f:{1,2,3,4,5}N mempunyai rumus:
f(x)=x2

Cari

f(1),
f(2)
, ,
f(5)
.

Solusi:
Kode Python untuk menyelesaikan persoalan di atas dengan mendefinisikan fungsi

f secara simbolis:

import sympy

# Tetapkan x sebagai sebuah simbol
x = sympy.Symbol('x')

# Definisikan f dengan formula yang mengandung simbol x
f = x**2

# Tetapkan Domain
A = {1, 2, 3, 4, 5}

# Print nilai-nilai f
for i in A:
    y = f.subs(x, i)
    print(f'f({i})= {y}')

print()

Output dari kode di atas:

f(1)= 1
f(2)= 4
f(3)= 9
f(4)= 16
f(5)= 25

Mencari Fungsi Invers Secara Simbolis

Kita dapat menggunakan fungsi solve pada module sympy untuk mencari fungsi invers dari suatu fungsi.

Contoh 9. Fungsi Invers Simbolis
Kode berikut mencari fungsi invers dari

f(x)=2x+6.

import sympy

x, y = sympy.symbols('x y')
print(sympy.solve(2*x + 6 - y))

Output dari kode di atas:

[{x: y/2 - 3}]

Dari output dapat kita lihat

f1(x)=x23.

Komposisi Fungsi

Fungsi compose pada module sympy dapat digunakan untuk mencari komposisi dari dua buah fungsi.

Contoh 10. Komposisi Fungsi
Kode berikut mencontohkan hasil kali fungsi

fg dan
gf
dimana
f(x)=x2
dan
g(x)=x+3
.

import sympy x = sympy.symbols('x') f = x**2 g = x + 3 print('f(g(x)) =', sympy.compose(f,g)) # (f o g)(x) atau f(g(x)) print('g(f(x)) =', sympy.compose(g,f)) # (g o f)(x) atau g(f(x))

Output dari kode di atas:

f(g(x)) = x**2 + 6*x + 9
g(f(x)) = x**2 + 3

Penjelasan kode di atas:

  • Baris 1: mengimpor module sympy
  • Baris 3: menyatakan bahwa 'x' adalah simbol yang ditugaskan ke variabel x
  • Baris 4: mendefinisikan f adalah fungsi
    x2
  • Baris 5: mendefinisikan g adalah fungsi
    x+3
  • Baris 6: mencetak hasil
    fg
  • Baris 7: mencetak hasil
    gf