Pengertian Macro Programming CNC: Dasar, Contoh, dan Cara Kerjanya

macro programming
  • Post published:May 7, 2026
  • Post author:
  • Reading time:6 mins read

Pernahkah Anda merasa frustrasi karena harus menulis ulang G-Code yang hampir identik untuk setiap variasi produk? Saya pernah. Dan saat itulah saya pertama kali berkenalan dengan Macro Programming, dan sejak itu, tidak bisa kembali ke cara lama.

Macro Programming bukan sekadar fitur tambahan di mesin CNC. Ini adalah cara berpikir yang berbeda: dari kode statis yang kaku menjadi logika dinamis yang bisa beradaptasi. Kalau G-Code standar itu seperti resep masakan yang harus diikuti persis, Macro itu seperti punya chef yang bisa menyesuaikan resep sesuai bahan yang tersedia.

Di artikel ini, Anda akan mempelajari apa itu Macro Programming, bagaimana cara kerjanya, dan bagaimana menulisnya dari nol, lengkap dengan contoh nyata dari lantai produksi.

G-Code Standar vs Macro: Apa Bedanya?

I/O Board CNC untuk memasukkan Program CNC

G-Code standar bekerja dengan instruksi tetap. Anda tentukan koordinat, kecepatan, dan kedalaman potong, mesin mengikutinya. Sederhana, tetapi terbatas.

Macro Programming menambahkan lapisan logika di atasnya. Dengan Macro, Anda dapat menggunakan:

  • Variabel ,  untuk menyimpan nilai yang berubah-ubah
  • Operasi matematika ,  untuk menghitung parameter secara otomatis
  • Fungsi kontrol seperti IF, GOTO, dan WHILE ,  untuk membuat keputusan logis

Bayangkan Anda memproduksi 10 varian baut dengan diameter berbeda tetapi pola pengeboran yang sama. Dengan G-Code biasa, Anda harus menulis 10 program terpisah. Dengan Macro, cukup satu program, dan tinggal ganti satu variabel.

Perbandingan G-Code Standar vs Macro Programming:

AspekG-Code StandarMacro Programming
FleksibilitasRendahTinggi
Kemampuan logikaTidak adaIF / GOTO / WHILE
Penggunaan variabelTidak adaYa (#1 – #999)
Cocok untuk seri produkKurang efisienSangat efisien

Komponen Utama Macro Programming

1. Variabel (#)

Variabel adalah fondasi dari Macro. Di mesin Fanuc, variabel ditulis dengan tanda # diikuti angka. Ada tiga jenis yang perlu dipahami:

  • #1 ,  variabel lokal, berlaku hanya dalam satu program
  • #100 ,  variabel umum, dapat diakses antar program
  • #500 ,  variabel permanen, tersimpan meski mesin dimatikan

Contoh penggunaan variabel dalam program pengeboran:

#1 = 25.0          (diameter = 25mm)

#2 = -15.0         (kedalaman = 15mm)

G81 X0 Y0 Z#2 R2.0 F150   (siklus pengeboran dengan kedalaman dari variabel)

2. Operasi Matematika

Macro mendukung operasi matematika standar yang sangat berguna untuk menghitung parameter secara otomatis:

  • #3 = #1 / 2  →  membagi diameter untuk mendapatkan radius
  • #4 = #3 * 3.14159  →  menghitung keliling
  • #5 = SQRT[#1]  →  menghitung akar kuadrat

Kemampuan ini sangat berguna untuk menghitung titik-titik pada pola melingkar secara otomatis, tanpa perlu kalkulator manual.

3. Fungsi Kontrol Logika (IF / GOTO / WHILE)

Fungsi inilah yang membuat Macro benar-benar powerful. Ada dua yang paling sering digunakan:

IF / GOTO ,  melompat ke baris tertentu jika kondisi terpenuhi:

IF [#1 GT 50] GOTO 100     (jika diameter > 50, lompat ke N100)

WHILE / DO ,  mengulang blok kode selama kondisi terpenuhi:

WHILE [#10 LE 5] DO 1

  (lakukan pemesinan)

  #10 = #10 + 1

END 1

Panduan Langkah demi Langkah: Menulis Macro Pertama Anda

Mari kita buat program sederhana untuk pengeboran berulang pada beberapa titik di sumbu X, dengan jarak antar lubang yang dapat disesuaikan.

Langkah 1 , Tentukan variabel

Definisikan semua parameter di awal program agar mudah dimodifikasi:

#100 = 0.0     (posisi X awal)
#101 = 20.0    (jarak antar lubang)
#102 = 5       (jumlah lubang)
#103 = -10.0   (kedalaman pengeboran)
#104 = 0       (counter)

Langkah 2 , Buat loop pengeboran

Gunakan logika IF/GOTO untuk mengulang siklus pengeboran secara otomatis:

N10 IF [#104 GE #102] GOTO 20
G81 X#100 Y0 Z#103 R2.0 F100
#100 = #100 + #101
#104 = #104 + 1
GOTO 10
N20 G80
M30

Hasilnya? Lima lubang pada posisi X = 0, 20, 40, 60, dan 80 mm. Ingin 10 lubang? Cukup ganti #102 = 10. Jarak 30mm? Ganti #101 = 30. Satu program, banyak konfigurasi.

Contoh Kasus Nyata: Mengotomatiskan Siklus Pengeboran Kompleks

Mesin CNC Milling

Beberapa waktu lalu, saya mengerjakan komponen dengan pola 12 lubang melingkar berdiameter 80mm. Pendekatan manual berarti menghitung 12 koordinat X/Y dengan trigonometri, lalu memasukkannya satu per satu. Sangat rentan salah ketik, dan memakan waktu yang tidak sedikit.

Dengan Macro, seluruh logika itu dapat ditulis dalam satu struktur yang bersih:

#1 = 80.0 / 2    (radius lingkaran = 40mm)
#2 = 12          (jumlah lubang)
#3 = 360 / #2    (sudut antar lubang = 30°)
#4 = 0           (sudut awal)
#5 = 0           (counter)
N10 IF [#5 GE #2] GOTO 20
#6 = #1 * COS[#4]    (hitung koordinat X)
#7 = #1 * SIN[#4]    (hitung koordinat Y)
G81 X#6 Y#7 Z-15.0 R2.0 F120
#4 = #4 + #3
#5 = #5 + 1
GOTO 10
N20 G80

Program ini menghasilkan 12 lubang sempurna di sekitar lingkaran tanpa satu pun koordinat yang dihitung manual. Ingin 8 lubang? Ganti #2 = 8. Radius berbeda? Cukup ubah nilai #1.

Tips Pro & Kesalahan Umum yang Wajib Dihindari

Saya pernah membuat kesalahan yang menyebabkan pahat menabrak fixture karena variabel kedalaman tidak direset sebelum loop baru dimulai. Mesin berhenti, pahat rusak, dan waktu produksi terbuang. Dari pengalaman itu, ada beberapa hal penting yang perlu diperhatikan:

Tips yang Perlu Diterapkan

  • Selalu reset variabel counter sebelum loop dimulai, terutama jika program dipanggil berulang kali dalam sesi yang sama
  • Tambahkan batas atas pada loop WHILE agar mesin tidak masuk kondisi infinite loop yang bisa menyebabkan kerusakan
  • Gunakan variabel #500+ untuk parameter yang sering dipakai, seperti offset standar, karena nilainya tersimpan secara permanen
  • Tambahkan komentar pada setiap blok logika ,  Anda akan sangat berterima kasih pada diri sendiri tiga bulan kemudian ketika perlu memodifikasi program tersebut

Kesalahan Umum yang Sering Terjadi

  • Lupa inisialisasi variabel sehingga mesin membaca nilai sisa dari program sebelumnya, dan menghasilkan gerakan yang tidak terduga
  • Menggunakan GT (greater than) padahal seharusnya GE (greater or equal), sehingga satu iterasi terlewat dan jumlah lubang tidak sesuai
  • Tidak memverifikasi program dengan dry run sebelum memasang benda kerja sungguhan di mesin

Mulai Kuasai Macro Programming Sekarang

Macro Programming bukan topik yang bisa dikuasai dalam satu malam. Tetapi setiap operator CNC yang sudah mencobanya, termasuk saya, tidak akan mau kembali ke cara manual.

Berikut langkah praktis untuk memulai, dari yang paling dasar:

  • Pelajari struktur variabel mesin CNC yang Anda gunakan. Fanuc, Siemens, dan Mitsubishi memiliki sintaks yang sedikit berbeda, pahami yang relevan dengan mesin di tempat Anda bekerja
  • Mulai dari program sederhana ,  coba buat loop pengeboran lima titik sebelum beralih ke pola melingkar yang lebih kompleks
  • Manfaatkan simulator CNC seperti CIMCO Edit atau NC Viewer untuk menguji kode sebelum dijalankan di mesin yang sesungguhnya
  • Dokumentasikan setiap Macro yang berhasil Anda buat ,  ini akan menjadi pustaka kode yang sangat berharga untuk proyek-proyek berikutnya

Semakin Anda mendalami Macro Programming, semakin banyak peluang otomasi yang akan terlihat, dari siklus pemesinan berulang hingga pengukuran adaptif secara real-time. Ini bukan sekadar cara menulis kode lebih pintar. Ini adalah cara kerja yang lebih efisien.

Please Share This Article

Author
  • noval

    Saya (Noval) adalah Machining Expert juga sebagai Operasional Manager di Teknik Jaya Component. Ahli Praktek dan Teori di bidang CNC Bubut dan Milling machining. Sudah Lebih dari 10 tahun berpengalaman di bidang machining dan pembuatan spare part industrial. Termasuk juga, saya membuat konten-konten mengenai pengerjaan logam terutama teknik mesin industri sub-bidang machining. hubungi saya di noval@teknikjaya.co.id dan Linked in : Noval Abu Said

Leave a Reply