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