School of Information Systems

Overview LINQ

LINQ adalah singkatan dari Language Integrated – Query. LINQ ini merupakan salah satu anak dari DBMS (Database Management Studio) yang mana berfungsi untuk melakukan CRUD (Create, Read, Update, dan Delete) pada database. LINQ ini berorientasi pada pemrograman dengan bahasa C#. Query yang digunakan pada LINQ adalah query dengan sistem string sederhana yang tidak memedulikan waktu ataupun jenis serta waktu kompilasi. Query ini pun memiliki ciri khas yang berbeda dengan DBMS lainnya seperti Sql Database, Oracle, dll. Sistem Query dalam LINQ ini hampir mirip dengan sistem programming, baik itu bahasanya ataupun fungsinya, objeknya yang dapat diterapkan dalam software database lainnya. Query pada LINQ ini adalah kontruksi kelas pertama pada objek, method ataupun peristiwa. Query disini juga nantinya akan dijadikan referensi bagi software lainnya untuk mendapatkan pengalaman dalam mengeksekusi query untuk objek ( LINQ ke objek), database relational (LINQ ke SQL), dan juga LINQ ke XML.

LINQ memiliki suatu ciri khas dimana memiliki ekspresi query disini. Eksperis query dalam LINQ memiliki kalimat deklaratif yang dapat digunakan untuk melakukan filtering, pengurutan ataupun pengelompokan di dalam sumber data dengan kode yang sangat minimum. Query ini dapat digunakan untuk mengubah data-data dalam software database manajemen lainnya. Beberapa contoh query dalam LINQ dapat digunakan diantaranya pada SQL, XM, dan juga Ado. Net.

Query sendiri mempunyai gambaran umum diantara sebagai berikut:

  1. Sebagai integrated query, maka query dari LINQ sendiri dapat diselesaikan oleh software lainnya, seperti query yang digunakan untuk CRUD database dalam SQL dan nantinya hasil CRUD ini juga dapat diakses oleh software lain, seperti XML. Pada intinya adalah salah satu query dalam XML bisa digunakan dalam berbagai software lain untuk mengeksekusi data
  2. Query juga dapat dipahami dengan mudah oleh pengguna apalagi pengguna yang menggunakan bahasa C# karena query menggunakan bahasa C# yang sudah terkenal.
  3. Query sebaiknya dijalankan ketika kita sudah menulis kembali variabel query .
  4. Pada saat compile, ekspresi akan diubah menjadi standard query operators method calls yang menyesuaikan aturan pada bahasa C#.
  5. Penggunaan query disini memiliki 2 macam, yaitu sintaks query dan sintaks metode. Perbedaannya adalah jika sintaks query lebih banyak menggunakan bahasa sehari hari dibandingkan sintaks metode yang menggunakan bahasa lebih kompleks sehingga sintaks query lebih mudah untuk dibaca
  6. Sintaks metode yang dapat digabungkan dengan sintaks query, seperti pada operasi count dan max yang tidak bisa diakses menggunakan sintaks query karena itu merupakan fungsi dan harus dipanggil menggunakan sintaks metode
  7. Query yang fleksibel yang dapat diubah atau dijalankan menjadi pohon ekspresi. Sebagai contoh, IEnumerable<T> yang merupakan query yang tidak bisa di compile langsung harus dikompilasi ke delegasi, baru ke pohon ekspresi dan IQueryable yang langsung dapat dicompile ke pohon ekspresi.

Sumber referensi :

https://learn.microsoft.com/id-ID/dotnet/csharp/programming-guide/concepts/linq/

Edi Purnomo Putra, Christopher Kevin