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 initApa 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.zigMari kita bedah fungsi masing-masing file agar Anda tahu persis apa tugasnya:
src/main.zigIni 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.zigJika 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.zigIni 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.zonZig 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. Namamainbersifat 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
voidberarti jika program berjalan lancar tanpa error, fungsi ini tidak akan menghasilkan atau mengembalikan nilai data apa pun.
- Simbol
Mencetak Teks#
std.debug.print("Assalamualaikum \n", .{}); std.debug.print: Kita menggunakan namespacedebugdari variabelstdyang sudah kita buat di atas untuk memanggil fungsiprint."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.
- Karakter
.{}: Ini adalah tempat untuk menyisipkan variabel (disebut anonymous struct). Fungsiprintdi 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.zigMenggunakan 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 runKeduanya akan menghasilkan output yang sama di layar terminal Anda:
Assalamualaikum