Anda di halaman 1dari 10

Python Function

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.

Apa itu Python Function?


Function dalam Python berguna untuk menjalankan sebuah blok
berisikan script Python yang berfungsi untuk menjalankan suatu task tertentu.

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.

Sintaks Python Function


Dalam penulisan sebuah function, selalu diawali dengan kata “def” diikuti dengan
nama fungsi tersebut. Berikut contoh penulisan sebuah function:

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.

Contoh Python Function


Berikut contoh untuk pemanggilan function:

def fungsi():
print("ini adalah fungsi")

fungsi()
# Output ini adalah fungsi
Copy
def fungsi():
print ("ini adalah fungsi")

output = fungsi()

output

# Output ini adalah fungsi


Copy
Kedua cara di atas dapat digunakan untuk mengeluarkan output dari
sebuah function. Selain dari cara pemanggilan output, kita juga dapat menggunakan
perintah “return” di dalam sebuah function untuk menyatakan output yang ingin
dikembalikan. Berikut contohnya:

def fungsi():
variabel = "ini adalah fungsi"
return variabel

fungsi()

# Output ‘ini adalah fungsi’


Copy
def fungsi():
variabel = "ini adalah”
return (variabel + "fungsi")

fungsi()

# Output 'ini adalah fungsi'


Copy
Selain kita perlu mengetahui bagaimana caranya untuk mengeluarkan
sebuah output ataupun task dari sebuah function, kita juga akan mempelajari
bagaimana caranya memberikan input ke dalam sebuah function.

Cara Memberikan Input ke Python Function


Ada empat cara yang umum digunakan untuk memberikan input, sebagaimana
dikutip dari Scaler:

#1 Positional arguments
Jenis ini yang umum ditemukan di berbagai function, karena mengikuti posisi dan
peletakan dari setiap inputnya. Berikut contohnya:

def positional_arguments (a,b):


print(f"Ini inputan {b}")
print (f"Sedangkan ini inputan {a}")

positional_arguments("a", "b")

# Output Ini inputan b


Sedangkan ini inputan a
Copy
Walaupun di dalam function, inputan variabel b dipanggil lebih dulu,
namun function tetap mengikuti posisi dari variabel yang dipanggil.

#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:

def keyword _arguments (a, b) :


print (f"Ini inputan {b}")
print (f"Sedangkan ini inputan (a}")

keyword_arguments (b "b", a= "a")

# Output Ini inputan b


Sedangkan ini inputan a
Copy
Dalam penulisan di atas, apabila kita mengacu pada positional arguments, maka
inputan “b” akan dipanggil sebagai inputan a. Namun karena kita
memberikan keywords ( b = “b” ), maka ini menyatakan bahwa kita
memberitahu function tersebut bahwa nilai variabel b adalah “b”.

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:

def default_arguments (a, b="inputan kedua"):


print(f"{a} merupakan inputan pertama")
print (f"sedangkan b merupakan {b}")

default_arguments(a = '"a")

# Output a merupakan inputan pertama


sedangkan b merupakan inputan kedua
Copy
Pada jenis input di function ini, kita pun bisa menyatakan sendiri input b nya apa bila
kita tidak ingin menggunakan nilai default pada function, berikut contohnya:

def default_arguments (a, b="inputan kedua"):


print(f" {a} merupakan inputan pertama")
print (f"sedangkan b merupakan {b}")

default_arguments (a = "a”, b = "sebuah huruf")

# Output a merupakan inputan pertama


sedangkan b merupakan sebuah huruf
Copy
Pada contoh di atas, kita mendefinisikan sendiri nilai b dalam input function yang
kita panggil. Function akan otomatis mendeteksi input baru ini untuk
mengganti input default yang sudah ditentukan sebelumnya. Jenis function ini
membantu kita untuk memudahkan penulisan karena sudah di-define sebelumnya.
Mau belajar

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).

Dalam penulisannya, “args” memiliki artian arguments, sedangkan “kwargs”


merupakan keyword arguments. Simbol * yang diikutinya menandakan wildcard,
yang dalam pemrograman dapat diartikan sebagai seluruhnya.
Untuk args menggunakan satu tanda bintang (“*”) sedangkan
untuk kwargs menggunakan dua tanda bintang (“**”). Oleh karena itu, dapat
diartikan bahwa def function(*args) akan mengambil seluruh nilai
dalam input mengikuti posisi yang sudah ditentukan sebagai variabelnya.

Perhatikan contoh penggunaan def function(*args) berikut ini:

def variable_length(*args):
x = ",” .join(y for y in args)
return x

variable_length("pertama", "kedua", "ketiga", “keempat”, “kelima”,


“keenam”

# Output ‘pertama, kedua, ketiga, keempat, kelima, keenam'


Copy
Pada contoh di atas, dapat dilihat bahwa kita menggunakan
fungsi looping dengan join di dalam function untuk membantu mengeluarkan tiap
inputan dengan dipisahkan oleh tanda koma (“,”).

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(pertama = "pertama", kedua = “kedua”,


ketiga = “ketiga”, keempat = “keempat”

# Output ‘pertama, kedua, ketiga, keempat’


Copy
Pada contoh di atas, dengan fungsi join dan looping yang sama, kita memanggil
masing-masing variabel yang berupa keyword satu per satu, dan memberikan kita
keluaran yang mirip dengan keluaran menggunakan *args.

Dengan menggunakan **kwargs, kita mengembalikan tiap variabel input


dengan keyword yang sesuai, dan bertindak layaknya model data tuple. Dengan
metode variable-length ini, kita juga dapat menggabungkan
metoda input biasa, *args dan **kwargs menjadi satu.
Namun karena kita menggunakan metode *args di dalamnya, maka posisi
meletakkan input harus sesuai, berikut contohnya:

def variable_length(a, b, c, *args, **kwargs):


print(f"ini adalah nilai dari variable a = {a}")
print (f"ini adalah nilai dari variable b = {b}")
print (f"ini adalah nilai dari variable *args = {args}")
print (f"ini adalah nilai dari variable **kwargs = {kwargs}")

variable length("a", "b", "c", "d", "e", "f", "g", h="h", i="i", j-"j")

# Output ini adalah nilai dari variable a = a


ini adalah nilai dari variable b = b
ini adalah nilai dari variable *args = (‘d’, ‘e’, ‘f’, ‘g’)
ini adalah nilai dari variable **kwargs (‘h’:’h’, ‘i’:’i’, ‘j’:’j’)
Copy
Pada contoh di atas, kita menyatakan tiga buah input pertama yaitu “a” , “b”, dan “c”.
Namun dapat dilihat karena kita hanya memanggil variabel a dan b saja, maka
ketika kita memberikan input a sampai g, “c” tidak dipanggil,
karena function menganggap 3 input pertama sesuai posisi merupakan input yang
kita define sendiri.

Input keempat sampai input sebelum keyword arguments akan dianggap


sebagai *args, lalu selebihnya dianggap sebagai **kwargs.

Python Nested Function: Function di Dalam


Function
Function memiliki banyak kegunaan dan sebagai cuplikan dari script Python, maka
kegunaannya sangat luas dan tidak terbatas.

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.

Nested function adalah sebuah function di dalam sebuah function. Perhatikan


contoh berikut ini:

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)

def fungsi_kedua (a) :


print ("Ini adalah fungsi kedua")
if a == "input" : return a
if a == “output" : return "Ini adalah output"

fungsi_2, fungsi_3 = fungsi pertama()

print (fungsi_2)
print (fungsi_3)

# Output Ini adalah fungsi pertama


Ini adalah fungsi kedua
input
in
Copy
Pada contoh di atas, kita mempunyai tiga buah function, di sini function utama
adalah fungsi_pertama yang akan mengeluarkan fungsi_kedua dan fungsi_ketiga,
yang nilainya ditentukan dari inputan nilai fungsi_pertama.

Karena fungsi_pertama akan mengembalikan nilai fungsi_kedua(a) dan


fungsi_ketiga(a), maka kita akan lihat masing-masing fungsi. Fungsi_kedua akan
mengembalikan nilai a apabila a = “input”, oleh karena itu kita sudah tahu bahwa
nilai fungsi_kedua(a) adalah “input”. Pada fungsi_ketiga, bila a bernilai “input”,
maka kita hanya akan mengembalikan dua digit pertama dari a, yaitu “in”.

Fungsi_pertama akan mengembalikan “input” sebagai nilai dari fungsi_kedua(a) dan


“in” sebagai nilai dari fungsi_ketiga(a), sehingga bila kita print masing-masing
fungsi_2 dan fungsi_3, kita akan mendapatkan nilai “input” dan “in” beserta tulisan
“Ini adalah fungsi pertama” dan “Ini adalah fungsi kedua” yang menyertai
masing-masing fungsi_pertama dan fungsi_kedua.

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.

Cara Membuat Dokumentasi Python Function


Python sendiri memiliki beberapa function dan library sendiri yang telah dibuat oleh
banyak orang, dikarenakan bahasa pemrograman ini bersifat open-source. Namun
tidak semua function bawaan Python dapat dipakai begitu saja,
terkadang programmer perlu membuat function yang khusus untuk membantu
dalam task yang dikerjakannya.

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:

def add num (a, b):


"""Fungsi ini bertujuan untuk menghasilkan nilai penjumlahan
dari dua input yang diberikan.”””
print ("Jumlah:", a + b)

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).

Docstring tersebut juga berfungsi layaknya sebagai dokumentasi di dalam


sebuah function. Untuk memanggil docstring tersebut, kita tinggal
memanggil function tersebut menggunakan fungsi help().

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.

Anda mungkin juga menyukai