5.1 Routing Dasar
app.get('/about', (req, res) => { res.send('Halaman About'); });
Kuasai Node.js! Tingkatkan keterampilan Anda dengan Bootcamp Backend menggunakan Express dan MongoDB. Mulai perjalanan coding Anda sekarang!
Node.js adalah runtime JavaScript yang berjalan di luar browser, memungkinkan Anda membuat aplikasi backend yang cepat dan scalable. Backend adalah bagian dari aplikasi yang menangani logika bisnis, database, dan komunikasi dengan frontend.
Dalam bootcamp ini, Anda akan belajar membuat backend menggunakan Node.js, Express sebagai framework, dan MongoDB sebagai database NoSQL.
Untuk memulai, unduh dan instal Node.js dari situs resmi: https://nodejs.org . NPM (Node Package Manager) akan terinstal otomatis bersama Node.js.
Setelah instalasi, cek versi Node.js dan NPM dengan perintah berikut di terminal:
node -v npm -v
Pastikan versi muncul tanpa error, menandakan instalasi berhasil.
Node.js menyediakan modul
http
untuk membuat server. Berikut contoh server sederhana yang merespon permintaan dengan teks.
const http = require('http'); const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Halo dari server Node.js!'); }); server.listen(3000, () => { console.log('Server berjalan di http://localhost:3000'); });
Jalankan file ini dengan perintah
node namaFile.js
dan buka
http://localhost:3000
di browser.
Express adalah framework minimalis dan fleksibel untuk Node.js yang memudahkan pembuatan server dan API.
Instal Express dengan perintah:
npm install express
Contoh server Express sederhana:
const express = require('express'); const app = express(); app.get('/', (req, res) => { res.send('Halo dari Express!'); }); app.listen(3000, () => { console.log('Server Express berjalan di http://localhost:3000'); });
Routing menentukan bagaimana server merespon permintaan ke URL tertentu. Middleware adalah fungsi yang dijalankan sebelum route handler.
app.get('/about', (req, res) => { res.send('Halaman About'); });
const logger = (req, res, next) => { console.log(`${req.method} ${req.url}`); next(); }; app.use(logger);
Middleware
logger
ini akan mencetak method dan URL setiap request.
Untuk menerima data JSON dari client, gunakan middleware bawaan Express:
app.use(express.json());
MongoDB adalah database NoSQL yang menyimpan data dalam format dokumen JSON. Cocok untuk aplikasi yang membutuhkan fleksibilitas skema.
Anda bisa menginstal MongoDB secara lokal atau menggunakan layanan cloud seperti MongoDB Atlas.
Mongoose adalah ODM (Object Data Modeling) yang memudahkan interaksi dengan MongoDB menggunakan model dan schema.
Instal Mongoose dengan perintah:
npm install mongoose
Contoh koneksi dan schema sederhana:
const mongoose = require('mongoose'); mongoose.connect('mongodb://localhost:27017/bootcamp', { useNewUrlParser: true, useUnifiedTopology: true }).then(() => { console.log('Terhubung ke MongoDB'); }).catch(err => { console.error(err); }); const siswaSchema = new mongoose.Schema({ nama: String, umur: Number, kelas: String }); const Siswa = mongoose.model('Siswa', siswaSchema);
CRUD adalah singkatan dari Create, Read, Update, Delete. Berikut contoh API sederhana untuk mengelola data siswa.
const express = require('express'); const mongoose = require('mongoose'); const app = express(); app.use(express.json()); mongoose.connect('mongodb://localhost:27017/bootcamp', { useNewUrlParser: true, useUnifiedTopology: true });
const siswaSchema = new mongoose.Schema({ nama: String, umur: Number, kelas: String }); const Siswa = mongoose.model('Siswa', siswaSchema);
app.post('/siswa', async (req, res) => { try { const siswaBaru = new Siswa(req.body); const hasil = await siswaBaru.save(); res.status(201).json(hasil); } catch (err) { res.status(400).json({ error: err.message }); } });
app.get('/siswa', async (req, res) => { try { const data = await Siswa.find(); res.json(data); } catch (err) { res.status(500).json({ error: err.message }); } });
app.put('/siswa/:id', async (req, res) => { try { const updated = await Siswa.findByIdAndUpdate(req.params.id, req.body, { new: true }); res.json(updated); } catch (err) { res.status(400).json({ error: err.message }); } });
app.delete('/siswa/:id', async (req, res) => { try { const deleted = await Siswa.findByIdAndDelete(req.params.id); res.json({ message: 'Data siswa dihapus' }); } catch (err) { res.status(400).json({ error: err.message }); } });
app.listen(3000, () => { console.log('Server berjalan di http://localhost:3000'); });
Simpan semua kode di satu file misal
app.js
, lalu jalankan dengan
node app.js
.
Setelah selesai, Anda bisa deploy aplikasi backend ke layanan cloud seperti Heroku, Vercel, atau DigitalOcean.
Contoh singkat deploy ke Heroku:
heroku login
git init
heroku create nama-app-anda
git add . && git commit -m "deploy" && git push heroku master
Pastikan Anda menggunakan variabel environment untuk koneksi database agar aman.
Berikut beberapa sumber belajar dan channel yang sangat direkomendasikan untuk menguasai Node.js, Express, dan MongoDB:
Anda dapat mengunduh source code contoh proyek backend bootcamp ini dari repositori GitHub berikut:
GitHub - nodejs-backend-bootcampE-Commerce, Microservices, Node.js, React, Teknologi, Pengembangan Web
Pelajari cara membangun e-commerce canggih menggunakan microservices dengan Node.js dan React. Tingkatkan performa dan fleksibilitas bisnis Anda!
Node.js, Backend Development, Express, MongoDB, Bootcamp, Web Development
Kuasai Node.js! Tingkatkan keterampilan Anda dengan Bootcamp Backend menggunakan Express dan MongoDB. Mulai perjalanan coding Anda sekarang!
Node.js, Caching, Redis, Klustering, Pengembangan Web
Kuasai Advanced Node.js dengan teknik Caching Redis dan Klustering optimal! Temukan panduan lengkap untuk meningkatkan performa aplikasi Anda. Klik untuk belajar lebih lanjut!
Node.js, Panduan, V8, Express, MERN, Web Development
Pelajari cara menguasai NodeJS dalam panduan lengkap ini! Temukan rahasia V8, Express, dan MERN untuk membangun aplikasi web yang unggul.
Pelatihan, Teknologi, Node.js, Aplikasi Web, REST API, Pengembangan Web
Tingkatkan keahlian Anda dengan pelatihan mendalam aplikasi web & REST API menggunakan Node.js. Bergabunglah sekarang dan raih sukses!
Pengembangan Web, API RESTful, Node.js, MongoDB, Tutorial, Pemrograman
Pelajari cara membangun API RESTful yang efisien dengan Node.js dan MongoDB. Temukan langkah-langkah praktis dan tips ahli yang akan mempercepat pengembangan aplikasi Anda!
Pengembangan Web, Kursus Online, HTML, CSS, React, Node.js
Tingkatkan keterampilan Anda dalam pengembangan web dengan kursus komprehensif HTML, CSS, React, & Node! Bergabunglah dan raih kesempatan emas untuk bersinar di dunia digital!