7 September 2022
•
7 menit baca
Berkenalan dengan LINQ pada C#
Mengenal cara query data yang seragam di C# agar membaca dan memanipulasi koleksi terasa jauh lebih ekspresif.

Apa itu LINQ
Language-Integrated Query atau LINQ adalah cara seragam untuk melakukan query data langsung dari bahasa C#. Sebelum LINQ populer, gaya akses data sering berbeda-beda tergantung sumbernya: database, XML, service, atau koleksi di memori.
Dengan LINQ, bentuk berpikirnya menjadi lebih konsisten. Kita menyusun query dengan kosa kata yang sama, lalu membiarkan provider yang menangani detail sumber datanya.
Fondasi penting: IEnumerable dan IQueryable
LINQ banyak dipakai pada tipe yang mengimplementasikan `IEnumerable<T>` atau `IQueryable<T>`. Pada koleksi di memori, query biasanya dieksekusi terhadap `IEnumerable<T>`. Pada ORM seperti EF Core, query sering diterjemahkan lebih dulu lewat `IQueryable<T>` sebelum dijalankan ke database.
Perbedaan ini penting karena berhubungan dengan kapan query dieksekusi dan di mana proses filtering atau sorting benar-benar terjadi.
Operasi yang paling sering dipakai
Kalau baru mulai, tiga operasi yang paling cepat terasa manfaatnya adalah `Where`, `Select`, dan `OrderBy`. `Where` menyaring data, `Select` membentuk ulang data, dan `OrderBy` mengurutkannya.
Begitu tiga operasi ini terasa natural, sebagian besar manipulasi data harian di C# akan mulai terasa jauh lebih bersih.
var activeUsers = users
.Where(user => user.IsActive)
.OrderBy(user => user.Name)
.Select(user => new
{
user.Name,
user.EmailAddress
});Contoh kecil ini sudah memperlihatkan kenapa LINQ terasa ekspresif untuk membaca alur data.
Method syntax dan query syntax
LINQ menyediakan dua gaya penulisan: method syntax dan query syntax. Dalam praktik sehari-hari, method syntax lebih sering dipakai karena fleksibel, mudah dikombinasikan, dan konsisten dengan extension method lain di .NET.
Query syntax tetap berguna untuk beberapa kebutuhan tertentu, tetapi memahami method syntax lebih dulu biasanya memberi manfaat paling besar.
Simpulan
LINQ membuat pengolahan data di C# terasa lebih ringkas, seragam, dan enak dibaca. Ia bukan sekadar fitur bahasa, tetapi cara berpikir tentang alur data yang lebih jelas.
Kalau ingin cepat mahir, biasakan membaca setiap query seolah-olah kamu sedang menjelaskan transformasi data dalam kalimat biasa. Dari situ intuisi LINQ tumbuh dengan cepat.
Artikel terkait

28 September 2022
•
11 menit baca
Melakukan CRUD Lebih Mudah dengan Entity Framework Core
Pembahasan dasar tentang ORM, komponen inti EF Core, pendekatan code-first, dan studi kasus CRUD entitas User menggunakan SQL Server lalu dipindahkan ke SQLite.

21 September 2022
•
9 menit baca
Belajar Melakukan Unit Testing Automation dengan xUnit
Tulisan ini mengajak kita memahami pentingnya testing, menyiapkan project xUnit, lalu menulis assertion dasar agar perubahan kode lebih aman.

14 September 2022
•
8 menit baca
Abstract Class dan Interface Apa Perbedaannya? (C#)
Pembahasan ringan tentang kapan menggunakan abstract class, kapan lebih cocok memakai interface, dan bagaimana keduanya membantu desain OOP menjadi lebih jelas.