Python Function - Menggunakan Arguments
Reno Iqbalsah
16/05/2023
Bagian ini membahas cara membuat dan menggunakan fungsi yang menggunakan argumen dalam bahasa pemrograman Python.
Dalam sebuah fungsi, kita dapat menambahkan parameter / argumen dalam sebuah fungsi. Pada dasarnya parameter dan argumen adalah hal yang sama, dan merupakan istilah yang dapat ditukar penggunaannya, hanya saja ada beberapa perbedaan mendasar, yaitu:
- Parameter - adalah yang variabel yang kita masukkan dalam tanda kurung
()
ketika kita membuat sebuah fungsi. - Argumen - nilai yang kita masukkan dalam tanda kurung
()
ketika kita melakukan function call.
Sebagai catatan, kedua perbedaan ini tidaklah terlalu penting, hanya sebagai pengetahuan saja, asalkan kita tahu bagaimana kita menggunakan argumen / parameter dalam sebuah fungsi.
Syntax Dasar Argumen / Parameter
def tambah(num1, num2):
hasil = num1 + 2
print("Hasil penjumlahan:", hasil)
tambah(5,7) # output: Hasil penjumlahan: 12
Pada kode di atas, dapat kita lihat bahwa variabel num1
dan num2
adalah parameter, sedangkan angka 5
dan 7
adalah argumen.
Positional Arguments
Secara default, Python menggunakan positional argument. Artinya, argumen yang akan kita masukkan haruslah kita urutkan berdasarkan posisinya sebagaimana urutan parameter saat membuat fungsi.
nama_depan = "Linus"
nama_belakang = "Harvey"
def indentitas(namaD,namaB):
print("Nama saya adalah", namaD, namaB)
identitas(nama_depan, nama_belakang)
# output: Nama saya adalah Linus Harvey
identitas(nama_belakang, nama_depan)
# output: Nama saya adalah Harvey Linus
Pada kode di atas, kita membuat fungsi yang menerima argumen namaD
dan namaB
, argumen apapun yang dimasukkan pertama dalam fungsi tersebut akan
dianggap sebagai nilai namaD
dan argumen kedua akan menjadi nilai namaB
.
Keyword Arguments
Selain menggunakan positional argument, kita juga dapat melakukan function call dengan menggunakan keyword argument, caranya adalah dengan memasukkan nama parameter dan
value dari argumen dalam sebuah fungsi. Kita gunakan fungsi identitas
di atas sebagai contoh.
nama_depan = "Linus"
nama_belakang = "Harvey"
def indentitas(namaD,namaB):
print("Nama saya adalah", namaD, namaB)
identitas(namaB = nama_belakang, namaD = nama_depan)
# output: Nama saya adalah Linus Harvey
Pada kode tersebut, meskipun kita memasukkan kedua argumen secara tidak berurutan, tetapi urutan eksekusi oleh interpreter tetap mengeksekusi namaD
terlebih dahulu,
baru kemudian namaB
.
Arbitrary Arguments (*args
)
Arbitrary argument memungkinkan kita untuk memasukkan argumen dengan jumlah tak terbatas, yang kemudian argumen tersebut akan diterima oleh fungsi sebagai sebuah tuple
berisi seluruh argumen yang dimasukkan. Caranya, adalah dengan menambahkan tanda bintang *
pada awal nama argumen.
def jumlah(*nums):
jml = 0
for num in nums:
jml += num
print("Jumlah:", jml)
jumlah(4,5,5,1) # output: Jumlah: 15
Untuk membuktikan, cobalah sisipkan kode print(nums)
sebelum for loop pada fungsi di atas, maka akan keluar output sebuah tuple
.
Arbitrary Keyword Arguments (**kwargs
)
Hampir sama dengan arbitrary argument, arbitrary keyword argument juga dapat kita gunakan dalam sebuah fungsi untuk menerima nama argumen dan argumen yang tidak kita
atur sejak awal. Berbeda dengan *args
yang menerima argumen sebagai tuple
, **kwargs
menerima argumen sebagai dict
.
def perkenalan(**nama):
print("Nama saya adalah", nama['depan'])
perkenalan(depan="Qomat", belakang="Khamid")
# output: Nama saya adalah Qomat
Arbitrary keyword argument menggunakan tanda **
di awalan nama variabel saat kita membuat fungsi.
Nilai Default Sebuah Parameter
Kita dapat menentukan nilai default dari sebuah parameter dalam fungsi yang kita buat. Apabila nilai sebuah parameter kita tentukan, maka jika kita tidak memasukkan argumen sebagai nilai dari parameter tersebut, fungsi akan secara otomatis menggunakan nilai default yang kita tentukan.
def perkenalan(nama="Dudung"):
print("Nama saya adalah", nama)
perkenalan() # output: Nama saya adalah Dudung
perkenalan("Robert") # output: Nama saya adalah Robert