Tutorial Programming

Mengenal Fungsi Pada Javacript

Fungsi adalah apa yang disebutkan dalam buku alpro (saya lupa detailnya). Namun fungsi di Javascript agak sedikit berbeda dan kompleks dibanding fungsi yang terdapat pada bahasa impratif lainnya (baca: C, Pascal, PHP de el el). Selain dapat dipandang seperti layaknya fungsi pada kebanyakan bahasa pemrograman imperatif lainnya, fungsi di Javascript juga dapat dilihat seperti variable, dapat juga bertindak sebagai blueprint dari object (a.k.a class). Jika anda tau bahwa semua variable di javascript adalah object, maka fungsi di javascript juga adalah object.

Penulisan 'standard' fungsi

Berikut cara penulisan fungsi yang secara umum diketahui:

function nama_fungsi(){
    //body fungsi
}

Contoh sederhananya:

function tambah(a, b){
    return a+b;
}.
tambah(3+4); // Hasilnya 7

Fungsi sebagai object

Sebenarnya, fungsi adalah salah satu object umum yang ada di Javascript,  dan merupakan bentuk asli dari segala fungsi yang didefiniskan, berikut syntax penulisannya:

new Function ([arg1[, arg2[, ... argN]],] functionBody)

dengan: 
- arg1, arg2, ... argN : parameter yang bertipe string 
- functionBody : body dari fungsi, yang juga bertipe string
contoh:

var tambah = Function('a','b', 'return a+b'); // atau
var kali = new Function('a','b', 'return a*b');
tambah(2,5); // hasil 7
kali(2,5); // hasil 10

Fungsi sebagai Lambda

Lambda disebut juga anonymous adalah fungsi tanpa nama yang dapat di assign ke variable atau dapat dipanggil langsung.
Contoh sebagai variable:

var tambah = function(a, b) {
    return a + b;
}
tambah(2,5); // hasil 7

Contoh pemanggilan fungsi secara langsung:

(function(a, b) {
    return a * b;
})(2,5); // hasilnya 10


Fungsi sebagai blue print dari object (a.k.a class)

Javascript tidak memiliki keyword class, tapi Javascript mendukung style pemrograman berbasis object. Untuk mendefinisikan sebuah 'class' kita bisa menggunakan fungsi.
Contoh:

var Segitiga = function(lebar, tinggi) { this.lebar = lebar; this.tinggi = tinggi; this.luas = function(){ return 0.5 * lebar * tinggi } } var segi = new Segitiga(4, 3); segi.lebar; // 4 segi.tinggi; // 3 segi.luas(); // 6

No comments:

Post a Comment

Tutorial Programming Designed by Templateism | Ary EJFA Copyright © 2015

Theme images by richcano. Powered by Blogger.