Article

Apa itu Node.js ?

January 1, 2026 · Updated January 1, 2026

Apa itu Node.js ?

Node.js

Hallo gais, di tulisan pertamaku ini, aku ingin menulis tentang sebuah teknologi yang sering aku gunain untuk bekerja sebagai software engineer, dan teknologi ini sering menempati posisi pertama di stack overflow (platform …) di bagian Web Frameworks and Technologies. Jadi kalian juga tidak rugi kalau belajar teknologi ini, karena pasar saat ini selalu mengarah ke situ, nama teknologi itu adalah Node.js.

  1. Apa itu Node.js

    Node.js sederhananya adalah lingkungan (runtime) JavaScript di sisi server. Lebih sederhana lagi adalah teknologi yang mampu menjalankan JavaScript diluar browser, bukan hanya server.

    Kalau dulu JavaScript cuman bisa berjalan di sisi browser (untuk membuat website interaktif di bagian front-end), dengan Node.js memungkinkan JavaScript juga berjalan di sisi back-end, seperti menghandle request, mengakses database membaca file, dan lain sebagainya seperti yang bisa dilakukan bahasa yang digunakan di back-end lainya (php,java,golang,ruby, dsb).

    Secara lebih teknis :

    1. Node.js itu dibangun diatas mesin V8 JavaScript Engine (mesin yang digunakan google chrome untuk menjalankan JavaScript di browsernya)

    2. Bersifat open-source dan cross-platform (Windows, macOS, Linux, AIX), sehingga kita tidak perlu khawatir jika kita pindah device, karena pasti di support.

    3. Menggunakan arsitektur event-driven dan non-blocking I/O, yang artinya :

      1. Node.js tidak menunggu satu tugas selesai dulu baru lanjut tugas lainya.

      2. Cocok digunakan untuk aplikasi yang banyak request sekaligus (misal ribuan user request sekaligus dalam waktu yang sama)

  2. Kenapa Node.js itu special ?

    1. Single-thread tapi bisa menghandle banyak koneksi

      Node.js menggunakan single-thread (satu jalur eksekusi utama) + event loop. Kalau ada operasi yang lambat misalnya membaca file, query database, Node.js akan

      1. Melempar tugas yang berat tersebut ke background (OS / thread pool).

      2. Sementara itu, thread utama tadi lanjut mengerjakan tugas yang lain.

      3. Kalau tugas berat tadi sudah selesai, akan “callback” hasilnya.

      Makanya Node.js disebut non-blocking.

    2. Javascript di sisi front-end dan back-end

      Dengan adanya Node.js ini, kamu bisa menulis kode JavaScript di :

      1. Frontend : React, Vue, Angular, Svelte, dan sebagainya.

      2. Backend : Node.js dengan framework seperti express, NestJS, Hapin dan lain sebagainya.

      Keutungannya adalah :

      1. Satu bahasa untuk seluruh stack, tidak perlu belajar bahasa yang lain lagi.

      2. Tim dev jadi lebih simple, bisa pindah pindah role frontend-backend.

    3. Ekosistem yang luas (NPM)

      Node.js punya NPM (Node Package Manager), salah satu ekosistem library terbesar di dunia. Jadi kamu tidak perlu menulis kode yang kemungkinan sudah pernah dibuat seseorang, jadi tinggal cari aja di NPM ini.

  3. Kegunaan Node.js

    Beberapa hal yang sering dibuat menggunakan Node.js :

    1. REST API / Backend Server

    2. Realtime Apps

    3. Microservice

    4. Frontend tools

    5. CLI Tool

    6. Web Scrapping

    7. Telegram Bot / Discord Bot

  4. Contoh kode Node.js

    1. Contoh 1: “Hello World” di console

      file hallo.js

      console.log("Hello dari Node.js!");

      lalu jalankan file tersebu di terminal

      node hallo.js

      outpunya akan menjadi seperti berikut

      Hello dari Node.js!
    2. Contoh 2: Server HTTP sederhana (tanpa framework)

      file server.js

      const http = require("http");
      
      // bikin server
      const server = http.createServer((req, res) => {
        // Tentukan header response
        res.writeHead(200, { "Content-Type": "text/plain" });
      
        // Kirim isi response
        res.end("Halo, ini server Node.js sederhana!\n");
      });
      
      // Tentukan port
      const PORT = 3000;
      
      // Jalankan server
      server.listen(PORT, () => {
        console.log(`Server berjalan di http://localhost:${PORT}`);
      });

      jalankan file di terminal :

      node server.js

      lalu buka browser apapun, lalu akses url yang diberikan, maka akan muncul tulisan :

      Halo, ini server Node.js sederhana!

    3. Contoh 3: Server REST API sederhana dengan framework Express

      Biasanya di real case, backend menggunakan framework agar lebih cepat dan efisien, dan framework paling populer untuk backend Node.js adalah Express.js

      1. Install express

        npm init -y          # inisialisasi project Node
        npm install express  # install express
      2. Buat file app.js

        const express = require("express");
        const app = express();
        
        // Biar bisa baca JSON dari body request
        app.use(express.json());
        
        // Route GET sederhana
        app.get("/", (req, res) => {
          res.send("Halo dari API Node.js dengan Express!");
        });
        
        // Contoh endpoint GET data
        app.get("/users", (req, res) => {
          const users = [
            { id: 1, nama: "Andi" },
            { id: 2, nama: "Budi" },
          ];
          res.json(users);
        });
        
        // Contoh endpoint POST data
        app.post("/users", (req, res) => {
          const userBaru = req.body; // misal { "id": 3, "nama": "Cici" }
          // Di dunia nyata: simpan ke database
          res.status(201).json({
            message: "User berhasil dibuat",
            data: userBaru,
          });
        });
        
        const PORT = 4000;
        app.listen(PORT, () => {
          console.log(`Server Express jalan di http://localhost:${PORT}`);
        });
      3. Jalankan file app.js

        node app.js

        dan berikut adalah contoh penggunaan dari api yang kita buat diatas :

        1. GET http://localhost:

  5. Kapan sebaiknya menggunakan Node.js

    Node.js itu cocok untuk :

    1. Aplikasi yang butuh I/O tinggi: banyak request, banyak akses database, banyak komunikasi jaringan.

    2. Real-time: chat, notifikasi, live location, dashboard real-time.

    3. Tim yang ingin pakai satu bahasa (JavaScript) di front-end + back-end.

    Kurang cocok jika :

    1. Butuh perhitungan berat CPU (misalnya machine learning besar, image processing intens).

  6. Singkatnya

    “Cara menjalankan JavaScript di luar browser (umumnya di server) untuk membangun aplikasi backend dan berbagai tools modern, dengan model non-blocking dan ekosistem library yang sangat besar.”