Memahami Perbedaan Bahasa Pemrograman PLC: LD, FBD, ST, dan IL untuk Otomasi Industri

Dalam merancang sistem kontrol berbasis Programmable Logic Controller (PLC), pemilihan bahasa pemrograman yang tepat menentukan efisiensi eksekusi program, kemudahan troubleshooting, dan biaya perawatan jangka panjang. Standar internasional IEC 61131-3 menetapkan beberapa bahasa pemrograman standar untuk kontroler industri, yang paling umum digunakan adalah Ladder Diagram (LD), Function Block Diagram (FBD), Structured Text (ST), dan Instruction List (IL).
Meskipun semua bahasa tersebut dapat menghasilkan logika kontrol yang sama di tingkat pengolahan memori, struktur sintaksis dan cara penyajiannya sangat berbeda. Artikel ini membedah arsitektur, keunggulan, serta studi skrip komparatif untuk setiap bahasa.
1. Ladder Diagram (LD) – Visualisasi Logika Berbasis Relai Kelistrikan
Ladder Diagram adalah bahasa pemrograman PLC yang paling populer karena mengadopsi simbol diagram skematik relai (relay ladder logic). Struktur program disusun secara vertikal menyerupai tangga, di mana garis vertikal kiri mewakili saluran daya (power rail) dan garis vertikal kanan mewakili netral.
Karakteristik & Penggunaan
- Visualisasi: Menggunakan kontak normally open (NO), normally closed (NC), dan coil.
- Kelebihan: Sangat mudah dipahami oleh teknisi listrik lapangan tanpa latar belakang pemrograman komputer.
- Kekurangan: Tidak efisien untuk kalkulasi matematika kompleks, manipulasi string, atau pemrosesan array data.
Contoh Skrip Logika (Motor Start/Stop Latch)

Rung Ladder Diagram ini adalah representasi visual paling dasar dari sistem pengunci (latching/self-holding circuit) yang dilengkapi proteksi interlock di PLC.
Anatomi Simbol dalam Rung
- | | (Normally Open / NO): Kontak sakelar terbuka. Arus listrik logika hanya bisa lewat kalau sinyalnya bernilai 1 (ditekan atau diaktifkan).
- |/| (Normally Closed / NC): Kontak sakelar tertutup saat kondisi normal. Arus listrik logika bisa lewat selama sinyal bernilai 0 (tidak ditekan/tidak ada gangguan).
- ( ) (Output Coil): Kumparan output fisik yang akan bernilai 1 (ON/Menyala) jika ada jalur arus kontinu dari rail paling kiri.
Detail Alur Kerja Logika
- Jalur ParalelStart&Motor(Fungsi Latching)
- Tombol Start dipasang sejajar (paralel) dengan kontak bantu Motor.
- Saat Start ditekan (1), arus mengalir melewati Start $\rightarrow$ Stop $\rightarrow$ Fault $\rightarrow$ memicu Coil Motor menyala (1).
- Begitu Coil Motor menyala, kontak NO Motor di jalur bawah ikut menutup (1).
- Saat tombol Start dilepas (0), arus listrik logika tidak terputus karena berpindah mengalir lewat jalur bawah (kontak Motor). Ini yang membuat motor tetap menyala tanpa perlu menahan tombol terus-menerus.
- KontakStop(|/|) – Pemutus Kuncian
- Dipasang secara seri menggunakan kontak Normally Closed.
- Dalam kondisi normal (tidak ditekan), nilai variabel Stop adalah 0, sehingga kontak |/| tetap tertutup dan membiarkan arus lewat.
- Saat tombol Stop ditekan (1), kontak |/| akan terbuka. Jalur arus terputus total, Coil Motor mati (0), dan kuncian di jalur bawah otomatis lepas.
- KontakFault(|/|) – Proteksi Utama
- Berfungsi sebagai pengaman (misalnya terhubung ke thermal overload relay atau sensor suhu).
- Selama sistem aman (Fault = 0), kontak tetap tertutup.
- Jika terjadi masalah di lapangan (Fault = 1), kontak |/| akan langsung terbuka dan mematikan motor seketika, mengabaikan status tombol Start maupun kuncian Motor.
Matriks Simulasi Kondisi
| Aksi / Status | Start | Kontak Motor | Stop (Input) | Fault (Input) | Output Motor |
| Standby | 0 (Buka) | 0 (Buka) | 0 (NC Tutup) | 0 (NC Tutup) | OFF |
| Tekan Start | 1 (Tutup) | 0 $\rightarrow$ 1 | 0 (NC Tutup) | 0 (NC Tutup) | ON |
| Lepas Start | 0 (Buka) | 1 (Tutup) | 0 (NC Tutup) | 0 (NC Tutup) | ON (Terkunci) |
| Tekan Stop | 0 (Buka) | 1 $\rightarrow$ 0 | 1 (NC Buka) | 0 (NC Tutup) | OFF |
| Trip / Fault | 0 (Buka) | 1 $\rightarrow$ 0 | 0 (NC Tutup) | 1 (NC Buka) | OFF (Trip) |
Pola logika ladder seperti ini adalah fondasi standar di industri untuk mengontrol magnetic contactor motor 3-fase secara aman.
2. Function Block Diagram (FBD) – Pemrosesan Sinyal Berbasis Blok Logika
Function Block Diagram menyajikan program dalam bentuk blok-blok fungsi terintegrasi yang dihubungkan oleh garis sinyal. FBD merepresentasikan aliran data secara kontinu dari input di sebelah kiri menuju output di sebelah kanan.
Karakteristik & Penggunaan
- Visualisasi: Blok fungsi gerbang logika (AND, OR, NOT), timer, counter, serta blok PID.
- Kelebihan: Sangat intuitif untuk sistem kontrol proses linier, pengolahan sinyal analog, dan sistem keamanan (safety systems).
- Kekurangan: Konsumsi ruang layar cukup besar saat program menjadi sangat kompleks, sehingga menyulitkan navigasi.
Contoh Skrip Logika (Motor Start/Stop Latch)

Diagram FBD (Function Block Diagram) ini adalah logika Start/Stop Latching dengan Interlock Proteksi (Stop & Fault) untuk mengontrol output Motor. Sinyal mengalir dari kiri (Input) ke kanan (Output) melalui 3 tahapan logika:
1. Tahap Inisiasi & Pengunci (Blok OR)
- Input: Tombol Start dan sinyal feedback status Motor.
- Cara kerja: Blok OR bernilai 1 (TRUE) jika tombol Start ditekan atau jika Motor sedang aktif.
- Fungsi: Membuat sistem latching (pengunci). Saat tombol Start dilepas, sinyal dari blok OR tetap bernilai 1 karena mengunci status dari Motor yang sedang running.
2. Tahap Interlock Tombol Stop (Blok NOT + AND Pertama)
- Input: Output dari Blok OR dan sinyal tombol Stop yang dilewatkan ke gerbang NOT.
- Cara kerja: Sinyal Stop dibalik nilainya oleh gerbang NOT. Pada kondisi normal (tombol Stop tidak ditekan = 0), output NOT bernilai 1.
- Hasil AND Pertama: Motor hanya bisa dapat sinyal maju jika (Start/Motor aktif) AND (Stop tidak ditekan). Begitu tombol Stop ditekan (1), output NOT menjadi 0, memutus sinyal di blok AND pertama dan mematikan pengunci.
3. Tahap Proteksi Sistem (Blok NOT + AND Kedua)
- Input: Output dari Blok AND Pertama dan sinyal Fault (misal dari thermal overload) yang dilewatkan ke gerbang NOT.
- Cara kerja: Sinyal Fault dibalik nilainya oleh gerbang NOT. Saat kondisi aman (Fault = 0), output NOT bernilai 1.
- Hasil AND Kedua: Menjadi pengaman tahap akhir. Motor hanya menyala jika jalur dari perintah Start/Stop aman DAN tidak ada fault pada sistem (Fault = 0).
4. Eksekusi Output (Motor)
- Sinyal logika akhir mengaktifkan output fisik Motor. Nilai ini sekaligus dikirim kembali ke input Blok OR di tahap awal sebagai sinyal pengunci.
Simulasi Alur Kerja di Lapangan:
- Start Ditekan: Start (1) $\rightarrow$ OR (1) $\rightarrow$ NOT Stop (1) $\rightarrow$ AND1 (1) $\rightarrow$ NOT Fault (1) $\rightarrow$ Motor Menyala (1).
- Start Dilepas: Start (0), tapi Motor (1) $\rightarrow$ OR tetap (1) $\rightarrow$ Motor Tetap Menyala (Latching bekerja).
- Stop Ditekan: Stop (1) $\rightarrow$ NOT Stop (0) $\rightarrow$ AND1 (0) $\rightarrow$ Motor Mati (0) (Sinyal pengunci putus).
- Terjadi Overload/Trouble: Fault (1) $\rightarrow$ NOT Fault (0) $\rightarrow$ AND2 (0) $\rightarrow$ Motor Mati Seketika (Proteksi aktif, mengabaikan status Start/Stop).
3. Structured Text (ST) – Pemrograman Tingkat Tinggi Berbasis Teks
Structured Text adalah bahasa pemrograman berbasis teks berstruktur tinggi yang mirip dengan bahasa Pascal atau C. ST dirancang untuk menangani tugas-tugas algoritmik kompleks yang sulit dieksekusi oleh bahasa berbasis grafis.
Karakteristik & Penggunaan
- Visualisasi: Menggunakan perintah kondisional seperti IF-THEN-ELSE, CASE, serta perulangan FOR, WHILE.
- Kelebihan: Efisien untuk operasi matematika kompleks, komunikasi protokol data, penanganan matriks, dan resep produksi (recipe management).
- Kekurangan: Membutuhkan pemahaman pemrograman berbasis teks dan lebih sulit di-debug secara visual oleh teknisi lapangan.
Contoh Skrip Logika (Motor Start/Stop Latch)

Baris kode Structured Text (ST) ini adalah sistem kontrol Start/Stop Latching dengan proteksi interlock versi paling ringkas. Semua logika pengunci, pemutus, dan pengaman yang biasanya butuh beberapa rung di Ladder Diagram diringkas menjadi satu ekspresi matematika boolean.
Anatomi dan Komponen Kode
- Motor := Ini adalah operator penetapan (assignment). Hasil kalkulasi logika di sebelah kanan tanda := akan langsung dikirim untuk mengeksekusi status output Motor (TRUE atau FALSE).
- (Start OR Motor) — Fungsi Pengunci (Latching) Ekspresi di dalam kurung dievaluasi paling awal. Nilainya akan TRUE jika tombol Start ditekan ATAU jika Motor sudah dalam kondisi menyala. Begitu Motor aktif, status Motor = TRUE akan “mengunci” dirinya sendiri sehingga tombol Start aman untuk dilepas.
- AND NOT Stop — Interlock Pemutus Bagian ini memastikan tombol Stop sedang tidak aktif (Stop = FALSE). Jika tombol Stop ditekan (TRUE), maka NOT Stop berubah menjadi FALSE. Karena menggunakan gerbang AND, nilai FALSE ini akan langsung mematikan seluruh hasil ekspresi dan merusak kuncian latching.
- AND NOT Fault — Interlock Proteksi Utama Bagian ini berfungsi sebagai pengaman sistem (misalnya dari thermal overload atau emergency stop). Jika ada masalah (Fault = TRUE), maka NOT Fault bernilai FALSE. Sistem akan mematikan motor secara instan tanpa peduli status Start maupun Motor.
Simulasi Evaluasi Logika di Lapangan
| Kondisi Sistem | Evaluasi Logika pada Program | Status Output (Motor) |
| Tekan Start | (1 OR 0) AND NOT 0 AND NOT 0 $\rightarrow$ 1 AND 1 AND 1 | MENYALA (TRUE) |
| Lepas Start | (0 OR 1) AND NOT 0 AND NOT 0 $\rightarrow$ 1 AND 1 AND 1 | TETAP MENYALA (Terkunci oleh Motor) |
| Tekan Stop | (0 OR 1) AND NOT 1 AND NOT 0 $\rightarrow$ 1 AND 0 AND 1 | MATI (FALSE) (Kuncian terputus) |
| Terjadi Fault | (0 OR 1) AND NOT 0 AND NOT 1 $\rightarrow$ 1 AND 1 AND 0 | MATI SEKETIKA (Proteksi trip) |
Catatan Kritis untuk Implementasi Script
- Tanda Kurung Wajib Ada: Dalam standar IEC 61131-3, operator AND mempunyai hirarki (precedence) lebih tinggi dibanding OR. Tanpa tanda kurung pada (Start OR Motor), PLC bakal mengeksekusi Motor AND NOT Stop AND NOT Fault dulu baru di-OR dengan Start. Hasilnya, kuncian motor bakal gagal total.
- Kondisi Fisik Tombol Stop (Hardware vs Software): Skrip NOT Stop di atas mengasumsikan input tombol fisik di lapangan berupa Normally Open (NO). Kalau di lapangan pakai standar safety industri dengan tombol fisik Normally Closed (NC), logikanya di skrip bisa diubah menjadi AND Stop (tanpa NOT).
4. Instruction List (IL) – Bahasa Asembler Rendah untuk Eksekusi Cepat
Instruction List adalah bahasa pemrosesan berbasis baris teks sederhana yang menyerupai bahasa Assembly. IL bekerja dengan prinsip accumulator-based instruction execution.
Karakteristik & Penggunaan
- Visualisasi: Perintah urut satu per baris (misalnya LD, AND, ST).
- Kelebihan: Kecepatan eksekusi yang tinggi dan penggunaan memori yang sangat minim pada hardware PLC skala kecil.
- Kekurangan: Sulit dibaca, rentan terhadap kesalahan penulisan, dan secara resmi mulai dikurangi penggunaannya (deprecated) pada pembaruan standar IEC 61131-3 modern.
Contoh Skrip Logika (Motor Start/Stop Latch)

Tabel Komparasi Pemilihan Bahasa Pemrograman PLC
| Kriteria | Ladder Diagram (LD) | Function Block (FBD) | Structured Text (ST) | Instruction List (IL) |
| Bentuk Tampilan | Grafis (Relai) | Grafis (Blok) | Teks Berstruktur | Teks Asembler |
| Kemudahan Troubleshooting | Sangat Tinggi | Tinggi | Sedang | Rendah |
| Kalkulasi Matematika | Terbatas | Sedang | Sangat Tinggi | Rendah |
| Aplikasi Ideal | Logika Kontrol Diskrit | Kontrol Proses & PID | Algoritma & Olah Data | Operasi Memori Kecil |
| Tingkat Adopsi Industri | Sangat Dominan | Dominan | Meningkat Pesat | Menurun (Deprecated) |
Optimalisasi Otomasi Industri Bersama Folks Automation
Kesesuaian bahasa pemrograman yang dipilih harus didukung oleh keandalan pemrosesan hardware PLC di lapangan. Folks Automation hadir sebagai perusahaan PLC buatan lokal pertama di Indonesia yang berpengalaman dalam penggunaan PLC untuk sistem otomasi industri.
Sebagai produsen dalam negeri, Folks Automation mengembangkan ekosistem PLC yang dirancang fleksibel untuk mendukung arsitektur IEC 61131-3. Hal ini memungkinkan para insinyur mengombinasikan berbagai bahasa pemrograman seperti menggunakan Structured Text untuk perhitungan kalkulasi presisi dan Ladder Diagram untuk interlock keselamatan dalam satu sistem kontrol yang terintegrasi. Keunggulan integrasi hardware dan software dari Folks Automation meliputi:
- Pemrosesan Waktu Nyata: Kecepatan eksekusi instruksi yang stabil untuk aplikasi berkecepatan tinggi.
- Dukungan Arsitektur Lokal: Ketersediaan tim rekayasa (engineering team) lokal yang siap membantu pemrograman dan pengujian logika sistem secara langsung.
- Efisiensi Integrasi: Kemudahan konektivitas dengan modul I/O analog, digital, maupun protokol komunikasi industri standar.
Konsultasikan Sistem Otomasi Anda
Apakah tim Anda sedang merancang arsitektur kontrol baru, mengalami kendala dalam konversi program PLC, atau membutuhkan optimasi logika sistem produksi? Tim ahli Folks Automation siap memberikan pendampingan teknis, mengevaluasi efisiensi program, dan merancang solusi PLC yang paling sesuai dengan kebutuhan spesifik di pabrik Anda. Diskusi langsung dengan tim teknis Folks Automation melalui kontak WhatsApp resmi di nomor: +62 821-1404-4968

