<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://geeks.netindonesia.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Rully Yulian MF</title><link>http://geeks.netindonesia.net/blogs/yulian/default.aspx</link><description>Independent IT Trainer and Software Developer</description><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 20917.1142)</generator><item><title>Bandung MSDN Day (29 Nov 08) Event Report</title><link>http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/30/bandung-msdn-day-29-nov-08-event-report.aspx</link><pubDate>Sun, 30 Nov 2008 14:19:00 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:82657</guid><dc:creator>yulian</dc:creator><slash:comments>8</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/yulian/rsscomments.aspx?PostID=82657</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/30/bandung-msdn-day-29-nov-08-event-report.aspx#comments</comments><description>&lt;p&gt;Hari Sabtu pada tanggal 29 Nov 2008 telah diadakan event MSDN Day di Bandung. 
Menurut saya yang selama ini tinggal di Bandung, event tersebut merupakan event 
terbesar di Bandung yang pernah diadakan oleh Microsoft. Peserta yang hadir sekitar kurang lebih 1000 
orang yang notabene merupakan mahasiswa. Memang selama ini MUGI Bandung 
membantu mempromosikan event ini kebanyakan ke kampus-kampus yang ada di 
Bandung, baik itu swasta maupun Negeri. Begitu juga mungkin dengan HMIF ITB.&lt;/p&gt;
&lt;p&gt;Pada event ini untuk materi dibagi kedalam 2 track, yaitu IT Pro dan 
Developer. Semua peserta tampak antusias dan sabar menunggu sampai event 
tersebut berakhir :) . MUGI Bandung membuka stand disana untuk pendaftaran 
anggota baru yang ingin bergabung. Para pendaftar cukup mengisi nama, email, 
asal institusi. Selain itu kita bagi-bagi stiker MUGI Bandung yang habis 
sebanyak 150 lembar. Jumlah pendaftar juga cukup lumayan yaitu sekitar 150 orang 
lebih, yang akan kita invite nantinya ke milis MUGI Bandung. Selain itu juga di 
stand pendaftaran kita sempat bagi-bagi cd-cd video training, dan buku-buku 
lewat game quiz pertanyaan. &lt;/p&gt;
&lt;p&gt;Dibawah ini foto-foto yang saya ambil dari kamera-kamera yang jepret-jepret 
waktu itu :D...bagi speaker yang ga ada fotonya dibawah ini maaf ya soalnya 
foto-foto ini juga comotan dari sana sini :))...yang punya account &lt;a href="http://www.facebook.com/album.php?aid=163041&amp;amp;id=1158236762" target="_blank"&gt;di facebook silahkan dilihat-lihat disana&lt;/a&gt; :D&lt;/p&gt;
&lt;p&gt;Peserta :&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/msdnbdg4.jpg" alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img src="http://www.yulianmf.com/Images/Act/msdnbdg15.jpg" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Speakers :&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/msdnbdg7.jpg" alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img src="http://www.yulianmf.com/Images/Act/msdnbdg10.jpg" alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/msdnbdg17.jpg" alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img src="http://www.yulianmf.com/Images/Act/msdnbdg18.jpg" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/msdnbdg19.jpg" alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img src="http://www.yulianmf.com/Images/Act/msdnbdg20.jpg" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/msdnbdg21.jpg" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Duet bareng Reza :)&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/msdnbdg13.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/msdnbdg14.jpg" alt="" /&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/MeAtMSDNDayEdit.jpg" alt="" width="" align="" border="" height="" hspace="" /&gt; &lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Sambil jualan, promosi, sempet-sempetnya juga difoto anak-anak MUGI Bandung 
ini :))&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/msdnbdg5.jpg" alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img src="http://www.yulianmf.com/Images/Act/msdnbdg22.jpg" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Bisa-bisanya difoto pas lagi ada presentasi :))&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/msdnbdg8.jpg" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Mbak Evi laku tuh disana dimintain foto-foto, cape ya mbak ;)) (Btw posisi 
tangan kanannya reza agak aneh tuh (curiga) :)) )&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/msdnbdg12.jpg" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Wah ini nih, pak Firstman...ntar ketauan nyoya loh :)) Luki juga tuh ;))&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/msdnbdg9.jpg" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Foto bareng setelah acara selesai :&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/msdnbdg1.jpg" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Makan-makan bareng @ d&amp;#39;Palm abis acara selesai dan beres-beres :&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/msdnbdg24.jpg" alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img src="http://www.yulianmf.com/Images/Act/msdnbdg23.jpg" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/msdnbdg2.jpg" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Sekian&amp;nbsp;report dari Bandung yang lagi dingin-dinginnya nih ujan terus :) 
...thx to all !&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/30/bandung-msdn-day-29-nov-08-event-report.aspx&amp;amp;subject=Bandung MSDN Day (29 Nov 08) Event Report" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/30/bandung-msdn-day-29-nov-08-event-report.aspx&amp;amp;t=Bandung+MSDN+Day+(29+Nov+08)+Event+Report" target="_blank" title="Submit Bandung MSDN Day (29 Nov 08) Event Report to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/30/bandung-msdn-day-29-nov-08-event-report.aspx&amp;amp;title=Bandung+MSDN+Day+(29+Nov+08)+Event+Report" target="_blank" title="Submit Bandung MSDN Day (29 Nov 08) Event Report to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/30/bandung-msdn-day-29-nov-08-event-report.aspx&amp;amp;phase=2" target="_blank" title="Submit Bandung MSDN Day (29 Nov 08) Event Report to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/30/bandung-msdn-day-29-nov-08-event-report.aspx&amp;amp;title=Bandung+MSDN+Day+(29+Nov+08)+Event+Report" target="_blank" title="Add Bandung MSDN Day (29 Nov 08) Event Report to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=82657" width="1" height="1"&gt;</description><category domain="http://geeks.netindonesia.net/blogs/yulian/archive/tags/Event/default.aspx">Event</category></item><item><title>LINQ To XML With VB 9.0 (Modify XML Data Easily - Relax For a While ;) )</title><link>http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/24/linq-to-xml-with-vb-9-0-modify-xml-data-easily-relax-for-a-while.aspx</link><pubDate>Mon, 24 Nov 2008 09:11:00 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:82514</guid><dc:creator>yulian</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/yulian/rsscomments.aspx?PostID=82514</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/24/linq-to-xml-with-vb-9-0-modify-xml-data-easily-relax-for-a-while.aspx#comments</comments><description>&lt;p&gt;LINQ To XML menyediakan suatu cara baru untuk memodifikasi data yang disimpan 
didalam file xml. Hal tersebut dipermudah lagi dengan adanya fitur XML Literal 
di VB 9.0 dalam hal penambahan elemen atau atribut baru. LINQ membantu dalam hal 
filtering data xml yang akan di modifikasi. Pada artikel ini saya akan 
memberikan contoh bagaimana caranya menambahkan elemen dan atribut, menghapus 
elemen, edit elemen dan edit atribut value.&lt;/p&gt;
&lt;p&gt;Misalkan saya mempunyai sebuah file xml dengan nama Book.xml dengan data 
seperti dibawah ini :&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;&amp;lt;?&lt;/span&gt;&lt;span&gt;xml &lt;/span&gt;&lt;span style="color:red;"&gt;version&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;1.0&lt;/span&gt;&amp;quot; &lt;span style="color:red;"&gt;encoding&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;utf-8&lt;/span&gt;&amp;quot; &lt;span style="color:blue;"&gt;?&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;Books&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;  &amp;lt;&lt;/span&gt;&lt;span&gt;Book &lt;/span&gt;&lt;span style="color:red;"&gt;CatID&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;1&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;/span&gt;&lt;span&gt;Title&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;Programming Visual Basic 9.0&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Title&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;/span&gt;&lt;span&gt;Publisher&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;Apress&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Publisher&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;  &amp;lt;/&lt;/span&gt;&lt;span&gt;Book&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;  &amp;lt;&lt;/span&gt;&lt;span&gt;Book &lt;/span&gt;&lt;span style="color:red;"&gt;CatID&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;2&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;/span&gt;&lt;span&gt;Title&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;SQL Server 2008 Administration&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Title&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;/span&gt;&lt;span&gt;Publisher&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;MS Press&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Publisher&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;  &amp;lt;/&lt;/span&gt;&lt;span&gt;Book&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;  &amp;lt;&lt;/span&gt;&lt;span&gt;Book &lt;/span&gt;&lt;span style="color:red;"&gt;CatID&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;3&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;/span&gt;&lt;span&gt;Title&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;Windows Server 2008&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Title&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;/span&gt;&lt;span&gt;Publisher&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;MS Press&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Publisher&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;  &amp;lt;/&lt;/span&gt;&lt;span&gt;Book&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Books&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Bagaimana caranya kalau kita ingin menambahkan data baru? Ada beberapa cara 
yang dapat dilakukan :&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;u&gt;Menambahkan Elemen Baru&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;1. Add method&lt;/b&gt; &lt;/p&gt;
&lt;p&gt;Untuk menambahkan elemen baru pada baris yang terakhir anda bisa gunakan 
method Add. Pertama kita harus dapatkan terlebih dahulu object reference ke 
elemen Books. Gunakan method First untuk mendapatkannya. Method ini akan 
mengembalikan first elemen yang dicari.&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;Option Strict On&lt;br /&gt;&lt;br /&gt;Module &lt;/span&gt;LinqToXML&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:blue;"&gt;Sub &lt;/span&gt;Main()&lt;br /&gt;&lt;br /&gt;        &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;xmlBook = XDocument.Load(&lt;span&gt;&amp;quot;../../Book.xml&amp;quot;&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;        xmlBook.&lt;span&gt;&amp;lt;&lt;/span&gt;Books&lt;span&gt;&amp;gt;&lt;/span&gt;.First.Add( _&lt;br /&gt;            &lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;Book &lt;/span&gt;&lt;span&gt;CatID&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;br /&gt;                &amp;lt;&lt;/span&gt;&lt;span&gt;Title&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Programming C# 3.0&lt;/span&gt;&lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Title&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;br /&gt;                &amp;lt;&lt;/span&gt;&lt;span&gt;Publisher&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Sybex&lt;/span&gt;&lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Publisher&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;br /&gt;            &amp;lt;/&lt;/span&gt;&lt;span&gt;Book&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;        &lt;span style="color:green;"&gt;&amp;#39;xmlBook.Save(&amp;quot;../../Book.xml&amp;quot;)&lt;br /&gt;        &lt;/span&gt;Console.WriteLine(xmlBook)&lt;br /&gt;        Console.ReadLine()&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:blue;"&gt;End Sub&lt;br /&gt;&lt;br /&gt;End Module&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Kode diatas akan menghasilkan elemen baru Book dengan CatID=1 berikut Title 
dan Publisher seperti yang dapat dilihat pada xml literalnya. XML Literal 
merupakan fitur baru yang terdapat di VB 9.0 yang sangat memudahkan kita untuk 
melakukan modifikasi data di file xml. Dengan XML Literal kita cukup ketikkan 
file xml seperti halnya kita ketik string literal. Secara otomatis data type nya 
di infer sebagai XElement. Berikut screen shot gambarnya :&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Artikel/VB/linqxmlmod1.jpg" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;2. AddAfterSelf method&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Metoda ini digunakan untuk menambahkan elemen baru tepat dibawah elemen yang 
kita inginkan. Misalkan saya ingin menambahkan elemen baru setelah data Book 
yang memiliki CatID = 1. Berikut kode nya :&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;Sub &lt;/span&gt;Main()&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;xmlBook = XDocument.Load(&lt;span&gt;&amp;quot;../../Book.xml&amp;quot;&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;xmlData = &lt;span style="color:blue;"&gt;From &lt;/span&gt;elem &lt;span style="color:blue;"&gt;In &lt;/span&gt;xmlBook...&lt;span&gt;&amp;lt;&lt;/span&gt;Book&lt;span&gt;&amp;gt; &lt;/span&gt;_&lt;br /&gt;                  &lt;span style="color:blue;"&gt;Where &lt;/span&gt;elem.&lt;span&gt;@&lt;/span&gt;CatID.ToString.&lt;span style="color:blue;"&gt;Equals&lt;/span&gt;(&lt;span&gt;&amp;quot;1&amp;quot;&lt;/span&gt;) _&lt;br /&gt;                  &lt;span style="color:blue;"&gt;Select &lt;/span&gt;elem&lt;br /&gt;&lt;br /&gt;    xmlData.First.AddAfterSelf( _&lt;br /&gt;        &lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;Book &lt;/span&gt;&lt;span&gt;CatID&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;br /&gt;            &amp;lt;&lt;/span&gt;&lt;span&gt;Title&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Programming C# 3.0&lt;/span&gt;&lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Title&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;br /&gt;            &amp;lt;&lt;/span&gt;&lt;span&gt;Publisher&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Sybex&lt;/span&gt;&lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Publisher&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;br /&gt;        &amp;lt;/&lt;/span&gt;&lt;span&gt;Book&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:green;"&gt;&amp;#39;xmlBook.Save(&amp;quot;../../Book.xml&amp;quot;)&lt;br /&gt;    &lt;/span&gt;Console.WriteLine(xmlBook)&lt;br /&gt;    Console.ReadLine()&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;End Sub&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Kode diatas akan menambahkan elemen baru setelah elemen dengan atribut CatID 
= 1 :&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Artikel/VB/linqxmlmod2.jpg" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;3. AddBeforeSelf method&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Metoda ini kebalikannya dengan metoda di atas. Misalkan saya ingin 
menambahkan elemen baru sebelum data Book dengan CatID = 1 yang mengandung title 
&amp;quot;Visual Basic&amp;quot; :&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;Sub &lt;/span&gt;Main()&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;xmlBook = XDocument.Load(&lt;span&gt;&amp;quot;../../Book.xml&amp;quot;&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;xmlData = &lt;span style="color:blue;"&gt;From &lt;/span&gt;elem &lt;span style="color:blue;"&gt;In &lt;/span&gt;xmlBook...&lt;span&gt;&amp;lt;&lt;/span&gt;Book&lt;span&gt;&amp;gt; &lt;/span&gt;_&lt;br /&gt;                  &lt;span style="color:blue;"&gt;Where &lt;/span&gt;elem.&lt;span&gt;@&lt;/span&gt;CatID.ToString.&lt;span style="color:blue;"&gt;Equals&lt;/span&gt;(&lt;span&gt;&amp;quot;1&amp;quot;&lt;/span&gt;) _&lt;br /&gt;                  &lt;span style="color:blue;"&gt;AndAlso &lt;/span&gt;elem.&lt;span&gt;&amp;lt;&lt;/span&gt;Title&lt;span&gt;&amp;gt;&lt;/span&gt;.Value.Contains(&lt;span&gt;&amp;quot;Visual Basic&amp;quot;&lt;/span&gt;) _&lt;br /&gt;                  &lt;span style="color:blue;"&gt;Select &lt;/span&gt;elem&lt;br /&gt;&lt;br /&gt;    xmlData.First.AddBeforeSelf( _&lt;br /&gt;        &lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;Book &lt;/span&gt;&lt;span&gt;CatID&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;br /&gt;            &amp;lt;&lt;/span&gt;&lt;span&gt;Title&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Programming C# 3.0&lt;/span&gt;&lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Title&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;br /&gt;            &amp;lt;&lt;/span&gt;&lt;span&gt;Publisher&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Sybex&lt;/span&gt;&lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Publisher&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;br /&gt;        &amp;lt;/&lt;/span&gt;&lt;span&gt;Book&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:green;"&gt;&amp;#39;xmlBook.Save(&amp;quot;../../Book.xml&amp;quot;)&lt;br /&gt;    &lt;/span&gt;Console.WriteLine(xmlBook)&lt;br /&gt;    Console.ReadLine()&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;End Sub&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;hasilnya :&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Artikel/VB/linqxmlmod3.jpg" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Mudah kan ;) ...dengan LINQ To XML dan XML Literal di VB 9.0 si programmer 
bisa happy kalau dapat tugas buat modifikasi file xml, yang sebelumnya cukup 
sedikit nightmare kalau dapat tugas ini di VB.NET versi sebelumnya :D&lt;/p&gt;
&lt;p&gt;Sekarang muncul pertanyaan lainnya : Bagaimana caranya kalau kita ingin 
merubah value sebuah elemen atau atribut? Berikut caranya :&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;u&gt;Merubah Nilai Elemen dan Atribut&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;1. SetElementValue&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Method tersebut membutuhkan input parameter nama elemen dan value baru yang 
akan dirubah. Untuk merujuk pada elemen yang akan dirubah, anda bisa menggunakan 
fungsi First atau Single (tergantung kebutuhan aplikasi) :&lt;/p&gt;&lt;pre class="code"&gt;    &lt;span style="color:blue;"&gt;Sub &lt;/span&gt;Main()&lt;br /&gt;&lt;br /&gt;        &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;xmlBook = XDocument.Load(&lt;span&gt;&amp;quot;../../Book.xml&amp;quot;&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;        &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;xmlData = &lt;span style="color:blue;"&gt;From &lt;/span&gt;elem &lt;span style="color:blue;"&gt;In &lt;/span&gt;xmlBook...&lt;span&gt;&amp;lt;&lt;/span&gt;Book&lt;span&gt;&amp;gt; &lt;/span&gt;_&lt;br /&gt;                      &lt;span style="color:blue;"&gt;Where &lt;/span&gt;elem.&lt;span&gt;@&lt;/span&gt;CatID.ToString.&lt;span style="color:blue;"&gt;Equals&lt;/span&gt;(&lt;span&gt;&amp;quot;1&amp;quot;&lt;/span&gt;) _&lt;br /&gt;                      &lt;span style="color:blue;"&gt;AndAlso &lt;/span&gt;elem.&lt;span&gt;&amp;lt;&lt;/span&gt;Title&lt;span&gt;&amp;gt;&lt;/span&gt;.Value.Contains(&lt;span&gt;&amp;quot;Visual Basic&amp;quot;&lt;/span&gt;) _&lt;br /&gt;                      &lt;span style="color:blue;"&gt;Select &lt;/span&gt;elem&lt;br /&gt;&lt;br /&gt;        xmlData.First.SetElementValue(&lt;span&gt;&amp;quot;Title&amp;quot;&lt;/span&gt;, &lt;span&gt;&amp;quot;LINQ With VB 9.0&amp;quot;&lt;/span&gt;)&lt;br /&gt;        &lt;span style="color:green;"&gt;&amp;#39;atau&lt;br /&gt;        &amp;#39;xmlData.Single.SetElementValue(&amp;quot;Title&amp;quot;, &amp;quot;LINQ With VB 9.0&amp;quot;)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        &amp;#39;xmlBook.Save(&amp;quot;../../Book.xml&amp;quot;)&lt;br /&gt;        &lt;/span&gt;Console.WriteLine(xmlBook)&lt;br /&gt;        Console.ReadLine()&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:blue;"&gt;End Sub&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;hasilnya :&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Artikel/VB/linqxmlmod4.jpg" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;2. SetValue&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Method ini berbeda dengan method di atas. Untuk method ini kita harus 
tentukan terlebih dahulu elemen mana yang akan kita rubah nilainya :&lt;/p&gt;&lt;pre class="code"&gt;xmlData...&lt;span&gt;&amp;lt;&lt;/span&gt;Title&lt;span&gt;&amp;gt;&lt;/span&gt;.First.SetValue(&lt;span&gt;&amp;quot;LINQ With VB 9.0&amp;quot;&lt;/span&gt;)&lt;br /&gt;&lt;span style="color:green;"&gt;&amp;#39;atau&lt;br /&gt;&amp;#39;xmlData...&amp;lt;Title&amp;gt;.Single.SetValue(&amp;quot;LINQ With VB 9.0&amp;quot;)&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Kode diatas hanya membutuhkan satu input parameter untuk merubah nilai dari 
elemen Title. Hasilnya sama seperti pada gambar di atas.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;3. SetAtributeValue&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Method ini digunakan untuk merubah nilai dari suatu atribut. Misalkan data 
dengan atribut CatID = 1 ini akan dirubah nilainya menjadi 4 :&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;Sub &lt;/span&gt;Main()&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;xmlBook = XDocument.Load(&lt;span&gt;&amp;quot;../../Book.xml&amp;quot;&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;xmlData = &lt;span style="color:blue;"&gt;From &lt;/span&gt;elem &lt;span style="color:blue;"&gt;In &lt;/span&gt;xmlBook...&lt;span&gt;&amp;lt;&lt;/span&gt;Book&lt;span&gt;&amp;gt; &lt;/span&gt;_&lt;br /&gt;                  &lt;span style="color:blue;"&gt;Where &lt;/span&gt;elem.&lt;span&gt;@&lt;/span&gt;CatID.ToString.&lt;span style="color:blue;"&gt;Equals&lt;/span&gt;(&lt;span&gt;&amp;quot;1&amp;quot;&lt;/span&gt;) _&lt;br /&gt;                  &lt;span style="color:blue;"&gt;Select &lt;/span&gt;elem&lt;br /&gt;&lt;br /&gt;    xmlData.First.SetAttributeValue(&lt;span&gt;&amp;quot;CatID&amp;quot;&lt;/span&gt;, &lt;span&gt;&amp;quot;4&amp;quot;&lt;/span&gt;)&lt;br /&gt;    &lt;span style="color:green;"&gt;&amp;#39;atau&lt;br /&gt;    &amp;#39;xmlData.Single.SetAttributeValue(&amp;quot;CatID&amp;quot;, &amp;quot;4&amp;quot;)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    &amp;#39;xmlBook.Save(&amp;quot;../../Book.xml&amp;quot;)&lt;br /&gt;    &lt;/span&gt;Console.WriteLine(xmlBook)&lt;br /&gt;    Console.ReadLine()&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;End Sub&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;hasilnya :&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Artikel/VB/linqxmlmod5.jpg" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;u&gt;Menghapus Elemen&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Menghapus elemen tertentu sesuai dengan kriteria yang diinginkan?? Mudah 
sekali caranya teman :D ...dengan menggunakan LINQ To XML dan Remove method, 
anda dapat melakukannya sambil minum kopi ;)&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;Sub &lt;/span&gt;Main()&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;xmlBook = XDocument.Load(&lt;span&gt;&amp;quot;../../Book.xml&amp;quot;&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;xmlData = &lt;span style="color:blue;"&gt;From &lt;/span&gt;elem &lt;span style="color:blue;"&gt;In &lt;/span&gt;xmlBook...&lt;span&gt;&amp;lt;&lt;/span&gt;Book&lt;span&gt;&amp;gt; &lt;/span&gt;_&lt;br /&gt;                  &lt;span style="color:blue;"&gt;Where &lt;/span&gt;elem.&lt;span&gt;@&lt;/span&gt;CatID.ToString.&lt;span style="color:blue;"&gt;Equals&lt;/span&gt;(&lt;span&gt;&amp;quot;3&amp;quot;&lt;/span&gt;) _&lt;br /&gt;                  &lt;span style="color:blue;"&gt;Select &lt;/span&gt;elem&lt;br /&gt;&lt;br /&gt;    xmlData.First.Remove()&lt;br /&gt;    &lt;span style="color:green;"&gt;&amp;#39;atau&lt;br /&gt;    &amp;#39;xmlData.Single.Remove()&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    &amp;#39;xmlBook.Save(&amp;quot;../../Book.xml&amp;quot;)&lt;br /&gt;    &lt;/span&gt;Console.WriteLine(xmlBook)&lt;br /&gt;    Console.ReadLine()&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;End Sub&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;hasilnya :&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Artikel/VB/linqxmlmod6.jpg" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Ok...sampai disini dulu teman ;) O ya...happy coding Vb-ers :D&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/24/linq-to-xml-with-vb-9-0-modify-xml-data-easily-relax-for-a-while.aspx&amp;amp;subject=LINQ To XML With VB 9.0 (Modify XML Data Easily - Relax For a While ;) )" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/24/linq-to-xml-with-vb-9-0-modify-xml-data-easily-relax-for-a-while.aspx&amp;amp;t=LINQ+To+XML+With+VB+9.0+(Modify+XML+Data+Easily+-+Relax+For+a+While+%3b)+)" target="_blank" title="Submit LINQ To XML With VB 9.0 (Modify XML Data Easily - Relax For a While ;) ) to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/24/linq-to-xml-with-vb-9-0-modify-xml-data-easily-relax-for-a-while.aspx&amp;amp;title=LINQ+To+XML+With+VB+9.0+(Modify+XML+Data+Easily+-+Relax+For+a+While+%3b)+)" target="_blank" title="Submit LINQ To XML With VB 9.0 (Modify XML Data Easily - Relax For a While ;) ) to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/24/linq-to-xml-with-vb-9-0-modify-xml-data-easily-relax-for-a-while.aspx&amp;amp;phase=2" target="_blank" title="Submit LINQ To XML With VB 9.0 (Modify XML Data Easily - Relax For a While ;) ) to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/24/linq-to-xml-with-vb-9-0-modify-xml-data-easily-relax-for-a-while.aspx&amp;amp;title=LINQ+To+XML+With+VB+9.0+(Modify+XML+Data+Easily+-+Relax+For+a+While+%3b)+)" target="_blank" title="Add LINQ To XML With VB 9.0 (Modify XML Data Easily - Relax For a While ;) ) to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=82514" width="1" height="1"&gt;</description><category domain="http://geeks.netindonesia.net/blogs/yulian/archive/tags/LINQ/default.aspx">LINQ</category></item><item><title>LINQ To XML With VB 9.0 (Select and Join Multiple XML File)</title><link>http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/20/linq-to-xml-with-vb-9-0-select-and-join-multiple-xml-file.aspx</link><pubDate>Thu, 20 Nov 2008 07:47:00 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:80502</guid><dc:creator>yulian</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/yulian/rsscomments.aspx?PostID=80502</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/20/linq-to-xml-with-vb-9-0-select-and-join-multiple-xml-file.aspx#comments</comments><description>&lt;p&gt;LINQ To XML merupakan fitur baru yang terdapat di VB 9.0. Fitur ini digunakan 
untuk memudahkan melakukan query data yang disimpan di file XML. Sebelumnya hal 
tersebut dilakukan dengan menggunakan XMLReader, XPathDocument dengan XPath 
Query sebagai sarana untuk filtering data xml nya. Penggunaan class-class 
tersebut saya rasakan begitu &amp;quot;merepotkan&amp;quot; :) ...Beruntung lah dengan adanya 
fitur LINQ To XML ini.&lt;/p&gt;
&lt;p&gt;Kali ini saya akan membahas bagaimana caranya melakukan query data xml dan 
Join data dari dua file xml. Query operator yang digunakan sama dengan hal nya 
query operator untuk LINQ terhadap object lain. Namun LINQ To XML ini ada 
sedikit perbedaan dalam hal pengaksesan elemen dan atributnya.&lt;/p&gt;
&lt;p&gt;Misalkan saya memiliki file xml seperti dibawah ini (Book.xml) :&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;&amp;lt;?&lt;/span&gt;&lt;span&gt;xml &lt;/span&gt;&lt;span style="color:red;"&gt;version&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;1.0&lt;/span&gt;&amp;quot; &lt;span style="color:red;"&gt;encoding&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;utf-8&lt;/span&gt;&amp;quot; &lt;span style="color:blue;"&gt;?&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;Books&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;  &amp;lt;&lt;/span&gt;&lt;span&gt;Book &lt;/span&gt;&lt;span style="color:red;"&gt;CatID&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;1&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;/span&gt;&lt;span&gt;Title&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;Programming Visual Basic 9.0&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Title&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;/span&gt;&lt;span&gt;Publisher&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;Apress&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Publisher&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;  &amp;lt;/&lt;/span&gt;&lt;span&gt;Book&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;  &amp;lt;&lt;/span&gt;&lt;span&gt;Book &lt;/span&gt;&lt;span style="color:red;"&gt;CatID&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;1&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;/span&gt;&lt;span&gt;Title&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;Programming C# 3.0&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Title&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;/span&gt;&lt;span&gt;Publisher&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;Adison Wesley&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Publisher&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;  &amp;lt;/&lt;/span&gt;&lt;span&gt;Book&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;  &amp;lt;&lt;/span&gt;&lt;span&gt;Book &lt;/span&gt;&lt;span style="color:red;"&gt;CatID&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;2&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;/span&gt;&lt;span&gt;Title&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;SQL Server 2008 Administration&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Title&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;/span&gt;&lt;span&gt;Publisher&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;MS Press&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Publisher&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;  &amp;lt;/&lt;/span&gt;&lt;span&gt;Book&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;  &amp;lt;&lt;/span&gt;&lt;span&gt;Book &lt;/span&gt;&lt;span style="color:red;"&gt;CatID&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;2&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;/span&gt;&lt;span&gt;Title&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;MS Access 2007&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Title&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;/span&gt;&lt;span&gt;Publisher&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;Que&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Publisher&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;  &amp;lt;/&lt;/span&gt;&lt;span&gt;Book&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;  &amp;lt;&lt;/span&gt;&lt;span&gt;Book &lt;/span&gt;&lt;span style="color:red;"&gt;CatID&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;3&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;/span&gt;&lt;span&gt;Title&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;Windows Vista Administration&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Title&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;/span&gt;&lt;span&gt;Publisher&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;Sams&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Publisher&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;  &amp;lt;/&lt;/span&gt;&lt;span&gt;Book&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;  &amp;lt;&lt;/span&gt;&lt;span&gt;Book &lt;/span&gt;&lt;span style="color:red;"&gt;CatID&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;3&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;/span&gt;&lt;span&gt;Title&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;Windows Server 2008&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Title&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;/span&gt;&lt;span&gt;Publisher&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;MS Press&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Publisher&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;  &amp;lt;/&lt;/span&gt;&lt;span&gt;Book&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Books&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Dengan Linq To XML untuk melakukan query data di atas sangatlah mudah. 
Berikut kode untuk menampilkan data dari atribut CatID, elemen Title dan elemen 
Publisher :&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;Option Strict On&lt;br /&gt;&lt;br /&gt;Module &lt;/span&gt;LinqToXML&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:blue;"&gt;Sub &lt;/span&gt;Main()&lt;br /&gt;        &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;xmlBook = XDocument.Load(&lt;span&gt;&amp;quot;../../Book.xml&amp;quot;&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;        &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;xmlData = &lt;span style="color:blue;"&gt;From &lt;/span&gt;elem &lt;span style="color:blue;"&gt;In &lt;/span&gt;xmlBook.Descendants(&lt;span&gt;&amp;quot;Book&amp;quot;&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;        &lt;span style="color:blue;"&gt;For Each &lt;/span&gt;elem &lt;span style="color:blue;"&gt;In &lt;/span&gt;xmlData&lt;br /&gt;            &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;strID = &lt;span style="color:blue;"&gt;CStr&lt;/span&gt;(elem.Attribute(&lt;span&gt;&amp;quot;CatID&amp;quot;&lt;/span&gt;).Value)&lt;br /&gt;            &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;strTitle = &lt;span style="color:blue;"&gt;CStr&lt;/span&gt;(elem.Element(&lt;span&gt;&amp;quot;Title&amp;quot;&lt;/span&gt;).Value)&lt;br /&gt;            &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;strPub = &lt;span style="color:blue;"&gt;CStr&lt;/span&gt;(elem.Element(&lt;span&gt;&amp;quot;Publisher&amp;quot;&lt;/span&gt;).Value)&lt;br /&gt;&lt;br /&gt;            &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;strBook = &lt;span style="color:blue;"&gt;String&lt;/span&gt;.Format( _&lt;br /&gt;            &lt;span&gt;&amp;quot;CatID:{0,-2} Title:{1,-30} Publisher:{2}&amp;quot;&lt;/span&gt;, _&lt;br /&gt;                                        strID, strTitle, strPub)&lt;br /&gt;            Console.WriteLine(strBook)&lt;br /&gt;        &lt;span style="color:blue;"&gt;Next&lt;br /&gt;        &lt;/span&gt;Console.ReadLine()&lt;br /&gt;    &lt;span style="color:blue;"&gt;End Sub&lt;br /&gt;&lt;br /&gt;End Module&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Untuk load file xml gunakan XDocument class. XDocument class tersebut 
memiliki Shared Function Load yang membutuhkan input parameter berupa lokasi 
dari file xml yang akan digunakan.&lt;/p&gt;
&lt;p&gt;Fungsi Descendants digunakan untuk mengakses semua elemen-elemen relatif 
terhadap root elemen. Pada contoh di atas saya ingin akses semua elemen Book. 
Untuk menampilkan detail data elemen dan atributnya kita lakukan looping 
terhadap semua koleksi XElement (xmlData). &lt;/p&gt;
&lt;p&gt;Fungsi Attribute akan mengembalikan XAttribute type dan digunakan untuk akses 
atribute pada elemen dimana attribute tersebut berada, sedangkan fungsi Element 
akan mengembalikan XElement type dan digunakan untuk akses elemen.&lt;/p&gt;
&lt;p&gt;Anda dapat melakukan konversi ke primitive data type terhadap value dari 
elemen dan atribut dengan fungsi yang telah disediakan di .net framework class 
library. Berikut screen shot hasil eksekusi kode diatas :&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Artikel/VB/linqxmlselect1.jpg" style="margin:0px 0px 0px 10px;" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;VB 9.0 memiliki fitur yang berbeda dengan C# 3.0 dalam hal akses elemen, 
atribut, dan descendant. Perbedaan tersebut terletak pada fitur axis property 
yang diberikan dengan simbol ...&amp;lt;&amp;gt; untuk akses Descendant, &amp;lt;&amp;gt; untuk 
akses element, dan @ untuk akses atribut. Berikut modifikasi kode diatas dengan 
menggunakan fitur axis properti :&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;Dim &lt;/span&gt;xmlData = &lt;span style="color:blue;"&gt;From &lt;/span&gt;elem &lt;span style="color:blue;"&gt;In &lt;/span&gt;xmlBook...&lt;span&gt;&amp;lt;&lt;/span&gt;Book&lt;span&gt;&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;For Each &lt;/span&gt;elem &lt;span style="color:blue;"&gt;In &lt;/span&gt;xmlData&lt;br /&gt;    &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;strID = &lt;span style="color:blue;"&gt;CStr&lt;/span&gt;(elem.&lt;span&gt;@&lt;/span&gt;CatID)&lt;br /&gt;    &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;strTitle = &lt;span style="color:blue;"&gt;CStr&lt;/span&gt;(elem...&lt;span&gt;&amp;lt;&lt;/span&gt;Title&lt;span&gt;&amp;gt;&lt;/span&gt;.Value)&lt;br /&gt;    &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;strPub = &lt;span style="color:blue;"&gt;CStr&lt;/span&gt;(elem...&lt;span&gt;&amp;lt;&lt;/span&gt;Publisher&lt;span&gt;&amp;gt;&lt;/span&gt;.Value)&lt;/pre&gt;
&lt;p&gt;Dapat kita lihat dengan menggunakan axis properti maka penulisan descendant, 
elemen dan atribute lebih &amp;quot;Human Readable&amp;quot; :)&lt;/p&gt;
&lt;p&gt;Lalu bagaimana caranya kalau kita ingin menampilkan data distinct terhadap 
sebuah elemen atau atribut? Misalkan saya ingin menampilkan data distinct untuk 
atribut CatID :&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;Sub &lt;/span&gt;Main()&lt;br /&gt;    &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;xmlBook = XDocument.Load(&lt;span&gt;&amp;quot;../../Book.xml&amp;quot;&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;xmlData = &lt;span style="color:blue;"&gt;From &lt;/span&gt;elem &lt;span style="color:blue;"&gt;In &lt;/span&gt;xmlBook...&lt;span&gt;&amp;lt;&lt;/span&gt;Book&lt;span&gt;&amp;gt; &lt;/span&gt;_&lt;br /&gt;                  &lt;span style="color:blue;"&gt;Select &lt;/span&gt;elem.&lt;span&gt;@&lt;/span&gt;CatID &lt;span style="color:blue;"&gt;Distinct&lt;br /&gt;&lt;br /&gt;    For Each &lt;/span&gt;elem &lt;span style="color:blue;"&gt;In &lt;/span&gt;xmlData&lt;br /&gt;        &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;strID = elem&lt;br /&gt;&lt;br /&gt;        &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;strCatID = &lt;span style="color:blue;"&gt;String&lt;/span&gt;.Format(&lt;span&gt;&amp;quot;CatID:{0,-2}&amp;quot;&lt;/span&gt;, strID)&lt;br /&gt;        Console.WriteLine(strID)&lt;br /&gt;    &lt;span style="color:blue;"&gt;Next&lt;br /&gt;    &lt;/span&gt;Console.ReadLine()&lt;br /&gt;&lt;span style="color:blue;"&gt;End Sub&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Filtering data berdasarkan nilai dari elemen atau atribut tertentu?&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;Dim &lt;/span&gt;xmlData = &lt;span style="color:blue;"&gt;From &lt;/span&gt;elem &lt;span style="color:blue;"&gt;In &lt;/span&gt;xmlBook...&lt;span&gt;&amp;lt;&lt;/span&gt;Book&lt;span&gt;&amp;gt; &lt;/span&gt;_&lt;br /&gt;              &lt;span style="color:blue;"&gt;Where CStr&lt;/span&gt;(elem.&lt;span&gt;@&lt;/span&gt;CatID).&lt;span style="color:blue;"&gt;Equals&lt;/span&gt;(&lt;span&gt;&amp;quot;1&amp;quot;&lt;/span&gt;)&lt;br /&gt;&lt;/pre&gt;
&lt;p&gt;Kode diatas digunakan untuk filtering data xml dimana CatID bernilai &amp;quot;1&amp;quot;. 
Cukup sederhana bukan bila kita bandingkan dengan cara XPath Query konvensional? 
:D&lt;/p&gt;
&lt;p&gt;Kemudian sekarang ada pertanyaan lain...Bagaimana caranya kalau saya ingin 
melakukan join dari dua buah file xml? Misalkan kita memiliki satu file xml 
dengan nama Category.xml yang isinya sebagai berikut :&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;&amp;lt;?&lt;/span&gt;&lt;span&gt;xml &lt;/span&gt;&lt;span style="color:red;"&gt;version&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;1.0&lt;/span&gt;&amp;quot; &lt;span style="color:red;"&gt;encoding&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;utf-8&lt;/span&gt;&amp;quot; &lt;span style="color:blue;"&gt;?&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;Categories&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;  &amp;lt;&lt;/span&gt;&lt;span&gt;Category &lt;/span&gt;&lt;span style="color:red;"&gt;ID&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;1&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;/span&gt;&lt;span&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;Programming&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;  &amp;lt;/&lt;/span&gt;&lt;span&gt;Category&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;  &amp;lt;&lt;/span&gt;&lt;span&gt;Category &lt;/span&gt;&lt;span style="color:red;"&gt;ID&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;2&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;/span&gt;&lt;span&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;Database&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;  &amp;lt;/&lt;/span&gt;&lt;span&gt;Category&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;  &amp;lt;&lt;/span&gt;&lt;span&gt;Category &lt;/span&gt;&lt;span style="color:red;"&gt;ID&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;3&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;/span&gt;&lt;span&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;Operating System&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;  &amp;lt;/&lt;/span&gt;&lt;span&gt;Category&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Categories&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Saya ingin gabungkan file Book.xml dan file Category.xml yang akan 
menampilkan output berupa Nama Kategori dari Title buku yang ada beserta Title 
nya itu sendiri. Mari kita lihat kode dibawah ini :&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;Sub &lt;/span&gt;Main()&lt;br /&gt;    &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;xmlBook = XDocument.Load(&lt;span&gt;&amp;quot;../../Book.xml&amp;quot;&lt;/span&gt;)&lt;br /&gt;    &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;xmlCategory = XDocument.Load(&lt;span&gt;&amp;quot;../../Category.xml&amp;quot;&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;xmlData = &lt;span style="color:blue;"&gt;From &lt;/span&gt;book &lt;span style="color:blue;"&gt;In &lt;/span&gt;xmlBook...&lt;span&gt;&amp;lt;&lt;/span&gt;Book&lt;span&gt;&amp;gt; &lt;/span&gt;_&lt;br /&gt;                  &lt;span style="color:blue;"&gt;Join &lt;/span&gt;cat &lt;span style="color:blue;"&gt;In &lt;/span&gt;xmlCategory...&lt;span&gt;&amp;lt;&lt;/span&gt;Category&lt;span&gt;&amp;gt; &lt;/span&gt;_&lt;br /&gt;                  &lt;span style="color:blue;"&gt;On &lt;/span&gt;book.&lt;span&gt;@&lt;/span&gt;CatID &lt;span style="color:blue;"&gt;Equals &lt;/span&gt;cat.&lt;span&gt;@&lt;/span&gt;ID _&lt;br /&gt;                  &lt;span style="color:blue;"&gt;Select &lt;/span&gt;cat.&lt;span&gt;&amp;lt;&lt;/span&gt;Name&lt;span&gt;&amp;gt;&lt;/span&gt;, book.&lt;span&gt;&amp;lt;&lt;/span&gt;Title&lt;span&gt;&amp;gt;&lt;br /&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;For Each &lt;/span&gt;elem &lt;span style="color:blue;"&gt;In &lt;/span&gt;xmlData&lt;br /&gt;        &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;strCatName = &lt;span style="color:blue;"&gt;CStr&lt;/span&gt;(elem.Name.Value)&lt;br /&gt;        &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;strTitle = &lt;span style="color:blue;"&gt;CStr&lt;/span&gt;(elem.Title.Value)&lt;br /&gt;&lt;br /&gt;        &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;strBook = &lt;span style="color:blue;"&gt;String&lt;/span&gt;.Format( _&lt;br /&gt;        &lt;span&gt;&amp;quot;Category:{0,-20} Title:{1,-30}&amp;quot;&lt;/span&gt;, _&lt;br /&gt;                                    strCatName, strTitle)&lt;br /&gt;        Console.WriteLine(strBook)&lt;br /&gt;    &lt;span style="color:blue;"&gt;Next&lt;br /&gt;    &lt;/span&gt;Console.ReadLine()&lt;br /&gt;&lt;span style="color:blue;"&gt;End Sub&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Untuk Join dua file xml pertama anda harus load terlebih dahulu kedua file 
xml yang akan digunakan. Setelah itu untuk menggabungkan dua file xml yang telah 
diload tersebut gunakan perintah Join terhadap descendant elemen yang akan 
diakses diikuti dengan perintah On terhadap elemen yang digunakan sebagai link 
diantara kedua file xml. Perintah Equals harus digunakan untuk membandingkan 
nilai-nilai dari elemen atau atribut. Ya...mungkin perintah tersebut sangat 
familiar bila kita sering menggunakan perintah SQL dalam melakukan join :) 
...Berikut screen shot hasil dari eksekusi kode diatas :&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Artikel/VB/linqxmlselect3.jpg" style="margin:0px 0px 0px 10px;" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Happy coding Vb-ers :) ...pada artikel selanjutnya saya akan membahas 
bagaimana caranya melakukan modifikasi data file xml untuk operasi penambahan, 
hapus, dan edit terhadap elemen atau atribut.&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/20/linq-to-xml-with-vb-9-0-select-and-join-multiple-xml-file.aspx&amp;amp;subject=LINQ To XML With VB 9.0 (Select and Join Multiple XML File)" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/20/linq-to-xml-with-vb-9-0-select-and-join-multiple-xml-file.aspx&amp;amp;t=LINQ+To+XML+With+VB+9.0+(Select+and+Join+Multiple+XML+File)" target="_blank" title="Submit LINQ To XML With VB 9.0 (Select and Join Multiple XML File) to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/20/linq-to-xml-with-vb-9-0-select-and-join-multiple-xml-file.aspx&amp;amp;title=LINQ+To+XML+With+VB+9.0+(Select+and+Join+Multiple+XML+File)" target="_blank" title="Submit LINQ To XML With VB 9.0 (Select and Join Multiple XML File) to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/20/linq-to-xml-with-vb-9-0-select-and-join-multiple-xml-file.aspx&amp;amp;phase=2" target="_blank" title="Submit LINQ To XML With VB 9.0 (Select and Join Multiple XML File) to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/20/linq-to-xml-with-vb-9-0-select-and-join-multiple-xml-file.aspx&amp;amp;title=LINQ+To+XML+With+VB+9.0+(Select+and+Join+Multiple+XML+File)" target="_blank" title="Add LINQ To XML With VB 9.0 (Select and Join Multiple XML File) to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=80502" width="1" height="1"&gt;</description><category domain="http://geeks.netindonesia.net/blogs/yulian/archive/tags/LINQ/default.aspx">LINQ</category></item><item><title>Lambda Expression In VB 9.0 (Func and Function)</title><link>http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/19/lambda-expression-in-vb-9-0-func-and-function.aspx</link><pubDate>Wed, 19 Nov 2008 14:14:00 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:79967</guid><dc:creator>yulian</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/yulian/rsscomments.aspx?PostID=79967</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/19/lambda-expression-in-vb-9-0-func-and-function.aspx#comments</comments><description>&lt;p&gt;VB 9.0 syarat dengan fitur-fitur baru yang dapat &amp;quot;memanjakan&amp;quot; para programmer 
dalam menyelesaikan suatu kasus ataupun mempermudah penulisan code menjadi lebih 
simple. Kali ini saya akan membahas fitur Lambda Expression di VB 9.0. Func dan 
Function (Inline function) merupakan implementasi dari Lambda Expression. &lt;/p&gt;
&lt;p&gt;Func merupakan sebuah delegate type. Jadi anda dapat membuat sebuah delegate 
tanpa harus mendeklarasikan terlebih dahulu delegate type nya. Func dibuat 
dengan menggunakan input parameter yang maksimum jumlahnya empat atau tanpa 
input parameter. Didalam Func ini didefinisikan juga tipe data return value nya. 
&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Artikel/VB/func1.jpg" style="margin:0px 0px 0px 15px;" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Saya buat contoh sederhana terlebih dahulu penggunaan &amp;quot;Classic Delegate&amp;quot; 
:&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;Public Class &lt;/span&gt;LambdaExpressionVB9&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:blue;"&gt;Private Delegate Function &lt;/span&gt;MyDelegateFunction(&lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;Input &lt;span style="color:blue;"&gt;As Integer&lt;/span&gt;) &lt;span style="color:blue;"&gt;As Boolean&lt;br /&gt;&lt;br /&gt;    Private Function &lt;/span&gt;IsEvenFunction(&lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;Number &lt;span style="color:blue;"&gt;As Integer&lt;/span&gt;) &lt;span style="color:blue;"&gt;As Boolean&lt;br /&gt;        Return &lt;/span&gt;Number &lt;span style="color:blue;"&gt;Mod &lt;/span&gt;2 = 0&lt;br /&gt;    &lt;span style="color:blue;"&gt;End Function&lt;br /&gt;&lt;br /&gt;    Private Sub &lt;/span&gt;btnClassicDelegate_Click(&lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;sender &lt;span style="color:blue;"&gt;As &lt;/span&gt;System.Object, _&lt;br /&gt;                                         &lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;e &lt;span style="color:blue;"&gt;As &lt;/span&gt;System.EventArgs) _&lt;br /&gt;                                         &lt;span style="color:blue;"&gt;Handles &lt;/span&gt;btnClassicDelegate.Click&lt;br /&gt;&lt;br /&gt;        &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;execNumber &lt;span style="color:blue;"&gt;As &lt;/span&gt;MyDelegateFunction = &lt;span style="color:blue;"&gt;AddressOf &lt;/span&gt;IsEvenFunction&lt;br /&gt;        &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;IsEven = execNumber(2)&lt;br /&gt;        MsgBox(IsEven) &lt;span style="color:green;"&gt;&amp;#39;// hasilnya True&lt;br /&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;End Sub&lt;br /&gt;&lt;br /&gt;End Class&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Sekarang bandingkan penggunaan delegate dengan Func :&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;Public Class &lt;/span&gt;LambdaExpressionVB9&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:blue;"&gt;Private Function &lt;/span&gt;IsEvenFunction(&lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;Number &lt;span style="color:blue;"&gt;As Integer&lt;/span&gt;) &lt;span style="color:blue;"&gt;As Boolean&lt;br /&gt;        Return &lt;/span&gt;Number &lt;span style="color:blue;"&gt;Mod &lt;/span&gt;2 = 0&lt;br /&gt;    &lt;span style="color:blue;"&gt;End Function&lt;br /&gt;&lt;br /&gt;    Private Sub &lt;/span&gt;btnFunc_Click(&lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;sender &lt;span style="color:blue;"&gt;As &lt;/span&gt;System.Object, _&lt;br /&gt;                              &lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;e &lt;span style="color:blue;"&gt;As &lt;/span&gt;System.EventArgs) _&lt;br /&gt;                              &lt;span style="color:blue;"&gt;Handles &lt;/span&gt;btnFunc.Click&lt;br /&gt;&lt;br /&gt;        &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;execNumber &lt;span style="color:blue;"&gt;As &lt;/span&gt;Func(&lt;span style="color:blue;"&gt;Of Integer&lt;/span&gt;, &lt;span style="color:blue;"&gt;Boolean&lt;/span&gt;) = _&lt;br /&gt;                &lt;span style="color:blue;"&gt;AddressOf &lt;/span&gt;IsEvenFunction&lt;br /&gt;&lt;br /&gt;        &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;IsEven = execNumber(3)&lt;br /&gt;        MsgBox(IsEven) &lt;span style="color:green;"&gt;&amp;#39;// hasilnya False&lt;br /&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;End Sub&lt;br /&gt;&lt;br /&gt;End Class&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Kode diatas dibuat untuk mengecek apakah sebuah bilangan itu bilang genap 
atau ganjil. Func yang saya create membutuhkan satu buah input parameter dengan 
tipe data Integer (Of Integer), sedangkan return valuenya berupa Boolean. Dapat 
anda lihat diatas, dengan Func maka kita bisa menghilangkan deklarasi signature 
delegate seperti yang biasa kita lakukan. &lt;/p&gt;
&lt;p&gt;Lalu apa itu Function (Inline Function) ?? &lt;/p&gt;
&lt;p&gt;Inline Function ialah sebuah fungsi tanpa nama. Tipe data return valuenya di 
infer dari block code yang ditulis. Dengan Inline function ini kita dapat 
deklarasikan sebuah fungsi seperti kita deklarasikan variabel biasa. Kode di 
atas akan saya rubah dengan menggunakan Inline Function untuk delegate nya :&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;Public Class &lt;/span&gt;LambdaExpressionVB9&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:blue;"&gt;Private Sub &lt;/span&gt;btnInlineFunction_Click(&lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;sender &lt;span style="color:blue;"&gt;As &lt;/span&gt;System.Object, _&lt;br /&gt;                                        &lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;e &lt;span style="color:blue;"&gt;As &lt;/span&gt;System.EventArgs) _&lt;br /&gt;                                        &lt;span style="color:blue;"&gt;Handles &lt;/span&gt;btnInlineFunction.Click&lt;br /&gt;&lt;br /&gt;        &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;execNumber &lt;span style="color:blue;"&gt;As &lt;/span&gt;Func(&lt;span style="color:blue;"&gt;Of Integer&lt;/span&gt;, &lt;span style="color:blue;"&gt;Boolean&lt;/span&gt;) = _&lt;br /&gt;                        &lt;span style="color:blue;"&gt;Function&lt;/span&gt;(Num &lt;span style="color:blue;"&gt;As Integer&lt;/span&gt;) Num &lt;span style="color:blue;"&gt;Mod &lt;/span&gt;2 = 0&lt;br /&gt;&lt;br /&gt;        &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;IsEven = execNumber(2)&lt;br /&gt;        MsgBox(IsEven) &lt;span style="color:green;"&gt;&amp;#39;// hasilnya True&lt;br /&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;End Sub&lt;br /&gt;&lt;br /&gt;End Class&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Signature Inline Function harus sesuai dengan signature delegate Func (Untuk 
kasus diatas harus ada satu buah input parameter integer). Sedangkan tipe data 
return valuenya di infer dari block code Inline Function itu sendiri (Dalam hal 
ini Num Mod 2 = 0)...So mana yang lebih efektif dari sisi teknik pengkodeannya? 
;)&lt;/p&gt;
&lt;p&gt;Happy Coding Vb-ers !! :)&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/19/lambda-expression-in-vb-9-0-func-and-function.aspx&amp;amp;subject=Lambda Expression In VB 9.0 (Func and Function)" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/19/lambda-expression-in-vb-9-0-func-and-function.aspx&amp;amp;t=Lambda+Expression+In+VB+9.0+(Func+and+Function)" target="_blank" title="Submit Lambda Expression In VB 9.0 (Func and Function) to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/19/lambda-expression-in-vb-9-0-func-and-function.aspx&amp;amp;title=Lambda+Expression+In+VB+9.0+(Func+and+Function)" target="_blank" title="Submit Lambda Expression In VB 9.0 (Func and Function) to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/19/lambda-expression-in-vb-9-0-func-and-function.aspx&amp;amp;phase=2" target="_blank" title="Submit Lambda Expression In VB 9.0 (Func and Function) to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/19/lambda-expression-in-vb-9-0-func-and-function.aspx&amp;amp;title=Lambda+Expression+In+VB+9.0+(Func+and+Function)" target="_blank" title="Add Lambda Expression In VB 9.0 (Func and Function) to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=79967" width="1" height="1"&gt;</description><category domain="http://geeks.netindonesia.net/blogs/yulian/archive/tags/.Net+Framework/default.aspx">.Net Framework</category></item><item><title>Create Your Own Event and Event Handler With Your Own Delegate In VB.NET</title><link>http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/19/create-your-own-event-and-event-handler-with-your-own-delegate-in-vb-net.aspx</link><pubDate>Wed, 19 Nov 2008 13:14:00 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:79917</guid><dc:creator>yulian</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/yulian/rsscomments.aspx?PostID=79917</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/19/create-your-own-event-and-event-handler-with-your-own-delegate-in-vb-net.aspx#comments</comments><description>&lt;p&gt;Salah satu implementasi dari delegate ialah membuat event handler yang 
menangani event dengan signature yang telah ditentukan. Delegate merupakan 
sebuah type. Implementasi lain dari delegate ialah Callback mechanism. Namun 
pada artikel kali ini saya akan membahas implementasi delegate untuk event dan 
event handler.&lt;/p&gt;
&lt;p&gt;Bayangkan anda mempunyai sebuah class. Di dalam class tersebut terdapat 
sebuah property dimana proses assignment valuenya harus divalidasi dengan sebuah 
rule tertentu, lalu anda ingin propagate notifikasi ke user jika validasinya 
tidak valid berupa message errornya. Ok...mari kita buat class yang sederhana 
:&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;Public Class &lt;/span&gt;Order&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:blue;"&gt;Private &lt;/span&gt;mQty &lt;span style="color:blue;"&gt;As Integer&lt;br /&gt;    Public Property &lt;/span&gt;Quantity() &lt;span style="color:blue;"&gt;As Integer&lt;br /&gt;        Get&lt;br /&gt;            Return &lt;/span&gt;mQty&lt;br /&gt;        &lt;span style="color:blue;"&gt;End Get&lt;br /&gt;        Set&lt;/span&gt;(&lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;value &lt;span style="color:blue;"&gt;As Integer&lt;/span&gt;)&lt;br /&gt;            mQty = value&lt;br /&gt;        &lt;span style="color:blue;"&gt;End Set&lt;br /&gt;    End Property&lt;br /&gt;&lt;br /&gt;End Class&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Misalkan aplikasi punya rule bahwa untuk memberikan nilai pada properti 
Quantity valuenya harus lebih besar nol, lalu notifikasi error message nya kita 
deliver ke user bila rule tersebut tidak dipenuhi. Bagaimana langkah2nya? 
Pertama buat terlebih dahulu delegate object nya :&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;Public Class &lt;/span&gt;Order&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:blue;"&gt;Private Delegate Sub &lt;/span&gt;MyDelegateSub(&lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;Message &lt;span style="color:blue;"&gt;As String&lt;/span&gt;)&lt;/pre&gt;
&lt;p&gt;Delegate yang saya buat signature nya berupa sebuah Sub yang memiliki satu 
buah input parameter dengan tipe data string. Langkah kedua buat event yang kita 
definisikan sendiri namanya dimana event handler yang akan dibuat nantinya harus 
sesuai dengan signature delegate diatas :&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;Public Class &lt;/span&gt;Order&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:blue;"&gt;Private Delegate Sub &lt;/span&gt;MyDelegateSub(&lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;Message &lt;span style="color:blue;"&gt;As String&lt;/span&gt;)&lt;br /&gt;    &lt;span style="color:blue;"&gt;Private Event &lt;/span&gt;MustBeGTZero &lt;span style="color:blue;"&gt;As &lt;/span&gt;MyDelegateSub&lt;/pre&gt;
&lt;p&gt;Langkah berikutnya buat event handler nya. Ingat syarat diatas :&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;Public Class &lt;/span&gt;Order&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:blue;"&gt;Private Delegate Sub &lt;/span&gt;MyDelegateSub(&lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;Message &lt;span style="color:blue;"&gt;As String&lt;/span&gt;)&lt;br /&gt;    &lt;span style="color:blue;"&gt;Private Event &lt;/span&gt;MustBeGTZero &lt;span style="color:blue;"&gt;As &lt;/span&gt;MyDelegateSub&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:blue;"&gt;Private Sub &lt;/span&gt;MustBeGTZeroHandler(&lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;Notification &lt;span style="color:blue;"&gt;As String&lt;/span&gt;)&lt;br /&gt;        MsgBox(Notification)&lt;br /&gt;    &lt;span style="color:blue;"&gt;End Sub&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Signature event handler sama dengan delegate (berupa Sub dengan satu buah 
input parameter yang bertipe data string, untuk nama input parameternya ga harus 
sama). &lt;/p&gt;
&lt;p&gt;Next step is, lakukan proses validasi pada Setter property. Disini kita harus 
lakukan assignment event handler dengan event secara run time, raise event, 
setelah itu disassociate event handler dengan eventnya, berikut code lengkapnya 
:&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;Public Class &lt;/span&gt;Order&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:blue;"&gt;Private Delegate Sub &lt;/span&gt;MyDelegateSub(&lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;Message &lt;span style="color:blue;"&gt;As String&lt;/span&gt;)&lt;br /&gt;    &lt;span style="color:blue;"&gt;Private Event &lt;/span&gt;MustBeGTZero &lt;span style="color:blue;"&gt;As &lt;/span&gt;MyDelegateSub&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:blue;"&gt;Private Sub &lt;/span&gt;MustBeGTZeroHandler(&lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;Notification &lt;span style="color:blue;"&gt;As String&lt;/span&gt;)&lt;br /&gt;        MsgBox(Notification)&lt;br /&gt;    &lt;span style="color:blue;"&gt;End Sub&lt;br /&gt;&lt;br /&gt;    Private &lt;/span&gt;mQty &lt;span style="color:blue;"&gt;As Integer&lt;br /&gt;    Public Property &lt;/span&gt;Quantity() &lt;span style="color:blue;"&gt;As Integer&lt;br /&gt;        Get&lt;br /&gt;            Return &lt;/span&gt;mQty&lt;br /&gt;        &lt;span style="color:blue;"&gt;End Get&lt;br /&gt;        Set&lt;/span&gt;(&lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;value &lt;span style="color:blue;"&gt;As Integer&lt;/span&gt;)&lt;br /&gt;            &lt;span style="color:blue;"&gt;If &lt;/span&gt;value &amp;lt;= 0 &lt;span style="color:blue;"&gt;Then&lt;br /&gt;                AddHandler &lt;/span&gt;MustBeGTZero, &lt;span style="color:blue;"&gt;AddressOf &lt;/span&gt;MustBeGTZeroHandler&lt;br /&gt;                &lt;span style="color:blue;"&gt;RaiseEvent &lt;/span&gt;MustBeGTZero(&lt;span&gt;&amp;quot;Input harus lebih besar dari Nol&amp;quot;&lt;/span&gt;)&lt;br /&gt;                &lt;span style="color:blue;"&gt;RemoveHandler &lt;/span&gt;MustBeGTZero, &lt;span style="color:blue;"&gt;AddressOf &lt;/span&gt;MustBeGTZeroHandler&lt;br /&gt;            &lt;span style="color:blue;"&gt;Else&lt;br /&gt;                &lt;/span&gt;mQty = value&lt;br /&gt;            &lt;span style="color:blue;"&gt;End If&lt;br /&gt;        End Set&lt;br /&gt;    End Property&lt;br /&gt;&lt;br /&gt;End Class&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Untuk trigger event yang telah kita buat gunakan perintah RaiseEvent. Berikut 
contoh penggunaannya di aplikasi client :&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;Private Sub &lt;/span&gt;btnGetOrder_Click(&lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;sender &lt;span style="color:blue;"&gt;As &lt;/span&gt;System.Object, _&lt;br /&gt;                              &lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;e &lt;span style="color:blue;"&gt;As &lt;/span&gt;System.EventArgs) _&lt;br /&gt;                              &lt;span style="color:blue;"&gt;Handles &lt;/span&gt;btnGetOrder.Click&lt;br /&gt;    &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;myOrder = &lt;span style="color:blue;"&gt;New &lt;/span&gt;Order &lt;span style="color:blue;"&gt;With &lt;/span&gt;{.Quantity = -1}&lt;br /&gt;&lt;span style="color:blue;"&gt;End Sub&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Kembali saya menggunakan VB 9.0. Kode diatas menggabungkan fitur Local Type 
Inference dengan Object Initialization Expression. Screen shot nya seperti 
dibawah ini :&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Artikel/VB/customevent.jpg" style="margin:0px 0px 0px 15px;" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Happy Coding VB-ers !! ;)&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/19/create-your-own-event-and-event-handler-with-your-own-delegate-in-vb-net.aspx&amp;amp;subject=Create Your Own Event and Event Handler With Your Own Delegate In VB.NET" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/19/create-your-own-event-and-event-handler-with-your-own-delegate-in-vb-net.aspx&amp;amp;t=Create+Your+Own+Event+and+Event+Handler+With+Your+Own+Delegate+In+VB.NET" target="_blank" title="Submit Create Your Own Event and Event Handler With Your Own Delegate In VB.NET to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/19/create-your-own-event-and-event-handler-with-your-own-delegate-in-vb-net.aspx&amp;amp;title=Create+Your+Own+Event+and+Event+Handler+With+Your+Own+Delegate+In+VB.NET" target="_blank" title="Submit Create Your Own Event and Event Handler With Your Own Delegate In VB.NET to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/19/create-your-own-event-and-event-handler-with-your-own-delegate-in-vb-net.aspx&amp;amp;phase=2" target="_blank" title="Submit Create Your Own Event and Event Handler With Your Own Delegate In VB.NET to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/19/create-your-own-event-and-event-handler-with-your-own-delegate-in-vb-net.aspx&amp;amp;title=Create+Your+Own+Event+and+Event+Handler+With+Your+Own+Delegate+In+VB.NET" target="_blank" title="Add Create Your Own Event and Event Handler With Your Own Delegate In VB.NET to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=79917" width="1" height="1"&gt;</description><category domain="http://geeks.netindonesia.net/blogs/yulian/archive/tags/.Net+Framework/default.aspx">.Net Framework</category></item><item><title>Create VB.NET Event Handler In Various Way</title><link>http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/19/create-vb-net-event-handler-in-various-way.aspx</link><pubDate>Wed, 19 Nov 2008 13:09:00 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:79914</guid><dc:creator>yulian</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/yulian/rsscomments.aspx?PostID=79914</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/19/create-vb-net-event-handler-in-various-way.aspx#comments</comments><description>&lt;p&gt;Untuk para programmer yang sebelumnya berkecimpung di dunia VB 6.0 mungkin 
salah satu hal yang wajib dipelajari yaitu mengenai Event dan Event Handler. 
Mungkin selama ini kita buat event handler dengan cara yang standard. Artinya 
kita cukup cari nama event yang akan digunakan untuk object yang bersangkutan 
lewat properties window atau Code Viewer di Visual Studio.&lt;/p&gt;
&lt;p&gt;Berikut adalah event handler untuk event click kontrol Button :&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;Private Sub &lt;/span&gt;btnSave_Click(&lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;sender &lt;span style="color:blue;"&gt;As &lt;/span&gt;System.Object, _&lt;br /&gt;                              &lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;e &lt;span style="color:blue;"&gt;As &lt;/span&gt;System.EventArgs) _&lt;br /&gt;                              &lt;span style="color:blue;"&gt;Handles &lt;/span&gt;btnSave.Click&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;End Sub&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;yang harus diperhatikan oleh VB 6 programmer yaitu keyword Handles. Keyword 
tersebut merupakan kunci assignment sebuah event handler dengan event nya. Anda 
bebas untuk mengubah nama event handler nya selama keyword Handles nya merujuk 
ke event dari object yang anda inginkan. Hal ini berbeda sekali dengan VB 6, 
bila anda ganti nama event handler nya maka prosedur tersebut tidak akan pernah 
di ekseskusi.&lt;/p&gt;
&lt;p&gt;Misalkan saya memiliki tiga buah control Button dengan masing-masing event 
handler nya untuk event Click seperti dibawah ini :&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;Private Sub &lt;/span&gt;btnSave_Click(&lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;sender &lt;span style="color:blue;"&gt;As &lt;/span&gt;System.Object, _&lt;br /&gt;                          &lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;e &lt;span style="color:blue;"&gt;As &lt;/span&gt;System.EventArgs) _&lt;br /&gt;                          &lt;span style="color:blue;"&gt;Handles &lt;/span&gt;btnSave.Click&lt;br /&gt;    MsgBox(&lt;span&gt;&amp;quot;Save&amp;quot;&lt;/span&gt;)&lt;br /&gt;&lt;span style="color:blue;"&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub &lt;/span&gt;btnDelete_Click(&lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;sender &lt;span style="color:blue;"&gt;As &lt;/span&gt;System.Object, _&lt;br /&gt;                            &lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;e &lt;span style="color:blue;"&gt;As &lt;/span&gt;System.EventArgs) _&lt;br /&gt;                            &lt;span style="color:blue;"&gt;Handles &lt;/span&gt;btnDelete.Click&lt;br /&gt;    MsgBox(&lt;span&gt;&amp;quot;Delete&amp;quot;&lt;/span&gt;)&lt;br /&gt;&lt;span style="color:blue;"&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub &lt;/span&gt;btnCancel_Click(&lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;sender &lt;span style="color:blue;"&gt;As &lt;/span&gt;System.Object, _&lt;br /&gt;                            &lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;e &lt;span style="color:blue;"&gt;As &lt;/span&gt;System.EventArgs) _&lt;br /&gt;                            &lt;span style="color:blue;"&gt;Handles &lt;/span&gt;btnCancel.Click&lt;br /&gt;    MsgBox(&lt;span&gt;&amp;quot;Cancel&amp;quot;&lt;/span&gt;)&lt;br /&gt;&lt;span style="color:blue;"&gt;End Sub&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Bila business rule dari ketiga event handler tersebut mirip dan kontrol nya 
juga sama, apakah kode diatas cukup efektif? Mungkin kita bisa buat cara lain 
untuk menghemat space code designer :)) bagaimana caranya? Kita bisa buat satu 
buah event handler yang menangani lebih dari satu event untuk masing-masing 
kontrol. Intinya terdapat pada Handles keyword :&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;Private Sub &lt;/span&gt;ClickEventHandler(&lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;sender &lt;span style="color:blue;"&gt;As Object&lt;/span&gt;, &lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;e &lt;span style="color:blue;"&gt;As &lt;/span&gt;EventArgs) _&lt;br /&gt;    &lt;span style="color:blue;"&gt;Handles &lt;/span&gt;btnSave.Click, btnCancel.Click, btnDelete.Click&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;End Sub&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Setelah Handles keyword anda tinggal definisikan event-event yang akan 
dibuatkan handler nya dari masing-masing kontrol dengan dipisahkan dengan tanda 
koma. Lalu sekarang bagaimana caranya kita mengetahui control mana yang 
mentrigger event tsb? Dengan variabel sender yang terdapat pada parameter 
pertama di prosedur tsb. Yang harus dilakukan adalah melakukan casting explicit 
ke kontrol yang mentrigger event tsb. Setelah didapatkan object nya maka kita 
dapat memanfaatkan properti yang dimiliki oleh kontrol tsb untuk identifikasi. 
Properti yang mudah dan umum digunakan yaitu properti Name. Berikut code nya 
:&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;Private Sub &lt;/span&gt;ClickEventHandler(&lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;sender &lt;span style="color:blue;"&gt;As Object&lt;/span&gt;, &lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;e &lt;span style="color:blue;"&gt;As &lt;/span&gt;EventArgs) _&lt;br /&gt;    &lt;span style="color:blue;"&gt;Handles &lt;/span&gt;btnSave.Click, btnCancel.Click, btnDelete.Click&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;aButton = &lt;span style="color:blue;"&gt;DirectCast&lt;/span&gt;(sender, Button)&lt;br /&gt;    &lt;span style="color:blue;"&gt;Select Case &lt;/span&gt;aButton.Name.ToLower&lt;br /&gt;        &lt;span style="color:blue;"&gt;Case &lt;/span&gt;&lt;span&gt;&amp;quot;btnsave&amp;quot;&lt;br /&gt;            &lt;/span&gt;MsgBox(&lt;span&gt;&amp;quot;Save&amp;quot;&lt;/span&gt;)&lt;br /&gt;        &lt;span style="color:blue;"&gt;Case &lt;/span&gt;&lt;span&gt;&amp;quot;btncancel&amp;quot;&lt;br /&gt;            &lt;/span&gt;MsgBox(&lt;span&gt;&amp;quot;Cancel&amp;quot;&lt;/span&gt;)&lt;br /&gt;        &lt;span style="color:blue;"&gt;Case &lt;/span&gt;&lt;span&gt;&amp;quot;btndelete&amp;quot;&lt;br /&gt;            &lt;/span&gt;MsgBox(&lt;span&gt;&amp;quot;Delete&amp;quot;&lt;/span&gt;)&lt;br /&gt;    &lt;span style="color:blue;"&gt;End Select&lt;br /&gt;End Sub&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Lebih menghemat space kan :D ? Kode ini saya buat dengan VB 9.0, jadi 
variabel aButton tersebut tipe datanya langsung di Infer oleh si CLR. Cara 
lainnya gimana nih? Apakah ada cara lain untuk assignment event handler terhadap 
sebuah event? Ada...cara ini berguna kalau anda ingin membuat event handler 
secara dinamis. Pertama anda buat terlebih dahulu event handler nya dengan 
signature yang sama tanpa keyword Handles :&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;Private Sub &lt;/span&gt;ClickEventHandler(&lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;sender &lt;span style="color:blue;"&gt;As Object&lt;/span&gt;, &lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;e &lt;span style="color:blue;"&gt;As &lt;/span&gt;EventArgs)&lt;br /&gt;    &lt;span style="color:blue;"&gt;Dim &lt;/span&gt;aButton = &lt;span style="color:blue;"&gt;DirectCast&lt;/span&gt;(sender, Button)&lt;br /&gt;    &lt;span style="color:blue;"&gt;Select Case &lt;/span&gt;aButton.Name.ToLower&lt;br /&gt;        &lt;span style="color:blue;"&gt;Case &lt;/span&gt;&lt;span&gt;&amp;quot;btnsave&amp;quot;&lt;br /&gt;            &lt;/span&gt;MsgBox(&lt;span&gt;&amp;quot;Save&amp;quot;&lt;/span&gt;)&lt;br /&gt;        &lt;span style="color:blue;"&gt;Case &lt;/span&gt;&lt;span&gt;&amp;quot;btncancel&amp;quot;&lt;br /&gt;            &lt;/span&gt;MsgBox(&lt;span&gt;&amp;quot;Cancel&amp;quot;&lt;/span&gt;)&lt;br /&gt;        &lt;span style="color:blue;"&gt;Case &lt;/span&gt;&lt;span&gt;&amp;quot;btndelete&amp;quot;&lt;br /&gt;            &lt;/span&gt;MsgBox(&lt;span&gt;&amp;quot;Delete&amp;quot;&lt;/span&gt;)&lt;br /&gt;    &lt;span style="color:blue;"&gt;End Select&lt;br /&gt;End Sub&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Setelah itu langkah yang harus dilakukan yaitu proses assignmentnya. Gunakan 
AddHandler keyword. Anda bisa tempatkan perintah tersebut dimana saja. Contoh 
berikut saya tempatkan di event Load dari form yang digunakan :&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;Private Sub &lt;/span&gt;EventAndEventHandler_Load(&lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;sender &lt;span style="color:blue;"&gt;As &lt;/span&gt;System.Object, _&lt;br /&gt;                                      &lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;e &lt;span style="color:blue;"&gt;As &lt;/span&gt;System.EventArgs) _&lt;br /&gt;                                      &lt;span style="color:blue;"&gt;Handles MyBase&lt;/span&gt;.Load&lt;br /&gt;    &lt;span style="color:blue;"&gt;AddHandler &lt;/span&gt;btnSave.Click, &lt;span style="color:blue;"&gt;AddressOf &lt;/span&gt;ClickEventHandler&lt;br /&gt;    &lt;span style="color:blue;"&gt;AddHandler &lt;/span&gt;btnCancel.Click, &lt;span style="color:blue;"&gt;AddressOf &lt;/span&gt;ClickEventHandler&lt;br /&gt;    &lt;span style="color:blue;"&gt;AddHandler &lt;/span&gt;btnDelete.Click, &lt;span style="color:blue;"&gt;AddressOf &lt;/span&gt;ClickEventHandler&lt;br /&gt;&lt;span style="color:blue;"&gt;End Sub&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Perintah AddressOf merupakan sebuah object Delegate. Lalu ada seseorang 
bertanya pada saya...Pak disitu pake perintah AddHandler, berarti ada dong 
perintah lainnya yang berseberangan dengan perintah tsb?? Ada...RemoveHandler 
jawabannya :) &lt;/p&gt;
&lt;p&gt;Perintah Remove Handler digunakan untuk &amp;quot;memutuskan&amp;quot; asosiasi antara event 
dengan event handler nya. Hal tersebut berguna agar tidak terjadi proses 
assignment event handler lebih dari satu kali. Penulisan kode nya sama, seperti 
berikut :&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;Private Sub &lt;/span&gt;btnRemoveHandler_Click(&lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;sender &lt;span style="color:blue;"&gt;As &lt;/span&gt;System.Object, _&lt;br /&gt;                                   &lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;e &lt;span style="color:blue;"&gt;As &lt;/span&gt;System.EventArgs) _&lt;br /&gt;                                   &lt;span style="color:blue;"&gt;Handles &lt;/span&gt;btnRemoveHandler.Click&lt;br /&gt;    &lt;span style="color:blue;"&gt;RemoveHandler &lt;/span&gt;btnSave.Click, &lt;span style="color:blue;"&gt;AddressOf &lt;/span&gt;ClickEventHandler&lt;br /&gt;    &lt;span style="color:blue;"&gt;RemoveHandler &lt;/span&gt;btnCancel.Click, &lt;span style="color:blue;"&gt;AddressOf &lt;/span&gt;ClickEventHandler&lt;br /&gt;    &lt;span style="color:blue;"&gt;RemoveHandler &lt;/span&gt;btnDelete.Click, &lt;span style="color:blue;"&gt;AddressOf &lt;/span&gt;ClickEventHandler&lt;br /&gt;&lt;span style="color:blue;"&gt;End Sub&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Begitulah ceritanya ;) ... anda tinggal memlilih cara mana yang sesuai dengan 
kebutuhan aplikasi tersebut. C U on the next articles ;)&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/19/create-vb-net-event-handler-in-various-way.aspx&amp;amp;subject=Create VB.NET Event Handler In Various Way" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/19/create-vb-net-event-handler-in-various-way.aspx&amp;amp;t=Create+VB.NET+Event+Handler+In+Various+Way" target="_blank" title="Submit Create VB.NET Event Handler In Various Way to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/19/create-vb-net-event-handler-in-various-way.aspx&amp;amp;title=Create+VB.NET+Event+Handler+In+Various+Way" target="_blank" title="Submit Create VB.NET Event Handler In Various Way to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/19/create-vb-net-event-handler-in-various-way.aspx&amp;amp;phase=2" target="_blank" title="Submit Create VB.NET Event Handler In Various Way to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/19/create-vb-net-event-handler-in-various-way.aspx&amp;amp;title=Create+VB.NET+Event+Handler+In+Various+Way" target="_blank" title="Add Create VB.NET Event Handler In Various Way to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=79914" width="1" height="1"&gt;</description><category domain="http://geeks.netindonesia.net/blogs/yulian/archive/tags/.Net+Framework/default.aspx">.Net Framework</category></item><item><title>Weekend Day with MUGI Bandung + MS Indo Event Reporting</title><link>http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/10/weekend-day-with-mugi-bandung-ms-indo-event-reporting.aspx</link><pubDate>Mon, 10 Nov 2008 01:58:00 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:74430</guid><dc:creator>yulian</dc:creator><slash:comments>12</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/yulian/rsscomments.aspx?PostID=74430</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/10/weekend-day-with-mugi-bandung-ms-indo-event-reporting.aspx#comments</comments><description>&lt;p&gt;Hari sabtu minggu kemarin tepatnya pada tanggal 8 Nov 2008 di Unpas Setiabudi 
Bandung telah diadakan Kuliah umum dengan tema Weekend Day With MUGI Bandung dan 
MS Indo. Acara ini merupakan hasil kerja sama antara pihak MUGI + MUGI Bandung + 
MS Indo + Jurusan Informatika Unpas. Acara dimulai sekitar pukul 9.00 pagi WIB 
yang dibuka oleh ketua Dekan Unpas, ketua jurusan IF Unpas, ketua Himpunan IF 
Unpas. Rencana semula sebenarnya akan dibuka oleh Rektor Unpas, namun beliau 
tidak dapat hadir karena ada halangan.&lt;/p&gt;
&lt;p&gt;Para peserta yang hadir tampak antusias sekali menyaksikan acara ini, dapat 
dilihat dari kehadiran mereka dari pagi sampai acara berakhir pada pukul 
setengah 5. Kami sangat berterima kasih sekali pada panitia yang telah membuat 
acara ini lebih dari yang kita bayangkan sebelumnya. Mereka telah membuat baligo 
ukuran besar, spanduk, flyer, stiker, menyediakan konsumsi makanan ringan plus 
teh botol dan aqua, sampai menyediakan makan siang prasmanan yang telah mereka 
sediakan...thanks!!! Mereka dengan sukarela mempersiapkan itu semua tanpa adanya 
&amp;quot;sumbangan&amp;quot; berupa dana dalam bentuk uang dari kita. Bahkan mereka memiliki 
budget sendiri untuk mempersiapkan itu semua dan para peserta ditarik uang tiket 
masuk sebesar Rp.15.000 atas inisiatif panitia itu sendiri. Jumlah peserta yang 
hadir mencapai 200 orang lebih. Itu pun mereka batasi dengan alasan kapasitas 
aula yang tidak cukup untuk menampung lebih dari 200 orang, dan sebenarnya 
banyak sekali para mahasiswa lainnya yang mereka tolak karena 
kapasitas...Wow...great job!! Thanks again to IF Unpas :)&lt;/p&gt;
&lt;p&gt;Ketika Mugiers datang ke kampus Unpas sekitar pukul 8.00, kita telah disambut 
oleh ketua Dekan, ketua jurusan IF, dosen IF. Disana kita berbincang-bincang 
mengenai acara ini. Dan ketua dekan tersebut sangat mendukung sekali acara-acara 
seperti ini, dan beliau berharap acara ini dapat berlangsung kontinu dan 
mengharapkan kegiatan yang lebih dari sekedar kuliah umum, mungkin seperti 
workhsop...We will do!!&lt;/p&gt;
&lt;p&gt;Pihak unpas sangat tertarik untuk bekerjasama dengan Mugi dan MS Indo, 
terutama dalam hal MSDNAA (Ini bagiannya mas Julius Fenata).&amp;nbsp; Mas Julius dan mas 
Irsan sempat membicarakan hal tsb dengan ketua jurusan IF ketika istirahat makan 
siang di ruang Dekan (gimana mas hasilnya? :D ). Mugi Bandung akan berencana 
untuk membentuk Mugi Kampus. Unpas akan kita jadikan pilot project pertama dalam 
pembentukan Mugi kampus.&lt;/p&gt;
&lt;p&gt;Tampak sekali para mahasiswa IF Unpas sangat jauh sekali dari &amp;quot;sentuhan&amp;quot; 
Microsoft technology. Mereka terbiasa dengan produk-produk open source dan 
produk non MS. Hal tersebut tidak ada salahnya. Namun kita memberikan perspektif 
dalam dunia nyata apabila mereka terjun nantinya ke dunia lapangan pekerjaan. Ya 
inilah target Mugi Bandung untuk &amp;quot;menjamah&amp;quot; kampus-kampus lainnya seperti Unpas 
ini...We will do again!!&lt;/p&gt;
&lt;p&gt;Banyak sekali goodies yang kita sediakan pada mereka :)...ada buku, dvd 
developer kit, sql server 2008, visual studio 2008, windows vista ultimate, 
windows server 2008, kaos-kaos, video-video training...sampai-sampai bersisa dan 
kita bagikan dengan cara dilempar ke para peserta :)) sebagai ice breaker juga, 
hoalah...seru-seru! (ini idenya mas Irsan nih :D ). Mereka juga mendapatkan 
sertifikat yang dibagikan setelah acara selesai. Selain itu disana juga terdapat 
stand lowongan kerja dari Jatis.&lt;/p&gt;
&lt;p&gt;Kami mengucapkan terima kasih pada pak Sony (Mugi Pusat) dan mugi jadetabek 
yang hadir, MS Indo yang telah mensupport kita. Dan satu lagi yaitu Bobby N.H 
yang telah menjadi fasilitator yang sukses :) antara pihak Unpas dengan Mugi 
Bandung...Memang cocok kamu jadi &amp;quot;Humas&amp;quot; Mugi Bandung bro! :)&lt;/p&gt;
&lt;p&gt;What&amp;#39;s next event? Kita berencana akan mengadakan acara serupa di STT Telkom 
pada bulan desember, semoga terlaksana :)&lt;/p&gt;
&lt;p&gt;Berikut foto-foto kegiatannya. Anda juga dapat melihat foto-fotonya di &lt;a href="http://www.facebook.com/photo_search.php?oid=25777201380&amp;amp;view=all" target="_blank"&gt;Facebook Mugi Bandung Group&lt;/a&gt; :D...O ya saat itu juga ada 
kamerawan dari TVRI (pihak Unpas yang mengundangnya), dan pak Firstman (ketua 
Mugi Bandung) sempat diwawancara oleh mereka (wah masuk TV nih pak firstman :D 
)...&lt;/p&gt;
&lt;p&gt;Pembacaan doa :&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/bacadoa.jpg" style="margin:0px 0px 0px 15px;" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Audience :&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/mugiscreen.jpg" style="margin:0px 0px 0px 15px;" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/audience1.jpg" style="margin:0px 0px 0px 15px;" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/audience2.jpg" style="margin:0px 0px 0px 15px;" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Sambutan dari Ketua Dekan :&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/ketuadekan.jpg" style="margin:0px 0px 0px 15px;" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Sambutan dari Ketua Jurusan IF:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/ketuajurusan.jpg" style="margin:0px 0px 0px 15px;" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Sambutan dari Ketua Jurusan Himpunan IF:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/ketuahim.jpg" style="margin:0px 0px 0px 15px;" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Sambutan dari Ketua Panitia:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/ketuapanitia.jpg" style="margin:0px 0px 0px 15px;" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Firstman On &amp;quot;Introducing MUGI Bandung&amp;quot;:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/firstman1.jpg" style="margin:0px 0px 0px 15px;" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Irsan On &amp;quot;Microsoft Product Lincense&amp;quot;:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/irsan.jpg" style="margin:0px 0px 0px 15px;" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Me On &amp;quot;Microsoft Certification&amp;quot;:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/rully.jpg" style="margin:0px 0px 0px 15px;" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Aris On &amp;quot;Microsoft Certification&amp;quot;:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/aris.jpg" style="margin:0px 0px 0px 15px;" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Fu On &amp;quot;Silverlight&amp;quot;:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/fu.jpg" style="margin:0px 0px 0px 15px;" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Narenda On &amp;quot;Virtualization&amp;quot;:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/naren.jpg" style="margin:0px 0px 0px 15px;" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Andri Yadi On &amp;quot;VSTO&amp;quot;:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/andri.jpg" style="margin:0px 0px 0px 15px;" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Ronald On &amp;quot;WPF&amp;quot;:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/ronald.jpg" style="margin:0px 0px 0px 15px;" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Julius Fenata On &amp;quot;Microsoft Imagine Cup 2009&amp;quot;:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/julius.jpg" style="margin:0px 0px 0px 15px;" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Pertukaran Cindera mata antara MUGI Bandung dan Himpunan IF Unpas:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/mugihimpunan.jpg" style="margin:0px 0px 0px 15px;" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Setelah acara selesai, sekitar pukul 5 lebih kita masih diundang makan-makan 
oleh ketua jurusan IF dan dosen IF (Surabi nya enak + Singkong + Bajigur :D 
)...sayang mugiers yang lain sudah keburu pulang :D :&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/mugijurusan.jpg" style="margin:0px 0px 0px 15px;" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Bagi yang ingin melihat slide presentasi saya tentang sertifikasi Microsoft 
silahkan &lt;a href="http://www.yulianmf.com/Download/MS%20Certification2.rar" target="_blank"&gt;di download disini&lt;/a&gt;. Thx to All !!!&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/10/weekend-day-with-mugi-bandung-ms-indo-event-reporting.aspx&amp;amp;subject=Weekend Day with MUGI Bandung + MS Indo Event Reporting" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/10/weekend-day-with-mugi-bandung-ms-indo-event-reporting.aspx&amp;amp;t=Weekend+Day+with+MUGI+Bandung+%2b+MS+Indo+Event+Reporting" target="_blank" title="Submit Weekend Day with MUGI Bandung + MS Indo Event Reporting to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/10/weekend-day-with-mugi-bandung-ms-indo-event-reporting.aspx&amp;amp;title=Weekend+Day+with+MUGI+Bandung+%2b+MS+Indo+Event+Reporting" target="_blank" title="Submit Weekend Day with MUGI Bandung + MS Indo Event Reporting to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/10/weekend-day-with-mugi-bandung-ms-indo-event-reporting.aspx&amp;amp;phase=2" target="_blank" title="Submit Weekend Day with MUGI Bandung + MS Indo Event Reporting to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/yulian/archive/2008/11/10/weekend-day-with-mugi-bandung-ms-indo-event-reporting.aspx&amp;amp;title=Weekend+Day+with+MUGI+Bandung+%2b+MS+Indo+Event+Reporting" target="_blank" title="Add Weekend Day with MUGI Bandung + MS Indo Event Reporting to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=74430" width="1" height="1"&gt;</description><category domain="http://geeks.netindonesia.net/blogs/yulian/archive/tags/MUGI+Bandung/default.aspx">MUGI Bandung</category></item><item><title>Weekend Day With MUGI - Knowledge Sharing About Microsoft Technology</title><link>http://geeks.netindonesia.net/blogs/yulian/archive/2008/10/28/weekend-day-with-mugi-knowledge-sharing-about-microsoft-technology.aspx</link><pubDate>Tue, 28 Oct 2008 10:31:00 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:70774</guid><dc:creator>yulian</dc:creator><slash:comments>10</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/yulian/rsscomments.aspx?PostID=70774</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/yulian/archive/2008/10/28/weekend-day-with-mugi-knowledge-sharing-about-microsoft-technology.aspx#comments</comments><description>&lt;p&gt;Beberapa bulan terakhir ini MUGI Bandung disibukkan untuk mengaktifkan 
kembali kegiatan-kegiatan yang sifatnya Sharing Knowledge baik itu berupa 
Seminar, Kuliah Umum, maupun Workshop. Setelah melakukan briefing beberapa kali 
maka diputuskan event yang pertama kali akan kita buat yaitu Kuliah Umum di 
Unpas Bandung. Event ini akan dijadikan sebagai langkah awal untuk melanjutkan 
kegiatan-kegiatan selanjutnya. &lt;/p&gt;
&lt;p&gt;MUGI Bandung berencana nantinya akan membuat agenda tahunan yang akan 
diadakan di kampus-kampus. Ibaratnya Road Show Campus To Campus :) Mungkin 
setelah event ini dalam waktu dekat ada beberapa kampus yang sudah masuk list 
MUGI Bandung untuk mengadakan kegiatan berikutnya. Jadi mari kita sukseskan 
event MUGI Bandung pertama ini sebagai langkah awal untuk dijadikan sebagai 
percontohan bagi kampus lainnya. Salut untuk mahasiswa Unpas yang begitu 
antusias dan bersemangat dalam mempersiapkan event ini !!!...So tunggu kita di 
hari H nya :D ...Terima kasih juga untuk semua&amp;nbsp;anggota MUGI Bandung yang telah 
membantu dalam mempersiapkan event ini, terutama Bobby N.H &amp;quot;Humas&amp;quot; MUGI Bandung 
:) yang menjadi fasilitator dengan pihak Unpas, Pak Sony MUGI Pusat, begitu juga dukungan dari 
Microsoft Indonesia. &lt;/p&gt;
&lt;p&gt;Berikut daftar acara yang akan dibawakan nanti :&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/eventUnpas1.jpg" style="margin:0px 0px 0px 15px;" alt="" /&gt;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;Bagi mahasiswa Unpas (Universitas Pasundan) Bandung, please be there...O ya bagi peserta yang mendaftarkan diri nanti kita bakal bagi-bagi goodies yaitu DVD Developer Kit, Buku (beberapa), Kaos (beberapa), CD Office (beberapa) dan Sertifikat :)&lt;br /&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/yulian/archive/2008/10/28/weekend-day-with-mugi-knowledge-sharing-about-microsoft-technology.aspx&amp;amp;subject=Weekend Day With MUGI - Knowledge Sharing About Microsoft Technology" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/yulian/archive/2008/10/28/weekend-day-with-mugi-knowledge-sharing-about-microsoft-technology.aspx&amp;amp;t=Weekend+Day+With+MUGI+-+Knowledge+Sharing+About+Microsoft+Technology" target="_blank" title="Submit Weekend Day With MUGI - Knowledge Sharing About Microsoft Technology to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/yulian/archive/2008/10/28/weekend-day-with-mugi-knowledge-sharing-about-microsoft-technology.aspx&amp;amp;title=Weekend+Day+With+MUGI+-+Knowledge+Sharing+About+Microsoft+Technology" target="_blank" title="Submit Weekend Day With MUGI - Knowledge Sharing About Microsoft Technology to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/yulian/archive/2008/10/28/weekend-day-with-mugi-knowledge-sharing-about-microsoft-technology.aspx&amp;amp;phase=2" target="_blank" title="Submit Weekend Day With MUGI - Knowledge Sharing About Microsoft Technology to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/yulian/archive/2008/10/28/weekend-day-with-mugi-knowledge-sharing-about-microsoft-technology.aspx&amp;amp;title=Weekend+Day+With+MUGI+-+Knowledge+Sharing+About+Microsoft+Technology" target="_blank" title="Add Weekend Day With MUGI - Knowledge Sharing About Microsoft Technology to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=70774" width="1" height="1"&gt;</description><category domain="http://geeks.netindonesia.net/blogs/yulian/archive/tags/MUGI+Bandung/default.aspx">MUGI Bandung</category></item><item><title>Finally...MCT listed in my certification transcript as my newly certification :)</title><link>http://geeks.netindonesia.net/blogs/yulian/archive/2008/09/28/finally-mct-listed-in-my-certification-transcript-as-my-newly-certification.aspx</link><pubDate>Sun, 28 Sep 2008 13:55:00 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:64523</guid><dc:creator>yulian</dc:creator><slash:comments>8</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/yulian/rsscomments.aspx?PostID=64523</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/yulian/archive/2008/09/28/finally-mct-listed-in-my-certification-transcript-as-my-newly-certification.aspx#comments</comments><description>&lt;p&gt;Akhirnya setelah beberapa tahun belakangan ini keinginan saya untuk 
mendapatkan sertifikasi MCT (Microsoft Certified Trainer) terkabul juga. Setelah 
saya mengisi MCT Enrollment lewat MCP Member Site dan&amp;nbsp;sempat beberapa kali 
mengirim email ke searesc[at]microsoft.com karena dalam beberapa hari yang telah 
dijanjikan status MCT Applicationnya tidak juga Approved :))...sampai bosan juga 
bolak balik ke MCP member site hanya untuk melihat status Approved 
;))...finallly MCT is listed as my newly certification as you can see in 
my&amp;nbsp;certification transcript below :&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/mct1.jpg" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Bagi yang belum mengetahui apa itu MCT akan saya jelaskan secara singkat.&lt;/p&gt;
&lt;p&gt;MCT ialah sebuah sertifikasi dari Microsoft bagi orang yang berkecimpung di 
IT Training untuk produk-produk Microsoft. Syarat untuk menjadi MCT ialah harus 
sudah memiliki sertifikasi Microsoft sebelumnya, misalnya MCAD, MCSD, MCSE, 
MCPD, MCITP, dll. Untuk mendapatkan sertifikasi ini ada beberapa cara, seperti 
yang dapat anda lihat di situs ini &lt;a href="http://www.microsoft.com/learning/mcp/mct/guide/" target="_blank"&gt;http://www.microsoft.com/learning/mcp/mct/guide/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Lalu apa keuntungannya dengan mendapatkan sertifikasi MCT ini? Sudah pasti 
kita akan mendapatkan discount-discount untuk exam yang bisa mencapai 65%, 
discount buku-buku MS Press, link-link ke resources berguna yang telah 
disediakan Microsoft, MCT Summit, dll. Satu yang paling berguna bagi saya yaitu 
download Microsoft Official Curriculum (MOC). MOC ini merupakan kurikulum resmi 
dari Microsoft sebagai modul training yang diselenggarakan oleh CPLS. Artinya 
saya dapat menghemat untuk membeli buku-buku luar :)).&amp;nbsp;Lalu apa&amp;nbsp;itu CPLS 
(Certified Partner Learning Solution)?&lt;/p&gt;
&lt;p&gt;CPLS merupakan lembaga training center yang sudah di sertifikasi oleh 
Microsoft untuk mengadakan training produk Microsoft dengan menggunakan MOC. 
Selain itu untuk deliver MOC ini CPLS harus mempekerjakan seorang MCT (harusnya 
:D ).&lt;/p&gt;
&lt;p&gt;Seorang MCT juga sebenarnya harus deliver materi yang sesuai dengan track 
sertifikasi yang telah dia dapatkan. Seperti yang dapat anda lihat di potongan 
gambar transkrip saya dibawah ini :&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/mct2.jpg" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Hal tersebut di atas dikarenakan track sertifikasi saya di application 
developer (MCP, MCAD, MCTS, MCPD). Lalu modul-modul MOC apa saja yang dapat saya 
deliver sesuai dengan ketentuan di atas? Ini dia list MOC yang dapat saya 
deliver (you have to own more enough internet quota for download, upgrade your 
Indosat 3.5G Broadband Unlimited to the higher&amp;nbsp;package!! :)) you can&amp;#39;t use Eco! 
Package ;)) ) :&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/mct3.jpg" style="margin:0px;" alt="" /&gt; 
&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/mct4.jpg" style="margin:0px 0px 0px 15px;" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Act/mct5.jpg" style="margin:0px 0px 0px 15px;" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Banyak sekali bukan :D...Anyway i would like to say thanks to &amp;quot;Mr.SS&amp;quot; and 
Mr.Andi (from Nettrain Rasuna Park Office) for their help. Without them i 
couldn&amp;#39;t get this certification. Yang merasa ber inisial &amp;quot;SS&amp;quot; silahkan call me, 
i&amp;#39;ll take you to &amp;quot;Ngopi Doeloe&amp;quot; cafe Bandung :))...halah inisial-inisial segala 
:D, ini aja liat blognya &amp;quot;Mr.SS&amp;quot; disini&amp;nbsp; &lt;a href="http://mugi.or.id/blogs/sony/" target="_blank"&gt;http://mugi.or.id/blogs/sony/&lt;/a&gt;&amp;nbsp;O ya, yang pasti logo 
certification saya bertambah ;))&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/yulian/archive/2008/09/28/finally-mct-listed-in-my-certification-transcript-as-my-newly-certification.aspx&amp;amp;subject=Finally...MCT listed in my certification transcript as my newly certification :)" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/yulian/archive/2008/09/28/finally-mct-listed-in-my-certification-transcript-as-my-newly-certification.aspx&amp;amp;t=Finally...MCT+listed+in+my+certification+transcript+as+my+newly+certification+%3a)" target="_blank" title="Submit Finally...MCT listed in my certification transcript as my newly certification :) to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/yulian/archive/2008/09/28/finally-mct-listed-in-my-certification-transcript-as-my-newly-certification.aspx&amp;amp;title=Finally...MCT+listed+in+my+certification+transcript+as+my+newly+certification+%3a)" target="_blank" title="Submit Finally...MCT listed in my certification transcript as my newly certification :) to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/yulian/archive/2008/09/28/finally-mct-listed-in-my-certification-transcript-as-my-newly-certification.aspx&amp;amp;phase=2" target="_blank" title="Submit Finally...MCT listed in my certification transcript as my newly certification :) to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/yulian/archive/2008/09/28/finally-mct-listed-in-my-certification-transcript-as-my-newly-certification.aspx&amp;amp;title=Finally...MCT+listed+in+my+certification+transcript+as+my+newly+certification+%3a)" target="_blank" title="Add Finally...MCT listed in my certification transcript as my newly certification :) to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=64523" width="1" height="1"&gt;</description><category domain="http://geeks.netindonesia.net/blogs/yulian/archive/tags/MCT/default.aspx">MCT</category></item><item><title>ComboBox Color ala WPF</title><link>http://geeks.netindonesia.net/blogs/yulian/archive/2008/09/23/combobox-color-ala-wpf.aspx</link><pubDate>Tue, 23 Sep 2008 05:27:00 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:63438</guid><dc:creator>yulian</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/yulian/rsscomments.aspx?PostID=63438</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/yulian/archive/2008/09/23/combobox-color-ala-wpf.aspx#comments</comments><description>&lt;p&gt;Di &lt;a href="http://www.yulianmf.com/DetailsArticle.aspx?art=70" target="_blank"&gt;posting terdahulu&lt;/a&gt; saya pernah ber coding ria untuk membuat 
Combobox yang berisi list predefined color beserta kotak berwarna yang memiliki 
warna yang sesuai dengan nama warna yang muncul di Combobox list tersebut. Saya 
tidak akan menjelaskan kembali teknik tersebut. Kali ini saya akan ber coding 
ria lagi untuk membuat object yang serupa namun dibuat dengan menggunakan 
WPF.&lt;/p&gt;
&lt;p&gt;Seperti yang kita ketahui semua, di WPF banyak sekali cool stuff yang dapat 
membuat tampilan lebih cantik dan wah. Selain itu ada beberapa teknik yang 
dipermudah dalam melakukan action tertentu, seperti misalnya penggunaan object 
graphics, bitmap effect, dll. Di WPF juga dikenal adanya Control Template. 
Template control ini sebelumnya mungkin kita kenal di asp.net. Pernah 
menggunakan Data Display Control seperti DataList, Repeater atau mungkin 
GridView? Ya seperti itulah kira-kira yang dapat kita lakukan juga di WPF. Ok 
mari kita lihat langkah-langkahnya:&lt;/p&gt;
&lt;p&gt;Pertama kali sudah pasti anda harus buat terlebih dahulu WPF Application 
project templatenya dari Visual Studio kesayangan anda. Disini saya menggunakan 
VS 2008. Buat code seperti di bawah ini pada Window1.xaml untuk interfacenya 
:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;Window &lt;/span&gt;&lt;span style="color:red;"&gt;x&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:red;"&gt;Class&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Window1&amp;quot;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color:red;"&gt;xmlns&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&amp;quot;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color:red;"&gt;xmlns&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:red;"&gt;x&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml&amp;quot;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color:red;"&gt;Title&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Window1&amp;quot; &lt;/span&gt;&lt;span style="color:red;"&gt;Height&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;300&amp;quot; &lt;/span&gt;&lt;span style="color:red;"&gt;Width&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;350&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;/span&gt;&lt;span&gt;Grid&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;        &amp;lt;&lt;/span&gt;&lt;span&gt;StackPanel &lt;/span&gt;&lt;span style="color:red;"&gt;Margin&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;10,10,10,10&amp;quot; &lt;/span&gt;&lt;span style="color:red;"&gt;Orientation&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Horizontal&amp;quot; &lt;br /&gt;                    &lt;/span&gt;&lt;span style="color:red;"&gt;VerticalAlignment&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Top&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;&lt;/span&gt;&lt;span&gt;ComboBox &lt;/span&gt;&lt;span style="color:red;"&gt;Width&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;310&amp;quot; &lt;/span&gt;&lt;span style="color:red;"&gt;Height&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;40&amp;quot; &lt;/span&gt;&lt;span style="color:red;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;cboColor&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;&lt;/span&gt;&lt;span&gt;ComboBox.ItemTemplate&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;                    &amp;lt;&lt;/span&gt;&lt;span&gt;DataTemplate&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;                         &amp;lt;&lt;/span&gt;&lt;span&gt;StackPanel &lt;/span&gt;&lt;span style="color:red;"&gt;Orientation&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Horizontal&amp;quot;&amp;gt;&lt;br /&gt;                            &amp;lt;&lt;/span&gt;&lt;span&gt;Label &lt;/span&gt;&lt;span style="color:red;"&gt;Width&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;175&amp;quot; &lt;/span&gt;&lt;span style="color:red;"&gt;Height&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Auto&amp;quot; &lt;br /&gt;                                   &lt;/span&gt;&lt;span style="color:red;"&gt;Content&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span&gt;Binding &lt;/span&gt;&lt;span style="color:red;"&gt;Path&lt;/span&gt;&lt;span style="color:blue;"&gt;={}}&amp;quot;&lt;br /&gt;                                   &lt;/span&gt;&lt;span style="color:red;"&gt;FontSize&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;14&amp;quot;&amp;gt;&lt;br /&gt;                                &amp;lt;&lt;/span&gt;&lt;span&gt;Label.BitmapEffect&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;                                    &amp;lt;&lt;/span&gt;&lt;span&gt;DropShadowBitmapEffect &lt;br /&gt;                                        &lt;/span&gt;&lt;span style="color:red;"&gt;ShadowDepth&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;10&amp;quot; /&amp;gt;&lt;br /&gt;                                &amp;lt;/&lt;/span&gt;&lt;span&gt;Label.BitmapEffect&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;                            &amp;lt;/&lt;/span&gt;&lt;span&gt;Label&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;                            &amp;lt;&lt;/span&gt;&lt;span&gt;Label &lt;/span&gt;&lt;span style="color:red;"&gt;Width&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Auto&amp;quot; &lt;/span&gt;&lt;span style="color:red;"&gt;Height&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Auto&amp;quot; &lt;br /&gt;                                   &lt;/span&gt;&lt;span style="color:red;"&gt;Content&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot; : &amp;quot; &lt;br /&gt;                                   &lt;/span&gt;&lt;span style="color:red;"&gt;FontSize&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;14&amp;quot;  /&amp;gt;&lt;br /&gt;                            &amp;lt;&lt;/span&gt;&lt;span&gt;Label &lt;/span&gt;&lt;span style="color:red;"&gt;Width&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;50&amp;quot; &lt;/span&gt;&lt;span style="color:red;"&gt;Height&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;20&amp;quot; &lt;br /&gt;                                   &lt;/span&gt;&lt;span style="color:red;"&gt;Background&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span&gt;Binding &lt;/span&gt;&lt;span style="color:red;"&gt;Path&lt;/span&gt;&lt;span style="color:blue;"&gt;={}}&amp;quot; &amp;gt;&lt;br /&gt;                                &amp;lt;&lt;/span&gt;&lt;span&gt;Label.BitmapEffect&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;                                    &amp;lt;&lt;/span&gt;&lt;span&gt;DropShadowBitmapEffect &lt;/span&gt;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;br /&gt;                                &amp;lt;/&lt;/span&gt;&lt;span&gt;Label.BitmapEffect&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;                            &amp;lt;/&lt;/span&gt;&lt;span&gt;Label&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;                        &amp;lt;/&lt;/span&gt;&lt;span&gt;StackPanel&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;                    &amp;lt;/&lt;/span&gt;&lt;span&gt;DataTemplate&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;                &amp;lt;/&lt;/span&gt;&lt;span&gt;ComboBox.ItemTemplate&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;            &amp;lt;/&lt;/span&gt;&lt;span&gt;ComboBox&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;        &amp;lt;/&lt;/span&gt;&lt;span&gt;StackPanel&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;    &amp;lt;/&lt;/span&gt;&lt;span&gt;Grid&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Window&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;p&gt;Saya menggunakan StackPanel sebagai layout. Combobox yang digunakan sudah 
tidak standard lagi. Disini digunakan template untuk menampilkan nama warna pada 
control label dan juga warnanya itu sendiri yang juga di render pada control 
label. Untuk membuat template seperti di atas, anda cukup memanggil 
&amp;lt;xxx.ItemTemplate&amp;gt; element. Dimana xxx tersebut bergantung pada control 
yang kita gunakan. Untuk mendefinisikan datanya digunakan &amp;lt;DataTemplate&amp;gt;. 
Di dalam DataTemplate element tersebut anda bebas mau merender apapun dengan 
control yang diingikan. &lt;/p&gt;
&lt;p&gt;Hal yang harus diperhatikan yaitu penggunaan perintah {Binding Path={}}. 
Perintah ini digunakan sebagai DataBinding. DataSource nya dapat kita 
definisikan secara runtime. Atribut Path diisi dengan nama member yang terdapat 
di dalam data source yang digunakan. Apabila anda lihat di atas, Path atribut 
yang terdapat di dalam {Binding Path={}} diisi dengan {}. Artinya tidak terdapat 
nama member yang digunakan, karena disini saya menggunakan enumerasi warna yang 
terdapat di dalam .net framework. Kecuali di dalam data source tersebut terdapat 
nama member yang akan digunakan sebagai DisplayMemberPath, seperi misalnya 
member CompanyName kalau data source diisi dengan data Customer table yang 
terdapat di dalam database Northwind.&lt;/p&gt;
&lt;p&gt;Pada code diatas terdapat penggunaan &amp;lt;Label.BitmapEffect&amp;gt;. Element ini 
digunakan untuk membuat effect pada object tersebut, salah satunya seperti 
DropShadow. Dengan DropShadow ini, maka object tersebut akan memiliki bayangan. 
Jarak antara object aslinya dengan bayangan dapat kita atur dengan menggunakan 
atribut ShadowDepth yang anda isi dengan angka tertentu.&lt;/p&gt;
&lt;p&gt;Label control terakhir yang terdapat di dalam DataTemplate digunakan untuk 
menampilkan kotak berwarna. Pengaturannya dilakukan terhadap properti 
Background. Sehingga warna background yang tampil akan sesuai dengan nama 
warnanya.&lt;/p&gt;
&lt;p&gt;Sekarang kita tambahkan sedikit code pada event window loaded di code behind 
Window1.xaml :&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;Private Sub &lt;/span&gt;Window1_Loaded(&lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;sender &lt;span style="color:blue;"&gt;As Object&lt;/span&gt;, _&lt;br /&gt;                           &lt;span style="color:blue;"&gt;ByVal &lt;/span&gt;e &lt;span style="color:blue;"&gt;As &lt;/span&gt;System.Windows.RoutedEventArgs) _&lt;br /&gt;                           &lt;span style="color:blue;"&gt;Handles Me&lt;/span&gt;.Loaded&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:blue;"&gt;Me&lt;/span&gt;.cboColor.ItemsSource = _&lt;br /&gt;    &lt;span style="color:blue;"&gt;From &lt;/span&gt;c &lt;span style="color:blue;"&gt;In &lt;/span&gt;[Enum].GetNames(&lt;span style="color:blue;"&gt;GetType&lt;/span&gt;(System.Drawing.KnownColor))&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;End Sub&lt;/span&gt;&lt;/pre&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;Kode diatas digunakan untuk membuat data source yang diambil dari enumerasi 
predefined Color, yang akhirnya digunakan pada Combobox dengan set properti 
ItemsSourcenya terhadap object yang dihasilkan dari Query Expression diatas. O 
ya sebelumnya anda harus melakukan referensi terlebih dahulu terhadap 
System.Drawing library. Mari kita lihat screen shotnya :&lt;/div&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Artikel/VB/wpfcombo1.jpg" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Anda juga dapat merubah color fontnya dengan warna yang sesuai dengan nama 
warnanya, caranya simple, seperti yang dilakukan terhadap label object untuk 
menampilkan kotak warna diatas. Cukup rubah dengan code seperti dibawah ini 
:&lt;/p&gt;
&lt;br /&gt;
&lt;p&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;ComboBox&lt;/span&gt;&lt;span style="color:red;"&gt;Width&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;310&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt;Height&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;40&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;cboColor&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span&gt;ComboBox.ItemTemplate&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span&gt;DataTemplate&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span&gt;StackPanel&lt;/span&gt;&lt;span style="color:red;"&gt;Orientation&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Horizontal&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span&gt;Label&lt;/span&gt;&lt;span style="color:red;"&gt;Width&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;175&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt;Height&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Auto&amp;quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:red;"&gt;Content&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span&gt;Binding&lt;/span&gt;&lt;span style="color:red;"&gt;Path&lt;/span&gt;&lt;span style="color:blue;"&gt;={}}&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:red;"&gt;FontSize&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;14&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:red;"&gt;Foreground&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span&gt;Binding&lt;/span&gt;&lt;span style="color:red;"&gt;Path&lt;/span&gt;&lt;span style="color:blue;"&gt;={}}&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;Ok...cukup dengan mengatur properti Foreground yang di set ke perintah 
Binding maka hasilnya akan berubah seperti ini:&lt;/div&gt;
&lt;p&gt;&lt;img src="http://www.yulianmf.com/Images/Artikel/VB/wpfcombo2.jpg" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Cukup segitu aja dulu coding-ria nya untuk kali ini... :)&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/yulian/archive/2008/09/23/combobox-color-ala-wpf.aspx&amp;amp;subject=ComboBox Color ala WPF" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia