Pengenalan LINQ Pada Visual Studio .Net

 


LINQ merupakan singkatan dari Language Integrated Query.  LINQ merupakan fitur yang sudah ada sejak .Net Framework v3.5

Perbedaan LINQ dengan Query adalah : LINQ selain bisa melakukan query pada database juga dapat melakukan query terhadap data dalam format XML, Entities, Object dan sebagainya. 

LINQ bisa dikatakan secara singkat konsep sama dengan ODBC yang menjadi jembatan dalam mengakses database dalam berbagi format. LINQ menjadi jembatan perantara dalam mengakses berbagai format struktur data. Selama format data mendukung itu IEnumerable Type maka LINQ dapat melakukan query kedalamnya. 


Arsitektur LINQ


Jika dilihat dari arsitektur global LINQ dapat digunakan untuk melakukan query kedalam beberapa format data berikut :
- LINQ to Object : sumber data dari IENumerable dan IQueryable generic collection
- LINQ to DataSet : sumber data dari IENumerable Datarow
- LINQ to SQL : 
- LINQ to Entity : 
- LINQ to XML : sumber data dari IENumerable Xelement

Penggunaan LINQ :

Tanpa kondisi

Dim aKata() As String={"VB .Net ","C#","Visual Studio","Query","LINQ"}  
Dim LINQ = From item In aKata Select item
For Each k In LINQ
 Console.WriteLine(k)
 Next 


Dengan menggunakan Where 

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 


Dengan menggunakan Order

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


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

Berikut contoh penerapannya pada Visual Basic .Net

ini script Visual Basic .net  untuk menampilkan data ke ListBox

Dim pelajaran() As String = {"Matematika", "Fisika", "Sejarah", "Olahraga", "Kesenian", "Komputer"}
ListBox1.Items.Clear()
For Each strPelajaran In pelajaran
    If strPelajaran.StartsWith("P") Then
        ListBox1.Items.Add(strPelajaran)
    End If
Next

dengan LINQ :

Dim pelajaran() As String = {"Matematika", "Fisika", "Sejarah", "Olahraga", "Kesenian", "Komputer"}       
 ListBox1.Items.Clear()
Dim linqPelajaran As IEnumerable(Of String) = From namaPelajaran In pelajaran Select namaPelajaran  Where namaPelajaran.StartsWith("P")

 For Each strPelajaran In pelajaran
            ListBox1.Items.Add(strMakanan)
Next


Contoh lain denga n LINQ  :

Dim bilangan() As Integer = {10, 12, 52, 32, 41, 75, 8, 88, 98, 72, 55, 21, 66, 33, 44, 41}
Dim bilGanjil As IEnumerable(Of Integer) = From bilGanjil In bilangan _
                                    Select bilGanjil Where (bilGanjil Mod 2 = 1)
For Each ganjil In bilGanjil
            ListBox1.Items.Add(ganjil)
Next