Apa Itu Node.js? Pengertian, Fungsi, & Cara Installnya

Apa Itu Node.js? Pengertian, Fungsi, & Cara Installnya

Node.js adalah software open-source yang bisa digunakan untuk membuat aplikasi jaringan dan aplikasi server-side yang real-time dan scalable (bisa dikembangkan sesuai kebutuhan).

Pada dasarnya, Node.js adalah runtime environment lintas platform single-thread yang dibangun berdasarkan engine JavaScript V8 Chrome. Pembuatan aplikasi dengan Node JS dilakukan melalui virtual private server.

Runtime ini menawarkan operasi input/output (I/O) non-blocking, serta dibangun dengan arsitektur asinkron dan event-driven untuk membantu developer membuat berbagai project dengan mudah dan efisien.

Di artikel ini, selain menjelaskan apa itu Node.js, kami juga akan membahas cara kerja Node js, fungsinya secara umum, serta perbedaan Node.js dan npm. Kemudian, kami akan membantu Anda dengan cara install Node.js di Windows, macOS, dan Linux. Jangan lupa untuk menyimak semuanya sampai selesai, ya!

Download Istilah-Istilah Web Development untuk Pemula

Cara Kerja Node.js

Dibandingkan dengan platform lain, Node.js memiliki alur kerja yang spesifik. Software ini beroperasi dalam satu thread (single-threaded), yang berarti tidak membuat thread baru untuk setiap permintaan. Thread adalah rangkaian instruksi yang perlu dilakukan oleh server.

Node.js menggunakan operasi I/O non-blocking. Artinya, saat client mengirim permintaan ke web server, event loop single-threaded Node JS akan mengambil permintaan tersebut lalu mengirimkannya ke worker thread untuk diproses.

Daripada memblokir thread dan membuang-buang resource CPU dengan menunggu respons, Node JS akan terus mengerjakan tugas berikutnya. Dengan cara ini, Node.js bisa menangani sejumlah besar permintaan secara bersamaan.

Oleh karena itu, Node.js tidak cocok untuk tugas-tugas dengan penggunaan CPU yang tinggi. Sebab, tugas tersebut bisa menghalangi thread utama untuk menangani permintaan lain, yang secara efektif akan memblokirnya.

Arsitektur yang Asinkron

Jadi, seperti pembahasan di atas tadi, thread Node.js tidak menunggu sampai respons diterima untuk lanjut memproses permintaan berikutnya.

Pada arsitekturnya yang asinkron, event loop beroperasi setiap kali peristiwa tertentu terjadi (event-driven). Setelah diterima dari panggilan API sebelumnya, respons akan dimasukkan ke dalam antrean event.

Event loop akan menyelesaikan semua permintaan sebelumnya dan permintaan saat ini sebelum menjalankan fungsi callback untuk mengirimkan respons dari server ke klien.

Karena menggunakan event loop single-thread, Node.js mampu menangani banyak permintaan secara bersamaan dengan waktu eksekusi yang lebih cepat, dan menggunakan resource yang lebih sedikit.

Sebagai perbandingan, software arsitektur sinkron melakukan satu tugas pada satu waktu. Oleh karena itu, event loop biasanya hanya akan pindah ke tugas berikutnya kalau yang sebelumnya sudah selesai.

kelebihan node js adalah arsitektur yang asinkron

Fungsi Node.js

Node.js adalah solusi yang cocok untuk melakukan tugas dengan penggunaan data yang intens atau analitik waktu nyata karena memiliki arsitektur asinkron dan fitur I/O non-blocking. Umumnya, Node.js sering digunakan untuk tugas-tugas berikut:

  • Chatting secara real-time. Karena menangani tugas I/O secara efektif, Node.js bisa digunakan untuk program yang menggunakan data secara intensif, seperti aplikasi chat. Node JS juga menggunakan teknologi push melalui web socket, yang memungkinkan komunikasi dua arah antara server dan client. Hasilnya, server tidak perlu mengelola thread satu per satu untuk setiap koneksi terbuka berkat arsitektur asinkron single-threaded dari Node.js.
  • Data streaming. Node.js memiliki modul bawaan yang mendukung streaming data. Ini memungkinkan pembuatan stream yang bisa dibaca (readable) dan ditulis (writeable). Node.js akan membantu mengantrekan data dan mendistribusikannya secara asinkron tanpa hambatan atau gangguan. Jadi, Node JS adalah pilihan bagus untuk fitur streaming yang bisa memproses file saat sedang diupload.
  • Proxy sisi server. Node JS bisa mengelola banyak sekali koneksi serentak menggunakan metode non-blocking. Software ini bisa digunakan sebagai proxy server-side yang efektif, yang mengumpulkan data dari berbagai resource pihak ketiga. Terkadang, Node.js digunakan dalam pembuatan aplikasi client-side untuk mengelola aset dan permintaan API proxy/stub.
  • Dashboard untuk memantau sistem. Dengan fitur event loop Node.js, Anda bisa membuat dashboard berbasis web untuk mengecek status beberapa layanan secara asinkron. Status layanan internal dan publik bisa dilaporkan secara langsung.
  • REST API. Node.js juga memiliki sejumlah package seperti Express.js dan Koa.js yang bisa digunakan untuk membuat aplikasi. Semua ini bisa mempercepat proses integrasi API dan menjadi dasar untuk REST API yang ringan dan cepat.
  • Single Page Application (SPA). Seluruh SPA akan dimuat pada satu halaman untuk memberikan pengalaman yang serupa dengan desktop. Karena bisa menangani panggilan asinkron secara efisien di antara operasi I/O yang berat, Node JS memungkinkan update data yang sangat lancar bagi SPA tanpa harus merefresh halaman secara rutin.

Lebih kerennya lagi, Node.js juga mendukung pengembangan front-end dan back-end. Berikut alasan Node.js bisa digunakan untuk keduanya:

  • Kode yang bisa digunakan kembali. Beberapa komponen Node.js bisa digunakan kembali untuk back-end dan front-end.
  • Efisiensi tinggi. Menggunakan Node.js bisa mengurangi perpindahan konteks antara beberapa bahasa pemrograman.

Apakah Node.js adalah Bahasa Pemrograman?

Anda mungkin penasaran melihat embel-embel JS pada Node.js. Apa hubungannya dengan JavaScript, yang sering disingkat sebagai JS juga? Apa Node.js juga merupakan bahasa pemrograman?

Nah, Node.js dan JavaScript adalah hal yang berbeda. Kalau JavaScript merupakan bahasa pemrograman yang dieksekusi di sisi klien (browser pengguna), Node JS adalah environment yang berjalan di sisi server untuk menjalankan kode JavaScript.

Baca juga: 10 Bahasa Pemrograman Terpopuler untuk Dipelajari

Jadi bisa disimpulkan ya, kalau Node.js bukanlah bahasa pemrograman, walaupun masih berhubungan erat dengan kode JavaScript.

Node.js vs npm

Node.js adalah runtime environment JavaScript, sedangkan npm adalah bagian besar dari ekosistem Node.js.

Node Package Manager atau npm merupakan pengelola package yang memungkinkan komunitas user JavaScript dan Node.js memublikasikan serta membagikan modul node miliknya dengan orang lain. Jadi, proses pengembangan aplikasi bisa lebih cepat dan efisien.

npm sendiri terdiri dari dua bagian:

  • Tool antarmuka baris perintah (CLI) untuk mendownload dan memublikasikan package.
  • Repositori online yang menyimpan package JavaScript dan Node.js.

npm menampung jutaan package yang bisa didownload dan diatur dalam berbagai kategori. Bisa dibilang, npm adalah registry software terbesar di dunia. Seluruh library modul yang dikemas dalam package bisa ditemukan di website resminya.

Secara default, npm sudah disertakan dengan setiap instalasi Node JS. Anda hanya perlu mendownload package di website resmi untuk menggunakannya.

Cara Install Node.js

Node JS bisa diinstall dengan berbagai cara. Berikut cara install Node.js dengan mudah di Windows, macOS, dan Linux:

Windows

Ikuti petunjuk install Node.js berikut kalau Anda menggunakan Windows:

  1. Download installer Node.js langsung dari website resminya.
  2. Klik dua kali file yang didownload, dan jendela Node.js Setup akan terbuka. Klik Next.
node.js di windows
  1. Baca EULA program dan centang I accept the terms in the License Agreement. Klik Next lagi.
  2. Pilih folder tujuan, lalu klik Next.
folder tujuan node.js di windows
  1. Pilih fitur yang akan diinstal. Kalau tidak yakin, biarkan nilai defaultnya. Klik Next.
setup node.js kustom di windows
  1. Di halaman berikutnya, centang Automatically install the necessary tools. Klik Next, lalu Install. Mungkin akan muncul prompt yang menanyakan apakah Anda mengizinkan program Setup melakukan perubahan pada PC Anda. Pilih Yes kalau bersedia.
  2. Setelah penginstalan default selesai, Command Prompt akan terbuka dan menampilkan setting tambahan. Tekan dua kali tombol apa pun untuk melanjutkan.
tool node.js tambahan di windows
  1. Setelah proses selesai, Command Prompt akan meminta Anda menekan Enter untuk menutup jendela.
upgrade package node.js di windows
  1. Untuk memverifikasi versi Node.js, buka Command Prompt dan jalankan command berikut:
node -v

npm -v
verifikasi versi node.js dan npm di windows

macOS

Berikut cara menginstal Node.js di perangkat macOS:

  1. Download versi terbaru Node.js installer dari website resminya.
  2. Klik dua kali file yang didownload, dan jendela Install Node.js akan terbuka. Klik Continue.
opsi penginstalan paket node.js dan npm
  1. Baca Software License Agreement (Perjanjian Lisensi Perangkat Lunak) dan pilih Continue.
  2. Pilih folder tujuan, lalu klik Continue.
pengantar penginstalan node.js di macos
  1. Tinjau tipe penginstalan dan klik Install.
  2. Proses install akan dimulai.
  3. Node.js dan NPM akan tersedia setelah proses install selesai. Klik Close untuk menyelesaikan penginstalan.
ringkasan instalasi node.js di macos
  1. Selanjutnya, klik ikon Launchpad di dock dan buka Terminal.
  2. Verifikasi penginstalan Node.js dan NPM dengan mengetikkan command berikut:
node -v

npm -v
verifikasi versi node.js dan npm di macos

Linux

Ikuti langkah-langkah berikut untuk menginstal Node.js di Linux. Kami menggunakan Ubuntu dalam tutorial ini.

Tips Berguna

Kalau menggunakan VPS Hostinger, Anda bisa memilih template sistem operasi dengan Node.js yang sudah terinstal.

  1. Klik tombol Show Applications dan buka Terminal.
  2. Jalankan command berikut untuk menginstal Node.js:
sudo apt install nodejs
  1. Setelah penginstalan di perangkat Linux selesai, Anda harus menginstal NPM juga.
sudo apt install npm
instal node.js di linux
  1. Selanjutnya, verifikasi versi Node.js dengan menjalankan command berikut:
nodejs -v

npm -v
verifikasi versi node.js dan npm di linux

Kesimpulan

Jadi, pengertian Node.js adalah runtime environment JavaScript open-source yang bisa digunakan lintas platform. Fungsinya adalah untuk mengembangkan aplikasi jaringan dan server-side, yang bisa disesuaikan dengan kebutuhan. Node JS menggunakan engine eksekusi JavaScript V8 Chrome.

Node.js mampu memproses permintaan secara efisien dan ringan. Software ini cocok untuk aplikasi yang menggunakan data secara intens dan real-time, seperti chatting, streaming data, proxy server-side, dashboard pemantauan sistem, REST API, dan SPA.

Untuk menginstall Node.js di Windows dan macOS, download installernya dari website resmi. User Linux harus mendapatkan software ini melalui command Terminal.

Semoga artikel ini bisa membantu Anda memahami Node JS, ya. Kalau ada pertanyaan atau saran, silakan sampaikan melalui kolom komentar di bawah ini!

Author
Penulis

Faradilla A.

Faradilla, yang lebih akrab disapa Ninda, adalah Content Marketing Specialist di Hostinger. Ia suka mengikuti tren teknologi, digital marketing, dan belajar bahasa. Melalui tutorial Hostinger ini, Ninda ingin berbagi informasi dan membantu pembaca menyelesaikan masalah yang dialami. Kenali Ninda lebih dekat di LinkedIn.