2.6 Node.JS
Node.js adalah platform yang dibangun atas JavaScript runtime Chrome untuk membuat aplikasi jaringan dengan peforma tinggi dan skalabel. Node.js menggunakan
IO model non-blocking serta event-driven, yang membuatnya ringan serta effisien, sehingga tepat untuk aplikasi data-intensive real-time yang berjalan di perangkat
terdistribusi. Adapun tampilan halaman website node.js dapat dilihat pada gambar 2.4.
Gambar 2.4 : Node.js
Saat tulisan ini dibuat, banyak perusahaan besar telah menggunakan node.js sebagai platform dalam development aplikasi mereka. Salah satu diantaranya adalah
LinkedIn , yang menggunakan node.js sebagai aplikasi server side untuk mendukung
layanan mobile web serta mobile application mereka. Dua alasan utamanya adalah kemudahan melakukan scaling ke beberapa server dan performa yang sangat tinggi
dari node.js. Kersen Informatika telah mengadopsi node.js sebagai background application
untuk mendukung layanan Fleet Management serta GPS Tracking. Platform ini memungkinkan untuk membangun aplikasi yang memiliki performa
tinggi untuk mendukung banyaknya kendaraan yang dikelola.
Ubiversitas Sumatera Utara
2.6.1 Model IO Non-Blocking
Hal yang harus diperhatikan dalam development dengan node.js adalah sifat non- blocking
dari platform ini. Untuk menjabarkan sifat non-blocking dapat dilihat pada gambar 2.5.
Ga mbar 2.5
: Non Blocking Node.js
Pada diagram alir diatas platform synchronous seperti PHP atau Java akan menampilkan “hasil query” setelah aplikasi selesai melakukan “query ke db“.
Namun pada node.js, karena sifatnya non-blocking atau biasa juga dikenal sebagai asynchronous
, aplikasi tidak akan menunggu hingga 50ms proses “query ke db” untuk menjalankan proses selanjutnya yaitu “tampilkan hasil query” sehingga
hasil yang ditampilkan menjadi tidak benar. Untuk mengatasi hal ini, sifat event- driven
dari node.js bisa dipergunakan, dimana secara explisit dinyatakan kepada proses “tampilkan hasil query” agar berjalan setelah ada aba – aba event selesai
melakukan proses “query ke db“. Sifat asynchronous yang dijabarkan diatas banyak dipakai developer kelas dunia untuk membuat aplikasi berbasis node.js
menjadi cepat dan berperforma tinggi. Dimana desain aplikasi mereka menjalankan banyak proses bersamaan secara paralel yang pada akhirnya
menampilkan data tepat setelah mendapat aba – aba dari semua proses, seperti yang dijabarkan pada gambar 2.6 berikut.
Ubiversitas Sumatera Utara