DEV Community

Cover image for Rangkuman Rust: Fungsi
Drian
Drian

Posted on

Rangkuman Rust: Fungsi

1. πŸ“Œ Pengertian Fungsi

  • Fungsi adalah blok kode yang bisa digunakan kembali untuk menjalankan suatu tugas.
  • Didefinisikan dengan kata kunci fn.

Contoh:

fn main() {
    println!("Hello, world!");
}
Enter fullscreen mode Exit fullscreen mode

2. 🧩 Parameter dan Tipe Data

  • Fungsi bisa menerima parameter: ditulis di dalam tanda kurung, dipisahkan dengan koma.
  • Setiap parameter harus menyertakan nama dan tipe datanya.

Contoh:

fn print_labeled_measurement(value: i32, unit_label: char) {
    println!("The measurement is: {value}{unit_label}");
}

fn main() {
    print_labeled_measurement(5, 'h');
}
Enter fullscreen mode Exit fullscreen mode

Output: The measurement is: 5h


3. 🧱 Statements vs Expressions

🧾 Statement:

  • Perintah yang menjalankan aksi tanpa mengembalikan nilai.
  • Contoh: let y = 6;

πŸ“€ Expression:

  • Mengevaluasi dan menghasilkan nilai.
  • Bisa dipakai di dalam statement.

Contoh perbedaan:

let y = {
    let x = 3;
    x + 1 // expression -> nilai 4
};
Enter fullscreen mode Exit fullscreen mode

❌ Salah:

let x = (let y = 6); // ERROR: `let y = 6` adalah statement, bukan expression
Enter fullscreen mode Exit fullscreen mode

4. πŸ” Fungsi dengan Nilai Kembali (Return Value)

βœ… Fungsi yang Mengembalikan Nilai

fn five() -> i32 {
    5
}
Enter fullscreen mode Exit fullscreen mode
  • -> i32 menunjukkan tipe return-nya.
  • Baris terakhir tanpa titik koma adalah return value.
fn main() {
    let x = five();
    println!("The value of x is: {x}");
}
Enter fullscreen mode Exit fullscreen mode

5. 🧠 Fungsi dengan Parameter dan Return Value

fn plus_one(x: i32) -> i32 {
    x + 1
}
Enter fullscreen mode Exit fullscreen mode

Output:

fn main() {
    let x = plus_one(5);
    println!("The value of x is: {x}"); // 6
}
Enter fullscreen mode Exit fullscreen mode

6. ⚠️ Kesalahan Umum: Semicolon di Expression

fn plus_one(x: i32) -> i32 {
    x + 1; // ❌ Error: statement tidak mengembalikan nilai
}
Enter fullscreen mode Exit fullscreen mode

β›” Error: expected i32, found ()

πŸ’‘ Solusi: hapus titik koma di akhir x + 1


7. βͺ Return secara eksplisit

fn return_explicitly() -> i32 {
    return 10; // bisa juga dengan `return`
}
Enter fullscreen mode Exit fullscreen mode

🧾 Kesimpulan

Konsep Penjelasan
Fungsi dasar Didefinisikan dengan fn, bisa dipanggil dari main()
Parameter Ditulis dengan format nama: tipe, pisahkan dengan koma
Statement Menjalankan aksi, tidak mengembalikan nilai (let, fn, dll)
Expression Menghasilkan nilai, bisa digunakan dalam let atau return
Return value Ekspresi terakhir tanpa titik koma atau return digunakan untuk kembali
Kesalahan umum Menambahkan ; pada akhir ekspresi terakhir dalam fungsi return

Top comments (0)