<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Launk Web Blogs</title>
	<atom:link href="http://launk.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://launk.wordpress.com</link>
	<description>Berubah untuk Lebih Baik Lagi</description>
	<lastBuildDate>Mon, 23 Jan 2012 02:19:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='launk.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Launk Web Blogs</title>
		<link>http://launk.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://launk.wordpress.com/osd.xml" title="Launk Web Blogs" />
	<atom:link rel='hub' href='http://launk.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Java Persistence API (JPA) Part 2 Dengan Netbeans</title>
		<link>http://launk.wordpress.com/2010/07/02/jpa-part-2-dengan-netbeans/</link>
		<comments>http://launk.wordpress.com/2010/07/02/jpa-part-2-dengan-netbeans/#comments</comments>
		<pubDate>Fri, 02 Jul 2010 00:43:21 +0000</pubDate>
		<dc:creator>Integer Name = New String(10)</dc:creator>
				<category><![CDATA[Desktop]]></category>
		<category><![CDATA[J2SE]]></category>
		<category><![CDATA[JPA Framework]]></category>
		<category><![CDATA[Swing]]></category>

		<guid isPermaLink="false">http://launk.wordpress.com/?p=1417</guid>
		<description><![CDATA[Arsitektur Java Persistence API (JPA) adalah spesifikasi Java untuk mengakses, persistence, dan pengelolaan data antara obyek Java/kelas dan hubungan entity dalam database. JPA sendiri hanyalah sebuah spesifikasi, bukan sebuah produk dimana artinya dia tidak dapat melakukan persistence atau apa pun dengan sendirinya. JPA hanya sekumpulan antarmuka, dan membutuhkan sebuah implementasi. JPA juga membutuhkan database untuk &#8230;<p><a href="http://launk.wordpress.com/2010/07/02/jpa-part-2-dengan-netbeans/" class="more-link">Read More</a></p><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=launk.wordpress.com&amp;blog=4160145&amp;post=1417&amp;subd=launk&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;"><span style="color:#000000;"><img class="size-full wp-image-1434 alignleft" title="Java Persistence API" src="http://launk.files.wordpress.com/2010/07/selection_020.png?w=545" alt=""   />Arsitektur <strong>Java Persistence API (JPA)</strong> adalah spesifikasi Java untuk mengakses, persistence, dan pengelolaan data antara obyek Java/kelas dan hubungan entity dalam database. JPA sendiri hanyalah sebuah spesifikasi, bukan sebuah produk dimana artinya dia tidak dapat melakukan persistence atau apa pun dengan sendirinya. JPA hanya sekumpulan antarmuka, dan membutuhkan sebuah implementasi. JPA juga membutuhkan database untuk melakukan persistence. JPA memungkinkan <strong>POJO (Plain Old Java Objects)</strong> untuk dapat dengan mudah melakukan persistece terhadap database tanpa memerlukan kelas-kelas untuk mengimplementasikan setiap antarmuka. JPA memungkinkan pemetaan obyek objek-relasional yang ada pada database untuk didefinisikan melalui standar annotation atau XML yang mendefinisikan bagaimana memetakan kelas java kedalam sebuah tabel relasional database. JPA juga mendefinisikan sebuah runtime EntityManager API untuk melakukan proses query dan transaksi pada objek terhadap database. JPA adalah spesifikasi baru dari Java Persistence. dimana yang <strong>pertama</strong> adalah Persistence OMG Java Binding yang tidak pernah sukses, dan masih ada keraguan terhadap produk ini karena tidak semua produk komersil mendukungnya. Berikutnya adalah <strong>1.0 EJB CMP Entity Beans</strong>, yang sangat sukses di diadopsi oleh penyedia <strong>Java EE (BEA, IBM)</strong>, tapi ada reaksi oleh beberapa pengguna yang berpikir persyaratan pada E<strong>ntity Beans</strong> terlalu rumit, Overhead dan Kinerjanya buruk. <strong>2.0 EJB CMP</strong> mencoba untuk mengurangi beberapa kompleksitas pada Entity Beans dengan cara memperkenalkan interface lokal, namun sebagian besar kompleksitas tetap saja ada. </span></p>
<p style="text-align:justify;"><span style="color:#000000;"><span id="more-1417"></span>EJB 2.0 juga tidak memiliki portabilitas, karena penyebaran deskriptor mendefinisikan pemetaan relasional obyek tidak ditentukan. Saat ini sebagian besar vendor persistence telah merilis implementasi dari JPA. Ini termasuk Hibernate (yang diakuisisi oleh JBoss, diakuisisi oleh Red Hat), TopLink (diakuisisi oleh Oracle), dan Kodo JDO (diakuisisi oleh BEA, diakuisisi oleh Oracle). Dan produk lain yang telah menambahkan dukungannya terhadap JPA termasuk Cocobase (dimiliki oleh Thought Inc) dan JPOX.</span></p>
<p style="text-align:justify;"><span style="color:#000000;">Ada banyak alasan untuk menggunakan <strong>framework ORM</strong> atau produk dari <strong>persistence</strong>, dan banyak alasan untuk menggunakan JPA khususnya.<strong> </strong></span></p>
<p style="text-align:justify;"><span style="color:#000000;"><strong>Alasan untuk menggunakan ORM:</strong></span></p>
<ul>
<li><span style="color:#000000;">Memanfaatkan persistence library yang besar</span></li>
<li><span style="color:#000000;">Menghindari Low leve dari JDBC dan kode SQL</span></li>
<li><span style="color:#000000;">Memanfaatkan object oriented programming dan penggunaan model yang berbasis objek</span></li>
<li><span style="color:#000000;">Menyediakan database dan independence skema terhadap database</span></li>
<li><span style="color:#000000;">ORM merupakan Open Source</span></li>
<li><span style="color:#000000;">Banyak perusahaan perusahaan memberikan dukungan dan layanan untuk produk ORM.</span></li>
<li><span style="color:#000000;">Memberikan fitur high-end performance seperti caching dan database yang canggih dan optimasi query.</span></li>
</ul>
<p style="text-align:justify;"><span style="color:#000000;"><strong>Alasan untuk menggunakan </strong><strong>Java Persistence API (</strong><strong>JPA):</strong></span></p>
<ul>
<li><span style="color:#000000;">Adalah standar dan bagian dari EJB3 dan J2EE.</span></li>
<li><span style="color:#000000;">Banyak produk yang gratis dan Open Source terhadap enterprise level yang mendukung JPA</span></li>
<li><span style="color:#000000;">Portabilitas di aplikasi server dan produk persistence(menghindari vendor lock-in).</span></li>
<li><span style="color:#000000;">Bermanfaat dan fungsional</span></li>
<li><span style="color:#000000;">Mendukung J2EE dan J2SE</span></li>
</ul>
<p><span style="color:#000000;">ORM dapat menjadi topik hangat untuk beberapa orang, dan ada banyak komunitas ORM. Ada orang-orang yang tidak percaya pada ORM atau bahkan secara umum dan lebih memilih JDBC. gunakanlah  teknologi apa pun yang paling nyaman menurut Anda, tetapi jika Anda belum pernah menggunakan ORM atau JPA, mungkin dapat mencobanya dan melihat apakah Anda menyukainya. Daftar di bawah ini menyediakan beberapa diskusi pada mengapa atau mengapa tidak menggunakan JPA dan ORM.</span></p>
<ul>
<li><span style="color:#000000;"><a href="http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&amp;f=78&amp;t=003738" rel="nofollow">Why do we need anything other than JDBC? (Java Ranch)</a></span></li>
<li><span style="color:#000000;"><a href="http://edocs.bea.com/kodo/docs41/full/html/ejb3_overview_why.html" rel="nofollow">Why JPA? (BEA)</a></span></li>
<li><span style="color:#000000;"><a href="http://www.theserverside.com/news/thread.tss?thread_id=44526" rel="nofollow">JPA Explained (The Server Side)</a></span></li>
<li><span style="color:#000000;"><a href="http://www.theserverside.com/news/thread.tss?thread_id=40965" rel="nofollow">JPA vs JDO (The Server Side)</a></span></li>
</ul>
<p><span style="color:#000000;">Produk Persistence:</span></p>
<p><span style="color:#000000;">http://en.wikibooks.org/wiki/Java_Persistence/Persistence_Products</span></p>
<p><span style="color:#000000;">Berikut merupakan penggunaa Java Persistence API dengan menggunakan Netbeans:</span></p>
<p><span style="color:#000000;">Database:</span></p>
<pre style="font:12px/18px Consolas,Monaco,'Courier New',Courier,monospace;"><span style="color:#000000;"><span style="font-size:10pt;">CREATE TABLE `Mahasiswa` ( `ID_MAHASISWA` int(11) NOT NULL AUTO_INCREMENT, `NAMA_MAHASISWA` varchar(45) DEFAULT NULL, `JURUSAN` varchar(45) DEFAULT NULL, `UNIVERSITAS` varchar(45) DEFAULT NULL, PRIMARY KEY (`ID_MAHASISWA`) ) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=latin1</span></span></pre>
<ol>
<ol>
<li><span style="color:#000000;">Membuat sebuah project dan buat sebuah paket dengan nama <strong>paket.java</strong> dan buat sebuah E<strong>ntity Class From Database</strong>:<a href="http://launk.files.wordpress.com/2010/07/selection_008.png"><img class="aligncenter size-full wp-image-1437" title="Selection 1" src="http://launk.files.wordpress.com/2010/07/selection_008.png?w=545" alt=""   /></a></span></li>
<li><span style="color:#000000;">Pilih <strong>Next</strong> dan kemudian pilih database <strong>Mahasiswa</strong> (Next):<a href="http://launk.files.wordpress.com/2010/07/selection_009.png"><img class="aligncenter size-full wp-image-1440" title="Selection 2" src="http://launk.files.wordpress.com/2010/07/selection_009.png?w=545" alt=""   /></a><br />
</span></li>
<li><span style="color:#000000;">klik tombol <strong>Create Persistence Unit</strong>.., dan kemudian beri nama <strong>Persistence Unite Name</strong>, pilih <strong>None</strong> untuk <strong>table generation strategy</strong> (Next):<a href="http://launk.files.wordpress.com/2010/07/selection_010.png"><img class="aligncenter size-full wp-image-1441" title="Selection 3" src="http://launk.files.wordpress.com/2010/07/selection_010.png?w=545" alt=""   /></a></span></li>
<li><span style="color:#000000;">Pilih paket untuk kelas <strong>Mahasiswa</strong> yaitu <strong>paket.java</strong> (Next):<a href="http://launk.files.wordpress.com/2010/07/selection_011.png"><img class="aligncenter size-full wp-image-1442" title="Selection 4" src="http://launk.files.wordpress.com/2010/07/selection_011.png?w=545" alt=""   /></a></span></li>
<li><span style="color:#000000;">Kemudian pilih <strong>Default</strong> untuk <strong>Association Fetch</strong> dan<strong> Collection Type</strong> = <strong>List</strong> (Finish):<a href="http://launk.files.wordpress.com/2010/07/selection_012.png"><img class="aligncenter size-full wp-image-1444" title="Selection 5" src="http://launk.files.wordpress.com/2010/07/selection_012.png?w=545" alt=""   /></a></span></li>
<li><span style="color:#000000;">Kemudian buat sebuah file controller untuk <strong>Mahasiswa (Next)</strong>:<a href="http://launk.files.wordpress.com/2010/07/selection_013.png"><img class="aligncenter size-full wp-image-1445" title="Selection 6" src="http://launk.files.wordpress.com/2010/07/selection_013.png?w=545" alt=""   /></a></span></li>
<li><span style="color:#000000;">Pilih Add untuk <strong>Mahasiswa dan klik Finish</strong>:<a href="http://launk.files.wordpress.com/2010/07/selection_014.png"><img class="aligncenter size-full wp-image-1446" title="Selection 6" src="http://launk.files.wordpress.com/2010/07/selection_014.png?w=545" alt=""   /></a></span></li>
<li><span style="color:#000000;">Kemudian akan secara otomatis code <strong>controller</strong> dan <strong>exception</strong> untuk <strong>Mahasiswa</strong> dibuat:<a href="http://launk.files.wordpress.com/2010/07/selection_016.png"><img class="aligncenter size-full wp-image-1448" title="Selection_016" src="http://launk.files.wordpress.com/2010/07/selection_016.png?w=545" alt=""   /></a></span><span style="color:#000000;"><br />
</span></li>
<li><span style="color:#000000;">Kemudian buat sebuah form dan klik <strong>Finish</strong>:<a href="http://launk.files.wordpress.com/2010/07/selection_017.png"><img class="aligncenter size-full wp-image-1449" title="Selection_017" src="http://launk.files.wordpress.com/2010/07/selection_017.png?w=545" alt=""   /></a></span><span style="color:#000000;"><br />
</span></li>
<li><span style="color:#000000;">Dan Buat sebuah <strong>Tabel Model</strong> untuk <strong>Mahasiswa</strong> dengan nama paket: <strong>paket.java.tabel.model</strong>:<a href="http://launk.files.wordpress.com/2010/07/selection_018.png"><img class="aligncenter size-full wp-image-1450" title="Selection_018" src="http://launk.files.wordpress.com/2010/07/selection_018.png?w=545" alt=""   /></a></span></li>
</ol>
</ol>
<p><span style="color:#000000;">Isikan Kode TabelModelMahasiswa seperti kode dibawah:</span></p>
<pre style="font:12px/18px Consolas,Monaco,'Courier New',Courier,monospace;"><span style="color:#000000;"><span style="font-size:10pt;">package paket.java.tabel.model; import java.util.ArrayList; import java.util.List; import javax.swing.table.AbstractTableModel; import paket.java.Mahasiswa; import paket.launk.java.controller.TableGlass; /** * * @author launk */ public class TabelModelMahasiswa extends TableGlass{ private static final long serialVersionUID = 1L; private List datamahasiswa = new ArrayList(); AbstractTableModel abstractTableModel; public TabelModelMahasiswa tabelModel; public TabelModelMahasiswa() { abstractTableModel= new AbstractTableModel() { public int getRowCount() { return datamahasiswa.size(); } public int getColumnCount() { return 4; } public Object getValueAt(int rowIndex, int columnIndex) { switch (columnIndex) { case 0: return datamahasiswa.get(rowIndex).getIdMahasiswa(); case 1: return datamahasiswa.get(rowIndex).getNamaMahasiswa(); case 2: return datamahasiswa.get(rowIndex).getJurusan(); case 3: return datamahasiswa.get(rowIndex).getUniversitas(); default: return null; } } @Override public String getColumnName(int column) { switch (column) { case 0: return "ID_MAHASISWA"; case 1: return "NAMA_MAHASISWA"; case 2: return "JURUSAN"; case 3: return "UNIVERSITAS"; default: return null; } } }; this.getTable().setModel(abstractTableModel); } public void setDatatoTable(List data) { datamahasiswa.clear(); datamahasiswa.addAll(data); abstractTableModel.fireTableDataChanged(); } } </span></span></pre>
<ol>
<li><span style="color:#000000;">Kemudian drag <strong>TabelModelMahasiswa</strong> ke dalam form:<a href="http://launk.files.wordpress.com/2010/07/selection_019.png"><img class="aligncenter size-full wp-image-1451" title="Selection_019" src="http://launk.files.wordpress.com/2010/07/selection_019.png?w=545" alt=""   /></a></span><span style="color:#000000;"><br />
</span></li>
<li><span style="color:#000000;">Buat desain CRUD untuk Mahasiswa:<a href="http://launk.files.wordpress.com/2010/07/selection_021.png"><img class="aligncenter size-full wp-image-1454" title="Selection_021" src="http://launk.files.wordpress.com/2010/07/selection_021.png?w=545" alt=""   /></a><br />
</span></li>
<li><span style="color:#000000;">Dan berikan Action Listener pada setiap button dan tabel:</span></li>
</ol>
<ul>
<li><span style="color:#000000;">Action Listener Button Save:</span></li>
</ul>
<pre style="font:12px/18px Consolas,Monaco,'Courier New',Courier,monospace;"><span style="color:#000000;"><span style="font-size:10pt;"> if(ovalTextField1.getText().isEmpty() || ovalTextField2.getText().isEmpty() || ovalTextField3.getText().isEmpty()){ JOptionPane.showMessageDialog(null, "Mohon isi data dengan Lengkap"); }else{ Mahasiswa m = new Mahasiswa(); m.setNamaMahasiswa(ovalTextField1.getText()); m.setJurusan(ovalTextField2.getText()); m.setUniversitas(ovalTextField3.getText()); MahasiswaJpaController mahasiswaJpaController = new MahasiswaJpaController(); mahasiswaJpaController.create(m); showtoTabel(); reset(); } </span></span></pre>
<ul>
<li><span style="color:#000000;">Action Listener Button Update:</span></li>
</ul>
<pre style="font:12px/18px Consolas,Monaco,'Courier New',Courier,monospace;"><span style="color:#000000;"><span style="font-size:10pt;"> if(id==null || ovalTextField1.getText().isEmpty() || ovalTextField2.getText().isEmpty() || ovalTextField3.getText().isEmpty()){ JOptionPane.showMessageDialog(null, "Mohon Klik tabel untuk mengedit data"); }else{ try { Mahasiswa m = new Mahasiswa(); m.setIdMahasiswa(Integer.valueOf(id)); m.setNamaMahasiswa(ovalTextField1.getText()); m.setJurusan(ovalTextField2.getText()); m.setUniversitas(ovalTextField3.getText()); MahasiswaJpaController mahasiswaJpaController = new MahasiswaJpaController(); mahasiswaJpaController.edit(m); showtoTabel(); reset(); } catch (NonexistentEntityException ex) { ex.printStackTrace(); } catch (Exception ex) { ex.printStackTrace(); } } </span></span></pre>
<ul>
<li><span style="color:#000000;">Action Listener Button Remove:</span></li>
</ul>
<pre style="font:12px/18px Consolas,Monaco,'Courier New',Courier,monospace;"><span style="color:#000000;"><span style="font-size:10pt;"> if(id==null || ovalTextField1.getText().isEmpty() || ovalTextField2.getText().isEmpty() || ovalTextField3.getText().isEmpty()){ JOptionPane.showMessageDialog(null, "Mohon Klik tabel untuk mengedit data"); }else{ try { MahasiswaJpaController mahasiswaJpaController = new MahasiswaJpaController(); mahasiswaJpaController.destroy(Integer.valueOf(id)); showtoTabel(); reset(); } catch (NonexistentEntityException ex) { ex.printStackTrace(); } } </span></span></pre>
<ul>
<li><span style="color:#000000;">Action TabelModelMahasiswa</span></li>
</ul>
<pre style="font:12px/18px Consolas,Monaco,'Courier New',Courier,monospace;"><span style="color:#000000;"><span style="font-size:10pt;"> void actionTable(){ tabelModelMahasiswa1.getTable().addMouseListener(new java.awt.event.MouseAdapter() { @Override public void mouseClicked(java.awt.event.MouseEvent evt) { tableGlass1MouseClicked(evt); } private void tableGlass1MouseClicked(MouseEvent evt) { int row_hasil = tabelModelMahasiswa1.getTable().getSelectedRow(); id = tabelModelMahasiswa1.getTable().getValueAt(row_hasil, 0).toString(); String nama = tabelModelMahasiswa1.getTable().getValueAt(row_hasil, 1).toString(); String jurusan = tabelModelMahasiswa1.getTable().getValueAt(row_hasil, 2).toString(); String institusi = tabelModelMahasiswa1.getTable().getValueAt(row_hasil, 3).toString(); ovalTextField1.setText(nama); ovalTextField2.setText(jurusan); ovalTextField3.setText(institusi); } }); } </span></span></pre>
<ul>
<li><span style="color:#000000;">Menampilkan Data ke TabelModelMahasiswa:</span></li>
</ul>
<pre style="font:12px/18px Consolas,Monaco,'Courier New',Courier,monospace;"><span style="color:#000000;"><span style="font-size:10pt;"> MahasiswaJpaController controller = new MahasiswaJpaController(); mahasiswas.clear(); mahasiswas = controller.findMahasiswaEntities(); tabelModelMahasiswa1.setDatatoTable(mahasiswas); </span></span></pre>
<p><span style="color:#000000;">Berikut ketika Aplikasi dijalankan dengan Netbeans:</span></p>
<p><span style="color:#000000;"><a href="http://launk.files.wordpress.com/2010/07/selection_0201.png"><img class="aligncenter size-full wp-image-1457" title="Selection_020" src="http://launk.files.wordpress.com/2010/07/selection_0201.png?w=545" alt=""   /></a></span></p>
<p><span style="color:#000000;"><a class="wpGallery" href="http://code.google.com/p/belajarglazedlist/downloads/list" target="_blank">Download Source Code</a></span></p>
<p><span style="color:#000000;">Sumber: </span></p>
<p><span style="color:#000000;">http://en.wikibooks.org/wiki/Java_Persistence</span></p>
<p><span style="color:#000000;">http://eecchhoo.wordpress.com/2010/03/30/membuat-controller-jpa-dari-entity-class-secara-otomatis-menggunakan-netbeans-ide-6-8/</span></p>
<br />Filed under: <a href='http://launk.wordpress.com/category/desktop/'>Desktop</a>, <a href='http://launk.wordpress.com/category/j2se/'>J2SE</a>, <a href='http://launk.wordpress.com/category/jpa-framework/'>JPA Framework</a>, <a href='http://launk.wordpress.com/category/swing/'>Swing</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/launk.wordpress.com/1417/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/launk.wordpress.com/1417/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/launk.wordpress.com/1417/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/launk.wordpress.com/1417/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/launk.wordpress.com/1417/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/launk.wordpress.com/1417/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/launk.wordpress.com/1417/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/launk.wordpress.com/1417/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/launk.wordpress.com/1417/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/launk.wordpress.com/1417/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/launk.wordpress.com/1417/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/launk.wordpress.com/1417/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/launk.wordpress.com/1417/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/launk.wordpress.com/1417/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=launk.wordpress.com&amp;blog=4160145&amp;post=1417&amp;subd=launk&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://launk.wordpress.com/2010/07/02/jpa-part-2-dengan-netbeans/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<georss:point>-6.877765 107.611625</georss:point>
		<geo:lat>-6.877765</geo:lat>
		<geo:long>107.611625</geo:long>
		<media:content url="http://0.gravatar.com/avatar/4bacf8e0990574e7ced7532c14422d1e?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">Ahmad Laung Nasution</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/07/selection_020.png" medium="image">
			<media:title type="html">Java Persistence API</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/07/selection_008.png" medium="image">
			<media:title type="html">Selection 1</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/07/selection_009.png" medium="image">
			<media:title type="html">Selection 2</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/07/selection_010.png" medium="image">
			<media:title type="html">Selection 3</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/07/selection_011.png" medium="image">
			<media:title type="html">Selection 4</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/07/selection_012.png" medium="image">
			<media:title type="html">Selection 5</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/07/selection_013.png" medium="image">
			<media:title type="html">Selection 6</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/07/selection_014.png" medium="image">
			<media:title type="html">Selection 6</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/07/selection_016.png" medium="image">
			<media:title type="html">Selection_016</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/07/selection_017.png" medium="image">
			<media:title type="html">Selection_017</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/07/selection_018.png" medium="image">
			<media:title type="html">Selection_018</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/07/selection_019.png" medium="image">
			<media:title type="html">Selection_019</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/07/selection_021.png" medium="image">
			<media:title type="html">Selection_021</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/07/selection_0201.png" medium="image">
			<media:title type="html">Selection_020</media:title>
		</media:content>
	</item>
		<item>
		<title>CRUD Spring JdbcTamplate DAO</title>
		<link>http://launk.wordpress.com/2010/06/24/crud-spring-jdbctamplate-dao/</link>
		<comments>http://launk.wordpress.com/2010/06/24/crud-spring-jdbctamplate-dao/#comments</comments>
		<pubDate>Thu, 24 Jun 2010 13:02:31 +0000</pubDate>
		<dc:creator>Integer Name = New String(10)</dc:creator>
				<category><![CDATA[Desktop]]></category>
		<category><![CDATA[J2SE]]></category>
		<category><![CDATA[JPA Framework]]></category>
		<category><![CDATA[Spring Framework]]></category>

		<guid isPermaLink="false">http://launk.wordpress.com/?p=1390</guid>
		<description><![CDATA[Spring Framework adalah sebuah framework aplikasi yang bersifat open source (gratis) untuk platform Java Versi pertama ditulis oleh Rod Johnson yang dirilis dengan penerbitan bukunya Expert One-on-One J2EE Design and Development pada bulan Oktober 2002. framework ini pertama kali dirilis di bawah lisensi Apache 2,0 pada bulan Juni 2003. Rilis milestone pertama, 1.0, dirilis pada &#8230;<p><a href="http://launk.wordpress.com/2010/06/24/crud-spring-jdbctamplate-dao/" class="more-link">Read More</a></p><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=launk.wordpress.com&amp;blog=4160145&amp;post=1390&amp;subd=launk&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;"><span style="color:#000000;"><img class="size-full wp-image-1396 alignleft" title="Spring1" src="http://launk.files.wordpress.com/2010/06/spring1.png?w=545" alt=""   /><strong>Spring Framework</strong> adalah sebuah framework aplikasi yang bersifat open source (gratis) untuk platform Java Versi pertama ditulis oleh Rod Johnson yang dirilis dengan penerbitan bukunya <strong>Expert One-on-One J2EE Design and Development</strong> pada bulan Oktober 2002. framework ini pertama kali dirilis di bawah lisensi Apache 2,0 pada bulan Juni 2003. Rilis milestone pertama, 1.0, dirilis pada Maret 2004, dan rilis milestone selanjutnya pada bulan September 2004 dan Maret 2005. Framework Spring 1.2.6 ini memenangkan penghargaan dari <strong>Jolt productivity award dan JAX Innovation Award in 2006</strong>. Pada bulan Desember 2009 GA versi 3.0 dirilis. dan Versi saat ini adalah 3.0.3 fitur utama dari Spring Framework ini adalah dapat digunakan oleh aplikasi Java, tetapi ada ekstensi untuk membangun aplikasi web di atas platform Java EE. Meskipun Spring Framework tidak memaksakan model pemrograman tertentu, telah menjadi populer di sekumpulan programmer java sebagai alternatif, pengganti, atau bahkan Selain Enterprise JavaBean (EJB) model.</span></p>
<p style="text-align:justify;"><span style="color:#000000;">Keunggulan dari Spring Framework adalah fleksibilitas yang telah disediakan oleh Spring. dengan menggunakan <strong>Spring Framework,</strong> seseorang dapat mengintegrasikan API tingkat rendah seperti JDBC atau framework tingkat tinggi seperti Hibernate kedalam aplikasi java dengan menggunakan teknik yang sama yaitu injection dependency. pada contoh ini akan fokus pada penggunaan fungsionalitas <strong>JDBC</strong> yang ada pada Spring Framework.</span></p>
<p style="text-align:justify;"><span style="color:#000000;"><span id="more-1390"></span></span></p>
<p style="text-align:justify;"><span style="color:#000000;"><strong>Menggunakan JDBC dengan Spring</strong></span></p>
<p><span style="color:#000000;">Dukungan JDBC di Spring Framework adalah bagian dari akses data / persistence (juga dikenal sebagai DAO) dukungan yang diberikan oleh spring framework. Oleh karena itu, lebih baik untuk mengetahui tentang DAO dukungan sebelum masuk ke aspek JDBC. Fitur yang paling penting dari dukungan DAO adalah konsistensi. Berikut adalah dua cara di mana Spring Framework menyediakan konsistensi terhadap aplikasi menggunakan java:</span></p>
<ol>
<li><span style="color:#000000;">Konsistensi pada Exception Hierarchy</span></li>
<li><span style="color:#000000;">Konsistensi pada kelas Abstrak</span></li>
</ol>
<p><span style="color:#000000;">Konsistensi pada Exception Hierarchy: Framework Spring menyediakan transalasi/penerjemah dari exception teknologi framework tertentu seperti Exception pada Hibernate atau Exception pada JDBC yaitu dengan memiliki Exception hirarki sendiri terhadap akses data. Bentuk kelas DataAcessException akar hirarki ini. Ini membantu developer untuk menangani non-recoverable errors pada lapisan yang sesuai dan bukan pada penanganan di tingkat DAO.</span></p>
<p><span style="color:#000000;">Konsistensi pada kelas Abstrak: Spring Framework menyediakan sekumpulan kelas abstrak yang dapat diperluas atau di kembangkan lagi. Ada satu kelas masing-masing abstrak untuk teknologi berbagai data persistence. Kelas-kelas abstrak tersebutbmemiliki metode yang dapat digunakan untuk mengeset properti konfigurasi yang diperlukan untuk masing-masing teknologi. Kelas utama abstrak adalah:</span></p>
<ul>
<li><span style="color:#000000;">JdbcDaoSupport, yang merupakan super class untuk mengakses data menggunakan JDBC. Anda harus memberikan sebuah instance DataSource. Kelas ini, memberikan instance JdbcTemplate, yang dibuat dari hasil instance DataSource, untuk sub-kelas tersebut.</span></li>
</ul>
<ul>
<li><span style="color:#000000;">HibernateDaoSupport, yang merupakan super class untuk mengakses data objek Hibernate. dimana harus memberikan sebuah instance dari SessionFactory dan dikembalikan lagi, dimana menyediakan sebuah instance dari kelas HibernateTemplate.</span></li>
</ul>
<p style="text-align:justify;"><span style="color:#000000;">Selain ini, ada kelas abstrak untuk JDO, iBATIS serta JPA. Pendekatan ini didasarkan pada jenis JdbcTemplate. tipe utama atau sub-kelas JdbcTemplate adalah JdbcTemplate, NamedParameterJdbcTemplate dan SimpleJdbcTemplate. Dari  JdbcTemplate tipe yang paling umum digunakan. Berikut adalah rinciannya:</span></p>
<ul>
<li><span style="color:#000000;">JdbcTemplate adalah yang paling banyak digunakan dari semua jenis yang ada pada framework ini. Ini adalah tipe &#8216;low level&#8217;. Dengan kata lain, semua tipe lainnya memanfaatkan JdbcTemplate sebagai dasar mereka.</span></li>
</ul>
<ul>
<li><span style="color:#000000;">NamedParameterJdbcTemplate menyediakan sebuah wrapper(pembungkus) untuk parameter queri dari JDBC. JdbcTemplate menyediakan cara yang lebih mudah untuk menangani parameter query sebagai pengganti yang seperti &#8220;?&#8221; yang disediakan oleh JDBC, sehingga lebih mudah untuk menggunakan banyak parameter.</span></li>
</ul>
<ul>
<li><span style="color:#000000;">SimpleJdbcTemplate mengkombinasikan fitur yang paling sering digunakan JdbcTemplate dan NamedParameterJdbcTemplate. Hal ini juga memanfaatkan fitur baru dari java 5 seperti varargs, generik dll</span></li>
</ul>
<p><span style="color:#000000;">Berikut merupakan tahapan membuat aplikasi dengan menggunakan Spring Framework menggunakan patern DAO:</span></p>
<p><span style="color:#000000;">Tool:</span></p>
<ol>
<li><span style="color:#000000;">Netbeans 6.8</span></li>
<li><span style="color:#000000;">My SQL</span></li>
<li><span style="color:#000000;">Jdk 1.6.16</span></li>
</ol>
<p><span style="color:#000000;">Library :</span></p>
<ol>
<li><span style="color:#000000;">Spring Framework 3.0.3 (http://www.springsource.org/download)</span></li>
<li><span style="color:#000000;">Common Logging (http://commons.apache.org/logging/download_logging.cgi)</span></li>
<li><span style="color:#000000;">My SQL Connector</span></li>
</ol>
<p><span style="color:#000000;"><a href="http://launk.files.wordpress.com/2010/06/library.png"><img class="aligncenter size-full wp-image-1402" title="library" src="http://launk.files.wordpress.com/2010/06/library.png?w=545" alt=""   /></a></span><span style="color:#000000;">Kemudian buka netbeans buat sebuah project dan buat dulu koneksi database dengan menggunakan Datasource yang ada pada Spring.</span></p>
<ul>
<li><span style="color:#000000;">Buat kelas KoneksiDatabase untuk koneksi langsung ke database:</span></li>
</ul>
<pre style="font:12px/18px Consolas,Monaco,'Courier New',Courier,monospace;"><span style="color:#000000;"><span style="font-size:10pt;">package paket.dao.java.database;

import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;
import javax.swing.JOptionPane;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
/**
 *
 * @author launk
 */
public class KoneksiDatabase {

private DriverManagerDataSource datasource = null;
private Properties propertiesLoad;

    public KoneksiDatabase() {
        final String PROP_FILE= "settingdatabases.properties";
        propertiesLoad = new Properties();
        propertiesLoad = loadProperties(PROP_FILE);
        datasource = new DriverManagerDataSource();
        datasource.setDriverClassName(propertiesLoad.getProperty("DRIVE_CLASS_NAME"));
        datasource.setUrl(propertiesLoad.getProperty("URL_DATABASE"));
        datasource.setUsername(propertiesLoad.getProperty("USER_NAME"));
        datasource.setPassword(propertiesLoad.getProperty("PASSWORD"));
    }

    public DriverManagerDataSource getConnection() {
        try {
            if (this.datasource == null) {
                return this.datasource;
            }if(this.datasource.getConnection().isClosed()){
                return this.datasource;
            }
            return this.datasource;
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, "Error Exception : "+e, "Exception",JOptionPane.ERROR_MESSAGE);
            return null;
        }
    }
    public static Properties loadProperties(String PropertiesFile) {
        Properties properties = new Properties();
        try {
            FileInputStream fileInputStream = new FileInputStream(PropertiesFile);
            properties.load(fileInputStream);
            fileInputStream.close();
        } catch (IOException ex) {
            ex.printStackTrace();
        }
        return properties;
    }

}
</span></span></pre>
<ul>
<li><span style="color:#000000;">kemudian buat sebuah file yang settingdatabases.properties di dalam project dan isi kode dibawah ini:</span></li>
</ul>
<pre style="font:12px/18px Consolas,Monaco,'Courier New',Courier,monospace;"><span style="color:#000000;"><span style="font-size:10pt;"># To change this template, choose Tools | Templates
# and open the template in the editor.
DRIVE_CLASS_NAME=com.mysql.jdbc.Driver
URL_DATABASE=jdbc:mysql://localhost:3306/belajar
USER_NAME=root
PASSWORD=root
</span></span></pre>
<ul>
<li><span style="color:#000000;">Kemudian buat sebuah kelas Mahasiswa</span></li>
</ul>
<pre style="font:12px/18px Consolas,Monaco,'Courier New',Courier,monospace;"><span style="color:#000000;"><span style="font-size:10pt;">package paket.dao.java.entity;

/**
 *
 * @author launk
 */
public class Mahasiswa {
    private int ID_MAHASISWA;
    private String NAMA_MAHASISWA;
    private String JURUSAN;
    private String UNIVERSITAS;

    public Mahasiswa() {
    }

    public Mahasiswa(int ID_MAHASISWA, String NAMA_MAHASISWA, String JURUSAN, String UNIVERSITAS) {
        this.ID_MAHASISWA = ID_MAHASISWA;
        this.NAMA_MAHASISWA = NAMA_MAHASISWA;
        this.JURUSAN = JURUSAN;
        this.UNIVERSITAS = UNIVERSITAS;
    }

    public int getID_MAHASISWA() {
        return ID_MAHASISWA;
    }

    public void setID_MAHASISWA(int ID_MAHASISWA) {
        this.ID_MAHASISWA = ID_MAHASISWA;
    }

    public String getJURUSAN() {
        return JURUSAN;
    }

    public void setJURUSAN(String JURUSAN) {
        this.JURUSAN = JURUSAN;
    }

    public String getNAMA_MAHASISWA() {
        return NAMA_MAHASISWA;
    }

    public void setNAMA_MAHASISWA(String NAMA_MAHASISWA) {
        this.NAMA_MAHASISWA = NAMA_MAHASISWA;
    }

    public String getUNIVERSITAS() {
        return UNIVERSITAS;
    }

    public void setUNIVERSITAS(String UNIVERSITAS) {
        this.UNIVERSITAS = UNIVERSITAS;
    }
 }
</span></span></pre>
<ul>
<li><span style="color:#000000;">Buat sebuah interface untuk Mahasiswa seperti kode dibawah ini:</span></li>
</ul>
<pre style="font:12px/18px Consolas,Monaco,'Courier New',Courier,monospace;"><span style="color:#000000;"><span style="font-size:10pt;">package paket.dao.java.interfac;

import java.util.List;
import paket.dao.java.entity.Mahasiswa;

/**
 *
 * @author launk
 */
public interface IMahasiswa {
    public void insert(Mahasiswa mahasiswa);
    public void update(Mahasiswa mahasiswa);
    public void delete(Mahasiswa mahasiswa);
    List &lt;Mahasiswa&gt; getAll();
    List &lt;Mahasiswa&gt; getAllById(Mahasiswa mahasiswa);
}
</span></span></pre>
<ul>
<li><span style="color:#000000;">Dan Buat implementasi untuk Mahasiswa:</span></li>
</ul>
<pre style="font:12px/18px Consolas,Monaco,'Courier New',Courier,monospace;"><span style="color:#000000;"><span style="font-size:10pt;">package paket.dao.java.implement;

import java.util.List;
import javax.sql.DataSource;
import org.springframework.jdbc.core.JdbcTemplate;
import paket.dao.java.entity.Mahasiswa;
import paket.dao.java.interfac.IMahasiswa;
import paket.dao.java.mapping.RowMapMahasiswa;

/**
 *
 * @author launk
 */
public class ImplementDaoMahasiswa implements IMahasiswa{
    private DataSource dataSource;
    private JdbcTemplate jdbctemplate;

    public ImplementDaoMahasiswa(DataSource datasources) {
        this.dataSource = datasources;
    }

    public void insert(Mahasiswa mahasiswa) {
        jdbctemplate = new JdbcTemplate(dataSource);
        jdbctemplate.update("INSERT INTO Mahasiswa (NAMA_MAHASISWA, JURUSAN, UNIVERSITAS) VALUES(?,?,?)",
                new Object[] { mahasiswa.getNAMA_MAHASISWA(), mahasiswa.getJURUSAN(), mahasiswa.getUNIVERSITAS()});
    }
    public void update(Mahasiswa mahasiswa) {
        jdbctemplate = new JdbcTemplate(dataSource);
        jdbctemplate.update("UPDATE Mahasiswa SET NAMA_MAHASISWA=?, JURUSAN=?, UNIVERSITAS=? WHERE ID_MAHASISWA=?",
                new Object[] { mahasiswa.getNAMA_MAHASISWA(), mahasiswa.getJURUSAN(), mahasiswa.getUNIVERSITAS(), mahasiswa.getID_MAHASISWA()});
    }
    public void delete(Mahasiswa mahasiswa) {
        jdbctemplate = new JdbcTemplate(dataSource);
        jdbctemplate.update("DELETE FROM Mahasiswa WHERE ID_MAHASISWA=?",
                new Object[] {mahasiswa.getID_MAHASISWA()});
    }
    public List&lt;Mahasiswa&gt; getAll() {
        jdbctemplate = new JdbcTemplate(dataSource);
        return jdbctemplate.query("select * from Mahasiswa", new RowMapMahasiswa());
    }
    public List&lt;Mahasiswa&gt; getAllById(Mahasiswa mahasiswa) {
        jdbctemplate = new JdbcTemplate(dataSource);
        return jdbctemplate.query("select * from Mahasiswa where ID_MAHASISWA =?",
            new Object[] { mahasiswa.getID_MAHASISWA() },new RowMapMahasiswa());
    }
}
</span></span></pre>
<ul>
<li><span style="color:#000000;">Buat resultset yang menampung data mahasiswa:</span></li>
</ul>
<pre style="font:12px/18px Consolas,Monaco,'Courier New',Courier,monospace;"><span style="color:#000000;"><span style="font-size:10pt;">package paket.dao.java.mapping;

import java.sql.ResultSet;
import java.sql.SQLException;
import org.springframework.jdbc.core.ResultSetExtractor;
import paket.dao.java.entity.Mahasiswa;
/**
 *
 * @author launk
 */
public class ResultSetMahasiswa implements ResultSetExtractor{
    @Override
	public Mahasiswa extractData(ResultSet rs) throws SQLException {
		Mahasiswa mahasiswa = new Mahasiswa();
		mahasiswa.setID_MAHASISWA(rs.getInt(1));
		mahasiswa.setNAMA_MAHASISWA(rs.getString(2));
                mahasiswa.setJURUSAN(rs.getString(3));
                mahasiswa.setUNIVERSITAS(rs.getString(4));
		return mahasiswa;
	}
}
</span></span></pre>
<ul>
<li><span style="color:#000000;">Dan buat sebuah RowMap untuk Mahasiswa:</span></li>
</ul>
<pre style="font:12px/18px Consolas,Monaco,'Courier New',Courier,monospace;"><span style="color:#000000;"><span style="font-size:10pt;">package paket.dao.java.mapping;

import java.sql.ResultSet;
import java.sql.SQLException;
import org.springframework.jdbc.core.RowMapper;

/**
 *
 * @author launk
 */
public class RowMapMahasiswa implements RowMapper{
    @Override
    public Object mapRow(ResultSet rs, int line) throws SQLException {
            ResultSetMahasiswa extractor = new ResultSetMahasiswa();
            return extractor.extractData(rs);
    }
}
</span></span></pre>
<ul>
<li><span style="color:#000000;">Buat sebuah table untuk mehasiswa untuk menampilkan data mahasiswa ke table</span></li>
</ul>
<pre style="font:12px/18px Consolas,Monaco,'Courier New',Courier,monospace;"><span style="color:#000000;"><span style="font-size:10pt;">

package paket.dao.java.tablemodel;

import java.util.ArrayList;
import java.util.List;
import javax.swing.table.AbstractTableModel;
import paket.dao.java.entity.Mahasiswa;
import paket.launk.java.controller.TableGlass;

/**
 *
 * @author launk
 */
public class TabelModelMahasiswa extends TableGlass{
    private static final long serialVersionUID = 1L;
    private List datamahasiswa = new ArrayList();
    AbstractTableModel abstractTableModel;
    public TabelModelMahasiswa tabelModel;
    public int tableWidth=0;

    public TabelModelMahasiswa() {
       abstractTableModel= new AbstractTableModel() {

            public int getRowCount() {
                return datamahasiswa.size();
            }

            public int getColumnCount() {
                return 4;
            }

            public Object getValueAt(int rowIndex, int columnIndex) {
                switch (columnIndex) {
	    case 0:
		return datamahasiswa.get(rowIndex).getID_MAHASISWA();
	    case 1:
		return datamahasiswa.get(rowIndex).getNAMA_MAHASISWA();
	    case 2:
		return datamahasiswa.get(rowIndex).getJURUSAN();
	    case 3:
		return datamahasiswa.get(rowIndex).getUNIVERSITAS();
	    default:
		return null;
                }
            }
            @Override
            public String getColumnName(int column) {
                switch (column) {
                    case 0:
                        return "ID_MAHASISWA";
                    case 1:
                        return "NAMA_MAHASISWA";
                    case 2:
                        return "JURUSAN";
                    case 3:
                        return "UNIVERSITAS";
                    default:
                        return null;
                }
            }
        };
        this.getTable().setModel(abstractTableModel);
    }

    public void setDatatoTable(List data) {
        datamahasiswa.clear();
	datamahasiswa.addAll(data);
        abstractTableModel.fireTableDataChanged();
    }
}
</span></span></pre>
<ul>
<li><span style="color:#000000;">Drag Kelas TableModelMahasiswa ke dalam form seperti gambar dibawah ini:</span></li>
</ul>
<p><span style="color:#000000;"><a href="http://launk.files.wordpress.com/2010/06/gambar-2.png"><img class="aligncenter size-full wp-image-1408" title="Gambar 2" src="http://launk.files.wordpress.com/2010/06/gambar-2.png?w=545" alt=""   /></a></span></p>
<ul>
<li><span style="color:#000000;">Berikut merupakan hasil akhir aplikasi diatas ketika dirun.</span></li>
</ul>
<p><span style="color:#000000;"><a href="http://launk.files.wordpress.com/2010/06/spring1.png"><img class="aligncenter size-full wp-image-1396" title="Spring1" src="http://launk.files.wordpress.com/2010/06/spring1.png?w=545" alt=""   /></a></span></p>
<p><span style="color:#000000;"> <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <a class="wpGallery" href="http://code.google.com/p/belajarglazedlist/downloads/list" target="_self">Download Source Code disini</a></span></p>
<p>Sumber:</p>
<p>http://en.wikipedia.org/wiki/Spring_framework</p>
<p>http://www.devshed.com/c/a/Java/Data-Access-Using-Spring-Framework-JDBC/</p>
<br />Filed under: <a href='http://launk.wordpress.com/category/desktop/'>Desktop</a>, <a href='http://launk.wordpress.com/category/j2se/'>J2SE</a>, <a href='http://launk.wordpress.com/category/jpa-framework/'>JPA Framework</a>, <a href='http://launk.wordpress.com/category/spring-framework/'>Spring Framework</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/launk.wordpress.com/1390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/launk.wordpress.com/1390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/launk.wordpress.com/1390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/launk.wordpress.com/1390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/launk.wordpress.com/1390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/launk.wordpress.com/1390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/launk.wordpress.com/1390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/launk.wordpress.com/1390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/launk.wordpress.com/1390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/launk.wordpress.com/1390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/launk.wordpress.com/1390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/launk.wordpress.com/1390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/launk.wordpress.com/1390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/launk.wordpress.com/1390/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=launk.wordpress.com&amp;blog=4160145&amp;post=1390&amp;subd=launk&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://launk.wordpress.com/2010/06/24/crud-spring-jdbctamplate-dao/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4bacf8e0990574e7ced7532c14422d1e?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">Ahmad Laung Nasution</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/06/spring1.png" medium="image">
			<media:title type="html">Spring1</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/06/library.png" medium="image">
			<media:title type="html">library</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/06/gambar-2.png" medium="image">
			<media:title type="html">Gambar 2</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/06/spring1.png" medium="image">
			<media:title type="html">Spring1</media:title>
		</media:content>
	</item>
		<item>
		<title>NetBeans IDE Module</title>
		<link>http://launk.wordpress.com/2010/05/16/netbeans-ide-module/</link>
		<comments>http://launk.wordpress.com/2010/05/16/netbeans-ide-module/#comments</comments>
		<pubDate>Sun, 16 May 2010 03:52:17 +0000</pubDate>
		<dc:creator>Integer Name = New String(10)</dc:creator>
				<category><![CDATA[Desktop]]></category>
		<category><![CDATA[J2SE]]></category>
		<category><![CDATA[Other]]></category>
		<category><![CDATA[Swing]]></category>

		<guid isPermaLink="false">http://launk.wordpress.com/?p=1349</guid>
		<description><![CDATA[Netbeans IDE Module adalah sekumpulan kelas Java yang menyediakan sebuah aplikasi dengan fitur yang spesifik dimana fitur pada aplikasi tersebut dapat disesuaikan dengan kebutuhan. Misalnya, ingin menambah fitur chatting pada toolbar Netbeans atau ingin menambah Google Searching pada toolbar Netbeans dapat menggunakan Netbeans Module untuk membuatnya dan jika ingin mengurangi fitur yang tersedia pada Netbeans &#8230;<p><a href="http://launk.wordpress.com/2010/05/16/netbeans-ide-module/" class="more-link">Read More</a></p><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=launk.wordpress.com&amp;blog=4160145&amp;post=1349&amp;subd=launk&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;"><span style="color:#000000;"><img class="size-full wp-image-1350 alignleft" title="Netbeans Module" src="http://launk.files.wordpress.com/2010/05/netbeans-module.png?w=545" alt=""   /><strong>Netbeans IDE Module</strong> adalah sekumpulan kelas Java yang menyediakan sebuah aplikasi dengan fitur yang spesifik dimana fitur pada aplikasi tersebut dapat disesuaikan dengan kebutuhan. Misalnya, ingin menambah fitur chatting pada toolbar Netbeans atau ingin menambah <strong>Google Searching</strong> pada toolbar Netbeans dapat menggunakan Netbeans Module untuk membuatnya dan jika ingin mengurangi fitur yang tersedia pada <strong>Netbeans </strong>seperti tidak menyertakan <strong>J2EE, Web Application, Ruby, C, C++, dll</strong> dan hanya menyertakan Java Application pada <strong>Netbeans Platform</strong> maka dapat menggunakan Netbeans Module ini untuk melakukan itu semua. Pada saat mengembangkan atau membuat <strong>Netbeans Module</strong>, developer dapat menginstallnya di dalam IDE Netbeans atau aplikasi yang dibuat oleh developer dapat di letakan pada Platform Netbeans. Banyak contoh aplikasi yang menggunakan <strong>Netbeans Module</strong> seperti ini seperti <strong>JasperReport</strong>, <strong>Sketsa SVG Editor, dll</strong>.</span></p>
<p style="text-align:justify;"><span style="color:#000000;"><span id="more-1349"></span></span><span style="color:#000000;">Berikut adalah bagaimana cara membuat <strong>Netbeans Module</strong> dengan hanya menyertakan <strong>Java Application</strong> pada <strong>Netbeans</strong>. Alasanya adalah untuk mengurangi memori yang digukanan oleh <strong>Netbeans </strong>dimana disini developer hanya membutuhkan <strong>Java Application</strong> untuk membuat project dan fitur yang lain seperti <strong>Web Application, J2EE, dll</strong> akan dibuat pada module yang lain<strong> </strong>sehingga memori komputer agar lebih hemat dan jadi tidak terlalu berat untuk dijalankan oleh devoloper.</span></p>
<p style="text-align:justify;"><span style="color:#000000;">Tools:</span></p>
<ul>
<li><span style="color:#000000;">Netbeans 6.8</span></li>
<li><span style="color:#000000;">JDK 1.6 Update 16</span></li>
</ul>
<ol>
<li><span style="color:#000000;">Buka Netbeans dan Buat sebuah project Module seperti yang ada pada gambar dibawah ini:<a href="http://launk.files.wordpress.com/2010/05/untitled11.png"><img class="aligncenter size-full wp-image-1359" title="Gambar 1" src="http://launk.files.wordpress.com/2010/05/untitled11.png?w=545" alt=""   /></a></span></li>
<li><span style="color:#000000;">Kemudian Klik <strong>Next </strong>dan buat nama project Module dengan <strong>MyNetbeans </strong>(dapat  disesuaikan) seperti gambar dibawah ini:<a href="http://launk.files.wordpress.com/2010/05/untitled2.png"><img class="aligncenter size-full wp-image-1360" title="Gambar 2" src="http://launk.files.wordpress.com/2010/05/untitled2.png?w=545" alt=""   /></a></span></li>
<li><span style="color:#000000;">Klik Finish dan kemudian <strong>Netbeans </strong>akan membuat <strong>Project Module</strong> dengan nama <strong>MyNetbeans </strong>pada project. Kemudian Klik <strong>Kanan </strong>pada project <strong>MyNetbeans </strong>dan klik pada <strong>Library </strong>seperti gambar dibawah ini:<a href="http://launk.files.wordpress.com/2010/05/untitled3.png"><img class="aligncenter size-full wp-image-1361" title="Gambar 3" src="http://launk.files.wordpress.com/2010/05/untitled3.png?w=545" alt=""   /></a><br />
</span></li>
<li><span style="color:#000000;">Pilih modul-modul yang sesuai dengan kebutuhan <strong>&#8220;Abaikan saja laber yang bewarna merah&#8221;</strong> dimana laber yang berwarna merah tersebut memberitahukan kepada developer bahwa ada modul-modul yang masih bergantung pada modul yang di check tersebut. jika sudah memilih modul-modul maka tekan tombol <strong>Resolve</strong> yang bewarna merah diatas sehingga Netbeans akan memperbaiki dependensi modul-modul yang dipilih seperti gambar yang dibawah ini:<a href="http://launk.files.wordpress.com/2010/05/untitled4.png"><img class="aligncenter size-full wp-image-1363" title="Gambar 4" src="http://launk.files.wordpress.com/2010/05/untitled4.png?w=545" alt=""   /></a></span></li>
<li><span style="color:#000000;">Kemudian Pilih <strong>Application </strong>pada gambar dibawah ini dan pilih pada RadioButton yang <strong>&#8220;Create StandAlone Application&#8221;</strong> dan developer dapat mengganti <strong>Iconnya </strong>sesuai dengan keinginan developer:<a href="http://launk.files.wordpress.com/2010/05/untitled5.png"><img class="aligncenter size-full wp-image-1365" title="Gambar 5" src="http://launk.files.wordpress.com/2010/05/untitled5.png?w=545" alt=""   /></a><br />
</span></li>
<li><span style="color:#000000;">Dan Pilih <strong>Splash Screen</strong>, pilih gambar splash screen sesuai dengan yang diinginkan. dimana disini developer dapat memilih warna <strong>splash screen</strong> dan ukuran font pada saat Netbeans startup seperti yang terdapat pada gambar dibawah ini:<a href="http://launk.files.wordpress.com/2010/05/untitled6.png"><img class="aligncenter size-full wp-image-1366" title="Gambar 6" src="http://launk.files.wordpress.com/2010/05/untitled6.png?w=545" alt=""   /></a><br />
</span></li>
<li><span style="color:#000000;">Kemudian Klik <strong>Ok </strong>dan jalankan <strong>Project Module</strong> yaitu dengan Klik <strong>kanan </strong>pada project module kemudian pilih <strong>Run</strong> sehingga <strong>Project Module</strong> akan tampil seperti gambar dibawah ini:<a href="http://launk.files.wordpress.com/2010/05/untitled7.png"><img class="aligncenter size-full wp-image-1368" title="Gambar 7" src="http://launk.files.wordpress.com/2010/05/untitled7.png?w=545" alt=""   /></a></span></li>
<li><span style="color:#000000;">Seperti yang terlihat pada gambar diatas dimana <strong>Project Module</strong> yang dibuat hanya menampilkan modul-modul yang sudah dipilih sebelumnya dan hanya menyediakan fitur <strong>Java Application</strong>, <strong>Maven </strong>dan <strong>Sample</strong>. jika ingin membuat <strong>Project Module</strong> ini sebagai <strong>IDE </strong>untuk mengembangkan <strong>Java </strong>maka developer dapat membuatnya seperti gambar dibawah ini:<a href="http://launk.files.wordpress.com/2010/05/untitled8.png"><img class="aligncenter size-full wp-image-1370" title="Gambar 8" src="http://launk.files.wordpress.com/2010/05/untitled8.png?w=545" alt=""   /></a></span></li>
<li><span style="color:#000000;">Pilih <strong>Build Zip Distribution</strong>, kemudian program akan membuat file distribusi yang berisikan modul-modul Netbeans yang sudah berupa <strong>Zip file</strong> pada <strong>Folder Project Module</strong> dan <strong>Extract </strong>file &#8220;<strong>mynetbeans</strong>&#8221; tersebut seperti yang terlihahat pada gambar dibawah ini:<a href="http://launk.files.wordpress.com/2010/05/untitled9.png"><img class="aligncenter size-full wp-image-1372" title="Gambar 9" src="http://launk.files.wordpress.com/2010/05/untitled9.png?w=545" alt=""   /></a><br />
</span></li>
<li><span style="color:#000000;">Kemudian Copy file &#8220;<strong>mynetbeans</strong>&#8221; kedalam <strong>Program Files</strong> (Optional) dan buat <strong>shortcut </strong>pada Folder &#8220;<strong>bin</strong>&#8221; yang ada dalam folder &#8220;<strong>Program Files\mynetbeans\bin</strong>&#8221; seperti yang terdapat pada gambar dibawah ini:<a href="http://launk.files.wordpress.com/2010/05/untitled10.png"><img class="aligncenter size-full wp-image-1373" title="Gambar 10" src="http://launk.files.wordpress.com/2010/05/untitled10.png?w=545" alt=""   /></a></span></li>
</ol>
<p><span style="color:#000000;">Copy shortcut tersebut ke Desktop dan jalankan program seperti gambar dibawah ini:<a href="http://launk.files.wordpress.com/2010/05/untitled111.png"><img class="aligncenter size-full wp-image-1374" title="Gambar 11" src="http://launk.files.wordpress.com/2010/05/untitled111.png?w=545" alt=""   /></a>Feel free to Save As&#8230;.</span></p>
<p><span style="color:#000000;"> <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  :<a href="http://launk.files.wordpress.com/2010/05/untitled111.png"><br />
</a></span></p>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:4407px;width:1px;height:1px;overflow:hidden;"><span style="color:#000000;">http://blogs.sun.com/roumen/</span></div>
<br />Filed under: <a href='http://launk.wordpress.com/category/desktop/'>Desktop</a>, <a href='http://launk.wordpress.com/category/j2se/'>J2SE</a>, <a href='http://launk.wordpress.com/category/other/'>Other</a>, <a href='http://launk.wordpress.com/category/swing/'>Swing</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/launk.wordpress.com/1349/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/launk.wordpress.com/1349/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/launk.wordpress.com/1349/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/launk.wordpress.com/1349/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/launk.wordpress.com/1349/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/launk.wordpress.com/1349/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/launk.wordpress.com/1349/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/launk.wordpress.com/1349/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/launk.wordpress.com/1349/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/launk.wordpress.com/1349/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/launk.wordpress.com/1349/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/launk.wordpress.com/1349/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/launk.wordpress.com/1349/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/launk.wordpress.com/1349/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=launk.wordpress.com&amp;blog=4160145&amp;post=1349&amp;subd=launk&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://launk.wordpress.com/2010/05/16/netbeans-ide-module/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point>-6.877765 107.611625</georss:point>
		<geo:lat>-6.877765</geo:lat>
		<geo:long>107.611625</geo:long>
		<media:content url="http://0.gravatar.com/avatar/4bacf8e0990574e7ced7532c14422d1e?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">Ahmad Laung Nasution</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/05/netbeans-module.png" medium="image">
			<media:title type="html">Netbeans Module</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/05/untitled11.png" medium="image">
			<media:title type="html">Gambar 1</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/05/untitled2.png" medium="image">
			<media:title type="html">Gambar 2</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/05/untitled3.png" medium="image">
			<media:title type="html">Gambar 3</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/05/untitled4.png" medium="image">
			<media:title type="html">Gambar 4</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/05/untitled5.png" medium="image">
			<media:title type="html">Gambar 5</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/05/untitled6.png" medium="image">
			<media:title type="html">Gambar 6</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/05/untitled7.png" medium="image">
			<media:title type="html">Gambar 7</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/05/untitled8.png" medium="image">
			<media:title type="html">Gambar 8</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/05/untitled9.png" medium="image">
			<media:title type="html">Gambar 9</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/05/untitled10.png" medium="image">
			<media:title type="html">Gambar 10</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/05/untitled111.png" medium="image">
			<media:title type="html">Gambar 11</media:title>
		</media:content>
	</item>
		<item>
		<title>Belajar GlazedList</title>
		<link>http://launk.wordpress.com/2010/04/29/belajar-glazedlist/</link>
		<comments>http://launk.wordpress.com/2010/04/29/belajar-glazedlist/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 12:03:42 +0000</pubDate>
		<dc:creator>Integer Name = New String(10)</dc:creator>
				<category><![CDATA[Desktop]]></category>
		<category><![CDATA[J2SE]]></category>
		<category><![CDATA[Swing]]></category>

		<guid isPermaLink="false">http://launk.wordpress.com/?p=1328</guid>
		<description><![CDATA[GlazedList adalah sebuah library yang mendukung pemisahan atau mensortir data dengan cepat dan efektif. Library GlazedList sangat mudah digunakan oleh developer java. Dimana dengan menggunakan Library ini dapat menghemat atau mengurangi banyaknya kode yang akan ditulis pada program Java. GlazedList sangat berguna jika digunakan pada program yang memiliki table atau list dan itu akan memudahkan &#8230;<p><a href="http://launk.wordpress.com/2010/04/29/belajar-glazedlist/" class="more-link">Read More</a></p><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=launk.wordpress.com&amp;blog=4160145&amp;post=1328&amp;subd=launk&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;"><span style="color:#000000;"><img class="aligncenter size-full wp-image-1329" title="GlazedLizt" src="http://launk.files.wordpress.com/2010/04/2.png?w=545" alt=""   /><strong><em>GlazedList </em></strong>adalah sebuah library yang <span style="text-decoration:underline;">mendukung pemisahan atau mensortir data dengan cepat dan efektif</span>. <strong><em>Library GlazedList</em></strong> sangat mudah digunakan oleh developer java. Dimana dengan menggunakan Library ini dapat menghemat atau mengurangi banyaknya kode yang akan ditulis pada program <strong><em>Java</em></strong>. <strong><em>GlazedList</em> </strong>sangat berguna jika digunakan pada program yang memiliki table atau list dan itu akan memudahkan aplikasi dalam mensortir atau memisahkan data sesuai dengan kebutuhan yang diinginkan. Banyak keunggulan atau keistimewaan <strong><em>GlazedList</em> </strong>diantaranya seperti API yang Kompatibel dengan ArrayList, TableModel yang mudah digunakan, Filter data yang yang dinamis sehingga dapat digunakan dengan mudah, Performance yang tinggi dalam memfilter/sortir data sehingga penggunaan memory CPU tidak banyak, dapat digunakan pada <strong><em>Swing</em> </strong>dan <strong><em>AWT</em> </strong>dan selain itu Library ini <strong><em>OpenSource</em> </strong>untuk lebih lengkapnya tentang featur yang terdapat <strong><em>GlazedList</em> </strong>dapat dilihat <a class="wpgallery" href="http://sites.google.com/site/glazedlists/propaganda/features" target="_blank">disini</a>.</span></p>
<p style="text-align:justify;"><span style="color:#000000;"><span id="more-1328"></span><strong><em>GlazedList </em></strong>memberikan dokumentasi yang lengkap tentang Librarynya dan dapat dilihat pada web yang mereka luncurkan<a class="wpgallery" href="http://sites.google.com/site/glazedlists/Home" target="_blank"> disini</a>. Dimana dengan diberikannya dokumentasi dan tutorial maka developer dapat dengan mudah untuk mempelajari dan mengembangkan aplikasi dengan <strong><em>GlazedList</em></strong>. Untuk mendownload Source dan Tutorialnya bisa di langsung <a class="wpGallery" href="https://glazedlists.dev.java.net/files/documents/1073/124105/glazedlists-1.8.0-tutorial.zip" target="_blank">kesini</a>. Berikut merupakan contoh penggunaan GlazedList dengan menggunakan Desing Pettern DAO(Data Access Object): </span></p>
<p style="text-align:justify;"><span style="color:#000000;">Pertama Membuat Database “latihan”, dan kemudian membuat tablenya seperti yang ada pada code dibawah ini:</span></p>
<pre style="font-family:Consolas,Monaco,'Courier New',Courier,monospace;font-style:normal;font-variant:normal;font-weight:normal;font-size:12px;line-height:18px;"><span style="color:#000000;"><span style="font-size:10pt;">CREATE TABLE `mahasiswa` (
  `ID_MAHASISWA` int(11) NOT NULL auto_increment,
  `NAMA_MAHASISWA` varchar(40) NOT NULL,
  `JENIS_KELAMIN` char(15) NOT NULL,
  `AGAMA` varchar(20) NOT NULL,
  `STATUS` varchar(40) NOT NULL,
  `PEKERJAAN` varchar(40) NOT NULL,
  `INSTITUSI` varchar(40) NOT NULL,
  PRIMARY KEY  (`ID_MAHASISWA`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
</span></span></pre>
<pre style="font-family:Consolas,Monaco,'Courier New',Courier,monospace;font-style:normal;font-variant:normal;font-weight:normal;font-size:12px;line-height:18px;"><span style="color:#000000;"><span style="font-size:10pt;">
INSERT INTO `mahasiswa` (`ID_MAHASISWA`,`NAMA_MAHASISWA`,`JENIS_KELAMIN`,`AGAMA`,`STATUS`,`PEKERJAAN`,`INSTITUSI`) VALUES
 (1,'AHMAD LAUNG NST','LAKI-LAKI','ISLAM','SINGLE','PROGRAMMER','UNIVERSITAS KOMPUTER INDONESIA'),
 (2,'MUHAMMAD IQBAL NST','LAKI-LAKI','ISLAM','SINGLE','SISTEM ANALISIS','INSTITUT TEKNOLOGI BANDUNG'),
 (3,'RIDWAN AFANDI','LAKI-LAKI','ISLAM','SINGLE','PROGRAMMER','POLITEKNIK TELKOM'),
 (4,'KINOY','LAKI-LAKI','ISLAM','SINGLE','PROGRAMMER','INSTITUT TEKNOLOGI BANDUNG'),
 (5,'SITI HABIBAH','PEREMPUAN','ISLAM','SINGLE','MAHASISWA','UNIVERSITAS KOMPUTER INDONESIA'),
 (6,'KRISTIAN','LAKI-LAKI','KRISTEN PROTESTAN','MENIKAH','KONSULTAN','UNIVERSITAS PAJAJARAN BANDUNG'),
 (7,'KRISTINA AGULERA','PEREMPUAN','KRISTEN PROTESTAN','MENIKAH','PENYANYI','UNIVERSITAS HARVARD'),
 (8,'KETUT IMADE','LAKI-LAKI','HINDU','MENIKAH','MAHASISWA','INSTITUT TEKNOLOGI BANDUNG'),
 (9,'SARAH','PEREMPUAN','ISLAM','MENIKAH','MAHASISWA','UNIVERSITAS KOMPUTER INDONESIA'),
 (10,'LUTFI','LAKI-LAKI','ISLAM','SINGLE','MAHASISWA','UNIVERSITAS PAJAJARAN BANDUNG'),
 (11,'SILAINA','PEREMPUAN','BUDHA','SINGLE','PROGRAMMER','INSTITUT TEKNOLOGI BANDUNG');
</span></span></pre>
<p><span style="color:#000000;">Kemudian buat sebuah panel yang memiliki background Image, Seperti code yang dibawah ini:</span></p>
<pre style="font-family:Consolas,Monaco,'Courier New',Courier,monospace;font-style:normal;font-variant:normal;font-weight:normal;font-size:12px;line-height:18px;"><span style="color:#000000;"><span style="font-size:10pt;">package paket.java.panel;

import java.awt.Graphics;
import java.awt.Image;
import javax.swing.JPanel;

/**
 *
 * @author Ahmad Laung Nst
 */
public class Panel extends JPanel{
private Image image;

    public Panel() {
        setOpaque(false);
    }

    public Image getImage() {
        return image;
    }

    public void setImage(Image image) {
        this.image = image;
    }

    @Override
    protected void paintComponent(Graphics g) {
        try {
            image = new javax.swing.ImageIcon(getClass().getResource("/images/bg.png")).getImage();

            if (g != null) {
                g.drawImage(image,
                    (this.getSize().width - image.getWidth(null)) / 2,
                    (this.getSize().height - image.getHeight(null)) / 2,
                    null);
          }
        } catch (NullPointerException npe) {
            System.out.println(npe);
        }
    }
}
</span></span></pre>
<p><span style="color:#000000;">Kemudian buat sebuah Form dan Drag kelas Panel kedalam Form tersebut dan masukan komponen ListGlass dan TableGlass kedalam Panel tersebut. dan buat KoneksiDatabase:</span></p>
<pre style="font-family:Consolas,Monaco,'Courier New',Courier,monospace;font-style:normal;font-variant:normal;font-weight:normal;font-size:12px;line-height:18px;"><span style="color:#000000;"><span style="font-size:10pt;">package paket.java.koneksi.database;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import javax.swing.JOptionPane;
/**
 *
 * @author Ahmad Laung Nasution
 */
public class KoneksiDatabase {
    private Connection connection = null;
    private static KoneksiDatabase koneksidatabase = null;
    public KoneksiDatabase() {
        try {
            Class.forName("com.mysql.jdbc.Driver").newInstance();
        } catch (InstantiationException ex) {
            JOptionPane.showMessageDialog(null, "Error Database 1: "+ex.getMessage(), "Database Error", JOptionPane.ERROR_MESSAGE);
        } catch (IllegalAccessException ex) {
            JOptionPane.showMessageDialog(null, "Error Database 2: "+ex.getMessage(), "Database Error", JOptionPane.ERROR_MESSAGE);
        } catch (ClassNotFoundException ex) {
            JOptionPane.showMessageDialog(null, "Error Database 3: "+ex.getMessage(), "Database Error", JOptionPane.ERROR_MESSAGE);
        }
    }

    public static KoneksiDatabase getInstance() {
        KoneksiDatabase conn = null;
        try {
            if (koneksidatabase == null) {
                koneksidatabase = new KoneksiDatabase();
                conn = koneksidatabase;
            } else if (koneksidatabase.getConnection().isClosed()) {
                koneksidatabase = new KoneksiDatabase();
                conn = koneksidatabase;
            } else {
                conn = koneksidatabase;
            }
            return conn;
        }
 catch (SQLException ex) {
            return new KoneksiDatabase();
        }        catch (Exception e)
        {
            JOptionPane.showMessageDialog(null, "Error Exception : "+e, "Exception",JOptionPane.ERROR_MESSAGE);
            return new KoneksiDatabase();
        }
    }
        public Connection getConnection() {
            try {
                    if (this.connection == null) {
                    this.connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/latihan", "root", "root");
                    this.connection.setAutoCommit(false);
                }
                return this.connection;
            } catch (Exception e) {
                JOptionPane.showMessageDialog(null, "Error Exception : "+e, "Exception",JOptionPane.ERROR_MESSAGE);
                return null;
            }
    }
}
</span></span></pre>
<p><span style="color:#000000;">Buat sebuah kelas model untuk Mahasiswa:</span></p>
<pre style="font-family:Consolas,Monaco,'Courier New',Courier,monospace;font-style:normal;font-variant:normal;font-weight:normal;font-size:12px;line-height:18px;"><span style="color:#000000;"><span style="font-size:10pt;">
package paket.java.model;

/**
 *
 * @author Ahmad Laung Nasution
 */
public class Mahasiswa {
private int id_mahasiswa;
private String nama_mahasiswa;
private String jenis_kelamin;
private String agama;
private String status;
private String pekerjaan;
private String institusi;

        public Mahasiswa() {
        }

        public Mahasiswa(int id_mahasiswa, String nama_mahasiswa, String jenis_kelamin, String agama, String status, String pekerjaan, String institusi) {
                this.id_mahasiswa = id_mahasiswa;
                this.nama_mahasiswa = nama_mahasiswa;
                this.jenis_kelamin = jenis_kelamin;
                this.agama = agama;
                this.status = status;
                this.pekerjaan = pekerjaan;
                this.institusi = institusi;
        }

        public String getAgama() {
                return agama;
        }

        public void setAgama(String agama) {
                this.agama = agama;
        }

        public int getId_mahasiswa() {
                return id_mahasiswa;
        }

        public void setId_mahasiswa(int id_mahasiswa) {
                this.id_mahasiswa = id_mahasiswa;
        }

        public String getInstitusi() {
                return institusi;
        }

        public void setInstitusi(String institusi) {
                this.institusi = institusi;
        }

        public String getJenis_kelamin() {
                return jenis_kelamin;
        }

        public void setJenis_kelamin(String jenis_kelamin) {
                this.jenis_kelamin = jenis_kelamin;
        }

        public String getNama_mahasiswa() {
                return nama_mahasiswa;
        }

        public void setNama_mahasiswa(String nama_mahasiswa) {
                this.nama_mahasiswa = nama_mahasiswa;
        }

        public String getPekerjaan() {
                return pekerjaan;
        }

        public void setPekerjaan(String pekerjaan) {
                this.pekerjaan = pekerjaan;
        }

        public String getStatus() {
                return status;
        }

        public void setStatus(String status) {
                this.status = status;
        }
}
</span></span></pre>
<p><span style="color:#000000;">dan sebuah interface untuk Mahasiswa:</span></p>
<pre style="font-family:Consolas,Monaco,'Courier New',Courier,monospace;font-style:normal;font-variant:normal;font-weight:normal;font-size:12px;line-height:18px;"><span style="color:#000000;"><span style="font-size:10pt;">package paket.java.interfac;

import ca.odell.glazedlists.EventList;
import java.sql.SQLException;
import paket.java.model.Mahasiswa;

/**
 *
 * @author Ahmad Laung Nasution
 */
public interface IMahasiswa {
public EventList &lt;Mahasiswa&gt; getMahasiswa() throws SQLException;
}
</span></span></pre>
<p><span style="color:#000000;">dan Implementasi untuk Mahasiwa:</span></p>
<pre style="font-family:Consolas,Monaco,'Courier New',Courier,monospace;font-style:normal;font-variant:normal;font-weight:normal;font-size:12px;line-height:18px;"><span style="color:#000000;"><span style="font-size:10pt;">package paket.java.dao.implement;

import ca.odell.glazedlists.BasicEventList;
import ca.odell.glazedlists.EventList;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import paket.java.interfac.IMahasiswa;
import paket.java.model.Mahasiswa;

/**
 *
 * @author Ahmad Laung Nasution
 */
public class ImplementDaoMahasiswa implements IMahasiswa{
private Connection conn;

        public ImplementDaoMahasiswa(Connection connection) {
                this.conn = connection;
        }

        public EventList getMahasiswa() throws SQLException{
        EventList list = new BasicEventList();
        Statement m = conn.createStatement();
        ResultSet rs = m.executeQuery("SELECT * from Mahasiswa order by id_mahasiswa");
        while(rs.next()){
            Mahasiswa mahasiswa = new Mahasiswa();
            mahasiswa.setId_mahasiswa(rs.getInt(1));
            mahasiswa.setNama_mahasiswa(rs.getString(2));
            mahasiswa.setJenis_kelamin(rs.getString(3));
            mahasiswa.setAgama(rs.getString(4));
            mahasiswa.setStatus(rs.getString(5));
            mahasiswa.setPekerjaan(rs.getString(6));
            mahasiswa.setInstitusi(rs.getString(7));
            list.add(mahasiswa);
        }
        rs.close();
        return list;
    }
}
</span></span></pre>
<p style="text-align:justify;"><span style="color:#000000;">Kode selengkapnya dapat di download <a class="wpGallery" href="http://code.google.com/p/belajarglazedlist/downloads/list" target="_blank">disini</a>. Ada dua contoh penggunaan GlazedList pada project Netbeans yaitu menggunakan ListGlass dan OvalTextField. berikut merupakan aplikasi yang menggunakan GlazedList dengan ListGlass dimana memisahkan/memfilter data yang terdapat pada database berdasarkan pekerjaan sebagai Programmer:</span></p>
<p><span style="color:#000000;"><a href="http://launk.files.wordpress.com/2010/04/3.png"><img class="aligncenter size-full wp-image-1336" title="ListGlass" src="http://launk.files.wordpress.com/2010/04/3.png?w=545" alt=""   /></a>Dan Berikut merupakan aplikasi yang menggunakan GlazedList dengan ListGlass dimana memfilter data yang terdapat pada database berdasarkan pekerjaan sebagai Mahasiswa:</span></p>
<p><span style="color:#000000;"><a href="http://launk.files.wordpress.com/2010/04/4.png"><img class="aligncenter size-full wp-image-1338" title="GlazedList" src="http://launk.files.wordpress.com/2010/04/4.png?w=545" alt=""   /></a></span></p>
<p><span style="color:#000000;">Berikut merupakan aplikasi yang menggunakan GlazedList dengan OvalTextField dimana memfilter data yang terdapat pada database berdasarkan Status Mahasiswa yang Single:</span></p>
<p><span style="color:#000000;"><a href="http://launk.files.wordpress.com/2010/04/5.png"><img class="aligncenter size-full wp-image-1340" title="5" src="http://launk.files.wordpress.com/2010/04/5.png?w=545" alt=""   /></a></span></p>
<p><span style="color:#000000;">Berikut merupakan GlazedList dengan OvalTextField dimana memfilter data yang terdapat pada database berdasarkan Jenis Kelamin Mahasiswa yang Laki-Laki:</span></p>
<p><span style="color:#000000;"><a href="http://launk.files.wordpress.com/2010/04/6.png"><img class="aligncenter size-full wp-image-1342" title="6" src="http://launk.files.wordpress.com/2010/04/6.png?w=545" alt=""   /></a></span></p>
<p><span style="color:#000000;">Download tutorial GlazedList <a class="wpGallery" href="https://glazedlists.dev.java.net/files/documents/1073/124105/glazedlists-1.8.0-tutorial.zip" target="_blank">disini</a>, Sample GlazedList <a class="wpGallery" href="http://code.google.com/p/belajarglazedlist/downloads/list" target="_blank">disini</a>, dan Project GlazedList diatas <a class="wpGallery" href="http://code.google.com/p/belajarglazedlist/downloads/list" target="_blank">disini</a>. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </span></p>
<p><span style="color:#000000;">Sumber Ilmu : <a href="http://publicobject.com/glazedlists/">http://publicobject.com/glazedlists/</a></span></p>
<br />Filed under: <a href='http://launk.wordpress.com/category/desktop/'>Desktop</a>, <a href='http://launk.wordpress.com/category/j2se/'>J2SE</a>, <a href='http://launk.wordpress.com/category/swing/'>Swing</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/launk.wordpress.com/1328/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/launk.wordpress.com/1328/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/launk.wordpress.com/1328/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/launk.wordpress.com/1328/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/launk.wordpress.com/1328/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/launk.wordpress.com/1328/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/launk.wordpress.com/1328/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/launk.wordpress.com/1328/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/launk.wordpress.com/1328/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/launk.wordpress.com/1328/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/launk.wordpress.com/1328/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/launk.wordpress.com/1328/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/launk.wordpress.com/1328/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/launk.wordpress.com/1328/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=launk.wordpress.com&amp;blog=4160145&amp;post=1328&amp;subd=launk&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://launk.wordpress.com/2010/04/29/belajar-glazedlist/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point>-6.877765 107.611625</georss:point>
		<geo:lat>-6.877765</geo:lat>
		<geo:long>107.611625</geo:long>
		<media:content url="http://0.gravatar.com/avatar/4bacf8e0990574e7ced7532c14422d1e?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">Ahmad Laung Nasution</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/04/2.png" medium="image">
			<media:title type="html">GlazedLizt</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/04/3.png" medium="image">
			<media:title type="html">ListGlass</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/04/4.png" medium="image">
			<media:title type="html">GlazedList</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/04/5.png" medium="image">
			<media:title type="html">5</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/04/6.png" medium="image">
			<media:title type="html">6</media:title>
		</media:content>
	</item>
		<item>
		<title>Panel Dua Warna dengan Netbeans</title>
		<link>http://launk.wordpress.com/2010/03/12/panel-dua-warna-dengan-netbeans/</link>
		<comments>http://launk.wordpress.com/2010/03/12/panel-dua-warna-dengan-netbeans/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 10:19:02 +0000</pubDate>
		<dc:creator>Integer Name = New String(10)</dc:creator>
				<category><![CDATA[Desktop]]></category>
		<category><![CDATA[J2SE]]></category>
		<category><![CDATA[Swing]]></category>

		<guid isPermaLink="false">http://launk.wordpress.com/?p=1304</guid>
		<description><![CDATA[Panel yang tersedia pada netbeans atau java biasanya hanya menyediakan panel yang standar dan digunakan sebagai container untuk komponen-komponen lain . pada Panel, yang tersedia pada netbeans hanya dapat mengubah backgroundnya dengan satu warna. pada dasarnya pada Panel dapat kita ubah dan kita modifikasi sesuai dengan yang kita inginkan. disini kita akan belajar cara membuat &#8230;<p><a href="http://launk.wordpress.com/2010/03/12/panel-dua-warna-dengan-netbeans/" class="more-link">Read More</a></p><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=launk.wordpress.com&amp;blog=4160145&amp;post=1304&amp;subd=launk&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;"><img class="alignleft size-full wp-image-1306" title="warnapanel" src="http://launk.files.wordpress.com/2010/03/warnapanel.png?w=545" alt=""   /><span style="color:#000000;"><span style="color:#000000;"> <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  </span><strong><span style="color:#000000;">Panel </span></strong><span style="color:#000000;">yang tersedia pada netbeans atau java biasanya hanya menyediakan panel yang standar dan digunakan sebagai container untuk komponen-komponen lain <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  . pada </span><strong><span style="color:#000000;">Panel</span></strong><span style="color:#000000;">, yang tersedia pada netbeans hanya dapat mengubah backgroundnya dengan satu warna. pada dasarnya pada </span><strong><span style="color:#000000;">Panel </span></strong><span style="color:#000000;">dapat kita ubah dan kita modifikasi sesuai dengan yang kita inginkan. disini kita akan belajar cara membuat panel dengan dua warna dan warna itu dapat kita pilih pada propertiesnya netbeans sesuai dengan keinginan kita. kalau Anda ingin memiliki panel yang sudah dibuat dengan dua warna seperti yang terlihat pada gambar disamping dan tidak perlu dibuat dengan manual Anda dapat download di </span></span><a class="wpgallery" href="http://migcalendar.com" target="_blank"><span style="color:#000000;">sini</span></a><span style="color:#000000;"><span style="color:#000000;">. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  dimana pada </span><strong><span style="color:#000000;">Mic Calender</span></strong><span style="color:#000000;"> sudah terdapat panel dengan dengan dua warna background dan pada backgroundnya juga bisa menggunakan gambar. oke sekarang kita belajar java dengan dengan mewarnai background panel dengan dua warna. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Anda dapat membuat sebuah kelas pada project di netbeans dengan nama kelas </span><strong><span style="color:#000000;">PanelWarna.java</span></strong><span style="color:#000000;"> atau disesuikan dengan keinginan Anda. seperti yang terlihat pada kode dibawah ini:</span></span></p>
<p><span id="more-1304"></span></p>
<pre style="font:normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace;"><span style="font-size:10pt;"><span style="color:#000000;">/*
 *  "Launk Informatika by Java Programming Languege"
 *  "Blog : http://launk.wordpress.com"
 *  "Email : launk_nst@yahoo.com"
 */
import javax.swing.*;
import java.awt.*;
/**
 *
 * @author Ahmad Laung Nasution
 */
public class PanelWarna extends JPanel
{
	private Color HeadColor = Color.WHITE;
	private Color FootColor = Color.BLACK;
	private int direction = 0;

	public PanelWarna()
	{
		super();
	}

	public PanelWarna(Color aHeadColor, Color aFootColor)
	{
		super();
		this.HeadColor = aHeadColor;
		this.FootColor = aFootColor;
	}
	public PanelWarna(Color aHeadColor, Color aFootColor, int adirection)
	{
		super();
		HeadColor = aHeadColor;
		FootColor = aFootColor;
		direction = adirection;
	}
	public Color getFootColor()
	{
		return FootColor;
	}
	public void setFootColor(Color aColor)
	{
		Color oldFootColor = FootColor;
		FootColor = aColor;
		super.firePropertyChange("FootColor",oldFootColor,FootColor);
		repaint();
	}
	public Color getHeadColor()
	{
		return HeadColor;
	}
	public void setHeadColor(Color aColor)
	{
		Color oldHeadColor = FootColor;
		HeadColor = aColor;
		super.firePropertyChange("HeadColor",oldHeadColor,HeadColor);
		repaint();
	}
	public int getDirection()
	{
		return direction;
	}
	public void setDirection(int adirection)
	{
		int olddirection = direction;
		direction = adirection;
		super.firePropertyChange("direction",olddirection,adirection);
		repaint();
	}
        @Override
	public void paintComponent(Graphics g)
	{
		Dimension dim = getSize();
		Graphics2D g2 = (Graphics2D) g;
		Insets inset = getInsets();
		int vWidth = dim.width - (inset.left + inset.right);
		int vHeight = dim.height - (inset.top + inset.bottom);

		if (direction == 1)
		{
			paintHorizontalGradient(g2, inset.left, inset.top, vWidth, vHeight, dim.width);
		}
		else
		{
			paintVerticalGradient(g2, inset.left, inset.top, vWidth, vHeight, dim.height);
		}
	}
	private void paintVerticalGradient(Graphics2D g2, int x, int y, int w, int h, int height)
	{
		g2.setPaint(new GradientPaint(0, y, HeadColor, 0, height, FootColor));
		g2.fillRect(x, y, w, h);
	}
	private void paintHorizontalGradient(Graphics2D g2, int x, int y, int w, int h, int width)
	{
		g2.setPaint(new GradientPaint(x, 0, HeadColor, width, 0, FootColor));
		g2.fillRect(x, y, w, h);
	}
}
</span></span></pre>
<p><span style="color:#000000;">Kemudian kompile file PanelWarna.java tersebut dan buat sebuah form pada project di Netbeans berikan nama form form tersebut sesuai dengan keinginan. dan apabila sudah selesai maka drag file PanelWarna dari project Anda kedalam form yang dibuat, seperti yang terdapat pada gambar dibawah ini:</span></p>
<p style="text-align:left;"><img class="size-full wp-image-1313 aligncenter" title="drag" src="http://launk.files.wordpress.com/2010/03/drag.png?w=545" alt=""   /><span style="color:#000000;"><br />
dan Apabila sudah seperti yang terlihat diatas maka Anda dapat mengubah warna HeadBackground dan FootBackGroundnya. yaitu dengan melihat pada properties yang terdapat pada samping kanan. seperti yang terlihat pada gambar dibawah ini.</span></p>
<p style="text-align:left;"><img class="aligncenter size-full wp-image-1315" title="properties" src="http://launk.files.wordpress.com/2010/03/properties.png?w=545" alt=""   /></p>
<p style="text-align:left;"><span style="color:#000000;">Seperti yang terlihat pada gambar diatas, kita dapat juga mengubah warna pada panel tersebut pada saat apalikasi tersebut sedang berjalan. yaitu seperti contoh dibawah berikut dimana kita akan menambakan dua button pada panel seperti yang terdapat pada gambar dibawah berikut:</span></p>
<p style="text-align:left;"><img class="aligncenter size-full wp-image-1317" title="Panel2" src="http://launk.files.wordpress.com/2010/03/panel2.png?w=545" alt=""   /></p>
<p style="text-align:left;"><span style="color:#000000;">Tambahkan ActionListener pada kedua button diatas untuk mengganti warna HeadBackground dan FootBackgroudnya.  kemudian tambahkan kode seperti yang dibawah ini:</span></p>
<p style="text-align:left;">
<p style="text-align:left;">
<pre style="font:normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace;"><span style="font-size:10pt;"><span style="color:#000000;">
    Color warna = JColorChooser.showDialog(Form1.this, "Pilih Warna", warna );
    panelWarna1.setHeadColor(warna);
</span></span></pre>
<p><span style="color:#000000;">dan untuk FootBackground :</span></p>
<pre style="font:normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace;"><span style="font-size:10pt;"><span style="color:#000000;">    Color warna = JColorChooser.showDialog(Form1.this, "Pilih Warna", warna );
    panelWarna1.setFootColor(warna);
</span></span></pre>
<p><span style="color:#000000;">dan kemudian jalankan program tersebut dan pilih salah satu warna yang ingin diganti sesuai dengan keinginan sehingga akan tampil seperti yang terlihat pada gambar dibawah berikut:</span></p>
<p><img class="aligncenter size-full wp-image-1319" title="gambar" src="http://launk.files.wordpress.com/2010/03/gambar.png?w=545" alt=""   /></p>
<p><span style="color:#000000;">Pilih warna yang diinginkan kemudian &#8211; klik OK. dan hasilnya akan terlihat pada gambar dibawah berikut:</span></p>
<p><img class="aligncenter size-full wp-image-1321" title="gambar2" src="http://launk.files.wordpress.com/2010/03/gambar2.png?w=545" alt=""   /></p>
<p><span style="color:#000000;"> <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </span></p>
<br />Filed under: <a href='http://launk.wordpress.com/category/desktop/'>Desktop</a>, <a href='http://launk.wordpress.com/category/j2se/'>J2SE</a>, <a href='http://launk.wordpress.com/category/swing/'>Swing</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/launk.wordpress.com/1304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/launk.wordpress.com/1304/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/launk.wordpress.com/1304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/launk.wordpress.com/1304/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/launk.wordpress.com/1304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/launk.wordpress.com/1304/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/launk.wordpress.com/1304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/launk.wordpress.com/1304/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/launk.wordpress.com/1304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/launk.wordpress.com/1304/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/launk.wordpress.com/1304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/launk.wordpress.com/1304/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/launk.wordpress.com/1304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/launk.wordpress.com/1304/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=launk.wordpress.com&amp;blog=4160145&amp;post=1304&amp;subd=launk&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://launk.wordpress.com/2010/03/12/panel-dua-warna-dengan-netbeans/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point>-6.877765 107.611625</georss:point>
		<geo:lat>-6.877765</geo:lat>
		<geo:long>107.611625</geo:long>
		<media:content url="http://0.gravatar.com/avatar/4bacf8e0990574e7ced7532c14422d1e?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">Ahmad Laung Nasution</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/03/warnapanel.png" medium="image">
			<media:title type="html">warnapanel</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/03/drag.png" medium="image">
			<media:title type="html">drag</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/03/properties.png" medium="image">
			<media:title type="html">properties</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/03/panel2.png" medium="image">
			<media:title type="html">Panel2</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/03/gambar.png" medium="image">
			<media:title type="html">gambar</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/03/gambar2.png" medium="image">
			<media:title type="html">gambar2</media:title>
		</media:content>
	</item>
		<item>
		<title>Insert, Update dan Delete dengan Data Access Object (DAO)</title>
		<link>http://launk.wordpress.com/2010/03/06/insert-update-dan-delete-dengan-data-access-object-dao/</link>
		<comments>http://launk.wordpress.com/2010/03/06/insert-update-dan-delete-dengan-data-access-object-dao/#comments</comments>
		<pubDate>Sat, 06 Mar 2010 02:30:17 +0000</pubDate>
		<dc:creator>Integer Name = New String(10)</dc:creator>
				<category><![CDATA[Desktop]]></category>
		<category><![CDATA[J2SE]]></category>
		<category><![CDATA[Other]]></category>
		<category><![CDATA[Swing]]></category>

		<guid isPermaLink="false">http://launk.wordpress.com/?p=1288</guid>
		<description><![CDATA[Data Access Object (DAO) merupakan sebuah object yang menyediakan sebuah interface yang abstrak dimana ditujukan untuk aplikasi yang behubungan dengan database atau mekanisme dalam persistence. pada Data Access Object (DAO) menyediakan beberapa operasi yang spesifik tanpa memaparkan rincian database. Data Access Object (DAO) menyediakan operasi tertentu tanpa memaparkan rincian database. Memberikan pemetaan dari aplikasi ke &#8230;<p><a href="http://launk.wordpress.com/2010/03/06/insert-update-dan-delete-dengan-data-access-object-dao/" class="more-link">Read More</a></p><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=launk.wordpress.com&amp;blog=4160145&amp;post=1288&amp;subd=launk&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-1289" title="dao1" src="http://launk.files.wordpress.com/2010/03/dao1.png?w=545" alt=""   /></p>
<div id="_mcePaste">
<div id="_mcePaste" style="text-align:justify;"><span style="color:#000000;"><strong><span style="color:#000000;">Data Access Object (DAO)</span></strong><span style="color:#000000;"> merupakan sebuah object yang menyediakan sebuah interface yang abstrak dimana ditujukan untuk aplikasi yang behubungan dengan database atau mekanisme dalam persistence. pada </span><strong><span style="color:#000000;">Data Access Object (DAO)</span></strong><span style="color:#000000;"> menyediakan beberapa operasi yang spesifik tanpa memaparkan rincian database. </span><strong><span style="color:#000000;">Data Access Object (DAO)</span></strong><span style="color:#000000;"> menyediakan operasi tertentu tanpa memaparkan rincian database. Memberikan pemetaan dari aplikasi ke database. Pada </span><strong><span style="color:#000000;">Data Access Object (DAO)</span></strong><span style="color:#000000;"> menyediakan  teknik  yang memisahakan antara lapisan business dari persistence. Pola desain ini sangat banyak diterapkan pada bahasa pemograman java. </span></span></div>
<div id="_mcePaste" style="text-align:justify;"><span style="color:#000000;"><strong><span style="color:#000000;">Data Access Object (DAO)</span></strong><span style="color:#000000;"> menawarkan perangkat tambahan yang baik dalam proses pengembangan perangkat lunak. dengan memakai pola ini dapat memberikan ketahanan yang baik kepada aplikasi kita dan fleksibelitas terhadap perubahan. Keuntungan menggunakan </span><strong><span style="color:#000000;">Data Access Object (DAO)</span></strong><span style="color:#000000;"> adalah relatif sederhana dan memisahkan proses yang terjadi pada aplikasi sehingga kode pada aplikasi menjadi lebih terstruktur dan mudah dipahami apabila terjadi kesalahan. dimana perubahan yang terjadi pada persitence logic tidak akan mempengaruhi DAO yang terdapat pada klien selama interface yang didefinisikan benar. DAO dapat di implementasikan pada berbagai macam framework seperti hibernet, JPA, dll.</span></span></div>
<div><span style="color:#000000;"><span style="color:#000000;"><br />
</span> </span></div>
<div>
<p><span style="color:#000000;"><span id="more-1288"></span></span></p>
<div style="text-align:justify;"><span style="color:#000000;"><span style="color:#000000;">Keuntungan Menggunakan </span><strong><span style="color:#000000;">Data Access Object (DAO)</span></strong><span style="color:#000000;">:</span></span></div>
<div style="text-align:justify;"><span style="color:#000000;"><span style="color:#000000;">Keuntungan utama menggunakan </span><strong><span style="color:#000000;">Data Access Object (DAO)</span></strong><span style="color:#000000;"> yaitu sesuatu yang esensi untuk memecahkan program menjadi kelas-kelas kecil dimana masing-masing kelas tersebut saling berinteraksi denga kelas yang lainnya melalui Interface yang terdefinisi dengan benar. dengan menggunakan metode ini, kesalahan di suatu bagian program dapat dikoreksi tanpa perlu mempertimbangkan bagian-bagian lainya, serta bagian program dapat dipahami tanpa harus memahami keseluruhan. dengan menggunakan </span><strong><span style="color:#000000;">Data Access Object (DAO)</span></strong><span style="color:#000000;"> kita dapat fokus pada pengorganisasian program sebagai kumpulan kelas yang terdefinisi dengan bagus. </span><strong><span style="color:#000000;">Data Access Object (DAO)</span></strong><span style="color:#000000;"> berhubungan dengan pengabstraksian. masing-masing kelas berkorespondensi dengan satu abstraksi dan hanya satu-satunya. Dengan menggunakan </span><strong><span style="color:#000000;">Data Access Object (DAO)</span></strong><span style="color:#000000;"> ini dapat membantu kita dalam membangun aplikasi yang komplek menjadi sederhana. seperti yang dikatakan oleh Myers:</span></span></div>
<div style="text-align:justify;"><span style="color:#000000;">&#8220;Suatu Aksi mempartisi program menjadi komponen-komponen individual dapat mereduksi kompleksitas.&#8221;</span></div>
<div style="text-align:justify;"><span style="color:#000000;"><span style="color:#000000;"><br />
</span> </span></div>
<div style="text-align:justify;">
<p><span style="color:#000000;"> Tahap sederhana membangun aplikasi berbasis Database dengan menggunakan Data Access Object (DAO):</span></p>
<div style="text-align:justify;"><span style="color:#000000;">1. Buat sebuah Database belajar</span></div>
<div style="text-align:justify;"><span style="color:#000000;">2. Buat tabel Mahasiswa</span></div>
<pre style="font:normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace;"><span style="font-size:10pt;"><span style="color:#000000;">
CREATE TABLE mahasiswa (
idmahasiswa INT NOT NULL AUTO_INCREMENT,
nama VARCHAR(40),
alamat VARCHAR(50),
institusi VARCHAR(40),
telepon VARCHAR(40),
email VARCHAR(30),
PRIMARY KEY (idmahasiswa));
</span></span></pre>
<div style="text-align:justify;"><span style="color:#000000;">3. Buat sebuah kelas Model dengan nama kelas Mahasiswa (Mahasiswa merupakan tabel yang ada pada Database belajar).</span></div>
<pre style="font:normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace;"><span style="font-size:10pt;"><span style="color:#000000;">
 /* "Launk Informatika by Java Programming Languege"
 * "Blog : http://launk.wordpress.com"
 * "Email : launk_nst@yahoo.com"
 */
package paket.java.dao.model;
/**
 *
 * @author Ahmad Laung Nasution
 */
public class Mahasiswa {
    private int idmahasiswa;
    private String nama;
    private String alamat;
    private String institusi;
    private String telepon;
    private String email;
    public Mahasiswa() {
    }

    public Mahasiswa(int idmahasiswa, String nama, String alamat, String institusi, String telepon, String email) {
        this.idmahasiswa = idmahasiswa;
        this.nama = nama;
        this.alamat = alamat;
        this.institusi = institusi;
        this.telepon = telepon;
        this.email = email;
    }

    public String getAlamat() {
        return alamat;
    }

    public void setAlamat(String alamat) {
        this.alamat = alamat;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public int getIdmahasiswa() {
        return idmahasiswa;
    }

    public void setIdmahasiswa(int idmahasiswa) {
        this.idmahasiswa = idmahasiswa;
    }

    public String getInstitusi() {
        return institusi;
    }

    public void setInstitusi(String institusi) {
        this.institusi = institusi;
    }

    public String getNama() {
        return nama;
    }

    public void setNama(String nama) {
        this.nama = nama;
    }

    public String getTelepon() {
        return telepon;
    }

    public void setTelepon(String telepon) {
        this.telepon = telepon;
    }
}

</span></span></pre>
<div style="text-align:justify;"><span style="color:#000000;">4. Kemudian buat kelas untuk koneksi Database</span></div>
<pre style="font:normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace;"><span style="font-size:10pt;"><span style="color:#000000;">
 /* "Launk Informatika by Java Programming Languege"
 * "Blog : http://launk.wordpress.com"
 * "Email : launk_nst@yahoo.com"
 */
package paket.java.database.connection;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import javax.swing.JOptionPane;
/**
 *
 * @author Ahmad Laung Nasution
 */
public class KoneksiDatabase {
    private Connection connection = null;
    private static KoneksiDatabase koneksidatabase = null;
    public KoneksiDatabase() {
        try {
            Class.forName("com.mysql.jdbc.Driver").newInstance();
        } catch (InstantiationException ex) {
            JOptionPane.showMessageDialog(null, "Error Database 1: "+ex.getMessage(), "Database Error", JOptionPane.ERROR_MESSAGE);
        } catch (IllegalAccessException ex) {
            JOptionPane.showMessageDialog(null, "Error Database 2: "+ex.getMessage(), "Database Error", JOptionPane.ERROR_MESSAGE);
        } catch (ClassNotFoundException ex) {
            JOptionPane.showMessageDialog(null, "Error Database 3: "+ex.getMessage(), "Database Error", JOptionPane.ERROR_MESSAGE);
        }
    }

    public static KoneksiDatabase getInstance() {
        KoneksiDatabase conn = null;
        try {
            if (koneksidatabase == null) {
                koneksidatabase = new KoneksiDatabase();
                conn = koneksidatabase;
            } else if (koneksidatabase.getConnection().isClosed()) {
                koneksidatabase = new KoneksiDatabase();
                conn = koneksidatabase;
            } else {
                conn = koneksidatabase;
            }
            return conn;
        } catch (SQLException ex) {
            return new KoneksiDatabase();
        }
        catch (Exception e)
        {
            JOptionPane.showMessageDialog(null, "Error Exception : "+e, "Exception",JOptionPane.ERROR_MESSAGE);
            return new KoneksiDatabase();
        }
    }
        public Connection getConnection() {
            try {
                    if (this.connection == null) {
                    this.connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/belajar", "root", "root");
                    this.connection.setAutoCommit(false);
                }
                return this.connection;
            } catch (Exception e) {
                JOptionPane.showMessageDialog(null, "Error Exception : "+e, "Exception",JOptionPane.ERROR_MESSAGE);
                return null;
            }

    }

}

</span></span></pre>
<div style="text-align:justify;"><span style="color:#000000;">5. Buat sebuah Interface</span></div>
<pre style="font:normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace;"><span style="font-size:10pt;"><span style="color:#000000;">
 /* "Launk Informatika by Java Programming Languege"
 * "Blog : http://launk.wordpress.com"
 * "Email : launk_nst@yahoo.com"
 */
package paket.java.dao.interfac;

import java.sql.SQLException;
import java.util.List;
import paket.java.dao.model.Mahasiswa;
/**
 *
 * @author Ahmad Laung Nasution
 */
public interface Interface {
    public void insert(Mahasiswa mahasiswa) throws SQLException;
    public void delete(int id_institusi) throws SQLException;
    public void update(int oldid, Mahasiswa mahasiswa) throws SQLException;
    public List getAll() throws SQLException;
}
</span></span></pre>
<div style="text-align:justify;"><span style="color:#000000;">Interface pada Data Access Object (DAO) mendefinisikan semua metode akses data Anda akan menyediakan objek. Untuk database, ini meliputi hal-hal seperti memasukkan, menghapus, memperbarui, dan mengambil baris. Karena ini adalah sebuah interface.</span></div>
<div style="text-align:justify;"><span style="color:#ffffff;">&#8216;</span></div>
<div style="text-align:justify;"><span style="color:#000000;">6. Buat kelas dimana kelas tersebut digunakan untuk melakukan operasi terhadap Database atau implementasi dari Data Access Object (DAO).</span></div>
<pre style="font:normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace;"><span style="font-size:10pt;"><span style="color:#000000;">
 /* "Launk Informatika by Java Programming Languege"
 * "Blog : http://launk.wordpress.com"
 * "Email : launk_nst@yahoo.com"
 */
package paket.java.dao.perguruantinggi;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import paket.java.dao.interfac.Interface;
import paket.java.dao.model.Mahasiswa;
/**
 *
 * @author Ahmad Laung Nasution
 */
public class ImplementDao implements Interface {
private Connection conn;
private PreparedStatement st;

    public ImplementDao(Connection connection) {
        this.conn = connection;
    }
        public void insert(Mahasiswa mahasiswa) throws SQLException {
        st  = conn.prepareStatement("INSERT INTO mahasiswa (nama, alamat, institusi, telepon, email) VALUES (?,?,?,?,?)");
        st.setString(1, mahasiswa.getNama());
        st.setString(2, mahasiswa.getAlamat());
        st.setString(3, mahasiswa.getInstitusi());
        st.setString(4, mahasiswa.getTelepon());
        st.setString(5, mahasiswa.getEmail());
        st.executeUpdate();
        conn.commit();
    }
    public void update(int oldid, Mahasiswa mahasiswa) throws SQLException {
            st = conn.prepareStatement("UPDATE Mahasiswa SET nama=?,alamat=?,institusi=?,telepon=?,email=? WHERE idmahasiswa=?");
            st.setString(1, mahasiswa.getNama());
            st.setString(2, mahasiswa.getAlamat());
            st.setString(3, mahasiswa.getInstitusi());
            st.setString(4, mahasiswa.getTelepon());
            st.setString(5, mahasiswa.getEmail());
            st.setLong(6, oldid);
            st.executeUpdate();
            conn.commit();
        }
        public List getAll() throws SQLException {
        List mahasiswa = new ArrayList();
        st = conn.prepareStatement("SELECT * from Mahasiswa");
        ResultSet rs = st.executeQuery();
        while (rs.next()) {
            Mahasiswa mahasiswa1 = new Mahasiswa();
            mahasiswa1.setIdmahasiswa(rs.getInt(1));
            mahasiswa1.setNama(rs.getString(2));
            mahasiswa1.setAlamat(rs.getString(3));
            mahasiswa1.setInstitusi(rs.getString(4));
            mahasiswa1.setTelepon(rs.getString(5));
            mahasiswa1.setEmail(rs.getString(6));
            mahasiswa.add(mahasiswa1);
        }
        rs.close();
        conn.commit();
        return mahasiswa;
    }
    public void delete(int id_institusi) throws SQLException {
        st = conn.prepareStatement("DELETE FROM Mahasiswa WHERE idmahasiswa =?");
        st.setLong(1, id_institusi);
        st.executeUpdate();
        st.close();
        conn.commit();
    }
}

</span></span></pre>
<div style="text-align:justify;"><span style="color:#000000;">7. Buat sebuah form yang mana dalam form tersebut terdapat button insert, update, delete. dan kemudian tambahkan ActionListener pada pada button insert, update, delete. dan tambahkan kode seperti dibawah ini kedalam ActionListener pada setiap button</span></div>
<div style="text-align:justify;"><span style="color:#ffffff;">&#8216;</span></div>
<div style="text-align:justify;"><span style="color:#000000;"> &#8211; ActionListener pada button Insert :</span></div>
<pre style="font:normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace;"><span style="font-size:10pt;"><span style="color:#000000;">
         try {
            Mahasiswa objmahasiswa = new Mahasiswa();
            objmahasiswa.setNama(ovalTextField2.getText());
            objmahasiswa.setAlamat(textAreaGlass1.getTextArea().getText());
            objmahasiswa.setInstitusi((String)listGlass1.getList().getSelectedValue());
            objmahasiswa.setTelepon(ovalTextField3.getText());
            objmahasiswa.setEmail(ovalTextField4.getText());
            KoneksiDatabase conn = KoneksiDatabase.getInstance();
            ImplementDao dao = new ImplementDao(conn.getConnection());
            dao.insert(objmahasiswa);
            initTable();
            }
            catch (SQLException er)
            {
                System.out.println(er);
                JOptionPane.showMessageDialog(this, "Error: " + er, "Error", JOptionPane.ERROR_MESSAGE);
            }
</span></span></pre>
<div style="text-align:justify;"><span style="color:#000000;"> &#8211; ActionListener pada button Update :</span></div>
<pre style="font:normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace;"><span style="font-size:10pt;"><span style="color:#000000;">
         try {
            Mahasiswa objmahasiswa = new Mahasiswa();
            objmahasiswa.setNama(ovalTextField2.getText());
            objmahasiswa.setAlamat(textAreaGlass1.getTextArea().getText());
            objmahasiswa.setInstitusi((String)listGlass1.getList().getSelectedValue());
            objmahasiswa.setTelepon(ovalTextField3.getText());
            objmahasiswa.setEmail(ovalTextField4.getText());
            KoneksiDatabase conn = KoneksiDatabase.getInstance();
            ImplementDao dao = new ImplementDao(conn.getConnection());
            dao.update(Integer.valueOf(id), objmahasiswa);
            initTable();
            }
            catch (SQLException er)
            {
                JOptionPane.showMessageDialog(this, "Error: " + er, "Error", JOptionPane.ERROR_MESSAGE);
            }
</span></span></pre>
<div style="text-align:justify;"><span style="color:#000000;"> &#8211; ActionListener pada button Delete :</span></div>
<pre style="font:normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace;"><span style="font-size:10pt;"><span style="color:#000000;">
            try {
                KoneksiDatabase conn = KoneksiDatabase.getInstance();
                ImplementDao dao = new ImplementDao(conn.getConnection());
                dao.delete(Integer.valueOf(id));
                initTable();
                }
                catch (SQLException er)
                {
                er.printStackTrace();
                }
</span></span></pre>
<div style="text-align:justify;"><span style="color:#000000;">Silahkan download project diatas pada Box Download disamping atau <a class="wpgallery" href="http://www.box.net/shared/v0mce0nx0p" target="_blank">disini</a>. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </span></div>
</div>
</div>
</div>
<br />Filed under: <a href='http://launk.wordpress.com/category/desktop/'>Desktop</a>, <a href='http://launk.wordpress.com/category/j2se/'>J2SE</a>, <a href='http://launk.wordpress.com/category/other/'>Other</a>, <a href='http://launk.wordpress.com/category/swing/'>Swing</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/launk.wordpress.com/1288/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/launk.wordpress.com/1288/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/launk.wordpress.com/1288/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/launk.wordpress.com/1288/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/launk.wordpress.com/1288/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/launk.wordpress.com/1288/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/launk.wordpress.com/1288/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/launk.wordpress.com/1288/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/launk.wordpress.com/1288/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/launk.wordpress.com/1288/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/launk.wordpress.com/1288/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/launk.wordpress.com/1288/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/launk.wordpress.com/1288/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/launk.wordpress.com/1288/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=launk.wordpress.com&amp;blog=4160145&amp;post=1288&amp;subd=launk&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://launk.wordpress.com/2010/03/06/insert-update-dan-delete-dengan-data-access-object-dao/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		<georss:point>-6.877765 107.611625</georss:point>
		<geo:lat>-6.877765</geo:lat>
		<geo:long>107.611625</geo:long>
		<media:content url="http://0.gravatar.com/avatar/4bacf8e0990574e7ced7532c14422d1e?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">Ahmad Laung Nasution</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/03/dao1.png" medium="image">
			<media:title type="html">dao1</media:title>
		</media:content>
	</item>
		<item>
		<title>Bikin Validasi Sendiri</title>
		<link>http://launk.wordpress.com/2010/02/21/bikin-validasi-sendiri/</link>
		<comments>http://launk.wordpress.com/2010/02/21/bikin-validasi-sendiri/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 13:41:43 +0000</pubDate>
		<dc:creator>Integer Name = New String(10)</dc:creator>
				<category><![CDATA[Desktop]]></category>
		<category><![CDATA[J2SE]]></category>
		<category><![CDATA[Other]]></category>
		<category><![CDATA[Swing]]></category>

		<guid isPermaLink="false">http://launk.wordpress.com/?p=1249</guid>
		<description><![CDATA[Pada dasarnya validasi terhadap suatu aplikasi sangat diperlukan sebagai syarat apakah data yang ingin ambil benar-benar sesuai dengan syarat yang kita inginkan. pada java sebenarnya banyak menyediakan library untuk memvalidasi suatu data seperti yang disediakan oleh JGoodies. pada JGoodies Validation menyediakan validasi suatu data pada aplikasi java Anda. Dan kalau bagi Anda yang tertarik menggunakan &#8230;<p><a href="http://launk.wordpress.com/2010/02/21/bikin-validasi-sendiri/" class="more-link">Read More</a></p><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=launk.wordpress.com&amp;blog=4160145&amp;post=1249&amp;subd=launk&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><span style="color:#000000;"><img class="alignleft size-full wp-image-1250" title="validation" src="http://launk.files.wordpress.com/2010/02/validation.png?w=545" alt=""   /> <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Pada dasarnya validasi terhadap suatu aplikasi sangat diperlukan sebagai syarat apakah data yang ingin ambil benar-benar sesuai dengan syarat yang kita inginkan. pada java sebenarnya banyak menyediakan library untuk memvalidasi suatu data seperti yang disediakan oleh JGoodies. pada JGoodies Validation menyediakan validasi suatu data pada aplikasi java Anda. Dan kalau bagi Anda yang tertarik menggunakan library JGoodies Validation dapat melihat keterangannya <a class="wp-caption" href="www.jgoodies.com" target="_blank">disini</a>. dan beberapa contoh kode yang lagi saya pelajari tentang JGoodies Validation <a class="wp-caption" href="http://www.java2s.com" target="_blank">disini </a> <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . akan tetapi pada dasarnya kita dapat membuat suatu validasi yang sederhana terhadap aplikasi kita sendiri. Berikut contoh sederhana bagaimana kita membuat Validasi suatu data pada aplikasi java dengan menggunakan Netbeans 6.8. Seperti biasa bikin sebuah project pada netbeans dan buat sebuah kelas  RightValidation.java pada project. Dan buat kode sperti yang terlihat dibawah ini :</span></p>
<p><span id="more-1249"></span></p>
<ul>
<li><span style="color:#000000;">Kode RightValidation.java</span></li>
</ul>
<pre style="font-family:Consolas,Monaco,'Courier New',Courier,monospace;font-style:normal;font-variant:normal;font-weight:normal;font-size:12px;line-height:18px;"><span style="color:#000000;"><span style="font-size:10pt;">import java.awt.Graphics;
import java.awt.Point;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.HashSet;
import java.util.Set;
import javax.imageio.ImageIO;
import javax.swing.JComponent;
import javax.swing.JViewport;
import javax.swing.SwingUtilities;

public class RightValidation extends JComponent {
    private Set invalidFields = new HashSet();
    private BufferedImage warningIcon;

    public RightValidation() {
        loadImages();
    }

    public void RemoveWarning(JComponent field) {
        if (invalidFields.contains(field)) {
            invalidFields.remove(field);
            repaintBadge(field);
        }
    }

    public void SetWarning(JComponent field) {
        invalidFields.add(field);
        repaintBadge(field);
    }

    private void repaintBadge(JComponent field) {
        Point p = field.getLocationOnScreen();
        SwingUtilities.convertPointFromScreen(p, this);

        int x = p.x - warningIcon.getWidth() / 2;
        int y = (int) (p.y + field.getHeight() - warningIcon.getHeight() / 1.5);

        repaint(x, y, warningIcon.getWidth(), warningIcon.getHeight());
    }

    private void loadImages() {
        try {
            warningIcon = ImageIO.read(getClass().getResource("images/excl.png"));
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }

    @Override
    protected void paintComponent(Graphics g) {
        for (JComponent invalid : invalidFields) {
            if (invalid.getParent() instanceof JViewport) {
                JViewport viewport = (JViewport) invalid.getParent();
                invalid = (JComponent) viewport.getParent();
            }

            Point p = invalid.getLocationOnScreen();
            SwingUtilities.convertPointFromScreen(p, this);
            int x = p.x - warningIcon.getWidth() / 2;
            int y = (int) (p.y + invalid.getHeight() - warningIcon.getHeight() / 1.5);

            if (g.getClipBounds().intersects(x, y,
                    warningIcon.getWidth(), warningIcon.getHeight())) {
                g.drawImage(warningIcon, x, y, null);
            }
        }
    }
}
</span></span></pre>
<ul>
<li><span style="color:#000000;">Kemudian buat sebuah form seperti yang terlihat pada gambar dibawah berikut :</span></li>
</ul>
<ul>
<li><span style="color:#000000;"><img class="aligncenter size-full wp-image-1255" title="formvalidation" src="http://launk.files.wordpress.com/2010/02/formvalidation.png?w=545" alt=""   />Setelah Anda membuat form seperti yang terlihat diatas, kemudian tambahkan kode untuk memvalidasi field yang terdapat pada form diatas. berikut sample kode untuk validasi form diatas :</span></li>
</ul>
<pre style="font-family:Consolas,Monaco,'Courier New',Courier,monospace;font-style:normal;font-variant:normal;font-weight:normal;font-size:12px;line-height:18px;"><span style="color:#000000;"><span style="font-size:10pt;">public class Form1 extends javax.swing.JFrame {
    private RightValidation rightvalidation;

    public Form1() {
        initComponents();
        addLayeredValidator();
        addValidationForText(jTextField1);
        addValidationForNumber(jTextField2);
        addValidationForEmail(jTextField3);
        addValidationForText(jTextField4);
        addValidationForText(jTextField5);
    }

private void addLayeredValidator() {
        rightvalidation = new RightValidation();
        JLayeredPane layeredPane = getRootPane().getLayeredPane();
        layeredPane.setLayout(new OverlayLayout(layeredPane));
        layeredPane.add(rightvalidation, (Integer) (JLayeredPane.DEFAULT_LAYER + 50));
    }

   private void addValidationForText(JTextComponent field) {
        field.addFocusListener(new FocusListener() {
            public void focusGained(FocusEvent focusEvent) {
            }

            public void focusLost(FocusEvent focusEvent) {
                JTextComponent field = (JTextComponent) focusEvent.getComponent();
                String text = field.getText();

                 if (text.isEmpty()){
                    rightvalidation.SetWarning(field);
                }
                else
                {
                    rightvalidation.RemoveWarning(field);
                }
            }
        });
    }

    private void addValidationForNumber(JTextComponent field) {
        field.addFocusListener(new FocusListener() {
            public void focusGained(FocusEvent focusEvent) {
            }

            public void focusLost(FocusEvent focusEvent) {
                JTextField field = (JTextField) focusEvent.getComponent();
                String text = field.getText();

                if (text.matches("[-()0-9 ]*")) {
                    rightvalidation.RemoveWarning(field);
                } else {
                    rightvalidation.SetWarning(field);
                }
            }
        });
    }

    private void addValidationForEmail(JTextComponent field) {
        field.addFocusListener(new FocusListener() {
            public void focusGained(FocusEvent focusEvent) {
            }

            public void focusLost(FocusEvent focusEvent) {
                JTextComponent field = (JTextComponent) focusEvent.getComponent();
                String text = field.getText();

                if (text.matches("[^@]+@([^.]+\\.)+[^.]+")) {
                    rightvalidation.RemoveWarning(field);
                } else {
                    rightvalidation.SetWarning(field);
                }
            }
        });
    }
</span></span></pre>
<p><span style="color:#000000;">Dan kemudian jalankan project Anda. kode diatas merupakan sebuah sample, kalau ingin mencoba program diatas dan melihat source codenya Anda dapat mendownload pada Box samping.</span></p>
<p><span style="color:#000000;">Ok&#8230;sekian untuk contoh sederhana cara membuat validasi aplikasi pada java&#8230; <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </span></p>
<br />Filed under: <a href='http://launk.wordpress.com/category/desktop/'>Desktop</a>, <a href='http://launk.wordpress.com/category/j2se/'>J2SE</a>, <a href='http://launk.wordpress.com/category/other/'>Other</a>, <a href='http://launk.wordpress.com/category/swing/'>Swing</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/launk.wordpress.com/1249/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/launk.wordpress.com/1249/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/launk.wordpress.com/1249/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/launk.wordpress.com/1249/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/launk.wordpress.com/1249/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/launk.wordpress.com/1249/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/launk.wordpress.com/1249/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/launk.wordpress.com/1249/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/launk.wordpress.com/1249/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/launk.wordpress.com/1249/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/launk.wordpress.com/1249/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/launk.wordpress.com/1249/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/launk.wordpress.com/1249/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/launk.wordpress.com/1249/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=launk.wordpress.com&amp;blog=4160145&amp;post=1249&amp;subd=launk&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://launk.wordpress.com/2010/02/21/bikin-validasi-sendiri/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<georss:point>-6.877765 107.611625</georss:point>
		<geo:lat>-6.877765</geo:lat>
		<geo:long>107.611625</geo:long>
		<media:content url="http://0.gravatar.com/avatar/4bacf8e0990574e7ced7532c14422d1e?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">Ahmad Laung Nasution</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/02/validation.png" medium="image">
			<media:title type="html">validation</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/02/formvalidation.png" medium="image">
			<media:title type="html">formvalidation</media:title>
		</media:content>
	</item>
		<item>
		<title>Menggabungkan Library di Netbeans 6.8</title>
		<link>http://launk.wordpress.com/2010/02/14/menggabungkan-library-di-netbeans-6-8/</link>
		<comments>http://launk.wordpress.com/2010/02/14/menggabungkan-library-di-netbeans-6-8/#comments</comments>
		<pubDate>Sun, 14 Feb 2010 06:26:17 +0000</pubDate>
		<dc:creator>Integer Name = New String(10)</dc:creator>
				<category><![CDATA[Desktop]]></category>
		<category><![CDATA[J2SE]]></category>
		<category><![CDATA[Other]]></category>
		<category><![CDATA[Swing]]></category>

		<guid isPermaLink="false">http://launk.wordpress.com/?p=1228</guid>
		<description><![CDATA[Seperti yang kita ketahui dalam mengembangkan program dengan menggunakan bahasa pemograman Java, program tersebut tidak lepas dari ketergantungan  terhadap Library. Library tersebut merupakan kumpulan kelas-kelas yang dapat digunakan kembali oleh aplikasi Java. pada artikel ini saya akan membahas cara menggabungkan library dengan aplikasi yang di kembangkan dengan Netbeans 6.8. Pada saat kita selesai mengerjakan program &#8230;<p><a href="http://launk.wordpress.com/2010/02/14/menggabungkan-library-di-netbeans-6-8/" class="more-link">Read More</a></p><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=launk.wordpress.com&amp;blog=4160145&amp;post=1228&amp;subd=launk&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><span style="color:#000000;"><img class="alignleft size-full wp-image-1232" title="Library" src="http://launk.files.wordpress.com/2010/02/lib2.png?w=545" alt=""   /> <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Seperti yang kita ketahui dalam mengembangkan program dengan menggunakan bahasa pemograman <strong>Java</strong>, program tersebut tidak lepas dari ketergantungan  terhadap Library. <strong>Library </strong>tersebut merupakan kumpulan kelas-kelas yang dapat digunakan kembali oleh aplikasi <strong>Java</strong>. pada artikel ini saya akan membahas cara menggabungkan library dengan aplikasi yang di kembangkan dengan <strong>Netbeans 6.8</strong>. Pada saat kita selesai mengerjakan program biasanya pada <strong>Netbeans 6.8</strong> menyediakan tool yang dapat digunakan oleh devoloper untuk membangun aplikasi dengan bentuk file <strong>Jar</strong>. kita bisa lihat pada <strong>Run </strong>- disitu <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  disediakan tool untuk membuat aplikasi yang kita buat menjadi file <strong>Jar</strong>. Dan ketika kita sudah membuat file Jar dengan menggunakan <strong>Netbeans 6.8</strong> maka aplikasi tersebut akan membuat file Jar tersebut secara otomatis di dalam Folder <strong>Dist</strong>. dan apabila kita melihat File yang terdapat pada folder <strong>Dist </strong>terdapat beberapa file dan folder seperti yang terlihat pada gambar dibawah berikut.</span></p>
<p><span style="color:#000000;"><span id="more-1228"></span></span></p>
<p style="text-align:center;"><span style="color:#000000;"><img class="aligncenter size-full wp-image-1235" title="library" src="http://launk.files.wordpress.com/2010/02/library.png?w=545" alt=""   /></span></p>
<p style="text-align:left;"><span style="color:#000000;">Pada gambar diatas sebenarnya kita dapat menggabungkan aplikasi kita dengan <strong>Folder Library</strong> (lib). jadi kita dapat menjalankan aplikasi tanpa harus bergantung pada folder lib atau file yang terdapat pada folder lib. Berikut cara sederhana menggabungkan Library jadi satu dengan aplikasi:</span></p>
<p style="text-align:left;"><span style="color:#000000;">Kita buat sebuah contoh project pada <strong>Netbeans 6.8</strong>, dan apabila Anda sudah membuat sebuah contoh project maka jangan lupa untuk memasukan library pada Library project netbean. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Oke&#8230;pada contoh ini kita akan mengimport <strong>library </strong>dari sebuah <strong>Folder </strong>dengan cara <strong>Klik kanan</strong> pada Folder <strong>Library </strong>di Project Anda dan kemudian pilih <strong>Add Jar/Folder&#8230;</strong>, <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  dan masukan library yang ingin Anda masukan kedalam project.</span></p>
<p style="text-align:left;"><span style="color:#000000;">Kemudian buatlah aplikasi yang Anda inginkan dimana aplikasi Anda tersebut mengimport kelas-kelas yang terdapat pada <strong>Library </strong>yang baru Anda tambahkan atau aplikasi Anda sudah bergantung pada <strong>Library </strong>yang Anda baru tambahkan. kemudian edit file <strong>build.xml</strong> pada project Anda dan tambahkan kode seperti yang terlihat pada gambar dibawah ini:</span></p>
<p style="text-align:left;"><span style="color:#000000;"><img class="aligncenter size-full wp-image-1239" title="build" src="http://launk.files.wordpress.com/2010/02/build.png?w=545" alt=""   /><strong>Code :</strong></span></p>
<pre style="font-family:Consolas,Monaco,'Courier New',Courier,monospace;font-style:normal;font-variant:normal;font-weight:normal;font-size:12px;line-height:18px;"><span style="color:#000000;"><span style="font-size:10pt;">&lt;target name="-post-jar"&gt;
        &lt;jar update="true" destfile="${dist.jar}"&gt;
           &lt;zipfileset src="C:\Documents and Settings\POLIS\My Documents\NetBeansProjects\Belajar_Java\lib\looks-2.2.1.jar"/&gt;
           &lt;zipfileset src="C:\Documents and Settings\POLIS\My Documents\NetBeansProjects\Belajar_Java\lib\a03-laf4.0.3.jar"/&gt;
         &lt;/jar&gt;
    &lt;/target&gt;
&lt;/project&gt;
</span></span></pre>
<p><span style="color:#000000;">Kemudian kompile dan build project Anda sehingga program akan men-generate project Anda pada file Dist dan Anda dapat menjalankan Aplikasi java Anda tanpa harus bergantung pada Folder lib karena program sudah menggabungkan Libary yang Anda import ke dalam aplikasi Anda menjadi satu paket sehingga Anda dapat menghapus file Lib tersebut seperti contoh aplikasi yang terdapat dibawah berikut:</span></p>
<p><span style="color:#000000;"><img class="aligncenter size-full wp-image-1243" title="hs" src="http://launk.files.wordpress.com/2010/02/hs.png?w=545" alt=""   />Ok..Selamat belajar Java <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </span></p>
<br />Filed under: <a href='http://launk.wordpress.com/category/desktop/'>Desktop</a>, <a href='http://launk.wordpress.com/category/j2se/'>J2SE</a>, <a href='http://launk.wordpress.com/category/other/'>Other</a>, <a href='http://launk.wordpress.com/category/swing/'>Swing</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/launk.wordpress.com/1228/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/launk.wordpress.com/1228/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/launk.wordpress.com/1228/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/launk.wordpress.com/1228/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/launk.wordpress.com/1228/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/launk.wordpress.com/1228/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/launk.wordpress.com/1228/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/launk.wordpress.com/1228/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/launk.wordpress.com/1228/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/launk.wordpress.com/1228/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/launk.wordpress.com/1228/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/launk.wordpress.com/1228/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/launk.wordpress.com/1228/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/launk.wordpress.com/1228/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=launk.wordpress.com&amp;blog=4160145&amp;post=1228&amp;subd=launk&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://launk.wordpress.com/2010/02/14/menggabungkan-library-di-netbeans-6-8/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<georss:point>-6.877765 107.611625</georss:point>
		<geo:lat>-6.877765</geo:lat>
		<geo:long>107.611625</geo:long>
		<media:content url="http://0.gravatar.com/avatar/4bacf8e0990574e7ced7532c14422d1e?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">Ahmad Laung Nasution</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/02/lib2.png" medium="image">
			<media:title type="html">Library</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/02/library.png" medium="image">
			<media:title type="html">library</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/02/build.png" medium="image">
			<media:title type="html">build</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/02/hs.png" medium="image">
			<media:title type="html">hs</media:title>
		</media:content>
	</item>
		<item>
		<title>BettaGlasses 1.0</title>
		<link>http://launk.wordpress.com/2010/02/08/library-bettaglasses-1-0/</link>
		<comments>http://launk.wordpress.com/2010/02/08/library-bettaglasses-1-0/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 08:21:16 +0000</pubDate>
		<dc:creator>Integer Name = New String(10)</dc:creator>
				<category><![CDATA[Desktop]]></category>
		<category><![CDATA[J2SE]]></category>
		<category><![CDATA[Other]]></category>
		<category><![CDATA[Swing]]></category>

		<guid isPermaLink="false">http://launk.wordpress.com/?p=1221</guid>
		<description><![CDATA[BettaGlasses 1.0 merupakan sebuah library yang dapat digunakan untuk mengembangkan aplikasi berdasarkan Desktop. pada Library BettaGlasses 1.0 menyediakan beberapa komponen yang dapat digunakan untuk mengembangkan aplikasi Java. BettaGlasess 1.0 menyediakan componen dari swing seperti button, textfield, table dll. Library BettaGlasses dapat digunakan untuk mengganti komponen-komponen swing yang sudah disediakan oleh Java. Anda dapat menggunakan library &#8230;<p><a href="http://launk.wordpress.com/2010/02/08/library-bettaglasses-1-0/" class="more-link">Read More</a></p><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=launk.wordpress.com&amp;blog=4160145&amp;post=1221&amp;subd=launk&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-1222" title="BettaGlasses" src="http://launk.files.wordpress.com/2010/02/betta3.jpg?w=545" alt=""   /></p>
<p><strong><span style="color:#000000;">BettaGlasses 1.0</span></strong><span style="color:#000000;"> <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  merupakan sebuah library yang dapat digunakan untuk mengembangkan aplikasi berdasarkan </span><strong><span style="color:#000000;">Desktop</span></strong><span style="color:#000000;">. pada Library BettaGlasses 1.0 menyediakan beberapa komponen yang dapat digunakan untuk mengembangkan aplikasi Java. BettaGlasess 1.0 menyediakan componen dari swing seperti button, textfield, table dll. Library BettaGlasses dapat digunakan untuk mengganti komponen-komponen swing yang sudah disediakan oleh Java. Anda dapat menggunakan library ini untuk memperindah tampilan aplikasi Anda. Library </span><strong><span style="color:#000000;">BettaGlasses 1.0</span></strong><span style="color:#000000;"> di kembangkan dengan menggunakan java 1.6 update 16. nama BettaGlasses diambil dari nama sebuah ikan hias yang hidup di Asia Tenggara terutama di Indonesia. Bettafish merupakan nama yang dikenal oleh dunia. pada dasarnya bettafish merupakan inspirasi <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  dari pembuatan Library BettaGlasses 1.0 yang ditujukan untuk aplikasi yang dikembangkan menggunakan Java. Komponen-komponen yang terdapat pada BettaGlasess bersifat transparan. Jika ingin mencoba komponen swing pada </span><strong><span style="color:#000000;">BettaGlasses 1.0</span></strong><span style="color:#000000;">, Anda dapat menggunakan dengan Netbeans yaitu dengan menambahkan komponen pada BettaGlasess ke dalam netbeans yaitu dengan </span><strong><span style="color:#000000;">Klik kanan</span></strong><span style="color:#000000;"> pada </span><strong><span style="color:#000000;">Palette </span></strong><span style="color:#000000;">yang terdapat pada Netbeans – kemudian Pilih </span><strong><span style="color:#000000;">PaletteManager</span></strong><span style="color:#000000;"> – Klik </span><strong><span style="color:#000000;">New Category</span></strong><span style="color:#000000;"> – dan buat nama </span><strong><span style="color:#000000;">Kategory</span></strong><span style="color:#000000;"> folder yang Anda inginkan – kemudian pilih kembali Pilihan </span><strong><span style="color:#000000;">Add from Jar</span></strong><span style="color:#000000;"> – Cari File BettaGlasess-1.0.jar yang Anda Download – dan kemudian pilih </span><strong><span style="color:#000000;">next </span></strong><span style="color:#000000;">- Pilih semua komponen yang terdapat pada Pilihan tersebut dengan menekan </span><strong><span style="color:#000000;">CTRL+A</span></strong><span style="color:#000000;"> – dan Klik </span><strong><span style="color:#000000;">Next </span></strong><span style="color:#000000;">- Pilih </span><strong><span style="color:#000000;">Kategory </span></strong><span style="color:#000000;">yang Anda buat tadi dan Klik </span><strong><span style="color:#000000;">Finish</span></strong><span style="color:#000000;">. Anda sekarang sudah dapat menggunakan </span><strong><span style="color:#000000;">BettaGlasses 1.0 </span></strong><span style="color:#000000;">komponen dengan drag komponen tersebut dari </span><strong><span style="color:#000000;">Palette </span></strong><span style="color:#000000;">yang terdapat pada netbeans. berikut contoh penggunaan beberapa komponen yang terdapat pada BettaGlasses 1.0. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </span></p>
<p><span id="more-1221"></span><span style="color:#000000;">Screenshot :</span></p>
<p><span style="color:#000000;">BettaGlasess Tabel: -&gt; Pada BettaGlasess untuk mengeset kolom dan object didalamnya dapat memanggil method getTable(); dimana pada method tersebut akan memanggil kelas JTable sehingga table dapat mengakses semua komponen/elemen yang terdapat pada kelas JTable. sepeti contoh yang terdapat dibawah:</span></p>
<pre style="font:normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace;"><span style="font-size:10pt;"><span style="color:#000000;">
TableGlasess.getTable().setModel(new javax.swing.table.DefaultTableModel(
                new Object[][]{
                    {"Universitas Komputer Indonesia", "IF", "Ahmad Laung ", "launk_nst@yahoo.com"},
                    {"Universitas Komputer Indonesia", "IF", "Ahmad Laung ", "launk_nst@yahoo.com"},
                    {"Universitas Komputer Indonesia", "IF", "Ahmad Laung ", "launk_nst@yahoo.com"},
                    {"Universitas Komputer Indonesia", "IF", "Ahmad Laung ", "launk_nst@yahoo.com"}
                },
                new String[]{
                    "Institusi", "Jurusan", "Nama", "E-mail"
                }));
</span></span></pre>
<p style="text-align:center;"><img class="size-full wp-image-1261 aligncenter" title="table" src="http://launk.files.wordpress.com/2010/02/table.png?w=545" alt=""   /></p>
<p style="text-align:left;"><span style="color:#000000;">BettaGlasess MenuButton: -&gt;</span></p>
<p style="text-align:center;"><img class="size-full wp-image-1262 aligncenter" title="menubutton" src="http://launk.files.wordpress.com/2010/02/menubutton.png?w=545" alt=""   /></p>
<p style="text-align:left;"><span style="color:#000000;">BettaGlasess List: -&gt;</span></p>
<pre style="font:normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace;"><span style="font-size:10pt;"><span style="color:#000000;">
     String list = (String)ListGlasess.getList().getSelectedValue();
     ListGlasess.getList().setModel(new javax.swing.AbstractListModel() {
        String[] strings = { "Set List 1", "Set List 2", "Set List 3", "Set List 4","Set List 5" };
            @Override
        public int getSize() { return strings.length; }
                @Override
        public Object getElementAt(int i) { return strings[i]; }
    });
</span></span></pre>
<p style="text-align:left;"><img class="aligncenter size-full wp-image-1265" title="list" src="http://launk.files.wordpress.com/2010/02/list.png?w=545" alt=""   /><span style="color:#000000;">BettaGlasess TextArea: -&gt;</span></p>
<pre style="font:normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace;"><span style="font-size:10pt;"><span style="color:#000000;">
TextAreaGlasess.getTextArea().setText("Belajar Java");
String text = TextAreaGlasess.getTextArea().getText();
</span></span></pre>
<p style="text-align:left;"><img class="aligncenter size-full wp-image-1266" title="textarea" src="http://launk.files.wordpress.com/2010/02/textarea.png?w=545" alt=""   /><span style="color:#000000;">BettaGlasess TextPane: -&gt;</span></p>
<pre style="font:normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace;"><span style="font-size:10pt;"><span style="color:#000000;">
TextPaneGlasess.getTextPane().setText("Belajar Java");
String text = TextPaneGlassess.getTextPane().getText();
</span></span></pre>
<p style="text-align:left;"><img class="aligncenter size-full wp-image-1267" title="textpane" src="http://launk.files.wordpress.com/2010/02/textpane.png?w=545" alt=""   /></p>
<p style="text-align:left;"><span style="color:#000000;">BettaGlasess Aplication sample: &#8211;&gt;</span></p>
<p style="text-align:center;"><a href="http://launk.files.wordpress.com/2010/02/betta21.png?w=300"><img class="size-medium wp-image-1272 aligncenter" title="betta2" src="http://launk.files.wordpress.com/2010/02/betta21.png?w=300&#038;h=240" alt="" width="300" height="240" /></a></p>
<p style="text-align:center;"><span style="color:#000000;">______________________________________________</span></p>
<p style="text-align:center;"><span style="color:#000000;"><span style="color:#000000;"><span style="color:#000000;"><span style="color:#000000;"><span style="color:#000000;"><br />
</span> </span><span style="color:#000000;"> </span></span><span style="color:#000000;"> </span></span><span style="color:#000000;"> </span></span></p>
<p style="text-align:center;"><a href="http://launk.files.wordpress.com/2010/02/betta1.png"><img class="aligncenter size-medium wp-image-1273" title="betta" src="http://launk.files.wordpress.com/2010/02/betta1.png?w=300&#038;h=245" alt="" width="300" height="245" /></a></p>
<p style="text-align:center;"><span style="color:#000000;">_____________________________________________</span></p>
<p style="text-align:center;"><a href="http://launk.files.wordpress.com/2010/02/betta3.png"><img class="aligncenter size-medium wp-image-1275" title="betta3" src="http://launk.files.wordpress.com/2010/02/betta3.png?w=300&#038;h=259" alt="" width="300" height="259" /></a></p>
<p style="text-align:left;"><span style="color:#000000;">untuk lebih lanjut berikut untuk contoh aplikasi yang menggunakan BettaGlassess dan BetttaGlasess 1.0 dapat di download pada box disamping.</span></p>
<p style="text-align:center;"><span style="color:#000000;"><br />
</span></p>
<p style="text-align:left;">
<br />Filed under: <a href='http://launk.wordpress.com/category/desktop/'>Desktop</a>, <a href='http://launk.wordpress.com/category/j2se/'>J2SE</a>, <a href='http://launk.wordpress.com/category/other/'>Other</a>, <a href='http://launk.wordpress.com/category/swing/'>Swing</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/launk.wordpress.com/1221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/launk.wordpress.com/1221/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/launk.wordpress.com/1221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/launk.wordpress.com/1221/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/launk.wordpress.com/1221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/launk.wordpress.com/1221/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/launk.wordpress.com/1221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/launk.wordpress.com/1221/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/launk.wordpress.com/1221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/launk.wordpress.com/1221/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/launk.wordpress.com/1221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/launk.wordpress.com/1221/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/launk.wordpress.com/1221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/launk.wordpress.com/1221/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=launk.wordpress.com&amp;blog=4160145&amp;post=1221&amp;subd=launk&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://launk.wordpress.com/2010/02/08/library-bettaglasses-1-0/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		<georss:point>-6.877765 107.611625</georss:point>
		<geo:lat>-6.877765</geo:lat>
		<geo:long>107.611625</geo:long>
		<media:content url="http://0.gravatar.com/avatar/4bacf8e0990574e7ced7532c14422d1e?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">Ahmad Laung Nasution</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/02/betta3.jpg" medium="image">
			<media:title type="html">BettaGlasses</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/02/table.png" medium="image">
			<media:title type="html">table</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/02/menubutton.png" medium="image">
			<media:title type="html">menubutton</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/02/list.png" medium="image">
			<media:title type="html">list</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/02/textarea.png" medium="image">
			<media:title type="html">textarea</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/02/textpane.png" medium="image">
			<media:title type="html">textpane</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/02/betta21.png?w=300" medium="image">
			<media:title type="html">betta2</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/02/betta1.png?w=300" medium="image">
			<media:title type="html">betta</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/02/betta3.png?w=300" medium="image">
			<media:title type="html">betta3</media:title>
		</media:content>
	</item>
		<item>
		<title>Belajar JPA (Part 1)</title>
		<link>http://launk.wordpress.com/2010/02/02/belajar-jpa-part-1/</link>
		<comments>http://launk.wordpress.com/2010/02/02/belajar-jpa-part-1/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 15:31:40 +0000</pubDate>
		<dc:creator>Integer Name = New String(10)</dc:creator>
				<category><![CDATA[Desktop]]></category>
		<category><![CDATA[J2SE]]></category>
		<category><![CDATA[JPA Framework]]></category>
		<category><![CDATA[Swing]]></category>

		<guid isPermaLink="false">http://launk.wordpress.com/?p=1184</guid>
		<description><![CDATA[JPA (Java Persistence API) hanya sebuah spesifikasi yang dikenalkan oleh Sun Microsystem (sekarang sudah punya Oracle), yang dirilis di bawah spesifikasi J2EE 5. JPA (Java Persistence API) membutuhkan implementasi ORM untuk bekerja pada Objek-Objek Java. Framework ORM yang dapat digunakan dengan JPA yaitu seperti Hibernate, Toplink, Open JPA, EclipseLink, dll. Java Persistence API atau dikenal &#8230;<p><a href="http://launk.wordpress.com/2010/02/02/belajar-jpa-part-1/" class="more-link">Read More</a></p><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=launk.wordpress.com&amp;blog=4160145&amp;post=1184&amp;subd=launk&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><span style="color:#000000;"><strong><img class="alignleft size-full wp-image-1204" title="java_logo" src="http://launk.files.wordpress.com/2010/02/java_logo.jpg?w=545" alt=""   />JPA (Java Persistence API)</strong> <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  hanya sebuah spesifikasi yang dikenalkan oleh <strong>Sun Microsystem</strong> (sekarang sudah punya <strong>Oracle</strong>), yang dirilis di bawah spesifikasi J2EE 5. <strong>JPA (Java Persistence API)</strong> membutuhkan implementasi <strong>ORM</strong> untuk bekerja pada Objek-Objek Java. Framework ORM yang dapat digunakan dengan JPA yaitu seperti <strong>Hibernate</strong>, <strong>Toplink</strong>, <strong>Open JPA,</strong> <strong>EclipseLink</strong>, dll.</span></p>
<p><span style="color:#000000;"><strong> <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Java Persistence API</strong> atau dikenal dengan <strong>JPA</strong>, <strong>Framework </strong>Java yang berdasarkan pada <strong>POJO</strong>,  dimana Objects pada Java dapat digunakan untuk relasional database. <strong>JPA </strong>menggunakan metadata untuk memetakan persistence object dengan tabel  database. <strong>JPA </strong>mendukung bahasa query SQL untuk  mempermudah proses query database. Bahasa <strong>JPA </strong>dapat digunakan  untuk mengeksekusi baik statis querie dan dinamis querie.</span></p>
<pre style="font-family:Consolas,Monaco,'Courier New',Courier,monospace;font-style:normal;font-variant:normal;font-weight:normal;font-size:12px;line-height:18px;"><span style="color:#000000;"><span style="font-size:10pt;">Pertanyaan mendasar bagi banyak Developer Java adalah "Mengapa JPA? Mengapa saya perlu tahu
bagaimana menggunakan API ini ketika object-relational mapping tool seperti Hibernate dan
Toplink sudah tersedia?" Jawabannya adalah bahwa JPA bukan teknologi baru, melainkan
kumpulan ide-ide terbaik dari teknologi ada seperti Hibernate, TopLink, dan JDO. Hasilnya
adalah spesifikasi standar yang membantu Anda untuk membangun sebuah persistence layer yang
independen terhadap provider tertentu.
</span></span></pre>
<p><span style="color:#000000;"><span id="more-1184"></span>Berikut adalah daftar Framework ORM yang dapat digunakan dengan spesifikasi JPA (Java Persistence API):</span></p>
<ul>
<li><span style="color:#000000;">Hibernate</span></li>
<li><span style="color:#000000;">Toplink yang dikembangkan oleh Oracle<br />
</span></li>
<li><span style="color:#000000;">EclipseLink yang dikembangkan oleh Eclipse<br />
</span></li>
<li><span style="color:#000000;">iBatis<br />
</span></li>
<li><span style="color:#000000;">Open JPA</span></li>
</ul>
<p><span style="color:#000000;">Beberapa alasan mengapa kita memakai JPA (Java Persistence API):</span></p>
<ul>
<li><span style="color:#000000;">Bermanfaat serta banyak spesifikasi fungsional database yang dapat kita gunakan.</span></li>
<li><span style="color:#000000;">Merupakan standar dan bagian dari EJB3 dan J2EE</span></li>
<li><span style="color:#000000;">Produk Open Source dengan banyak dukungan untuk level enterprise.</span></li>
<li><span style="color:#000000;">Aplikasi Portabilitas pada server (menghindari lock-in pada vendor).</span></li>
<li><span style="color:#000000;">Mendukung baik J2EE dan J2SE.</span></li>
<li><span style="color:#000000;">Dukungan konfigurasi berbasis xml.</span></li>
<li><span style="color:#000000;">Java Persistence API atau JPA mendukung  pewarisan, polymorphism, dan polymorphic querie</span></li>
<li><span style="color:#000000;">Banyak IDE juga yang tersedia untuk  memudahkan pengembangan aplikasi JPA</span></li>
<li><span style="color:#000000;">default Annotation dapat  digunakan pada kelas model, yang akan menghemat banyak waktu bagi devoloper.</span></li>
<li><span style="color:#000000;">Lebih mudah,  dan menyediakan standar pemetaan objek-relasional</span></li>
<li><span style="color:#000000;">Aplikasi JPA dapat dijalankan di luar Container. Jadi, developer dapat menggunakan JPA dalam aplikasi desktop juga.</span></li>
</ul>
<p><span style="color:#000000;">Untuk Anda yang masih ragu-ragu <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  menggunakan Framework yang mana harus digunakan Anda dapat melihat beberapa perbandingan implementasi JPA menggunakan Hibernate,  Toplink Essentials, OpenJPA, Eclipselink sebagai referensi Anda <a class="wpGallery" href="http://terrazadearavaca.blogspot.com/2008/12/jpa-implementations-comparison.html" target="_blank">disini</a>.</span></p>
<p><span style="color:#000000;">Ok..kita langsung pada contoh sederhana penggunaan JPA (Java Persistence API) dengan menggunakan Toplink:<br />
1. Buat Database Belajar dan Tabel Siswa (atau sesuai dengan yang Anda inginkan) pada Database MySQL</span></p>
<pre style="font-family:Consolas,Monaco,'Courier New',Courier,monospace;font-style:normal;font-variant:normal;font-weight:normal;font-size:12px;line-height:18px;"><span style="color:#000000;"><span style="font-size:10pt;">CREATE TABLE siswa
(id_siswa BIGINT NOT NULL AUTO_INCREMENT,
nama_siswa VARCHAR(25),
alamat_siswa VARCHAR(25),
PRIMARY KEY (id_siswa));
</span></span></pre>
<p><span style="color:#000000;">2. Kemudian buat sebuah entity kelas dengan nama Siswa.java <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
</span></p>
<pre style="font-family:Consolas,Monaco,'Courier New',Courier,monospace;font-style:normal;font-variant:normal;font-weight:normal;font-size:12px;line-height:18px;"><span style="color:#000000;"><span style="font-size:10pt;">/* "Launk Informatika by Java Programming Languege"
 * "Blog : http://launk.wordpress.com"
 * "Email : launk_nst@yahoo.com"
 */
package paket.belajar.jpa;
import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
/**
 *
 * @author Ahmad Laung Nasution
 */
@Entity
@Table(name = "siswa")
public class Siswa implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "id_siswa")
    private Long idSiswa;
    @Column(name = "nama_siswa")
    private String namaSiswa;
    @Column(name = "alamat_siswa")
    private String alamatSiswa;

    public Siswa() {
    }

    public Siswa(Long idSiswa) {
        this.idSiswa = idSiswa;
    }

    public Long getIdSiswa() {
        return idSiswa;
    }

    public void setIdSiswa(Long idSiswa) {
        this.idSiswa = idSiswa;
    }

    public String getNamaSiswa() {
        return namaSiswa;
    }

    public void setNamaSiswa(String namaSiswa) {
        this.namaSiswa = namaSiswa;
    }

    public String getAlamatSiswa() {
        return alamatSiswa;
    }

    public void setAlamatSiswa(String alamatSiswa) {
        this.alamatSiswa = alamatSiswa;
    }
        @Override
    public String toString() {
        return  idSiswa.toString();
    }
}
</span></span></pre>
<p><span style="color:#000000;">3. Buat file persistence dengan nama belajar_jpa2PU (atau sesuai dengan yang Anda inginkan)</span></p>
<pre class="brush: xml;font:normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace;"><span style="color:#000000;"><span style="font-size:10pt;">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"&gt;
  &lt;persistence-unit name="belajar_jpa2PU" transaction-type="RESOURCE_LOCAL"&gt;
    &lt;provider&gt;oracle.toplink.essentials.PersistenceProvider&lt;/provider&gt;
    &lt;class&gt;paket.belajar.apa.Siswa&lt;/class&gt;
    &lt;properties&gt;
      &lt;property name="toplink.jdbc.user" value="root"/&gt;
      &lt;property name="toplink.jdbc.password" value="root"/&gt;
      &lt;property name="toplink.jdbc.url" value="jdbc:mysql://localhost:3306/belajar"/&gt;
      &lt;property name="toplink.jdbc.driver" value="com.mysql.jdbc.Driver"/&gt;
    &lt;/properties&gt;
  &lt;/persistence-unit&gt;
&lt;/persistence&gt;
</span></span></pre>
<p><span style="color:#000000;">4. Buat Sebuah kelas EntityManager dengan nama SiswaEntityManager.java (atau sesuai dengan yang Anda inginkan)</span></p>
<pre style="font-family:Consolas,Monaco,'Courier New',Courier,monospace;font-style:normal;font-variant:normal;font-weight:normal;font-size:12px;line-height:18px;"><span style="color:#000000;"><span style="font-size:10pt;">/* "Launk Informatika by Java Programming Languege"
 * "Blog : http://launk.wordpress.com"
 * "Email : launk_nst@yahoo.com"
 */
package paket.belajar.jpa;

import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
/**
 *
 * @author Ahmad Laung Nasution
 */
public class SiswaEntityManager {
    private EntityManager em;

    public SiswaEntityManager(EntityManagerFactory emf) {
        em = emf.createEntityManager();
    }

    public SiswaEntityManager() {
    }

    public void createUser(Siswa siswa) {
            em.getTransaction().begin();
            em.persist(siswa);
            em.getTransaction().commit();
        }
    public Siswa searchById(long id) {
        return em.find(Siswa.class, id);
    }
    public void updateUser(Siswa siswa) {
        em.getTransaction().begin();
        em.merge(siswa);
        em.getTransaction().commit();
    }
    public void deleteUser(Siswa siswa) {
        em.getTransaction().begin();
        em.remove(siswa);
        em.getTransaction().commit();
    }
    public List&lt;Siswa&gt;findAllSiswa(){
    List&lt;Siswa&gt;cbls = em.createQuery("select c from Siswa c").getResultList();
    return cbls;
    }
}
</span></span></pre>
<p><span style="color:#000000;">5. Buat Sebuah Main untuk menjalankan aplikasi menggunakan JPA dengan nama Main.java (atau sesuai dengan yang Anda inginkan)</span></p>
<pre style="font-family:Consolas,Monaco,'Courier New',Courier,monospace;font-style:normal;font-variant:normal;font-weight:normal;font-size:12px;line-height:18px;"><span style="color:#000000;"><span style="font-size:10pt;">/* "Launk Informatika by Java Programming Languege"
 * "Blog : http://launk.wordpress.com"
 * "Email : launk_nst@yahoo.com"
 */
package paket.belajar.jpa;

import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
/**
 *
 * @author Ahmad Laung Nasution
 */
public class Main {
    private EntityManagerFactory emf;
    private EntityManager em;
    private String PERSISTENCE_UNIT_NAME = "belajar_jpa2PU";
    private SiswaEntityManager um;

    public Main() {
        initEntityManager();
    }

    public static void main(String[] args) {
    try
    {
        Main main = new Main();
        main.createUser(); // memasukan data ke dalam database
        main.Finduser(); // mencari data dalam database
        main.UpdateUser(); // update data pada database
        main.showAll(); // mengambil semua data yang terdapat pada database
        main.Deleteuser(); // menghapus data pada database

        main.closeEntityManager();
      }
      catch(Exception ex)      {
          System.out.println("Error"+ex);
          ex.printStackTrace();
      }
    }
    private void initEntityManager()  {
        emf = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME);
         em = emf.createEntityManager();
         um = new SiswaEntityManager(emf);
         em.getTransaction().begin();
  }
    private void closeEntityManager() throws Exception {
      em.close();
      emf.close();
  }
      private void createUser()
      {
            Siswa siswa = new Siswa();
            siswa.setNamaSiswa("Ahmad Laung Nasution");
            siswa.setAlamatSiswa("Jl. Imam Bonjol no.34/2c");
            um.createUser(siswa);
            System.out.println("Data Siswa Berhasil di simpan....");
      }
  private void Finduser()
  {
        Siswa siswa = um.searchById(1);
        System.out.println(siswa);
        System.out.println("Nama Siswa : " + siswa.getNamaSiswa());
        System.out.println("Alamat Siswa : " + siswa.getAlamatSiswa());
        System.out.println("Berhasil melakukan pencarian....");
  }
  private void UpdateUser()
  {
        Siswa siswa = um.searchById(1);
        siswa.setNamaSiswa("Muhammad");
        um.updateUser(siswa);
        System.out.println("Data Berhasil di Update...");
  }
  private void Deleteuser()
  {
        Siswa siswa = um.searchById(1);
        um.deleteUser(siswa);
        System.out.println("Data Berhasil dihapus");
  }
  private void showAll()
  {
     SiswaEntityManager userman = new SiswaEntityManager(emf);
     List&lt;Siswa&gt;addresses = userman.findAllSiswa();
     for (Siswa siswa : addresses) {
         System.out.println(siswa.getIdSiswa());
         System.out.println(siswa.getNamaSiswa());
         System.out.println(siswa.getAlamatSiswa());
         System.out.println("Tampilin semua Data..");
    }
  }
}
</span></span></pre>
<p><span style="color:#000000;">Kemudian kompile seluruh file diatas dan jalankan aplikasinya&#8230;.! <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Silahkan koreksi kode file diatas jika terdapat kesalahan&#8230; <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Catatan :<br />
Silahkan download file di atas pada Download Box disamping</span></p>
<br />Filed under: <a href='http://launk.wordpress.com/category/desktop/'>Desktop</a>, <a href='http://launk.wordpress.com/category/j2se/'>J2SE</a>, <a href='http://launk.wordpress.com/category/jpa-framework/'>JPA Framework</a>, <a href='http://launk.wordpress.com/category/swing/'>Swing</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/launk.wordpress.com/1184/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/launk.wordpress.com/1184/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/launk.wordpress.com/1184/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/launk.wordpress.com/1184/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/launk.wordpress.com/1184/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/launk.wordpress.com/1184/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/launk.wordpress.com/1184/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/launk.wordpress.com/1184/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/launk.wordpress.com/1184/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/launk.wordpress.com/1184/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/launk.wordpress.com/1184/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/launk.wordpress.com/1184/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/launk.wordpress.com/1184/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/launk.wordpress.com/1184/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=launk.wordpress.com&amp;blog=4160145&amp;post=1184&amp;subd=launk&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://launk.wordpress.com/2010/02/02/belajar-jpa-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point>-6.877765 107.611625</georss:point>
		<geo:lat>-6.877765</geo:lat>
		<geo:long>107.611625</geo:long>
		<media:content url="http://0.gravatar.com/avatar/4bacf8e0990574e7ced7532c14422d1e?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">Ahmad Laung Nasution</media:title>
		</media:content>

		<media:content url="http://launk.files.wordpress.com/2010/02/java_logo.jpg" medium="image">
			<media:title type="html">java_logo</media:title>
		</media:content>
	</item>
	</channel>
</rss>
