Fungsi kustom (atau yang didefinisikan pengguna) membantu memecah program besar menjadi segmen-segmen kecil agar mudah dipahami, dipelihara, dan di-debug.
Dalam pelajaran ini, Anda akan belajar membangun fungsi kustom yang lebih canggih.
Argumen fungsi adalah nilai yang diteruskan saat memanggil fungsi.
def greet(name):
print("Hello", name)
greet("David")
def convert_km(miles):
kilometers = miles * 1.61
return kilometers
distance = convert_km(200)
Suatu fungsi dapat mengembalikan beberapa nilai.
Fungsi `rect()` membantu agen real estat menghitung luas dan keliling sebidang tanah berbentuk persegi panjang. Fungsi ini menerima dua dimensi bidang tanah tersebut sebagai argumen.
def rect(length, width):
area = length * width
perimeter = 2 * length + 2 * width
return area, perimeter
x, y = rect(50, 100)
print(x, y)
Beberapa nilai kembalian perlu dipisahkan dengan koma.
Lengkapi kode untuk mendefinisikan fungsi rect() dan mengembalikan 2 nilai.
def rect(length, width):
area = length * width
perimeter = 2 * length + 2 * width
def rect(d1, d2):
area = d1 * d2
perimeter = 2 * d1 + 2 * d2
price = 1000 * area
return area, perimeter, price
Ketika sebuah fungsi mengembalikan beberapa nilai, nilai-nilai tersebut dapat disimpan dalam beberapa variabel (dalam 1 baris).
Untuk membuat beberapa variabel dalam satu pernyataan, pisahkan variabel-variabel tersebut dengan koma.
a, b = 7, 12
Suatu fungsi dapat mengembalikan kesalahan jika terjadi kesalahan di dalam badannya. Meneruskan nilai argumen dengan tipe data yang salah adalah sumber kesalahan yang umum.
def rect(d1, d2):
area = d1 * d2
perimeter = 2 * d1 + 2 * d2
return area, perimeter
Sebagai programmer, Anda bertanggung jawab untuk menentukan operasi apa yang terjadi di dalam fungsi Anda. Hal ini kemudian mengontrol tipe data mana yang dapat ditangani dan dikembalikan.
Fungsi profitable() di bawah ini menentukan apakah membeli sebidang tanah merupakan investasi yang baik bagi agen real estat di lokasi tertentu.
def profitable(d1, d2):
area = d1 * d2
invest = area > 700
return invest
buy = profitable(90, 120)
print(buy)
def profitable(d1, d2):
area = d1 * d2
invest = area > 700
return invest
Eksekusi kode di dalam sebuah fungsi berakhir ketika suatu nilai dikembalikan. Baris kode apa pun setelah baris `return` akan diabaikan.
Karena Python menjalankan fungsi dari atas ke bawah:
def rect(d1, d2):
area = 0
return area
area = d1 * d2
Saat mencapai return area, fungsi langsung berhenti. Baris:
area = d1 * d2
tidak pernah dijalankan.
Python memungkinkan argumen fungsi memiliki nilai default. Jika fungsi dipanggil tanpa argumen tersebut, argumen itu akan menggunakan nilai default-nya.
def greet(name="Guest"):
print("Welcome", name)
greet()
Outputnya adalah:
Welcome Guest
Penjelasan:
name="Guest" adalah default argument. Karena greet() dipanggil tanpa memberikan nilai name, Python otomatis menggunakan "Guest".
Tambahkan nilai default dengan tanda sama dengan (=) untuk membuat argumen menjadi opsional.
Nilai default hanya digunakan jika tidak ada nilai lain yang diberikan sebagai argumen saat fungsi dipanggil.
def greet(name="Guest"):
print("Welcome", name)
greet("Anna")
Outputnya:
Welcome Anna
Karena saat greet("Anna") dipanggil, nilai "Anna" menggantikan nilai default "Guest".
Poin-Poin Penting Pelajaran
Dalam pelajaran ini, Anda telah mempelajari bahwa:
๐ Sebuah fungsi dapat mengembalikan lebih dari satu nilai
๐ Mendefinisikan fungsi juga menentukan tipe data yang dapat diterima, diproses, dan dikembalikan oleh fungsi tersebut
๐ Nilai default membuat argumen menjadi opsional
Teruslah belajar dan berkembang!
