Mengenal Node.js dan Kelebihannya

nodejs

Di zaman perkembangan teknologi web saat ini, Anda pasti sudah tidak asing dengan yang namanya bahasa pemrograman Javascript. Javascript merupakan bahasa pemrograman yang umum digunakan untuk pengembangan web dengan tujuan untuk membuat tampilan web lebih dinamis dan interaktif. Javascript biasanya dikombinasikan dengan markup language seperti HTML dan juga CSS. Saat ini, hampir seluruh web sudah menggunakan Javascript karena kelebihan yang ia miliki.

Pada awalnya, Javascript masih memiliki batasan yaitu hanya dapat berjalan di dalam web browser saja. Namun, saat ini Javascript tidak hanya berjalan di sisi client atau web browser, tetapi juga dapat berjalan di sisi server untuk mengelola backend dari suatu web. Tentu hal ini menarik untuk dipertimbangkan karena memungkinkan kita membuat sebuah web yang powerful dan hanya menggunakan satu bahasa saja yaitu Javascript. Lalu, bagaimana caranya?

Perlu kita ketahui bahwa pada awalnya Javascript hanya dapat berjalan pada sebuah browser. Javascript berjalan pada sebuah Javascript engine. Kita ambil contoh, pada browser Chrome, digunakan Javascript engine bernama V8. V8 menyediakan runtime environment yang memungkinkan kode Javascript dieksekusi dalam sebuah browser. Pada saat itu, Javascript hanya berjalan di sisi client atau web browser saja. Hingga akhirnya, muncullah sebuah alternatif baru bernama Node.js.

Node.js merupakan sebuah runtime environment yang bersifat open source dan juga cross-platform di mana kita bisa mengeksekusi Javascript di luar environment browser. Node.js berjalan pada V8 yaitu sebuah Javascript engine yang memungkinkan kita untuk mengeksekusi kode Javascript di dalamnya. Lalu, pertanyaanya adalah “bukannya v8 itu hanya berjalan di browser saja?” Jawabannya adalah: tentu tidak. Hal ini didasari oleh fakta bahwa V8 dapat digunakan di luar ekosistem browser dan memungkinkan kita untuk menjalankan Javascript di sisi server.

Dengan adanya V8 pada Node.js ini, kita dapat melakukan hal-hal yang sebelumnya tidak bisa dilakukan oleh Javascript yang hanya berjalan pada browser saja seperti melakukan HTTP request, melakukan koneksi dan manipulasi data pada database, serta masih banyak yang lainnya. Apa saja kelebihan yang dimiliki oleh Node.js ini sehingga menjadikan ia sangat populer di kalangan programmer?

Kelebihan Node.js

1. Bersifat non-blocking

Sebelum membahas mengenai non-blocking, kita harus mengetahui apa itu blocking. Blocking adalah perilaku dari sebuah program Javascript yang mengharuskan sebuah eksekusi dilakukan dengan menunggu sampai eksekusi kode sebelumnya selesai. Maksudnya adalah eksekusi pada baris kode selanjutnya tidak akan dijalankan sampai proses pada baris kode sebelumnya selesai. Kita ambil contoh saat kita punya kode program seperti berikut:

Kode setelah baris kedua tidak akan dieksekusi selama proses pembacaan file pada baris kedua belum selesai. Artinya, kode pada baris kedua melakukan blocking terhadap kode selanjutnya.

Sementara itu, non-blocking maksudnya adalah sebuah baris kode tidak akan melakukan blocking terhadap baris kode setelahnya. Artinya, sebuah kode dapat dieksekusi meskipun proses pada eksekusi sebelumnya belum selesai sehingga memungkinkan kode berjalan secara asyncrhonus.

Asynchronus berarti program tidak perlu dieksekusi baris per baris. Misal adalah ketika kita melakukan sebuah HTTP request kepada server. Kode akan berjalan secara asynchronus yang artinya proses ekseksusi setelahnya akan dilakukan meskipun proses request belum selesai atau belum mendapatkan response.

2. Fast execution

Kode Javascript yang dieksekusi terbilang mempunyai performa yang bagus dan cepat. Hal ini dimungkinkan karena kode Javascript pada Node.js dijalankan menggunakan V8 engine yang ditulis menggunakan bahasa C++. Dengan demikian, Javascript juga akan mendapatkan behavior dari C++ yaitu kecepatan dan keamanan yang dapat diandalkan.

3. Single threaded

Node.js memiliki karakteristik single threaded. Artinya, Node.js berjalan pada satu proses pada waktu yang sama. Node.js hanya menggunakan satu thread saja pada prosesor. Oleh karena itu, program yang dibuat dengan Node.js bisa dibilang ringan. Akan tetapi, Node.js menyediakan fitur asynchronus di mana beberapa request dapat berjalan secara bersamaan dan mencegah kode pada program melakukan blocking. Node.js dapat meng-handle ribuan koneksi secara bersamaan dengan server tunggal.


Dengan adanya Node.js ini, kita dapat menggunakan satu bahasa saja yaitu Javascript untuk membuat program, baik dari sisi client maupun server. Node.js memungkinkan kita untuk membuat sebuah program yang powerful dengan mengedepankan keringanan dan kecepatan sebuah program.

Demikian sedikit pembahasan mengenai teknologi Node.js dengan berbagai kelebihannya. Harapannya, dengan membaca artikel ini, pembaca mendapat wawasan baru seputar teknologi web khususnya pada bahasa pemgrograman Javascript. Demikian artikel ini saya buat, sekian dan terima kasih.

Referensi

https://nodejs.dev/learn/introduction-to-nodejs

https://v8.dev/


Penulis: MUHAMMAD DEVANO ZAIDAN (Mahasiswa Prodi Informatika – Program Sarjana)

Editor: FA