Berkenalan dengan LINQ

Tak kenal maka tak sayang itu kata pepatah. Tak kenal maka kenalan itu kata pepatah edisi revisi abad 21. Tak kenal maka ta’aruf itu pepatah yang saya dengar dulu saat jaman mahasiswa ikut mentoring agama islam di kampus πŸ˜€ . Intinya kalau mau tahu sesuatu ya kenalan dulu.

C#

Teknologi data access di platform .NET yang hukumnya wajib untuk dipelajari, tidak boleh tidak menurut saya adalah LINQ (Language Integrated Query). Belum tahu ya? makanya kenalan!.

Pada tulisan ini saya akan menjadi pihak ketiga yang memperkenalkan antara pembaca dan LINQ. Ada 4 poin yang akan saya kenalkan dari LINQ yaitu :
1. Projection (Select)
2. Restriction (Where)
3. Aggregation (Group By)
4. Ordering (Order By)

Data Dummy

Sebagai sumber data yang digunakan pada tutorial ini kita sama-sama menggunakan data bukus berikut ini.

Projection

Namanya saja keren, projection itu maksudnya select kalau di query database. Di LINQ kalau kita ingin mengambil data pada koleksi bukus bisa dilakukan sebagai berikut

Kalau seperti di atas tidak tampak istimewanya karena tanpa pakai LINQ pun sudah bisa sebenarnya, sementara biarkan dulu kita lihat kesaktiannya nanti.

Di SQL kita bisa melakukan select pada kolom-kolom yang kita kehendaki saja, di LINQ pun bisa!. Ada 2 teknik :

1. Anonymous Class
Field-filed yang kita pilih dimasukkan ke sebuah kelas yang anonym, alias tidak punya nama dan memang tidak ada deklarasinya

2. Class
Cara ke-2 ini field yang dipilih akan dimasukkan ke kelas yang kita definisikan, misal kelas berikut

Dan berikut prosesnya memasukkan hasil select ke kelas BukuSingkat

Restriction

Bagian ini pasti jadi idola karena sering digunakan. Fungsinya sama dengan klausa where di SQL yaitu untuk memfilter data. Misal dipilih data yang penulisnya Pramoedya Ananta Toer

Contoh lain, pilih data yang jumlah halaman lebih dari 400

Aggregation

Ini juga ada di SQL yakni clause group by. Pada contoh di bawah dimunculkan berapa buku yang telah ditulis oleh masing-masing penulis

Ordering

Hmmmm kalau ini sih tidak perlu diragukan lagi kegunaannya ya. Contoh di bawah mengurutkan data buku berdasarkan jumlah halaman dari yang paling sedikit

Penutup

Semoga bermanfaat tulisan saya tentang LINQ ini dan semoga sudah mengenal LINQ walaupun cuma sedikit πŸ™‚

Facebook Comments
 

Agung Setiawan

Agung Setiawan adalah software engineer di BukaLapak.com, penulis sekaligus pecinta sastra, dan pembaca buku

 
Halo, perkenalkan saya Agung Setiawan.
Saya Software Engineer di BukaLapak.
Simak pemikian saya soal dunia Software Engineering via Twitter di @agungsetiawanmu dan facebook
Blog ini saya update seminggu sekali jadi sering-sering saja mampir
Mau belajar Vim bareng saya?
Belajar ngoding dari nol menggunakan PHP

Leave a Reply

Your email address will not be published. Required fields are marked *