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.