🔧 1. MEMBUAT WEB API DI NODE.JS
A. Inisialisasi Proyek
1 2 3 |
mkdir rest_api cd rest_api npm init -y |
B. Install Express
1 |
npm install express |
C. Struktur Folder
1 2 3 4 5 |
rest_api/ ├── node_modules/ ├── app.js ├── package.json └── .gitignore |
D. Buat .gitignore
Isi dengan:
1 2 |
node_modules/ .env |
🧩 2. IMPLEMENTASI WEB API
E. Buat file app.js
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
const express = require('express'); const app = express(); const port = 3000; app.use(express.json()); // Simpan data mahasiswa di array static let mahasiswa = [ { nama: "Muhamad Taufiq Hidayat", nim: "21102206" }, { nama: "Febrilia Ananda", nim: "220220106" }, { nama: "LeBron James", nim: "1302000003" } ]; // GET semua mahasiswa app.get('/api/mahasiswa', (req, res) => { res.json(mahasiswa); }); // GET mahasiswa berdasarkan index app.get('/api/mahasiswa/:index', (req, res) => { const index = parseInt(req.params.index); if (index >= 0 && index < mahasiswa.length) { res.json(mahasiswa[index]); } else { res.status(404).json({ message: 'Data tidak ditemukan' }); } }); // POST mahasiswa baru app.post('/api/mahasiswa', (req, res) => { const { nama, nim } = req.body; mahasiswa.push({ nama, nim }); res.status(201).json({ message: 'Data berhasil ditambahkan' }); }); // DELETE mahasiswa berdasarkan index app.delete('/api/mahasiswa/:index', (req, res) => { const index = parseInt(req.params.index); if (index >= 0 && index < mahasiswa.length) { mahasiswa.splice(index, 1); res.json({ message: 'Data berhasil dihapus' }); } else { res.status(404).json({ message: 'Data tidak ditemukan' }); } }); app.listen(port, () => { console.log(`Server berjalan di http://localhost:${port}`); }); |
Jalankan Project:
1 |
node app.js |
Berikut adalah contoh tugas untuk mahasiswa berdasarkan proyek Web API menggunakan Node.js tadi. Tugas ini bisa kamu berikan ke siswa/praktikan untuk latihan membuat dan menguji Web API sederhana:
📝 TUGAS PEMBUATAN WEB API MAHASISWA DENGAN NODE.JS
🎯 Tujuan
Mahasiswa mampu:
- Membuat Web API menggunakan Node.js dan Express
- Mengimplementasikan metode HTTP dasar (GET, POST, DELETE)
- Menyimpan dan memproses data menggunakan array static
- Menguji API menggunakan Postman atau curl
📌 Petunjuk Umum
- Tugas dikerjakan secara individu
- Nama project menggunakan format: rest_api
- Dilarang menggunakan database — data disimpan di array static
- API harus berjalan pada endpoint dasar:
http://localhost:3000/api/mahasiswa
- Simulasi input hanya dilakukan dari Postman atau tool sejenis
- Kumpulkan file project dalam bentuk
.zip
serta dokumentasi hasil uji coba API (.pdf atau .docx)
🔨 Langkah-langkah Pengerjaan
1. Setup Project
- Inisialisasi project Node.js dan install
express
- Buat file
.gitignore
yang mengecualikannode_modules
- Buat file
app.js
yang akan digunakan untuk menuliskan logic API
2. Struktur API
Buatlah Web API dengan spesifikasi berikut:
Method | Endpoint | Deskripsi |
---|---|---|
GET | /api/mahasiswa |
Menampilkan seluruh data mahasiswa (array JSON) |
GET | /api/mahasiswa/:index |
Menampilkan data mahasiswa berdasarkan indeks array |
POST | /api/mahasiswa |
Menambahkan data mahasiswa baru (nama dan NIM) |
DELETE | /api/mahasiswa/:index |
Menghapus data mahasiswa berdasarkan indeks array |
Catatan: Data mahasiswa disimpan dalam array
let mahasiswa = []
dan tidak menggunakan database.
3. Data Awal
Isikan data awal minimal 3 anggota, dengan nama Anda di urutan pertama. Contoh:
1 2 3 4 5 |
let mahasiswa = [ { nama: "Muhamad Taufiq Hidayat", nim: "1302010001" }, { nama: "Anggota 2", nim: "1302010002" }, { nama: "Anggota 3", nim: "1302010003" } ]; |
📷 Dokumentasi Uji Coba
Dokumentasikan hasil uji coba berikut menggunakan Postman:
No | Skema Uji Coba |
---|---|
A | Jalankan GET /api/mahasiswa saat program pertama kali dijalankan |
B | Jalankan POST /api/mahasiswa untuk menambahkan: John Doe – 1302199999 |
C | Jalankan GET /api/mahasiswa lagi dan pastikan John Doe muncul |
D | Jalankan GET /api/mahasiswa/0 dan pastikan data pertama (nama Anda) muncul |
E | Jalankan DELETE /api/mahasiswa/0 untuk menghapus data pertama |
F | Jalankan GET /api/mahasiswa lagi dan pastikan data Anda sudah hilang |
📂 Output Tugas
Kumpulkan:
- Lewat Git