Halo teman-teman semuanya, pada artikel sebelumnya kita sudah berkenalan dengan Rust dan mencoba membuat program sederhana dengan output Hello, World!
. Pada artikel kedua ini, kita akan belajar mengenai tipe data di Rust. Tipe data adalah hal penting karena menentukan bagaimana data disimpan dan digunakan dalam program.
Apa Itu Tipe Data?
Tipe data adalah kategori yang digunakan untuk membedakan nilai di dalam program. Dengan tipe data, compiler bisa mengetahui bagaimana data disimpan, seberapa besar memori yang dipakai, serta operasi apa yang bisa dilakukan terhadap data tersebut.
Rust adalah bahasa statically typed, artinya semua tipe data harus diketahui saat compile time. Namun Rust juga memiliki fitur type inference, sehingga dalam banyak kasus kita tidak perlu menuliskan tipe secara eksplisit.
Jenis Tipe Data di Rust
Secara umum, Rust memiliki dua kategori tipe data: scalar types dan compound types.
Scalar Types
Scalar adalah tipe data yang merepresentasikan satu nilai tunggal. Ada empat jenis utama:
-
Integer
Angka bulat, bisa bertanda (i8, i16, i32, i64, i128, isize
) atau tanpa tanda (u8, u16, u32, u64, u128, usize
).
Contoh:
let x: i32 = -42;
let y: u32 = 100;
-
Floating Point
Angka desimal dengan presisi. Ada dua tipe: f32
dan f64
.
let pi: f64 = 3.14;
-
Boolean
Nilai logika dengan dua kemungkinan: true
atau false
.
let is_active: bool = true;
-
Character
Karakter Unicode tunggal, ditulis dengan tanda kutip tunggal '
.
let letter: char = 'A';
let smiley: char = '😎';
Compound Types
Compound adalah tipe data yang bisa mengelompokkan beberapa nilai sekaligus.
-
Tuple
Bisa menyimpan berbagai tipe data dalam satu variabel.
let person: (&str, i32, bool) = ("Andi", 25, true);
println!("Nama: {}, Umur: {}, Aktif: {}", person.0, person.1, person.2);
-
Array
Koleksi data dengan tipe yang sama dan ukuran tetap.
let numbers: [i32; 3] = [10, 20, 30];
println!("Angka pertama: {}", numbers[0]);
Type Inference
Rust dapat menebak tipe data secara otomatis. Misalnya:
let a = 42; // otomatis dianggap i32
let b = 3.14; // otomatis dianggap f64
Casting Tipe Data
Jika ingin mengubah tipe data, gunakan keyword as
:
let x: i32 = 10;
let y: f64 = x as f64;
Kesimpulan
Pada artikel ini, kita sudah belajar mengenai tipe data dasar di Rust, mulai dari scalar types seperti integer, float, boolean, dan character, hingga compound types seperti tuple dan array.
Kita juga melihat bagaimana Rust bisa melakukan type inference dan cara melakukan casting tipe data. Di artikel berikutnya, kita akan membahas tentang Variable dan Mutability di Rust.
Terima Kasih