# Node-RED

### **Menjalankan Node-RED**

Pertama-tama Anda harus memasang Node.js dan Node-RED di komputer/perangkat Anda. Jika anda belum memiliki Node.js dan Node-RED, Anda dapat mengikuti tutorial pada halaman <https://nodejs.org/en/> lalu <https://nodered.org/docs/getting-started/installation>.

Node-RED adalah suatu alat pemograman untuk menghubungkan perangkat-perangkat keras, API, dan layanan online dengan cara yang baru dan menarik. Node-RED memberikan editor berbasis *browser* yang memudahkan pengguna untuk menghubungkan *flow* dengan penggunaan *node* yang luas di dalam *palette* yang dapat langsung diterapkan dengan satu klik[\[1\]](#referensi). Node-RED digunakan bersama dengan Antares, MQTT, dan *platform*/protokol lain. Setelah terpasang, Node-RED dapat dijalankan dengan mengetik “node-red” pada *command prompt*.

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/GnrNcoXTcTHpDY1hNgIU/image.png" alt=""><figcaption><p>Gambar 1. Menjalankan Node-RED</p></figcaption></figure>

Pengguna dapat mengetik “localhost:1880” atau “Alamat-IPv4:1880” di *browser* untuk mengakses Node-RED.

### **Bagian-bagian Node-RED**

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/bg2emzjUEarWfTUL3PqE/image.png" alt=""><figcaption><p>Gambar 2. Bagian-bagian pada Node-RED</p></figcaption></figure>

Pada Node-RED, terdapat bagian bernama *nodes* dan *flows*. *Nodes* adalah bagian-bagian yang digunakan untuk membuat program. Ada beberapa jenis *nodes*: *input*, *output*, *function*, dan lain-lain. *Nodes* tersebut dapat diunduh di menu “Manage palette”

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/6PXOUEU37XlFntNKIs8h/image.png" alt=""><figcaption><p>Gambar 3. Menu "Manage Palette"</p></figcaption></figure>

Sebuah jendela akan muncul. Menu “nodes” menunjukkan *nodes* yang sudah terpasang, sementara menu “install” menunjukkan *nodes* yang dapat diunduh dan dipasang.

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/epCs2jFvhPYTZt3JizSu/image.png" alt=""><figcaption><p>Gambar 4. Menu "Nodes" pada "Manage Palette"</p></figcaption></figure>

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/qqHeY9MKEgKAuqTFSrtJ/image.png" alt=""><figcaption><p>Gambar 5. Menu "Install" pada "Manage Palette"</p></figcaption></figure>

Flow adalah tempat untuk memasang *nodes*. Pada satu jendela Node-RED, bisa saja terdapat lebih dari 1 *flow*. *Flows* tidak bergantung satu sama lain.

### **Menggunakan MQTT**

#### ***A. Node*****&#x20;MQTT**

*Node* MQTT sudah terpasang pada saat pemasangan Node-RED. Ada dua tipe *node* MQTT: *input* MQTT dan *output* MQTT.

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/pKYdhYuq0J1yHkdstAJ9/image.png" alt=""><figcaption><p>Gambar 6. Tipe <em>Node</em> MQTT</p></figcaption></figure>

#### **B. Pengaturan&#x20;*****Broker*****&#x20;MQTT**

Node MQTT memiliki bentuk seperti ini:

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/bqSDRjgSa0TKvtPMw2DA/image.png" alt=""><figcaption><p>Gambar 7. Pengaturan <em>Node</em> MQTT</p></figcaption></figure>

Penambahan broker baru dapat dilakukan dengan memilih “add new mqtt-broker” dan mengklik ikon sebelah kanan. Pengaturan broker dapat dilakukan hanya dengan mengklik ikon sebelah kanan.

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/o7tu95mHlZ3MTIZomI0p/image.png" alt=""><figcaption><p>Gambar 8. Penambahan <em>Broker</em> Baru</p></figcaption></figure>

Pengguna dapat menamai broker baru dan mengatur server serta port yang digunakan.

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/8VtKMDvy6FVM32rbTeJc/image.png" alt=""><figcaption><p>Gambar 9. Pengaturan <em>Broker</em> Baru</p></figcaption></figure>

#### **C. Mengirimkan dan Menerima Data**

Simulasi data masukan dari devais dapat dilakukan dengan penggunaan *node* “inject”.

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/2uH9xAtpLBCjeenPn25s/image.png" alt=""><figcaption><p>Gambar 10. Mengirimkan Data</p></figcaption></figure>

*Node* “inject” dapat diubah untuk memberikan tipe data lain. Pada kasus ini, tipe data yang digunakan adalah JSON.

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/4qTcg7rMijGrdRXJoh3V/image.png" alt=""><figcaption><p>Gambar 11. Pengaturan <em>Node</em> "inject"</p></figcaption></figure>

Program dapat ditulis dengan mengklik ikon “...”.

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/x6RbOUBIps1AntkKTNHF/image.png" alt=""><figcaption><p>Gambar 12. Penulisan Program</p></figcaption></figure>

*Node* “debug” dapat digunakan untuk melihat pesan yang dikirim.

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/rlbLEXnw1pnUMDtL81va/image.png" alt=""><figcaption><p>Gambar 13. Menerima Data</p></figcaption></figure>

Pengguna dapat melihat pesan yang diterima di panel "debug".

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/jPM6X8whWLXKfkR9czbt/image.png" alt=""><figcaption><p>Gambar 14. Keluaran di Panel "Debug"</p></figcaption></figure>

## **Referensi**

1. ["Node-RED: Flow-based Programming For The Internet"](https://nodered.org/). [Node-RED](https://nodered.org/). Diakses pada 13 September 2018.
