Bayangkan kamu diminta nyimpan daftar belanja, data pengguna, dan nomor-nomor unik sekaligus — pakai satu variabel biasa? Nggak mungkin. Di sinilah list map set Dart hadir sebagai penyelamat. Ketiga koleksi ini adalah tulang punggung hampir setiap program Dart dan Flutter yang kamu bangun. Kalau kamu belum paham bedanya, kamu akan terus nulis kode yang ruwet dan boros memori. Artikel ke-5 dari seri Dart From Zero to Zorro ini akan membongkar tuntas cara kerja, kapan pakai, dan trik-trik praktis ketiga koleksi tersebut. Siap? Mari kita mulai!
📋 List di Dart — Si Daftar Terurut
List itu seperti daftar belanja yang kamu tulis di kertas — terurut dari atas ke bawah, boleh ada item yang sama dua kali, dan kamu bisa langsung tunjuk "item nomor 3 apa?". Di Dart, List adalah koleksi yang ordered (berurutan) dan indexed (pakai nomor indeks mulai dari 0).
[] atau konstruktor List(). Dart juga mendukung type inference otomatis.namaList[0] untuk mengambil elemen pertama. Indeks dimulai dari 0, bukan 1!.add(), hapus dengan .remove(), dan cek panjang dengan .length.... yang super berguna! Kamu bisa gabungkan dua list jadi satu dengan mudah: var gabung = [...list1, ...list2]; — jauh lebih rapi daripada looping manual.🗺️ Map di Dart — Pasangan Key dan Value
Map itu seperti kamus bahasa Indonesia-Inggris: kamu tunjuk satu kata (key), langsung dapat artinya (value). Nggak perlu tahu di halaman berapa — cukup tahu kata pencariannya. Itulah kenapa Map di Dart sangat powerful untuk menyimpan data terstruktur seperti profil pengguna, konfigurasi aplikasi, atau response JSON dari API.
{} dengan format key: value. Key dan value bisa tipe data apa saja.namaMap['key'] untuk mengambil nilai. Jika key tidak ada, hasilnya null.map['key'] = 'value'. Kalau key sudah ada, nilainya di-update; kalau belum, entry baru ditambahkan otomatis.🔮 Set di Dart — Koleksi Tanpa Duplikat
Set itu seperti daftar peserta seminar — setiap orang hanya boleh terdaftar satu kali. Mau didaftarkan dua kali? Tetap cuma masuk sekali. Inilah keunikan Set di Dart: setiap elemen dijamin unik. Set sangat berguna saat kamu perlu menghilangkan duplikat, atau melakukan operasi himpunan seperti union, intersection, dan difference — persis seperti di pelajaran matematika SMA!
Set<Tipe> atau literal {}. Hati-hati: var x = {} tanpa tipe akan dianggap Map kosong oleh Dart!.add() — jika elemen sudah ada, tidak akan ada error, cukup diabaikan saja. Set menjaga keunikannya secara otomatis..union(), .intersection(), dan .difference() — fitur yang tidak dimiliki List maupun Map!list.toSet().toList(). Convert ke Set (duplikat hilang), lalu balik ke List lagi. Trik klasik yang dipakai developer Dart profesional setiap hari!⚖️ List vs Map vs Set — Kapan Pakai Yang Mana?
✅ Boleh duplikat
✅ Akses via indeks
❌ Cari elemen = lambat
✅ Akses via key = cepat
✅ Cocok untuk JSON
❌ Key harus unik
✅ Operasi himpunan
✅ Cek elemen = cepat
❌ Tidak terindeks
| Kriteria | List | Map | Set |
|---|---|---|---|
| Urutan Terjaga | ✅ | ✅* | ❌ |
| Boleh Duplikat | ✅ | ❌ | ❌ |
| Akses via Indeks | ✅ | ❌ | ❌ |
| Pasangan Key-Value | ❌ | ✅ | ❌ |
| Operasi Himpunan | ❌ | ❌ | ✅ |
List<String?> untuk list yang elemennya bisa null. Jangan abaikan ini — null safety adalah fitur keamanan kode terpenting di Dart modern!Kamu Sudah Kuasai Collections di Dart!
Di artikel ini kamu sudah belajar tiga koleksi utama list map set Dart yang jadi fondasi penyimpanan data di setiap program Dart dan Flutter:
- List — koleksi terurut, berindeks, boleh duplikat. Pakai saat urutan dan posisi elemen penting.
- Map — pasangan key-value, akses cepat via key. Ideal untuk data terstruktur dan JSON response dari API.
- Set — koleksi unik tanpa duplikat, mendukung operasi himpunan. Perfect untuk filter data dan cek keanggotaan.
Artikel ini adalah bagian dari seri 16 Artikel Belajar Dart: Dart From Zero to Zorro. Di artikel selanjutnya kita akan masuk ke dunia OOP — dan kamu akan melihat betapa pentingnya pemahaman Collections ini sebagai pondasi!
Artikel ini adalah bagian ke-5 dari 16 artikel seri belajar Dart lengkap dari nol sampai mahir. Lihat daftar isi lengkap dan temukan semua artikel seri ini:
🗺️ Lihat Daftar Isi Lengkap →
No comments:
Post a Comment