- 1 1. Apa itu def dalam Python?
- 2 2. Sintaks dasar dan cara menggunakan def
- 3 3. Argumen dan Nilai Default pada Fungsi
- 4 4. Mengembalikan Nilai dengan return
- 5 5. Lingkup dan Masa Hidup Variabel
- 6 6. Contoh Praktis dan Cara Menggunakannya
- 7 7. Konsep Lanjutan tentang Fungsi
- 8 8. Ringkasan
- 9 9. Pertanyaan yang Sering Diajukan (FAQs)
1. Apa itu def
dalam Python?
Kata kunci def
dalam Python digunakan untuk mendefinisikan fungsi. Fungsi adalah struktur dasar yang meningkatkan penggunaan kembali kode dan membuat program lebih terorganisir. Dengan menggunakan def
, Anda dapat membuat blok kode untuk tugas tertentu yang bisa digunakan berulang kali. Hal ini meningkatkan keterbacaan kode dan dapat mengurangi kemungkinan terjadinya bug.
Sintaks dasar kata kunci def
Sintaks dasarnya adalah sebagai berikut:
def nama_fungsi(argumen1, argumen2, ...):
proses
return nilai_kembali
Setelah def
, tuliskan nama fungsi, lalu tentukan argumen yang dibutuhkan dalam tanda kurung. Setelah tanda titik dua, tulis proses dalam blok indentasi. Jika diperlukan, gunakan perintah return
untuk mengembalikan nilai.
2. Sintaks dasar dan cara menggunakan def
Cara mendefinisikan fungsi dasar
Saat mendefinisikan fungsi dengan def
, tuliskan nama fungsi, daftar argumen, dan prosesnya. Misalnya, berikut adalah contoh fungsi sederhana yang menampilkan “Hello, World!”.
def say_hello():
print("Hello, World!")
Fungsi ini akan menampilkan “Hello, World!” di konsol saat dipanggil dengan say_hello()
.
Pentingnya indentasi
Indentasi sangat penting dalam Python. Semua kode di dalam fungsi harus ditulis dengan level indentasi yang sama. Indentasi membedakan blok dan hierarki kode, sehingga kesalahan indentasi bisa menyebabkan error.
Memanggil fungsi
Fungsi yang sudah didefinisikan dapat dipanggil dengan menuliskan nama fungsi diikuti tanda kurung. Jika ada argumen, tuliskan di dalam kurung.
say_hello()

3. Argumen dan Nilai Default pada Fungsi
Argumen Posisi dan Argumen Kata Kunci
Fungsi dapat menerima argumen, yang terbagi menjadi argumen posisi dan argumen kata kunci. Argumen posisi diteruskan secara berurutan sesuai urutan pemanggilan fungsi. Argumen kata kunci disebutkan dengan nama dan bisa diisi tanpa memperhatikan urutan.
def greet(name, greeting="Hello"):
print(f"{greeting}, {name}!")
Pada fungsi di atas, greeting
memiliki nilai default. Saat dipanggil dengan greet("Alice")
, hasilnya adalah “Hello, Alice!”.
Argumen dengan jumlah tidak tetap (variabel)
Kadang, fungsi perlu menerima jumlah argumen yang tidak pasti. Dalam Python, ini dapat dilakukan dengan *args
dan **kwargs
.
def print_args(*args):
for arg in args:
print(arg)
print_args(1, 2, 3)
Pada contoh di atas, *args
akan menerima semua argumen sebagai tuple.
4. Mengembalikan Nilai dengan return
Cara menggunakan perintah return
Jika ingin mengembalikan nilai dari fungsi, gunakan return
. Jika tidak ada return
, maka fungsi akan mengembalikan None
secara default.
def add(a, b):
return a + b
result = add(3, 4)
print(result) # 7
Fungsi add
di atas mengembalikan jumlah dari dua angka. Nilai yang dikembalikan oleh return
dapat disimpan dalam variabel.
Mengembalikan lebih dari satu nilai
Dalam Python, fungsi dapat mengembalikan lebih dari satu nilai dengan memisahkan nilai-nilainya menggunakan koma. Hasilnya akan berupa tuple.
def swap(a, b):
return b, a
x, y = swap(1, 2)
print(x, y) # 2 1

5. Lingkup dan Masa Hidup Variabel
Variabel Lokal dan Variabel Global
Variabel yang didefinisikan di dalam fungsi disebut variabel lokal dan hanya bisa digunakan dalam fungsi itu. Variabel yang didefinisikan di luar fungsi disebut variabel global dan bisa digunakan di seluruh program.
x = "global"
def func():
x = "local"
print(x)
func() # local
print(x) # global
Pada contoh di atas, x
dalam fungsi func
adalah variabel lokal, sehingga tidak memengaruhi variabel di luar fungsi.
Kata kunci global
Jika ingin mengubah variabel global dari dalam fungsi, gunakan kata kunci global
.
x = "global"
def change_global():
global x
x = "changed"
change_global()
print(x) # changed
6. Contoh Praktis dan Cara Menggunakannya
Meningkatkan Efisiensi Program dengan Fungsi
Dengan menggunakan fungsi, efisiensi program dapat ditingkatkan secara signifikan. Misalnya, perhitungan atau proses data yang berulang bisa dikelompokkan dalam fungsi untuk menghindari penulisan kode yang sama berulang kali.
def calculate_area(radius):
return 3.14 * radius * radius
area1 = calculate_area(5)
area2 = calculate_area(10)
Pada contoh ini, fungsi calculate_area
digunakan untuk menghitung luas lingkaran, dan bisa digunakan berulang kali sesuai kebutuhan.
Contoh penggunaan fungsi
Contoh lain, kita bisa membuat fungsi untuk memformat teks.
def format_text(text, alignment="left"):
if alignment == "left":
return text.ljust(20)
elif alignment == "right":
return text.rjust(20)
elif alignment == "center":
return text.center(20)
print(format_text("Hello", "center"))
Fungsi ini akan memformat teks menjadi rata kiri, kanan, atau tengah sesuai kebutuhan.

7. Konsep Lanjutan tentang Fungsi
Fungsi Bersarang (Nested Functions)
Dalam Python, Anda bisa mendefinisikan fungsi di dalam fungsi lain, yang disebut nested function. Fungsi bersarang hanya bisa diakses dari dalam fungsi luarnya saja.
def outer():
def inner():
print("This is the inner function")
inner()
Fungsi Tanpa Nama (Lambda)
Dengan kata kunci lambda
, Anda bisa membuat fungsi tanpa nama (anonymous function). Ini berguna untuk fungsi sederhana yang hanya digunakan sekali.
square = lambda x: x * x
print(square(5)) # 25
Decorator
Decorator adalah cara untuk memperluas fungsi yang sudah ada tanpa mengubahnya secara langsung. Decorator didefinisikan sebagai fungsi yang menerima fungsi lain sebagai argumen dan mengembalikan fungsi baru.
def decorator(func):
def wrapper():
print("Before the function")
func()
print("After the function")
return wrapper
@decorator
def say_hello():
print("Hello!")
say_hello()
8. Ringkasan
Pada artikel ini, kita telah membahas mulai dari cara mendefinisikan fungsi dengan kata kunci def
, argumen, nilai kembali, lingkup variabel, hingga fitur lanjutan dalam Python. Dengan memanfaatkan fungsi, Anda dapat membangun program yang lebih efisien dan terstruktur. Silakan gunakan contoh di atas untuk meningkatkan kemampuan Python Anda.

9. Pertanyaan yang Sering Diajukan (FAQs)
Apa perbedaan antara return
dan print
?
return
dan print
sekilas mirip, tapi fungsinya berbeda. return
digunakan untuk mengembalikan nilai dari fungsi agar bisa digunakan di bagian lain program, misal menyimpan hasil perhitungan ke dalam variabel. print
hanya menampilkan output ke konsol dan nilainya tidak bisa digunakan kembali di bagian lain.
def add(a, b):
return a + b
result = add(3, 4) # result berisi 7
print(result) # 7
def display_message():
print("Hello, World!")
display_message() # Menampilkan "Hello, World!" di konsol, tapi tidak mengembalikan nilai
Apa manfaat menggunakan fungsi bersarang?
Fungsi bersarang memungkinkan Anda membuat fungsi lokal yang tidak dapat diakses dari luar, membantu enkapsulasi kode dan penggunaan ulang. Fungsi bersarang juga bisa mengakses variabel di lingkup fungsi luar, sehingga cocok untuk proses yang hanya digunakan dalam konteks tertentu.
Kapan sebaiknya menggunakan argumen variabel?
Gunakan argumen variabel jika jumlah argumen yang diterima fungsi tidak tetap, misalnya pada fungsi yang menjumlahkan semua nilai yang diberikan.
def add_all(*args):
return sum(args)
result = add_all(1, 2, 3, 4, 5) # 15
Bagaimana cara menggunakan rekursi pada fungsi?
Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri. Ini digunakan untuk menyelesaikan masalah tertentu secara ringkas, tetapi harus digunakan hati-hati agar tidak menyebabkan stack overflow. Contoh: menghitung faktorial.
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
result = factorial(5) # 120