<?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/"
	>

<channel>
	<title>Java - Vavai &#187; Tutorial, Tips &amp; Trik</title>
	<atom:link href="http://java.vavai.com/category/tutorial-tips-trik/feed/" rel="self" type="application/rss+xml" />
	<link>http://java.vavai.com</link>
	<description>Mudah Belajar Java Bersama Vavai :-)</description>
	<lastBuildDate>Thu, 31 Jan 2008 04:46:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Tips Java : Mendapatkan IP Address dan Host Name</title>
		<link>http://java.vavai.com/2008/01/31/tips-java-mendapatkan-ip-address-dan-host-name/</link>
		<comments>http://java.vavai.com/2008/01/31/tips-java-mendapatkan-ip-address-dan-host-name/#comments</comments>
		<pubDate>Thu, 31 Jan 2008 04:02:55 +0000</pubDate>
		<dc:creator>Vavai</dc:creator>
				<category><![CDATA[Tips & Trick]]></category>

		<guid isPermaLink="false">http://java.vavai.com/2008/01/31/tips-java-mendapatkan-ip-address-dan-host-name/</guid>
		<description><![CDATA[Java menyediakan fungsi InetAddress untuk mendapatkan alamat IP maupun nama host suatu komputer. Alamat IP maupun nama host yang didapatkan tidak tergantung pada alamat ip dan nama host komputer lokal saja, namun juga dapat digunakan untuk mengecek alamat IP dan nama host di Internet, tentu dengan syarat komputer kita terhubung dengan internet. Penggunaan fungsi ini [...]]]></description>
			<content:encoded><![CDATA[<p>Java menyediakan fungsi InetAddress untuk mendapatkan alamat IP maupun nama host suatu komputer. Alamat IP maupun nama host yang didapatkan tidak tergantung pada alamat ip dan nama host komputer lokal saja, namun juga dapat digunakan untuk mengecek alamat IP dan nama host di Internet, tentu dengan syarat komputer kita terhubung dengan internet. Penggunaan fungsi ini juga terkait erat dengan setting DNS pada komputer yang kita gunakan.</p>
<p><span id="more-46"></span>Berikut adalah contoh program yang menunjukkan fungsionalitas tersebut :</p>
<ol>
<li>Buatlah sebuah project baru Netbeans</li>
<li>Tambahkan sebuah JFrame Form</li>
<li>Lengkapi dengan 2 buah label, 2 buah TextField (txtIPAddress dan txtNamaHost) dan 3 buah Button (btnCheckIPAddress, btnCheckHostName dan btnCheckLokal). Lihat contoh pada gambar berikut :<img src="http://www.vavai.com/images/java/nb-hostname41.png" /></li>
<li>Ketikkan kode berikut pada btnCheckHostName, event actionPerformed
<pre class="brush: java; title: ; notranslate">
private void btnCheckHostNameActionPerformed(java.awt.event.ActionEvent evt) {
        try {
            String strHostName = InetAddress.getByName(txtIPAddress.getText()).getHostName();
            JOptionPane.showMessageDialog(null, &quot;Host name dari IP Address '&quot; + txtIPAddress.getText() +&quot;' = &quot;+ strHostName);
        } catch (UnknownHostException ex) {
            JOptionPane.showMessageDialog(null, ex);
            Logger.getLogger(frmIpAddress.class.getName()).log(Level.SEVERE, null, ex);

        }

    }
</pre>
</li>
<li>Lakukan import library yang diperlukan (import java.net.InetAddress; import javax.swing.JOptionPane;)</li>
<li>Ketikkan kode berikut pada btnCheckIPAddress, event actionPerformed
<pre class="brush: java; title: ; notranslate">
private void btnCheckIPAddressActionPerformed(java.awt.event.ActionEvent evt) {

        try {
            String strIPAddress = InetAddress.getByName(txtHostName.getText()).getHostAddress() ;
            JOptionPane.showMessageDialog(null, &quot;Alamat IP dari '&quot;+txtHostName.getText() +&quot;' =&quot;+  strIPAddress);
        } catch (UnknownHostException ex) {
            JOptionPane.showMessageDialog(null, ex);
            Logger.getLogger(frmIpAddress.class.getName()).log(Level.SEVERE, null, ex);

        }
    }
</pre>
</li>
<li>Ketikkan kode berikut pada btnCheckLokal event actionPerformed</li>
<pre class="brush: java; title: ; notranslate">
private void btnCheckLocalActionPerformed(java.awt.event.ActionEvent evt) {
         try {
            InetAddress AlamatInternet = InetAddress.getLocalHost();
            JOptionPane.showMessageDialog(null, &quot;Host name lokal : &quot; +AlamatInternet.getHostName());
            JOptionPane.showMessageDialog(null, &quot;IP Address lokal : &quot; +AlamatInternet.getHostAddress() );
        } catch (UnknownHostException ex) {
            JOptionPane.showMessageDialog(null, ex);
            Logger.getLogger(frmIpAddress.class.getName()).log(Level.SEVERE, null, ex);

        }
    }
</pre>
</li>
<li>Simpan dan jalankan aplikasi (SHIFT + F6). Masukkan IP Address dan klik pada &#8220;Check Host Name&#8221; atau masukkan host name dan klik &#8220;Check IP Address&#8221;. Check IP dan Host Lokal tidak membutuhkan masukan. Berikut adalah beberapa screenshot pesan yang tampil :<img src="http://www.vavai.com/images/java/nb-hostname1.png" />
<p><img src="http://www.vavai.com/images/java/nb-hostname2.png" /></p>
<p><img src="http://www.vavai.com/images/java/nb-hostname3.png" /></li>
</ol>
<p>Program ini tidak secara <em>smart</em> mendeteksi masukan apakah itu alamat IP ataukah host name. Untuk kemudahan, saya menggunakan 2 buah TextField sebagai contoh. Pada aplikasi terapan, input IP Address ataupun Host Name bisa didapatkan melalui variabel.</p>
]]></content:encoded>
			<wfw:commentRss>http://java.vavai.com/2008/01/31/tips-java-mendapatkan-ip-address-dan-host-name/feed/</wfw:commentRss>
		<slash:comments>26</slash:comments>
		</item>
		<item>
		<title>Tutorial Java GUI 2 : Label, Text dan Button</title>
		<link>http://java.vavai.com/2008/01/30/tutorial-java-gui-2-label-text-dan-button/</link>
		<comments>http://java.vavai.com/2008/01/30/tutorial-java-gui-2-label-text-dan-button/#comments</comments>
		<pubDate>Wed, 30 Jan 2008 07:35:50 +0000</pubDate>
		<dc:creator>Vavai</dc:creator>
				<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://java.vavai.com/2008/01/30/tutorial-java-gui-2-label-text-dan-button/</guid>
		<description><![CDATA[Setelah kita berkenalan dengan IDE Netbeans dan membuat aplikasi Hello World, kita sekarang bisa melangkah pada aplikasi kecil lainnya yang akan memperkenalkan kita pada beberapa komponen yang sering digunakan untuk membuat aplikasi terapan. Pada tutorial kedua ini, kita akan membahas mengenai Label, TextField dan Button. Bagi programmer yang berasal dari bahasa pemrogramman selain Java, kita [...]]]></description>
			<content:encoded><![CDATA[<p>Setelah kita berkenalan dengan IDE Netbeans dan <a href="http://java.vavai.com/2008/01/24/tutorial-gui-1-membuat-aplikasi-hello-world-dengan-netbeans/">membuat aplikasi Hello World</a>, kita sekarang bisa melangkah pada aplikasi kecil lainnya yang akan memperkenalkan kita pada beberapa komponen yang sering digunakan untuk membuat aplikasi terapan.</p>
<p>Pada tutorial kedua ini, kita akan membahas mengenai Label, TextField dan Button. Bagi programmer yang berasal dari bahasa pemrogramman selain Java, kita bisa memahami pola pengambilan variabel dan melakukan setting variabel melalui program kecil ini. Sebagai contoh, pada program terapan, kita akan sering berhubungan dengan &#8220;Bagaimana cara mengambil isi suatu Text Field&#8221; atau &#8220;Bagaimana cara mengeset isi suatu TextField&#8221;.</p>
<p>Dalam VB 6.0 (yang saya gunakan bertahun-tahun <img src='http://java.vavai.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' />  ), perintah mendapatkan isi suatu text menggunakan perintah berikut :</p>
<p>strIsiText = txtTeks1.text</p>
<p>Sedangkan pada Java, hal ini dilakukan dengan memanggil method getText sebagai berikut :</p>
<p>strIsiText = txtTeks1.getText();</p>
<p><span id="more-45"></span>Mari kita lihat tutorial selengkapnya :</p>
<ol>
<li>Buatlah sebuah project Java Application pada Netbeans. Silakan merujuk pada artikel terdahulu jika masih belum tahu cara melakukannya</li>
<li>Tambahkan sebuah JFrame Form. Beri nama dan judulnya</li>
<li>Tambahkan 2 buah Label, 2 buah TextField (beri nama txtID dan txtNama) dan 3 buah Button (btnAdd, btnEdit, btnExit).</li>
<li>Setting enabled = false (unchecked) pada properties txtID dan txtNama. Hal ini dilakukan karena pada saat di Load, form isian harus dalam kondisi disabled</li>
<li>Setting Mnemonic untuk 3 buah button (A untuk btnAdd, E untuk btnEdit dan x untuk btnExit). Di Visual Basic hal ini dilakukan dengan menulis caption &amp;Add, &amp;Edit dan E&amp;xit, sedangkan di Java, perintah ALT ini disebut Mnemonic. Fungsinya, agar tombol tersebut dapat diakses menggunakan tombol keyboard ALT + Huruf Mnemonic</li>
<li>Lihat contoh form sebagai berikut :
<p><img src="http://www.vavai.com/images/java/nb-LabelTextButton.png" /></p>
</li>
<li>Ketikkan kode berikut pada event actionPerformed pada btnAdd. Jangan lupa lakukan import library yang diperlukan (import javax.swing.JOptionPane;) yang bisa secara otomatis dilakukan dengan melakukan klik pada bola lampu dibaris JOptionPane.
<pre class="brush: java; title: ; notranslate">
private void btnAddActionPerformed(java.awt.event.ActionEvent evt) {
        if (btnAdd.getText().equals(&quot;Add&quot;)){
            //Tambah Data
            btnAdd.setText(&quot;Save&quot;);
            btnAdd.setMnemonic('S');
            btnEdit.setText(&quot;Cancel&quot;);
            btnEdit.setMnemonic('C');
            btnExit.setEnabled(false);

            txtID.setEnabled(true);
            txtNama.setEnabled(true);

            txtID.requestFocus();

        } else {
            //Simpan Data
            JOptionPane.showMessageDialog(null, &quot;Menyimpan data ID '&quot;+txtID.getText()+ &quot;' dan Nama : '&quot;+txtNama.getText()+&quot;'&quot;) ;

            btnAdd.setText(&quot;Add&quot;);
            btnAdd.setMnemonic('A');
            btnEdit.setText(&quot;Edit&quot;);
            btnEdit.setMnemonic('E');
            btnExit.setEnabled(true);

            txtID.setEnabled(false);
            txtNama.setEnabled(false);
            btnAdd.requestFocus();
        }
    }
</pre>
</li>
<li>Ketikkan kode berikut pada event actionPerformed pada txtID. Fungsinya adalah memindahkan fokus ke txtNama. Visual Basic biasanya menggunakan perintah .setfocus
<pre class="brush: java; title: ; notranslate">	txtNama.requestFocus();</pre>
</li>
<li>Ketikkan kode berikut pada event actionPerformed pada txtNama
<pre class="brush: java; title: ; notranslate">	btnAdd.requestFocus();</pre>
</li>
<li>Ketikkan kode berikut pada event actionPerformed pada btnExit. Fungsinya adalah menutup form. Pilih salah satu dari 2 kode berikut :
<pre class="brush: java; title: ; notranslate">	dispose(); // digunakan untuk menutup form, sama dengan &lt;strong&gt;unload me &lt;/strong&gt;di Visual Basic </pre>
<pre class="brush: java; title: ; notranslate">	System.exit(0);  //digunakan untuk menutup aplikasi, sama dengan &lt;strong&gt;End&lt;/strong&gt; di Visual Basic</pre>
</li>
<li>Simpan dan jalankan aplikasi (SHIFT + F6)</li>
<li>Jika kita melakukan klik pada tombol Add, text btnAdd berubah dari Add menjadi Save (Edit menjadi Cancel) dan fokus akan berpindah ke teks ID. Setelah ID diisi dan kita tekan ENTER, fokus berpindah ke teks Nama. Setelah mengisi nama dan menekan ENTER, fokus akan pindah ke button Add (yang berubah menjadi Save). Jika kita menekan tombol Add, akan keluar kotak pesan (MessageBox)
<p><img src="http://www.vavai.com/images/java/nb-LabelTextButton1.png" /></p>
</li>
<li>Silakan modifikasi program agar tombol Edit bisa dipergunakan. Jika perlu, lakukan juga penambahan komponen yang terlibat.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://java.vavai.com/2008/01/30/tutorial-java-gui-2-label-text-dan-button/feed/</wfw:commentRss>
		<slash:comments>53</slash:comments>
		</item>
		<item>
		<title>Tips Java : Menjalankan File dengan Aplikasi Default</title>
		<link>http://java.vavai.com/2008/01/29/tips-java-menjalankan-file-dengan-aplikasi-default/</link>
		<comments>http://java.vavai.com/2008/01/29/tips-java-menjalankan-file-dengan-aplikasi-default/#comments</comments>
		<pubDate>Tue, 29 Jan 2008 09:14:10 +0000</pubDate>
		<dc:creator>Vavai</dc:creator>
				<category><![CDATA[Tips & Trick]]></category>

		<guid isPermaLink="false">http://java.vavai.com/2008/01/29/tips-java-menjalankan-file-dengan-aplikasi-default/</guid>
		<description><![CDATA[Veteran Visual Basic mungkin pernah mengenal perintah ShellExecute yang berfungsi membuka atau menjalankan suatu file dengan aplikasi pembukanya. Misalnya, jika kita membuka file test1.txt, file tersebut akan secara otomatis dibuka dengan Notepad atau Wordpad sesuai dengan setting default aplikasi pembuka. Jika kita membuka file .xls, Excel akan secara otomatis membukanya. Perintah ShellExecute ini penting karena [...]]]></description>
			<content:encoded><![CDATA[<p>Veteran Visual Basic mungkin pernah mengenal perintah ShellExecute yang berfungsi membuka atau menjalankan suatu file dengan aplikasi pembukanya. Misalnya, jika kita membuka file test1.txt, file tersebut akan secara otomatis dibuka dengan Notepad atau Wordpad sesuai dengan setting default aplikasi pembuka. Jika kita membuka file .xls, Excel akan secara otomatis membukanya. Perintah ShellExecute ini penting karena kita tidak perlu menebak dan mengingat-ingat, extension tertentu itu dibuka oleh aplikasi apa ?</p>
<p>Pada Java, menjalankan aplikasi dengan kondisi yang mirip biasanya menggunakan library <em>Runtime.exec</em>. Hanya saja, perintah yang dicontohkan biasanya menjalankan aplikasi tertentu yang biasanya memang <em>executable application</em>. Bagaimana jika kita menginginkan cara yang sama dengan kemampuan ShellExecute ? Mudah. Gunakan feature yang disediakan pada Java SE 6, yaitu <em>desktop API</em>.</p>
<p>Desktop API memudahkan kita membuat aplikasi yang dapat mengenali aplikasi default dari file yang kita buka. Bukan hanya membuka file, Desktop API juga dapat dimanfaatkan untuk membuka web browser maupun aplikasi email client default, selain bisa dimanfaatkan untuk edit maupun print file. Menarik bukan ?</p>
<p><span id="more-44"></span>Berikut adalah langkah-langkahnya (Saya menggunakan IDE Netbeans 6.0. Sesuaikan dengan IDE yang digunakan. Jika menggunakan Text Editor, ketikkan saja kode yang disertakan) :</p>
<ol>
<li>Buatlah sebuah Project, beri nama sesuai dengan fungsinya. Saya beri nama AppLaunchFile</li>
<li>Tambahkan sebuah JFrame Form. Edit Titlenya agar sesuai. Tambahkan 1 buah Label, 1 buah TextField (txtNamaFile) dan 1 buah Button (btnBukaFile).</li>
<li>Ganti caption btnBukaFile dengan nama Buka File. Ganti juga isi teks txtNamaFile dengan suatu alamat file yang sudah ada. Sebagai contoh, saya akan membuka file test.txt yang ada pada folder /home/vavai. Sesuaikan dengan nama file dan lokasi yang ada pada komputer anda.<br />
<img src="http://www.vavai.com/images/java/nb-openfile1.png" /></li>
<li>Klik kanan pada btnBukaFile, pilih <strong>Events | actionPerformed</strong> dan ketikkan kode berikut :
<pre class="brush: java; title: ; notranslate">
private void btnBukaFileActionPerformed(java.awt.event.ActionEvent evt) {
        Desktop desktop = null;

        if (Desktop.isDesktopSupported()) {
            desktop = Desktop.getDesktop();
        } else {
            // Desktop not supported handling...
            JOptionPane.showMessageDialog(null, &quot;Desktop is not supported !&quot;);
        }
        if (desktop.isSupported(Desktop.Action.OPEN)) {
            try {
                desktop.open(new File(txtNamaFile.getText()));
            } catch (Exception ex) {
            // exception handling...can be a nullpointer, an IO or an IllegalArgumentException...
                JOptionPane.showMessageDialog(null, ex);
            }
        } else {
            // Open file action not supported...
            JOptionPane.showMessageDialog(null, &quot;Open file is not supported !&quot;);
        }
}
    </pre>
</li>
<li>Lakukan import library yang diperlukan (import java.awt.Desktop; import java.io.File; import javax.swing.JOptionPane;)</li>
<li>Jalankan aplikasi.</li>
</ol>
<p>Contoh diatas dibuat sesederhana mungkin. Nama file yang akan dibuka ditulis secara manual menggunakan TextField. Pada aplikasi terapan, kita bisa memperoleh nama file menggunakan JFileChooser (Open Dialog) atau menggunakan teknik lain yang lebih fleksibel. Ujicoba juga bisa diperluas pada feature lain yang disediakan oleh Desktop API, seperti akses browser dan email client. Silakan merujuk pada halaman <a href="http://java.sun.com/developer/technicalArticles/J2SE/Desktop/javase6/desktop_api/">Desktop API</a> untuk melihat contoh yang lain.</p>
<p>Jika digabungkan dengan tutorial sebelumnya : <a href="http://java.vavai.com/2008/01/25/tips-java-membuat-file-excel-spreadsheet/">&#8220;Membuat file Excel &#8211; Spreadsheet&#8221;</a>, kita dapat melakukan otomatisasi buka file setelah file report spreadsheet dibuat.</p>
<p>Sebagai catatan, pada Linux, library ini membutuhkan library Gnome, karenanya saya menambahkan eksepsi untuk kesalahan jika Desktop API tidak disupport.</p>
<p>Related Entries :</p>
<ol>
<li><a href="http://java.sun.com/developer/technicalArticles/J2SE/Desktop/javase6/desktop_api/">Using the Desktop API in Java SE 6</a></li>
<li><a href="http://java.sun.com/docs/books/tutorial/uiswing/misc/desktop.html">How to Integrated with the Desktop Class</a></li>
<li><a href="http://lorenzod8n.wordpress.com/2007/05/12/desktop-integration-in-java-6/">Desktop Integration in Java 6<br />
</a></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://java.vavai.com/2008/01/29/tips-java-menjalankan-file-dengan-aplikasi-default/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Tips Java : Membaca dan Menulis File Properties untuk Setting Konfigurasi Aplikasi</title>
		<link>http://java.vavai.com/2008/01/25/tips-java-membaca-dan-menulis-file-properties-untuk-setting-konfigurasi-aplikasi/</link>
		<comments>http://java.vavai.com/2008/01/25/tips-java-membaca-dan-menulis-file-properties-untuk-setting-konfigurasi-aplikasi/#comments</comments>
		<pubDate>Fri, 25 Jan 2008 20:29:38 +0000</pubDate>
		<dc:creator>Vavai</dc:creator>
				<category><![CDATA[Tips & Trick]]></category>

		<guid isPermaLink="false">http://java.vavai.com/2008/01/25/tips-java-membaca-dan-menulis-file-properties-untuk-setting-konfigurasi-aplikasi/</guid>
		<description><![CDATA[Salah satu feature yang sering digunakan pada aplikasi terapan adalah kemampuan membaca dan menulis file konfigurasi. Sistem Windows biasa mengenal file konfigurasi dengan ekstension file .ini. Java sendiri tidak mempermasalahkan ekstension nama file. Dalam banyak contoh, kebanyakan malah menggunakan ekstension file yang cukup panjang, .properties.]]></description>
			<content:encoded><![CDATA[<p>Salah satu feature yang sering digunakan pada aplikasi terapan adalah kemampuan membaca dan menulis file konfigurasi. Sistem Windows biasa mengenal file konfigurasi dengan ekstension file .ini. Java sendiri tidak mempermasalahkan ekstension nama file. Dalam banyak contoh, kebanyakan malah menggunakan ekstension file yang cukup panjang, .properties.</p>
<p>Apa keuntungan penggunaan file konfigurasi ? Keuntungan utama adalah kemudahan dalam melakukan perubahan <em>on the fly</em>. Contohnya, jika kita menggunakan server ujicoba pada alamat tertentu dan server produksi untuk implementasinya, kita dapat dengan mudah melakukan perubahan pada file konfigurasi tanpa membuka maupun mengubah kode program. Fleksibilitas ini juga bermanfaat jika satu waktu kita harus menggunakan alamat server database yang lain.</p>
<p>Kita bisa mendefinisikan komponen dari file properties sesuai dengan keinginan. Bisa saja kita mendefinisikan nama aplikasi, setting default untuk email, setting konstanta tertentu dan lain sebagainya. Ada juga beberapa aplikasi yang bahkan menyimpan string koneksi database pada file konfigurasi. Hati-hati jika menggunakan hal seperti ini karena saya pernah melihat, password untuk koneksi ke database disimpan dalam bentuk plain text <img src='http://java.vavai.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p>
<p>Berikut adalah langkah-langkah membuat aplikasi untuk membaca dan menyimpan file konfigurasi :</p>
<ol>
<li>Buat 1 project Java Application pada Netbeans. Simpan dengan nama yang diinginkan.</li>
<li>Tambahkan 1 buah JFrame Form, beri nama frmKonfigurasi, setting Title dan lengkapi dengan 1 Panel, 2 Label, 2 Text Field (txtNamaAplikasi dan txtHostServer) dan 1 Button (btnSimpanKonfigurasi) seperti pada contoh berikut :<br />
<img src="http://www.vavai.com/images/nb/netbeans-file-konfigurasi1.jpg" /></li>
<li>Buat 2 buah method. Method pertama untuk Load Properties sebagai berikut :</li>
<li>
<pre class="brush: java; title: ; notranslate">
public static Properties loadProperties(String sFile) {
Properties p = new Properties();
try {
FileInputStream in = new FileInputStream(sFile);
p.load(in);
System.out.println(&quot;File konfigurasi '&quot; + sFile + &quot;' berhasil dibuka&quot;);
in.close();} catch (IOException iOException) {
JOptionPane.showMessageDialog(null, iOException);
}
return p;}
</pre>
</li>
<li>Method kedua adalah method untuk Simpan Properties. Berikut adalah kode untuk menyimpan konfigurasi.</li>
<li>
<pre class="brush: java; title: ; notranslate">public static void saveProperties(Properties p, String sFile) throws IOException{
FileOutputStream out = null;
try {
out = new FileOutputStream(sFile);
p.store(out, &quot;Ini baris komentar\nFile konfigurasi&quot;);
JOptionPane.showMessageDialog(null, &quot;File konfigurasi '&quot;+sFile+&quot;' sudah disimpan&quot;);
} catch (FileNotFoundException ex) {
Logger.getLogger(frmKonfigurasi.class.getName()).log(Level.SEVERE, null, ex);
JOptionPane.showMessageDialog(null, ex.getMessage());
} finally {
try {
out.close();
} catch (IOException ex) {
Logger.getLogger(frmKonfigurasi.class.getName()).log(Level.SEVERE, null, ex);
JOptionPane.showMessageDialog(null, ex.getMessage());
}
}}
</pre>
</li>
<li>Berikutnya adalah kode yang akan dijalankan jika button di click. Letakkan kode ini pada event ActionPerformed pada btnSimpanKonfigurasi sehingga kode program menjadi sebagai berikut :</li>
<li>
<pre class="brush: java; title: ; notranslate">private void btnSimpanKonfigurasiActionPerformed(java.awt.event.ActionEvent evt) {
try {
/**
* Menyimpan file properties ke file
* @param Properties p Object Properties
* @param String sFile String path file tujuan
*/
Properties p = new Properties();//Menetapkan key dan value draft
p.setProperty(&quot;Nama Aplikasi&quot;, txtNamaAplikasi.getText());
p.setProperty(&quot;Host Server&quot;, txtHostServer.getText());
saveProperties(p, PROP_FILE);
} catch (IOException ex) {
Logger.getLogger(frmKonfigurasi.class.getName()).log(Level.SEVERE, null, ex);
JOptionPane.showMessageDialog(null, ex.getMessage());
}}
</pre>
</li>
<li>Tambahkan kode untuk melakukan pengambilan data konfigurasi. Saya meletakkannya pada setelah init komponen. Untuk pemisahan kode, sebaiknya letakkan kode ini pada satu method  tersendiri</li>
<li>
<pre class="brush: java; title: ; notranslate">Properties p2 = new Properties();
p2 = loadProperties(PROP_FILE);//Mendapatkan nilai key
txtNamaAplikasi.setText(p2.getProperty(&quot;Nama Aplikasi&quot;));
txtHostServer.setText(p2.getProperty(&quot;Host Server&quot;));</pre>
</li>
<li>Jalankan form. Pada saat awal, form akan melakukan loading file konfigurasi. Jika tidak menemukannya, akan timbul pesan bahwa file konfigurasi.properties tidak ditemukan. Untuk aplikasi terapan, pesan ini bisa dinonaktifkan agar tidak membingungkan. Saya menambahkan messagebox sebagai perangkap kesalahan untuk kepentingan debug saja. Pesan ini bisa saja disampaikan pada konsole menggunakan System.out.println();<br />
<img src="http://www.vavai.com/images/nb/netbeans-file-konfigurasi2.jpg" /><img src="http://www.vavai.com/images/nb/netbeans-file-konfigurasi3.jpg" /></li>
<li>Setelah mengisi dan menyimpan konfigurasi, akan terbentuk file konfigurasi.properties yang akan diletakkan di folder project kita. Isinya kira-kira sebagai berikut :<br />
<img src="http://www.vavai.com/images/nb/netbeans-file-konfigurasi4.jpg" /></li>
</ol>
<p>Silakan lakukan modifikasi program sesuai dengan tujuan yang diinginkan.</p>
<p>Catatan : Contoh lengkap, <a href="http://www.vavai.com/uploads/java/frmKonfigurasi.form">frmKonfigurasi.form</a> dan <a href="http://www.vavai.com/uploads/java/frmKonfigurasi.java">frmKonfigurasi.java</a></p>
]]></content:encoded>
			<wfw:commentRss>http://java.vavai.com/2008/01/25/tips-java-membaca-dan-menulis-file-properties-untuk-setting-konfigurasi-aplikasi/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Tips Java : Membuat File Excel &#8211; Spreadsheet</title>
		<link>http://java.vavai.com/2008/01/25/tips-java-membuat-file-excel-spreadsheet/</link>
		<comments>http://java.vavai.com/2008/01/25/tips-java-membuat-file-excel-spreadsheet/#comments</comments>
		<pubDate>Fri, 25 Jan 2008 04:17:32 +0000</pubDate>
		<dc:creator>Vavai</dc:creator>
				<category><![CDATA[Tips & Trick]]></category>

		<guid isPermaLink="false">http://java.vavai.com/2008/01/25/tips-java-membuat-file-excel-spreadsheet/</guid>
		<description><![CDATA[Salah satu feature laporan yang sering diminta oleh customer adalah laporan data dalam bentuk Spreadsheet. Bisa Excel bisa juga Open Office. Pada dasarnya, karena Open Office mampu membuka file Excel sedangkan Excel tidak mampu (tidak mau ?) membuka file Open Office, pilihan yang ada adalah menambahkan kemampuan Export data ke Excel.]]></description>
			<content:encoded><![CDATA[<p>Salah satu feature laporan yang sering diminta oleh customer adalah laporan data dalam bentuk Spreadsheet. Bisa Excel bisa juga Open Office. Pada dasarnya, karena Open Office mampu membuka file Excel sedangkan Excel tidak mampu (tidak mau ?) membuka file Open Office, pilihan yang ada adalah menambahkan kemampuan Export data ke Excel.</p>
<p>Sebagian report memang memiliki kemampuan export data, namun salah satu keunggulan yang bisa dipetik jika kita membuat kode program yang mampu melakukan ekspor data ke Excel secara manual adalah fleksibilitas yang jauh lebih luas.</p>
<p>Berikut adalah program Java sederhana untuk membuat file Excel. Saya buat sesederhana mungkin karena yang penting adalah polanya. Pada prakteknya, kita dapat menggunakan JDBC untuk mengambil data dan menempatkannya ke Excel.</p>
<p>Saya menggunakan IDE Netbeans, silakan sesuaikan settingnya dengan IDE yang anda gunakan.</p>
<ol>
<li>Download paket <a href="http://www.apache.org/dyn/closer.cgi/poi/dev/">Apache POI</a>, Apache POI &#8211; Java API To Access Microsoft Format Files. Saya mendownload versi 3.0.2 beta</li>
<li>Ekstrak dan tempatkan file jar yang ada (poi-3.0.2-beta2-20080112.jar, poi-contrib-3.0.2-beta2-20080112.jar, poi-scratchpad-3.0.2-beta2-20080112.jar) ke dalam folder /opt/jdk1.6.0/lib. Sesuaikan lokasi penempatan dengan lokasi library Java anda.</li>
<li>Buka Netbeans dan buatlah sebuah project</li>
<li>Tambahkan sebuah JFrame Form, setting titlenya dan buat satu button dengan nama btnCreateExcel</li>
<p><img src="http://www.vavai.com/images/java/nb-excel1.png" /></p>
<li>Klik kanan pada library project, pilih menu Properties dan pilih menu <strong>Add Jar/Folder</strong> untuk menambahkan ketiga file jar yang sudah kita tempatkan pada point 2</li>
<p><img src="http://www.vavai.com/images/java/nb-excel2.png" /></p>
<li>Ketikkan kode program untuk method actionPerformed btnCreateExcel sebagai berikut</li>
<pre class="brush: java; title: ; notranslate">

private void btnCreateExcelActionPerformed(java.awt.event.ActionEvent evt) {
try {
int i;
// TODO add your handling code here:
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet(&quot;new sheet&quot;);

// Create a row and put some cells in it. Rows are 0 based.
for (i = 1; i &lt;= 10; i++) {
HSSFRow row = sheet.createRow((short) i);

// Aqua background
HSSFCellStyle style = wb.createCellStyle();
style.setFillBackgroundColor(HSSFColor.AQUA.index);
style.setFillPattern(HSSFCellStyle.BIG_SPOTS);
HSSFCell cell = row.createCell((short) 1);
cell.setCellValue(&quot;X&quot; + i);
cell.setCellStyle(style);

// Orange &quot;foreground&quot;, foreground being the fill foreground not the font color.
style = wb.createCellStyle();
style.setFillForegroundColor(HSSFColor.ORANGE.index);
style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
cell = row.createCell((short) 2);
cell.setCellValue(&quot;M&quot; + i);
cell.setCellStyle(style);
}
// Write the output to a file
FileOutputStream fileOut = new FileOutputStream(&quot;workbook.xls&quot;);
wb.write(fileOut);
fileOut.close();
JOptionPane.showMessageDialog(null, &quot;File Excel sudah tercipta&quot;);
} catch (IOException ex) {
Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
}
}
</pre>
<li>Lakukan import untuk library yang dibutuhkan. Sekedar saran, gunakan opsi * (misalnya import org.apache.poi.hssf.usermodel.*;) untuk mempersingkat penulisan import.</li>
<li>Jalankan form</li>
<p><img src="http://www.vavai.com/images/java/nb-excel3.png" /></ol>
<p>Program diatas menunjukkan demonstrasi penempatan string pada suatu posisi, termasuk melakukan pewarnaan background. Silakan modifikasi sesuai dengan hasil yang diinginkan.</p>
]]></content:encoded>
			<wfw:commentRss>http://java.vavai.com/2008/01/25/tips-java-membuat-file-excel-spreadsheet/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>Tutorial GUI 1 : Membuat Aplikasi Hello World dengan Netbeans</title>
		<link>http://java.vavai.com/2008/01/24/tutorial-gui-1-membuat-aplikasi-hello-world-dengan-netbeans/</link>
		<comments>http://java.vavai.com/2008/01/24/tutorial-gui-1-membuat-aplikasi-hello-world-dengan-netbeans/#comments</comments>
		<pubDate>Thu, 24 Jan 2008 04:34:16 +0000</pubDate>
		<dc:creator>Vavai</dc:creator>
				<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://java.vavai.com/2008/01/24/tutorial-gui-1-membuat-aplikasi-hello-world-dengan-netbeans/</guid>
		<description><![CDATA[Setelah mencoba 2 buah program menggunakan konsole, kita akan mulai bersentuhan dengan aplikasi GUI menggunakan IDE (Integrated Development Environment).]]></description>
			<content:encoded><![CDATA[<p>Setelah mencoba <a href="http://java.vavai.com/2008/01/22/program-java-pertama-hello-java/">2</a> <a href="http://java.vavai.com/2008/01/23/koneksi-java-mysql-via-konsole/">buah</a> program menggunakan konsole, kita akan mulai bersentuhan dengan aplikasi GUI menggunakan IDE (<em>Integrated Development Environment</em>). Seperti yang saya katakan sebelumnya, aplikasi GUI menggunakan IDE dalam beberapa hal <em>make our life a little bit easier</em> <img src='http://java.vavai.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  .</p>
<p>Kita akan menggunakan Netbeans IDE untuk melakukan hal ini. Berikut adalah langkah-langkahnya :</p>
<ol>
<li><a href="http://java.vavai.com/2008/01/22/instalasi-netbeans-60-pada-opensuse-103/">Install Netbeans</a></li>
<li>Jalankan Netbeans sehingga muncul layar utama IDE</li>
<p><img src="http://java.vavai.com/wp-content/uploads/2008/01/netbeans1.jpg" alt="Hello World GUI1" /></p>
<li>Klik menu File | New Project</li>
<li>Pilih Java &#8211; Java Application</li>
<p><img src="http://java.vavai.com/wp-content/uploads/2008/01/netbeans2.jpg" alt="Hello World GUI2" /></p>
<li>Beri nama Project <strong>AppHelloWorld</strong> dan hilangkan pilihan <strong>Create Main Class</strong>, karena kita langsung membuat main class pada form Hello World</li>
<p><img src="http://java.vavai.com/wp-content/uploads/2008/01/netbeans3.jpg" alt="Hello World GUI3" /></p>
<li>Klik kanan pada Project yang baru dibuat, pilih New | JFrame Form&#8230;</li>
<li>Beri nama Form yang baru dibuat dengan nama frmHelloWorld. Klik finish. Kita akan diberi satu buah form yang bisa didesain secara leluasa.</li>
<p><img src="http://java.vavai.com/wp-content/uploads/2008/01/netbeans4.jpg" alt="Hello World GUI4" /></p>
<li>Jika di IDE Visual Basic kita mengenal Toolbox, di Netbeans kita mendapatkan sesuatu yang mirip dengan nama Pallete</li>
<p><img src="http://java.vavai.com/wp-content/uploads/2008/01/netbeans6.jpg" alt="Hello World GUI6" /></p>
<li>Drag dan drop komponen <strong>Button</strong> dari Pallet ke form yang baru kita buat sehingga muncul 1 buah tombol dengan text <strong>jButton1</strong></li>
<p><img src="http://java.vavai.com/wp-content/uploads/2008/01/netbeans7.png" alt="Hello World GUI7" /></p>
<li>Klik kanan pada tombol tersebut dan pilih <strong>Change Variable Name. </strong>Ubah nama tombol menjadi <strong>btnHello</strong></li>
<p><img src="http://java.vavai.com/wp-content/uploads/2008/01/netbeans8.png" alt="Hello World GUI8" /></p>
<li>Klik kanan lagi pada tombol dan pilih <strong>Edit Text</strong>. Ganti text menjadi <strong>Hello World</strong></li>
<li>Klik kanan lagi juga (hehehe&#8230;) pada tombol dan pilih menu <strong>Events | Actions | actionPerformed</strong>. Event ini bisa diumpamakan sebagai event Command_Click pada Visual Basic</li>
<p><img src="http://java.vavai.com/wp-content/uploads/2008/01/netbeans9.jpg" alt="Hello World GUI9" /></p>
<li>Kita akan mendapatkan layar kode. Ketikkan kode berikut :</li>
<li>
<pre class="brush: java; title: ; notranslate">JOptionPane.showMessageDialog(null, &quot;Hello World !&quot;);</pre>
</li>
<li>Kita akan melihat bahwa Java sudah pintar dengan langsung membuat tanda kutif tutup pada saat kita hendak mengetik &#8220;Hello World !&#8221;.</li>
<li>Seperti halnya VB, Java juga memiliki feature autocomplete untuk method dan properties. Disini kita juga akan menemukan 1 keunggulan penggunaan IDE dibandingkan mengetik program menggunakan konsole / text editor, yaitu feature Auto Import</li>
<p><img src="http://java.vavai.com/wp-content/uploads/2008/01/netbeans10.jpg" alt="Hello World GUI10" /></p>
<li>Lihat pada bagian kiri kode ada semacam bohlam lampu kecil. Ini menandakan &#8220;ada sesuatu&#8221; dengan kode yang kita ketik. Karena kita menggunakan JOptionPane, kita membutuhkan librarynya agar Java mengenali komponen ini. Klik pada pada bohlam lampu tersebut dan pilih  <strong>Add Import for javax.swing.JOptionPane</strong></li>
<p><img src="http://java.vavai.com/wp-content/uploads/2008/01/netbeans11.png" alt="Hello World GUI11" /></p>
<li>Setelah kita pilih, Netbeans secara otomatis akan menambahkan tulisan <strong>import javax.swing.JOptionPane; </strong>pada bagian atas kode.<strong><br />
</strong></li>
<li>Simpan project</li>
<li>Klik kanan pada form yang baru dibuat dan klik <strong>Run</strong> atau tekan tombol SHIFT + F6</li>
<li>Kita akan mendapatkan form dengan 1 buah tombol yang jika diklik akan memunculkan sebuah Message Box &#8220;Hello World !&#8221;</li>
<p><img src="http://java.vavai.com/wp-content/uploads/2008/01/netbeans12.png" alt="Hello World GUI12" /></ol>
<p>Selamat, anda sudah membuat 1 buah program aplikasi yang akan menjadi langkah awal kecintaan anda pada Java <img src='http://java.vavai.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> . Mengapa saya menggunakan JOptionPane dan bukannya Label untuk sekedar menampilkan tulisan Hello World ? Karena JOptionPane ini akan banyak kita gunakan pada tutorial mendatang. Kalau sekedar Label, semestinya tanpa perlu setting macam-macam kita sudah bisa memahaminya <img src='http://java.vavai.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://java.vavai.com/2008/01/24/tutorial-gui-1-membuat-aplikasi-hello-world-dengan-netbeans/feed/</wfw:commentRss>
		<slash:comments>48</slash:comments>
		</item>
		<item>
		<title>Koneksi Java &amp; MySQL via Konsole</title>
		<link>http://java.vavai.com/2008/01/23/koneksi-java-mysql-via-konsole/</link>
		<comments>http://java.vavai.com/2008/01/23/koneksi-java-mysql-via-konsole/#comments</comments>
		<pubDate>Wed, 23 Jan 2008 07:01:24 +0000</pubDate>
		<dc:creator>Vavai</dc:creator>
				<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://java.vavai.com/2008/01/23/koneksi-java-mysql-via-konsole/</guid>
		<description><![CDATA[Salah satu program yang menarik untuk ditest melalui konsole sebelum nanti mulai menggunakan IDE adalah program koneksi ke database menggunakan JDBC. Mengapa ini menarik karena ada beberapa aspek khas Java yang terkandung didalamnya.]]></description>
			<content:encoded><![CDATA[<p>Salah satu program yang menarik untuk ditest melalui konsole sebelum nanti mulai menggunakan IDE adalah program koneksi ke database menggunakan JDBC. Mengapa ini menarik karena ada beberapa aspek khas Java yang terkandung didalamnya.</p>
<p>Kita bisa mencobanya dengan melakukan koneksi ke database MySQL melalui Java. Untuk melakukan hal ini, silakan lakukan tutorial sebagai berikut :</p>
<ol>
<li>Instalasi database server MySQL. Untuk melakukan instalasi database MySQL pada OpenSUSE silakan merujuk pada panduan <a href="http://www.vavai.com/index.php?/categories/7-Migrasi-Database">http://www.vavai.com/index.php?/categories/7-Migrasi-Database</a></li>
<li>Jalankan service MySQL melalui YAST | SYSTEM | SYSTEM SERVICE (RUNLEVEl)</li>
<li>Download MySQL Connector J melalui alamat <a href="http://www.mysql.com/products/connector/j/">http://www.mysql.com/products/connector/j/ </a>. Ambil versi terbaru. Pada saat panduan ini ditulis, versi terbaru adalah mysql-connector-java-5.1.5</li>
<li>Ekstrak file yang didownload dan ambil file mysql-connector-java-5.1.5-bin.jar. Sesuaikan dengan versi MySQL Connector yang didownload.</li>
<li>Copy file jar tersebut ke lokasi library. Untuk keselarasan dengan panduan saya yang lain, silakan copy ke folder /opt/jdk1.6.0/lib</li>
<li>Buka konsole dan ketik perintah</li>
<li>
<pre class="brush: cpp; title: ; notranslate">export CLASSPATH=.:/opt/jdk1.6.0/lib/mysql-connector-java.jar:</pre>
</li>
<li>Untuk kemudahan, perintah diatas bisa di masukkan kedalam file .bash_profile yang ada di home folder masing-masing</li>
<li>Buka teks editor (kate misalnya) dan ketik kode program berikut ini :</li>
<li>
<pre class="brush: java; title: ; notranslate">public class TestMysql {  public static void main(String args[]) {
try {
/* Test loading driver */
String driver = &quot;com.mysql.jdbc.Driver&quot;;System.out.println( &quot;=&gt; loading driver:&quot; );
Class.forName( driver );
System.out.println( &quot;OK&quot; );/* Test the connection */
String url = &quot;jdbc:mysql://localhost/test&quot;;System.out.println( &quot;=&gt; connecting:&quot; );
java.sql.DriverManager.getConnection( url, &quot;guest&quot;, &quot;&quot; );
System.out.println( &quot;OK&quot; );
}
catch( Exception x ) {
x.printStackTrace();
}
}
}</pre>
</li>
<li>Simpan dan beri nama TestMysql.java</li>
<li>Buka konsole (ALT+F2, konsole)</li>
<li>Lakukan kompilasi</li>
<pre class="brush: java; title: ; notranslate">javac TestMysql.java</pre>
<li>Jika tidak ada pesan kesalahan, lanjutkan dengan menjalankan program</li>
<pre class="brush: java; title: ; notranslate">java TestMysql</pre>
</ol>
<p><img src="http://java.vavai.com/wp-content/uploads/2008/01/testmysql.jpeg" alt="TestMysql" /></p>
<p><strong>Catatan :</strong></p>
<p>Program diatas menggunakan database MySQL lokal (localhost) dengan database test, user name guest dan password kosong. Setting ini adalah setting default dan selalu ada pada MySQL. Jika ingin memodifikasi, sesuaikan dengan kondisi setting MySQL anda.</p>
<p>Kemungkinan Kesalahan :</p>
<ol>
<li><strong> java: command not found</strong>, biasanya setting PATH belum benar. Coba test dengan menjalankan perintah echo $PATH pada konsole dan apakah responnya menunjukkan lokasi JDK yang diinstalasi</li>
<li><strong>class TestMysql is public, should be declared in a file named TestMysql.java</strong>. Terjadi jika nama file berbeda dengan nama class. Ingat bahwa Java menganut case sensitive, jadi TestMysql berbeda dengan testmysql</li>
<li><strong>Cannot resolve symbol</strong></li>
<pre>symbol  : class stringlocation: class TestMysqlpublic static void main(string[] args)

^

1 error</pre>
<p>Masalah biasanya karena kesalahan ketik</p>
<li><strong>Exception in thread &#8220;main&#8221; java.lang.NoClassDefFoundError: TestMysql</strong>, biasanya terjadi karena menjalankan file class dengan ekstension. Semestinya java TestMysql, bukan java TestMysql.java ataupun TestMysql.class</li>
</ol>
<p>Semakin banyak latihan, kita akan semakin terbiasa dan lebih tahu apa yang dimaksud pada pesan kesalahan yang ada.</p>
]]></content:encoded>
			<wfw:commentRss>http://java.vavai.com/2008/01/23/koneksi-java-mysql-via-konsole/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Program Java Pertama : Hello Java !</title>
		<link>http://java.vavai.com/2008/01/22/program-java-pertama-hello-java/</link>
		<comments>http://java.vavai.com/2008/01/22/program-java-pertama-hello-java/#comments</comments>
		<pubDate>Tue, 22 Jan 2008 10:17:41 +0000</pubDate>
		<dc:creator>Vavai</dc:creator>
				<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://java.vavai.com/2008/01/22/program-java-pertama-hello-java/</guid>
		<description><![CDATA[Setelah melakukan instalasi Java dan melakukan setting path, kita sudah dapat melakukan ujicoba membuat program Java sederhana.

Mari kita mulai program Java pertama dengan kode yang paling populer di dunia pemrogramman, yaitu mencetak tulisan Hello World ! ]]></description>
			<content:encoded><![CDATA[<p>Setelah melakukan instalasi Java dan melakukan setting path, kita sudah dapat melakukan ujicoba membuat program Java sederhana.</p>
<p>Mari kita mulai program Java pertama dengan kode yang paling populer di dunia pemrogramman, yaitu mencetak tulisan Hello World ! Kita melakukan sedikit customize dengan mengganti tulisan World menjadi Java, hehehe&#8230;</p>
<p>Mengapa harus Hello World ? Bukankah aplikasi sekarang sudah demikian canggih dan kompleks. Siapa yang mau pakai program under konsole alias under DOS alias program <em>cemen </em>? Jawabannya simple. Kalau program kecil seperti ini saja anda sudah pusing, apalagi program yang kompleks <img src='http://java.vavai.com/wp-includes/images/smilies/icon_razz.gif' alt=':-P' class='wp-smiley' /> .</p>
<p>OK, mari kita mulai. Saya asumsikan anda menggunakan Linux OpenSUSE 10.3 (Ada misi promosi OpenSUSE disini <img src='http://java.vavai.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  ), silakan buka Text Editor favorit. Saya pribadi menggunakan Kate (KDE Advanced Text Editor).</p>
<ol>
<li>Ketikkan kode program sebagai berikut. Ingat, Java menganut sistem case sensitive, jadi perhatikan besar kecilnya huruf.</li>
<pre class="brush: java; title: ; notranslate">
public class Halo {
public static void main(String[] args)
{
System.out.println(&quot;Hello Java&quot;);
}
}</pre>
<li>Simpan dengan nama file Halo.java</li>
<li>Buka konsole (ALT + F2, konsole)</li>
<li>Lakukan kompilasi program</li>
<pre class="brush: java; title: ; notranslate">
javac Halo.java</pre>
<li>Jika ada masalah kompilasi, silakan merefer pada proses Instalasi Java. Kesalahan yang umum terjadi biasanya terkait dengan setting path dan kesalahan penulisan kode program</li>
<li>Jalankan program</li>
<pre class="brush: java; title: ; notranslate">
java Halo</pre>
<li>Tampilan Program :</li>
<p><img src="http://java.vavai.com/wp-content/uploads/2008/01/hello-world.jpg" alt="Hello World" border="1" /></ol>
]]></content:encoded>
			<wfw:commentRss>http://java.vavai.com/2008/01/22/program-java-pertama-hello-java/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
	</channel>
</rss>

