Showing posts with label Belajar Nodejs. Show all posts
Showing posts with label Belajar Nodejs. Show all posts

Tuesday, June 3, 2014

Berkenalan dan belajar Pipe di Nodejs

Pipe yang kita mungkin ketahui adalah pipa / saluran air mungkin bisa diartikan sama dengan itu biar mudah dipahami 
pipe didalam Node digunakan untuk mentransfer data yang bentuknya bisa stream buffer atau type data lainya namun didalam penulisan 
implementasinya ada beberapa aturan yang harus diikuti.

Biasanya method listener yang terdapat di beberapa api nodejs sudah secara default dipasang misalnya pada filesystem "createReadStream" 
kita bisa langsung menggunakan pipe didalamnya untuk berkomunikasi dengan filesystem "createWriteStream", kali ini kita akan mempelajari 
bagaimana tehnik ini dapat bekerja.

Sebelumnya Pipe ini terbagi menjadi 4 type, yang pertama adalah Readable, Writable, Duplex dan Transform.
Semuanya memiliki properti yang satu sama lainya saling membagi dan menerima data yaitu read dan write, adapun didalam method write 
ada 3 argument didalamnya, yang akan saya contohkan pada contoh script nanti.
tapi sebelumnya kita membutuhkan apinya node yang namanya "util" untuk meng Extends fungsi didalamnya dan dikirim menjadi 
method atau sebaliknya.

Berikut contoh kodenya: eg: [ buat file js dengan nama run.js ]

//////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////
var stream =  require('stream');
var util = require('util');


util.inherits(Human, stream.Readable);
function Human(){
stream.Readable.call(this);
this.stop = null;
this.jagoan = [ "Spiderman", "Hulk" ];
this.anakJagoan = "Anaknya ";
this._writeAppend= function(){
for(var i in this.jagoan){
this.push( this.anakJagoan + this.jagoan[i] );
}
}
this._read= function(){
this._writeAppend();
for(var i in this.jagoan){
this.push( this.jagoan[i] );
}
this.push( this.stop );
}
}

util.inherits(Quetion, stream.Writable);
function Quetion(){
stream.Writable.call(this);
this.que = [ " Nama Kamu siapa ? ", " Nama Saya " ];
this.index = 0;
this._write= function( chunk, enc, next ){
var context = chunk.toString() + ': ' + (this.que[ this.index % 2 ]) + ( (this.index % 2)?chunk.toString():'' );
console.log( context );
this.index++;
next();
}

}

new Human().pipe( new Quetion() );
//////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////


Penjelasan kode diatas,

Pertama kita membutuhkan 2 api sebagai contoh yaitu stream dan util
Stream ini fungsinya untuk membuffer Object / Function 

" var stream =  require('stream'); "

didalam stream ada 4 method yang akan kita gunakan yaitu: Readable, Writable, Duplex dan Transform.
tapi contoh diatas hanya Readable dan Writable saja.

" var util = require('util'); " => " util.inherits(Human, stream.Readable); " dan " util.inherits(Human, stream.Readable); "

Kemudian util yang fungsinya untuk membungkus kedua Object tersebut [ Function dan Stream Type ] dengan method util sendiri yaitu "inherit" 
atau penurunan sifat dari object stream tersebut.

" stream.Readable.call(this); " dan " stream.Writable.call(this); "

didalam masing masing Object / Function kita imlementasikan dulu pemanggilan fungsi objectnya sendiri ( this ) yaitu fungsi 
standard javascript "call" kedalam stream Readable maupun Writable

" new Human().pipe( new Quetion() ); "

Terakhir buat object baru dimasing masing fungsinya dan lakukan tehnik pipe dari Readable kedalam object Writable tadi
untuk mencobanya buka console ketikan "node run.js" didalam folder projectnya.


salam


Description: Berkenalan dan belajar Pipe di Nodejs Rating: 4.5 Reviewer: ukungzulfah - ItemReviewed: Berkenalan dan belajar Pipe di Nodejs Posted by: Get Answer
Get Answer, Updated at: 1:25 PM

Sunday, June 1, 2014

Berkenalan dengan Node js sebelum belajar dasar node js




Sampai sekarangpun saya masih terus mendalami Nodejs, banyak persepsi tentang nodejs dibuat atau lintas pendapat, setiap orang bebas mengexpresikan pendapat mereka sesuai dengan asumsinya masing masing karena pemograman apapun adalah perhitungan, it is logic tapi semua dengan argument yang berbeda-beda.

Nodejs dengan javascriptnya yang di buat dengan Javascript Engine V8 buatan google berhasil mengubah pandangan saya antara server dan client, web browser dan native application, semuanya terasa sangat dekat dan akrab, kecepatan yang fantastis, kemudahan dalam penulisan koding dan kemampuan dengan berbagai kondisi dengan API nya. sebagai catatan saja kalau menurut saya, saya suka Java, Php, Phython, Net dll tapi Node menurut saya hadir dengan Gayanya yang berbeda. jadi inget motonya java "sekali tulis untuk semua" ini yang paling kental saya lihat di Nodejs. bukan berarti yang lain tidak bisa tapi memiliki kelebihan dan kekurangan yang berbeda-beda.
Contohnya, untuk urusan webserver sampai saat ini saya tetap setia dengan PHP karena kemudahan dengan berbagai paket yang telah di build didalamnya. ( PHP Indonesia G+ ), kemudian untuk Native Dekstop app saya setia dengan Java karena apinya yang lengkap dan Swingnya yang bagus. apalagi kalau C dengan kekuatanya HULK.
nah bedanya kalau di Node walaupun ada beberapa API yang secara default sudah di include didalamnya kita tetap membutuhkan node modul ( NPM ) lainya, pertanyaanya kenapa ga sekalian aja dibuild kaya PHP jadi satu atau java, saya akan katakan justru ini kelebihanaya dimana kita tidak membutuhkan paket yang tidak kita gunakan sehingga program akan berjalan secara maximal menghemat memori dalam memproses data, kalau di PHP banyak yang mengibaratkan dengan Ngink. semua diserahkan kepada kita sebagai Develover mau dibuat apa dan seperti apa, makanya dengan Nodejs kesalahan kecil bisa menjadi fatal *inget crash yang terjadi dengan chrome versi lawas. tapi untungnya banyak framework yang sudah memikirkan hal itu agar tidak terjadi walaupun kemungkinan akan selalu ada.

Hal menarik lainya adalah ketika kita berurusan dengan socket, sebagian pasti pernah berurusan dengan jurus yang satu ini, socket di C sangat sulit saya pahami biasanya untuk kebutuhan service kalau di VB dan C kita akan diarahkan ke Window Socket, di Nodejs saya mendapatkan kemudahan mulai dari penangan Event dan bagaimana handlernya kemudian menanganinya dengan emit sendiri dll sampai hampir tidak percaya ini dapat bekerja dengan baik.

Jadi bagaimana apakah anda tertarik dengan Node.js, uraian diatas merupakan asumsi saya, saya juga membebaskan anda menulis asumsi asumsi anda di forum ini tentang Nodejs berbagi pandangan membuka pemahaman tentang Nodejs untuk sahabat-sahabat kita di indonesia yang ingin mempelajarinya yang jumlahnya masih sangat sedikit.

Salam Nodejs Indonesia

ukungzulfah


Content di copy dari Nodejs Indonesia

Description: Berkenalan dengan Node js sebelum belajar dasar node js Rating: 4.5 Reviewer: ukungzulfah - ItemReviewed: Berkenalan dengan Node js sebelum belajar dasar node js Posted by: Get Answer
Get Answer, Updated at: 9:43 PM