samuelsimanungkalit. Powered by Blogger.

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