Masukkan Password
38 4.0 Collections in Dart Programming Language | List Map Set | Learn Dart Language | Dart Course
Pada materi ini, kita masuk ke Chapter 4: Collections dalam bahasa pemrograman Dart. Saya akan menjelaskannya dari dasar sekali supaya konsepnya mudah dipahami.
Catatan: Caption yang kamu berikan beberapa kali menulis “DOT/D”, tetapi dari konteks seperti
List,Map, danSet, yang dimaksud adalah Dart.
1. Apa itu Collections?
Collection adalah struktur data yang digunakan untuk menyimpan banyak data dalam satu tempat.
Bayangkan kamu mempunyai data seorang pengguna:
Nama : Budi
Umur : 20
Nilai : 90
Pekerjaan : Programmer
Kalau tidak menggunakan collection, kita mungkin membuat banyak variabel:
String name = "Budi";
int age = 20;
int score = 90;
String job = "Programmer";
Ada beberapa variabel yang harus kita kelola.
Dengan collection, kita bisa mengelompokkan banyak data sehingga pengelolaannya menjadi lebih mudah.
Contohnya bisa berupa:
List
Set
Map
Ketiganya sama-sama digunakan untuk menyimpan banyak data, tetapi cara penyimpanan dan tujuan penggunaannya berbeda.
2. Kenapa Collections diperlukan?
Bayangkan kita mempunyai 100 data pengguna.
Misalnya:
Budi
Andi
Siti
Rina
Doni
...
Kalau kita membuat variabel satu per satu:
String user1 = "Budi";
String user2 = "Andi";
String user3 = "Siti";
String user4 = "Rina";
...
tentu akan sangat merepotkan.
Lebih baik kita kelompokkan:
List<String> users = [
"Budi",
"Andi",
"Siti",
"Rina"
];
Sekarang semua nama pengguna berada di dalam satu collection bernama:
users
Jadi collection membantu kita mengelola sekumpulan data secara lebih terstruktur.
3. Tiga Collection utama di Dart
Dalam materi ini ada tiga collection utama:
Collection
│
├── List
├── Set
└── Map
Masing-masing mempunyai karakteristik berbeda.
List
Digunakan ketika kita mempunyai sekumpulan data yang berurutan.
Contoh:
List<String> names = [
"Budi",
"Andi",
"Siti"
];
Set
Digunakan ketika kita membutuhkan sekumpulan data unik.
Contoh:
Set<String> names = {
"Budi",
"Andi",
"Siti"
};
Set tidak digunakan untuk menyimpan duplikat.
Map
Digunakan ketika data mempunyai hubungan:
key → value
Contohnya:
Map<String, dynamic> user = {
"name": "Budi",
"age": 20,
"job": "Programmer"
};
Di sini:
"name" → "Budi"
"age" → 20
"job" → "Programmer"
Ini sangat cocok untuk data yang mempunyai label/nama atribut.
4. Analogi sederhana
Supaya lebih mudah, bayangkan collection sebagai tempat menyimpan barang.
List = antrean
Misalnya:
[Andi, Budi, Citra, Dodi]
Urutannya penting.
Andi berada di posisi pertama, Budi kedua, dan seterusnya.
Set = kumpulan barang unik
Misalnya kita mempunyai:
{apel, jeruk, mangga}
Kita tidak ingin ada buah yang sama dua kali.
Misalnya:
{apel, jeruk, apel, mangga}
akan menjadi kumpulan yang hanya menyimpan nilai unik.
Map = kamus
Map seperti kamus.
Misalnya:
"name" → "Budi"
"age" → 20
Kita mencari data berdasarkan key.
Mirip seperti:
Nama → Budi
Umur → 20
5. List secara lebih detail
Walaupun tutorial ini baru membahas intro, kita perlu memahami gambaran List terlebih dahulu.
List digunakan untuk menyimpan beberapa data dalam urutan tertentu.
Contoh:
List<String> fruits = [
"Apple",
"Banana",
"Orange"
];
Di dalamnya terdapat tiga data:
Apple
Banana
Orange
Setiap data mempunyai posisi yang disebut index.
Yang perlu diingat:
Index List dimulai dari 0, bukan 1.
Jadi:
Index Value
0 Apple
1 Banana
2 Orange
Kalau ingin mengambil "Apple":
fruits[0]
Kalau ingin mengambil "Banana":
fruits[1]
Ini merupakan konsep yang sangat penting ketika nanti belajar List secara mendalam.
6. Set secara lebih detail
Set juga digunakan untuk menyimpan banyak nilai.
Contoh:
Set<int> numbers = {
10,
20,
30
};
Keistimewaan Set adalah nilai di dalamnya harus unik.
Misalnya kita mencoba memiliki:
Set<int> numbers = {
10,
20,
20,
30
};
Secara konsep, 20 tidak akan disimpan dua kali.
Hasil kumpulannya menjadi:
10
20
30
Jadi Set sangat berguna ketika kita ingin memastikan tidak ada data yang sama.
Misalnya kita mempunyai daftar ID:
101
102
103
101
104
Kalau kita ingin mendapatkan ID unik:
101
102
103
104
Set sangat cocok untuk kebutuhan seperti ini.
7. Map secara lebih detail
Map sedikit berbeda dari List dan Set.
Map menyimpan data dalam bentuk:
KEY → VALUE
Contoh:
Map<String, dynamic> user = {
"name": "Budi",
"age": 20,
"role": "Student"
};
Mari kita pecah:
"name" → "Budi"
name adalah key.
Budi adalah value.
Kemudian:
"age" → 20
age adalah key.
20 adalah value.
Dan:
"role" → "Student"
role adalah key.
Student adalah value.
8. Kenapa Map cocok untuk data pengguna?
Ini berkaitan langsung dengan contoh yang diberikan dalam tutorial.
Misalnya ada seorang user:
Name = Budi
Age = 20
Role = Student
Marks = 90
Graduation = 2026
Daripada membuat:
String name = "Budi";
int age = 20;
String role = "Student";
int marks = 90;
int graduation = 2026;
kita dapat mengelompokkannya:
Map<String, dynamic> user = {
"name": "Budi",
"age": 20,
"role": "Student",
"marks": 90,
"graduation": 2026
};
Sekarang semua informasi tentang user tersebut berada dalam satu variable:
user
Ini yang dimaksud oleh tutor ketika mengatakan:
“we can store all the data inside only a single variable.”
9. Apa maksud dynamic?
Pada contoh tadi ada:
Map<String, dynamic>
Kenapa menggunakan dynamic?
Karena value yang disimpan mempunyai tipe data berbeda.
Misalnya:
"name": "Budi"
adalah String.
Sedangkan:
"age": 20
adalah int.
Dan:
"score": 90.5
adalah double.
Jadi dalam satu Map terdapat:
String
int
double
dynamic memungkinkan value mempunyai tipe yang berbeda.
Namun dalam program Dart yang lebih serius, kita biasanya perlu berhati-hati menggunakan dynamic karena mengurangi sebagian manfaat type safety Dart.
10. Perbedaan List, Set, dan Map
Ini bagian yang wajib kamu pahami.
| Collection | Bentuk | Ciri utama | Contoh penggunaan |
|---|---|---|---|
| List | [ ] | Berurutan, menggunakan index | Daftar nama |
| Set | { } | Nilai unik | Daftar ID unik |
| Map | {key: value} | Data berdasarkan key | Data user |
Contoh:
List
List<String> names = [
"Budi",
"Andi",
"Siti"
];
Artinya:
Saya mempunyai daftar nama yang berurutan.
Set
Set<String> names = {
"Budi",
"Andi",
"Siti"
};
Artinya:
Saya mempunyai kumpulan nama yang harus unik.
Map
Map<String, dynamic> user = {
"name": "Budi",
"age": 20
};
Artinya:
Saya mempunyai data user yang setiap informasinya mempunyai key.
11. Collections bisa berisi berbagai tipe data
Collection tidak hanya bisa menyimpan angka.
Misalnya List String:
List<String> names = [
"Budi",
"Andi",
"Siti"
];
List integer:
List<int> numbers = [
10,
20,
30
];
List double:
List<double> prices = [
10.5,
20.7,
30.2
];
Bahkan kita dapat mempunyai collection yang berisi collection lain.
Misalnya:
List<List<int>> numbers = [
[1, 2, 3],
[4, 5, 6]
];
Ini disebut nested collection.
12. Contoh dunia nyata
Misalkan kita sedang membuat aplikasi sekolah.
Kita mempunyai data:
Nama siswa:
Budi
Andi
Siti
Rina
Kita bisa menggunakan List:
List<String> students = [
"Budi",
"Andi",
"Siti",
"Rina"
];
Kemudian kita mempunyai daftar mata pelajaran yang unik:
Set<String> subjects = {
"Math",
"English",
"Programming"
};
Kemudian kita mempunyai informasi seorang siswa:
Map<String, dynamic> student = {
"name": "Budi",
"age": 20,
"score": 90
};
Jadi:
students → List
subjects → Set
student → Map
13. Gambaran besar Chapter 4
Dari caption, tutor mengatakan bahwa Chapter 4 akan membahas:
Chapter 4 — Collections
│
├── Introduction
│
├── List
│ └── Dibahas lebih mendalam
│
├── Map
│ └── Dibahas lebih mendalam
│
├── Set
│ └── Dibahas lebih mendalam
│
├── Where
│ └── Filtering / pencarian data
│
└── Practice Exercise
Jadi video yang kamu berikan baru pengenalan.
Belum masuk ke penggunaan List, Map, Set, dan where secara mendalam.
14. Apa itu where secara sekilas?
where biasanya digunakan untuk memfilter data berdasarkan kondisi tertentu.
Misalnya kita mempunyai:
10
20
30
40
50
Kemudian kita hanya ingin mengambil angka yang lebih besar dari 25.
Konsepnya:
30
40
50
Jadi where bisa dibayangkan seperti sebuah saringan:
Semua data
↓
where
↓
Data yang memenuhi kondisi
Ini akan dibahas lebih lanjut di bagian berikutnya.
15. Kenapa Collections sangat penting?
Hampir semua aplikasi nyata menggunakan collection.
Contohnya aplikasi toko online.
Kita mempunyai:
Daftar produk
Cocok menggunakan List.
[Sepatu, Baju, Tas, Celana]
Kita mempunyai:
Kategori unik
Cocok menggunakan Set.
{Fashion, Shoes, Accessories}
Kita mempunyai:
Informasi sebuah produk
Cocok menggunakan Map.
{
"name": "Sepatu",
"price": 500000,
"stock": 10
}
Jadi dalam aplikasi nyata, ketiganya sering digunakan bersama.
16. Cara mengingatnya
Gunakan pola sederhana ini:
LIST → “Daftar”
Kalau kamu berpikir:
“Saya punya daftar banyak data.”
Gunakan List.
[ A, B, C, D ]
SET → “Unik”
Kalau kamu berpikir:
“Saya tidak mau ada data yang sama.”
Gunakan Set.
{ A, B, C }
MAP → “Label”
Kalau kamu berpikir:
“Saya ingin setiap data mempunyai nama/key.”
Gunakan Map.
{
nama: Budi,
umur: 20
}
Cara menghafalnya:
List = daftar Set = unik Map = key → value
Kalau tiga konsep ini sudah benar-benar kamu pahami, materi Collections berikutnya akan jauh lebih mudah.
Kesimpulan
Inti dari video ini bukan tentang syntax yang rumit. Tutor sedang memperkenalkan kenapa kita membutuhkan Collections.
Daripada menyimpan data yang jumlahnya banyak menggunakan banyak variable:
userName
userAge
userRole
userScore
userGraduation
...
kita bisa mengelompokkan data sesuai kebutuhannya menggunakan:
List → kumpulan data berurutan
Set → kumpulan data unik
Map → kumpulan data key-value
Dan inilah dasar yang akan digunakan untuk materi berikutnya, terutama ketika mulai belajar List secara mendalam.