Minggu, 07 Januari 2018

Belajar Nodejs : Dasar Nodejs ( untuk Pemula )

07.37 Posted by uba Nezad No comments
Hasil gambar untuk nodejs

Sejak kehadirannya, Nodejs banyak membawa perubahan terhadap dunia pemrograman, khususnya web.
Dengan Nodejs, kita bisa membuat aplikasi Web, Desktop, Mobile, bahkan IoT (Internet of Things).
…dan kerennya lagi, Javascript menjadi bahasa yang paling populer—di github—saat ini.

Pengenalan Nodejs dan Sejarahnya

Awalnya Javascript hanya digunakan untuk membuat web saja.
Namun sekarang, berkat Nodejs… kita bisa membuat aplikasi desktop, web, mobile, CLI, IoT, dll.
Apakah Nodejs itu bahasa pemrograman baru?
Tidak, Nodejs bukan bahasa pemrograman.
Lalu apa donk?
Framework?
Untuk lebih jelasnya, ada baiknya kita menyimak sejarahnya.
Pada tahun 2009, seorang programmer bernama Ryan Dahl menciptakan Nodejs.
Javascript pada browser dapat dieksekusi karena ada runtime engine di dalamnya.
Maka munculah ide:
“Bagaimana kalau engine yang ada di browser, kita keluarkan agar kita bisa mengeksekusi Javasript di lingkungan CLI”
Maka lahirlah Nodejs.
Nodejs menggunakan runtime engine bernama V8, yang merupakan javascript engine dari Google Chrome.

Persiapan Alat-alat untuk Belajar Nodejs

Apa saja peralatan yang harus dipersiapkan untuk belajar Nodejs?
  1. Teks Editor
  2. Nodejs

Instalasi Nodejs di Linux

Silahkan ketik perintah berikut untuk menginstal nodejs versi 6:
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs
Sedangkan untuk versi 8:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
Untuk distro dan sistem operasi yang lain, silahkan cek di sini: https://nodejs.org/en/download/package-manager/
Ada dua versi Nodejs, yang manakah yang harus saya instal?
Saat tulisan ini dibuat, versi yang banyak digunakan pada lingkungan produksi adalah versi 6.
Nodejs versi genap memiliki masa dukungan yang lebih panjang atau disebut dengan LTS (Long Term Support).
Saat ini versi LTS yang beredar adalah versi 6 dan 8.
Apa sih bedanya versi 6 dan 8?
Bedanya versi 8 memiliki lebih banyak fitur dan ter-update dibadingkan versi 6.
Saya sarankan menginstal versi 6 saja dulu. Karena kebutuhan kita untuk belajar saja.
Tapi kalau mau install versi ang lebih baru juga tidak masalah.
Setelah terinstal, coba perika versinya dengan perintah:
node --version
npm --vserion
Di komputer saya:
Versi nodejs dan npm
Nodejs akan terinstall di dalam direktori /usr/bin/, maka saat menggunakan NPM dengan parameter -g harus disertai sudo

Membuat Program Berbasis Teks dengan Nodejs

Hal selanjutnya yang harus dilakukan adalah membuat program Hello World!.
Silahkan buka teks editor dan tulis kode berikut:
console.log("Hello World!");
Simpan dengan nama hello-world.js.
Setelah itu, eksekusi dengan perintah:
node hello-world.js
Maka hasilnya:
Ekekusi Nodejs
Keren, program Javascript kita bisa berjalan di CLI.

Membuat Webserver dengan Nodejs

Mari kita coba membuat sebuah webserver dengan Nodejs.
Silahkan ketik kode berikut:
var http = require('http');

var server = http.createServer(function (req, res) {
 res.end("Hi, selamat datang di nodejs");
});

server.listen(8000);

console.log("server running on http://localhost:8000");
Simpan dengan nama server.js, lalu eksekusi:
node server.js
Hasilnya:
Eksekusi Server
Sekarang buka browser dan arahkan ke alamat http://localhost:8000, maka hasilnya:
Hasil webserver nodejs
Untuk menghentikan server tekan Ctrl+c.
Mudah ‘kan…
Tolong jelaskan donk maksud kode di atas.
Baik, saya akan jelaskan.
Pertama dimulai dari:
var http = require('http');
Fungsi kode tersebut adalah untuk mengimpor library http dari node_modeuls.
Apa itu node_modules?
node_modules adalah direktory yang menyimpan library Nodejs. Nanti kita akan bahasa lebih dalam.
Library http berfungsi untuk menangani protokol http seperti membuat dan menerima request.
Lalu kita membuat objek server dengan kode berikut:
var server = http.createServer(function (req, res) {
 res.end("Hi, selamat datang di nodejs");
});
Server yang kita buat, akan merespon dengan "Hi, selamat datang di nodejs"saat diakses oleh client.
Terakhir, kita menentukan nomer port yang akan digunakan oleh server:
server.listen(8000);

Membuat Webserver dengan Respon HTML

Webserver yang kita buat tadi… hanya merespon dalam bentuk plain teks saja.
Bagaimana jika ingin merespon dalam bentuk HTML?
Kita harus melakukan modifikasi header.
Contoh kodenya seperti ini:
var http = require('http');
http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/html'});
    res.write('Hello <b>World</b>!');
    res.end();
}).listen(8000);

console.log("server running on http://localhost:8000");
Fungsi dari res.writeHead(200, {'Content-Type': 'text/html'}); adalah untuk menentukan response header.
Pada kode di atas, kita menentukan tipe responnya berupa text/html. Kita juga bisa menentukan tipe lain seperti JSON, PDF, XML, dan lain-lain.
Lalu res.write('Hello <b>World</b>!'); fungsinya untuk menulis response body atau konten yang akan dikirim ke client.
Terakhir mengakhiri respon dengan res.end().
Maka ketika kita mengeksekusinya:
Eksekusi webserver nodejs
Hasilnya akan seperti ini:
Eksekusi webserver nodejs

Apa Selanjutnya?

Sekian dulu perkenalan awal Nodejs ini.
Selanjutnya silahkan pelajari tentang:
  • Cara Membuat Modul Nodejs dan Menggunakan NPM
  • Baca dan Tulis File di Nodejs
  • Membuat Routing Web di Nodejs
  • Cara Mengambil input dari Form di Nodejs
  • Upload File di Nodejs
  • Nodejs dan MySQL: Membuat Program CRUD