Zig adalah bahasa pemrograman modern serbaguna yang dirancang agar kuat, optimal, dan mudah dipelihara. Dengan fokus pada kesederhanaan dan kejelasan, Zig menyediakan kontrol tingkat rendah sambil menghindari alur kontrol dan alokasi tersembunyi. Tutorial ini akan memandu Anda melalui proses instalasi, membuat program Zig pertama Anda, dan menjalankan pengujian. Pada akhirnya, Anda akan memiliki dasar yang kuat untuk menjelajahi bahasa yang kuat ini lebih jauh.
Saat kita menjelajahi alat pengembang yang hebat, perlu disebutkan Apidog – alternatif terbaik untuk Postman untuk pengembangan dan pengujian API. Apidog menggabungkan dokumentasi API, desain, mock, pengujian, dan debugging ke dalam satu platform yang efisien.

Dengan antarmuka yang intuitif, fitur kolaboratif, dan integrasi kontrol versi yang mulus, Apidog secara drastis meningkatkan efisiensi alur kerja bagi pengembang yang bekerja dengan API. Rangkaian fiturnya yang komprehensif mencakup pengujian otomatis, manajemen lingkungan, perantaian permintaan, dan validasi respons cerdas, menjadikannya alat penting bagi tim pengembangan modern.

Sebelum menyelami pemrograman Zig, pertimbangkan untuk menambahkan Apidog ke toolkit pengembang Anda untuk meningkatkan produktivitas Anda secara keseluruhan saat bekerja dengan API dan layanan web.
Bagian 1: Menginstal Zig
Sebelum Anda dapat mulai memprogram di Zig, Anda perlu menginstal kompiler dan alat. Proses instalasi bervariasi tergantung pada sistem operasi Anda.
Menginstal di Linux
Anda memiliki dua opsi utama untuk menginstal Zig di Linux:
Opsi 1: Menggunakan pengelola paket distribusi Anda
Sebagian besar distribusi Linux utama mengemas rilis Zig terbaru. Ini seringkali merupakan pendekatan termudah:
# For Debian/Ubuntu
sudo apt install zig
# For Fedora
sudo dnf install zig
# For Arch Linux
sudo pacman -S zig
Opsi 2: Menginstal secara manual
Jika distribusi Anda tidak memiliki Zig atau Anda memerlukan versi tertentu:
Unduh versi Zig yang telah dibuat sebelumnya dari situs web resmi yang sesuai dengan arsitektur CPU Anda
Untuk memeriksa arsitektur Anda, gunakan:
uname -m
Ekstrak arsip menggunakan tar:
tar xf zig-linux-x86_64-0.13.0.tar.xz
Tambahkan biner Zig ke PATH Anda:
echo 'export PATH="$HOME/zig-linux-x86_64-0.13.0:$PATH"' >> ~/.bashrc
Terapkan perubahan:
source ~/.bashrc
Menginstal di Windows
Pengguna Windows memiliki beberapa opsi:
Opsi 1: Menggunakan pengelola paket
# Using Chocolatey
choco install zig
# Using Winget
winget install zig.zig
# Using Scoop
scoop install zig
Opsi 2: Instalasi manual
Unduh versi Zig yang telah dibuat sebelumnya untuk Windows yang sesuai dengan arsitektur CPU Anda (sebagian besar sistem Windows menggunakan x86_64/AMD64)
Periksa arsitektur Anda dengan:
$Env:PROCESSOR_ARCHITECTURE
Ekstrak file ZIP
Tambahkan Zig ke PATH Anda:
Untuk Pengguna Saat Ini:
[Environment]::SetEnvironmentVariable(
"Path",
[Environment]::GetEnvironmentVariable("Path", "User") + ";C:\\\\path\\\\to\\\\zig-windows-x86_64",
"User"
)
Untuk Seluruh Sistem:
[Environment]::SetEnvironmentVariable(
"Path",
[Environment]::GetEnvironmentVariable("Path", "Machine") + ";C:\\\\path\\\\to\\\\zig-windows-x86_64",
"Machine"
)
Tutup dan buka kembali terminal Anda
Menginstal di macOS
Cara termudah untuk menginstal Zig di macOS adalah menggunakan Homebrew:
brew install zig
Memverifikasi Instalasi Anda
Setelah instalasi, verifikasi bahwa Zig telah diinstal dengan benar dengan menjalankan:
zig version
Anda akan melihat output seperti:
0.13.0
Bagian 2: Hello, World! di Zig
Sekarang Zig telah diinstal, mari buat program Zig pertama Anda: contoh "Hello, World!" tradisional.
Membuat File Program
- Buat file baru bernama
main.zig
- Buka di editor teks pilihan Anda
- Tambahkan kode berikut:
const std = @import("std");
pub fn main() void {
std.debug.print("Hello, {s}!\\\\n", .{"World"});
}
Mari kita uraikan apa yang dilakukan kode ini:
const std = @import("std");
mengimpor pustaka standar Zigpub fn main() void {
mendeklarasikan fungsi utama yang bertindak sebagai titik masuk program Andastd.debug.print("Hello, {s}!\\\\n", .{"World"});
mencetak "Hello, World!" ke aliran kesalahan standar (stderr){s}
adalah penentu format untuk string, dan.{"World"}
adalah cara Zig meneruskan argumen ke penentu format
Menjalankan Program
Untuk membangun dan menjalankan program Anda, gunakan perintah berikut:
zig run main.zig
Ini mengkompilasi kode Anda dan menjalankannya segera. Anda akan melihat output:
Hello, World!
Catatan Penting tentang Pengkodean File
Zig memerlukan pengkodean UTF-8 untuk file sumber. Jika Anda menemukan kesalahan seperti invalid bytes
, file Anda mungkin memiliki pengkodean yang berbeda. Untuk memperbaiki ini:
zig fmt main.zig
Ini akan mengkodekan ulang file Anda sebagai UTF-8. Kemudian buka kembali file di editor Anda.
Bagian 3: Menjalankan Pengujian di Zig
Zig memiliki kerangka kerja pengujian bawaan yang memudahkan untuk menulis dan menjalankan pengujian. Memahami cara menggunakan pengujian sangat penting saat Anda mempelajari Zig, terutama karena banyak contoh dalam dokumentasi Zig disediakan sebagai pengujian.
Membuat Pengujian Sederhana yang Lulus
Mari buat file pengujian dasar:
- Buat file baru bernama
test_pass.zig
- Tambahkan kode berikut:
const std = @import("std");
const expect = std.testing.expect;
test "always succeeds" {
try expect(true);
}
Kode ini mengimpor modul pengujian, kemudian mendefinisikan pengujian bernama "always succeeds" yang mengharapkan true
menjadi benar (yang selalu benar).
Untuk menjalankan pengujian ini:
zig test test_pass.zig
Anda akan melihat output yang mirip dengan:
All 1 tests passed.
Membuat Pengujian yang Gagal
Sekarang, mari buat pengujian yang gagal untuk memahami bagaimana Zig menangani kegagalan pengujian:
- Buat file bernama
test_fail.zig
- Tambahkan kode berikut:
const std = @import("std");
const expect = std.testing.expect;
test "always fails" {
try expect(false);
}
Pengujian ini mengharapkan false
menjadi benar, yang jelas gagal.
Saat Anda menjalankan:
zig test test_fail.zig
Anda akan melihat output kesalahan seperti:
Test [1/1] test.always fails... FAIL (TestUnexpectedResult)
/usr/lib/zig/std/testing.zig:515:14: 0x2241ef in expect (test)
if (!ok) return error.TestUnexpectedResult;
^
[...]/test_fail:5:5: 0x224305 in test.always fails (test)
try expect(false);
^
0 passed; 0 skipped; 1 failed.
Memahami Penanganan Kesalahan dalam Pengujian
Kata kunci try
sangat penting dalam pengujian Zig. Ini mencoba menjalankan fungsi yang mungkin mengembalikan kesalahan. Jika kesalahan dikembalikan, itu menyebarkan kesalahan itu ke pemanggil.
Coba jalankan pengujian yang sama tanpa kata kunci try
:
test "will not compile correctly" {
expect(false);
}
Anda akan mendapatkan kesalahan kompiler karena Anda tidak menangani potensi kesalahan yang mungkin dikembalikan oleh expect()
.
Bagian 4: Dasar-Dasar Zig untuk Pemula
Variabel dan Konstanta
Di Zig, Anda mendefinisikan variabel dan konstanta sebagai berikut:
const std = @import("std");
pub fn main() void {
// Constant (cannot be changed)
const fixed_value = 42;
// Variable (can be changed)
var changeable_value = 10;
changeable_value = 20; // This is allowed
// You can specify types explicitly
const explicit_integer: i32 = 1234;
var explicit_float: f64 = 3.14159;
std.debug.print("Fixed: {d}, Changeable: {d}\\\\n",
.{fixed_value, changeable_value});
}
Tipe Data Dasar
Zig memiliki beberapa tipe data bawaan:
const std = @import("std");
pub fn main() void {
// Integers
const i: i32 = -42; // Signed 32-bit integer
const u: u32 = 42; // Unsigned 32-bit integer
// Floats
const f: f32 = 3.14; // 32-bit float
const d: f64 = 2.71828; // 64-bit float
// Boolean
const b: bool = true;
// Characters and strings
const c: u8 = 'A'; // Character (as integer)
const s: []const u8 = "Hello, Zig!"; // String (a slice of u8)
// Arrays with fixed size known at compile time
const arr = [5]u8{1, 2, 3, 4, 5};
std.debug.print("Integer: {d}, Float: {d}\\\\n", .{i, f});
std.debug.print("String: {s}\\\\n", .{s});
}
Fungsi
Fungsi di Zig didefinisikan menggunakan kata kunci fn
:
const std = @import("std");
// Basic function with parameters and return value
fn add(a: i32, b: i32) i32 {
return a + b;
}
// Function that may return an error
fn divide(a: f32, b: f32) !f32 {
if (b == 0) {
return error.DivisionByZero;
}
return a / b;
}
pub fn main() void {
// Call a simple function
const sum = add(5, 3);
std.debug.print("5 + 3 = {d}\\\\n", .{sum});
// Call a function that may return an error
if (divide(10, 2)) |result| {
std.debug.print("10 / 2 = {d}\\\\n", .{result});
} else |err| {
std.debug.print("Error: {}\\\\n", .{err});
}
// Another way to handle errors
const division_result = divide(10, 0) catch |err| {
std.debug.print("Division failed: {}\\\\n", .{err});
0; // Default value in case of error
};
std.debug.print("Result (or default): {d}\\\\n", .{division_result});
}
Kesimpulan
Tutorial ini telah membahas hal-hal penting untuk memulai dengan Zig - instalasi di berbagai sistem operasi, membuat dan menjalankan program pertama Anda, dan bekerja dengan kerangka kerja pengujian Zig. Kami juga telah memperkenalkan beberapa konsep mendasar seperti variabel, tipe data, dan fungsi.
Zig adalah bahasa yang kuat yang menawarkan kontrol tingkat rendah sambil menekankan keamanan, kejelasan, dan pemeliharaan. Pendekatannya terhadap penanganan kesalahan dan manajemen memori menjadikannya alternatif yang menarik untuk bahasa seperti C, C++, dan Rust.
Untuk melanjutkan perjalanan Zig Anda, pertimbangkan:
- Menjelajahi dokumentasi Zig resmi
- Bergabung dengan komunitas Zig di Discord atau forum Ziggit
- Menginstal Zig Language Server untuk integrasi IDE yang lebih baik
- Mencoba membangun proyek kecil untuk mendapatkan pengalaman langsung
Ingatlah bahwa Zig masih berkembang, jadi beberapa fitur mungkin berubah seiring bahasa ini matang menuju versi 1.0. Selamat membuat kode!