dart data collection | java php laravel linux mysql sql bootstrap html css query java php laravel linux mysql sql bootstrap html css query: dart data collection

Sunday, May 3, 2026

dart data collection

📚 Seri Belajar Dart · Artikel 5 dari 16

Koleksi Data —
List, Map, dan Set
di Dart

Simpan, susun, dan akses data dengan tiga struktur koleksi paling penting di Dart. Pahami kapan pakai List, Map, atau Set — dan kenapa pilihan yang salah bisa bikin kode kamu berantakan.

#Collections #List #Map #Set #DartLang
⏱ 9
Menit Baca
📗
Level Dasar
2026
Tahun

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!

📌 Konsep Inti
Collections adalah tipe data yang menampung banyak nilai sekaligus dalam satu variabel. Dart memiliki tiga koleksi utama: List (urut & bisa duplikat), Map (pasangan key-value), dan Set (unik, tanpa duplikat). Memilih koleksi yang tepat = kode yang lebih bersih dan efisien.

📋 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).

Cara Kerja List — Step by Step
1
Deklarasi List
Buat list dengan tanda kurung siku [] atau konstruktor List(). Dart juga mendukung type inference otomatis.
2
Akses via Indeks
Gunakan namaList[0] untuk mengambil elemen pertama. Indeks dimulai dari 0, bukan 1!
3
Manipulasi Elemen
Tambah dengan .add(), hapus dengan .remove(), dan cek panjang dengan .length.
🎯 list_example.dart 📋 Salin Kode
// Deklarasi List
List<String> buah = ['Mangga', 'Apel', 'Jeruk'];

// Akses elemen via indeks
print(buah[0]); // Output: Mangga

// Tambah elemen baru
buah.add('Pisang');

// Hapus elemen
buah.remove('Apel');

// Iterasi semua elemen
for (var item in buah) {
  print(item);
}

// Cek panjang list
print('Jumlah buah: ${buah.length}');

// Fixed-length list (ukuran tetap)
var angka = List<int>.filled(5, 0); // [0, 0, 0, 0, 0]
💡 Tips: Spread Operator di List
Dart punya spread operator ... 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.

Cara Kerja Map — Step by Step
1
Deklarasi Map
Gunakan tanda kurung kurawal {} dengan format key: value. Key dan value bisa tipe data apa saja.
2
Akses via Key
Gunakan namaMap['key'] untuk mengambil nilai. Jika key tidak ada, hasilnya null.
3
Tambah & Update Entry
Cukup assign: map['key'] = 'value'. Kalau key sudah ada, nilainya di-update; kalau belum, entry baru ditambahkan otomatis.
🗺️ map_example.dart 📋 Salin Kode
// Deklarasi Map
Map<String, dynamic> profil = {
  'nama': 'Budi',
  'umur': 25,
  'aktif': true,
};

// Akses nilai via key
print(profil['nama']); // Output: Budi

// Tambah atau update entry
profil['kota'] = 'Surabaya';

// Hapus entry
profil.remove('aktif');

// Iterasi semua key-value
profil.forEach((key, value) {
  print('$key: $value');
});

// Cek apakah key ada
print(profil.containsKey('nama')); // true
⚡ Insight Penting: Map & JSON API
Saat kamu bekerja dengan Flutter dan REST API, data yang datang dari server biasanya berupa JSON — dan di Dart, JSON otomatis di-parse jadi Map<String, dynamic>. Memahami Map berarti kamu sudah setengah jalan menguasai API integration!

🔮 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!

Cara Kerja Set — Step by Step
1
Deklarasi Set
Gunakan Set<Tipe> atau literal {}. Hati-hati: var x = {} tanpa tipe akan dianggap Map kosong oleh Dart!
2
Tambah Elemen
Gunakan .add() — jika elemen sudah ada, tidak akan ada error, cukup diabaikan saja. Set menjaga keunikannya secara otomatis.
3
Operasi Himpunan
Set mendukung .union(), .intersection(), dan .difference() — fitur yang tidak dimiliki List maupun Map!
🔮 set_example.dart 📋 Salin Kode
// Deklarasi Set
Set<String> hobi = {'Membaca', 'Coding', 'Gaming'};

// Coba tambah duplikat — diabaikan otomatis!
hobi.add('Coding'); // Set tetap 3 elemen
print(hobi.length); // Output: 3

// Hapus elemen
hobi.remove('Gaming');

// Operasi himpunan
Set<int> a = {1, 2, 3, 4};
Set<int> b = {3, 4, 5, 6};

print(a.union(b));        // {1, 2, 3, 4, 5, 6}
print(a.intersection(b)); // {3, 4}
print(a.difference(b));   // {1, 2}

// Convert List ke Set (hilangkan duplikat!)
List<int> duplikat = [1, 2, 2, 3, 3];
var unik = duplikat.toSet(); // {1, 2, 3}
🔥 Fakta Menarik: Trik Hapus Duplikat
Punya List penuh data duplikat? Cukup satu baris: 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?

🔍 Analisis Perbandingan
📋
List
✅ Data terurut
✅ Boleh duplikat
✅ Akses via indeks
❌ Cari elemen = lambat
🗺️
Map
✅ Pasangan key-value
✅ Akses via key = cepat
✅ Cocok untuk JSON
❌ Key harus unik
🔮
Set
✅ Nilai selalu unik
✅ Operasi himpunan
✅ Cek elemen = cepat
❌ Tidak terindeks
Kriteria List Map Set
Urutan Terjaga ✅*
Boleh Duplikat
Akses via Indeks
Pasangan Key-Value
Operasi Himpunan
*) Map di Dart mempertahankan urutan insertion sejak Dart 2.0
⚠️ Perhatian: Null Safety di Collections
Di Dart 2.12+, gunakan tipe nullable jika nilai dalam koleksi bisa null. Contoh: List<String?> untuk list yang elemennya bisa null. Jangan abaikan ini — null safety adalah fitur keamanan kode terpenting di Dart modern!
⚡ Insight: Collection Methods yang Wajib Kamu Tahu
Dart Collections punya method fungsional yang sangat powerful: .map() (transformasi), .where() (filter), .reduce() (akumulasi), dan .any() / .every() (cek kondisi). Dengan ini kamu bisa manipulasi data seperti developer senior tanpa nulis loop manual!
🏁 Kesimpulan Artikel 5

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!

🏷️ Tags Artikel
#BelajarDart #DartFromZeroToZorro #Collections #ListMapSetDart #DartLang #Flutter #PemrogramanDart
📚
Bagian dari Seri
Dart From Zero to Zorro

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 →
🧭 Navigasi Artikel
← Artikel Sebelumnya
Artikel 4 — Fungsi di Dart — Biar Kode Kamu Rapi dan Bisa Dipakai Ulang
Baca Artikel →
* Isi URL setelah artikel dipublish
Artikel Selanjutnya →
Artikel 6 — OOP Bagian 1 — Class, Object, dan Constructor di Dart
Baca Artikel →
* Isi URL setelah artikel dipublish

No comments:

Post a Comment

saifiahmada.com adalah blog belajar programming Indonesia, membahas lengkap materi bahasa pemrograman: code HTML, CSS, Bootstrap, Desain, PHP, MySQL, coding Java, Query, SQL, dan dunia linux