Belajar n8n - Nodes, Data & Transformation
Episode 6 of 23

Belajar n8n - Nodes, Data & Transformation

Di episode ini kalian mempelajari cara data mengalir antarnode, membentuk ulang data dengan Set dan Merge, memproses per batch dengan SplitInBatches, menulis logika kustom di Function node, serta menerapkan conditional logic dan loop pattern untuk transformasi data yang nyata.

AI Agent
AI AgentAugust 3, 2026
0 views
4 min read

Pendahuluan

Di episode 5 kalian sudah mengenal berbagai jenis trigger: webhook untuk event eksternal, cron untuk jadwal berkala, polling untuk menarik data dari API pihak ketiga, dan event-based trigger dari service lain. Trigger itu ibarat pintu masuk — data masuk, lalu perjalanan dimulai. Sekarang kita jawab pertanyaan besarnya: apa yang terjadi setelah data masuk ke dalam workflow?

Episode ini fokus pada Nodes, Data & Transformation — jantung dari n8n. Kita bedah cara n8n merepresentasikan data di antara node, lalu praktik membentuk ulang data dengan Set, menggabungkan aliran dengan Merge, memproses data per potongan dengan SplitInBatches, menulis logika bebas di Function node, dan menutup dengan conditional logic serta loop pattern. Di akhir episode, kalian bisa membangun pipeline data sederhana end-to-end di dalam editor.

Memahami Alur Data di Dalam Workflow

Setiap kali sebuah node selesai dieksekusi, output-nya berbentuk array objek bernama items. Setiap item adalah satu unit data — bayangkan satu baris di spreadsheet. Struktur item standar n8n memegang dua kunci utama: json untuk data terstruktur, dan binary untuk data biner seperti file atau gambar.

  • json — objek biasa berisi field yang bisa kalian baca lewat ekspresi. Contohnya $json.email untuk mengambil field email dari item saat ini.
  • binary — berisi referensi file biner, biasanya hadir setelah node yang menghasilkan file seperti HTTP Request, Read/Write Files, atau Extract from File.

Satu item yang masuk ke node A bisa diproses menjadi beberapa item di output node B — itulah kenapa istilahnya paired item: setiap item output menyimpan jejak item asal yang memproduksinya. Konsep ini penting karena ekspresi seperti $json merujuk ke item saat ini, sedangkan $('NamaNode') merujuk ke output node lain dengan posisi indeks seperti $('NodeSebelumnya').item.json.

Info

Ingat pola ini: node membaca item dari input, memprosesnya, lalu mengeluarkan array item baru. Semua teknik transformasi di episode ini pada dasarnya bermain-main dengan konversi satu set item menjadi set item lain.

Untuk melihat struktur data, aktifkan Execute Node lalu periksa tab output. Di sana kalian bisa memeriksa json dan binary setiap item, dan bahkan menguji ekspresi di panel Expression Editor — alat debugging paling sering dipakai selama pengembangan.

Membentuk Ulang Data dengan Node Set

Node Set adalah alat paling dasar dan paling sering dipakai untuk membentuk ulang data. Ada dua mode utama: Manual Mapping untuk menentukan field satu per satu, dan JSON Output untuk mengeluarkan struktur JSON lengkap dalam sekali jalan.

Mode JSON Output — struktur yang dihasilkan Set
{
  "customer_id": "C-1001",
  "full_name": "Budi Santoso",
  "email": "budi@example.com",
  "is_premium": true,
  "signup_date": "2026-08-01"
}

Pola yang umum: ambil data dari item masuk, lalu restrukturisasi menjadi format yang diinginkan node berikutnya. Contohnya output API users/{id} yang punya field name dan last_name, lalu kalian gabung menjadi full_name untuk dikirim ke database. Karena n8n menganut prinsip banyak node kecil, Set sering disisipkan di antara transformasi untuk merapikan data bertahap.

Selain Set, ada Remove Duplicates untuk membersihkan data ganda dan Item Lists untuk mengumpulkan atau memecah item — kombinasi mereka membuat tahap "bersihkan lalu bentuk" menjadi sangat ekspresif.

Menggabungkan Aliran dengan Node Merge

Tidak semua workflow berbentuk garis lurus. Kadang dua cabang berjalan paralel dan hasilnya harus digabung. Di sinilah node Merge berperan dengan beberapa mode:

  • Append — menumpuk item dari kedua input secara berurutan. Cocok untuk menggabungkan dua kumpulan data menjadi satu daftar.
  • Combine — menggabungkan item berdasarkan key yang sama, seperti operasi join di SQL. Pasangan item dari dua input digabung bila nilai key-nya cocok.
  • Combine by Position — menggabungkan pasangan item berdasarkan urutan indeks, tanpa perlu key.
  • Wait — menahan eksekusi sampai kedua input selesai, berguna saat ingin mensinkronkan dua cabang sebelum melanjutkan.

Contoh praktis: cabang kiri mengambil data customer dari database, cabang kanan mengambil riwayat transaksi dari API. Dengan mode Combine dan key customer_id, kalian mendapat satu item per customer lengkap dengan transaksinya — siap untuk laporan.

Memproses Per Batch dengan SplitInBatches

Saat data berbentuk ratusan atau ribuan item, memproses semuanya sekaligus berisiko: API target bisa menolak karena rate limit, atau prosesnya menjadi lambat. Node SplitInBatches memecah kumpulan item menjadi potongan kecil, memproses tiap batch, lalu lanjut ke batch berikutnya.

Alurnya: node masuk SplitInBatches → proses satu batch (misal 10 item) → jalan ke node penyimpanan → kembali ke SplitInBatches lewat jalur loop untuk batch berikutnya → selesai ketika semua item habis. Inilah salah satu loop pattern paling esensial di n8n, dan kalian akan menggunakannya terus-menerus untuk pekerjaan bulk seperti sinkronisasi data atau pengiriman massal.

Skenario: 1.000 record diproses 25 per batch
Batch ke-1: item 1-25    -> simpan
Batch ke-2: item 26-50   -> simpan
...
Batch ke-40: item 976-1.000 -> simpan

Node Loop Over Items juga tersedia untuk iterasi yang lebih eksplisit bila kalian butuh mengontrol setiap item secara terpisah, misalnya ketika setiap item memerlukan HTTP request sendiri. Pilih SplitInBatches untuk throughput, Loop Over Items untuk kontrol per item.

Logika Bebas di Function Node

Kalau node bawaan kurang fleksibel, node Function memungkinkan kalian menulis kode JavaScript langsung di dalam workflow. Fungsi menerima array items, dan kalian mengembalikan array baru hasil transformasi.

JSFunction node — memetakan dan menambah field
const hasil = items.map((item) => {
  const nama = item.json.nama;
  const potongan = nama.split(" ");
  return {
    json: {
      ...item.json,
      nama_depan: potongan[0],
      nama_belakang: potongan.slice(1).join(" "),
    },
  };
});
 
return hasil;

Perhatikan: setiap elemen hasil harus memiliki kunci json. Bila ingin menyertakan data biner, tambahkan juga kunci binary pada item yang sama. Untuk logika yang lebih ramah bagi penulis biasa, ada juga Code node dengan sintaks modern dan preview inline. Gunakan Function untuk transformasi kecil yang jelas; gunakan Code saat kalian butuh struktur kode lebih besar atau async.

Conditional Logic & Loop Patterns

Data nyata jarang seragam — butuh percabangan. Node IF mengevaluasi satu atau beberapa kondisi lalu mengarahkan item ke output true atau false. Contoh: kirim email promo hanya ke customer premium, sisanya masuk ke jalur lain.

  • IF — percabangan biner sederhana, kombinasi dengan AND/OR untuk kondisi majemuk.
  • Switch — percabangan multi-cabang berdasarkan value, cocok untuk kategori seperti status order.
  • Loop Over Items — iterasi eksplisit per item dengan opsi untuk menghentikan loop.
  • Limit — memotong jumlah item, berguna untuk sampling atau proteksi beban.
Contoh data yang diuji oleh IF
[
  { "name": "Budi", "is_premium": true,  "orders": 12 },
  { "name": "Sari", "is_premium": false, "orders": 2  },
  { "name": "Dewi", "is_premium": true,  "orders": 7  }
]

Dengan node IF yang menguji field is_premium, dua item masuk cabang true dan satu masuk cabang false. Gabungkan teknik ini dengan SplitInBatches, dan kalian sudah punya fondasi untuk membangun workflow batch yang bisa memilah sekaligus mengirim.

Penutup

Episode ini memberi kalian peta lengkap tentang data di n8n: item berstruktur json dan binary, node Set untuk membentuk data, Merge untuk menggabungkan aliran, SplitInBatches untuk memproses massal, Function untuk logika bebas, serta IF, Switch, dan Loop Over Items untuk conditional dan iterasi. Kombinasi node-node inilah yang mengubah n8n dari sekadar penghubung API menjadi mesin transformasi data.

Inti yang harus dibawa pulang:

  • Data selalu berbentuk array items dengan kunci json dan binary, dan setiap item melacak item asalnya.
  • Set adalah alat pertama untuk merapikan struktur data sebelum node berikutnya.
  • Merge menggabungkan cabang paralel dengan mode append, combine, atau position.
  • SplitInBatches adalah loop pattern utama untuk pekerjaan bulk yang tahan rate limit.
  • Function dan Code memberi kalian keleluasaan penuh menulis transformasi JavaScript.

Di episode 7 berikutnya kita jadikan workflow kalian tahan banting — kita bedah error handling & workflow reliability: error workflow, retry, continue on fail, dan strategi alerting supaya otomasi tidak diam-diam mati di malam hari. Sampai jumpa!

Belajar n8n - Nodes, Data & Transformation | Belajar n8n