Membuat aplikasi real time dengan Node.js

bardimin pic

Ditulis oleh Bardimin

Tanggal 5 September 2021
Home » Blog » Teknologi » Membuat aplikasi real time dengan Node.js

Node.js adalah runtime environment untuk yang bersifat open-source dan cross-platform. Dengan Node.js kita dapat menjalankan kode di mana pun, tidak hanya terbatas pada lingkungan browser.

Node.js pertama kali diciptakan dan diperkenalkan untuk pengguna pada sistem pada tahun 2009. Node.js dikembangkan oleh Ryan Dahl dan disponsori oleh Joyent, perusahaan tempat ia bekerja.

Dengan Node.js kita bisa membuat real time dengan mudah. Bagaimana caranya???

Pada artikel kali ini, kita akan membuat pemilihan untuk memilih ketua, bisa ketua kelas, ketua RT?RW atau terserah apa aja deh…… Hasil pemilihan akan tampil secara real time, dimana setiap ada anggota yang meberikan pilihan akan melakukan update ke semua halaman hasil pemilihan yang sedang dibuka oleh pengguna.

Langka-langkah membuat aplikasi real time dengan Node.j

  1. Download dan instal Node.js. Pilih dan sesuaikan dengan OS yang anda gunakan.
  2. Buat kosong untuk menyimpan proyek.
    ini akan kita gunakan untuk meyimpan node.js dan juga sebagai root dari proyek kita.
    Sebagai contoh, kita buat folder dengan nama “bardimin” pada dive “C”.
  3. Buat file dengan nama “package.json” pada “C:bardimin” dan salin kode berikut
{
  "name": "Belajar_aplikasi_realtime",
  "description": "Belajar aplikasi realtime dengan Node.JS",
  "version": "1.0.0",
  "license": "MIT",
  "repository": "https://github.com/",
  "dependencies": {
    "express": "latest",
    "socket.io": "latest"
  }
}
  1. Kemudian buka command promt/CMD dan masuk ke “C:bardimin”. Ketikkan perintah sebagai berikut
npm install

Setelah proses selesai, akan terlihat struktur direktori seperti gambar berikut ini

nodejs 01
  1. Langkah berikutnya, buat file “.js” pada folder yang telah anda buat dan salin kode berikut
var app = require("express")();
var http = require('http').Server(app);
var io = require("socket.io")(http);

//Listening port
http.listen(3000, function () {
    console.log("Listening on 3000");
});

//html file
app.get("/", function (req, res) {
    res.sendFile(__dirname + '/index.html');
});

//Global Variable
const myData = {akbar: 0, goldie: 0};

/*  This is auto initiated event when Client connects to Your Machien.  */
io.on("connection", (socket) => {
    console.log("A user is connected");
    socket.emit('newData', myData);
    socket.on('addData', (data) => {
        if (data === "akbar") {
            myData.akbar++;
        } else {
            myData.goldie++;
        }
        io.emit('newData', myData);
    })
});
  1. Selanjutnya, anda buka kembali CMD dan ketikkan perintah “node .js”. Jika semua sudah benar akan tampil seperti ini
nodejs 02
  1. Langkah terakhir adalah anda buat file “index.html”, masih dalam folder yang sama dan salin kode berikut
<html>
<head>
    <title>Pemilihan Ketua</title>
    <script src="/socket.io/socket.io.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    <style>
        table, th, td {
            border: 1px solid black;
            border-collapse: collapse;
            text-align: center;
        }
    </style>
    <script>
        $(document).ready(function () {
            const socket = io();
            socket.on('newData', (data) => {
                $("#pilihAkbr").text(data.akbar);
                $("#pilihGoldie").text(data.goldie);
            });
            $("#submit").click(() => {
                socket.emit('addData', $("#calon").val());
            });
        });
    </script>
</head>
<body>
<div style="width: 400px;margin:auto;text-align: center">
    <blockquote><b>Pemilihan Ketua</b></blockquote>
    <div>
        <table width="100%">
            <tr>
                <th>Calon Ketua</th>
                <th>Hasil Voting</th>
            </tr>
            <tr>
                <td>Akbar</td>
                <td id="pilihAkbr">0</td>
            </tr>
            <tr>
                <td>Goldie</td>
                <td id="pilihGoldie">0</td>
            </tr>
        </table>
    </div>
    <blockquote>
        <b>Pilih Calon Anda:</b>
        <select id="calon" name="calon">
            <option value="akbar">Akbar</option>
            <option value="goldie">Goldie</option>
        </select>
        <blockquote>
            <button type="button" id="submit">Submit</button>
        </blockquote>
    </blockquote>
</div>
</body>
</html>

  1. Pembuatan aplikasi sudah selesai. Sekarang saatnya untuk menguji apakah aplikasi sudah berjalan.

Pengujian Aplikasi

  • Aktifkan kembali server seperti pada langkah ke 6, dengan perintah “node server.js” pada CMD.
  • Selanjutnya buka browser anda dan akses url “http://localhost:3000/”.
  • Buka lagi url “http://localhost:3000/” pada tab baru atau browser lain.
nodejs 03
  • Anda akan melihat ketika salah satu melakukan submit data, maka semua jendela yang terbuka akan melakukan update secara otomatis. Dan pada console CMD anda dapat membuat notifikasi sesuai dengan yang anda perlukan.

Terimakasih telah membaca…Semoga bermanfaat……

Artikel Terbaru

Teknik Dasar Perawatan Komputer dan Laptop

Teknik Dasar Perawatan Komputer dan Laptop

Anda mungkin tidak menyadarinya, tetapi komputer dan mobil memiliki kesamaan, keduanya membutuhkan perawatan rutin. Jika mobil Anda perlu mengganti oli secara rutin, komputer Anda secara rutin juga harus memperbarui perangkat lunak, menjaga antivirus tetap up to date,...

ChatGPT versi Desktop untuk Windows, Linux dan Mac

ChatGPT versi Desktop untuk Windows, Linux dan Mac

Apakah Anda tahu apa itu ChatGPT? Apakah Anda tahu cara mendapatkan dan menginstal ChatGPT di perangkat Anda? ChatGPT dengan cepat menjadi salah satu penemuan terpenting dalam dunia pemrosesan bahasa alami. Anda dapat menggunakannya untuk menghasilkan tanggapan...

Voltase Pinout Power Supply ATX 24 pin ke Motherboard

Voltase Pinout Power Supply ATX 24 pin ke Motherboard

Power Supply mengubah daya arus bolak-balik (AC) menjadi arus searah (DC) yang dikendalikan tegangan rendah. Beberapa perangkat Power Supply menyertakan pilihan tegangan input manual, sementara yang lain secara otomatis menyesuaikan. Power Supply mengubah tegangan...

Google Chrome – Buka Bookmark ke Tab Baru Secara Default

Google Chrome – Buka Bookmark ke Tab Baru Secara Default

Bookmark adalah pintasan untuk membuka halaman website yang telah anda simpan untuk anda kunjungi lagi nantinya. Pernahkah Anda mengunjungi halaman situs web yang cukup menarik dan anda ingin untuk mengunjunginya lagi nanti. Mengingat alamat halaman website tentu...

Mengenal Folder $WinREAgent dan Cara Menghapusnya di Windows 11

Mengenal Folder $WinREAgent dan Cara Menghapusnya di Windows 11

Setiap proses update dan upgrade Windows akan menghasilkan folder $WinREAgent. Pada proses update dan upgrade Windows akan membuat banyak file dan folder pada saat proses mengunduh dan menginstal pembaharuan tersebut. Lokasi file dan folder yang dibuat secara otomatis...