6 Proyek Sederhana untuk Belajar Node.js dari Nol

6 Proyek Sederhana untuk Belajar Node.js dari Nol

id8 min read • 3503 views

6 Proyek Sederhana untuk Belajar Node.js dari Nol

6 Proyek Sederhana untuk Belajar Node.js dari Nol

Node.js adalah salah satu platform yang paling populer untuk pengembangan aplikasi berbasis JavaScript di sisi server. Dengan arsitektur non-blocking I/O dan dukungan untuk JavaScript di backend, Node.js memungkinkan developer untuk membuat aplikasi yang cepat, efisien, dan scalable. Bagi pemula, salah satu cara terbaik untuk belajar Node.js adalah dengan membangun proyek-proyek sederhana yang bisa membantu memahami konsep dasar hingga penerapan yang lebih kompleks. Artikel ini akan membahas 6 proyek sederhana yang bisa Anda buat untuk belajar Node.js dari nol.

  1. Aplikasi Hello World dengan Node.js

Proyek pertama yang bisa Anda coba adalah Membuat aplikasi sederhana yang menampilkan "Hello World" di browser. Meskipun sangat dasar, proyek ini penting untuk memahami bagaimana Node.js menangani HTTP request dan response.

Langkah-langkah:

  • Pertama, instal Node.js di komputer Anda dan buat file JavaScript baru, misalnya `app.js`.
  • Di dalam file tersebut, Anda bisa menulis kode berikut:
 ```javascript
  const http = require('http');


  const server = http.createServer((req, res) => {
    res.statusCode = 200;
    res.setHeader('Content-Type', 'text/plain');
    res.end('Hello World\n');
  });


  server.listen(3000, '127.0.0.1', () => {
    console.log('Server running at http://127.0.0.1:3000/');
  });
  ```
  • Setelah itu, buka terminal dan jalankan perintah `node app.js`. Jika Anda membuka browser dan mengetikkan `http://127.0.0.1:3000/`, Anda akan melihat teks "Hello World".

Proyek sederhana ini membantu Anda memahami bagaimana Node.js menangani HTTP dan bagaimana server dibuat di platform ini. Dari sini, Anda bisa melanjutkan ke proyek yang lebih kompleks.

Baca juga

 

  1. Aplikasi Todo List Sederhana

Setelah memahami dasar HTTP, proyek berikutnya adalah membuat aplikasi *todo list* sederhana. Aplikasi ini memungkinkan pengguna untuk Menambahkan, Mengedit, Dan Menghapus Tugas. Ini membantu Anda memahami cara kerja request HTTP POST dan GET, serta bagaimana mengelola data.

Langkah-langkah:

  • Buat aplikasi dengan struktur dasar seperti sebelumnya.
  • Gunakan `express.js`, sebuah framework yang memudahkan pembuatan API.
  • Tambahkan kemampuan untuk menyimpan daftar tugas menggunakan array sederhana.

Berikut contoh kode dasar:

```javascript
const express = require('express');
const app = express();
app.use(express.json());


let todos = [];


app.get('/todos', (req, res) => {
  res.json(todos);
});


app.post('/todos', (req, res) => {
  const todo = req.body.todo;
  todos.push(todo);
  res.status(201).json({ message: 'Todo added!' });
});


app.delete('/todos/:id', (req, res) => {
  const id = req.params.id;
  todos = todos.filter((_, index) => index != id);
  res.status(200).json({ message: 'Todo deleted!' });
});


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

Dengan proyek ini, Anda akan belajar cara mengatur routing dasar di Node.js dan mengelola request dengan berbagai metode HTTP seperti GET, POST, dan DELETE.

 

  1. Aplikasi Kalkulator Sederhana

Proyek ketiga ini melibatkan pembuatan aplikasi kalkulator yang dapat melakukan operasi matematika dasar seperti Penjumlahan, Pengurangan, Perkalian, dan Pembagian. Proyek ini mengajarkan Anda cara menangani input dari pengguna dan cara mengelola operasi dasar dalam aplikasi server-side.

Langkah-langkah:

  • Buat aplikasi dasar dengan Express.js.
  • Buat rute yang menerima dua angka dan operasi matematika sebagai parameter.
  • Lakukan operasi matematika berdasarkan input dan kembalikan hasilnya.

Contoh kode untuk penjumlahan:

```javascript
app.get('/add', (req, res) => {
  const num1 = parseFloat(req.query.num1);
  const num2 = parseFloat(req.query.num2);
  const result = num1 + num2;
  res.json({ result });
});
```

Anda bisa menambahkan rute yang mirip untuk operasi matematika lainnya. Proyek ini membantu Anda memahami cara kerja parameter query di URL dan bagaimana memanipulasi data tersebut di Node.js.

 

  1. Aplikasi Chat Sederhana dengan WebSocket

Proyek ini membawa Anda ke tingkat berikutnya dengan memperkenalkan konsep real-time communication. Menggunakan *WebSocket*, Anda bisa membuat aplikasi chat sederhana di mana pengguna dapat saling berkirim pesan secara real-time.

Langkah-langkah:

  • Gunakan modul `ws` untuk menangani WebSocket.
  • Buat server yang dapat mengelola beberapa klien dan menyebarkan pesan dari satu klien ke klien lainnya.

Berikut contoh dasar kode WebSocket:

```javascript
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });


wss.on('connection', ws => {
  ws.on('message', message => {
    wss.clients.forEach(client => {
      if (client !== ws && client.readyState === WebSocket.OPEN) {
        client.send(message);
      }
    });
  });
});
```

Proyek ini membantu Anda memahami bagaimana Node.js dapat digunakan untuk aplikasi real-time yang melibatkan banyak pengguna. Anda juga akan belajar tentang event-driven programming, salah satu fitur utama dari Node.js.

 

  1. Aplikasi API Cuaca

Proyek ini melibatkan pembuatan aplikasi yang dapat menampilkan informasi cuaca terkini berdasarkan lokasi pengguna. Untuk melakukan ini, Anda bisa menggunakan API cuaca eksternal seperti OpenWeatherMap dan memproses hasilnya di Node.js.

Langkah-langkah:

  • Daftarkan akun di OpenWeatherMap dan dapatkan API key.
  • Buat rute di Express.js yang menerima kota sebagai input, kemudian ambil data cuaca dari API OpenWeatherMap menggunakan modul `axios` atau `node-fetch`.

Contoh implementasi:

```javascript
const axios = require('axios');


app.get('/weather', async (req, res) => {
  const city = req.query.city;
  const apiKey = 'YOUR_API_KEY';
  const url = `http://api.openweathermap.org/data/2.5/weather?q=${city}&appid=${apiKey}`;


  try {
    const response = await axios.get(url);
    const weather = response.data.weather[0].description;
    res.json({ weather });
  } catch (error) {
    res.status(500).json({ error: 'Unable to get weather data' });
  }
});
```

Proyek ini mengajarkan Anda cara mengintegrasikan Node.js dengan layanan pihak ketiga menggunakan API. Anda juga akan belajar cara menangani respons asinkron dalam Node.js.

 

  1. Aplikasi Pencarian Buku dengan Google Books API

Proyek terakhir ini melibatkan penggunaan API Google Books untuk membuat aplikasi pencarian buku. Pengguna dapat memasukkan judul buku, dan aplikasi akan menampilkan daftar buku terkait yang diambil dari Google Books API.

Langkah-langkah:

  • Dapatkan API key dari Google Books.
  • Buat aplikasi Express.js yang mengambil input dari pengguna (judul buku) dan mencari buku tersebut di Google Books API.
  • Tampilkan hasil pencarian kepada pengguna.

Contoh implementasi:

```javascript
app.get('/search', async (req, res) => {
  const query = req.query.q;
  const apiKey = 'YOUR_GOOGLE_BOOKS_API_KEY';
  const url = `https://www.googleapis.com/books/v1/volumes?q=${query}&key=${apiKey}`;


  try {
    const response = await axios.get(url);
    const books = response.data.items.map(item => item.volumeInfo.title);
    res.json({ books });
  } catch (error) {
    res.status(500).json({ error: 'Unable to search books' });
  }
});
```

Proyek ini mengajarkan Anda cara menggunakan API eksternal yang lebih kompleks dan menampilkan hasilnya dengan format yang user-friendly. Anda juga akan memahami lebih dalam tentang bagaimana Node.js menangani request HTTP asinkron.

 

Kesimpulan

Membangun proyek sederhana dengan Node.js adalah cara efektif untuk belajar dan memahami dasar-dasar pengembangan aplikasi server-side. Dari membuat server HTTP sederhana hingga mengintegrasikan API pihak ketiga, proyek-proyek di atas dirancang untuk memberikan pemahaman yang kuat tentang cara kerja Node.js. Dengan mencoba proyek-proyek ini, Anda akan semakin percaya diri dalam menggunakan Node.js untuk proyek-proyek yang lebih kompleks di masa depan.

Series: Nodejs
Published on November 17, 2024
Last updated on June 04, 2026

If you like this post and want to support us, you can support us via buymeacoffee or trakteer.