Pernahkan kamu membuat sebuah script Python yang kompleks dan memiliki
perintah yang dipanggil berulang-ulang? Python memiliki sebuah fitur yaitu function,
yang biasa digunakan untuk menjalankan sebuah blok script yang kompleks,
ataupun yang mungkin dipanggil berulang kali dalam sebuah program Python.
Sebuah function dirancang untuk menerima atau tidak menerima sebuah input, dan
mengeluarkan sebuah output atau task.
Mengapa bisa menerima ataupun tidak menerima sebuah input, tapi bisa
mengeluarkan output? Karena function sendiri dirancang untuk menjalankan
sebuah perintah dan menyederhanakan script, di mana perintah tersebut dapat
memiliki sebuah input variabel ataupun tidak.
def fungsi():
print("ini adalah fungsi")
Copy
Contoh di atas adalah penulisan sebuah function, yang tidak membutuhkan sebuah
input. Function tersebut diawali dengan “def” lalu nama fungsi, lalu diikuti dengan
tanda kurung “()”. Input dapat dimasukan ke dalam tanda kurung ini, namun karena
contoh program di atas hanya untuk mengeluarkan teks “ini adalah fungsi”, maka
kita tidak membutuhkan input apapun.
Bila fungsi ini dijalankan, maka tidak akan mengeluarkan apapun, karena
sebuah function harus dipanggil untuk dapat mengeluarkan output.
def fungsi():
print("ini adalah fungsi")
fungsi()
# Output ini adalah fungsi
Copy
def fungsi():
print ("ini adalah fungsi")
output = fungsi()
output
def fungsi():
variabel = "ini adalah fungsi"
return variabel
fungsi()
fungsi()
#1 Positional arguments
Jenis ini yang umum ditemukan di berbagai function, karena mengikuti posisi dan
peletakan dari setiap inputnya. Berikut contohnya:
positional_arguments("a", "b")
#2 Keyword arguments
Jenis input function ini menyatakan input nya di dalam sebuah variabel, sehingga
posisi input bisa dituliskan secara acak. Berikut contoh penulisan keyword
arguments:
Hal ini membuat lebih fleksibel apabila kita membutuhkan untuk penulisan banyak
input, namun kita akan perlu mengetik lebih banyak.
#3 Default arguments
Jenis input ini merupakan gabungan dari positional arguments dan keywords
arguments. Jenis function ini mendefinisikan nilai variabel apabila programmer tidak
memasukan input sesuai variabel yang ditentukan. Berikut contoh penulisannya:
default_arguments(a = '"a")
Data Analytics
Belajar di RevoU! Dapatkan skill digital paling in-demand langsung dari praktisi terbaik di
bidangnya. Kelas online 100% LIVE, 1:1 career coaching, dan akses ke Community Hub
dengan 6000+ member selamanya untuk support perkembangan karir kamu!
FULL PROGRAM
#4 Variable-Length arguments
Jenis input pada function ini menggabungkan ketiga model
input function sebelumnya. Untuk jenis penulisan input
pada function ini, programmer hanya perlu menuliskan def
function(*args) ataupun def function (**kwargs).
def variable_length(*args):
x = ",” .join(y for y in args)
return x
Menggunakan *args, kita mengembalikan tiap variabel input dengan posisi yang
sama dan tidak ada yang berubah. Input *args bertindak seperti array dan akan
dikeluarkan satu per satu dalam looping layaknya array. Kita akan melihat contoh
lain menggunakan ** kwargs sebagai berikut:
def variable_length(**kwargs):
x = ".join(y for y in kwargs)
return x
variable length("a", "b", "c", "d", "e", "f", "g", h="h", i="i", j-"j")
Selain menerima input dan mengeluarkan output, Python juga memiliki fitur lain,
yaitu untuk mengeluarkan nested function, dan juga dapat memunculkan
dokumentasi untuk mempermudah pembacaan kegunaan function.
def fungi_pertama(a=”input"):
print ("Ini adalah fungsi pertama")
def fungi_ketiga(a):
if a == "input":
return a[:2]
return fungsi_kedua(a),fungsi_ketiga(a)
print (fungsi_2)
print (fungsi_3)
Nested function ini dalam aplikasinya memang sulit untuk dipahami, namun sangat
berguna apabila kita perlu memanggil beberapa fungsi yang sama berulang kali ke
dalam sebuah task function.
Untuk itu, function yang dibuat pastinya khusus atau hanya bisa dipakai oleh
sebagian orang saja. Apabila function jenis ini akan didokumentasikan dalam
situs repository seperti GitHub, sebagian besar programmer menaruh definisi dan
penjelasan untuk menjelaskan lebih jelas apa tujuan dan fungsi
dari function tersebut.
Kita juga dapat meletakkan penjelasan, atau bisa kita sebut dokumentasi di
dalam function itu sendiri, berikut contoh penulisannya:
add num(3, 2)
help(add_num)
# Output Jumlah : 5
Help on function add_num in module__main__:
add_num(a, b)
Fungi ini bertujuan untuk menghasilkan nilai penjumlahan
dari dua input yang diberikan.
Copy
Tanda kutip tiga kali di atas disebut sebagai docstring, merupakan
sebuah string panjang yang biasa dipakai programmer untuk
menyatakan string yang sangat panjang (bisa lebih dari 1 kalimat).
Penutup
Function memiliki banyak kegunaan dalam pemrograman Python, dan rata-rata
seorang programmer hampir dipastikan menggunakan function untuk
mengolah syntax yang rumit dan membutuhkan proses berulang.
Oleh karena itu, pemahaman mengenai function ini perlu diperkuat. Ketika kita
belajar di modul Python Class, pemahaman mengenai function ini akan sangat
terpakai, karena Class pada Python sangat memanfaatkan function.