Membangun Aplikasi Chat Sederhana dengan Node.js

dani indra

Membangun Aplikasi Chat Sederhana dengan Node.js

Node.js merupakan platform runtime yang memungkinkan Anda untuk menjalankan JavaScript di sisi server. Dengan kecepatan eksekusi yang tinggi dan pendekatan non-blocking I/O, Node.js sangat cocok untuk membangun aplikasi real-time, seperti aplikasi chat. Dalam artikel ini, kita akan menjelaskan langkah-langkah untuk membuat aplikasi chat sederhana menggunakan Node.js.

Langkah 1: Persiapan Lingkungan

Sebelum memulai, pastikan Anda telah menginstal Node.js di sistem Anda. Kunjungi situs resmi Node.js (https://nodejs.org/) untuk mengunduh dan menginstal versi terbaru. Setelah instalasi selesai, Anda dapat memeriksa versi Node.js dan npm (Node Package Manager) dengan perintah berikut di terminal atau command prompt:

node -v
npm -v

Langkah 2: Membuat Proyek Node.js

Buat folder untuk proyek Anda dan masuk ke dalamnya. Kemudian, inisialisasi proyek Node.js dengan menjalankan perintah:

npm init -y

Perintah ini akan membuat file package.json yang berisi informasi proyek dan dependensi.

Langkah 3: Instalasi Dependensi

Untuk membangun aplikasi chat, kita akan menggunakan Express.js sebagai framework web. Instal Express.js dengan perintah:

npm install express socket.io

Express.js akan digunakan untuk membuat server HTTP, dan socket.io untuk menangani komunikasi real-time antara klien dan server.

Langkah 4: Membuat Server Express

Buat file app.js atau server.js dan tambahkan kode berikut:

const express = require('express');
const http = require('http');
const socketIO = require('socket.io');

const app = express();
const server = http.createServer(app);
const io = socketIO(server);

app.get('/', (req, res) => {
  res.sendFile(__dirname + '/index.html');
});

io.on('connection', (socket) => {
  console.log('User connected');

  socket.on('chat message', (msg) => {
    io.emit('chat message', msg);
  });

  socket.on('disconnect', () => {
    console.log('User disconnected');
  });
});

const PORT = process.env.PORT || 3000;

server.listen(PORT, () => {
  console.log(`Server running on http://localhost:${PORT}`);
});

Kode ini membuat server Express dan menggunakan socket.io untuk menangani koneksi dan pesan chat.

Langkah 5: Membuat Antarmuka Pengguna

Buat file index.html di dalam folder proyek dan tambahkan elemen-elemen HTML sederhana untuk antarmuka pengguna.

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Simple Chat App</title>
</head>
<body>
  <ul id="messages"></ul>
  <form id="form" action="">
    <input id="m" autocomplete="off" /><button>Send</button>
  </form>

  <script src="https://cdn.socket.io/4.0.0/socket.io.min.js"></script>
  <script>
    const socket = io();

    document.getElementById('form').addEventListener('submit', function(e){
      e.preventDefault();
      socket.emit('chat message', document.getElementById('m').value);
      document.getElementById('m').value = '';
      return false;
    });

    socket.on('chat message', function(msg){
      const ul = document.getElementById('messages');
      const li = document.createElement('li');
      li.appendChild(document.createTextNode(msg));
      ul.appendChild(li);
    });
  </script>
</body>
</html>

Langkah 6: Menjalankan Aplikasi

Kembali ke terminal atau command prompt, jalankan server dengan perintah:

node app.js

Buka browser dan akses http://localhost:3000. Anda sekarang dapat membuka beberapa tab atau browser berbeda untuk mencoba fitur chat real-time.

Selamat, Anda telah berhasil membuat aplikasi chat sederhana menggunakan Node.js! Anda dapat memperluas fungsionalitasnya dengan menambahkan fitur seperti pengidentifikasi pengguna, ruang obrolan, atau bahkan integrasi dengan basis data untuk menyimpan riwayat obrolan.

Leave a Comment