> For the complete documentation index, see [llms.txt](https://navixy.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://navixy.com/docs/user/id/guide/account/iot-logic/nodes/logic-node.md).

# Logika IF/THEN

## Ikhtisar teknis dan kemampuan

{% columns %}
{% column %}
Laporan **Logika IF/THEN** node menciptakan titik percabangan cerdas yang mengarahkan data masuk ke jalur berbeda berdasarkan kondisi logika. Node menerima data dari node lain, memvalidasinya terhadap kondisi yang Anda tentukan, dan mengarahkan hasilnya ke jalur berbeda berdasarkan apakah validasi berhasil atau gagal. Node ini memungkinkan Anda membangun alur kerja IF->THEN/ELSE di mana tindakan yang berbeda terjadi secara otomatis berdasarkan kondisi data real-time.
{% endcolumn %}

{% column %}

<figure><img src="/files/85ef69b674ec3b4c372da05c464594bc3c6f1252" alt="IF/THEN Logic node tile"><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

{% hint style="info" %}
Laporan **Logika IF/THEN** node dikonfigurasi secara terpisah untuk setiap alur di UI platform Navixy. Setiap node hanya berisi satu formula logika, dengan mengandalkan [Navixy IoT Logic Expression Language](/docs/iot-logic-api/technologies/navixy-iot-logic-expression-language.md).\
Untuk opsi sintaks khusus terkait ekspresi logika, lihat [Ekspresi dan sintaks Logika IF/THEN](/docs/user/id/guide/account/iot-logic/nodes/logic-node/logic-node-expressions-and-syntax.md).
{% endhint %}

<figure><img src="/files/6d187fe8eef72c4eb40046f1fe1488c293a44d0d" alt="IF/THEN Logic node positioning in the flow architecture (with inbound and outbound connections)"><figcaption></figcaption></figure>

### Cara kerja node IF/THEN Logic

Ketika data pertama kali mencapai sebuah **Logika IF/THEN** node, sistem membuat atribut boolean yang ditentukan pengguna yang menyimpan hasil evaluasi. Setiap paket data berikutnya dievaluasi terhadap ekspresi logika Anda, memperbarui nilai atribut ini dan mengarahkan data sesuai dengan itu:

* **Hasil true**: Data mengalir melalui koneksi THEN (hijau) dengan atribut boolean diatur ke `benar`
* **Hasil false**: Data mengalir melalui koneksi ELSE (merah) dengan atribut boolean diatur ke `salah`

Evaluasi ini dilakukan secara independen untuk setiap paket data, sehingga catatan yang berbeda dari perangkat yang sama dapat mengikuti jalur yang berbeda berdasarkan kondisi real-time.

### Integrasi arsitektur alur

Atribut boolean yang dibuat oleh **Logika IF/THEN** node melampaui perutean alur dan terintegrasi dengan kemampuan pemantauan yang lebih luas di Navixy. Karena ini adalah atribut kustom yang ditentukan pengguna, atribut tersebut dapat:

* **Dipantau secara real-time**: Lihat hasil evaluasi di [Data Stream Analyzer](/docs/user/id/guide/account/iot-logic/data-stream-analyzer.md) untuk memecahkan masalah kondisi dan memverifikasi logika
* **Ditambahkan sebagai sensor kustom**: Terintegrasi dengan antarmuka utama Navixy untuk pemantauan berkelanjutan

Sebagai sensor kustom, atribut ini memungkinkan dua kemampuan utama:

* **Pemicu peringatan**: Anda dapat membuat aturan kustom berdasarkan nilai sensor untuk menerima notifikasi jika terjadi penyimpangan. Untuk detail tentang pembuatan aturan, lihat [Aturan dan notifikasi](/docs/user/id/guide/events-and-notifications.md).
* **Entitas pemantauan**: Anda dapat menambahkan atribut ke [Daftar objek](/docs/user/id/guide/tracking/objects-list.md) widget untuk memantau nilainya bersama dengan pembacaan perangkat lainnya. Untuk detail tentang cara membuat sensor kustom dari atribut IoT Logic, lihat [Menampilkan atribut hasil perhitungan baru di platform Navixy](/docs/user/id/guide/account/iot-logic/nodes/initiate-attribute-node/displaying-new-calculated-attributes-on-the-navixy-platform.md).

{% hint style="info" %}
Laporan **Logika IF/THEN** node memerlukan koneksi ke setidaknya satu node sebelumnya (**Sumber Data** atau node pemrosesan lainnya) untuk menerima data masukan guna validasi.
{% endhint %}

### Kemampuan node

Laporan **Logika IF/THEN** node menawarkan:

* **Perutean data kondisional**: Buat alur kerja bercabang yang secara otomatis mengarahkan data berdasarkan ekspresi logika yang menghasilkan true atau false.
* **Validasi real-time**: Uji data perangkat yang masuk terhadap aturan bisnis dan ambang operasional saat data diterima.
* **Dukungan kondisi kompleks**: Gabungkan beberapa parameter menggunakan operator logika (AND, OR, dll.) untuk pengambilan keputusan yang canggih.
* **Kondisi berbasis geofence**: Rujuk geofence Navixy yang diberi nama secara langsung dalam ekspresi menggunakan `inGeofence()`, `enterGeofence()`, dan `leaveGeofence()` fungsi, tanpa perbandingan koordinat manual. Lihat [Fungsi geofence](/docs/user/id/guide/account/iot-logic/nodes/logic-node/geofence-functions.md).
* **Pembuatan atribut**: Hasilkan atribut boolean yang merekam hasil validasi untuk digunakan di node lain, sistem pemantauan Navixy, dan layanan pihak ketiga.
* **Jalur output fleksibel**: Arahkan data melalui koneksi THEN (true) dan ELSE (false) untuk memicu tindakan lanjutan yang berbeda.

## Opsi konfigurasi

{% columns %}
{% column valign="middle" %}
Laporan **Logika IF/THEN** node memungkinkan Anda mendefinisikan ekspresi kondisional yang mengevaluasi data masuk dan membuat jalur bercabang dalam alur Anda berdasarkan hasilnya.
{% endcolumn %}

{% column %}

<figure><img src="/files/d95ec5699d0e8c6c41da7f7e077c2c92b07d10d0" alt=""><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

Mari kita lihat elemen yang digunakan node ini dan apa yang dapat Anda konfigurasi saat bekerja dengannya.

### Langkah konfigurasi

{% stepper %}
{% step %}
**Tentukan nama node**

Masukkan nama deskriptif untuk ini **Logika IF/THEN** node.

* Gunakan nama yang dengan jelas mengidentifikasi tujuan validasi (mis., *Pemeriksaan Peringatan Suhu*, *Deteksi Pelanggaran Kecepatan*).
* Nama ini akan ditampilkan di diagram alur agar mudah dikenali.
  {% endstep %}

{% step %}
**Tentukan nama ekspresi**

Masukkan nama untuk atribut boolean yang akan menyimpan hasil validasi.

* Atribut ini akan muncul di [Data Stream Analyzer](/docs/user/id/guide/account/iot-logic/data-stream-analyzer.md) dan tersedia untuk digunakan di node berikutnya.
* Gunakan nama deskriptif seperti *high\_temperature\_alert* atau speed\_violation\_detected.
* Sistem akan membuat nama secara otomatis seperti *logic\_1*, *logic\_2* jika tidak ditentukan.
  {% endstep %}

{% step %}
**Buat ekspresi kondisional**

Buat pernyataan logika Anda menggunakan kolom ekspresi.

* Gunakan [operator logika sesuai sintaks Navixy Expression Language](/docs/user/id/guide/account/iot-logic/nodes/logic-node/logic-node-expressions-and-syntax.md) untuk mereferensikan parameter perangkat dan atribut terhitung.
* Ekspresi harus mengembalikan nilai boolean (true/false) agar node berfungsi dengan benar.
* Gunakan [fitur autocomplete](/docs/user/id/guide/account/iot-logic/nodes/initiate-attribute-node/managing-attributes.md#autofill-attribute-names) untuk memilih atribut yang tersedia dari sumber data yang terhubung.
* Untuk mereferensikan geofence Navixy sebagai kondisi, gunakan [pemilih geofence](/docs/user/id/guide/account/iot-logic/nodes/logic-node/geofence-functions.md) di kolom ekspresi.
  {% endstep %}

{% step %}
**Simpan konfigurasi node**

Klik **Terapkan perubahan** untuk menyelesaikan pembuatan node.
{% endstep %}

{% step %}
**Hubungkan jalur output**

Setelah Anda mengonfigurasi node, Anda perlu membuat koneksi untuk hasil validasi.

* **Koneksi THEN** (hijau): Terhubung ke node yang harus memproses data ketika ekspresi bernilai true.
* **Koneksi ELSE** (merah): Terhubung ke node yang harus memproses data ketika ekspresi bernilai false atau null.
* Koneksi THEN wajib, sedangkan koneksi ELSE bersifat opsional.
  {% endstep %}
  {% endstepper %}

{% hint style="info" %}
Ketika ekspresi logika tidak dapat dievaluasi karena nilai null, tipe data yang tidak valid, atau kesalahan sintaks, hasilnya dianggap sebagai `salah`, dan data mengalir melalui jalur ELSE.
{% endhint %}

Untuk informasi detail tentang sintaks ekspresi, operator, dan perilaku aliran data, lihat [Ekspresi dan sintaks Logika IF/THEN](/docs/user/id/guide/account/iot-logic/nodes/logic-node/logic-node-expressions-and-syntax.md).

## Koneksi output dan aliran data

Laporan **Logika IF/THEN** node menciptakan dua jalur output yang berbeda berdasarkan hasil evaluasi ekspresi.

<figure><img src="/files/e655068c201975f43d10e10b0ffc9e16d38c8b32" alt="IF/THEN Logic node showing THEN and ELSE connections with green and red color coding"><figcaption></figcaption></figure>

### Koneksi THEN (<mark style="color:hijau;">hijau</mark>)

* **Aktif ketika**: Ekspresi logika mengembalikan `benar`.
* **Persyaratan koneksi**: Wajib — setiap node IF/THEN Logic harus memiliki setidaknya satu output THEN.
* **Beberapa koneksi**: Dapat terhubung ke beberapa node berikutnya untuk pemrosesan paralel.
* **Penggunaan umum**: Memicu peringatan, pemrosesan khusus, perhitungan kondisional, atau mengarahkan data ke endpoint tertentu.

### Koneksi ELSE (<mark style="color:merah;">merah</mark>)

* **Aktif ketika**: Ekspresi logika mengembalikan `salah`, `null`, atau mengalami kesalahan evaluasi.
* **Persyaratan koneksi**: Opsional — gunakan hanya ketika Anda perlu menangani hasil negatif.
* **Penanganan kesalahan**: Memproses kasus ketika ekspresi tidak dapat dievaluasi karena data hilang atau kesalahan sintaks.
* **Penggunaan umum**: Mencatat validasi yang gagal, mengarahkan data melalui jalur pemrosesan alternatif, atau melanjutkan operasi normal.

### **Persyaratan node terminal**

Saat menghubungkan ke node terminal ([Tindakan](/docs/user/id/guide/account/iot-logic/nodes/action-node.md), [Webhook](/docs/user/id/guide/account/iot-logic/nodes/webhook-node.md)) yang tidak mendukung koneksi keluar, buat koneksi paralel untuk memastikan baik node terminal maupun Output Endpoint menerima data:

<figure><img src="/files/f1884f7b821a32dc165fddd26d3b98a6e31e1c9c" alt=""><figcaption></figcaption></figure>

**Mengapa kedua cabang memerlukan Output Endpoint:**

* Memastikan persistensi data dan visibilitas sistem
* Memungkinkan validasi alur
* Kedua cabang dapat menggunakan node Output Endpoint yang sama

{% hint style="danger" %}
**Kesalahan validasi:** Alur tanpa Output Endpoint pada semua cabang akan gagal disimpan dengan kesalahan tersebut.
{% endhint %}

## Pertanyaan yang sering diajukan

#### Dapatkah saya menggunakan atribut yang dibuat oleh node lain dalam ekspresi IF/THEN Logic?

Ya. **Logika IF/THEN** node dapat mereferensikan atribut apa pun yang tersedia dari sumber data yang terhubung, termasuk parameter perangkat asli dan atribut yang dihitung oleh **Inisiasi Atribut** node sebelumnya. Fitur autocomplete membantu Anda memilih dari semua atribut yang tersedia.

#### Apa yang terjadi jika ekspresi saya mengandung kesalahan sintaks?

Jika sebuah ekspresi mengandung kesalahan sintaks atau tidak dapat dievaluasi, **Logika IF/THEN** node memperlakukan hasilnya sebagai `salah` dan mengarahkan data melalui koneksi ELSE. Periksa sintaks ekspresi dan pastikan semua atribut yang direferensikan ada dalam aliran data Anda.

#### Dapatkah saya menghubungkan beberapa node ke output node IF/THEN Logic yang sama?

Ya. Koneksi THEN dan ELSE sama-sama mendukung banyak koneksi keluar, sehingga Anda dapat memicu beberapa tindakan berbeda berdasarkan kondisi logika yang sama. Ini memungkinkan pemrosesan paralel untuk alur kerja bisnis yang kompleks.

#### Bagaimana cara memantau hasil node IF/THEN Logic?

Hasil node IF/THEN Logic muncul sebagai atribut boolean di [Data Stream Analyzer](/docs/user/id/guide/account/iot-logic/data-stream-analyzer.md) tabel. Pilih perangkat Anda dan cari nama atribut yang Anda tentukan di kolom nama ekspresi. Nilainya akan ditampilkan sebagai `benar` atau `salah` berdasarkan hasil evaluasi.

#### Dapatkah saya merangkai beberapa node IF/THEN Logic bersama-sama?

Ya. Anda dapat menghubungkan **Logika IF/THEN** node secara berurutan untuk membuat pohon keputusan yang kompleks. Setiap **Logika IF/THEN** node dapat mereferensikan atribut boolean yang dibuat oleh **Logika IF/THEN** node sebelumnya, sehingga memungkinkan alur kerja validasi multi-tahap yang canggih.

<figure><img src="/files/7f27ce2baa146d878efcacb85f217438940f163c" alt="Example flow showing multiple IF/THEN Logic nodes connected in sequence for complex decision trees"><figcaption></figcaption></figure>

#### Mengapa cabang IF/THEN Logic harus terhubung ke Output Endpoint?

Setiap cabang IF/THEN Logic harus berakhir di Output Endpoint untuk validasi aliran data dan visibilitas sistem. Saat menggunakan node terminal (Action, Webhook) yang tidak mendukung koneksi keluar, buat koneksi paralel dari node IF/THEN Logic langsung ke Output Endpoint. Kedua cabang dapat menggunakan Output Endpoint yang sama jika diperlukan.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://navixy.com/docs/user/id/guide/account/iot-logic/nodes/logic-node.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
