0% menganggap dokumen ini bermanfaat (0 suara)
4 tayangan9 halaman

Panduan Lengkap Fungsi dalam Python

Dokumen ini menjelaskan tentang fungsi dalam pemrograman Python, termasuk cara mendefinisikan, memanggil, dan menggunakan fungsi dengan parameter serta argumen. Terdapat contoh penggunaan fungsi, termasuk fungsi lambda, rekursi, dan penggunaan fungsi pada sequence dengan filter dan map. Selain itu, dokumen juga mencakup konsep variabel global dan lokal, serta dokumentasi fungsi.

Diunggah oleh

spencerurara
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
4 tayangan9 halaman

Panduan Lengkap Fungsi dalam Python

Dokumen ini menjelaskan tentang fungsi dalam pemrograman Python, termasuk cara mendefinisikan, memanggil, dan menggunakan fungsi dengan parameter serta argumen. Terdapat contoh penggunaan fungsi, termasuk fungsi lambda, rekursi, dan penggunaan fungsi pada sequence dengan filter dan map. Selain itu, dokumen juga mencakup konsep variabel global dan lokal, serta dokumentasi fungsi.

Diunggah oleh

spencerurara
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

Function

Fungsi adalah sekelompok statements atau perintah yang dapat dipanggil beberapa kali.
Selain fungsi bawaan, kita dapat membuat fungsi sendiri.
Dalam memanggil suatu fungsi, kita dapat memasukkan argumen untuk melakukan perhitungan yang
diinginkan.

Syntax:

def function_name(parameters):

statement(s)

Contoh:

In [1]:

def sum(a, b):


return a + b

k=sum(10,20)
print("Sum is", k)
print('5 + 4 =', sum(5,4))

Sum is 30
5 + 4 = 9

In [3]:
def conv(x):
if x==1:
return "one"
elif x==2:
return "two"
elif x==3:
return "three"
elif x==4:
return "four"
elif x==5:
return "five"
else:
pass

n=int(input("Enter a number between 1 and 5: "))


print (n, "in words is", conv(n))

Enter a number between 1 and 5: 6


6 in words is None

Latihan

Buat fungsi untuk menghitung luas segi empat dengan input panjang dn lebar (input dari user)

In [5]:
def luas(panjang,lebar):
return panjang*lebar

p = float(input('Masukkan panjang: '))


l = float(input('Masukkan lebar: '))

print('Luas segi empat dengan panjang',p,'dan lebar',l,'adalah',luas(p,l))


Input In [5]
p = float(input('Masukkan panjang: ))
^
SyntaxError: EOL while scanning string literal

Latihan: Buat code untuk menghitung jumlah kata yang diinputkan user

In [10]:
def hitung_kata(kalimat):
kata2 = [Link](' ')
return len(kata2)

kalimat = input('Masukkan suatu kalimat: ')


print('Kalimat yang Anda masukkan terdiri dari',hitung_kata(kalimat),'kata')

Masukkan suatu kalimat: Saya tadi makan nasi jagung dengan sayur lodeh dan lauk ayam
Kalimat yang Anda masukkan terdiri dari 11 kata

In [9]:
a='Samsul amar'
print([Link](' '))
b = [1,2,3,2]
print(len(b))

['Samsul', 'amar']
4

Default Value Parameters


Nilai parameter bisa dibuat default bila user tidak memasukkan nilai tertentu.

Contoh:

In [15]:
def sum(x=20, y=10):
return x+y

print(sum(10))
print(sum(5,8))
print(sum())
print(sum(y = 100))

20
13
30
120

In [ ]:
a = sum(y=100,x=200)
print(a)

Keyword Arguments
Kita bisa memasukkan nama atau keyword dari argument dalam memanggil function

Contoh:

In [16]:
def volume(l, p=5, t=10):
print ('lebar =', l, ', panjang =', p, ' dan tinggi =', t, '. Volume =', l*p*t)

volume(2, 4)
volume(3, t=6)
volume(t=7, l=2)

lebar = 2 , panjang = 4 dan tinggi = 10 . Volume = 80


lebar = 3 , panjang = 5 dan tinggi = 6 . Volume = 90
lebar = 2 , panjang = 5 dan tinggi = 7 . Volume = 70

In [17]:
print(volume(10))

lebar = 10 , panjang = 5 dan tinggi = 10 . Volume = 500


None

In [ ]:
a = volume(3,2,3)
print(a)

Global dan Local Variables


Nilai dari global variable bisa diakses didalam maupun diluar function yang mendeklarasikan global variable
tersebut, sedangkan nilai dari local variable hanya bisa diakses didalam function.

In [33]:
def sum(x,y):
global z
z = 100
return x+y

a= sum(4,5)
print(a)

In [34]:
print(z)

100

---------------------------------------------------------------------------
NameError Traceback (most recent call last)
Input In [34] , in <cell line: 2>()
1 print(z)
----> 2 print(x)

NameError: name 'x' is not defined

Contoh:

In [ ]:

def compute(): #contoh function tanpa input argument


global x
x = 10
y = 100
print ("Value of x in compute function is", x)
x += 5
return None

In [ ]:
compute()
compute()

In [ ]:
print(x)

In [ ]:
def dispvalue():
global x
print ("Value of x in dispvalue function is", x)
x-=2
return None

def localcompute():
x = 100
print('Value of x in localcompute function is ',x)

x=0
compute()
print(x)
dispvalue()
localcompute()
compute()

Lambda Function
Untuk fungsi yang hanya satu baris, sering kali tidak diperlukan definisi function, tapi cukup menggunakan
lambda function.

Contoh:

In [31]:
g = lambda x: x**2 + 4*x -10

print(g(10))

130

In [32]:
g = lambda x,y: x**2 + 4*y - x*y

print(g(5,6))

19

Latihan: Buat lambda function untuk menghitung luas lingkaran

In [ ]:

In [35]:
luas = lambda r: 3.14*r**2

print(luas(4))

50.24

Applying Functions to Sequences


Function bisa diaplikasikan untuk suatu sequence dengan menggunakan:
filter()
map()
map()

filter()

sintax:

filter(function, sequence)

Menghasilkan nilai input saat hasil fungsi bernilai True.

Contoh:

In [37]:
def genap(x):
return x % 2 == 0

print(genap(4))

True

In [38]:
evens=filter(genap, range(1,11))
print(list(evens))

[2, 4, 6, 8, 10]

map()
sintax:
map(function, sequence)

Menghasilkan nilai output fungsi dari suatu sequence.

Contoh:

In [39]:
def kwadrat(x):
return x*x

sqr=map(kwadrat, range(1, 21))


print(list(sqr))

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144, 169, 196, 225, 256, 289, 324, 361, 400]

Documentation String
Untuk membuat program yang baik perlu dokumentasi yang baik.
Salah satu bentuk dokumentasi adalah membuat penjelasan mengenai fungsi tersebut.
Dokumentasi dibuat dengan mengetik ''' setelah nama fungsi dan diakhiri dengan ''' juga.

Bisa dipanggil dengan siyntax: nama_fungsi.doc

Contoh:

In [36]:
def kwadrat(x):
''' f = kwadrat(x)
Ini adalah gungsi untuk menghitung kwadrat dari input argument (x)
f(x) = x*x '''
return x*x

In [37]:
print(kwadrat.__doc__)

f = kwadrat(x)
Ini adalah gungsi untuk menghitung kwadrat dari input argument (x)
f(x) = x*x

In [38]:
help(kwadrat)

Help on function kwadrat in module __main__:

kwadrat(x)
f = kwadrat(x)
Ini adalah gungsi untuk menghitung kwadrat dari input argument (x)
f(x) = x*x

In [40]:
kwadrat ?

In [42]:
sum?

Recursion
Rekursi adalah fungsi yang memanggil dirinya sendiri. Untuk menerapkan rekursi, perlu dibuat kondisi exit agar
program tidak terus berjalan tanpa henti.

Contoh:

In [43]:
def fact(x):
if x == 1: return 1
else: return x * fact(x-1)

print ('Factorial dari 15 adalah', fact(15))

Factorial dari 15 adalah 1307674368000

In [44]:
a = 0.5
for i in range(65):
a = a*2
print(a)
print(a/2500/1000)

1.8446744073709552e+19
7378697629483.821

Latihan

Buat fungsi untuk menghitung nilai kumulatif penjumlahan 1 sampai n, dimana n diinputkan user

In [45]:
def cum(x):
if x == 1: return 1
else: return x + cum(x-1)
x = int(input('Masukkan sebuah bilangan: '))
print('Kumulatif dari ', x, 'adalah',cum(x))

Masukkan sebuah bilangan: 4


Kumulatif dari 4 adalah 10

In [49]:

In [55]:
print(cum(5))

15

cum(15)

Fungsi dengan variable input argument


Python memiliki fasilitas untuk membuat fungsi dengan jumlah argument sesuai inputan user. Misal kita
membuat fungsi Add(input arguments) dimana jumlah input argument tidak dibatasi. Misalnya user dapat
memanggil fungsi tersebut dengan dua input argument Add(3,4) maka akan menghasilkan return 7. Bila user
memanggil Add(3,4,2) maka akan menghasilkan return 9, dan seterusnya.

Sintax:

def function_name (*args):

statements

In [47]:
def sum(a,b):
return a+b

print(sum(3,4,5))

---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Input In [47] , in <cell line: 4>()
1 def sum(a,b):
2 return a+b
----> 4 print(sum(3,4,5))

TypeError: sum() takes 2 positional arguments but 3 were given

Contoh:

In [49]:
def Add(*args):
sum = 0
for i in args:
sum += i
return sum

Add(3,2,5,4,4,4,4,4,4,3)
Out[49]:
37

In [59]:
def gabung(*args):
sum = ''
for i in args:
sum = sum + i + ' '
return sum

print(gabung('saya','makan','tahu','goreng'))

saya makan tahu goreng

Latihan: Buat fungsi untuk menggabungkan string dengan jumlah input argument tidak dibatasi

In [ ]:
def gabung(*args):
sum = ''
for i in args:
sum = sum + i + ' '
return sum

a = 'saya'
b = 'makan'
c = 'tahu'
d = gabung(a,b,c)
print(d)

In [ ]:
a = ['saya','makan','nasi']
' '.join(a)

Fungsi dengan variable keywords input argument


Python juga memiliki fasilitas untuk membuat fungsi dengan jumlah keyword argument sesuai inputan user.

Sintax:

def function_name (**kwargs):

statements

Contoh:

In [ ]:
def myFun(**kwargs):
for i in kwargs:
print(i,": ", kwargs[i])
# key, value in [Link]():
# print("%s : %s" % (key, value))

# Driver code
myFun(first='Siji', mid='Loro', last='Telu')

Latihan:

Buat fungsi untuk mengalikan semua input yang dimasukkan user

In [51]:
def perkalian(*args):
sum = 1
for i in args:
sum = sum * i
return sum

perkalian(3,2,5,4,4,4,4,4,4,3)
Out[51]:
368640

In [ ]:

Anda mungkin juga menyukai