List pada Bahasa Pemrograman C#

List pada Bahasa Pemrograman C#
Photo by Glenn Carstens-Peters / Unsplash

Dalam pemrograman, terkadang kita butuh menyimpan banyak data tanpa harus menentukan jumlahnya sejak awal. Kalau pakai array, ukurannya harus tetap, jadi kurang fleksibel. Nah, di sinilah List dalam C# jadi penyelamat!

List adalah salah satu koleksi (Collection) dalam C# yang bisa menyimpan data secara dinamis, artinya kita bisa menambah atau menghapus elemen dengan mudah tanpa perlu repot menentukan ukuran awal seperti array biasa.

Yuk, kita bahas lebih dalam tentang List, mulai dari cara pakai, fitur unggulan, hingga contoh implementasi biar makin paham!

1. Apa Itu List dalam C#?

List<T> adalah generic collection yang digunakan untuk menyimpan sekumpulan data dengan tipe yang sama dan bisa berubah ukurannya secara otomatis.

Ciri-Ciri List

Bisa menambah dan menghapus elemen dengan mudah.
Mendukung berbagai operasi seperti pencarian, sorting, dan filtering.
Berbasis array tapi lebih fleksibel karena ukurannya bisa bertambah.
Menggunakan generic <T> sehingga bisa menyimpan tipe data apapun.

Bayangkan List itu seperti expandable storage. Kalau array biasa itu kayak hard disk dengan kapasitas tetap, List itu seperti cloud storage yang bisa bertambah sesuai kebutuhan.

2. Cara Menggunakan List

Untuk menggunakan List<T>, kita perlu menambahkan namespace System.Collections.Generic.

Contoh List dengan Tipe Data String

using System;
using System.Collections.Generic;

class Program {
    static void Main() {
        List<string> nama = new List<string>();
        nama.Add("Aldo");
        nama.Add("Budi");
        nama.Add("Cindy");
        
        Console.WriteLine("Jumlah item: " + nama.Count);
        Console.WriteLine("Nama kedua: " + nama[1]);
    }
}

Output:

Jumlah item: 3
Nama kedua: Budi

Penjelasan:

  • List<string> digunakan untuk menyimpan kumpulan data bertipe string.
  • Add() digunakan untuk menambah elemen ke dalam List.
  • Count digunakan untuk menghitung jumlah elemen dalam List.

3. Operasi Dasar dalam List

Menambah Elemen ke List

List<int> angka = new List<int>() {1, 2, 3};
angka.Add(4);
angka.AddRange(new int[] {5, 6, 7});

Menghapus Elemen dari List

angka.Remove(3);  // Hapus angka 3
angka.RemoveAt(0); // Hapus elemen pertama
angka.Clear();    // Hapus semua elemen

Mengecek Elemen dalam List

if (angka.Contains(5)) {
    Console.WriteLine("Angka 5 ada dalam List.");
}

Mengakses dan Mengupdate Elemen

angka[1] = 10; // Mengubah elemen kedua jadi 10
Console.WriteLine(angka[1]);

4. Looping dalam List

Kita bisa menggunakan looping untuk menampilkan semua elemen dalam List.

Menggunakan for Loop

for (int i = 0; i < angka.Count; i++) {
    Console.WriteLine("Angka ke-" + (i+1) + ": " + angka[i]);
}

Menggunakan foreach Loop

foreach (int item in angka) {
    Console.WriteLine("Angka: " + item);
}

5. Sorting dan Filtering Data dalam List

Mengurutkan List secara Ascending dan Descending

angka.Sort(); // Urutkan dari kecil ke besar
angka.Reverse(); // Balik urutan List

Menyaring Data dalam List (Filtering dengan FindAll)

List<int> hasilFilter = angka.FindAll(x => x > 5);
foreach (var item in hasilFilter) {
    Console.WriteLine("Angka lebih dari 5: " + item);
}

6. Kapan Harus Menggunakan List?

Gunakan List jika:

  • Butuh menyimpan data dalam jumlah yang tidak tetap.
  • Harus sering menambah dan menghapus elemen secara dinamis.
  • Ingin melakukan pencarian, pengurutan, atau filtering data dengan mudah.

Jangan gunakan List jika:

  • Ukuran datanya sudah tetap sejak awal (lebih baik pakai array!).
  • Performa sangat penting (karena List lebih lambat dibanding array dalam beberapa kasus).

7. Kesimpulan

  • List adalah koleksi dinamis yang bisa bertambah dan berkurang sesuai kebutuhan.
  • Berbeda dengan array, List lebih fleksibel karena ukurannya bisa berubah secara otomatis.
  • Dapat menyimpan tipe data apapun dengan generic <T>.
  • Menyediakan berbagai fitur seperti pencarian, sorting, filtering, dan manipulasi elemen dengan mudah.

Dengan memahami List dalam C#, kamu bisa mengelola data lebih fleksibel dan efisien!

Read more