Selamat datang di langkah pertama Anda mempelajari Zig! Bagian ini akan menuntun Anda dari nol—mulai dari membuat proyek pertama, memahami struktur file, menulis kode, hingga membedah cara kerjanya secara mendetail. Panduan ini dirancang agar mudah dipahami oleh pemula, namun tetap memberikan kejelasan teknis yang dibutuhkan oleh programmer berpengalaman.


1. Inisialisasi Proyek Pertama#

Langkah pertama sebelum menulis kode adalah menyiapkan ruang kerja (workspace). Kita akan membuat sebuah folder khusus untuk proyek Zig kita.

Buka terminal (Command Prompt/PowerShell/Terminal) dan jalankan perintah berikut secara berurutan. Misalnya, kita akan membuat proyek bernama hello_world:

# 1. Membuat folder baru bernama hello_world
mkdir hello_world

# 2. Masuk ke dalam folder tersebut
cd hello_world

# 3. Menginisialisasi proyek Zig baru
zig init

Apa yang terjadi saat kita menjalankan zig init? Zig sangat praktis. Perintah ini secara otomatis men-setup struktur proyek standar untuk Anda, lengkap dengan file konfigurasi dan contoh kode siap pakai.


2. Membedah Struktur Proyek#

Setelah inisialisasi berhasil, jika Anda melihat isi folder hello_world, struktur file dan foldernya akan terlihat seperti ini:

hello_world/
├── build.zig
├── build.zig.zon
└── src/
    ├── main.zig
    └── root.zig

Mari kita bedah fungsi masing-masing file agar Anda tahu persis apa tugasnya:

  • src/main.zig Ini adalah Entry Point (titik awal) dari program Anda. Jika Anda membuat sebuah aplikasi yang bisa dijalankan (executable file), di sinilah kode utamanya ditulis dan dari sinilah program mulai dieksekusi.
  • src/root.zig Jika Anda membuat sebuah Library (pustaka kode yang akan digunakan oleh program lain), ini adalah file utamanya. Untuk program aplikasi biasa, Anda bisa mengabaikan atau bahkan menghapus file ini.
  • build.zig Ini adalah skrip pengaturan kompilasi (build script). Uniknya, file ini ditulis langsung menggunakan bahasa Zig, bukan format lain seperti Makefile atau CMake. File ini mengatur bagaimana proyek Anda di-compile, diuji (test), dan dijalankan.
  • build.zig.zon Zig Object Notation. Ini adalah file metadata proyek. Di sinilah tersimpan informasi nama proyek Anda, versi, dan daftar dependencies (paket/library pihak ketiga) yang Anda gunakan.

3. Menulis Kode Pertama Anda#

Mari kita bereksperimen. Buka file src/main.zig di teks editor Anda (seperti VS Code). Anda akan melihat banyak kode bawaan di sana.

Hapus semua kode tersebut, lalu tulis ulang (atau copy-paste) kode sederhana di bawah ini:

// Mengimpor Standard Library Zig
const std = @import("std");

// Fungsi utama program
pub fn main() !void {
    // Mencetak teks ke layar terminal
    std.debug.print("Assalamualaikum \n", .{});    
}

4. Memahami Baris demi Baris#

Bagi pemula, melihat sintaks baru bisa terasa membingungkan. Mari kita bedah (dekonstruksi) kode di atas kata demi kata:

Memanggil Library#

const std = @import("std");
  • const: Kata kunci (keyword) untuk membuat variabel konstan (nilainya tidak bisa diubah setelah dideklarasikan).
  • std: Nama variabel tempat kita menyimpan pustaka yang dipanggil.
  • @import("std"): Fungsi bawaan Zig (ditandai dengan simbol @) untuk memanggil Standard Library (pustaka alat bawaan Zig). Kita butuh ini agar bisa menggunakan fitur dasar seperti mencetak teks ke layar.

Mendeklarasikan Fungsi Utama#

pub fn main() !void {
  • pub: Singkatan dari public. Artinya, fungsi ini bisa dilihat dan diakses oleh sistem dari luar.
  • fn: Kata kunci untuk mendefinisikan sebuah fungsi (function).
  • main: Nama fungsi ini. Nama main bersifat wajib untuk program yang dieksekusi; ini memberi tahu sistem operasi, “Mulai jalankan program dari sini!”
  • !void: Ini adalah tipe data kembalian (return type).
    • Simbol ! (Error Union) berarti fungsi ini berpotensi menghasilkan error saat dijalankan.
    • Kata void berarti jika program berjalan lancar tanpa error, fungsi ini tidak akan menghasilkan atau mengembalikan nilai data apa pun.

Mencetak Teks#

    std.debug.print("Assalamualaikum \n", .{});    
  • std.debug.print: Kita menggunakan namespace debug dari variabel std yang sudah kita buat di atas untuk memanggil fungsi print.
  • "Assalamualaikum \n": Teks utama yang ingin kita tampilkan.
    • Karakter \n (newline) berfungsi seperti tombol “Enter” di keyboard, gunanya agar setelah teks dicetak, kursor terminal pindah ke baris baru.
  • .{}: Ini adalah tempat untuk menyisipkan variabel (disebut anonymous struct). Fungsi print di Zig mewajibkan parameter ini. Karena teks kita murni hanya kalimat biasa tanpa variabel tambahan, kita cukup menuliskan kurung kurawal kosong .{}.

5. Cara Menjalankan Program#

Di Zig, ada dua cara utama untuk menjalankan kode Anda, tergantung pada situasi dan kebutuhan:

Menggunakan zig run (Untuk Eksperimen Cepat)#

Perintah ini sangat cocok ketika Anda sedang belajar atau hanya menguji satu file tunggal. Zig akan mengompilasi dan menjalankan file tersebut di memori tanpa meninggalkan file biner (.exe) yang mengotori folder Anda.

Coba jalankan perintah ini di terminal Anda:

zig run src/main.zig

Menggunakan zig build run (Standar Proyek)#

Ini adalah cara profesional untuk menjalankan proyek secara utuh. Perintah ini akan membaca file build.zig, mengompilasi seluruh proyek, menyimpannya di folder khusus (zig-out/), dan langsung menjalankannya.

Coba jalankan perintah ini di terminal Anda:

zig build run

Keduanya akan menghasilkan output yang sama di layar terminal Anda:

Assalamualaikum