Pengenalan 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 :
1. Program besar dapat di pisah-pisah menjadi program-program
kecil melalui function.
2. Kemudahan dalam mencari kesalahan-kesalahan karena alur logika
jelas dan kesalahan dapat dilokalisasi dalam suatu modul tertentu.
3. Memperbaiki atau memodifikasi program dapat dilakukan pada
suatu modul tertentu saja tanpa menggangu keseluruhan program.
4. Dapat digunakan kembali (Reusability) oleh program atau fungsi
lain.
5. 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 dan lambda. def adalah perintah standar
dalam python untuk mendefinisikan sebuah fungsi. Tidak seperti function
dalam bahasa pemrograman compiler seperti C/C++, def dalam python
merupakan perintah yang executable, artinya function tidak akan aktif sampai
python merunning perintah def tersebut. Sedangkan lambda, dalam python lebih
dikenal dengan nama Anonymous Function (Fungsi yang tidak disebutkan
namanya). Lambda bukanlah sebuah perintah (statemen) namun lebih kepada
ekspresi (expression).
Mendeklarasikan dan Memakai Fungsi
Statemen def
Statemen def digunakan untuk mendeklarasikan fungsi. Sedangkan
statemen return digunakan untuk mengembalikan suatu nilai kepada bagian
program yang memanggil fungsi. Bentuk umum untuk mendeklarasikan fungsi
adalah sebagai berikut :
def <nama_fungsi>(arg1, arg2, arg3, ...,argN) :
<statemen-statemen>
Sebuah fungsi diawali dengan statemen def kemudian diikuti oleh
sebuah nama_fungsi nya. Sebuah fungsi dapat memiliki daftar argumen
(parameter) ataupun tidak. Tanda titik dua ( : ) menandakan awal
pendefinisian tubuh dari fungsi yang terdiri dari statemen-statemen.
Tubuh fungsi yang memiliki statemen return :
def <nama_fungsi>(arg1, arg2, arg3, ...,argN) :
<statemen-statemen>
.....
return <value>
Di Python, untuk memakai modul lain dalam modul yang kita buat,
kita perlu mengimpor modul lain tersebut dengan perintah import seperti
potongan kode berikut.
import sys
Modul bernama sys akan dapat dipakai setelah perintah di atas
dijalankan. Sebagai contoh, argumen (parameter) saat mengeksekusi sebuah modul
dapat diperoleh dari sys.argv yang merupakan sebuah list.
Jika nama modul yang ingin dipakai sudah diketahui dari awal, kita
bisa menuliskannya secara langsung dalam kode yang kita buat. Namun bagaimana
jika nama modul tersebut belum diketahui dari awal sehingga harus dapat diimpor
belakangan secara dinamis?
Dalam penulisan Python dituntut indensasi (pendisiplinan tulisan
yang mejorok kekanan), Python menyediakan fasilitas ini melalui fungsi
__import__ yang menerima parameter berupa nama modul dalam bentuk string.
Pengecekan:
$ vim pengecekan.py
#!/usr/bin/env python
import sys
def hitung_luas (panjang, lebar):
luas = int(panjang)
* int(lebar)
return luas
if __name__=="__main__":
if len(sys.argv) == 3:
panjang = sys.argv[1]
lebar = sys.argv[2]
luas =
hitung_luas(panjang, lebar)
print "panjang:
%s \nlebar: %s\n\
luas : %s" % (panjang,\
lebar, luas)
else:
print "argumen
salah"
Input:
$ python pengecekan.py
Output:
argumen salah
Argumen:
$ vim argumen.py
#!/usr/bin/env python
import sys
nama = sys.argv[1]
print "hai %s, semoga sehat walafiat" % nama
Input:
$ python argumen.py engkong
Output:
hai engkong, semoga sehat walafiat
Fungsi :
$ vim fungsi.py
#!/usr/bin/env python
import sys
def hitung_luas (panjang, lebar):
luas = int(panjang) *
int(lebar)
return luas
if __name__ == "__main__":
panjang = sys.argv[1]
lebar = sys.argv[2]
luas =
hitung_luas(panjang, lebar)
print "panjang: %s
\nlebar: %s\n\
luas : %s" % (panjang,\
lebar, luas)
Input:
$ python fungsi.py 10 20
Output:
panjang: 10
lebar: 20
luas : 200
0 komentar