Membuat Project C#
Sebelum menulis kode programnya, kita membuat project C# terlebih dahulu.
- Buka Visual Studio
- Buat Project melalu menu File > New > Project
- Pilih Visual C# -> Console Application
- Dan jangan lupa tentukan target .NET Framework 3.5.
- Kemudian tentukan nama project, dan klik Create.
- Code: Select all
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Belajar_Linq
{
class Program
{
static void Main(string[] args)
{
}
}
}
Membuat Data Source dalam Memory
Salah data source yang paling mudah untuk implementasi penggunaan query LINQ adalah Mahasiswa. Oleh karena itu kita akan menggunakan kelas Mahasiswa untuk implementasi query LINQ ini nantinya. Sedikit info mengenai kelas Mahasiswa, tiap mahasiswa mempunya Nama, NIM, dan Nilai. Yang dimana ini nantinya merupakan property yang akan dipakai dalam kelas Mahasiswa.
Sedikit tambahan, property Nilai mahasiswa disini adalah merupakan kumpulan data nilai, jadi bukan merupakan satu data nilai saja.
Membuat Kelas Mahasiswa
Untuk itu kita akan membuat kelas mahasiswa, dengan mengakses menu Project > Add Class... Kemudian beri nama Mahasiswa.cs. Di dalam kelas Mahasiswa ini property Nilai merupakan sebuah kelas List yang bertipe integer. Kelas List ini merupakan bagian dari namespace System.Collection.Generics. Kode kelas Mahasiswa adalah kira-kira seperti ini :
- Code: Select all
class Mahasiswa
{
public string Nama { get; set; }
public string NIM { get; set; }
public List<int> Nilai { get; set; }
public Mahasiswa(string nama,string nim, List<int> nilai)
{
Nama = nama;
NIM = nim;
Nilai = nilai;
}
}
Membuat Objek List dari Kelas Mahasiswa
Kemudian kelas Mahasiswa yang kita buat tadi kita buat objeknya (dalam bentuk list data mahasiswa) di dalam fungsi Main() program:
- Code: Select all
static void Main(string[] args)
{
List<Mahasiswa> dataMahasiswa = new List<Mahasiswa>
{
new Mahasiswa(
"agoesdoubleb",
"080916001",
new List<int> { 75, 86, 67, 21 }),
new Mahasiswa(
"flack",
"080916002",
new List<int> { 65, 90, 70, 87 }),
new Mahasiswa(
"pujanggabageur",
"080916003",
new List<int> { 80, 86, 90, 95 }),
new Mahasiswa(
"gyus",
"080916004",
new List<int> { 70, 90, 78, 87 }),
new Mahasiswa(
"mbahlawoe",
"080916005",
new List<int> { 75, 86, 67, 21 }),
new Mahasiswa(
"trail",
"080916006",
new List<int> { 65, 90, 70, 87 }),
new Mahasiswa(
"vberror13",
"080916007",
new List<int> { 80, 86, 90, 95 }),
new Mahasiswa(
"zigoalcapone",
"080916008",
new List<int> { 70, 90, 78, 87 }),
new Mahasiswa(
"kamar82",
"080916009",
new List<int> { 70, 90, 78, 87 }),
new Mahasiswa(
"pujisusanto",
"080916010",
new List<int> { 100, 100, 100, 100 })
};
}
Memulai LINQ
Men-SELECT semua data mahasiswa
Klausa select adalah perintah paling mudah dalam sistem query. Dari dataMahasiswa diatas untuk melakukan SELECT ALL atau men-select semua data bisa seperti ini (taruh dibawah pembuatan kelas object dataMahasiswa :
- Code: Select all
var selectAllMahasiswa =
from mahasiswa in dataMahasiswa select mahasiswa;
Untuk melihat hasilnya kita buat sebuah perulangan foreach, contohnya seperti ini :
- Code: Select all
var selectAllMahasiswa =
from mahasiswa in dataMahasiswa select mahasiswa;
foreach (Mahasiswa mhs in selectAllMahasiswa)
Console.WriteLine(mhs.Nama);
Hasilnya akan mejadi seperti ini ketika dijalankan :
- Code: Select all
agoesdoubleb
flack
pujanggabageur
gyus
mbahlawoe
trail
vberror13
zigoalcapone
kamar82
pujisusanto
Dan SELAMAT, sampai tahap ini Anda sudah dinyatakan bisa melakukan query LINQ dalam C#.
Beberapa Perintah-Perintah Dalam LINQ
Syntax WHERE
Bagi Anda yang sudah terbiasa dengan query SQL, maka tidak akan asing dengan klausa ini. Ya, klausa ini adalah untuk memfilter data hasil query sesuai yang di inginkan. Contoh kali ini adalah menampilkan nama mahasiswa yang dimulai dengan huruf pertama “P”.
- Code: Select all
var selectWhereNamaDepanP =
from mahasiswa in dataMahasiswa
where mahasiswa.Nama.ToLower().Substring(0, 1) == "p"
select mahasiswa;
Seperti sebelumnya untuk menampilkan hasilnya kita buat perulangan foreach lagi :
- Code: Select all
foreach (Mahasiswa mhs in selectWhereNamaDepanP)
Console.WriteLine(mhs.Nama);
Syntax ORDERBY
Kadang kalanya kita harus menyortir urutan data yang akan ditampilkan agar hasilnya urut dan sesuai keinginan. Oleh karena itu di LINQ disediakan syntax yang dinamakan orderby. Contoh berikut ini adalah mengambil data mahasiswa tetapi di urutkan sesuai dengan NIM-nya :
- Code: Select all
var orderByNamaDepan =
from mahasiswa in dataMahasiswa
where mahasiswa.Nama.ToLower().Substring(0, 1) == "p"
orderby mahasiswa.NIM
select mahasiswa;
Syntax GROUP – BY
Sintaks group by juga sama saja dengan sintax query di sql, yaitu untuk mengelompokan data tertentu. Contoh berikut ini adalah melakukan group terhadap huruf pertama dari mahasiswa :
- Code: Select all
var groupNamaDepan =
from mahasiswa in dataMahasiswa
group mahasiswa by mahasiswa.Nama.Substring(0, 1);
Setelah kita menggunakan group, otomatis hasil dari query kita berbeda dengan hasil tanpa group. Itu dikarenakan di dalam sistem LINQ tipe data dari hasil group dan non-group berbeda (bisa di lihat saat mengarahkan mouse ke variabel resultnya. Karena berbeda cara untuk menampilkannya juga sedikit dirubah menjadi seperti ini :
- Code: Select all
foreach (var mhsGroup in groupNamaDepan)
{
Console.WriteLine("GROUP : " + mhsGroup.Key);
foreach (var x in mhsGroup)
{
Console.WriteLine(" " + x.Nama);
}
}
Source Code untuk Tutorial Ini bisa di download di : http://www.i-bego.com/sc/BelajarLINQ.zip
Salam, flack.







klo yang ini percaya deh.... "Programming Language" nya by request... 
