FUNGSI PADA PYTHON Fungsi (Function) adalah suatu program

advertisement
FUNGSI PADA PYTHON
Fungsi (Function) adalah suatu program terpisah dalam blok
sendiri yang berfungsi sebagai sub-program (modul program) yang
merupakan sebuah program kecil untuk memproses sebagian dari
pekerjaan program utama.
Keuntungan menggunakan fungsi :
• Program besar dapat di pisah-pisah menjadi program-program kecil
melalui function.
• Kemudahan dalam mencari kesalahan-kesalahan karena alur logika
jelas dan kesalahan dapat dilokalisasi dalam suatu modul tertentu.
• Memperbaiki atau memodifikasi program dapat dilakukan pada suatu
modul tertentu saja tanpa menggangu keseluruhan program.
• Dapat digunakan kembali (Reusability) oleh program atau fungsi lain.
• Meminimalkan penulisan perintah yang sama.
Kategori Fungsi
1. Standard Library Function
adalah fungsi-fungsi yang telah disediakan oleh Interpreter
Python dalam file-file atau librarynya.
Misalnya: raw_input(), input(), print(), open(),
len(), max(), min(), abs() dll.
2. Programme-Defined Function
Adalah function yang dibuat oleh programmer sendiri. Function
ini memiliki nama tertentu yang unik dalam program, letaknya terpisah
dari program utama, dan bisa dijadikan satu ke dalam suatu library
buatan programmer itu sendiri.
Dalam python terdapat dua perintah yang dapat digunakan
untuk membuat sebuah fungsi, yaitu {
• def
• Lambda
def adalah perintah standar dalam python untuk mendefinisikan sebuah
fungsi. def dalam python merupakan perintah yang executable, artinya
function tidak akan aktif sampai python merunning perintah def
tersebut
lambda, dalam python lebih dikenal dengan nama Anonymous Function
(Fungsi yang tidak disebutkan namanya). Lambda bukanlah sebuah
perintah (statemen) namun lebih kepada ekspresi (expression).
Statemen def
def <nama_fungsi>(arg1, arg2, arg3, …,argN) :
<statemen-statemen>
Contoh penggunaan fungsi :
>>> def ucapan():
... print "Anda sedang menggunakan fungsi"
...
>>> ucapan()
Anda sedang menggunakan fungsi
Tubuh fungsi yang memiliki statemen return :
def <nama_fungsi>(arg1, arg2, arg3, …,argN) :
<statemen-statemen>
…..
return <value>
Contoh program dengan melibatkan nilai balik (return):
def perkalian(a,b):
c = a*b
return c
# Program Utama
print( perkalian(5,10))
output:
50
Statemen Lambda
Bentuk umum lambda adalah kata kunci lambda, diikuti oleh satu atau
lebih argumen (persis seperti daftar argumen dalam tanda kurung di def
header), diikuti oleh ekspresi setelah tanda titik dua:
lambda argument1, argument2,... argumentN
:expression using arguments
lambda memiliki perbedaan dengan def antara lain :
1. lambda adalah sebuah ekspresi, bukan pernyataan. Karena ini,
sebuah lambda dapat muncul di tempat-tempat def tidak
diperbolehkan oleh sintaks Python-di dalam daftar harfiah atau
pemanggilan fungsi argumen,
2. misalnya. Sebagai ekspresi, lambda mengembalikan nilai (fungsi
baru) yang opsional dapat diberi nama. Sebaliknya, pernyataan def
selalu memberikan fungsi baru ke nama di header, bukannya
kembali sebagai hasilnya.
3. tubuh lambda adalah ekspresi tunggal, bukan satu blok statemen.
Tubuh lambda sama dengan apa yang akan dimasukkan ke dalam
statemen return dalam tubuh def
Contoh penggunaan lambda :
>>> f = lambda x, y, z: x + y + z
>>> f(10,20,30)
60
Contoh 2 :
>>> def nama():
... gelar = 'Sir'
... aksi = (lambda x: gelar + ' ' + x)
... return aksi
...
>>> act = nama()
>>> act('Robin')
'Sir Robin'
contoh 3 :
>>> z = (lambda a = "tic", b = "tac", c =
"toe" : a + b + c)
>>> z("ZOO")
'ZOOtactoe'
Scope Variabel
Scope variabel atau cakupan variabel merupakan suatu keadaan
dimana pendeklarasian sebuah variabel di tentukan. Dalam scope
variabel dikenal dua istilah yaitu local dan global .
Variabel local : ketika variabel tersebut didefinisikan didalam sebuah
fungsi (def). Artinya, variabel tersebut hanya dapat di gunakan dalam
cakupan fungsi tersebut saja
variabel global : didefinisikan diluar fungsi . Artinya, variabel tersebut
dapat digunakan oleh fungsi lain atau pun program utamanya.
Contoh penggunaan scope variabel :
def contohScope(X):
X = 10
print "Nilai X di dalam fungsi, x = ", X
# program utama
X = 30
print "Nilai x di luar fungsi, x = ", X
contohScope(X)
Output :
Nilai x di luar fungsi, x = 30
Nilai X di dalam fungsi, x = 10
Output :
Contoh lain
Sebelum memanggil fungsi,
# fungsi mulai di sini
Sebelum memanggil fungsi,
def swap(x, y):
Dalam fungsi:
print "Dalam fungsi:"
Sebelum proses:
print "\tSebelum proses:"
Nilai x 12
print "\t\tNilai x", x
Nilai y 3
print "\t\tNilai y", y
Setelah proses:
z=x
Nilai x 3
Nilai y 12
x=y
Setelah memanggil fungsi,
y=z
print "\tSetelah proses:" Setelah memanggil fungsi,
print "\t\tNilai x", x
print "\t\tNilai y", y
# program utama mulai di sini
x = 12
y=3
print "Sebelum memanggil fungsi, x bernilai", x
print "Sebelum memanggil fungsi, y bernilai", y
swap(x,y)
print "Setelah memanggil fungsi, x bernilai", x
print "Setelah memanggil fungsi, y bernilai", y
x bernilai 12
y bernilai 3
x bernilai 12
y bernilai 3
Download