Object Map adalah wadah untuk menyimpan koleksi data dalam bentuk pasangan key-value. Key dan value dalam sebuah Map dapat berupa tipe data apa pun. Map merupakan kumpulan data dinamis. Dengan kata lain, ukuran Object Map dapat bertambah dan berkurang pada saat runtime.
Map bisa dideklarasikan dengan 2 cara :
- Menggunakan Map literal
- Menggunakan Map constructor
Map Literal
Untuk mendeklarasikan Map menggunakan Map literal, Anda perlu menutup pasangan key dan value dalam sepasang kurung kurawal “{ }“.
Berikut ini adalah cara penulisannya :
var identifier = { key1:value1, key2:value2 [,…..,key_n:value_n] }
Map Constructor
Untuk mendeklarasikan Map menggunakan constructor Map, kita menjalankan dua langkah. Pertama, deklarasikan Map dan kedua, inisialisasi Map.
Cara penulisan untuk mendeklarasikan Map dengan Constructor adalah sebagai berikut :
var identifier = new Map();
Sekarang, gunakan kode berikut untuk menginisialisasi Map :
map_name[key] = value
Contoh: Map Literal
void main() {
var details = {'Usrname':'tom','Password':'pass@123'};
print(details);
}
Kode dia tas akan menghasilkan output seperti berikut :
{Usrname: tom, Password: pass@123}
Contoh: Menambahkan Nilai ke Map Literal pada Waktu Eksekusi
void main() {
var details = {'Usrname':'tom','Password':'pass@123'};
details['Uid'] = 'U1oo1';
print(details);
}
Kode di atas akan menghasilkan output berikut :
{Usrname: tom, Password: pass@123, Uid: U1oo1}
Contoh: Map Constructor
void main() {
var detail = new Map();
details['Usrname'] = 'admin';
details['Password'] = 'admin@123';
print(detail);
}
Kode di atas akan menghasilkan output berikut :
{Usrname: admin, Password: admin@123}
Catatan – Value dalam Map dapat berupa Object apa pun, termasuk NULL.
Properti Map
Class Map dalam library dart:core mendefinisikan properti-properti berikut :
No | Deskripsi Properti |
---|---|
1 | key Mengembalikan Object iterable yang mewakili semua key |
2 | value Mengembalikan Object iterable yang mewakili semua value |
3 | length Mengembalikan ukuran Map |
4 | isEmpty Mengembalikan nilai true jika Map adalah Map kosong |
5 | isNotEmpty Mengembalikan nilai true jika Map adalah Map tidak kosong |
Property key
Mengembalikan Object iterable yang mewakili semua key yang ada dalam suatu Map.
Cara Penulisan
Map.keys
Contoh
void main() {
var details = {'Username':'tom','Password':'pass@123'};
print(details.keys);
}
Kode di atas akan mengembalikan output berikut :
(Username, Password)
Property value
Mengembalikan Object iterable yang mewakili semua value dalam Map.
Cara Penulisan
Map.values
Contoh
void main() {
var detail = {'Usrname':'tom','Password':'pass@123'};
print(detail.values);
}
Kode di atas akan mengembalikan output berikut :
(tom, pass@123)
Property length
Mengembalikan ukuran Map.
Cara Penulisan
Map.length
Contoh
void main() {
var detail = {'Usrname':'tom','Password':'pass@123'};
print(detail.length);
}
Kode di atas akan mengembalikan output berikut :
2
Property isEmpty
Mengembalikan nilai true jika Map adalah Map kosong.
Cara Penulisan
Map.isEmpty
Contoh
void main() {
var detail = {'Usrname':'tom','Password':'pass@123'};
print(detail.isEmpty);
var host = {};
print(host.isEmpty);
}
Kode di atas akan mengembalikan output berikut :
false
true
Property isNotEmpty
Mengembalikan nilai true jika Map adalah Map tidak kosong.
Cara Penulisan
Map.isNotEmpty
Contoh
void main() {
var detail = {'Usrname':'tom','Password':'pass@123'};
print(detail.isNotEmpty);
var host = {};
print(host.isNotEmpty);
}
Kode di atas akan mengembalikan output berikut :
true
false
Fungsi Pada Map
Berikut adalah fungsi-fungsi yang umum digunakan untuk memanipulasi map dengan menggunakan Dart.
No | Nama Fungsi & Deskripsi |
---|---|
1 | addAll() Menambahkan beberapa pasangan key-value ke dalam suatu map. |
2 | clear() Menghapus semua pasangan key-value dari map. |
3 | remove() Menghapus key dan value tertentu, jika ada, dari suatu Map. |
4 | forEach() Menjalankan suatu fungsi untuk setiap pasangan key-value dari suatu Map. |
Fungsi addAll
Menambahkan beberapa pasangan key-value ke dalam suatu Map.
Cara Penulisan
Map.addAll(Map<K, V> other)
Parameter
- other − merepresentasikan pasangan key value yang akan ditambahkan.
Contoh
void main() {
Map m = {'name':'Tom','Id':'E1001'};
print('Map :${m}');
m.addAll({'dept':'HR','email':'[email protected]'});
print('Map setelah menambahkan entri :${m}');
}
Kode di atas akan mengembalikan output berikut :
Map :{name: Tom, Id: E1001}
Map setelah menambahkan entri :{name: Tom, Id: E1001, dept: HR, email: [email protected]}
Fungsi clear
Menghapus semua pasangan key-value dari suatu map.
Cara Penulisan
Map.clear()
Contoh
void main() {
Map m = {'name':'Tom','Id':'E1001'};
print('Map :${m}');
m.clear();
print('Map setelah menggunakan clear() :${m}');
}
Kode di atas akan mengembalikan output berikut :
Map :{name: Tom, Id: E1001}
Map setelah menggunakan clear() :{}
Fungsi remove
Menghapus suatu key tertentu dari map jika ada, fungsi ini juga mengembalikan value dari key yang akan dihapus tersebut.
Cara Penulisan
Map.remove(Object key)
Parameters
- Keys − mengidentifikasi key yang akan dihapus.
Nilai Kembalian
Mengembalikan value yang sesuai dengan key yang dihapus.
Contoh
void main() {
Map m = {'name':'Tom','Id':'E1001'};
print('Map :${m}');
dynamic res = m.remove('name');
print('Nilai yang akan dihapus dari Map :${res}');
}
Kode di atas akan mengembalikan output berikut :
Map :{name: Tom, Id: E1001}
Nilai yang akan dihapus dari Map :Tom
Fungsi forEach
Menjalankan suatu fungsi yang ditentukan untuk setiap entri key-value dalam Map. Dengan kata lain, forEach memungkinkan perulangan eksekusi suatu fungsi untuk setiap key-value yang ada dalam Map.
Cara Penulisan
Map.forEach(void f(K key, V value));
Parameter
- f(K key, V value) − Fungsi f yang akan dijalankan untuk setiap pasangan key-value pada map.Memanggil f tidak boleh menambahkan atau menghapus key dari map.
Contoh
void main() {
var usrMap = {"name": "Tom", 'Email': '[email protected]'};
usrMap.forEach((k,v) => print('${k}: ${v}'));
}
Kode di atas akan mengembalikan output berikut :
Map :name: Tom
Email: [email protected]
Tutorial sebelumnya : List Dart
Tutorial setelahnya : Menggunakan Symbol Dengan Dart
Semua Tutorial Dart : Tutorial Dart