Mengenal Collections dalam Dart: List, Set, dan Map

QazneticQaznetic
3 min read

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.

0
Subscribe to my newsletter

Read articles from Qaznetic directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Qaznetic
Qaznetic

Qaznetic is a platform that provides educational services, digital assets and information. Qaznetic is here with the hope that we can together build positive technology to be applied in life.