
Hi Guys! Ini artikel pertama saya di JagoCoding.Com.
Kali ini saya akan membahas tentang Javascript, bukan secara praktek, tapi teori. Tidak suka teori? Leave it!
Tau fungsi kan? Kalau tidak, silahkan googling, atau kalau anda mahasiswa IT maka silahkan buka kembali buku Apro anda.
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
Demikian artikel singkat tentang Javascript, happy coding!!