Dalam dunia pemrograman, terkadang aktivitas coding merupakan hal yang cukup membuat penat dan menguras tenaga yang cukup tinggi. Ini dikarenakan seorang prorgammer harus menulis ribuan baris code program yang harus sesuai dengan algoritma tujuan dari program tersebut.Â
Untuk meminimalisir jumlah baris code program, biasanya baris program yang sering muncul di tulis dalam bentuk fungsi (function), sehingga jika ada baris program yang sama ingin ditulis lagi, programmer tidak perlu menulis ulang keseluruhan code, namun cukup memanggil fungsi dengan parameter yang telah ditentukan.
Selain dalam bentuk fungsi, bisa juga ditulis dalam bentuk methods. Sehingga dengan cara yang sama tidak perlu menuliskan kembali baris code yang dibutuhkan, cukup memanggil methods beserta parameter didalamnya.Â
Namun antara fungsi dan methods itu seperti saudara kembar beda kelamin. Dua-duanya sama, Cuma yang membedakan adalah di bagian bawah. Dimana fungsi selalu memiliki nilai balik (return value) sedangkan methods tidak perlu nilai balik.
Dalam bahasa pemrograman python, fungsi bisa ditulis sebagai berikut (contoh mencari bilangan terbesar)
def terbesar(x, y):
  if x > y:
    maks = x
  else:
    maks = y
return maks
Fungsi diatas adalah gambaran fungsi sederhana yang hanya membandingkan dua nilai (parameter) untuk mencari nilai terbesar.
Higher Order Function
Setelah mengetahui secara singkat tentang fungsi, cara penggunaan fungsi dan perbedaan antara fungsi dengan argumen, maka tahap selanjutnya adalah mengenal "Higher Order Function". Higher order function adalah fungsi yang menggunakan fungsi lain sebagai parameter atau sebagai hasil return.
Mari kita lihat script sederhana dibawah ini :Â
def foo(f):
  f()
def bar():
  print ("Hello bar")
foo(bar)
Dari script sederhana diatas dapat dilihat bahwa :Â
- Baris pertama kita mendefinisikan sebuah fungsi bernama foo dengan isi berupa fungsi tanpa nilai balik
- Kemudian pada baris ke 3 kita mendefinisikan ulang sebuah fungsi bernama bar() yang juga tidak memiliki nilai balik, namun memiliki tujuan menampilkan tulisan "Hello bar"
- Pada baris akhir, barulah kita memanggil fungsi foo() dengan parameter didalamnya berupa fungsi bar() dengan baris code : foo(bar)
- Maka hasil dari tampilan itu adalah "Hello bar"
Fungsi dan methods adalah objek yang sangat penting dalam bahasa pemrograman  python, sehingga jika kita ingin meneruskan fungsi sebagai argumen ke fungsi lain, tentu kita bisa menerapkannya sebagai objek lain.
Hal yang perlu diperhatikan adalah dalam beberapa bahasa fungsi dan objek itu berbeda, tetapi dalam fungsi python diimplementasikan sebagai objek (memiliki atribut).
Baca konten-konten menarik Kompasiana langsung dari smartphone kamu. Follow channel WhatsApp Kompasiana sekarang di sini: https://whatsapp.com/channel/0029VaYjYaL4Spk7WflFYJ2H