Home > Administrasi Linux, Jaringan Komputer, Manajemen Database, Pemrograman Web, Sistem Operasi > Memulai Pemrograman Node.js di Ubuntu 14.04

Memulai Pemrograman Node.js di Ubuntu 14.04


MEAN, singkatan dari MongoDB, Express.js, Angular.js dan Node.js merupakan gabungan 4 framework alias tool yang sedang trend dalam pengembangan aplikasi web. MongoDB adalah document-orieted database. 3 framework javascript di atas semuanya tangguh. Node adalah seperti sistem operasi atau web server yang dapat dihubungkan ke database server MongoDB, MySQL atau server database lain. Express digunakan untuk menyederhakan perintah-perintah Javascript yang ada di Node. Sedangkan angular lebih fokus untuk membangun sisi client dari aplikasi Web.

Tulisan saya kali ini mencoba untuk menjelaskan cara memulai menggunakan Node untuk membangun aplikasi Web, mulai dari instalasinya di Linux Ubuntu, cara menggunakan node secera interaktif, membuat program shell (mirip command line) dan membangun aplikasi web berbasis server. Semoga tutorial singkat ini memberikan manfaat. Aamiin.


1. Instalasi Node.js:

sudo apt-get install node.js atau
sudo apt-get install nodejs

Instalasi juga npm (node package manager):

sudo apt-get install npm

Buat symbolic link untuk nodejs (menjadi node saja):

sudo ln -s /usr/bin/nodejs /usr/bin/node

Coba jalankan perintah node, misalnya untuk menngetahui versi node. begitu pula untuk npm:

husni@ElZ475:~$ node -v
v0.10.25
husni@ElZ475:~$ npm -v
1.3.10

2. Mencoba modus interaktif

husni@ElZ475:~$ node
> console.log("Apa kabar dunia? -:)");
Apa kabar dunia? -:)
undefined

> function testNode() {return "Node is working"}; testNode();
'Node is working'

husni@ElZ475:~$ node
> var sys = require("sys");
undefined
> sys.puts("Hello World");
Hello World
undefined

3. Membuat skrip sederhana

Gunakan text editor yang diinginkan. Saya menggunakan Sublime:

subl satu.js

Masukkan satu baris ini ke dalam file satu.js tersebut:

console.log("Apa kabar dunia?, saya sedang belajar MEAN -:)");

Eksekusi file satu.js dengan perintah node:

husni@ElZ475:~$ node satu.js

PAda promt shell akan diperoleh hasil berikut:

Apa kabar dunia?, saya sedang belajar MEAN -:)

4. Seperti skrip Shell

Perintah shell atau command line ternyata dapat dibuat menggunakan node. Sekarang kita buat file dua.js dengan text Editor tertentu:

subl dua.sh

Isikan dua baris berikut:

#!/usr/bin/env node

console.log('Halo semua, ini dipanggil dari Shell langsung lho...');

Ubah modus file dua.js agar executable dan eksekusi dengan perintah node:

husni@ElZ475:~$ chmod u+x dua.js
husni@ElZ475:~$ ./dua.js

Hasil yang diperoleh adalah:

Halo semua, ini dipanggil dari Shell langsung lho...

5. Skrip server pada node:

Sekarang saatnya kita membuat aplikasi web berbasis server dengan node. Kita akan membuat file .js bernama serversatu.js.

subl serversatu.js

Isikan baris-baris berikut:

var sys = require("sys"),
my_http = require("http");
my_http.createServer(function(request,response){
sys.puts("I got kicked");
response.writeHeader(200, {"Content-Type": "text/plain"});
response.write("Hello World");
response.end();
}).listen(8080);
sys.puts("Server Running on 8080");

Jalankan program serversatu.js:

node serversatu.js

Pada console akan tampil:

Server Running on 8080

Karena aplikasi web, maka kita harus menggunakan web browser untuk mengaksesnya. Buka URL localhost:8080. Di sana tampil

Hello World

Perhatikan pada console, apa yang diperoleh?

I got kicked
I got kicked
I got kicked

Pada node.js terbaru, perintah-perintah di atas dapat disederhanakan:

//var sys = require("sys"),
my_http = require("http");
my_http.createServer(function(request,response){
console.log("I got kicked");
response.writeHeader(200, {"Content-Type": "text/plain"});
response.write("Hello World");
response.end();
}).listen(8080);
console.log("Server Running on 8080");

Penjelasan kode di atas? Silakan membaca tutorial lain tentang node.js atau ikuti terus bahasan-bahasan lain pada blog ini🙂

6. File server Statis (sederhana)

Contoh terakhir, kita akan membuat file server statik yang sederhana. Pengguna dapat mengakses aplikasi ini dari web browser, dengan turut menyertakan nam afile yang akan dibuka (harus tahu nama file lengkapnya, statik).

Misalnya kita membuat file serverdua.js, isikan sebagai berikut:

var sys = require("sys"),
my_http = require("http"),
path = require("path"),
url = require("url"),
filesys = require("fs");
my_http.createServer(function(request,response){
var my_path = url.parse(request.url).pathname;
var full_path = path.join(process.cwd(),my_path);
path.exists(full_path,function(exists){
if(!exists){
response.writeHeader(404, {"Content-Type": "text/plain"});
response.write("404 Not Found\n");
response.end();
}
else{
filesys.readFile(full_path, "binary", function(err, file) {
if(err) {
response.writeHeader(500, {"Content-Type": "text/plain"});
response.write(err + "\n");
response.end();

}
else{
response.writeHeader(200);
response.write(file, "binary");
response.end();
}

});
}
});
}).listen(8080);

sys.puts("Server Running on 8080");

Jalankan file serverdua.js dengan node:

node serverdua.js

Sehingga di console tampil pesan berikut:

Server Running on 8080

Pada web browser, silakan akses

http://localhost:8080/satu.js

Maksudnya adalah membuka file satu.js yang berada satu direktori dengan file serverdua.js. Isi file satu.js ditampilkan di browser:

console.log(“Apa kabar dunia?, saya sedang belajar MEAN -:)”);

Pada console terlihat:

path.exists is now called `fs.exists`.

Demikianlah tutorial mengenal Node.js ini, semoga bermanfaat. Selamat belajar dan mencoba berbagai kemampuan node.js lainnya.

  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: