List #
List
adalah salah satu tipe data koleksi paling dasar dan penting dalam Dart yang digunakan untuk menyimpan kumpulan elemen dalam urutan tertentu. List dalam Dart setara dengan array dalam banyak bahasa pemrograman lainnya, tetapi lebih fleksibel dan memiliki banyak metode bawaan untuk memanipulasi data.
Pengertian dan Dasar List
#
List
dalam Dart adalah kumpulan elemen yang diurutkan. Elemen-elemen dalam list bisa diakses dengan menggunakan indeks, di mana indeks dimulai dari 0 untuk elemen pertama. List dapat menyimpan elemen dengan tipe data yang sama atau tipe data yang berbeda, tergantung bagaimana list tersebut didefinisikan.
Contoh Sederhana:
void main() {
List<int> angka = [1, 2, 3, 4, 5];
print(angka[0]); // Output: 1
}
Dalam contoh di atas, angka
adalah list yang menyimpan elemen bertipe int
, dan elemen pertama diakses dengan angka[0]
.
Jenis-jenis List #
Dart mendukung dua jenis list utama: fixed-length list dan growable list.
Fixed-Length List #
List dengan panjang tetap adalah list yang ukurannya ditentukan pada saat pembuatan dan tidak bisa diubah setelahnya. Anda tidak bisa menambah atau menghapus elemen dari list ini.
Contoh:
void main() {
List<int> angka = List.filled(5, 0); // List dengan panjang tetap 5, diisi dengan nilai 0
angka[0] = 1;
print(angka); // Output: [1, 0, 0, 0, 0]
}
Dalam contoh di atas, angka
adalah list dengan panjang tetap yang diisi dengan nilai 0
. Nilai elemen bisa diubah, tetapi ukuran list tidak bisa diubah.
Growable List #
List dengan panjang yang bisa bertambah atau berkurang memungkinkan Anda menambah atau menghapus elemen. Ini adalah jenis list yang paling sering digunakan dalam Dart.
Contoh:
void main() {
List<int> angka = [1, 2, 3];
angka.add(4); // Menambahkan elemen ke list
print(angka); // Output: [1, 2, 3, 4]
}
Dalam contoh di atas, angka
adalah growable list yang ukurannya dapat berubah dengan menambahkan atau menghapus elemen.
Membuat List #
Ada beberapa cara untuk membuat list dalam Dart.
Menggunakan Literal #
Cara paling umum untuk membuat list adalah dengan menggunakan literal list, di mana elemen-elemen didefinisikan di dalam tanda kurung siku []
.
Contoh:
void main() {
List<int> angka = [1, 2, 3];
List<String> nama = ['Alice', 'Bob', 'Charlie'];
}
Menggunakan Konstruktor #
Anda juga bisa membuat list menggunakan konstruktor bawaan dari kelas List
.
Contoh:
void main() {
List<int> angka = List.filled(5, 0); // List dengan panjang tetap, diisi dengan 0
List<String> nama = List.empty(growable: true); // List kosong yang dapat bertambah
nama.add('Alice');
print(nama); // Output: [Alice]
}
Akses dan Manipulasi Elemen List #
Ada berbagai metode untuk mengakses dan memanipulasi elemen dalam list.
Akses Elemen #
Elemen dalam list dapat diakses menggunakan indeks. Indeks pertama adalah 0, dan yang terakhir adalah list.length - 1
.
Contoh:
void main() {
List<int> angka = [1, 2, 3, 4, 5];
print(angka[2]); // Output: 3
}
Menambah Elemen #
Anda bisa menambah elemen ke growable list menggunakan metode add()
untuk menambah satu elemen atau addAll()
untuk menambah beberapa elemen sekaligus.
Contoh:
void main() {
List<int> angka = [1, 2, 3];
angka.add(4);
angka.addAll([5, 6]);
print(angka); // Output: [1, 2, 3, 4, 5, 6]
}
Menghapus Elemen #
Anda bisa menghapus elemen dari list menggunakan metode remove()
, removeAt()
, removeLast()
, atau removeWhere()
.
Contoh:
void main() {
List<int> angka = [1, 2, 3, 4, 5];
angka.remove(3); // Menghapus nilai 3
angka.removeAt(0); // Menghapus elemen di indeks 0
print(angka); // Output: [2, 4, 5]
}
Mengubah Elemen #
Anda bisa mengubah elemen di list dengan langsung mengaksesnya melalui indeks.
Contoh:
void main() {
List<int> angka = [1, 2, 3, 4, 5];
angka[0] = 10;
print(angka); // Output: [10, 2, 3, 4, 5]
}
Menggabungkan List #
Anda bisa menggabungkan dua list menggunakan metode addAll()
atau operator +
.
Contoh:
void main() {
List<int> angka1 = [1, 2, 3];
List<int> angka2 = [4, 5, 6];
List<int> gabungan = angka1 + angka2;
print(gabungan); // Output: [1, 2, 3, 4, 5, 6]
}
Mengurutkan List #
Anda bisa mengurutkan list menggunakan metode sort()
.
Contoh:
void main() {
List<int> angka = [5, 3, 1, 4, 2];
angka.sort();
print(angka); // Output: [1, 2, 3, 4, 5]
}
Iterasi pada List #
Ada beberapa cara untuk mengiterasi elemen dalam list, seperti menggunakan loop for
, for-in
, atau metode forEach()
.
Menggunakan Loop for
#
Contoh:
void main() {
List<int> angka = [1, 2, 3, 4, 5];
for (int i = 0; i < angka.length; i++) {
print(angka[i]);
}
}
Menggunakan Loop for-in
#
Contoh:
void main() {
List<int> angka = [1, 2, 3, 4, 5];
for (var elemen in angka) {
print(elemen);
}
}
Menggunakan forEach()
#
Contoh:
void main() {
List<int> angka = [1, 2, 3, 4, 5];
angka.forEach((elemen) {
print(elemen);
});
}
Metode dan Properti Umum pada List #
Dart menyediakan berbagai metode dan properti untuk memanipulasi list. Berikut adalah beberapa yang paling umum:
length
: Mendapatkan panjang list.isEmpty
: Mengecek apakah list kosong.isNotEmpty
: Mengecek apakah list tidak kosong.first
: Mendapatkan elemen pertama dari list.last
: Mendapatkan elemen terakhir dari list.reversed
: Mendapatkan iterasi dari list dalam urutan terbalik.contains(element)
: Mengecek apakah list mengandung elemen tertentu.indexOf(element)
: Mendapatkan indeks dari elemen pertama yang ditemukan dalam list.clear()
: Menghapus semua elemen dari list.
Contoh Penggunaan:
void main() {
List<int> angka = [1, 2, 3, 4, 5];
print(angka.length); // Output: 5
print(angka.isEmpty); // Output: false
print(angka.first); // Output: 1
print(angka.last); // Output: 5
print(angka.reversed.toList()); // Output: [5, 4, 3, 2, 1]
print(angka.contains(3)); // Output: true
print(angka.indexOf(4)); // Output: 3
angka.clear();
print(angka); // Output: []
}
List Multi-Dimensi #
Dart juga mendukung list multi-dimensi, yang merupakan list di dalam
list. Ini berguna untuk menyimpan data yang lebih kompleks seperti matriks.
Contoh:
void main() {
List<List<int>> matriks = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
print(matriks[0][1]); // Output: 2
}
Pada contoh di atas, matriks
adalah list dua dimensi yang menyimpan tiga list di dalamnya.
Kesimpulan #
List
dalam Dart adalah struktur data yang sangat fleksibel dan kuat untuk menyimpan kumpulan elemen dalam urutan tertentu. Dengan berbagai metode bawaan yang mendukung operasi penambahan, penghapusan, pencarian, pengurutan, dan manipulasi elemen lainnya, List
adalah alat yang sangat berguna dalam pengembangan aplikasi. Memahami cara menggunakan list secara efektif dalam Dart akan membantu Anda menulis kode yang lebih efisien dan mudah dipelihara.