# Mengenal Interface pada Node-Red

Setelah proses installasi selesai dilakukan, kemudian kita akan melihat bagaimana cara untuk menggunakan Node-RED itu sendiri. Dan memahami mengenali bagian-bagian Node-RED agar ke depan lebih familiar. Secara umum antarmuka dari Node-RED ditunjukkan seperti pada gambar berikut

![Bagian-bagian Node-RED](https://3323147311-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M_tN_CaR5ayMH9yNmOz%2F-MbasqIFvy3rnYH2ZIcr%2F-MbaxNgA6FtudQ2rkgoS%2FScreen%20Shot%202021-06-07%20at%2021.31.29.png?alt=media\&token=a7f445fa-f30a-4f17-aec2-8301a7cdf771)

Secara umum Node-RED dibagi ke dalam 3 jendela yaitu

1. Node, terletak disebelah paling kiri berisi kumpulan node-node yang memiliki fungsi-fungsi tertentu. Node-node ini nantinya akan didrag atau diletakkan pada sebuah Flow(jendela di tengah). Selanjutnya pada node ini dibagi menjadi beberapa kategori seperti common, function, network, sequence, parser, dan storage.
2. Flow, berfungsi untuk meletakkan node atau sebuah lembar kerja yang berisi node-node yang saling terhubung, terletak di bagian tengah berdasarkan gambar di atas.
3. Bisa disebut sebagai Properties, karena fungsi untuk mengkonfigurasi sebuah flow yang akan kita buat. Pada bagian ini juga dapat digunakan untuk debugging atau mengeluarkan pesan console seperti pada bahasa pemrograman yang lain.

Kita akan mencoba memanfaatkan Node-RED untuk request ke url tertentu dan menampilkan response dalam sebuah mode debug. Silakan mengikuti langkah-langkah di bawah ini

* Drag sebuah pallete node `inject` pada kategori `network` ke worksheet, perhatikan gambar berikut ini

![Drag Node Inject ke Flow](https://3323147311-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M_tN_CaR5ayMH9yNmOz%2F-MbaxaWp3IiHDuiVwOGF%2F-Mbb-3YPzYZ6X3T9lvP_%2F06.png?alt=media\&token=45bcc6f7-c6d1-4cd3-83e5-31966b622d92)

* Selanjutnya double klik node `inject` yang terdapat pada worksheet sehingga menampilkan jendela properties seperti berikut

![Edit inject node](https://3323147311-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M_tN_CaR5ayMH9yNmOz%2F-MbaxaWp3IiHDuiVwOGF%2F-Mbb-P2Z4envHZKYYJjy%2F07.png?alt=media\&token=34cf73cc-a18d-4583-8abc-005fd3963fff)

Ubah name menjadi `make request` dan hapus properti `msg.payload` serta `msg.topic` menggunakan icon `cross`, jika sudah jangan lupa klik tombol `Done`.

* Tambahkan juga node `http request` pada worksheet, sesuaikan properties pada nilai `URL dan name`. Isikan `URL` dengan `https://raw.githubusercontent.com/prust/wikipedia-movie-data/master/movies.json` dan sedangkan `name` diisi dengan `movie request`. Untuk lebih jelasnya dapat dilihat pada gambar berikut ini

![Edit http request node](https://3323147311-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M_tN_CaR5ayMH9yNmOz%2F-Mbb-S8rdOR90pa5fZ9q%2F-Mbb-gSjsBdAp3DNJzEu%2F08.png?alt=media\&token=f026f595-4058-42ed-8e78-fde1fae14cca)

* Hubungkan node `make reqeust (inject)` dan `movie request (http request)` dengan cara klik dan drag antar ujung node, hasilnya dapat dilihat pada gambar berikut ini

![Drag antar node](https://3323147311-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M_tN_CaR5ayMH9yNmOz%2F-Mbb-S8rdOR90pa5fZ9q%2F-Mbb-ua1Nr_5a4LfIy_l%2F09.png?alt=media\&token=7bf3cf25-6d87-4024-8ea4-9717420173bd)

* Tambahkan node `debug` yang terdapat pada kategori `common`, jangan lupa diubah name dengan nama msg. Terakhir hubungkan node tersebut dengan node `movie request`. Hasil akhirnya adalah sebagai berikut

![Edit debug node](https://3323147311-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M_tN_CaR5ayMH9yNmOz%2F-Mbb-S8rdOR90pa5fZ9q%2F-Mbb0BRIni74tArhT0JD%2F10.png?alt=media\&token=14f8135d-aac2-4a38-a387-39d25fd45742)

![Flow lengkap](https://3323147311-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M_tN_CaR5ayMH9yNmOz%2F-Mbb-S8rdOR90pa5fZ9q%2F-Mbb0ablhIbzERv-NsZ8%2F11.png?alt=media\&token=3c69d0ae-dd69-4394-aad1-3563e22fc09b)

* Langkah terakhir, silakan klik tombol `Deploy` yang terletak di pojok kanan atas sampai muncul popup `successfully deployed`. Jika sudah, klik `make request` dan amati hasilnya pada bagian `debug` (klik icon kutu) di jendela sebelah kanan. Untuk lebih jelasnya dapat dilihat pada gambar di bawah ini

![Hasil setelah Deploy](https://3323147311-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M_tN_CaR5ayMH9yNmOz%2F-Mbb-S8rdOR90pa5fZ9q%2F-Mbb0ie55NbaYOFpREf_%2F12.png?alt=media\&token=08f7de0e-0525-46de-a962-d0e6b8df11ff)

## Pertanyaan

1. Tambahkan kembali `node function` dan `node debug`, yang masing-masing fungsinya adalah untuk memfilter dimana movie yang akan tampil hanya movie dengan tahun > 2000 dan untuk menampilkan data filter tersebut.
2. Flow dan output pada debug dapat dilihat seperti berikut ini

![Movie hanya tahun 2000 ke atas](https://3323147311-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M_tN_CaR5ayMH9yNmOz%2F-Mbb-S8rdOR90pa5fZ9q%2F-Mbb1GRMdvSfDnco5gGH%2F13.png?alt=media\&token=6fd7e186-d4a2-437c-933c-ecbc1b03bd3b)

> Dicoba terlebih dahulu untuk menyelesaikan pertanyaan di atas, tetapi jika memang sudah tidak punya banyak waktu silakan menggunakan file [flows-movies.json](https://github.com/doditsuprianto/IoT-Development-Board-DSP-TECH/tree/e627c546567c7b4db6b179742d374e00e8a7969b/implementasi-iot-pada-ec2-cloud-aws/images/flows-movies.json) yang terlampir.
>
> Import file flow tersebut dengan cara klik icon pojok kanan atas sebelah deploy, kemudian lakukan import dengan cara klik tombol `select a file to import`. Proses ini nanti akan dijelaskan secara detail pada bab selanjutnya.

![Import flow](https://3323147311-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M_tN_CaR5ayMH9yNmOz%2Fsync%2F4b4e5cc782d2697d7db382647845836526585c0d.png?generation=1624925653702296\&alt=media)
