VISUAL C# No.45: Mengenal LINQ dan penerapannya pada ArrayList, Strings dan File Directories (LINQ Bag 2)


LINQ Bagian 1: Mengenal LINQ dan penerapannya pada Array, Xml dan Sql [Click disini]
LINQ Bagian 2: Mengenal LINQ dan penerapannya pada ArrayList, Strings, File Directories [Halaman ini]
LINQ Bagian 3: Mengenal LINQ dan penerapannya pada Dataset [Click disini]
LINQ Bagian 4: Mengenal LINQ dan penerapannya pada Entities [Belum]

Pada tutorial sebelumnya, kita telah membahas tetang apa itu LinQ serta bagaimana penerapannya pada Array, XML dan SQL. Nah, pada tutorial ini, kita akan menerapkannya pada ArrayList, Strings, File Directories, dan Reflection.

Sebetulnya, dalam Visual Studio, penerapan LINQ tersebut bermacam – macam, diantaranya adalah sebagai berikut:
1.LinQ To Object, contoh: LINQ and ArrayList, LINQ and Strings, LINQ and File Directories.
2.LinQ To ADO.NET, contoh: LINQ and DataSet.
3.LinQ To XML
4.LinQ To SQL
5.Dan lain – lain


Mari kita bahas satu persatu

LINQ and ArrayList

ArrayList merupakan non-generic IEnumerable collections. Nah, pasti bingung, non-generic itu apa sih? IEnumerable itu apasih? Collections itu apa sih?? Semua istilah ini bisa anda cari di internet, pembahasan kita adalah pada LINQ, sehingga anda bisa mencari dan mempelajari sendiri istilah – istilah tersebut di google. :)

Atau bila anda ingin membaca buku yang saya pegang, anda bisa mendownload ebook “Professional C# 5.0 and .NET 4.5.1” di sini. [[----LINK UNTUK EBOOK INI---]] , silahkan lihat dan baca chapter 5 untuk Generics, chapter 10 untuk Collections, dan chapter 11 untuk LinQ.

Mari kita lanjut.

Saat menggunakan LinQ untuk mengeksekusi Query pada non-generic IEnumerable collections seperti ArrayList, kita secara ekplisit harus mendekarasikan terlebih dahulu type range variable dalam ArrayList tersebut.

Contoh, saya ambil dari Visual Studio Documentations:
Misalnya kita memiliki sebuah ArrayList dari object Student, maka query kita harus seperti berikut ini,

var query = from Student s in arrList.......

Nah, bisa anda lihat, kita membuat s yang merupakan type Student.
Berikut merupakan contoh kode nya:



Penjelasan dari kode di atas adalah, terlebih dahulu kita membuat sebuah object Student dari Class Student yang sudah kita buat sebelumnya. Pada Class Student kita menambahkan beberapa member dari class yaitu properties ‘NamaDepan’, ‘NamaBelakang’, dan ‘Nilai’.

Nah, kemudian kita membuat sebuah object lain yang bertipe ArrayList dan kita berikan nama ‘DataSiswa’.

Lalu kita membuat beberapa object lagi dari class Student, kemudian memasukkannya ke dalam ‘DataSiswa’. Mudah bukan?

Baru kemudian kita membuat sebuah query dan mengeksekusinya. Coba perhatikan dan baca pelan – pelan query yang diketikkan pada source code tersebut. :)

Hasilnya adalah pada gambar berikut,
Lihat gambar 1:


LINQ and Strings


Yang berikutnya adalah kita akan membahas tentang LinQ pada Strings.

LinQ bisa juga digunakan untuk menjalankan query pada string, hal ini akan sangat mempemudah sekali setiap programmer maupun pada developer untuk membuat program yang berhubungan dengan String.

Kita bisa menggunakan Regular Expression (regex) maupun fungsi Split yang bisa kita kombinasikan dengan LinQ proses.
Contoh:
Mencari dan menghitung jumlah kata hasil pencarian dalam sebuah string paragraf
Lihat kode berikut ini:


Anda bisa lihat, betapa mudahnya membuat search engine console application dengan algoritma yang sangat simple dengan LinQ.
Lihat gambar 2:


Penjelasan dari kode anda bisa membacanya secara perlahan, pasti mudah untuk memahaminya. :)
Untuk contoh – contoh yang lain, anda bisa mencari banyak sekali yang sudah tersedia di Internet.

LINQ and File Directories

LinQ juga bisa digunakan untuk search engine dalam mencari file – file berdasarkan kata kunci tertentu. Pada kode di bawah ini, kita akan memperagakan bagaimana sebuah Query bisa dengan mudah men-display file yang memiliki ektensi tertentu dalam sebuah folder.

Lihat kode berikut ini, dan bacalah:


Secara umum, kode di atas akan mencari file dengan ektensi .wav pada folder yang sudah ditentukan.

Perhatikan, kita membuat sebuah .NET Generic Collections IEnumerable , untuk yang belum tahu apa itu Generic Collections silahkan baca ebook yang sudah saya sebutkan di atas.

Hasil dari kode di atas adalah seperti berikut ini,
Lihat gambar 3:


Nah, hayo siapa yang bisa memodifikasi kodenya untuk mencari ‘nama file’ berdasarkan ‘katakunci’ tertentu??? :P
Demikian tutorial LinQ untuk bagian kedua, semoga bermanfaat,

Salam,

Tidak ada komentar

Diberdayakan oleh Blogger.