TeknoCerdas.com – Salam cerdas untuk kita semua. Masih dalam seri mengenal bahasa pemrograman Rust. Pada tulisan kali ini penulis masih akan membahas tipe data pada bahasa pemrograman Rust. Pada bagian tiga ini yang akan kita bahas adalah tipe data tuple dan array pada Rust.
Jika anda belum membaca seri sebelumnya tulisan ini silahkan menuju link berikut.
- Mengenal Bahasa Pemrograman Rust dari Mozilla – Bagian 1
- Mengenal Bahasa Pemrograman Rust Bagian 2: Tipe Data Integer dan Float
Seperti bahasa pemrograman lain, pada Rust dikenal dua tipe data utama yaitu tipe data scalar dan tipe data compound.
Tipe Data Compound
Secara sederhana tipe data compound adalah pengelompokan beberapa nilai data sekaligus. Dalam tipe ini terdapat dua tipe pengelompokan yaitu tipe tuple dan array.
Tipe Data Tuple
Tipe data tuple adalah cara mengelompokan beberapa nilai yang dapat berbeda tipe data menjadi satu kelompok. Sebagai contoh dalam satu tuple anda dapat mengisinya dengan tipe data integer u8
, u16
dan tipe float f64
.
Tuple bersifat statis atau konstan artinya ketika ia sudah dideklarasikan maka ukurannya tidak bisa diubah. Tidak bisa ditambah atau dikurangi.
Berikut contoh bagaimana sebuah tuple dideklarasikan.
fn main() {
let mytuple: (u8, u16, f64) = (10, 5000, 10.2345);
println!("Data tuple {:?}", mytuple);
println!("Data tuple index-0 {:0}", mytuple.0);
println!("Data tuple index-1 {:1}", mytuple.1);
println!("Data tuple index-2 {:2}", mytuple.2);
}
Dapat terlihat pada kode diatas bahwa variabel mytuple
memiliki tiga elemen. Masing-masing bertipe u8
, u16
dan f64
. Variabel ini tidak dapat diubah ukurannya selama program berlangsung. Jadi ukurannya akan selalu 3.
Untuk mengakses elemen pada sebuah tuple digunakan notasi “.” (titk). Elemen pada tuple dimulai dari index ke nol. Hampir sama dengan semua bahasa pemrograman lain.
Selain cara diatas terdapat alternatif lain untuk pengalokasian variabel pada tuple. Cara berikut disebut dengan destructuring. Dimana sebuah tuple dibagi dalam beberapa variabel.
fn main() {
let mytuple: (u8, u16, f64) = (10, 5000, 10.2345);
let (x, y, z) = mytuple;
println!("Data tuple x => {}, y => {}, z => {}", x, y, z);
}
Tipe Data Array
Tipe data array adalah cara mengelompokan beberapa nilai yang bertipe data sama menjadi satu kelompok. Sama seperti tuple, array juga bersifat statis atau konstan dimana ukurannya tidak bisa diubah ketika sudah dideklarasikan.
Perbedaan dengan tuple adalah pada tuple dapat menyimpan variabel dengan tipe data berbeda. Perbedaan lain pada array dapat diketahui jumlah elemen didalamnya sedangkan tuple tidak bisa dilakukan.
Berikut contoh deklarasi array pada Rust.
fn main() {
let nomor: [u8; 3] = [10, 11, 12];
println!("Jumlah nomor {} yaitu: {:?}", nomor.len(), nomor);
let nomor_sama = [10; 3];
println!("Jumlah nomor {} yaitu: {:?}", nomor_sama.len(), nomor_sama);
}
Deklarasi array ditandai dengan kurung siku []
. Untuk mendapatkan ukuran dari array digunakna method .len()
. Untuk mengakses elemen dalam array juga digunakan kurung siku dengan index yang ditentukan.
fn main() {
let bulan = ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun",
"Jul", "Ags", "Sep", "Okt", "Nop", "Des"];
println!("Bulan ke 6 adalah {}", bulan[6 - 1]);
}
Jika index yang akan diakses diluar dari index yang ada maka saat kompilasi Rust akan mengeluarkan error index diluar batasan. Seperti contoh berikut.
println!("Bulan ke 6 adalah {}", bulan[15]);
Compiling playground v0.0.1 (/playground)
error: this operation will panic at runtime
--> src/main.rs:5:38
|
5 | println!("Bulan ke 6 adalah {}", bulan[15]);
| ^^^^^^^^^ index out of bounds: the len is 12 but the index is 15
|
= note: `#[deny(unconditional_panic)]` on by default
error: aborting due to previous error
error: could not compile `playground`.
Sampai disini dulu mengenal bahasa pemrograman Rust bagian 3. Simak terus TeknoCerdas.com untuk update tulisan pengenalan bahasa pemrograman Rust.