Mengenal Collections dalam Dart: List, Set, dan Map

Monday, 22 July 2024 3 read minutes

Cover Article
Photo by Andrew Neel

Dalam pengembangan aplikasi, sering kali kita perlu mengelola sekumpulan data yang kompleks. Dart menyediakan berbagai struktur data yang dikenal sebagai collections untuk menyimpan dan mengelola banyak data secara efisien. Artikel ini akan memberikan panduan lengkap tentang tiga jenis collections di Dart: List, Set, dan Map. Kita akan membahas penggunaan, manfaat, dan contoh kode untuk masing-masing jenis.

A. Mengelola Data Berurutan dengan List

List adalah sebuah collection yang digunakan untuk menyimpan banyak data dalam urutan tertentu. Data pada List dapat diakses dan dimanipulasi menggunakan indeks. Indeks pada List dimulai dari 0, yang berarti elemen pertama berada pada indeks 0.

Contoh Penggunaan List
void main() {
  var numberList = [1, 2, 3, 4, 5];
  var stringList = ['Hello', 'Dicoding', 'Dart'];

  // Akses elemen pada List
  print(numberList[0]); // Output: 1
  print(stringList[1]); // Output: Dicoding

  // Mengubah nilai elemen pada List
  numberList[0] = 10;
  print(numberList[0]); // Output: 10

  // Menambahkan elemen ke List
  numberList.add(6);
  print(numberList); // Output: [1, 2, 3, 4, 5, 6]

  // Menghapus elemen dari List
  numberList.removeAt(2);
  print(numberList); // Output: [1, 2, 4, 5, 6]

  // Mendapatkan panjang List
  print(numberList.length); // Output: 5
}
Operasi Umum pada List
  • Menambahkan Elemen: add(value)

  • Menghapus Elemen: remove(value), removeAt(index)

  • Mengakses Elemen: Menggunakan indeks, misalnya list[index]

  • Mengubah Elemen: Menggunakan indeks, misalnya list[index] = newValue

  • Panjang List: list.length

B. Menyimpan Data Unik Tanpa Urutan dengan Set

Set adalah sebuah collection yang digunakan untuk menyimpan banyak data unik, tanpa duplikasi, dan tidak terurut. Set berguna ketika kita hanya peduli pada keunikan data dan bukan urutannya.

Contoh Penggunaan Set
void main() {
  var numberSet = {1, 4, 6};

  // Menambahkan elemen ke Set
  numberSet.add(2);
  print(numberSet); // Output: {1, 4, 6, 2}

  // Menghapus elemen dari Set
  numberSet.remove(4);
  print(numberSet); // Output: {1, 6, 2}

  // Menggabungkan dua Set
  var anotherSet = {3, 4, 5};
  var unionSet = numberSet.union(anotherSet);
  print(unionSet); // Output: {1, 6, 2, 3, 4, 5}

  // Mendapatkan irisan dari dua Set
  var intersectionSet = numberSet.intersection(anotherSet);
  print(intersectionSet); // Output: {4}

  // Mengecek keanggotaan
  print(numberSet.contains(1)); // Output: true
}
Operasi Umum pada Set
  • Menambahkan Elemen: add(value)

  • Menghapus Elemen: remove(value)

  • Menggabungkan Set: union(otherSet)

  • Mendapatkan Irisan Set: intersection(otherSet)

  • Cek Keanggotaan: contains(value)

C. Menyimpan Data dalam Pasangan Key-Value dengan Map

Map adalah sebuah collection yang digunakan untuk menyimpan data dalam format pasangan key-value. Setiap nilai (value) dihubungkan dengan kunci (key) unik, yang memungkinkan akses cepat ke data berdasarkan kunci.

Contoh Penggunaan Map
dartCopy codevoid main() {
  var capital = {
    'Jakarta': 'Indonesia',
    'London': 'England',
    'Tokyo': 'Japan'
  };

  // Mengakses nilai pada Map
  print(capital['Jakarta']); // Output: Indonesia

  // Menambahkan pasangan key-value ke Map
  capital['New Delhi'] = 'India';
  print(capital); // Output: {Jakarta: Indonesia, London: England, Tokyo: Japan, New Delhi: India}

  // Menghapus pasangan key-value dari Map
  capital.remove('Tokyo');
  print(capital); // Output: {Jakarta: Indonesia, London: England, New Delhi: India}

  // Mendapatkan semua kunci dan nilai dari Map
  print(capital.keys); // Output: (Jakarta, London, New Delhi)
  print(capital.values); // Output: (Indonesia, England, India)

  // Menghapus semua pasangan key-value dari Map
  capital.clear();
  print(capital); // Output: {}
}
Operasi Umum pada Map
  • Menambahkan Pasangan Key-Value: map[key] = value

  • Menghapus Pasangan Key-Value: remove(key)

  • Mengakses Nilai Berdasarkan Kunci: map[key]

  • Mengambil Semua Kunci: map.keys

  • Mengambil Semua Nilai: map.values

  • Menghapus Semua Pasangan Key-Value: clear()

List, Set, dan Map adalah tiga jenis collections yang sangat berguna dalam pemrograman Dart. Masing-masing memiliki kegunaan dan kelebihan tersendiri:

  • List: Digunakan untuk menyimpan data berurutan dan memungkinkan akses berdasarkan indeks.

  • Set: Digunakan untuk menyimpan data unik tanpa duplikasi dan mendukung operasi himpunan.

  • Map: Digunakan untuk menyimpan data dalam pasangan key-value untuk akses cepat berdasarkan kunci.

Memahami dan menguasai penggunaan collections ini akan membantu kamu menulis kode Dart yang lebih efisien, terorganisir, dan mudah dipelihara. Dengan menguasai List, Set, dan Map, kamu dapat menangani berbagai skenario pemrograman yang kompleks dengan lebih mudah.

section icon
section title icon recents articles
Latest Articles just for you

Stay updated with the latest articles crafted to enhance your knowledge.
Discover new insights and stay ahead with our recent content.

Card image cap
Panduan Lengkap Menggunakan json_serializable dan json_annotation untuk Model yang Rapi di Flutter
Tuesday, 29 October 2024

Dalam pengembangan aplikasi Flutter, sering kali kita perlu mengonversi data dari JSON ke objek Dart atau sebaliknya. Ini terutama umum dalam aplikasi yang mengambil data dari API atau menyimpan data secara lokal dalam format JSON. Untuk mempermudah ...

Read more
Card image cap
Pengenalan Widget dan Lifecycle dalam Flutter
Thursday, 17 October 2024

Widget adalah komponen dasar yang digunakan dalam Flutter untuk membangun antarmuka pengguna (UI). Hampir semua elemen visual di aplikasi Flutter merupakan widget, mulai dari teks, tombol, hingga tata letak seperti baris dan kolom. Dalam pengembangan...

Read more
Card image cap
Panduan Pemula untuk Membuat Aplikasi Pertama dengan Flutter
Saturday, 12 October 2024

Setelah menyiapkan Flutter SDK di sistem kamu, penting untuk memahami bagaimana struktur proyek Flutter diatur dan bagaimana cara menjalankan aplikasi kamu di berbagai lingkungan pengembangan. Pada artikel kali ini kita akan menjelaskan secara mendal...

Read more
Card image cap
Panduan Membuat Program Dart Pertama untuk Semua Platform
Saturday, 12 October 2024

Pada artikel kali ini kamu akan memberikan panduan langkah demi langkah untuk menjalankan program Dart pertama kamu di berbagai platform (Windows, macOS, dan Linux). Tujuan utama dari panduan ini adalah untuk mempermudah kamu yang baru banget belajar...

Read more