Berkenalan dengan LINQ (Part 1)

LINQ singkatan dari Language Integrated Query, lalu apa bedanya sih dengan Query yang selama ini digunakan dalam database? Salah satu perbedaannya LINQ selain bisa melakukan query pada database juga dapat melakukan query terhadap data dalam format XML, Entities, Object dan sebagainya.

Secara singkat konsepnya sama dengan ODBC yang menjadi jembatan dalam mengakses database dalam berbagi format. LINQ disini juga menjadi jembatan perantara dalam mengakses berbagai format struktur data. Selama format data mendukung IEnumerable Type maka LINQ dapat melakukan query kedalamnya.

Sebagai contoh, seperti biasa kita mulai ritual dengan coba membuat script �Hello World� untuk melihat proses LINQ.

[php]

Dim aKata() As String={"Hello","World","Visual","Studio","LINQ"}
Dim LINQ = From item In aKata _
Select item
For Each k In LINQ
Console.WriteLine(k)
Next

[/php]

Baris 1�� ��� �: proses deklarasi variable ARRAY String
Baris 2,3�� �: Sintaks pengunaan LINQ, untuk mencoba melakukan query kedalam format data ARRAY string yang telah di deklarasikan sebelumnya. Hasil proses query akan disimpan kedalam variable LINQl.
Baris 4,5,6�� �: Proses membaca data hasil query dengan LINQ dan menampilkannya pada console.

Dari contoh diatas kita lihat LINQ melakukan Query data kedalam sebuah ARRAY collection, secara sintaks juga mungkin tidak jauh berbeda dengan pengunaan QUERY pada SQL, perbedaanya keyword FORM digunakan diawal dan keyword SELECT digunakan pada bagian akhir. Selain Form dan Select kita juga dapat mengunakan WHERE dan ORDER seperti pada SQL Query untuk melakukan filter data dan pengurutan data.

WHERE
Berikut sample pengunaan WHERE dalam LINQ untuk melakukan filter data.

[php]

Dim aNumbers() As Integer = {0, 1, 2, 3, 4, 5, 6}
Dim LINQ = From num In aNumbers _
Where num Mod 2 = 0 _
Select num
For Each number In LINQ
Console.Write(number & " ")
Next

[/php]

Baris 1�� ��� �: Pembuatan variable array integer
Baris 2,3,4�� �: Sintaks pengunaan WHERE pada LINQ untuk melakukan filter data, disini dilakukan filter terhadap nilai2 integer yg habis dibagi 2 dengan (MOD), dari proses ini hasil yg diperoleh hanyalah data2 bilangan genap.
Baris 5,6,7�� �: Proses loop pembacaan data dan menampilkan data pada console.

ORDER
Selanjutnya contoh berikut pengunaan ORDER dalam melakukan pengurutan data pada LINQ.

[php]

Dim aData() As Char = {"B", "D", "C", "A", "F", "E", "G"}
Dim LINQ = From item In aData _
Order By item _
Select item
For Each item In LINQ
Console.Write(item & " ")
Next

[/php]

Baris 1��� : Pembuatan data Array character yang urutannya masih berantakan
Baris 2,3,4��� : Melakukan proses query Array data dan melakukan Index pada hasil yang dapatkan.
Baris 5,6,7��� : Proses loop pembacaan data dan memampilkan data pada console

Contoh2 diatas hanya sebagian proses pengunaan LINQ, hanya sebagai perkenalan awal bagaimana LINQ dapat melakukan Query kedalam format data selain Query yang biasa dilakukan dalam struktur database. Keyword-keyword yg digunakan pada LINQ ini juga mungkin hamper sama dengan penguaan Keyword pada Query dalam SQL, kalau dilihat perbedaanya hanya pada letak penulisannya saja.

Teknologi LINQ ini sendiri diperkenalkan pertama kali oleh Anders Hejlsberg dalam Microsoft Profesional Developers Conference (PDC) tahun� 2005, tujuannya adalah membuat standarisasi dan memudahkan pattern proses pengaksesan data. Dengan adanya standart pengaksesan data maka para developer/programmer dapat melakukan cara yg sama dalam memproses beberapa format data (Database, XML ataupun Collection data object)

Berikut diagram arsitektur LINQ secara global dalam proses pengaksesan data.

LINQ

LINQ

Secara global terlihat LINQ dapat digunakan untuk melakukan query kedalam beberapa format data berikut :

  • LINQ to Object
  • LINQ to XML
  • LINQ to Database (SQL dan Dataset)
  • LINQ to Entity

Pembahasan detail masing2 proses diatas kita bahas di posting2 berikutnya

Related Posts



Leave a Reply