Hidup Ini Bagai Putaran Roda, Harus di Kayuh Agar Terus Berputar'

Senin, 15 Desember 2008

Instalasi Java pada OpenSUSE

Java adalah bahasa pemrogramman yang populer di lingkungan Linux. Kapabilitasnya dan fleksibilitas untuk dijalankan pada berbagai sistem operasi membuat Java bisa menjadi pilihan yang menarik. Berikut adalah tata cara instalasi Java pada OpenSUSE.1. Download Java SE dari http://java.sun.com/javase/downloads/ndiex.jsp

Ambil untuk Linux. Tidak usah yang dibundel dengan Netbeans ataupun yang lainnya. Saat ini versi terbaru adalah 1.6.0. Untuk Linux ada 2 tipe ( Linux RPM in self-extracting file dan Linux in self-extracting file), ambil yang kedua, dengan nama jdk-6-linux-i586.bin

2. Copy ke folder /opt

3. Masuk ke Konsole / Terminal

Perintah : ALT+F2, ketik konsole

4. Install Java SE. Pada Konsole, ketikkan perintah berikut [tanda # jangan ikut diketik. Itu merupakan prompt user root. Kalau masuk sebagai user biasa, lambangnya adalah $. Untuk masuk ke prompt root dari user biasa, ketik su dan masukkan password root] :

# chmod +x /opt/jdk-6-linux-i586.bin

# ./jdk-6-linux-i586.bin [Note : titik-slash-namafile]

5. Check hasil instalasi

Java -version

java version “1.6.0″
Java(TM) SE Runtime Environment (build 1.6.0-b105)
Java HotSpot(TM) Client VM (build 1.6.0-b105, mixed mode, sharing)

Bagaimana jika yang kita install adalah versi 1.6.0 tapi versi yang keluar adalah versi lain ? Berarti sudah ada Java SDK yang tertanam di OpenSUSE. Java yang baru saja kita install terletak pada folder /opt/jdk1.6.0. Coba check dengan perintah berikut.

# ls -l /usr/bin/java

lrwxrwxrwx 1 root root 12 Des 24 09:22 /usr/bin/java -> /etc/alternatives/java

Jika hasilnya seperti diatas atau folder tidak sesuai, kita bisa bisa “memaksa” agar SuSE menggunakan Java yang baru saja kita install. Ketik perintah berikut :

ln -s /opt/jdk1.6.0/bin/java /usr/bin/java

Check ulang dengan perintah Java -version

6. Buatkan ClassPath agar kompiler Java [javac] bisa dikenal dari berbagai folder, dengan langkah sebagai berikut :

- Buat file dengan nama .bash_profile. Simpan pada home directory. Jika masuk sebagai root, simpan pada /root. Jika masuk sebagai user biasa, simpan pada /home/namauser. Pada Linux, file yang diawali dengan tanda titik berarti hidden file.

- Ketik isi file .bash_profile dengan :

JAVA_HOME=/opt/jdk1.6.0

export JAVA_HOME

export PATH=$PATH:$JAVA_HOME/bin

- Simpan

7. Log-off dari OpenSUSE

8. Masuk kembali

9. Test Kompiler. Buka konsole, ketik

# javac

Jika menghasilkan keluaran, berarti kompiler Java sudah siap digunakan. Jika belum, check ulang penulisan CLASSPATH dan sesuaikan dengan kondisi instalasi.

Instalasi Java 2 SDK 1.4

Anda ingin mempelajari Java. Anda harus mengerti bagaimana instalasi dan setting path. Artikel ini mengajarkan instalasi di Windows 98 maupun 2000/XP.

Instalasi Java 2 SDK

Untuk instalasi di windows maka Anda akan mendapatkan file berekstension exe dari hasil download dari java.sun.com. Yang penulis gunakan untuk instalasi adalah file exe dengan namafile yaitu j2sdk-1_4_1-windows-i586.exe.
Anda dapat mengklik ganda file ini untuk memulai proses instalasi di windows.

Proses Instalasi J2SDK 1.4:
1. Anda klik ganda file j2sdk-1_4_1-windows-i586.exe (file instalasi J2SDK untuk windows)
2. Anda akan melihat tampilan proses ekstraksi file yang akan digunakan untuk instalasi selama beberapa waktu.
3. Berikutnya Anda akan melihat tampilan selamat datang ke proses instalasi Java 2 SDK 1.4. Klik Next untuk melanjutkan
4. Berikutnya Anda melihat tampilan License Agreement, klik Yes untuk menyetujui dan melanjutkan proses instalasi.
5. Berikutnya proses instalasi akan menanyakan path target dari file yang akan diinstall. .
6. Klik tombol Browse, lalu tentukan folder instalasi, yaitu c:jdk141.
7. Selanjutnya Anda tekan Next dan menentukan komponen yang akan diinstall. Anda pilih semua komponen dan tekan Next untuk melanjutkan (secara default semua komponen sudah terpilih).
8. Selanjutnya Anda tentukan browser apa di komputer Anda yang akan diinstall Java Plug In. Apabila Anda memiliki beberapa macam browser (Microsoft Internet Explorer dan browser lain) maka Anda klik pada pilihan kotak cek yang ada, kemudian tekan Next.
9. Setelah itu program instalasi akan memulai mengcopy dan menginstall file-file yang diperlukan. Proses menginstall dan mencopy file ke target path akan tampak.
10. Tunggu beberapa saat sehingga instalasi berhasil dilakukan

SETTING PATH

Setelah Anda melakukan instalasi Java 2 SDK 1.4 maka Anda perlu melakukan setting path dan classpath.

Setting untuk Windows 98
Supaya Anda dapat menjalankan program java menggunakan tool yang disediakan oleh SDK, maka Anda perlu menambahkan informasi path ke Sistem Operasi Anda. Pada OS Windows 98, Anda dapat melakukannya sebagai berikut:

1. Tampilkan Windows MS DOS, lalu ketikkan:
C:>set path=c:jdk141bin
2. Apabila Anda menginstall SDK di folder lain maka Anda dapat mengganti jdk1.4 menjadi :
C:>set path=c:folderinstalasibin
3. Anda dapat mencoba hasil setting path untuk tool java dengan menjalankan
C:>java –version
4. Apabila Anda dapat menjalankan command ini di direktori-direktori yang berbeda berarti perintah java telah dapat dikenali dengan baik oleh komputer Anda.
5. Supaya Anda tidak perlu mengulang langkah ini setiap kali Anda menghidupkan komputer, maka pada Sistem Operasi Windows 98, Anda dapat menambahkan baris berikut ke file autoexec.bat.
SET PATH=C:folderinstalasibin;%PATH%

Setting untuk Windows 2000 / XP
Anda tidak perlu mengedit autoexec.bat pada OS Windows 2000 atau XP karena sudah disediakan fasilitas GUI untuk mengatur Environment Variable seperti PATH.
Untuk Windows XP, lakukan hal berikut:
1. Klik pada Control Panel, lakukan switch tampilan menjadi Classic View
2. Klik pada System
3. Pilih Tab Advanced
4. Klik tombol Environment Variable pada bawah kotak dialog
5. Tambahkan path pada variabel PATH yang sudah ada atau buat baru
seperti berikut: PATH=c:jdk141bin;%PATH%

Tes PATH

Anda dapat mentes hasil penambahan PATH Anda sebagai environment variable dengan cara memanggil command java dengan tambahan option –version seperti gambar berikut

c:>java -version

Membandingan Pemograman Delphi dan VB

Persoalan membandingkan sebenernya adalah hal yang sangat sensitive dan rumit, karna kadang kadang apa yang kita nilai mudah dan bagus belum tentu bagus juga bagi temen temen yang lain, namun demikian perbandingan juga perlu untuk sekedar mengetahui kelemahan dan kelebihan khususnya antara pemograman Delphi dan pemograman VB yang nantinya bisa menjadi acuan dan ilmu buat para newbe programmer untuk menentukan pilihan yang tepat.

Dari sedikit pengetahuan saya tentang pemograman Delphi dan vb dan juga beberapa artikel dan opini di forum forum maka saya akan menuliskan bebeapa kelebihan dan kekurangan antara vb dan Delphi :

1. Dari sisi interface ataupun tampilan VB yang merupakan produk dari Microsoft, kelanjutan dari bahasa pemrograman BASIC lebih mudah dan user friendly, ini juga di pengaruhi oleh ke pupeleran dan ketergantungan masyarakat dari microsoft yang selalu mengutamakan keindahan interface dan kemudahan dalam pengoperasiannya.

2 2. Dari segi security kemampuan Delphi untuk “mengamankan” suatu data dari serangan hacker dianggap lebih daripada VB, sehingga untuk pembatasan session user loginnya delphi dianggap lebih “menjanjikan” keamanan daripada VB. Selain itu juga Delphi lebih ditujukan untuk keperluan manajemen hardware dan software sedang VB lebih ke arah kompatibilitas dengan database . Sehingga jika arah keperluannya memang ditujukan untuk keamanan, manajemen hardware dan software, dan tampilannya, DElphi lebih dapat diandalkan daripada VB. Namun jika program yang dibuat lebih mengarah ke penggunaan database, VB masih lebih baik.

3. Kestabilan
Menurut saya memang Delphi lebih stabil daripada VB . Itu saya temui waktu saya harus meng-entry data. KEtika di-running dan menemukan error VB cenderung merespon dengan hang sedang Delphi tidak.

4. Dalam mengelola data yang puluhan ribu record dengan membuka file data yang banyak Delphi dapat diunggulkan, Bila anda mencoba dengan Visual Basic, maka pengetikan program akan sangat melelahkan dengan aplikasi yang sama dan pengelolaan data yang puluhan ribu record Visual Basic maupun Delphi terlihat sama, kelebihannya adalah delphi tidak mengetik program yang begitu banyak. Untuk pembuatan Form yang berulang-ulang dengan bentuk yang sama, kita dapat membuat VCL sehingga kita tidak usah mendefinisikan berulang-ulang dan membuat page juga sangat mudah sekali.

5. Untuk belajar delphi secara gratis-pun lebih banyak dari pada pemrograman yang lain di Internet yang tersedia situs-situs yang gratisan (free learn) contoh delphi.about.com dan lain-lainnya.

Dari perbandingan ini dapat saya simpulkan ternyata kebanyakan programmer mengatakan Delphi lebih powerful, terstruktur dan aman dibandingkan VB.

Perintah dasar Linux


Secara umum perintah-perintah Linux dan UNIX memiliki sintaks sbb :

perintah [option…] [argumen…]

Option merupakan pilihan yang dapat kita gunakan untuk memberikan hasil tertentu dari suatu perintah. Argumen umumnya merupakan sesuatu yang akan diproses oleh perintah, misalnya nama file atau nama direktori.

Tanda [ ] merupakan simbol bahwa option dan argumen tidak harus selalu digunakan dalam menjalankan perintah. Tanda titik-titik menandakan bahwa baik option dan argumen dapat lebih dari satu. Seluruh perintah dalam Linux dan UNIX bersifat case sensitive, jadi perintah LS akan dianggap berbeda dengan ls.

Sekarang kita mulai dengan perintah-perintah dasar yang umum digunakan dalam Linux :

ls
Perintah ini merupakan perintah untuk menampilkan isi suatu direktori. Perintah ini mirip seperti perintah dir dalam DOS.
Ada beberapa cara untuk menggunakan perintah ini, misalnya :
# ls
# ls -l
Untuk mengetahui lebih lengkap tentang perintah ls, silakan lihat di manual dengan perintah man ls.

more
Perintah more dapat digunakan untuk melihat isi suatu file teks dengan layar per layar. untuk keluar dari tampilan more dengan menekan tombol q.

cat
Perintah ini digunakan untuk menampilkan isi file ke layar tanpa fasilitas tampilan layar per layar.
Biasanya digunakan bersamaan dengan pipeline atau redirection. Misal untuk menampilkan isi file /etc/passwd dan /etc/group, gunakan perintah :
# cat /etc/passwd /etc/group

cd
Perintah ini mirip seperti perintah cd dalam DOS yaitu digunakan untuk pindah ke direktori tertentu. Contoh perintah :
# cd /home/adje
Untuk menuju kembali ke direktori /home, maka digunakan perintah :
# cd ..

cp
Perintah ini digunakan untuk mengkopi suatu file atau direktori. misalnya :
# cp contoh1 contoh2
Perintah di atas maksudnya akan mengkopi contoh1 ke file contoh2. Untuk mengkopi seluruh direktori menggunakan perintah :
# cp -R /home/adje /home/afri

mv
Perintah ini digunakan untuk memindahkan suatu file ke lokasi lain atau dengan nama lain. Contoh :

# mv contoh1.php contoh2.php
#mv contoh1.php /home/adje/contoh2.php

rm
Perintah ini digunakan untuk menghapus direktori atau file. Perintah ini mirip dengan perintah del dalam DOS. Dalam menggunakan perintah ini agar hati-hati karena dalam Linux tidak ada perintah undelete atau unerase. Contoh penggunaan rm sbb :
#rm contoh1.php
Untuk menghapus suatu direktori gunakan perintah :
#rm /home/adje/temp

mkdir
Perintah ini digunakan untuk membuat direktori. Misalnya :
#mkdir contoh

Pipeline
Pada Linux dan UNIX, hasil keluaran suatu proses program dapat diberikan sebagai input pada proses lainnya. Contohnya :

#ls -l /home/adje | more

grep
Perintah grep digunakan untuk men-filter masukan dan menampilkan dalam bentuk baris-baris yang sesuai dengan pola yang anda inginkan. Contoh :

# ps ax | grep wvdial

Redirection
Di dalam Linux atau UNIX, anda dapat membelok-belokkan standar input, output ataupun standar error menuju tujuan lain.

Misalnya anda dapat membelokkan standar output suatu program ke file atau membelokkan standar input suatu program dari suatu file. Proses pembelokkan ini disebut redirection dan di *NIX digunakan simbol “>” (untuk membelokkan standar output ke file) dan simbol “<” (untuk membelokkan standar input dari file). Contoh :

Untuk menyimpan tampilan isi seluruh directori /etc ke sebuah file, gunakan perintah :

#ls -lR /etc > isi-etc

Untuk menambahkan isi file isi-etc dengan data lain, gunakan simbol “>>” (append) pada redirection, misal :

#ls -lR /home/adje >> isi-etc

Untuk membuat perintah mensortir data yang terdapat pada file contoh.txt dapat digunakan perintah :

#sort < contoh.txt

Perintah-perintah di atas adalah perintah-perintah yang sering digunakan dalam Linux atau UNIX. Bila anda masih merasa kesulitan silakan baca manual-nya terlebih dahulu. Karena membaca manual itu sangat penting bila kita sering meng-oprek Linux atau UNIX. Dari manual itu kita bisa mendapat solusi dari masalah yang kita hadapi

Copy from http://aceh.linux.or.id/archives/182

MIKROTIK OS (untuk BW management)

MikroTik RouterOS™ adalah sistem operasi dan yang dapat digunakan untuk menjadikan komputer manjadi router network yang handal, mencakup berbagai fitur lengkap untuk network dan wireless, salah satunya adalah bandwidth manajemen.

Saya coba mengulas cara2 paling awal untuk setting mikrotik untuk BW manajemen.



1. Install Mikrotik OS

- Siapkan PC, minimal Pentium II juga gak papa RAM 64,HD 500M atau pake flash memory 64

- Di server / PC kudu ada minimal 2 ethernet, 1 ke arah luar dan 1 lagi ke Network local yg akan di manage BWnya

- Burn Source CD Mikrotik OS masukan ke CDROM

- Boot dari CDROM

- Ikuti petunjuk yang ada, gunakan syndrom next-next dan default

- Install paket2 utama, lebih baiknya semua packet dengan cara menandainya (mark)

- Setelah semua paket ditandai maka untuk menginstallnya tekan “I”

- Lama Install normalnya ga sampe 15menit, kalo lebih berarti gagal, ulangi ke step awal

- Setelah diinstall beres, PC restart akan muncul tampilan login



2. Setting dasar mikrotik

Langkah awal dari semua langkah konfigurasi mikrotik adalah setting ip

Hal ini bertujuan agar mikrotik bisa di remote dan dengan winbox dan memudahkan kita untuk melakukan berbagai macam konfigurasi

- Login sebaga admin degan default password ga usah diisi langsung enter

- Setelah masuk ke promt ketikkan command:

[ropix@GblSdd] > ip address add address=222.124.21.26/29 interface=ether1

Gantilah dengan ip address anda dan interface yg akan digunakan untuk meremote sementara

- Lakukan ping ke dan dari komputer lain

- Setelah konek lanjutkan ke langkah berikutnya, kalo belum ulangi langkah 2



3. Setting Lanjutan

- Akses ip mikrotik lewat browser, maka akan muncul halaman welcome dan login

- Klik link Download it untuk download winbox yg digunakan untuk remote mikrotik secara GUI

- Jalankan winbox, login sebagai admin password kosong

- Masuklah ke menu paling atas (interface), tambahkan interface yg belum ada dengan mengklik tanda +

- Tambahkan pula interface “bridge” untuk memfungsikan mikrotik sebagai bridge


4. Setting Bandwidth limiter

- Klik menu ip>firewall>magle
Buat rule (klik tanda + merah) dengan parameter sbb:

Pada tab General:

Chain=forward,

Src.address=192.168.0.2 (atau ip yg ingin di limit)

Pada tab Action :

Action = mark connection,

New connection mark=ropix-con (atau nama dari mark conection yg kita buat)

Klik Apply dan OK

Buat rule lagi dengan parameter sbb:

Pada tab General: Chain=forward,

Connection mark=ropix-con (pilih dari dropdown menu)

Pada tab Action:

Action=mark packet,

New pcket Mark=ropix (atau nama packet mark yg kita buat)

Klik Apply dan OK



- Klik menu Queues>Queues Tree

Buat rule (klik tanda + merah) dengan parameter sbb:
Pada tab General:

Name=ropix-downstrem (misal),

Parent=ether2 (adalah interface yg arah keluar),

Paket Mark=ropix (pilih dari dropdown, sama yg kita buat pada magle),

Queue Type=default,

Priority=8,

Limit At=8k (untuk bandwidth minimum)

Max limit=64k (untuk seting bandwith brustable)

Klik aplly dan Ok



Buat rule lagi dengan parameter sbb:

Pada tab General:

Name=ropix-Upstrem (misal),

Parent=ether1 (adalah interface yg arah kedalam),

Paket Mark=ropix (pilih dari dropdown, sama yg kita buat pada magle),

Queue Type=default,

Priority=8,

Limit At=8k (untuk bandwidth minimum upstrem)

Max limit=64k (untuk seting bandwith brustable)

Klik aplly dan Ok



-Cobalah browsing dan download dari ip yg kita limit tadi, Rate pada Queues rule tadi harus mengcounter, kalo belum periksa lagi langkah- langkah tadi
- Icon hijau menandakan bandwidth kurang dari batasan, Icon berubah kuning berarti bandwidth mendekali full dan merah berarti full.

Cara blok situs porno dengan squid proxy di linux


Akses browsing ke situs-situs porno dapat diblok jika kita menggunakan squid sebagai proxy pada linux/unix server, ada beberapa teman yang bertanya bagaimana cara blokir situs porno pada squid proxy tersebut, nah dibawah ini saya jelaskan salah satu tips untuk blok situs porno tersebut.

Squid memiliki Access List atau ACL yang bisa digunakan sebagai sarana untuk memfilter akses terhadap alamat url (situs) tertentu, acl yang digunakan disini adalah “url_regex“.

url_regex ini digunakan untuk memfilter berdasarkan alamat url-nya, misalkan kita ingin blok situs “www.playboy.com“, nah yang kita gunakan sebagai keyword untuk “url_regex” nya adalah “playboy.com“. Efek dari acl ini adalah akses ke seluruh situs yang menggunakan alamat domain “*.playboy.com” akan diblokir.

Namun jika kita hanya ingin blok akses ke subdomain saja dan akses ke domain induknya tetap bisa, maka kita bisa gunakan subdomain-nya sebagai keyword acl nya. Misalnya disini kita mau blok akses ke situs “pornstar.playboy.com” saja dan akses ke “www.playboy.com” dibolehkan, maka disini kita masukkan “pornstar.playboy.com” sebagai keyword acl-nya.

Cukup dengan penjelasan dan teori-teorinya, bosan kali yaa…pengennya langsung praktek..Kita lanjuut..

Kita asumsikan disini anda telah menginstall squid proxy dengan baik dan sudah berfungsi, dan file konfigurasi squid berada pada lokasi “/etc/squid/squid.conf”

Langkah-langkah yang kita lakukan untuk konfigurasi squid nya :

1. Bikin file baru untuk simpan list dari alamat situs yang akan kita blok aksesnya, disini saya menggunakan “vi” karena memang editor favorit saya..

# vi /etc/squid/porn.block.txt

2. Tambahkan list alamat situs yang sudah kita data untuk di blok pada file “/etc/squid/porn.block.txt“, contoh penulisannya adalah sbb :

playboy.com
penthouse.com
duniasex.com
17tahun.com
bangbros.com

Jumlah baris dari alamat tersebut, tergantung dari jumlah situs yang ingin anda blok, untuk database situs porno lainnya bisa anda ambil dari squidguard.org. Kemudian simpanlah file tersebut.

3. Edit file “/etc/squid/squid.conf” dan tambahkan konfigurasi ACL url_regex berikut :

acl porn url_regex “/etc/squid/porn.block.txt”

konfigurasi ini ditambahkan pada bagian acl dari file “squid.conf” nya, contohnya spt dibawah ini :

—–potongan file squid.conf ——

acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl Lan src 192.168.10.0/24
acl porn url_regex “/etc/squid/porn.block.txt” <— ACL ditambahkan pada baris ini

—–potongan file squid.conf ——

Penjelasan terhadap acl ini adalah, kita mendefinisikan “porn” sebagai nama access list dengan tipe “url_regex“, dimana list dari url tersebut disimpan pada file dengan nama “/etc/squid/porn.block.txt”

4. Setelah acl porn kita definisikan, kita lanjutkan dengan definisi http_access terhadap list url dari acl porn tadi, dengan cara kita tambahkan lagi pada file “squid.conf” konfigurasi berikut :

http_access deny porn

konfigurasi ini ditambahkan pada bagian http_access dari squid.conf, contohnya spt dibawah ini :

—– potongan file squid.conf —–

http_access deny porn <— ditambahkan pada urutan paling atas dari http_access nya
http_access allow manager localhost
http_access allow lan
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow CONNECT !irc_ports
http_access deny all

—– potongan file squid.conf —–

penjelasan dari http_access ini adalah, akses http terhadap acl dengan nama “porn” akan diblok (deny),
dimana isi dari acl porn ini adalah alamat-alamat situs porno yang memang ingin kita blok.

Contoh file squid.conf setelah dikonfigurasi akan seperti ini :

—–potongan file squid.conf ——

acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl Lan src 192.168.10.0/24
acl porn url_regex “/etc/squid/porn.block.txt”

http_access deny porn
http_access allow manager localhost
http_access allow lan
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow CONNECT !irc_ports
http_access deny all

—–potongan file squid.conf ——

5. Selanjutnya kita instruksikan supaya squid untuk membaca ulang file konfigurasi “squid.conf” nya, kita lakukan dengan perintah berikut ini :

# squid -k reconfigure

6. Sekarang kita ujicoba blok akses ke situs pornonya, buka browser favorit kamu misalnya Firefox, kemudian ketikkan salah satu alamat situs yang ada pada file acl porn, misalnya “www.playboy.com“. Jika muncul halaman error “acess denied” maka blokir situs dengan squid nya sukses..

kalo masih bisa diakses..coba di croscheck lagi langkah-langkah diatas…Good Luck..!

Terbilang Di java



uih hati seneng deh belajar terbilang berhasil, ya pertama tama ya mangkel coz bikin gak jadi akhirnya minta bantuan paman googale akhirnya ketemu dengan bognya om Ng Elyi Junaidi.koding untuk konversi angka ke karakter ya dengan koding sebagai berikut :
**
* @(#)Text4.java
*
*
* @author
* @version 1.00 2008/12/4
*/

import javax.swing.SwingUtilities;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JLabel;
import java.awt.Rectangle;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JTextArea;

public class TerbilangJava extends JFrame {

private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JLabel jLabel = null;
private JTextField txtBilangan = null;
private JButton btnTerbilang = null;
private JTextArea jTextArea = null;
private StringBuffer sb = new StringBuffer();
// @jve:decl-index=0:
String bilangan[] = new String[] { "", "Satu ", "Dua ", "Tiga ", "Empat ",
"Lima ", "Enam ", "Tujuh ", "Delapan ", "Sembilan ", "Sepuluh ",
"Sebelas " };
private JButton jButton = null;

/**
* This method initializes txtBilangan
*
* @return javax.swing.JTextField
*/
private JTextField getTxtBilangan() {
if (txtBilangan == null) {
txtBilangan = new JTextField();
txtBilangan.setBounds(new Rectangle(135, 15, 166, 31));
}
return txtBilangan;
}

/**
* This method initializes btnTerbilang
*
* @return javax.swing.JButton
*/
private JButton getBtnTerbilang() {
if (btnTerbilang == null) {
btnTerbilang = new JButton();
btnTerbilang.setBounds(new Rectangle(315, 15, 152, 31));
btnTerbilang.setText("Terbilang");
btnTerbilang.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
jTextArea.setText("");
String hasil = generate((double)Integer.parseInt(txtBilangan.getText()));
jTextArea.append(Integer.parseInt(txtBilangan.getText())+" = "+hasil);
txtBilangan.setText("");
sb.delete(0, 1000);
}
});
}
return btnTerbilang;
}

/**
* This method initializes jTextArea
*
* @return javax.swing.JTextArea
*/
private JTextArea getJTextArea() {
if (jTextArea == null) {
jTextArea = new JTextArea();
jTextArea.setBounds(new Rectangle(30, 60, 800, 91));
}
return jTextArea;
}

/**
* This method initializes jButton
*
* @return javax.swing.JButton
*/
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setBounds(new Rectangle(510, 15, 121, 31));
jButton.setText("About");
jButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
JOptionPane.showMessageDialog(null, "Ng Elyi Junaidi (ng_elyi@yahoo.co.id) (ngelyi.wordpress.com)");
}
});
}
return jButton;
}

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
SwingUtilities.invokeLater(new Runnable() {
public void run() {
TerbilangJava thisClass = new TerbilangJava();
thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
thisClass.setVisible(true);
}
});
}

/**
* This is the default constructor
*/
public TerbilangJava() {

super();
initialize();
}

/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(900, 207);
this.setContentPane(getJContentPane());
this.setTitle("JFrame");
}

/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jLabel = new JLabel();
jLabel.setBounds(new Rectangle(15, 15, 106, 31));
jLabel.setText("Bilangan");
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(jLabel, null);
jContentPane.add(getTxtBilangan(), null);
jContentPane.add(getBtnTerbilang(), null);
jContentPane.add(getJTextArea(), null);
jContentPane.add(getJButton(), null);
}
return jContentPane;
}

public String generate(double number) {

// logger.debug(”num {}”, number);

if (number < 12) {
sb.append(bilangan[(int)number]);
}

if (number >= 12 && number < 20) {
generate( number - 10);
sb.append("belas ");
}

if(number >= 20 && number < 100){
generate(number/10);
sb.append("puluh ");
generate(number % 10);
}

if (number >= 100 && number < 200) {
sb.append("seratus ");
generate( number % 100 );
}

if (number >= 200 && number < 1000){
generate(number / 100);
sb.append("ratus ");
generate( number % 100 );
}

if (number >= 1000 && number < 2000){
sb.append("seribu ");
generate( number % 1000 );
}

if(number >= 2000 && number < 1000000){
generate(number/1000);
sb.append("ribu ");
generate( number % 1000);
}

if (number >= 1000000 && number < 1000000000){
generate(number/1000000);
sb.append("juta ");
generate( number % 1000000 );
}

return sb.toString();
}

}

Template by : Kowsi