Pendahuluan
Rust adalah bahasa pemrograman modern yang menggabungkan kecepatan C/C++ dengan keamanan memori. Dikembangkan oleh Mozilla dan kini didukung oleh perusahaan besar seperti Google, Microsoft, dan AWS. Rust populer untuk pengembangan system programming, web assembly, blockchain, dan embedded systems.
Kenapa Belajar Rust?
✔ Aman dari memory leaks & buffer overflow
✔ Performa setara C/C++
✔ Mudah dipelajari dengan error message yang jelas
✔ Digunakan di Linux Kernel, Firefox, Discord, dan Solana
🛠️ Instalasi Rust
-
Install Rust (Windows/macOS/Linux):
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
-
Verifikasi instalasi:
rustc --version
-
Buat Project Baru:
cargo new belajar_rust cd belajar_rust
📖 Dasar-Dasar Rust
1. Variabel & Mutabilitas
Di Rust, variabel default immutable (tidak bisa diubah). Pakai mut
untuk membuatnya mutable.
fn main() { let x = 5; // Immutable let mut y = 10; // Mutable y = 15; // Bisa diubah println!("x = {}, y = {}", x, y); }
2. Tipe Data
-
Primitif:
i32
,u64
,f64
,bool
,char
-
String:
String
(heap-allocated) dan&str
(string slice)
let nama: String = String::from("Rust"); let slice: &str = "Halo!";
3. Fungsi
fn tambah(a: i32, b: i32) -> i32 { a + b // Tanpa ';' berarti return value } fn main() { let hasil = tambah(5, 3); println!("5 + 3 = {}", hasil); }
4. Ownership (Konsep Unik Rust!)
Rust mengatur memori dengan sistem ownership:
-
Setiap nilai punya pemilik (owner).
-
Jika owner keluar scope, nilai di-free otomatis.
fn main() { let s1 = String::from("Hello"); // s1 adalah owner let s2 = s1; // Ownership pindah ke s2 // println!("{}", s1); // ERROR! s1 sudah tidak valid println!("{}", s2); // OK }
5. Struct (OOP Sederhana)
struct Mahasiswa { nama: String, umur: u8, } fn main() { let mhs = Mahasiswa { nama: String::from("Budi"), umur: 20, }; println!("Nama: {}, Umur: {}", mhs.nama, mhs.umur); }
🚀 Contoh Program: Kalkulator Sederhana
use std::io; fn main() { println!("Kalkulator Rust 🦀"); println!("Masukkan angka pertama:"); let a: f64 = input_angka(); println!("Masukkan angka kedua:"); let b: f64 = input_angka(); println!("Pilih operasi (+, -, *, /):"); let op = input_operator(); let hasil = match op { '+' => a + b, '-' => a - b, '*' => a * b, '/' => a / b, _ => panic!("Operasi tidak valid!"), }; println!("Hasil: {} {} {} = {}", a, op, b, hasil); } fn input_angka() -> f64 { let mut input = String::new(); io::stdin().read_line(&mut input).expect("Gagal membaca input"); input.trim().parse().expect("Harus angka!") } fn input_operator() -> char { let mut input = String::new(); io::stdin().read_line(&mut input).expect("Gagal membaca input"); input.trim().chars().next().unwrap() }
📚 Sumber Belajar Lanjutan
🔮 Kesimpulan
Rust adalah bahasa yang cepat, aman, dan modern, cocok untuk:
✅ System programming
✅ WebAssembly
✅ Blockchain
✅ Embedded devices
🔥 Tertarik jadi expert Rust? Coba buat project kecil dan eksplor lebih dalam!
🦀 Semoga bermanfaat! Happy coding! 🚀
📌 Tips Tambahan
-
Gunakan
cargo clippy
untuk pengecekan kode. -
Komunitas Rust sangat ramah, gabung di Rust Users Forum.