You are on page 1of 16

Pemrograman Lanjut

Fungsi
Tim Pengelola MK Pemrograman Lanjut
KJFD Dasar dan Penunjang
Fakultas Ilmu Komputer
Universitas Brawijaya
Fungsi

▪ Blok kode yang terorganisir dan dapat digunakan kembali


▪ Fungsi ada 2 macam: fungsi built-in & fungsi yang dibuat sendiri
disebut sebagai user-defined function (UDF)
contoh:
Aturan Fungsi

▪ Blok fungsi dimulai dengan kata kunci def diikuti dengan nama fungsi
dan tanda kurung
▪ Parameter berada di dalam tanda kurung
▪ Setelah tanda kurung diberi tanda titik dua
▪ Pernyataan pertama pada fungsi bersifat opsional
(function_docstring)
▪ Blok kode dalam fungsi diberi indentasi
▪ Pernyataan return [expression] untuk keluar dari fungsi
• Pernyataan return tanpa argumen seperti return None
Syntax Fungsi

def functionname( [ parameters ] ):


[ "function_docstring“ ]
function_body
return [expression]
Contoh Fungsi
def myFunc1():
"function without parameter"
print ("Enter the function myFunc1")
return

def myFunc2(par1):
"function using one parameter"
print (par1)
return

def myFunc3(par1, par2):


"function using two parameters and return value"
return par1 + par2
Memanggil Fungsi
▪ Untuk dapat memanggil fungsi, definisi fungsi harus diletakkan sebelum pemanggilan
fungsi

def myFunc1():
...
def myFunc2(par1):
Keluaran:
...
def myFunc3(par1, par2): Enter the function myFunc1
... this is the argument for the myFunc2 parameter
6
myFunc1()
myFunc2("this is the argument for the myFunc2 parameter")
print(myFunc3(1, 5))
Default Argument

▪ Argumen yang mengasumsikan nilai default jika nilai tidak disediakan


dalam pemanggilan fungsi

def printInfo( name, age = 35 ):


"This prints a passed info into this function"
print ("Name: ", name)
print ("Age ", age) Keluaran:
return
Name: miki
Age 50
printInfo( "miki", 50 )
Name: miki
printInfo( "miki" ) Age 35
Variable-length Argument

▪ Memungkinkan memasukkan argumen dalam jumlah yang tidak


ditentukan
▪ Menambahkan tanda asterik sebelum argumen
▪ Argumen bertipe tuple
Variable-length Argument

def printInfo( arg1, *varTuple ):


"This prints a variable passed arguments"
print ("Output is: ")
print (arg1)
print (varTuple) Keluaran:
return
Output is:
10
printInfo( 10 ) ()
printInfo( 70, 60, 50 ) Output is:
70
(60, 50)
Ruang Lingkup Variabel

▪ Global variabel
• Variabel yang didefinisikan di luar tubuh fungsi
• Dapat diakses di dalam tubuh program dan semua fungsi
▪ Lokal variabel
• Variabel yang didefinisikan di dalam tubuh fungsi
• Hanya dapat diakses di dalam fungsi yang dideklarasikan
Global vs Local Variable
total = 0 # This is global variable.

def sum( arg1, arg2 ):


total = arg1 + arg2 # Here total is local variable.
print ("Inside the function local total : ", total)
return

sum( 10, 20 )
print ("Outside the function global total : ", total)

Keluaran:

Inside the function local total : 30


Outside the function global total : 0
Global vs Local Variable
total = 0 # This is global variable.

def sum( arg1, arg2 ):


global total # Here total use global variable.
total = arg1 + arg2 # total is modified.
print ("Inside the function local total : ", total)
return

sum( 10, 20 )
print ("Outside the function global total : ", total)

Keluaran:

Inside the function local total : 30


Outside the function global total : 30
Fungsi Rekursif

▪ Fungsi yang memanggil dirinya sendiri


▪ Menyederhanakan penulisan program dan menggantikan bentuk
iterasi
Fungsi Rekursif

▪ Konsep faktorial
• N! = faktorial (N) = 1 * 2 * 3 * ... * N
• faktorial (N) = N!
• = N * (N-1)!
• = N * (N-1) * (N-2)!
• = N * (N-1) * (N-2) * ... * 3 * 2 * 1
Fungsi Rekursif

def factorial(val):
if val <= 1:
return 1
else:
return val * factorial(val - 1)

print ("%2d! = %d" % (5, factorial(5)))

Keluaran:

5! = 120
Q&A

You might also like