SlideShare ist ein Scribd-Unternehmen logo
1 von 20
NodeJS Introduction
Alfi Setyadi Mochtar
Dignot.com engineer
Sejarah Pribadi
 Belajar Java (J2SE) – 2007
 Belajar PHP – 2009
 Belajar nodeJS – 2013
 Belajar Go - 2016
NodeJS
 Ryan Dhal pada tahun 2009
 Javascript bisa digunakan sebagai bahasa pemrograman di sisi server seperti
halnya PHP, ASP, C#, Ruby dll dengan kata lain “Node.js”
 Menggunakan engine v8 yang dibangun oleh Google dan digunakan pada
browser Google Chrome
Javascript ITU BUKAN Java
Asinkron I/O & Event
Multi Thread – Blocking I/O
Single Thread – non Blocking I/O
Event Loop
Contoh: PHP - synch
$hasil = mysql_query("SELECT * FROM TabelAnggota");
print_r($hasil);
JS
var fs = require('fs');
fs.readFile('./resource.json',function(
err, data){
if(err) throw err;
console.log(JSON.parse(data));
});
console.log('Selanjutnya...');
Output:
Selanjutnya...
Isi dari file resource.json
NPM
Benchmark PHP
<?php
echo 'Halo Dunia!';
Requests/sec: 340.74
Benchmark – NodeJS + expressJS
Requests/sec: 3605.82
Benchmark NodeJS pure http
Requests/sec: 5124.83
Benchmark GO
Requests/sec: 14558.87
Repo:
https://github.com/allfix53/benchmarking
Cons – “He said”
 Node.js doesn’t provide scalability. One CPU is not going to be enough; the
platform provides no ability to scale out to take advantage of the multiple
cores commonly present in today’s server-class hardware.
 Dealing with relational database is a pain if you are using Node.
 Every time using a callback end up with tons of nested callbacks.
 Without diving in depth of JavaScript if someone starts Node, he may face
conceptual problem.
 Node.js is not suited for CPU-intensive tasks. It is suited for I/O stuff only
(like web servers).
“Node.js adalah sebuah solusi untuk membuat
sebuat aplikasi jaringan yang bisa menangani jumlah
koneksi yang banyak, melakukan pertukaran data
yang banyak, dan melakukan komunikasi client-
server secara real-time”
Terimakasih…

Weitere ähnliche Inhalte

Andere mochten auch

Andere mochten auch (10)

Selayang Pandang Javascript dan NodeJS
Selayang Pandang Javascript dan NodeJSSelayang Pandang Javascript dan NodeJS
Selayang Pandang Javascript dan NodeJS
 
Node JS Express: Steps to Create Restful Web App
Node JS Express: Steps to Create Restful Web AppNode JS Express: Steps to Create Restful Web App
Node JS Express: Steps to Create Restful Web App
 
Mengembangkan Solusi Cloud dengan PaaS
Mengembangkan Solusi Cloud dengan PaaSMengembangkan Solusi Cloud dengan PaaS
Mengembangkan Solusi Cloud dengan PaaS
 
Introduction to node js - From "hello world" to deploying on azure
Introduction to node js - From "hello world" to deploying on azureIntroduction to node js - From "hello world" to deploying on azure
Introduction to node js - From "hello world" to deploying on azure
 
NodeJS - Server Side JS
NodeJS - Server Side JS NodeJS - Server Side JS
NodeJS - Server Side JS
 
Node js
Node jsNode js
Node js
 
All aboard the NodeJS Express
All aboard the NodeJS ExpressAll aboard the NodeJS Express
All aboard the NodeJS Express
 
Introduction to Node js
Introduction to Node jsIntroduction to Node js
Introduction to Node js
 
Dos commad. by ammar nawab ppt
Dos commad. by ammar nawab pptDos commad. by ammar nawab ppt
Dos commad. by ammar nawab ppt
 
Modern UI Development With Node.js
Modern UI Development With Node.jsModern UI Development With Node.js
Modern UI Development With Node.js
 

Ähnlich wie Pengenalan Dasar NodeJS

Belajar php (pemula dasar)
Belajar php (pemula dasar)Belajar php (pemula dasar)
Belajar php (pemula dasar)
Andi Irawan
 
How to generate php to json
How to generate php to jsonHow to generate php to json
How to generate php to json
gabyrizki3
 

Ähnlich wie Pengenalan Dasar NodeJS (20)

Mulai melangkah dengan Node.js
Mulai melangkah dengan Node.jsMulai melangkah dengan Node.js
Mulai melangkah dengan Node.js
 
Node.js
Node.jsNode.js
Node.js
 
Membangun Website Lowongan Kerja Sederhana dengan NodeJS
Membangun Website Lowongan Kerja Sederhana dengan NodeJSMembangun Website Lowongan Kerja Sederhana dengan NodeJS
Membangun Website Lowongan Kerja Sederhana dengan NodeJS
 
Jeni Web Programming Bab 4 Dasar Jsp
Jeni Web Programming Bab 4 Dasar JspJeni Web Programming Bab 4 Dasar Jsp
Jeni Web Programming Bab 4 Dasar Jsp
 
Tugas 1 rekayasa web
Tugas 1 rekayasa webTugas 1 rekayasa web
Tugas 1 rekayasa web
 
Tugas rekweb 2 1212511560 m.shafwan al farisy
Tugas rekweb 2 1212511560 m.shafwan al farisyTugas rekweb 2 1212511560 m.shafwan al farisy
Tugas rekweb 2 1212511560 m.shafwan al farisy
 
Tugas 1
Tugas 1Tugas 1
Tugas 1
 
Tugas 1
Tugas 1Tugas 1
Tugas 1
 
7 pemrograman internet javascript
7 pemrograman internet  javascript7 pemrograman internet  javascript
7 pemrograman internet javascript
 
Berkenalan dengan bahasa php pemrograman web
Berkenalan dengan bahasa php   pemrograman webBerkenalan dengan bahasa php   pemrograman web
Berkenalan dengan bahasa php pemrograman web
 
CRUD pada Android Studio menggunakan MySQL
CRUD pada Android Studio menggunakan MySQLCRUD pada Android Studio menggunakan MySQL
CRUD pada Android Studio menggunakan MySQL
 
Nodejs & Loopback
Nodejs & LoopbackNodejs & Loopback
Nodejs & Loopback
 
Belajar php (pemula dasar)
Belajar php (pemula dasar)Belajar php (pemula dasar)
Belajar php (pemula dasar)
 
Dicoding Developer Coaching #23: Android | Membangun Modern App dengan Jetpac...
Dicoding Developer Coaching #23: Android | Membangun Modern App dengan Jetpac...Dicoding Developer Coaching #23: Android | Membangun Modern App dengan Jetpac...
Dicoding Developer Coaching #23: Android | Membangun Modern App dengan Jetpac...
 
How to generate php to json
How to generate php to jsonHow to generate php to json
How to generate php to json
 
GITS Webinar: Implementasi REST API di iOS Menggunakan Alamofire dan SwiftyJSON
GITS Webinar: Implementasi REST API di iOS Menggunakan Alamofire dan SwiftyJSONGITS Webinar: Implementasi REST API di iOS Menggunakan Alamofire dan SwiftyJSON
GITS Webinar: Implementasi REST API di iOS Menggunakan Alamofire dan SwiftyJSON
 
JSP Fundamental (05PZT)
JSP Fundamental (05PZT)JSP Fundamental (05PZT)
JSP Fundamental (05PZT)
 
1b.-intro-php (2).ppt
1b.-intro-php (2).ppt1b.-intro-php (2).ppt
1b.-intro-php (2).ppt
 
Membuat aplikasi chat menggunakan java
Membuat aplikasi chat menggunakan javaMembuat aplikasi chat menggunakan java
Membuat aplikasi chat menggunakan java
 
Penerapan Json Pada PHP
Penerapan Json Pada PHPPenerapan Json Pada PHP
Penerapan Json Pada PHP
 

Pengenalan Dasar NodeJS

Hinweis der Redaktion

  1. Sebelum proses I/O selesai maka selama beberapa detik atau menit tersebut state dari prosesmysql_query() bisa dibilang idle atau tidak melakukan apa-apa. Lalu jika proses I/O di blok bagaimana jika ada request lagi dari user ? apa yang akan dilakukan oleh server untuk menangani request ini ?..penyelesaiannya yaitu dengan memakai pendekatan prosesmultithread. Melalui pendekatan ini tiap koneksi yang terjadi akan ditangani oleh thread. Thread disini bisa dikatakan sebagai task yang dijalankan oleh prosesor komputer. Sepertinya permasalahan I/O yang terblok terselesaikan dengan pendekatan metode ini tetapi dengan bertambahnya koneksi yang terjadi maka thread akan semakin banyak sehingga prosesor akan semakin terbebani, belum lagi untuk switching antar thread menyebabkan konsumsi memory (RAM) komputer yang cukup besar.
  2. fungsi readFile() akan membaca membaca isi dari file resource.json secara asinkron yang artinya proses eksekusi program tidak akan menunggu pembacaan file resource.json sampai selesai tetapi program akan tetap menjalankan kode Javascript selanjutnya yaitu console.log('Selanjutnya...'). Sekarng lihat apa yang terjadi jika kode javascript diatas dijalankan
  3. npm merupakan package manager untuk Node.js dan untuk nama npm bukanlah suatu singkatan. Hanya dalam waktu 2 tahun sejak di releasenya Node.js ke publik jumlah modul melesat jauh bahkan hampir menyamai modul java ataupun ruby gems.