Rust Variable dan Data Type

Deklarasi Variable

Untuk mendeklarasikan variable digunakan keyword let, berikut syntax dasar

let namaVariable = value;

Secara default variable pada Rust adalah immutable. Artinya setelah deklarasi, tidak bisa diubah. Agar bisa diubah, perlu digunakan keyword mut.

let mut namaVariable = value;

namaVariable = new_value;

Kita juga bisa mendeklarasikan variable disertai type data, digunakan semi colon untuk mendefinisikan type data. Berikut syntax dasarnya

let namaVariable : typeData = value;
let mut namaVariable : typeData = value;

Type Data

Type data primitive dari Rust terdapat dua macam: Simple dan Compound

Simple

Yang termasuk dalam tipe data simple adalah boolean, integer, floating dan character.

Boolean

  • Didefinisinikan menggunakan keyword bool.
  • Value: true atau false.
  • Umum digunakan dalam control flow, seperti if dan while.

Integers

  • Integers adalah angka bulat (tanpa decimal point).
  • Ada dua jenis: signed dan unsigned.
  • Memiliki ukuran yang menentukan jumlah angka yang bisa disimpan (lihat table dibawah).
signedunsigned
i8u8
i16u16
i32u32
i64u64

Contoh i8, 7 bit integer, dengan 1 bit untuk sign. Artinya di8 dapat menyimpan nilai dari -128 sampai dengan 127.

Jika nilai yang akan disimpan adalah nilai positif, dapat digunakan u8, 8 bit integer. Artinya u8 dapat menyimpan nilai dari 0 sampai dengan 255.

Type integer lainnya adalah isize dan usize, dimana ukuran tergantung arsitektur dari mesin. Jika mesin 32 bit, maka isize dan usize akan berukuran 32 bit, demikian juga dengan mesin arsitektur 64 bit.

isize dan usize digunakan untuk indexing dan counting. Contoh:

let a = [100, 200, 300]
let b = a[0]

a[0], indeks nol akan menggunakan isize atau usize.

Jika tipe data tidak didefinisikan, maka secara defaul adalah i32.

let a = 5;

#tipe data a adalah i32

Floating Number

Angka dengan decimal point.
Terdapat 2 ukuran, yaitu f32 dan f64
Jika tipe data tidak didefinisikan, maka default adalah f64.

Characters

Rust dapat menyimpan single characters sebagai char.
char adalah unicode scalar value, jadi dapat menyimpan data selain ASCII.
char ditulis dalam single qoute ‘a’. Sementara string menggunakan double qoute “string”.

let a = 'a';

Compound Data Type

Pada compound data type terdapat tuple, array dan slice.

Tuple

group dari multiple value dimana tiap value tidak harus memiliki type data yang sama. Berikut syntax dasar dari tuple

let tup = (value1, value2, value3, dst);

let tup = (0, 'c', true);

Untuk mengakses item dari tuple digunakan tanda dot (.) disertai index.

tup.0
#akan mengembalikan nilai 0


tup.1
#akan mengembalikan nilai c

Untuk destructuring tuple, gunakan jumah variable yang sama dengan jumlah item tuple. Contoh dari tuple diatas dapat di destruktur seperti berikut:

let tup = (0, 'c', true);
let (a, b, c) = tup;

Arrays

Mirip dengan tuple, namun array harus memiliki tipe data sama. Contoh berikut adalah array dari 3 floating number.

let a = [0.1, 0.4, -1.2];

Untuk mengakses element dari array digunakan square brackets [index]. Index dimulai dari nol.

let a = [0.1, 0.4, -1.2];

a[0];
# mengembalikan nilai 0.1

a[2];
# mengembalikan nilai -1.2

Perhatian: Ukuran array tidak bisa diubah setelah inisialisasi.

Slice

  • Adalah subset dari struktur data lainnya.
  • Menggunakan start dan end index untuk melakukan slicing.
  • start index adalah inklusif, sementara end index adalah eksklusif.

Contoh slice dari array:

let a = [100, 200, 300];
let b = &a[0..1];

#nilai b akan berisi 100

Sharing is caring:

Leave a Comment