DEV Community

Drian
Drian

Posted on

The Rust Programming Language bahasa indonesia

๐Ÿ“Œ Konsep Dasar Rust

Pengantar

  • Rust adalah bahasa pemrograman sistem yang mengutamakan kecepatan, keamanan, dan kontrol atas memori.
  • Menyediakan kekuatan low-level (seperti C/C++) dengan ergonomi high-level.
  • Compiler Rust sangat ketat, membantu mencegah bug sejak awal.

Siapa yang Cocok Menggunakan Rust?

  • Tim Developer: Mempermudah kolaborasi dengan sistem type dan error yang kuat.
  • Mahasiswa & Pelajar: Komunitas terbuka dan mendukung pembelajaran sistem.
  • Perusahaan: Digunakan di CLI tools, embedded, web service, machine learning, dsb.
  • Open Source Developer: Banyak peluang kontribusi.
  • Penggemar Kecepatan & Stabilitas: Fokus pada zero-cost abstraction.

๐Ÿ› ๏ธ Instalasi dan Dasar Penggunaan

Instalasi Rust

  • Gunakan rustup untuk instalasi dan manajemen versi.
  • Dilengkapi dengan dokumentasi lokal (rustup doc).
  • Alat penting:
    • rustc: Compiler utama.
    • cargo: Package manager & build system.

Menulis Program Pertama: Hello, World!

  • File: main.rs
  • Struktur dasar:
  fn main() {
      println!("Hello, world!");
  }
Enter fullscreen mode Exit fullscreen mode
  • Kompilasi manual: rustc main.rs
  • Eksekusi: ./main atau main.exe

๐Ÿ“ฆ Manajemen Proyek dengan Cargo

Apa Itu Cargo?

  • Tools default untuk membuat, membangun, dan menjalankan proyek Rust.
  • Mengelola dependensi (crates), build, dan distribusi.

Dasar-dasar Cargo

  • cargo new project_name: Membuat proyek baru.
  • cargo build: Kompilasi.
  • cargo run: Kompilasi & eksekusi.
  • cargo check: Mengecek kesalahan tanpa build.
  • cargo build --release: Build dengan optimisasi.

Struktur Proyek Cargo

  • Cargo.toml: Konfigurasi proyek dan dependensi.
  • src/main.rs: Entry point program.

๐ŸŽฎ Bab 2: Membuat Game "Guess the Number"

Tujuan Proyek

  • Menebak angka acak antara 1-100.
  • Program memberi tahu apakah tebakan terlalu tinggi, rendah, atau tepat.

Konsep yang Diperkenalkan

  • use std::io;: Mengambil input dari pengguna.
  • Variabel dengan let dan mut.
  • String dan konversi ke angka (parse::<u32>).
  • Shadowing: Mendeklarasikan ulang variabel dengan nama yang sama.
  • rand crate: Digunakan untuk menghasilkan angka acak.
  • Ordering dan match: Digunakan untuk membandingkan dan menangani hasil tebakan.

Contoh Match Expression

match guess.cmp(&secret_number) {
    Ordering::Less => println!("Too small!"),
    Ordering::Greater => println!("Too big!"),
    Ordering::Equal => println!("You win!"),
}
Enter fullscreen mode Exit fullscreen mode

Error Handling

  • expect("error message"): Menangani error pada operasi I/O atau parsing.

๐Ÿš€ Floating Topics (Topik Tambahan)

Crate dan Dependency Management

  • Semua crate eksternal dideklarasikan di [dependencies] dalam Cargo.toml.
  • Cargo akan membuat Cargo.lock untuk menjaga versi dependensi tetap konsisten.

Tools Pendukung

  • rustfmt: Formatter otomatis untuk kode Rust.
  • rust-analyzer: IntelliSense & error hints di editor.

Top comments (0)