BAB 5 – Mengenal Built-in Module Node.js yang Paling Sering Digunakan

BAB 5 – Mengenal Built-in Module Node.js yang Paling Sering Digunakan

Node.js sudah menyediakan banyak module bawaan (built-in module) yang bisa langsung digunakan tanpa instalasi tambahan. Module ini dirancang untuk menangani kebutuhan dasar aplikasi backend, seperti membaca file, mengelola path, melihat informasi sistem, hingga membuat server.

Keuntungan menggunakan built-in module:

  • tidak perlu install paket tambahan
  • performa lebih stabil
  • lebih aman dan teruji

Dalam bab ini, kita fokus pada empat module yang paling sering dipakai: fs, path, os, dan http.


Module fs: Membaca dan Menulis File

Module fs (file system) digunakan untuk berinteraksi dengan file dan folder di sistem.

Membaca File (Asynchronous)

import { readFile } from "fs";

readFile("data.txt", "utf-8", (err, data) => {
  if (err) {
    console.error("Gagal membaca file");
    return;
  }

  console.log(data);
});

Cara ini cocok untuk aplikasi server karena tidak memblokir proses lain.


Membaca File dengan Promise

Pendekatan modern menggunakan Promise:

import { readFile } from "fs/promises";

async function loadFile() {
  const data = await readFile("data.txt", "utf-8");
  console.log(data);
}

loadFile();

Pendekatan ini lebih rapi dan mudah dibaca.


Menulis File

import { writeFile } from "fs/promises";

async function saveFile() {
  await writeFile("output.txt", "Hello Node.js");
}

saveFile();

Module fs sangat penting untuk:

  • konfigurasi aplikasi
  • logging
  • upload file

Module path: Mengelola Path dengan Aman

Module path membantu mengelola path file agar tetap konsisten di berbagai sistem operasi.

Menggabungkan Path

import path from "path";

const filePath = path.join("src", "data", "file.txt");
console.log(filePath);

Tanpa path, penggabungan path manual sering menyebabkan bug, terutama di Windows.


Mendapatkan Nama File dan Folder

import path from "path";

const fileName = path.basename("/src/data/file.txt");
console.log(fileName);

Module ini sangat berguna saat bekerja dengan file upload dan struktur folder.


Module os: Informasi Sistem Operasi

Module os digunakan untuk mendapatkan informasi dasar tentang sistem tempat Node.js berjalan.

Contoh Informasi Sistem

import os from "os";

console.log(os.platform());
console.log(os.cpus().length);
console.log(os.totalmem());

Module ini sering digunakan untuk:

  • monitoring sederhana
  • debugging
  • menentukan konfigurasi berdasarkan sistem

Module http: Membuat Server Tanpa Framework

Module http memungkinkan kita membuat server langsung tanpa Express atau framework lain.

Membuat Server HTTP Sederhana

import http from "http";

const server = http.createServer((req, res) => {
  res.writeHead(200, { "Content-Type": "text/plain" });
  res.end("Hello dari Node.js Server");
});

server.listen(3000, () => {
  console.log("Server berjalan di http://localhost:3000");
});

Kode ini adalah fondasi dari semua framework Node.js.


Menangani URL Request

import http from "http";

const server = http.createServer((req, res) => {
  if (req.url === "/") {
    res.end("Halaman Utama");
  } else if (req.url === "/about") {
    res.end("Tentang Kami");
  } else {
    res.writeHead(404);
    res.end("Halaman tidak ditemukan");
  }
});

server.listen(3000);

Contoh ini menunjukkan bagaimana request diproses langsung oleh Node.js.


Menggabungkan Built-in Module dalam Satu Aplikasi

Contoh mini aplikasi:

import http from "http";
import { readFile } from "fs/promises";
import path from "path";

const server = http.createServer(async (req, res) => {
  const filePath = path.join(process.cwd(), "message.txt");
  const message = await readFile(filePath, "utf-8");

  res.writeHead(200, { "Content-Type": "text/plain" });
  res.end(message);
});

server.listen(3000);

Contoh ini menggabungkan:

  • http untuk server
  • fs untuk membaca file
  • path untuk mengelola path

Kesalahan Umum Saat Menggunakan Built-in Module

Beberapa kesalahan yang sering terjadi:

  • menggunakan fs versi sinkron di server
  • menggabungkan path secara manual
  • lupa menangani error

Gunakan versi asynchronous dan selalu siapkan penanganan error.


Kesimpulan

Built-in module adalah kekuatan utama Node.js. Dengan memahami module seperti fs, path, os, dan http, kita bisa:

  • membangun aplikasi backend tanpa banyak dependensi
  • memahami cara kerja Node.js dari dasar
  • menulis kode yang lebih efisien dan stabil

Bab ini menjadi jembatan penting sebelum masuk ke pembahasan framework seperti Express.