Say Hello To NodeJS (Pengenalan NodeJS untuk pemula)

 Author : hadinug, 09 May, 2014, Komentar

nodejs


Node.js, inilah nama bahasa pemprograman berbasis javascript yang mampu berjalan disisi server. Mendengar sekilas tentang kemampuan bahasa ini dan kebetulan penulis memang sangat suka dengan bahasa scripting seperti javascript, dan sesaat setelah mendengar, penulis mulai mencoba mencari tau sendiri melalui google tentang nodejs. Dan hasilnya sangat luar biasa, penulis seperti terhipnotis dengan bahasa yang satu ini.



Apa Yang Akan Kita Pelajari Disini?

Di halaman ini, kita akan belajar sedikit tentang nodejs, mulai dari alasan mengapa menggunakan nodejs hingga memulai membuat program sederhana nodejs. Ini sangat penting jika anda memang ingin belajar lebih mengenai nodejs. Dan tetap di hadinug.net, karena dalam beberapa bulan kedepan akan banyak sekali tutorial nodejs yang akan ditulis disini.


MANGAPA  NODE.JS ?

Sebelum kita masuk ke inti pokok bahasan buku ini (node.js), ada baik nya kita mengingat kembali, dan kilas balik tentang bahasa pemprograman yang berjalan di browser. Sekedar mengingatkan kembali, dimana PHP adalah bahasa internet berumur cukup tua, diciptakan pada tahun 1995. Nodejs baru, dan bisa dikatakan sangat baru, diciptakan pada tahun 2009. 


Node.js adalah sebuah platform dibangun di Chrome JavaScript runtime, digunakan  untuk memudahkan dan membangun jaringan aplikasi yang bersekala dan cepat. Node.js menggunakan event-driven, non-blocking I/O model yang membuatnya ringan dan efisien, cocok untuk data-intensif dan aplikasi real-time yang berjalan di perangkat terdistribusi.

 

Perbedaan terbesar antara PHP dan nodejs adalah bahwa PHP adalah bahasa memblokir, mengandalkan API yang tidak dikembalikan sampai mereka selesai dijalankan, dan node.js adalah bahasa nonblocking, bergantung pada API yang menggunakan peristiwa dan callback ketika mereka selesai dijalankan.


Namun mereka juga memiliki kesamaan. Keduanya menggunakan notasi braket ({}) untuk blok kode, seperti bahasa pemrograman C. Keduanya memiliki kata kunci fungsi, dengan tujuan yang sama persis dan memiliki sintaks yang sama persis di kedua bahasa.


Nodejs tidak didukung oleh situs cPanel miliaran layanan hosting. Bahkan, penulispun tidak tahu, bahkan belum ada satu web layanan hosting yang mendukung hal itu. Tapi penulis tahu bahwa banyak pengembang diluar sana, tertarik dengan nodejs dan menulis kode node.js. 


Di node.js anda tidak membutuhkan apache untuk menjalankan kode website anda di browser. Karna nodejs dibuat untuk itu


MENGAPA PENULIS MENULIS NODE.JS ?

Apa yang ingin kami sampaikan didalam disini? Merupakan sebuah pertanyaan yang dasar dan acuan bagi kami saat menulis. Penulis ingin, dan bersunguh-sungguh ingin meyakin kan anda bahwa ini lah teknologi pemprograman website masa depan. 


Jika sebelum nya anda berfikir bahwa javascript hanya bisa berjalan di sisi client, dengan node.js javascript bisa lebih dari itu. Karna node.js menjadi kan javascript mampu berjalan dikedua sisi baik itu server side maupun client side.


Penulispun juga ingin menunjukan perbandingan dan kesamaan tentang menulis program di node.js dengan php sebagai bahasa pembanding, dan mengimplementasikan node.js ini dalam beberapa studi kasus seperti penggunaan API twitter dengan node.js dan membuat aplikasi Chat yang real-time dengan socket.io. So. Mari kita mulai dari sini.


PENGENALAN DAN PENGATURAN


Apa yang akan kamu dapat disini?

  • Cara mendapatkan node.js dan menginstall nya 
  • Menggunakan NPM untuk menginstal, uninstall, dan update


Pada JSConf Eropa pada tahun 2009, Ryan Dahl, seorang programmer muda, mempresentasikan proyek yang telah ia kerjakan. Proyek ini adalah sebuah platform yang menggabungkan Google V8 JavaScript engine, perulangan event, dan low-level I / O API. 


Proyek ini  membuat penulisan event disisi aplikasi server menjadi mudah. Proyek ini menerima standing-applause dari para peserta conffrence dan sejak itu node.js tumbuh dengan sangat pesat, populer, dan diadopsi oleh banyak industri.

 

CATATAN : node memungkinkan Anda untuk dengan mudah membangun layanan jaringan yang cepat dan terukur. Sejak diperkenalkan, Node telah mendapat perhatian dari beberapa pemain terbesar di industri website. Mereka telah menggunakan Node untuk menyajikan layanan jaringan yang cepat dan terukur. Node sangat menarik karena beberapa alasan.



MENGINSTALL NODE.JS

Node berjalan di berbagai platform komputer, baik UNIX, window maupun MAC. Dan pada bab ini kita tidak akan mempelajari bagai mana cara menginstal node secara detil di Window, Linux maupun Mac OS. 


INSTALL NODE.JS

Node mendukung sistem operasi Windows sejak versi 0.6.0. Untuk menginstal Node pada OS Windows maupun OS lainnya arahkan browser anda kealamat http://nodejs.org/#download. Terlihat seperti gambar dibawah:




Seperti terlihat pada gambar, pilih paket installer yang sesuai dengan OS komputer anda dan ikuti langkah-langkah nya.


MENJALANKAN NODE.JS

Kita baru saja selesai menginstal node.js di komputer, dan untuk selanjutknya kita akan menjalankan node yang telah terpasang di komputer kita.


CATATAN:  di tutorial ini penulis menggunakan contoh gambar dan simulasi dengan OS window. Penulis menggunakan command prompt window 


Tahap selanjutnya, masuk ke folder instalasi melalui command prompt dengan menuliskan code berikut. 


// masuk ke folder instalasi nodejs
C:Usersuser> D:
D:> cd nodejs
// mejalankan node js dengan mengetik node
D:nodejs> node


Setelah mengetik node, anda akan masuk ke client shell node.js dan mari kita menulis program pertama kita di node.js  


> console.log("hello world")
hello world
>


Anda juga dapat menjalankan script JavaScript dari file. Misalnya, jika Anda membuat file dengan konten ini:


// this is my first program in node.js
console.log("Hello World");


Beri nama file hello_world.js. Kemudian jalankan file dengan shell node.js dengan menulisakan kode berikut di command prompt


Strutur direktory di folder nodejs anda akan terlihat seperti gambar berikut:


 


Buat direktori http dan letakan file sample.js didalamnya. Kemudian isikan kode berikut:


var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/html'});
  res.end('Hello Worldn');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');


Jalankan file script sample.js dengan menuliskan code berikut di command prompt

D:nodejs> node http/sample.js


Prosess eksekusi script di command prompt window bisa di lihat pada gambar dibawah:



 

NODE PACKAGE MANAGER (NPM)

NPM adalah paket-paket pada NodeJS. Seperti namanya, npm memungkinkan kita untuk menginstal beberapa paket program pada node.js. NPM memudahkan kita untuk mengatur paket-paket apa saja yang dibutuhkan dalam membagun aplikasi.


CATATAN: Kunjungi http://npmjs.org untuk melihat daftar paket yang tersedia di node.js


INSTALL MODUL DI NODE.JS

Install paket di node.js sangatlah mudah. Syarat pertama, komputer anda harus terhubung dengan jaringan internet. Dan berikut sintak yang digunakan untuk menginstall paket  node.js melalui command prompt


npm install <nama-paket> 

Uninstall modul node.js 

Seperti hal nya menginstall, anda juga bisa menguninstall paket node.js di komputer anda melalui command prompt dengan menuliskan syntak berikut:


npm uninstall <nama-paket> 

Update modul node.js

Anda juga dapat memperbarui modul yang telah diinstal dengan menggunakan perintah berikut:

npm update <nama-paket>


Perintah ini akan mengambil versi terbaru dari paket dan memperbaruinya. Jika paket tidak ada, maka paket tersebut akan diinstall secara otomatis.


Anda juga dapat menggunakan saklar global (-g) untuk memperbarui modul yang telah diinstal seperti berikut:


npm update -g  <nama-paket>


Nodejs Untuk API Dasar

MENAMPUNG MODUL

Apa yang kamu pelajari di disini?


  • Cara menampung atau memanggil module di node.js
  • Membuat module
  • Menggunakan folder node_modules


JavaScript adalah salah satu bahasa pemrograman yang paling sering digunakan di dunia, dan merupakan Bahasa Web franca, yang digunakan oleh semua browser. 


Bahasa ini di ciptakan dan dikeluarkan terlihat seperti terburur oleh Netscape, untuk mengalahkan Microsoft selama perang browser antar kedua perusahaan tersebut. Bahasa ini dirilis secara prematur, dan di keluarkan dengan beberapa fitur yang tidak layak. Meskipun waktu pengembangan yang singkat, namun penggunaan nya sangalah banyak dan bermanfaat dalam dunia web porgraming.


Dan di dalam bab ini, Anda akan belajar tentang berbagai jenis modul dan bagaimana caranya memuat mereka di aplikasi anda. Membagi kode Anda dan menjadikan  nya dalam serangkaian definisi yang dapat membantu Anda menjaga kode Anda di bawah kontrol. Dibab ini anda juga akan diajarkan untuk membuat dan menggunakan modul sendiri.


MEMAHAMI CARA NODE MENAMPUNG MODUL


Didalam Node, modul yang direferensikan oleh path file atau nama. Sebuah modul yang direferensikan oleh nama akhirnya akan dipetakan menjadi path file, kecuali modul adalah modul inti. 


Modul Node inti mengekspos beberapa fungsi inti Node untuk programmer, dan mereka dimuat ketika proses Node dimulai. Sedangkan Modul lain yang meliputi modul pihak ketiga diinstal dengan menggunakan NPM (Package Manager Node) atau modul lokal yang Anda atau rekan Anda telah ciptakan.


Untuk menggunakan modul dari jenis apa pun, Anda harus menggunakan fungsi required seperti ini:


var module = required ('nama_module');


Script ini akan mengimpor modul inti atau modul yang diinstal dengan NPM.


MENGEKSPOR SEBUAH MODUL

Sistem modul CommonJS adalah satu-satunya cara Anda untuk dapat berbagi objek atau fungsi antara file dalam Node. Untuk aplikasi yang cukup kompleks Anda harus membagi beberapa kelas, obyek, atau fungsi ke dalam module yang dapat dibaca. Untuk pengguna modul, modul memaparkan apa Anda tentukan. Didalam Node, file dan modul berada dalam satu-ke-satu korespondensi, yang dapat Anda lihat sebagai berikut

contoh. Mulailah dengan membuat sebuah file bernama circle.js, yang hanya mengekspor konstruktor Circle:


function Circle(x, y, r) {
function r_squared() {
return Math.pow(r, 2);
}
function area() {
return Math.PI * r_squared();
}
return {
area: area
};
}
module.exports = Circle; // module di export


Bit terpenting di sini terletak pada baris terakhir, di mana Anda mendefinisikan apa yang harus diekspor oleh modul. 


Anda juga dapat mengekspor objek yang lebih kompleks. module.exports diinisialisasi dengan obyek kosong, yang dapat anda isi dengan atribut yang ingin Anda ekspor. Misalnya, Anda dapat menyusun modul yang mengekspor satu set fungsi:


function printA() {
console.log('A');
}
function printB() {
console.log('B');
}
function printC() {
console.log('C');
}
module.exports.printA = printA;
module.exports.printB = printB;
module.exports.pi = Math.PI;


Module ini mengekport dua fungsi (printA and printB) and sebuah number (pi). Aplikasi client untuk modul ini adalah sebagai


var myModule2 = require('./myModule2');
myModule2.printA(); // -> A
myModule2.printB(); // -> B
console.log(myModule2.pi); // -> 3.141592653589793

Kita juga bias mengimport module node secara mudah dengan cara sebagai berikut:

Buat file javascript dengan nama hello_world.js dan tulisakan kode berikut didalam nya:


function hello_world(req,res){
res.writeHeader(200,{'content-type':'text/html'});
   	res.end('Hello World');
}
module.exports = hello_world;

Dan bagaimana cara penggunaan module diatas berikut kode pengimplementasian code diatas. Buat file javascript dengan nama hello_world_app.js dan tuliskan code berikut didalamnya:


createserver.js
// import modul http
Var http = require("http");
http.createServer(function(request,result){
// definisikan header file
result.writeHeader(200,{"content-type":"text/html"});
result.end("hello world");
}).listen(2222);
ronsole.log("aplikasi createserver.js berjalan di  http://127.0.0.1:2222");

Jalankan script diatas dengan command prompt node js dan ketikan kode: node hello_world_app.js dan buka di browser anda http://127.0.0.1:2222


RINGKASAN

Nodejs mengatur dari sisi javascript global namespace dan menggunakan Library CommondJS modules didalamnya. Ini memudahkan kita untuk mengatur dan mengorganisasikan kode-kode yang kita miliki. Anda juga bisa mengunakan function require() untuk menampung modul dasar, third-party modul maupun modul yang telah kamu buat sendiri baik itu dalam sebuah file mupun dalam folder.

Untuk modul pribadi kamu bisa menggunakan function module.exports untuk mengatur dan mengorganisasikan modul-modul yang telak kita buat.

 

Aplikasi Framework nodejs

Sebelumnya nya kita sudah mempelajari bagai mana cara cara menginstal node,  menggunakan node command line di window cmd, menginstal, replace dan uninstal paket nodejs, serta membuat modul export. Di bab ini kita akan mempelajari dan memahami penggunaan dasar nodejs untuk HTTP Server


HTTP Server

Di bahasa pemprograman PHP sebuah file di tampilkan dalam sebuah bentuk halaman HTML. Sebuah web server untuk PHP seperti apache menerima permintaan jika halaman PHP diminta, namun tidak untuk node.js. Node.js tidak berjalan dalam web server seperti apache ataupun yang lain nya.


Berikut ini sebuah aplikasi sederhana untuk nodejs yang menjelaskan bagaimana nodejs mampu berjalan tanpa menggunakan apache.


createserver.js

createserver.js
// import modul http
Var http = require("http");
http.createServer(function(request,result){
// definisikan header file
result.writeHeader(200,{"content-type":"text/html"});
result.end("hello world");
}).listen(2222);
ronsole.log("aplikasi createserver.js berjalan di  http://127.0.0.1:2222");


Jalankan script diatas di command prompt nodejs dan lihat hasilnya di browser


RINGKASAN

Anda telah belajar cara menginstal Node dan Node Package Manager. Anda sekarang dapat menggunakan NPM untuk menginstal, uninstall, dan menghapus paket pihak ketiga.  Sekarang Anda memiliki Node dan NPM yang telah terinstal, Anda siap untuk bereksperimen dengan mereka. Tapi hal pertama anda perlu beberapa dasar pemprograman di Node dan gaya pemrograman event-driven.


Lesson #1


 
Bagikan halaman ke sosial media
 
Tags :   nodejs    javascript       

Tentang Penulis

writer hadinug
Web Developer di PT. Yafii Solusi Internasional

Link: http://ysi.co.id

   Komentar Anda