Hari 6: List & Map
60 min
Last updated 09 Apr 2026
List di Dart
void main() {
// Fixed-length list
List nilaiFixed = List.filled(3, 0);
// Growable list
List buah = ["Apel", "Mangga"];
buah.add("Jeruk");
buah.addAll(["Pisang", "Anggur"]);
print(buah); // [Apel, Mangga, Jeruk, Pisang, Anggur]
print(buah.length); // 5
print(buah[0]); // Apel
print(buah.first); // Apel
print(buah.last); // Anggur
buah.remove("Mangga");
print(buah); // [Apel, Jeruk, Pisang, Anggur]
}
List Methods Penting
void main() {
List angka = [5, 3, 8, 1, 9, 2, 7];
angka.sort();
print(angka); // [1, 2, 3, 5, 7, 8, 9]
print(angka.contains(5)); // true
print(angka.indexOf(8)); // 5
print(angka.where((n) => n > 5).toList()); // [7, 8, 9]
print(angka.map((n) => n * 2).toList()); // [2, 4, 6, 10, 14, 16, 18]
print(angka.reduce((a, b) => a + b)); // 35
}
Map di Dart
void main() {
Map mahasiswa = {
"nama": "Budi",
"umur": 20,
"ipk": 3.75,
"aktif": true,
};
print(mahasiswa["nama"]); // Budi
mahasiswa["jurusan"] = "Informatika";
mahasiswa.remove("aktif");
mahasiswa.forEach((key, value) {
print("$key: $value");
});
print(mahasiswa.keys.toList());
print(mahasiswa.values.toList());
print(mahasiswa.containsKey("ipk")); // true
}
💡
Notice: reduce() memproses list menjadi satu nilai. Gunakan a > b ? a : b untuk max.
Assignment
Hitung rata-rata, nilai tertinggi, dan terendah dari List nilai.
Expected output:
Nilai: [78, 85, 92, 67, 88]
Rata-rata: 82.0
Tertinggi: 92
Terendah: 67
Dart
main.dart
Solution
Output