UI vs. UX: What’s the difference?

7 Library Node.js yang Akan Menghemat Waktumu

Node.js adalah platform JavaScript untuk membuat aplikasi server-side. Salah satu alasan Node.js begitu populer adalah karena komunitasnya yang aktif dan banyaknya library siap pakai di NPM.

Daripada menulis semuanya dari nol, kamu bisa menghemat banyak waktu dengan memakai library berikut ini:

1. Express.js – Framework Web Paling Populer

 Apa fungsinya?

Express membantu kamu membuat server dan REST API dengan cara yang sederhana dan cepat.

 Kenapa hemat waktu?

Kamu tidak perlu membuat routing atau handler HTTP dari nol. Semuanya sudah disediakan dan tinggal pakai.

 Contoh:

const express = require('express');
const app = express();

app.get('/', (req, res) => {
  res.send('Halo Dunia!');
});

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

2. Nodemon – Otomatis Restart Server Saat Kode Berubah

 Apa fungsinya?

Nodemon secara otomatis me-restart aplikasi Node.js setiap kali kamu menyimpan file.

 Kenapa hemat waktu?

Tanpa Nodemon, kamu harus stop dan jalankan ulang server secara manual setiap kali mengubah kode.

 Cara pakai:

npx nodemon app.js

3. Axios – HTTP Client untuk Ambil Data dari API

 Apa fungsinya?

Axios digunakan untuk melakukan request ke API seperti GET, POST, PUT, DELETE, dll.

 Kenapa hemat waktu?

Axios membuat kode HTTP lebih rapih dan mudah ditangani, dibanding modul HTTP bawaan Node.js.

 Contoh:

const axios = require('axios');

axios.get('https://jsonplaceholder.typicode.com/posts')
  .then(res => console.log(res.data))
  .catch(err => console.error(err));

4. Dotenv – Simpan Variabel Rahasia di File .env

 Apa fungsinya?

Dotenv membaca file .env berisi konfigurasi rahasia seperti API key, password DB, dsb.

 Kenapa hemat waktu?

Lebih aman dan terorganisir karena kamu tidak perlu menulis variabel sensitif langsung di file .js.

 Contoh:

File .env

API_KEY=abcd1234

File app.js

require('dotenv').config();
console.log(process.env.API_KEY);

5. Mongoose – ODM untuk MongoDB

 Apa fungsinya?

Mongoose membantu kamu menghubungkan Node.js dengan MongoDB dan membuat model data seperti di SQL.

 Kenapa hemat waktu?

Kamu bisa bikin struktur data, validasi, dan relasi dengan lebih mudah.

 Contoh:

const mongoose = require('mongoose');

mongoose.connect('mongodb://localhost:27017/dbku');

const User = mongoose.model('User', { nama: String });
const user = new User({ nama: 'Ayu' });
user.save();

6. Joi – Validasi Data Input dengan Praktis

 Apa fungsinya?

Joi digunakan untuk memastikan bahwa data input user sesuai aturan (misalnya tidak kosong, angka, email valid, dll).

 Kenapa hemat waktu?

Tanpa Joi, kamu harus menulis banyak if dan else untuk validasi data. Dengan Joi, cukup satu skema saja.

 Contoh:

const Joi = require('joi');

const skema = Joi.object({
  nama: Joi.string().min(3).required(),
  umur: Joi.number().min(1).required()
});

const hasil = skema.validate({ nama: "Andi", umur: 20 });
console.log(hasil.error); // null jika valid

7. Bcrypt.js – Enkripsi Password User

 Apa fungsinya?

Bcrypt digunakan untuk mengamankan password dengan cara di-hash, agar tidak disimpan dalam bentuk asli (plaintext).

 Kenapa hemat waktu?

Tanpa Bcrypt, kamu harus membuat sistem enkripsi sendiri — yang sangat berisiko dan rawan bug.

 Contoh:

const bcrypt = require('bcryptjs');

const password = "rahasia123";
const hashed = await bcrypt.hash(password, 10);
const cocok = await bcrypt.compare("rahasia123", hashed);

console.log(cocok); // true

 Kesimpulan

Library di atas adalah alat bantu wajib bagi developer Node.js. Mereka membantu kamu:

  •  Menulis kode lebih cepat
  •  Menghindari kesalahan umum
  •  Meningkatkan keamanan dan efisiensi aplikasi

 Recap Singkat:

LibraryFungsi Utama
ExpressFramework web/API
NodemonAuto-restart saat develop
AxiosHTTP client untuk ambil data API
DotenvKelola variabel rahasia
MongooseODM untuk MongoDB
JoiValidasi input data
Bcrypt.jsEnkripsi password user