DEV Community

abdulghofurme
abdulghofurme

Posted on

Rust - Tipe Data Compound

Compound Types

Semua materi merupakan rangkuman belajar.

Untuk bacaan yang lebih langkap & update, dipersilahkan akses pada
The Book

Seperti disebutkan sebelumnya, Compound Types merupakan kelompok dari beberapa nilai.

Dibagi menjadi 2:

  1. Tuple
    • dapat menampung beberapa tipe data yang berbeda
  2. Array
    • hanya dapat menampung tipe data sejenis

Persamaan dari 2 jenis Compound di atas adalah
sama-sama memiliki panjang yang pasti (tidak dapat dirubah)

Oke, langsung contoh

Tuple

fn main() {
  // Deklarasi dengan tipe data
  let nilai: (u8, f32, u8) = (80, 9.3, 77);

  // Deklarasi tanpa tipe data
  let nilai_b = ('A', 79, 9.3);

  // Destructuring
  let (x, y, z) = nilai;
  println!("{}, {}, {}", x, y, z);

  // Directly access element
  let h = nilai_b.0;
  println!("{}", h);
}
Enter fullscreen mode Exit fullscreen mode
  • Tuple ditandai dengan tanda kurung ( ).
  • Dapat dideklarasi dengan atau tanpa tipe data element-nya.
  • Mengambil nilai element dapat dilakukan dengan 2 cara

    1. Destructuring
      seperti saat deklarasi, akses pun menggunakan tanda kurung ( ).

      Perlu diperhatikan, akses nilai dengan destructuring
      harus menyesaikan dengan panjang tuple-nya.

      Bila ada element yang tidak akan dipakai,
      maka dapat menggunakan _ sebagai variable nya

      fn main() {
        let nilai_b = ('A', 79, 9.3);
      
        let (h, _, _) = nilai_b;
      
        println!("{}", h);
      }
      
2. Directly access
    dengan menggunakan `.`, dan index yang diawali dengan 0.
Enter fullscreen mode Exit fullscreen mode

Array

Hanya satu tipe data dan panjangnya tidak dapat diubah.

fn main() {
  // Deklarasi dengan tipe data
  let nilai_matematika: [u8; 5]  = [8, 4, 9, 8, 8];

  // Deklarasi tanpa tipe data
  let nilai_ipa = [8, 7, 5, 6, 5]; 

  // Destructuring
  let [_, kedua, _, keempat, _] = nilai_matematika;
  println!("{}, {}", kedua, keempat);

  // Directly access element
  let ipa_kedua = nilai_ipa[1];
  println!("{}", ipa_kedua);
}
Enter fullscreen mode Exit fullscreen mode
  • Array ditandai dengan tanda kurung siku [ ].
  • Dapat dideklarasi dengan atau tanpe tipe data.
    Saat menggunakan tipe datanya, yang ditulis adalah
    [u8; 5] tipe datanya (u8) dan panjang array nya (5),
    dengan ; sebagai pemisah.

    Denga metode ini, kita juga dapat membuat array dengan panjang dan nilai yang sama,
    contohnya,

    let nilai_ips = [7; 5];
    

    Hal ini sama dengan kita menulis let nilai_ips = [7, 7, 7, 7, 7].

  • Mengambil nilai element dapat dilakukan dengan 2 cara, sepertihalnya Tuple

    1. Destructuring
      dengan tanda akses nya [ ].

      Dan ketentuan error sepertihalnya Tuple.

    2. Directly access
      dengan menggunaan tanda [ ], dan index 0 sebagai awalnya.

Demikian Sesi Tipe Data.
Semoga bermanfaat, dan terima kasih.

Top comments (0)