[Dasar Python]: Action Lebih Cepat Dengan Function (Bag. 1)

Wow…tak terasa lebih dari satu bulan kita tidak berjumpa. Namun saya yakin Anda masih semangat untuk belajar Python. Nah, materi kita kali ini berkaitan dengan penggunaan Fungsi di Python. Saatnya ACTION!

Fungsi merupakan blok kode tersusun dalam suatu program, yang mana kita dapat memanggilnya berulang kali untuk melakukan perintah yang kita buat. Python membedakan fungsi dalam beberapa tipe, yaitu:

  • User-defined functions (Fungsi yang kita buat sendiri)
  • Lambda forms (Fungsi dalam bentuk Lambda)
  • Built-in functions (Fungsi bawaan Python)

Saatnya kita bahas ketiga tipe fungsi tersebut.

Fungsi Buatan Sendiri

Kita diperbolehkan untuk membuat sebuah fungsi yang sesuai dengan keinginan kita. Dalam membuat sebuah blok fungsi, kita harus mengawalinya dengan menggunakan kata kunci def, diikuti nama fungsi dan tanda kurung-buka “()“. Jika ada masukan parameter atau argumen untuk fungsi tersebut, maka kita letakkan di dalam tanda kurung-buka. Untuk memulai menuliskan isi dari fungsi, disarankan diisi dengan dokumentasi string, biasa disebut docstring. Blok kode dituliskan setelah tanda titik-dua “:” dan berupa alinea (indentasi). Berikut syntax dari sebuah FUNGSI di Python:

def NamaFungsi(parameter):
    "dokumentasi_string"
    isi_dari_fungsi

Berikut contoh Fungsi Kuadrat yang kita buat sendiri:

# file: tesKuadrat.py
def Kuadrat(angka):
    "Fungsi untuk mencari kuadrat dari parameter yang kita masukkan"
    x = angka * angka
    print ("Kuadrat dari %f adalah %f." %(angka, x))

Pada contoh di atas, nama fungsi adalah Kuadrat dan isi dari fungsi tersebut terdiri dari beberapa pernyataan yang ter-indentasi setelah tanda titik-dua.

Setelah kita membuat sebuah fungsi, pertanyaan selanjutnya adalah bagaimana caranya memanggil fungsi tersebut? Ternyata untuk memanggil fungsi tadi adalah SANGAT MUDAH!…hehehe

Memanggil Fungsi

Kita dapat memanggil sebuah fungsi dari fungsi lain atau langsung dari prompt Python. Kita juga dapat memanggil sebuah fungsi dengan menggunakan beberapa tipe argumen, yaitu:

  • Required argument
  • Keyword argument
  • Default argument

Required Argument
Required Argument adalah sebuah argumen pada fungsi yang urutan letaknya sesuai dengan definisi fungsi. Jumlah argumen dalam suatu fungsi seharusnya sama dengan jumlah argumen yang didefinisikan pada fungsi tersebut. Untuk memanggil fungsi Kuadrat dari Python prompt, kita jalankan kode di bawah ini,

>>> from tesKuadrat import *
>>> Kuadrat(40)
Kuadrat dari 40 adalah 1600.

Fungsi di atas akan memberikan nilai 40 ke argumen angka sesuai dengan definisi fungsi Kuadrat. Fungsi tersebut akan menjalankan pernyataan-pernyataan yang ada didalamnya dengan mengasumsikan nilai angka sama dengan 40. Dan hasil dari pemanggilan fungsi tersebut adalah 1600.

Apa jadinya jika kita memanggil sebuah fungsi dengan argumen yang tidak sesuai dengan definisi fungsi? Jawabannya hanya satu: Terjadi Error. Berikut contohnya:

>>> Kuadrat()
Traceback (most recent call last):
  File "<pyshell#8>", line 1, in <module>
    Kuadrat()
TypeError: Kuadrat() takes exactly 1 argument (0 given)
>>> Kuadrat(15, "Hai..")
Traceback (most recent call last):
  File "<pyshell#9>", line 1, in <module>
    Kuadrat(15, "Hai..")
TypeError: Kuadrat() takes exactly 1 positional argument (2 given)
>>> Kuadrat(35)
Kuadrat dari 35 adalah 1225.

Kabar baik buat kita semua, PythonMania, ternyata Python memperbolehkan kita untuk mengubah urutan atau mengabaikan suatu argumen dalam fungsi. Hal ini dapat dilakukan dengan menggunakan Keyword Arguments, yang tentu saja akan kita pelajari lebih detail pada pertemuan berikutnya.

Salam PythonMania!

One comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s