Dart : Map, Key, Values

Pada Artikel kali ini kita akan membahas tentang map, map merupakan salah satu Dart: Collection yang terdapat pada bahasa pemrograman dart. Map adalah kumpulan pasangan Key – Value yang tidak berurutan, tetapi key – values yang saling berkaitan. Setiap value memiliki key yang artinya setiap key haruslah unik, namun value yang sama dapat digunakan berkali-kali. Dua item dengan value yang sama akan tetap unik melalui key secara terpisah.

Membuat Map

Ada beberapa cara untuk dapat kita implementasikan membuat sebuah map, berikut ini adalah beberapa cara secara umumnya :

  1. Menggunakan Literals
  2. Menggunakan Constructor
  3. Menentukan Jenis Pada Sebuah Map

Menggunakan Literals

Sepertinya hal list dan set, map juga dapat di implementasikan menggunakan literals. Literal yang terdapat pada map agak terlihat lebih komplek dari materi kita sebelumnya (List dan Set). Sintaks umumnya adalah sebagai berikut :

mapLiterals
sintak literal pada map

Sintaks awal kurang lebih terlihat sama dengan mengimplementasikan pada list literal dan set literal. Hal yang menariknya adalah sebuah key (kunci) dan value (nilai) terdapat di dalam tanda kurung kurawal ( {} ), yang dimana key value nya ditulis sejajar setelah memberikan key value yang pertama pisahkan dengan tanda koma ( , ) untuk memberikan key – value berikutnya dan setiap key – value dipisahkan dengan tanda titik dua ( : ).

Sebagai bahan pendalaman materi, kita akan membuat sebuah studi kasus sederhana agar dapat memahami materi di artikel kali ini. Sebagai contoh kita akan membuat key negara dan value ibu kota. perhatikan contoh dibawah ini :

void main() {
  
  var ibuKota = {
    'Indonesia' : 'Jakarta',
    'England' : 'London',
    'China' : 'Beijing',
    'Germany' : 'Berlin',
  };

  
  print(ibuKota);
}

//Output
{Indonesia: Jakarta, England: London, China: Beijing, Germany: Berlin}

Potongan source code map di atas memiliki pengertiannya adalah kita membuat sebuah variabel ibuKota. Di dalam variabel ibuKota terdapat 4 pasang key – values dan ketika kita cetak dengan menggunakan statement print output yang ditampilkan akan sama persis seperti yang telah dideklarasikan, antara tanda kurung kurawal ( {} ) dengan setiap pasangan key – values di pisahkan dengan tanda koma ( , ) dan juga pada setiap key dan value dipisahkan oleh titik dua ( : ).

Dart akan menyimpulkan bahwa variabel ibuKota memiliki tipe Map <String, String> (Map dengan key dan value bertipe String)

belajarflutter.com

Menggunakan Constructor

Map juga dapat dibuat menggunakan constructor, sintaks dasarnya hampir mirip dengan constructor pada list. Sintaks umumnya adalah sebagai berikut :

constructorMap

kita akan mengimplementasikan constructor kosong pada map :

void main() {
  
  var mapVariabel = Map();
  print(mapVariabel);
}

//Output
{}


Menentukan Jenis Pada Sebuah Map

Pada subbab kali ini kita akan menentukan jenis key dan value yang kita terapkan di Map. Untuk sintaks umumnya adalah sebagai berikut :

spesifikmap

Tipe dari key dapat berbeda dari nilai – nilainya, pada contoh dibawah ini kita akan memberikan key bertipe int, dan value bertipe string.

void main() {
  var angka = Map<int, String>();

  print(angka);
}

//Output
{}

Sekarang kita telah mengetahui cara menggunakan map pada subbab berikutnya kita akan menerapkan beberapa metode menggunakan map.

Menerapkan Map

Sama seperti halnya List dan Set, Map merupakan objek yang memiliki properti dan metode terkait. Kita akan pelajari pada subbab kali ini dan menerapkan beberapa metodenya.

Menambahkan Pasangan Key – Values

Pada studi kasus kali ini kita akan menambahkan pasangan key – values ke dalam Map yang telah kita deklarasikan. Sintaks umumnya adalah sebagai berikut :

mapAdding

Kita akan menambahkan key – values pada materi subbab sebelumnya Menentukan Jenis Pada Sebuah Map.

void main() {
  var angka = Map<int, String>();
  angka[1] = 'Ini adalah angka satu';
  angka[2] = 'Ini adalah angka dua';
  angka[3] = 'ini adalah angka tiga';
  angka[4] = 'Ini adalah angka empat';
  angka[5] = 'ini adalah angka lima';
 
  print(angka);
}

//Ouput
{1: Ini adalah angka satu, 2: Ini adalah angka dua, 3: ini adalah angka tiga, 4: Ini adalah angka empat, 5: ini adalah angka lima}

Pada contoh source code di atas kita telah mengimplementasikan menambah 5 (lima) pasangan key – values di dalam variabel angka. Key : bertipe int dan Value: bertipe String.

Menemukan Jumlah Pasangan Pada Map

Sama seperti halnya pada artikel List dan Set, map memiliki properti length yang berfungsi menemukan jumlah pasangan Key – Values di map. Sintaks umum yang digunakan adalah sebagai berikut :

lengthMap

kita akan membuat studi kasus sederhana untuk memahami tentang length:

void main() {
  var angka = {
    1 : 'Satu',
    2 : 'Dua',
    3 : 'Tiga',
    4 : 'Empat'
  };
 
  print(angka.length);
}

//Output 
4

Jika kita menjalankan potongan source diatas maka yang akan tampil di console adalah 4, karena sudah jelas ya, jumlah yang terdapat pada potongan source diatas memiliki 4 pasang Key – Values.

Mengakses Sebuah Nilai

Dengan menggunakan Key maka kita dapat mengakses sebuah value yang sesuai dengan menggunakan tanda kurung siku ( [] ).

Sintak umum yang digunakan adalah sebagai berikut :

MapKey
void main() {
  
  var ibuKota = {
    'Indonesia' : 'Jakarta',
    'England' : 'London',
    'China' : 'Beijing',
    'Germany' : 'Berlin',
  };

  //untuk menampilkan key format penulisannya harus sama
  print(ibuKota['Indonesia']);
}

//Output
Jakarta

Dari potongan source code diatas, kita ingin mengambil value yang terkait dengan key Indonesia. pada saat kita jalankan programnya maka yang tampil adalah value dari key yang kita panggil, yang merupakan value yang benar. Jika tidak ada key yang sama maka menghasilkan null di console.

Penulisan Map Key bersifat case sensitive, maka perhatikan saat menampilkan Key.

Kita juga dapat memeriksa apakah map berisi key atau tidak dengan menggunakan metode constainsKey. jika Map berisi Key yang ingin ditampilkan maka akan menampilkan true, begitu juga sebaliknya jika tidak berisi Key maka akan menampilkan false.

Sintak umumnya adalah sebagai berikut :

cekMap
ConstainsKey
ilutrasi mengecek map key

Mengambil Semua Value

Map memiliki properti Key – Value yang digunakan untuk mengakses semua Key dan Value dari Map tertentu. Sintaks Umumnya adalah sebagai berikut :

MapValuesAll

Kita akan menggunakan contoh yang sudah ada, dengan mengunakan variabel ibuKota :

void main() {
  
  var ibuKota = {
    'Indonesia' : 'Jakarta',
    'England' : 'London',
    'China' : 'Beijing',
    'Germany' : 'Berlin',
  };

  //mengambil data Key 
  var semuaKey  = ibuKota.keys;
  print('Data Dari Key: $semuaKey');
}

//Output
Data Dari Key: (Indonesia, England, China, Germany)
 void main() {
  
  var ibuKota = {
    'Indonesia' : 'Jakarta',
    'England' : 'London',
    'China' : 'Beijing',
    'Germany' : 'Berlin',
  };

  var semuaValue = ibuKota.values;
  print('Data Dari value : $semuaValue');
}

//Output
Data Dari value : (Jakarta, London, Beijing, Berlin)

Sintaks Lengkapnya :

void main() {
  
  var ibuKota = {
    'Indonesia' : 'Jakarta',
    'England' : 'London',
    'China' : 'Beijing',
    'Germany' : 'Berlin',
  };

  //mengambil data Key 
  var semuaKey  = ibuKota.keys;
  print('Data Dari Key: $semuaKey');

  //ambil Data semua value
  var semuaValue = ibuKota.values;
  print('Data Dari value : $semuaValue');
}

Menghapus Pasangan Key – Value

Dengan metode remove kita dapat menghapus pasangan key – value, yang ingin kita hapus dari sebuah Map. Sintaks umumnya adalah sebagai berikut :

mapRemove

kita akan mengimplementasikan pada contoh yang sudah ada :

void main() {
  
  var ibuKota = {
    'Indonesia' : 'Jakarta',
    'England' : 'London',
    'China' : 'Beijing',
    'Germany' : 'Berlin',
  };

 
  ibuKota.remove('China');
  print(ibuKota);
}

//Output 
{Indonesia: Jakarta, England: London, Germany: Berlin}

Pada potongan source diatas kita telah berhasil menghapus China, menggunakan metode remove.

Sumber :

https://www.tutorialspoint.com/dart_programming/index.htm

Default image
Herry Prasetyo
Today a reader Tomorrow a Leader
Articles: 20

Leave a Reply