Learn
← Previous Next →

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