Dalam pemrograman Python, parameter dan argumen adalah dua konsep penting yang digunakan ketika bekerja dengan fungsi. Banyak pemula sering bingung membedakan keduanya, padahal keduanya memiliki peran yang berbeda namun saling berkaitan. Artikel ini akan membahas secara lengkap perbedaan, jenis-jenis, dan contoh penggunaan parameter dan argumen dalam Python.
Apa Itu Parameter?
Parameter adalah variabel yang didefinisikan di dalam tanda kurung saat kita membuat fungsi. Parameter berfungsi sebagai tempat penampung nilai yang nantinya akan dikirim dari luar fungsi saat fungsi dipanggil.
Contoh sederhana definisi fungsi dengan parameter:
def greet(name):
print("Halo, " + name + "!")
Pada contoh di atas, name adalah parameter. Fungsi greet() menunggu input dari luar (melalui argumen) untuk mencetak pesan sapaan.
Apa Itu Argumen?
Argumen adalah nilai yang dikirim ke dalam fungsi ketika fungsi tersebut dipanggil. Jadi, saat kita memanggil fungsi greet("Rysa"), nilai “Rysa” adalah argumen yang dikirim ke parameter name.
greet("Rysa")
# Output: Halo, Rysa!
Dengan kata lain, parameter adalah “nama tempat” di dalam fungsi, sedangkan argumen adalah “nilai aktual” yang dikirim ke tempat tersebut.
Perbedaan Parameter dan Argumen
| Parameter | Argumen |
|---|---|
| Didefinisikan saat membuat fungsi | Dikirim saat memanggil fungsi |
| Bersifat variabel lokal di dalam fungsi | Bersifat nilai aktual yang dikirim ke fungsi |
Contoh: def greet(name): | Contoh: greet("Rysa") |
Jenis-Jenis Parameter dan Argumen di Python
1. Positional Arguments
Ini adalah jenis argumen paling umum. Nilai dikirim ke parameter berdasarkan urutan posisi.
def info(name, age):
print(f"Nama: {name}")
print(f"Umur: {age}")
info("Ali", 25)
# Output:
# Nama: Ali
# Umur: 25
Jika urutan argumen dibalik, hasilnya juga akan berbeda.
info(25, "Ali") # Terjadi kesalahan makna data
2. Keyword Arguments
Dengan keyword argument, kita dapat menyebutkan nama parameter secara eksplisit sehingga urutan tidak lagi menjadi masalah.
info(age=25, name="Ali")
Ini membuat kode lebih mudah dibaca dan mengurangi potensi error karena kesalahan urutan.
3. Default Parameters
Python memungkinkan kita menetapkan nilai default untuk parameter. Jika argumen tidak diberikan, nilai default akan digunakan.
def greet(name="Pengunjung"):
print(f"Halo, {name}!")
greet() # Output: Halo, Pengunjung!
greet("Rysa") # Output: Halo, Rysa!
4. Arbitrary Arguments (*args)
Gunakan tanda bintang tunggal (*) jika jumlah argumen tidak diketahui atau bervariasi.
def show_names(*names):
for n in names:
print("Nama:", n)
show_names("Ali", "Budi", "Cici", "Dedi")
Parameter *names akan menangkap semua argumen yang dikirim dalam bentuk tuple.
5. Arbitrary Keyword Arguments (**kwargs)
Gunakan tanda bintang ganda (**) jika kita ingin menerima argumen dengan pasangan key-value (seperti dictionary).
def show_info(**info):
for key, value in info.items():
print(f"{key}: {value}")
show_info(nama="Rysa", umur=21, kota="Bandung")
Parameter **info akan menangkap semua pasangan key-value dan menyimpannya dalam bentuk dictionary.
Menggabungkan Berbagai Jenis Parameter
Python memungkinkan kita menggabungkan beberapa jenis parameter dalam satu fungsi, namun dengan urutan yang harus diperhatikan:
- Positional parameters
- *args
- Default parameters
- **kwargs
def contoh(a, b, *args, c=10, **kwargs):
print("a:", a)
print("b:", b)
print("args:", args)
print("c:", c)
print("kwargs:", kwargs)
contoh(1, 2, 3, 4, c=5, x=6, y=7)
Outputnya akan seperti berikut:
a: 1
b: 2
args: (3, 4)
c: 5
kwargs: {'x': 6, 'y': 7}
Contoh Kasus Nyata Penggunaan Parameter dan Argumen
Bayangkan kita ingin membuat program untuk menghitung total harga belanja dengan diskon opsional. Fungsi ini bisa menggunakan parameter default dan keyword argument.
def total_harga(harga, jumlah, diskon=0):
total = harga * jumlah
total_setelah_diskon = total - (total * diskon / 100)
return total_setelah_diskon
# Pemanggilan fungsi
print(total_harga(20000, 3)) # Tanpa diskon
print(total_harga(20000, 3, diskon=10)) # Dengan diskon
Output:
60000 54000.0
Dari contoh ini terlihat bahwa parameter diskon bersifat opsional karena sudah memiliki nilai default 0.
Kesimpulan
Parameter dan argumen adalah bagian penting dari fungsi dalam Python. Parameter digunakan saat mendefinisikan fungsi, sedangkan argumen digunakan saat memanggil fungsi. Dengan memahami berbagai jenis parameter dan argumen seperti positional, keyword, default, *args, dan **kwargs, Anda dapat menulis kode Python yang fleksibel, dinamis, dan efisien.
Mulailah bereksperimen dengan berbagai kombinasi parameter dan argumen agar semakin terbiasa menggunakannya dalam proyek nyata.