Sunday, July 17, 2016

Dasar Pake Module di Node.js

Module berarti kita misah2in beberapa program ke dalam beberapa file. File berisi berbagai macam fungsi atau variabel dsb yang nantinya dipake oleh module atau program lain. Naah.. misalkan kita buat file aritmatik.js yg isinya :
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
function addNum(a, b)
{
 return a+b;
}

function divNum(a,b)
{
 return a-b;
}


var hay = "Hellow ini cuma variabel biasa... :D";

//Export masing2 fungsi buat dipakai diluar;
module.exports.tambah = addNum;
module.exports.kurang = divNum;
module.exports.test = hay;
Terus di mainProgram Node.js-nya module aritmatik ini dipanggilnya kyk gini :
1
2
3
4
5
6
var operasi = require("./aritmatik");

//Panggil masing2 fungsi dan variabel dari module aritmatik
console.log("Penjumlahan 9 + 8 = "+operasi.tambah(9,8));
console.log("Pengurangan 13 - 11 = "+operasi.kurang(13,11));
console.log("Variabel biasa = "+operasi.test);

Klu mainprogram.js ini kita jalanin hasilnya :
Naaah.... kliatan operasi penambahan, pengurangan, dan variabel biasa dari module aritmatiknya... :D
Btw... sebenarnya ada cara lain buat export sesuatu dari module, klo cara diatas kan terlihat agak ribet yaah..soalnya kita nulis fungsi atau variabel dl, trs nulis lagi buat nandain dia akan diexport. Taapi.. klu pengen sekali ajjah... carana kek gini nih...
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
module.exports = 
{
 perkalian: function(a,b)
 {
  return a*b;
 },

 pembagian: function(a,b)
 {
  return a/b;
 },

 stringBiasa: "Ini cara yang lebih simpel..:D"
}
Terus ngeload di mainprogram.js-nya juga sama...
1
2
3
4
5
//Ini cara yang kedua
var op2 = require("./aritmatika2");
console.log("Perkalian 3 * 7 = "+ op2.perkalian(3,7));
console.log("Pembagian 34/5 = "+op2.pembagian(34,5));
console.log("String biasa = "+op2.stringBiasa)
Hasil :
Daaan... yang perlu dicatet,,, Module disini itu kita ngereference yaaah,,, jadi klu ada variabel2nya diubah...maka akan secara otomatis berubah ditempat lain juga.. jadi klu g' mau pake reference, kita harus pake "return" didalam variabelnya...

Teruus... di node.js sendiri sudah banyak module2 default yang bisa kita pake {yaah kek librari bawaan gitu :D}, jadi tinggal panggil ajjah.. :D :D :D mmmm... misalkaan... kita pengen write and read file, tinggal panggil require("fs"); fs itu fileSystem, contohnya seperti ini :
1
2
3
4
5
//Default module untuk write and read file
console.log("\n\n");
var myFile = require("fs");
myFile.writeFileSync("hisoka.txt","This is Hisoka's awesome file... :D"); //baca file
console.log("Hasil read : "+myFile.readFileSync("hisoka.txt").toString());
filenya :
Sooo kek gitu ajjah cara makena ahahaha... simpel yaaak... :D :D :D
Mmm.... module penting yg lain mungkiiiin....mmmm.. module path, contohnya kek gini :
1
2
3
4
5
6
7
8
9
//Module path
var myPath = require('path'); //import path module
var hisokaWebHome = "Desktop/Hisoka//poipo/index.html";
var hisokaWebAbout = "Desktop\Hisoka/poipo/about.html";

console.log(myPath.normalize(hisokaWebHome)); //nyesuaian sesuai OS apa pake forward atau backslash
console.log(myPath.dirname(hisokaWebAbout));//dapatin directory name
console.log(myPath.basename(hisokaWebAbout));//basename
console.log(myPath.extname(hisokaWebAbout));//dapatin extension filenya
Naah... klu diliad, hisokaWebHome itu pake forwardslassh semua terus ada yagn doubleforwardslass malah...tapi begitu dinormalisasi, semuanya berubah menjadi backslash, jadi kliatan gunanya ehehe... :D

Terus yang dirname, basename, extname, jg cukup jelas dari gambar diatas... :D

Cukup sekian untuk pengenalan module di Node.js... :D

Saturday, July 16, 2016

Dasar Prototype di Node.js

Secara sederhana, prototype adalaah cara muda buat nambain method atau parameter baru dalam suatu fungsi. Mmmm...misalkan kita ada fungsi kyk gini :
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
function Akatsuki()
{
 this.name = "";
 this.power = 100;
 this.givePower = function givePower(memberTarget)
 {
  memberTarget.power += 1;
  console.log(this.name+" has given 1 power to "+memberTarget.name);
 } 
}

var Hisoka = new Akatsuki();
var Itachi = new Akatsuki();

Naaah... disini kita ada 2 var Hisoka dan Itachi yang masing2 berupa Akatsuki, kalo misalkan Hisoka ngasih 1 power ke Itachi berarti :
1
2
3
4
5
6
7
8
Hisoka.name = "Hisoka";
Itachi.name = "Itachi";

Hisoka.givePower(Itachi);

//Cek masing-masing power
console.log("Hisoka's Power : "+Hisoka.power);
console.log("Itachi's Power : "+Itachi.power);
Hasilnya :
Naaah... klu udah smpe sini, kita misalkan pengen nambah sesuatu ke dalam fungsi Akatsuki, itu bisa pake prototype, misalkan kita pengen nambain takePower, jadinya kyk gini :
1
2
3
4
5
6
7
//pake prototype buat nambain variabel baru dalam Akatsuki
Akatsuki.prototype.takePower = function takePower(memberTarget)
{
 memberTarget.power -= 7;
 this.power += 7;
 console.log(this.name +" has taken power from "+ memberTarget.name);
}
Kita udah nambain takePower ke Akatsuki berarti sekarang Hisoka udah bisa pake takepower-nya, contoh kyk gini :
1
2
3
4
Hisoka.takePower(Itachi);
//Cek masing-masing power
console.log("Hisoka's Power : "+Hisoka.power);
console.log("Itachi's Power : "+Itachi.power);
Hasilnya :
Naaah... kliataan kaan... Hisoka nambah 7, Itachi kurang 7. Dari sini juga jelas penggunaan prototype kekna... :D mmm.... coba satu lagi kyk gini :
1
2
3
4
Akatsuki.prototype.jutsu = "Secret... :D";
//cek lagi...
console.log("Hisoka's Jutsu : ",Hisoka.jutsu);
console.log("Itachi's Jutsu : ",Itachi.jutsu);
Hasilnya :

Siiips... ckup demikin... :D ....
Untuk source code lengkapnya seperti ini :
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
function Akatsuki()
{
 this.name = "";
 this.power = 100;
 this.givePower = function givePower(memberTarget)
 {
  memberTarget.power += 1;
  console.log(this.name+" has given 1 power to "+memberTarget.name);
 } 
}

var Hisoka = new Akatsuki();
var Itachi = new Akatsuki();

Hisoka.name = "Hisoka";
Itachi.name = "Itachi";

Hisoka.givePower(Itachi);

//Cek masing-masing power
console.log("Hisoka's Power : "+Hisoka.power);
console.log("Itachi's Power : "+Itachi.power);


//pake prototype buat nambain variabel baru dalam Akatsuki
Akatsuki.prototype.takePower = function takePower(memberTarget)
{
 memberTarget.power -= 7;
 this.power += 7;
 console.log(this.name +" has taken power from "+ memberTarget.name);
}

Hisoka.takePower(Itachi);
//Cek masing-masing power
console.log("Hisoka's Power : "+Hisoka.power);
console.log("Itachi's Power : "+Itachi.power);


Akatsuki.prototype.jutsu = "Secret... :D";
//cek lagi...
console.log("Hisoka's Jutsu : ",Hisoka.jutsu);
console.log("Itachi's Jutsu : ",Itachi.jutsu);