📘 Mini-Kamus Rust untuk Pemula

 


Belajar Rust itu seperti belajar bahasa asing: kita harus paham grammar (aturan) sekaligus vocabulary (kata-kata kunci). Artikel ini akan jadi “kamus kecil” untuk membantu Anda memahami kata-kata Rust yang sering muncul.



---


🔹 Dasar Tipe & Error Handling


Vocabulary Arti Contoh


let Deklarasi variabel let x = 5;

mut Variabel bisa diubah let mut y = 10; y += 1;

Result<T, E> Hasil operasi: Ok(T) atau Err(E) "42".parse::<i32>()

Option<T> Bisa Some(T) atau None let maybe = Some(5);

unwrap() Ambil isi Result/Option, panic jika gagal "42".parse::<i32>().unwrap()

expect("msg") Sama dengan unwrap, tapi dengan pesan error "halo".parse::<i32>().expect("Harus angka!")

? Oper error ke fungsi pemanggil let angka: i32 = "42".parse()?;




---


🔹 String & Konversi


Vocabulary Arti Contoh


parse() Ubah String → tipe lain "42".parse::<i32>().unwrap()

to_string() Ubah ke String let s = 42.to_string();

as_str() Pinjam &str dari String let s = "hai".to_string(); println!("{}", s.as_str());

& Borrow (pinjam, tidak pindah ownership) fn cetak(x: &str) { println!("{}", x); }




---


🔹 Koleksi (Vector & Iterator)


Vocabulary Arti Contoh


Vec<T> Array dinamis let mut v = vec![1,2,3];

push() Tambah elemen v.push(4);

pop() Ambil elemen terakhir let x = v.pop();

iter() Iterator (pinjam elemen) for x in v.iter() { println!("{}", x); }

map() Transformasi elemen `v.iter().map(

collect() Ubah iterator → koleksi baru `let baru: Vec<_> = v.iter().map(




---


🔹 Ownership & Borrowing


Vocabulary Arti Contoh


clone() Duplikasi data let a = "halo".to_string(); let b = a.clone();

& Pinjam data (read only) fn cetak(s: &String)

&mut Pinjam data (bisa ubah) fn ubah(s: &mut String)

move Pindah ownership ke closure/thread `std::thread::spawn(move




---


🔹 Async & Concurrency


Vocabulary Arti Contoh


async fn Fungsi async async fn halo() -> i32 { 5 }

.await Tunggu Future selesai let x = halo().await;

tokio::spawn Jalankan task async paralel tokio::spawn(async { println!("task"); });

Arc<T> Reference counter aman di multi-thread let x = Arc::new(5);

Mutex<T> Kunci data biar aman di thread let data = Arc::new(Mutex::new(0));




---


🔹 Match & Control Flow


Vocabulary Arti Contoh


match Switch-case versi Rust match x { Some(v) => v, None => 0 }

if let Match singkat if let Some(v) = maybe { println!("{}", v); }

while let Loop dengan pattern match while let Some(x) = v.pop() { println!("{}", x); }




---


🔹 Macro & Utility


Vocabulary Arti Contoh


println! Cetak ke console println!("x = {}", 42);

format! Buat String dengan format let s = format!("halo {}", "dunia");

dbg! Debug print (ke stderr) dbg!(x+1);




---


🔹 Contoh Mini


fn main() {

    let teks = "100";


    // parse String → i32, unwrap hasilnya

    let angka: i32 = teks.parse().unwrap();


    // ubah angka ke String lagi

    let angka2 = angka.to_string();


    // ambil dari Option, kalau None pakai 0

    let hasil = Some(angka).unwrap_or(0);


    println!("{} - {} - {}", angka, angka2, hasil);

}


📌 Output:


100 - 100 - 100



---


🔹 Penutup


Belajar Rust memang seperti belajar bahasa baru: awalnya vocabulary terasa asing, tapi semakin sering latihan, semakin cepat otak kita mengenali polanya.


parse() = ubah teks jadi tipe data


unwrap() = ambil hasil atau panic


clone() = gandakan data


? = lempar error ke atas



Dengan kamus kecil ini, semoga Anda lebih nyaman membaca dan menulis kode Rust sehari-hari 🚀

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel

Content List Click Here