Česky   |  Deutsch   |  English   |  Español   |  Français   |  Indonesia   |  日本語   |  한글   |  Polski   |  Português (BR)   |  Türkçe   |  中文   |  正體中文   |  Your Language  
PlanetNetbeans
PlanetNetBeans adalah agregator blog yang membahas topik seputar NetBeans.
Feeds
[RSS 1.0 Feed] [RSS 2.0 Feed]
[FOAF Subscriptions] [OPML Subscriptions]
Apakah anda blogging tentang NetBeans ? Daftarkan segera blog Anda ke PlanetNetBeans
Feed Subscriptions

Powered by:    Planet

Last updated:
February 09, 2010 09:22 AM
All times are UTC

sponsored by Sun Microsystems

visit NetBeans website
Martinus Ady H. BloG » NetBeans - February 01, 2010 04:35 AM
Tampilan MacOSX di NetBeans IDE

Kemarin habis baca-baca tulisan dari Pak Kaiser tentang Mengubah Tampilan IDE Netbeans dengan menggunakan Quaqua Look and Feel. Ga nyangka, ternyata Quaqua Look and Feel bisa jalan dengan mulus juga di Sistem Operasi GNU/Linux :) dan disini cara yang saya gunakan berbeda dengan cara yang digunakan oleh Pak Kaiser yang mengkopikan library Quaqua Look and Feel kedalam direktori JAVA_HOME. Nah cara yang paling sederhana yaitu gunakan opsi –cp:p [tempat_file_jar_diletakkan], jika ada 2 file jar yang ingin masuk kedalam CLASSPATH gunakan pemisah : (titik dua) untuk GNU/Linux dan ; (titik koma) untuk Microsoft Windows. Jika digabungkan, kira-kira perintah-nya kurang lebih seperti dibawah ini :

martinus@martinusadyh:[~/Desktop/Quaqua]$ /bin/sh "/opt/netbeans-6.8/bin/netbeans" --cp:p /home/martinus/Desktop/Quaqua/dist/quaqua.jar:/home/martinus/Desktop/Quaqua/dist/swing-layout.jar --laf ch.randelshofer.quaqua.QuaquaLookAndFeel -J-DQuaqua.selectionStyle=bright -J-DQuaqua.opaque=true -J-DQuaqua.tabLayoutPolicy=wrap

Agar benar-benar kelihatan seperti di Mac beneran, sekarang download dulu font Monaco (Monaco adalah Monospace font untuk Mac OS) dari sini kemudian pasangkan pada NetBeans IDE anda :) dan jika sudah kurang lebih tampilan-nya menjadi seperti gambar dibawah ini :

source
Tampilann NetBeans Menggunakan Font Monaco
SwingQuaqua
Tampilan Java Swing Dengan LAF Quaqua

Hm… mantap juga ternyata yah tampilan-nya :) Cuma sayang-nya koq perasaan ga jauh beda ama Look And Feel GTK yakz ? :D Tapi gapapa lah, yang penting bisa cobain :)

Link-link terkait :
- Mengubah Tampilan IDE Netbeans
- Quaqua Look and Feel

Eko Kurniawan Khannedy » NetBeans - January 27, 2010 03:30 AM
Video Tutorial Membangun Aplikasi Client-Server Menggunakan Java


Screencast ini berisikan cara membuat aplikasi Client – Server menggunakan Java dengan teknologi RMI.

Sebelum anda menonton screencast ini, anda diharuskan mengerti RMI, jika anda belum mengerti RMI anda dapat mengunjungi link ini [0] atau [1]

Membangun Aplikasi Client – Server Menggunakan Java

  1. Intro
    1. Intro
    2. Pengenalan Client Server
  2. Hello World
    1. Project Hello Client – Server
    2. Membuat Project
    3. Membuat Project Hello API
    4. Membuat Project Hello Server
    5. Membuat Project Hello Client
    6. Menjalankan Project
  3. Hello World GUI
    1. Project Hello GUI Client – Server
    2. Membuat Project
    3. Membuat Project Hello GUI API
    4. Membuat Project Hello GUI Server
    5. Membuat Project Hello GUI Client
    6. Menjalankan Project
  4. Database Application
    1. Database Application Client Server
    2. Membuat Project
    3. Membuat Entitas
    4. Membuat Service
    5. Membuat Database
    6. Membuat Koneksi Ke Database
    7. Mengimplementasi Service
    8. Implementasi Metode Insert
    9. Implementasi Metode Update
    10. Implementasi Metode Delete
    11. Implementasi Metode getById
    12. implementasi Metode getAll
    13. Membuat Aplikasi Server
    14. Membuat Logger
    15. Membuat TableModel
    16. Membuat Form Client
    17. Aksi Table
    18. Menambah Aksi Tombol
    19. Membuat Aplikasi Client
    20. Test Aplikasi
    21. Menjalankan Aplikasi Server di Windows
    22. Menjalankan Aplikasi Client di Linux

Selamat Mencoba, jika anda ingin melihat full playlist nya di youtube, anda bisa melihatnya disini [3]

[0] http://java.sun.com/javase/6/docs/technotes/guides/rmi/index.html
[1] http://java.sun.com/docs/books/tutorial/rmi/index.html
[3] http://www.youtube.com/view_play_list?p=ED54FFB02C9AE88F

Posted in Java Programming, NetBeans Tagged: client server, jaringan, Java, Java Programming, java video tutorial, membangun aplikasi client server, membangun aplikasi client server menggunakan java, NetBeans, rmi, tutorial video, video tutorial

Martinus Ady H. BloG » NetBeans - January 26, 2010 05:32 PM
Portal dan WIKI NetBeans User Group Indonesia Launching

Hyiip…hyipp huray, akhir-nya sekarang komunitas netbeans-indonesia yang selama ini hanya aktif di milis punya portal dan wiki khusus yang membahas tentang NetBeans IDE dari A-Z :) Semua ini terwujud berkat jerih payah Mas Alex Budiannto, dan kabar ini saya terima 2 hari yang lalu di milis netbeans-indonesia dan berikut ini adalah cuplikan notifikasi dari Mas Alex Budiyanto :

Rekan,
Sekedar informasi, saat ini kami sedang mengembangkan portal komunitas
untuk NetBeans User Group Indonesia dengan alamat: http://NUG.OR.ID/,,
saat ini portal tersebut masih dalam tahap development. Portal http://NUG.OR.ID/,
ini juga mengagregasi content dari NetBeans user group daerah lain seperti:
- http://bandung.nug.or.id/
- http://surabaya.nug.or.id/
- http://medan.nug.or.id/
- dsb
Selain Portal, kita juga mempunyai wiki yang beralamatkan di
http://wiki.nug.or.id/
Silahkan bagi rekan-rekan yang ingin menyumbangkan content, ide maupun
saran untuk perkembangan portal ini.
Thanks

Hm… bagaimana teman-teman ?? :) Mantap bukan, sekarang untuk mencari informasi atau tutorial yang berbau-bau NetBeans kita bisa mengunjungi ke 2 buah situs diatas. Dan ini tampilan dari portal dan wiki NetBeans Indonesia yang baru lahir :

Screenshot
Tampilann Portal NetBeans User Group (NUG)

Screenshot-1
Tampilan WIKI NetBeans User Group (NUG)

Nah buat teman-teman yang suka nulis, yok sama-sama bikin repository tutorial bahasa Indonesia :) Sekalian itung-itung amal ngebantuin teman-teman yang masih baru belajar :) Gimana menurut pendapat teman-teman ?? :)

Link-link terkait :
- Portal NetBeans User Group (NUG)
- WIKI NetBeans User Group (NUG)
- Milis NetBeans Indonesia

Martinus Ady H. BloG » NetBeans - December 25, 2009 12:11 PM
Building NSIS On Slackware 13.0

Ingin membuat sebuah installer untuk aplikasi yang jalan di Windows (ber-ekstensi exe) tapi dari GNU/Linux atau *Nix ? Jika jawaban-nya adalah iya, maka aplikasi NSIS ini mungkin cocok untuk teman-teman. Nah apa sih NSIS (Nullsoft Scriptable Install System) ini sebenar-nya ? NSIS (Nullsoft Scriptable Install System) ini adalah sebuah installer creator opensource yang ditujukan untuk aplikasi yang berjalan di Sistem Operasi Microsoft Windows. Karena NSIS (Nullsoft Scriptable Install System) ini dapat di install pada sistem yang mengikuti standart POSIX, maka harusnya NSIS (Nullsoft Scriptable Install System) dapat digunakan secara mulus pada Sistem Operasi GNU/Linux dan *Nix family seperti OpenSolaris dan lain-nya.

Pada tulisan kali ini, kita akan mencoba menginstall NSIS (Nullsoft Scriptable Install System) pada Sistem Operasi GNU/Linux Slackware dan seluruh langkah yang dijelaskan pada tulisan ini mengacu ke struktur direktori standart milik Slackware (Untuk distribusi GNU/Linux yang lain, harusnya bisa menerapkan langkah-langkah pada tulisan ini tanpa ada masalah asalkan kebutuhan paket yang diminta oleh NSIS sudah terinstall sebelumnya). Agar proses kompilasi NSIS (Nullsoft Scriptable Install System) ini berjalan dengan sukses, maka pastikan dahulu kebutuhan dibawah ini terdapat pada sistem anda :
- Python 2.6.2
- Scons 1.2.0
Note: Jika versi di sistem anda lebih tinggi, harus-nya tidak akan ada masalah dan kebutuhan diatas adalah kebutuhan yang diperlukan di GNU/Linux Slackware 13.0 :)

Pada default installasi Slackware 13.0 tidak terdapat packages Scons, jadi sekarang mari kita install dulu packages Scons-nya yang dapat di download dari situs SlackBuild.org. Sekarang bukalah halaman Scons yang terdapat pada situs SlackBuild yang bisa dilihat di sini kemudian download seluruh file SlackBuild yang diperlukan seperti dibawah ini :

martinus@martinusadyh:[~/SLACKBUILDS/scons]$ wget -c http://slackbuilds.org/slackbuilds/13.0/development/scons/scons.SlackBuild && wget -c http://slackbuilds.org/slackbuilds/13.0/development/scons/scons.info && wget -c http://slackbuilds.org/slackbuilds/13.0/development/scons/slack-desc && wget -c http://slackbuilds.org/slackbuilds/13.0/development/scons/README
--2009-12-15 19:07:58--  http://slackbuilds.org/slackbuilds/13.0/development/scons/scons.SlackBuild
Resolving slackbuilds.org... 208.67.159.181
Connecting to slackbuilds.org|208.67.159.181|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1046 (1.0K) [text/plain]
Saving to: `scons.SlackBuild'

100%[==============================================================================================================================>] 1,046       --.-K/s   in 0s      

2009-12-15 19:08:00 (46.8 MB/s) - `scons.SlackBuild' saved [1046/1046]

--2009-12-15 19:08:00--  http://slackbuilds.org/slackbuilds/13.0/development/scons/scons.info
Resolving slackbuilds.org... 208.67.159.181
Connecting to slackbuilds.org|208.67.159.181|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 279 [text/plain]
Saving to: `scons.info'

100%[==============================================================================================================================>] 279         --.-K/s   in 0s      

2009-12-15 19:08:01 (16.8 MB/s) - `scons.info' saved [279/279]

--2009-12-15 19:08:01--  http://slackbuilds.org/slackbuilds/13.0/development/scons/slack-desc
Resolving slackbuilds.org... 208.67.159.181
Connecting to slackbuilds.org|208.67.159.181|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 932 [text/plain]
Saving to: `slack-desc'

100%[==============================================================================================================================>] 932         --.-K/s   in 0s      

2009-12-15 19:08:03 (46.3 MB/s) - `slack-desc' saved [932/932]

--2009-12-15 19:08:03--  http://slackbuilds.org/slackbuilds/13.0/development/scons/README
Resolving slackbuilds.org... 208.67.159.181
Connecting to slackbuilds.org|208.67.159.181|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 458 [text/plain]
Saving to: `README'

100%[==============================================================================================================================>] 458         --.-K/s   in 0s      

2009-12-15 19:08:04 (25.8 MB/s) - `README' saved [458/458]

martinus@martinusadyh:[~/SLACKBUILDS/scons]$

(more…)

Eko Kurniawan Khannedy » NetBeans - December 19, 2009 10:01 AM
Optimisati Kinerja dan Kecepatan NetBeans IDE


NetBeans IDE

NetBeans IDE

Jika saya perhatikan. kebanyakan pengguna NetBeans IDE itu mengeluh dengan performa netbeans  yang lambat :D dan berat. yup bisa dibilang seperti itu. tapi hal itu bisa diakali jika kita tau bagaimana cara mengoptimisasi nya. Mungkin sebenarnya banyak sekali caranya, namun disini saya hanya akan bahas 2 teknik untuk mengoptimisasi kinerja NetBeans IDE.

Matikan plugin NetBeans yang tidak diperlukan.

Ini adalah hal yang wajib dilakukan jika kita menggunakan netbeans. Misal saja jika kita baru belajar Java, maka pasti kita hanya akan belajar java standard edition. kita tidak akan menggunakan plugin netbeans untuk php, jme, jee sampai ruby. jadi seharusnya plugin netbeans yang lainnya selain jse dimatikan. cara mematikannya seperti ini :

Pertama buka netbeans, lalu masuk ke menu Tools > Plugins, setelah itu maka akan ada dialog plugin. Masuk ke bagian Installed. seperti yang terlihat pada gambar dibawah ini :

NetBeans Plugins

NetBeans Plugins

pada gambar diatas terlihat plugin yang terinstall di netbeans dan plugin yang aktiv. pada gambar diatas yang aktif adalah plugin Java ME, Java SE, Java web and EE, Base IDE. Untuk Base IDE itu wajib aktif, namun untuk yang lainnya itu bisa dinonaktifkan. Anggap saja kita baru belajar NetBeans jadi kita tidak perlu menggunakan plugin untuk Java ME , Java Web dan Java EE. Jadi lebih baik kita nonaktifkan.

Caranya ceklis plugin yang akan dinonaktifkan setelah itu klik tombol Deativate. Dan ikuti step by step untuk deaktivate nya. Setelah itu restart netbeansnya. maka anda bisa merasakan bahwa netbeans akan lebih cepat :D

Ubah LookAndFeel NetBeans menjadi Metal

jika anda menginstall Netbeans di Windows atau Linux GNome, maka otomatis netbeans akan memiliki lookandfeel (tampilan) yang native dengan theme yang digunakan. berbeda jika menggunakan Linux KDE. biasanya berjalan menggunakan lookandfeel Metal, jadi jika menggunakan KDE anda tidak perlu mengubah lookandfeelnya lagi.

Untuk mengubah LookAndFeel menjadi metal caranya anda masuk ke direktori tempat terinstallnya Netbeans, lalu masuk ke direktori “etc” dan terdapat file bernama “netbeans.conf“.  Buka file tersebut lalu tambahkan tulisan :

–laf javax.swing.plaf.metal.MetalLookAndFeel

pada akhir baris yang diawali dengan tulisan :

netbeans_default_options=”…”

jadi hasilnya seperti ini :

netbeans_default_options=”….. –laf javax.swing.plaf.metal.MetalLookAndFeel”

sekarang jalankan lagi netbeasn nya, maka lookandfeel netbeans sekarang akan menjadi Metal.  tampilannya akan menjadi jelek sih :D tapi ini lebih cepat jika dibandingkan lookandfeel yang native dengan sistem operasi yang digunakan :D . Hasilnya seperti ini :

NetBeans IDE

NetBeans IDE

SEMOGA BERHASIL!!! :D

Posted in NetBeans Tagged: bagaimana cara mempercepat netbeans, bagaimana cara optimisati netbeans, download, download netbeans ide, Java, mempercepat kinerja netbeans, NetBeans, netbeans ide the only ide you need, optimisati performa netbeans, PHP, Ruby, tutorial cara optimisasi netbeans ide, tutorial netbeans

Eko Kurniawan Khannedy » NetBeans - December 14, 2009 12:41 PM
Mobile Nada – Aplikasi Pembelajaran Nada Berbasis Java Mobile


Sejujurnya saya tidak mengerti tentang Java Micro Edition. Ini adalah hasil belajar ngedadak saya selama 2 hari :D , dan saya terpaksa membuat aplikasi ini karena memang diharuskan oleh dosen saya untuk membuat aplikasi berbasis mobile. Namanya Mobile Nada, aplikasi ini merupakan aplikasi yang digunakan untuk pembelajaran tangga nada. aplikasi ini dikhususkan untuk anak umur 10-12 tahun. jadi gak ada hal-hal yang komplek.

Mobile Nada

Mobile Nada

aplikasi ini merupakan aplikasi pembelajaran, jadi pertama ada menu belajar dan juga ada menu bermain, dimana pada bagian belajar anak-anak akan diajari cara menggunakan aplikasi Mobile Nada ini. dan pada bagian bermain, anak-anak akan bermain sekaligus mengasah kemampuan mengenal tangga nada :D

Mobile Nada

Mobile Nada

Mobile Nada

Mobile Nada

Mobile Nada

Mobile Nada

Silahkan download aplikasinya disini :

http://swing-usu.googlecode.com/files/mobile-nada.zip

Buka dengan NetBeans

:D

Posted in Java Programming, NetBeans, Open Source, Without Category Tagged: aplikasi pengenalan nada, download, download aplikasi pengenalan nada, download gratis, free download, gratis, j2ee, j2me, j2se, Java, java tutorial, jee, jme, NetBeans, opensource java mobile project, opensource java project

Eko Kurniawan Khannedy » NetBeans - December 14, 2009 12:51 AM
Mirror NetBeans di Indonesia


netbeans

NetBeans 6.8

Saat ini netbeans 6.8 dah release, dari diskusi di jug-bandung, sering sekali terjadi error saat download langsung dari server netbeans. selain itu kadang download langsung dari server netbeans tidak bisa di resume setelah koneksi putus.

tapi tidak usah kawatir, sekarang sudah ada mirror netbeans di indonesia. sehingga anda dapat dengan cepat download netbeans dan juga direct download. silahkan cek disini :

ftp://kambing.ui.ac.id/netbeans

enjoy :D

Posted in NetBeans Tagged: download, download netbeans, Java, mirror netbeans, NetBeans, repositori netbeans, tutorial netbeans

Martinus Ady H. BloG » NetBeans - December 09, 2009 06:27 PM
Mengenal Situs PasteBin

Buat teman-teman yang sering chatting di IRC (Internet Relay Chat) pasti-nya sudah tidak asing lagi dong dengan situs pastebin ini, nah sedangkan untuk teman-teman yang belum tahu apa sih situs pastebin ini ? Situs pastebin ini merupakan jasa layanann untuk keperluan paste-memaste file source code atau file konfigurasi yang bersifat gratis, nah selain itu yang lebih keren dari situs ini yaitu adalah dukungan terhadap perwarnaan source code yang kita paste di pastebin ini.

Nah sekarang bagaimana sih cara menggunakan situs pastebin ini ? Bayangkan sekarang teman-teman berada dalam posisi sedang mengalami masalah yang sangat pelik (konfigurasi di server GNU/Linux sudah di ganti-ganti tapi service belum jalan juga, atau koding udah seharian tapi aplikasi masih berjalan dengan tidak semestinya), nah kalau kita sedang mengalami masalah diatas ada beberapa alternatif untuk mencari bantuan yaitu:

  • Gunakan Google
  • Tanya ke Milis Komunitas
  • Tanya ke forum

Nah dari beberapa solusi diatas, kita masih belum bisa mem-prediksi kapan kira-kira kita akan mendapatkan balasan dari pertanyaan yang akan kita ajukan kan. Karena kita tidak tahu pasti kapan akan mendapatkan jawaban dari pertanyaan kita, sekarang bagaimana kalau masalah yang kita hadapi ini sangat vital sekali dan harus selesai dalam hari ini juga atau yang lebih extreme lagi harus selesai dalam 1 jam kedepan ? Tinggal 1 solusi terakhir yaitu, gunakan fasilitas chatting. Karena hanya dengan melalui chatting kita bisa mendapatkan jawaban saat ini juga :)

Tapi kalau kita chatting di channel IRC atau via YahooMessenger, kita juga harus tahu beberapa aturan yang tidak tertulis agar kita cepat mendapatkan respon balik dari pertanyaan kita. Salah satu aturan tidak tertulis di beberapa channel IRC yaitu JANGAN MELAKUKAN FLOODING, flooding disini maksudnya yaitu jangan mengirimkan text lebih dari 3 baris dalam 1 waktu jika kita tidak ingin di kick atau banned dari operator channel tersebut :) Nah sekarang bagaimana dong kalau misalkan saya harus mem-paste isi dari file konfigurasi atau source code saya ke channel IRC tersebut ? Nah disinilah guna-nya situs pastebin tersebut, paste-kanlah file konfigurasi atau source code yang ingin ditanyakan ke pastebin kemudian beri alamat hasil paste tersebut ke channel IRC atau teman chatting anda di YahooMessenger. Mudah dan sederhana bukan ? :)
(more…)

Eko Kurniawan Khannedy » NetBeans - December 04, 2009 11:33 AM
Milis JUG (Java User Group) Bandung is Online!!


JUG-Bandung

Jug-Bandung merupakan komunitas pengguna Java yang beraktifitas di Jawa Barat khususnya di wilayah Bandung. Dalam komunitas ini kita dapat berdiskusi seputar masalah atau perkembangan-perkembangan teknologi Java.

Anggota Jug-Bandung ini tidak hanya harus yang berdomisili di Jawa Barat. Namun bisa siapapun yang berdomisili dimanapun. Tujuan komunitas ini adalah saling berbagi ilmu sesama anggota.

http://groups.google.com/group/jug-bandung

Partner Jug-Bandung :

Osug-Bandung

Posted in Java Programming, NetBeans, Nice Website Tagged: bandung, download, j2ee, j2se, Java, Java Programming, java tutorial, JDK, jee, jfx, jme, JSE, jug bandung, jugi, komunitas java bandung, komunitas java indonesia, komuntias java, komuntias netbeans indonesia, NetBeans, netbeans indonesia, opensolaris group bandung, osug bandung, paris van java

Eko Kurniawan Khannedy » NetBeans - December 03, 2009 05:15 PM
Menjadikan NetBeans Sebagai Database Query Browser « OpenScreen


pada screencast episode kali ini membahas tentang cara menjadikan netbeans sebagai database query browser, yaitu tool untuk melakukan proses manipulasi ke database baik itu berupa perintah INSERT, UPDATE, DELETE, CREATE sampai SELECT.

Silahkan download scrrencastnya disini :

http://tiny.cc/u5CL3

Link-link terkait :

http://www.netbeans.org/

http://www.mysql.com/

Posted in NetBeans, OpenScreen Tagged: download gratis, download tutorial java, download video tutorial java, free screencast, Java, javascreencast, NetBeans, OpenScreen, screencast, tutorial java, video tutorial, video tutorial gratis java

Martinus Ady H. BloG » NetBeans - December 01, 2009 07:01 AM
Getting Your BIOS Vendor Information in GNU/Linux

Bingung bagaimana cara mendapatkan informasi dari BIOS (Basic Input/Ouput System) di Sistem Operasi GNU/Linux ? Jika iya, mungkin teman-teman perlu melihat lagi isi dari direktori /sys/class/dmi/id/ yang didalam-nya terdapat beberapa file yang isinya kurang lebih seperti ini :

root@martinusadyh:[~]# ls /sys/class/dmi/id/
bios_date     board_asset_tag  board_vendor       chassis_serial  chassis_version  product_name    product_version  uevent
bios_vendor   board_name       board_version      chassis_type    modalias         product_serial  subsystem@
bios_version  board_serial     chassis_asset_tag  chassis_vendor  power/           product_uuid    sys_vendor
root@martinusadyh:[~]#

Nah sedangkan isi dari file-file tersebut kurang lebih isi-ya seperti dibawah ini :

root@martinusadyh:[~]# cat /sys/class/dmi/id/product_uuid
44454C4C-4800-104B-804D-B1C04F4C4B31
root@martinusadyh:[~]# cat /sys/class/dmi/id/chassis_serial
1HKMLK1
root@martinusadyh:[~]# cat /sys/class/dmi/id/board_serial
.1HKMLK1.CN1296197P0164.
root@martinusadyh:[~]# cat /sys/class/dmi/id/board_name
0186NX
root@martinusadyh:[~]# cat /sys/class/dmi/id/sys_vendor
Dell Inc.
root@martinusadyh:[~]# cat /sys/class/dmi/id/bios_version
A01
root@martinusadyh:[~]#

Note: Beda hardware harus-nya informasi yang ditampilkan juga berbeda. Jadi informasi diatas tergantung dari hardware yang teman-teman gunakan

Semoga sedikit informasi ini bisa berguna buat teman-teman :) Maklum saya juga baru tahu koq :D

Link-link terkait :
- Basic Input/Output System
- No More dmidecode

Martinus Ady H. BloG » NetBeans - November 24, 2009 06:21 PM
Changing Editor Fonts In NetBeans IDE

Kemarin habis baca-baca artikel tentang Top 10 Programming Fonts, akhir-nya jadi iseng-iseng deh cobain ganti font di editor-nya NetBeans IDE supaya lebih betah lama-lama ngetik-nya :D

Nah buat teman-teman yang ingin berburu font, mungkin bisa mengunjungi situs Top 10 Programming Fonts untuk melihat-lihat font mana yang cocok kemudian download dan install deh :) Setelah proses download selesai, untuk menginstall font tersebut di GNU/Linux kita harus memasukkan font tersebut ke dalam direktori /usr/share/fonts/TTF agar font tersebut dikenali oleh user lain yang terdapat di sistem. Tapi kalau kita cuma ingin testing aja, kita bisa memasukkan font tersebut kedalam direktori .fonts yang terdapat di direktori home user kita masing-masing :)

Bagaimana kalau direktori .fonts belum ada ? Ya mari kita buat direktori tersebut dengan perintah seperti dibawah ini :

martinus@martinusadyh:[~]$ mkdir ~/.fonts
martinus@martinusadyh:[~]$

Setelah itu kopikan font yang sudah di download kedalam direktori ~/.fonts tersebut seperti dibawah ini :

martinus@martinusadyh:[~]$ cp Inconsolata.ttf ~/.fonts/
martinus@martinusadyh:[~]$ cd ~/.fonts/
martinus@martinusadyh:[~/.fonts]$ ls
Inconsolata.ttf
martinus@martinusadyh:[~/.fonts]$

Sekarang mari kita update dahulu font cache kita dengan menjalankan perintah fc-cache -f -v agar font yang kita tambahkan bisa dikenali oleh NetBeans seperti dibawah ini :

martinus@martinusadyh:[~/.fonts]$ fc-cache -f -v
/usr/share/fonts/OTF: caching, new cache contents: 23 fonts, 0 dirs
/usr/share/fonts/TTF: caching, new cache contents: 92 fonts, 0 dirs
/usr/share/fonts/Type1: caching, new cache contents: 64 fonts, 0 dirs
/usr/share/fonts/Speedo: caching, new cache contents: 0 fonts, 0 dirs
/usr/share/fonts/cyrillic: caching, new cache contents: 0 fonts, 0 dirs
/usr/share/fonts/misc: caching, new cache contents: 59 fonts, 0 dirs
/home/martinus/.fonts: caching, new cache contents: 1 fonts, 0 dirs
/var/cache/fontconfig: not cleaning unwritable cache directory
/home/martinus/.fontconfig: cleaning cache directory
fc-cache: succeeded
martinus@martinusadyh:[~/.fonts]$

(more…)

Martinus Ady H. BloG » NetBeans - November 19, 2009 07:44 PM
Membuat Menu Accordion Di Java Swing

Akhir-nya kesampaian juga menulis tentang Menu Accordion Di Java Swing ini :) Soalnya dulu bingung menu yang saya buat ini namanya apaan :malu: , nah buat teman-teman ada yang belum tahu apa itu Menu Accordion mungkin bisa coba baca-baca artikel Mengenal Menu Accordion dahulu :) Nah jika sudah tahu tentang apa itu Menu Accordion sekarang mari kita lihat contoh beberapa aplikasi dan library yang menggunakan atau menyertakan Menu Accordion

Contoh Aplikasi Yang Menggunakan Menu Accordion

OpenOffice.org Impress
OpenOffice.org Impress menyertakan model menu dengan tipe Accordion yang dapat kita lihat seperti gambar dibawah ini :
AccordionInOOoImpress
OOo Impress Accordion Menu In Action

Plazma ERP
Plazma ERP adalah sebuah aplikasi ERP yang dibangun dengan menggunakan Java dan SWT sebagai solusi GUI Toolkit-nya :) , menurut saya Plazma ERP mempunyai UI yang sangat elegan dan cantik ditambah lagi dengan Menu Accordion-nya yang tampak seperti gambar dibawah ini :
AccordionInPlazmaERP
Plazma ERP Accordion Menu In Action

(more…)

Eko Kurniawan Khannedy » NetBeans - November 15, 2009 12:38 PM
Mempercepat Proses Load Data di Java Menggunakan Cache


Motivasi

sebelum saya bahas tentang mempercepat proses load data di java menggunakan cache, saya akan bahas dahulu tentang apa saja manfaat yang akan didapat setelah mambaca artike ini. secara sederhana anda akan mengetahui :

  • cara mempercepat proses load menggunakan cache.
  • bagaimana cara kerja cache sehingga dapat mempercepat proses laod data.
  • cara menerapkan cache pada sistem anda.
  • framework yang dapat digunakan sebagai cache.

sekarang jika anda sekiranya tidak tertarik dengan manfaat artikel ini, anda bisa tidak melanjutkan membacanya, namun jika tertarik anda dapat meneruskan untuk membaca artikel ini.

Apa itu Cache?

sebelum tahu bagaimana cara mempercepat proses load data menggunakan cache, tentulah anda harus mengetahui dulu tentang apa itu cache.

Cache adalah kumpulan dari duplikasi data yang disimpan di suatu media. dimana data orisinil dari duplikasi tersebut membutuhkan biaya yang mahal untuk diakses, seperti waktu yang lama, ataupun proses yang memakan resource processor banyak.

sekarang yang jadi pertanyaan, data yang bagaimana yang bagus untuk dibuat cache-nya, dan dimanakan kita harus menyimpan cache tersebut?

sudah tidak bisa dipungkiri lagi jika setiap sistem pasti membutuhkan media penyimpanan, dan kebanyakan media penyimpanan tersebut adalah disk. misal seperti database, ataupun file biasa. ataupun biasanya sistem menyimpan data dalam memori. biasanya data yang disimpan dalam memori itu bukanlah data yang bersifat permanen, biasanya jika datanya bersifat permanen, maka diharuskan disimpan dalam disk.

anggap saja saat ini kita sedang menggunakan sistem yang berbasis database. artinya kita menggunakan database sebagai media penyimpan datanya. dan hal ini berarti data tersebut disimpan dalam disk. (kecuali menggunakan database berbasis memori seperti HSQLDB, anggap saja kita sekarang menggunakan database yang datanya disimpan dalam disk).

perlu diketahui juga kalo proses disk io yang dilakukan oleh database, baik itu ketika menyimpan data ataupun meload data bukanlah proses yang gampang. proses tersebut meruapkan proses yang mahal. kenapa bisa dibilang proses yang mahal? karena ada proses yang lebih murah dari proses tersebut :D

yup! proses yang lebih murah tersebut adalah memori io, yang artinya pengaksesan data dari disk itu lebih mahal dari pada pengaksesan data dari memori. mengakses data dari file akan membutuhkan waktu yang lama dimandingkan mengakses data dati memori. dan mengakses data dari disk membutuhkan resource processor lebih besar dari pada mengakses data dari memori. (makanya harga memori lebih mahal dari harga hardisk :D )

gak percaya kalo memori lebih cepat dari disk? coba tanya ke orang teknik komputer :D

sekarang yang menjadi pertanyaannya adalah, bagaimana cara kita meyimpan cache dalam memori?

Arsitektur Menggunakan Cache

sebelum menggunakan cache, biasanya kita membuat sistem berbasis database seperti dibawah ini :

Before

dimana biasanya aplikasi langsung terkoneksi ke database, sehingga proses insert, update, delete, dan select akan langsung dilakukan ke database. namun seperti yang dibahas sebelumnya, karena proses disk io dalam database itu prosesnya cukup mahal, maka adabaiknya kita menggunakan cache untuk menggulangi masalah tersebut. dimana kita akan menggunakan memori sebagai media penyimpanan cache tersebut. sehingga arsitekturnya akan seperti ini :

After

lho kenapa tetap menggunakan database?

tentu saja, karena sifat memori yang akan menghapus data ketika sumber daya mati, maka kita tidak bisa menggunakan memori sebagai media penyimpanan utama. jadi tetap walaupun kita menyimpan cache di memori, tetapi tetap data original harus ada dalam database, sehingga saat sistem mati, data tetap ada.

Implementasi Dalam Java

sekarang pertanyaannya, “bagaimana cara mengimplementasikan cache di java?

seperti biasa, biasanya orang java selalu menggunakan konsep yang namanya Data Access Object saat membuat sistem berbasiskan database. anggap saja misal kita memiliki entitas Manusia, maka biasanya dibuatlah data access object untuk entitas tersebut :

package echo.khannedy.cacheload.mapper;

import echo.khannedy.cacheload.entity.Manusia;

public interface ManusiaMapper {

	void saveManusia(Manusia manusia);

	void updateManusia(Manusia manusia);

	void deleteManusia(Long id);

	Manusia getManusia(Long id);

}

jika anda belum mengerti tentang konsep dao, anda bisa membacanya disini :

dan biasanya kita membuat implementasi dao tersebut seperti ini :

package echo.khannedy.cacheload.implement;

import echo.khannedy.cacheload.entity.Manusia;
import echo.khannedy.cacheload.mapper.ManusiaMapper;

public class ManusiaMapperImpl implements ManusiaMapper {

	@Override
	public void deleteManusia(Long id) {
		// mulai transaksi
		database.beginTransaction();

		// hapus data yang ada di database
		database.deleteById(Manusia.class, id);

		// commit transaksi
		database.commit();
	}

	@Override
	public Manusia getManusia(Long id) {
		// mulai transaksi
		database.beginTransaction();

		// load data yang ada dalam database
		Manusia manusia = database.getById(Manusia.class, id);

		// commit transaksi
		database.commit();

		return manusia;
	}

	@Override
	public void saveManusia(Manusia manusia) {
		// mulai transaksi
		database.beginTransaction();

		// simpan data ke database
		database.save(Manusia.class, manusia);

		// commit transaksi
		database.commit();
	}

	@Override
	public void updateManusia(Manusia manusia) {
		// mulai transaksi
		database.beginTransaction();

		// ubah data di database
		database.update(Manusia.class, manusia);

		// commit transaksi
		database.commit();
	}

}

nah sekarang bagaimana membuat cache? seperti pada penjelasannya bahwa cache itu adalah kumpulan duplikasi data, artinya cache ini berisikan data. sehingga dengan demikian kita bisa menggunakan collection untuk dijadikan cache tersebut. namun yang menjadi permasalaan adalah, bagai mana kita tahu jika ada data yang kita mau dalam cache?

untuk mengatasi masalah tersebut, kita harus menggunakan identitas untuk tiap object dalam cache. sehingga collection yang mensupport pengidentitasan menggunakan id adalah java.util.Map, dimana jika kita menggunakan java.util.List, maka kita hanya bisa menyimpan object tanpa memberi identitas.

dan karena pada kasus ini kita menggunakan entitas Manusia, jadi kita buat juta cache untuk entitas Manusia dengan nama ManusiaCache :

package echo.khannedy.cacheload.cache;

import java.util.HashMap;
import java.util.Map;

import echo.khannedy.cacheload.entity.Manusia;

public class ManusiaCache {

	// buat collection dari map
	private Map<Long, Manusia> map = new HashMap<Long, Manusia>();

	/**
	 * metode ini bisa digunakan untuk menambah data ke cache ataupun mengubah
	 * data di cache
	 *
	 * @param manusia
	 */
	public void put(Manusia manusia) {
		// simpan data ke map
		map.put(manusia.getId(), manusia);
	}

	/**
	 * metode ini digunakan untuk menghapus data di cache
	 *
	 * @param id
	 */
	public void delete(Long id) {
		map.remove(id);
	}

	/**
	 * metode ini digunakan untuk mendapatkan data di cache
	 *
	 * @param id
	 * @return manusia atau null jika tidak terdapat data manusia dengan id
	 *         tersebut
	 */
	public Manusia get(Long id) {
		return map.get(id);
	}

}

dengan demikian kita ubah juga data access object Manusia menjadi seperti dibawah ini :

package echo.khannedy.cacheload.implement;

import echo.khannedy.cacheload.cache.ManusiaCache;
import echo.khannedy.cacheload.entity.Manusia;
import echo.khannedy.cacheload.mapper.ManusiaMapper;

public class ManusiaMapperImpl implements ManusiaMapper {

	private ManusiaCache cache = new ManusiaCache();

	@Override
	public void deleteManusia(Long id) {
		// mulai transaksi
		database.beginTransaction();

		// hapus data yang ada di database
		database.deleteById(Manusia.class, id);
		// hapus data di cache
		cache.delete(id);

		// commit transaksi
		database.commit();
	}

	@Override
	public Manusia getManusia(Long id) {
		// load data di cache
		Manusia manusia = cache.get(id);

		// cek apakah data tidak ada dalam cache
		if(manusia == null){
			// jika data tidak ada dalam cache, maka load dari database

			// mulai transaksi
			database.beginTransaction();

			// load data di database
			manusia = database.getById(Manusia.class, id);
			// simpan data ke cache
			cache.put(manusia);

			// commit transaksi
			database.commit();
		}

		return manusia;
	}

	@Override
	public void saveManusia(Manusia manusia) {
		// mulai transaksi
		database.beginTransaction();

		// simpan data ke database
		database.save(Manusia.class, manusia);
		// simpan data ke cache
		cache.put(manusia);

		// commit transaksi
		database.commit();
	}

	@Override
	public void updateManusia(Manusia manusia) {
		// mulai transaksi
		database.beginTransaction();

		// ubah data di database
		database.update(Manusia.class, manusia);
		// ubah data di cache
		database.put(manusia);

		// commit transaksi
		database.commit();
	}

}

dengan demikian saat terjadi proses load data maka proses ini yang akan dilakukan :

  • load data dari cache
  • cek apakah data di cache ada
  • jika data ada maka proses selesai
  • jika data tidak ada dalam cache maka load data yang ada didatabase
  • setelah data yang ada didatabase diload, simpan data tersebut di cache
  • selesai

dengan demikian saat sistem melakukan load data yang ada dicache dan ditemukan, maka sistem sama sekali tidak menyentuh database untuk meload data. dan hal ini tentu akan menjadikan proses load data lebih cepat.

namun jika data tidak ada dalam cache, maka data akan diload dari database, dan setelah itu data tersebut akan disimpan dalam cache. dengan ini proses selanjutnya maka load akan dilakukan ke cache tanpa harus ke database lagi :D

pada artikel ini, kita telah membuat cache secara manual, artinya kita membuat cache sendiri. namun jika anda ingin menggunakan cache yang lebih powerfull anda dapat menggunakan framework-framework cache yang telah ada seperti :

terima kasih telah membaca artikel ini, semoga ilmu anda dan saya semakin bertambah :D

Posted in Java Programming, NetBeans Tagged: cache, cache io, cache memori, cara mempercepat proses database di java, dao, data access object, Database, database crud, database java, delete, disk, disk io, insert, Java, memory io, mempercepat java, mempercepat proses database di java, mempercepat proses load di java menggunakan cache, optimisasi java, pemrograman java, proses java database, tutorial java database, tutoruial java, update

Martinus Ady H. BloG » NetBeans - November 09, 2009 12:02 PM
Membuat Menu Login Di Java Swing dengan Animasi Progress Bar

Setelah kita mengerti tentang Thread-thread dasar yang terdapat pada Java Swing dan mengetahui bagaimana cara menggunakan Background Thread dengan SwingWorker (pembahasan tentang SwingWorker bisa dilihat pada tulisan Lebih Dekat Dengan Class SwingWorker), sekarang mari kita coba membuat sebuah Project yang menggunakan Menu Login yang proses otentikasinya kita lakukan langsung ke database :)

Sebelum memulai latihan kali ini, ada beberapa hal yang harus dipersiapkan terlebih dahulu yaitu :
- Inisialisasi Master Data Pada DataBase
- Pembuatan Project Menu Login
- Hasil Akhir

Pada tulisan kali ini saya tidak akan memberikan penjelasan source code dari baris ke baris seperti pada tulisan-tulisan sebelumnya, tetapi sebagai gantinya penjelasan dapat dilihat pada komentar yang terdapat pada source code yang bersangkutan supaya lebih mudah di ingat-ingat nantinya :)
(more…)

Martinus Ady H. BloG » NetBeans - November 07, 2009 11:35 PM
Lebih Dekat Dengan Class SwingWorker

Beberapa minggu terakhir ini, saya mendapatkan 2 pertanyaan tentang Bagaimana sih agar progress bar bisa berjalan pada saat proses Query ? dan Bagaimana sih cara membuat sebuah login dialog yang menampilkan progress bar ? Nah karena 2 pertanyaan tersebut saling berkaitan menurut saya (sama-sama ingin menjalankan Progress Bar pada saat aplikasi sedang menjalankan tugas/proses yang lain) maka akan saya jawab bersama-sama pada tulisan ini :) . Nah sebelum kita masuk ke penjelasan lebih detail, kita harus tahu dahulu dong kenapa kita tidak bisa secara langsung menjalankan progress bar di saat kita melakukan proses yang lain ? Ada yang tahu kenapa ? Ini karena semua “Event Handling” yang terdapat pada Java Swing dijalankan oleh Thread yang bernama Event Dispatch Thread (EDT) Waks.. Thread ? Yaps betul Thread :)

Agar aplikasi yang kita bangun di Java Swing tidak terlihat nge-“freeze” (tidak responsif/nge-hang), maka kita juga perlu tahu beberapa Thread yang terdapat di Java Swing. Thread-thread tersebut yaitu :

  1. Initial Thread
    Thread ini bertugas untuk menjalankan method main dari aplikasi Swing kita dan thread ini bertugas untuk menampilkan GUI (Graphical User Interface) yang sudah kita bangun diatas Swing ke layar. Setelah GUI (Graphical User Interface) tampil, maka kerja dari thread ini telah selesai dan akan dilanjutkan oleh Event Dispatch Thread.
  2. Event Dispatch Thread
    Setiap aplikasi berbasis Java Swing hanya dapat mempunyai 1 Event Dispacth Thread (EDT) saja. Setiap respon dari penekanan tombol, menu item, update tampilan komponen akan dijalankan oleh thread ini. Dan semua proses tersebut biasanya tidak membutuhkan waktu yang lama. Jadi, segala proses yang dijalankan pada thread ini harus selesai secepat mungkin agar aplikasi kita tidak terlihat nge-“freeze” (tidak responsif/nge-hang) .
  3. Worker Thread
    Worker thread atau biasanya disebut dengan background thread ini berfungsi untuk menjalankan proses yang lama seperti pembacaan direktori pada file system atau proses query ke database. Gunakan thread ini untuk melakukan operasi atau proses yang kita tidak bisa menentukan kapan kira-kira proses tersebut selesai.

(more…)

Martinus Ady H. BloG » NetBeans - November 06, 2009 08:18 AM
Editing Your PDF With OpenOffice

Pernah merasa butuh mengedit file PDF ? Jika jawaban-nya adalah Ya dan file PDF yang ingin di edit/dimodifikasi tidak begitu kompleks mungkin kita bisa menggunakan Sun PDF Import Extension dari OpenOffice.org yang bisa kita gunakan untuk memodifikasi file PDF :) Sedangkan beberapa fitur yang akan kita dapatkan jika kita menginstall extension
Sun PDF Import Extension
ini adalah :

- Text attributes like font family, font size, weight (bold, not bold), style (italic, not italic) are imported together with their respective text
- Retain font appearance, when a PDF file uses a font not installed on your system, the font is replaced with the best alternative font
- Converts images and vector graphics
- Each line in a paragraph is converted into one text object
- Import of password-protected PDF files
- Import shapes with default style
- Support for colors and bitmaps
- Backgrounds remain behind other elements

Sedangkan beberapa fitur yang belum didukung yaitu :

- Native PDF forms
- Proper paragraphs
- Processing layout of LaTeX PDF
- Import of complex vector graphics elements
- Conversion of tables
- Import of EPS graphics
- RTL (right-to-left) text/font support

(more…)

Martinus Ady H. BloG » NetBeans - October 31, 2009 08:05 PM
Background Image in JDesktopPane

Bingung bagaimana caranya menambahkan background image ke dalam JDesktopPane di NetBeans IDE ? Nah kalau bingung, sekarang buatlah sebuah project dahulu di NetBeans IDE kemudian buatlah 1 buah Java Class dengan nama JImageDesktopPane (nama class terserah keinginan masing-masing :) ) kemudian pastekan kode dibawah ini :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package jdesktoppanebackground;
 
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.JDesktopPane;
 
/**
 *
 * @author Martinus Ady H <mrt.itnewbies@gmail.com>
 */
public class JImageDesktopPane extends JDesktopPane {
 
    private Image image;
 
    public JImageDesktopPane() {
    }
 
    @Override
    protected void paintComponent(Graphics g) {
        try {
            image = new javax.swing.ImageIcon(getClass().getResource("netbeans6ns0.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("Can't find images !!");
        }
    }
}

Baris paling penting diatas terdapat pada baris ke 25, karena pada baris ke 25 kita mencoba mengambil gambar yang ingin kita jadikan sebagai Background Image dan sedangkan method paintComponent(Graphics g) pada baris 23-37 ini kita gunakan jika kita ingin mengubah-ubah tampilan dari JComponent di Java Swing :)

Nah jika sudah selesai, sekarang simpan gambar dibawah ini dengan nama netbeans6ns0.png pada direktori project
netbeans6ns0
Save Image As Gambar Ini

(more…)

Martinus Ady H. BloG » NetBeans - October 30, 2009 08:16 PM
Solving Problem in com.sun.tools.javac.code.Symbol$CompletionFailure: class file for javax.persistence.TemporalType not found

Bingung dengan judul diatas ? Saya sendiri sebenarnya juga bingung karena kejadian yang saya alami ini juga kadang-kadang saja terjadi :( . Dan seperti-nya ini berkaitan dengan project yang menggunakan JPA (menggunakan TopLink atau Hibernate JPA di NetBeans IDE) , ceritanya saya mendapatkan pesan error seperti dibawah ini ketika melakukan proses kompilasi project :

/home/martinus/JDKBUG/project-jdkbug-gen/com.artivisi.jdkbug.domain/dist/com.artivisi.jdkbug.domain.jar(com/artivisi/jdkbug/domain/SampleDomain.class): warning: Cannot find annotation method 'name()' in type 'javax.persistence.Table': class file for javax.persistence.Table not found
/home/martinus/JDKBUG/project-jdkbug-gen/com.artivisi.jdkbug.domain/dist/com.artivisi.jdkbug.domain.jar(com/artivisi/jdkbug/domain/SampleDomain.class): warning: Cannot find annotation method 'mappedBy()' in type 'javax.persistence.OneToMany': class file for javax.persistence.OneToMany not found
An exception has occurred in the compiler (1.6.0_16). Please file a bug at the Java Developer Connection (http://java.sun.com/webapps/bugreport)  after checking the Bug Parade for duplicates. Include your program and the following diagnostic in your report.  Thank you.
com.sun.tools.javac.code.Symbol$CompletionFailure: class file for javax.persistence.TemporalType not found
/home/martinus/JDKBUG/project-jdkbug-gen/com.artivisi.jdkbug.ui/nbproject/build-impl.xml:349: The following error occurred while executing this line:
/home/martinus/JDKBUG/project-jdkbug-gen/com.artivisi.jdkbug.service/nbproject/build-impl.xml:365: The following error occurred while executing this line:
/home/martinus/JDKBUG/project-jdkbug-gen/com.artivisi.jdkbug.service/nbproject/build-impl.xml:168: Compile failed; see the compiler error output for details.
BUILD FAILED (total time: 1 second)

Nah aneh-nya library Hibernate-JPA sudah saya tambahkan pada project-domain dan project-service-impl, kalau saya melakukan proses kompilasi di project-domain dan di project-service-impl masalah ini tidak timbul. Tapi kalau melakukan proses kompilasi dari UI, baru deh muncul itu pesan error :(

Coba googling cuma mendapatkan 3 link saja, yang sepertinya menandakan bahwa jarang yang mendapatkan pesan error seperti di atas :( Setelah membaca Bug ID 6550655 ternyata solusinya gampang, yaitu tambahkan library TopLink atau Hibernate JPA di setiap project yang membutuhkan project-domain :)

Semoga berguna buat teman-teman yang mengalami kasus yang sama :D :)

Eko Kurniawan Khannedy » NetBeans - October 22, 2009 10:04 AM
[Video Tutorial Java Desktop] Mengubah Tampilan TabelCellRenderer untuk Color


Pada javacasts kali ini saya akan mendemokan bagaimana cara mengubah tampilan cell pada JTable agar menampilkan warna, sehingga saat kita menampilkan data warna (Color), cell bukan menampilkan tulisan warna, namun memperlihatkan warna yang sesungguhnya.

silahkan download screencastnya disini :

http://www.indowebster.com/tablecellrenderercolor.html

bingung cara download? liat disini caranya :

http://eecchhoo.wordpress.com/2009/10/22/cara-download-di-indowebster/

:D

Posted in Java Programming, NetBeans Tagged: download, download video, Java, javaswing, tutorial, tutorial gratis, tutorial indowebster, tutorial java, video gratis, video tutorial, video tutorial gratis

Martinus Ady H. BloG » NetBeans - October 17, 2009 08:32 PM
Mengenal Opsi Verbose Pada Perintah Java

Pasti teman-teman sekarang sudah tahu kan bagaimana cara menjalankan aplikasi yang ditulis dengan menggunakan bahasa pemrograman Java ? Yaps cara-nya sih sangat sederhana, kita tinggal mengetikkan perintah java [nama_class] untuk menjalankan sebuah class di java dan mengetikkan perintah java -jar [nama_app.jar] untuk menjalankan sebuah file jar di java :) Nah sekarang jika sudah tahu, pernahkah teman-teman melihat opsi apa saja yang terdapat pada perintah java ??? Kalau ada yang bingung bagaimana cara menampilkan opsi yang terdapat pada perintah java, cobalah jalankan perintah java tanpa memberikan parameter apapun dan jika benar maka kita akan mendapatkan tampilan seperti dibawah ini :

martinus@martinusadyh:~/Latihan/Java$ java
Usage: java [-options] class [args...]
           (to execute a class)
   or  java [-options] -jar jarfile [args...]
           (to execute a jar file)

where options include:
    -d32          use a 32-bit data model if available

    -d64          use a 64-bit data model if available
    -client	  to select the "client" VM
    -server	  to select the "server" VM
    -hotspot	  is a synonym for the "client" VM  [deprecated]
                  The default VM is server,
                  because you are running on a server-class machine.

    -cp 
    -classpath 
                  A : separated list of directories, JAR archives,
                  and ZIP archives to search for class files.
    -D=
                  set a system property
    -verbose[:class|gc|jni]
                  enable verbose output
    -version      print product version and exit
    -version:
                  require the specified version to run
    -showversion  print product version and continue
    -jre-restrict-search | -jre-no-restrict-search
                  include/exclude user private JREs in the version search
    -? -help      print this help message
    -X            print help on non-standard options
    -ea[:
…|:]
    -enableassertions[:
…|:]
                  enable assertions
    -da[:
…|:]
    -disableassertions[:
…|:]
                  disable assertions
    -esa | -enablesystemassertions
                  enable system assertions
    -dsa | -disablesystemassertions
                  disable system assertions
    -agentlib:
[=]
                  load native agent library
, e.g. -agentlib:hprof
                    see also, -agentlib:jdwp=help and -agentlib:hprof=help
    -agentpath:
[=]
                  load native agent library by full pathname
    -javaagent:[=]
                  load Java programming language agent, see java.lang.instrument
    -splash:
                  show splash screen with specified image
martinus@martinusadyh:~/Latihan/Java$

(more…)

Martinus Ady H. BloG » NetBeans - October 05, 2009 06:00 PM
Mengenal Method setHonorVisibility() dan replace() pada GroupLayout

Buat teman-teman pengguna NetBeans IDE, pasti sudah tahu fitur baru di NetBeans versi 6.7 kan. Yak, adanya penambahan integrasi dengan Project Kenai :) Terus terang saya sendiri belum pernah pakai Project Kenai , tapi kemarin iseng cobain fitur Project Kenai di NetBeans IDE dan ternyata humm ada yang keren loh :) Mungkin buat yang belum tahu, coba deh lihat di status bar NetBeans versi 6.7.1, disana ada 1 tambahan icon yang tampilan-nya seperti gambar dibawah ini (tempat-nya ada di pojok kanan bawah):
ToolBarKenai
Tampilan Icon Project Kenai Pada StatusBar NetBeans

Tidak ada yang spesial dengan icon diatas, tapi sekarang coba klik 2 kali pada icon tersebut kemudian coba deh tekan tombol login tanpa memasukkan username dan password. Dan hasil-nya adalah seperti gambar dibawah ini :
Login
Tampilan Awal Login Dialog

ProsesLogin
Ketika Tombol Login Di Tekan

LoginFailed
Login Failed, Pesan Kesalahan Berada Pada Posisi JProgressBar

Hmm… ada yang aneh dari UI diatas ?? Klo menurut saya ada yang aneh, coba deh lihat lagi pada gambar dialog login dan proses login di atas. JToolBar-nya bisa muncul diantara label No account on Kenai.com? Sign up now. dan tombol Login. Kenapa aneh, setahu saya klo kita menggunakan GroupLayout secara standart dan kita ingin menyembunyikan komponen ditengah-tengah komponen yang lain dengan menggunakan method setVisible() hasil-nya pasti jelek :D Ok sekarang mari kita coba, bikinlah 1 project java kemudian tambahkanlah JDialog dan design seperti gambar dibawah ini :
DesignLogin
Design Login Dialog

(more…)

Martinus Ady H. BloG » NetBeans - September 14, 2009 05:35 AM
DBF2MySQL with OpenOffice Base

Pernah merasa pusing bagaimana memindahkan database dari tabel yang bertipe DBF (biasanya sih ini dari aplikasi yang berbasis Foxpro 2.6 dan Clipper yang jalan di DOS) ke MySQL ? Kalau pernah, berarti sama dengan saya ketika dulu melakukan proses porting aplikasi dari Foxpro 2.6 + Clipper + DBF + Windows ke Java Swing + MySQL + GNU/Linux :)

Mungkin banyak aplikasi lain yang mampu melakukan proses porting dari DBF ke MySQL selain menggunakan OpenOffice, tapi setahu saya hanya OpenOffice-lah aplikasi yang dapat melakukan proses porting dari DBF ke MySQL yang sifatnya OpenSource dan jalan di Sistem Operasi GNU/Linux (Maklum dirumah saya ga punya Sistem Operasi Windows, jadi memilih aplikasi yang jalan di GNU/Linux adalah pilihan nomor satu saya).

Sebelum mulai melakukan proses migrasi dari DBF ke MySQL menggunakan OpenOffice, tambahkanlah dahulu MySQL JDBC Driver pada classpath OpenOffice yang akan digunakan. Sedangkan langkah-langkah untuk menambahkan MySQL JDBC Driver ke dalam OpenOffice bisa dibaca pada tulisan saya di sini. Fungsi dari penambahan MySQL JDBC Driver ini adalah agar kita dapat mengakses database yang terdapat pada MySQL dari OpenOffice, nah jika kita sudah menambahkan MySQL JDBC Driver pada OpenOffice sekarang mari kita mulai proses migrasi data dari DBF ke MySQL.

Langkah pertama yang harus kita lakukan yaitu copy lah seluruh file yang ber-ekstensi DBF ke sebuah direktori khusus seperti pada gambar dibawah ini :
DBF2MYSQL_1

Sekarang jalankan-lah OpenOffice Base kemudian pada jendela Database Wizard pilihlah opsi Connect to an existing database dan pilihlah dBase seperti gambar dibawah ini kemudian tekanlah tombol Next :
DBF2MYSQL_2
(more…)

Martinus Ady H. BloG » NetBeans - September 05, 2009 06:43 AM
Adding License in NetBeans IDE

Mau bikin project opensource ? Kalau iya, kita harus pikirkan juga donk lisensi untuk source code yang ingin kita opensource-kan :) Buat teman-teman pengguna NetBeans IDE, pasti pernah donk melihat potongan souce code seperti dibawah ini :

1
2
3
4
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

Yups.. tampilan kode diatas adalah tampilan standart dari NetBeans IDE setiap kita membuat sebuah file Java baru, nah bagaimana jika kita ingin menambahkan lisensi untuk source code kita menjadi seperti dibawah ini :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/*
 * Copyright (c) 2009, Martinus Ady H <mrt.itnewbies@gmail.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * o Redistributions of source code must retain the above copyright notice,
 *   this list of conditions and the following disclaimer.
 * o Redistributions in binary form must reproduce the above copyright
 *   notice, this list of conditions and the following disclaimer in the
 *   documentation and/or other materials provided with the distribution.
 * o Neither the name of the <ORGANIZATION> nor the names of its contributors
 *   may be used to endorse or promote products derived from this software
 *   without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

Mau pastein lisensi-nya satu persatu diseluruh source code ? Tentunya pekerjaan yang sangat melelahkan donk :D Nah biar cepat, simpan dan modifikasi-lah Template lisensi BSD dibawah ini ke dalam komputer anda :

<#if licenseFirst??>
${licenseFirst}
</#if>
${licensePrefix} Copyright (c) ${date?date?string("yyyy")} Martinus Ady H <mrt.itnewbies@gmail.com>.
${licensePrefix} All rights reserved.
${licensePrefix}
${licensePrefix} Redistribution and use in source and binary forms, with or without
${licensePrefix} modification, are permitted provided that the following conditions
${licensePrefix} are met:
${licensePrefix}
${licensePrefix} o Redistributions of source code must retain the above copyright notice,
${licensePrefix}   this list of conditions and the following disclaimer.
${licensePrefix} o Redistributions in binary form must reproduce the above copyright
${licensePrefix}   notice, this list of conditions and the following disclaimer in the
${licensePrefix}   documentation and/or other materials provided with the distribution.
${licensePrefix} o Neither the name of the <ORGANIZATION> nor the names of its contributors
${licensePrefix}   may be used to endorse or promote products derived from this software
${licensePrefix}   without specific prior written permission.
${licensePrefix}
${licensePrefix} THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
${licensePrefix} "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
${licensePrefix} TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
${licensePrefix} PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
${licensePrefix} CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
${licensePrefix} EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
${licensePrefix} PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
${licensePrefix} OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
${licensePrefix} WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
${licensePrefix} OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
${licensePrefix} ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
${licensePrefix} 
${licensePrefix} ${name}.java
${licensePrefix} 
${licensePrefix} Created on ${date}, ${time}
<#if licenseLast??>
${licenseLast}
</#if>

(more…)

Martinus Ady H. BloG » NetBeans - September 04, 2009 07:57 PM
Playing with JTable and JCheckBox

Sudah pernah mencoba menampilkan JCheckBox didalam JTable ? Bagi sebagian teman-teman mungkin langsung berkata “Itu kan gampang, tinggal tambahkan 1 kolom dengan tipe data Boolean kita sudah dapat menampilkan JCheckBox didalam JTable, yups memang benar dan jawaban teman-teman sudah terdapat pada tutorial Java Swing :) Ok, sekarang mari kita bahas satu persatu bagaimana cara menampilkan JCheckBox didalam JTable. Untuk menampilkan JCheckBox didalam JTable, biasanya saya akan membuat sebuah Domain Class yang mempunyai tipe data boolean sesuai kata teman-teman seperti dibawah ini :

1
2
3
4
5
6
7
8
9
public class Domain {
 
    private boolean data1;
    private boolean data2;
    private boolean data3;
    private boolean data4;
 
    // Automatic Generate Getter and Setter
}

Nah setelah selesai membuat Domain seperti diatas, sekarang mari kita bikinkan tabel modelnya seperti dibawah ini :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
public class TableModelStandart extends AbstractTableModel {
 
    private final String[] HEADER = new String[]{"KOLOM1", "KOLOM2", "KOLOM3", "KOLOM4"};
    private List<Domain> listDomain;
 
    public TableModelStandart(List<Domain> listDomain) {
        this.listDomain = listDomain;
    }
 
    public int getRowCount() {
        return listDomain.size();
    }
 
    public int getColumnCount() {
        return HEADER.length;
    }
 
    @Override
    public String getColumnName(int column) {
        return HEADER[column];
    }
 
    @Override
    public Class<?> getColumnClass(int columnIndex) {
        Class tipe = super.getColumnClass(columnIndex);
        if (columnIndex == 0) {
            tipe = Boolean.class;
        } else if (columnIndex == 1) {
            tipe = Boolean.class;
        } else if (columnIndex == 2) {
            tipe = Boolean.class;
        } else if (columnIndex == 3) {
            tipe = Boolean.class;
        }
 
        return tipe;
    }
 
    @Override
    public boolean isCellEditable(int rowIndex, int columnIndex) {
        if (columnIndex == 0) {
            return true;
        } else if (columnIndex == 1) {
            return true;
        } else if (columnIndex == 2) {
            return true;
        } else if (columnIndex == 3) {
            return true;
        } else {
            return false;
        }
    }
 
    public Object getValueAt(int rowIndex, int columnIndex) {
        Domain domain = listDomain.get(rowIndex);
        switch (columnIndex) {
            case 0:
                return domain.isData1();
            case 1:
                return domain.isData2();
            case 2:
                return domain.isData3();
            case 3:
                return domain.isData4();
            default:
                return "";
        }
    }
 
    @Override
    public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
        Domain model = listDomain.get(rowIndex);
        if (columnIndex == 0 && aValue instanceof Boolean) {
            model.setData1((Boolean) aValue);
        } else if (columnIndex == 1 && aValue instanceof Boolean) {
            model.setData2((Boolean) aValue);
        } else if (columnIndex == 2 && aValue instanceof Boolean) {
            model.setData3((Boolean) aValue);
        } else if (columnIndex == 3 && aValue instanceof Boolean) {
            model.setData4((Boolean) aValue);
        }
    }
}

(more…)

Martinus Ady H. BloG » NetBeans - July 03, 2009 12:40 PM
Swing Component Focus Handler Using KeyStroke Editor

Buat teman-teman yang sering membangun aplikasi menggunakan GUI Toolkit Swing pasti sudah tahu bagaimana caranya menambahkan focus handler pada komponen Swing. Sebagai contohnya, kita ingin menambahkan focus pada JTextField agar ketika kita menekan ENTER maka focus akan berpindah ke komponen yang lain. Nah biasanya, langkah yang kita lakukan adalah sebagai berikut : 1. Klik kanan pada [...]

Eko Kurniawan Khannedy » NetBeans - June 20, 2009 08:00 PM
Video Tutorial Meload Data dari Database ke JTable


Load Data from DataBase to JTable

Load Data from DataBase to JTable

ini adalah video tutorial meload data dari database ke JTable. pada tutorial ini saya menggunakan NetBeans IDE, silahkan download video tutorialnya disini :

–> DOWNLOAD <–

Lihat video tutorial yang lainnya :

MEMBUAT TAMPILAN APLIKASI KEREN DENGAN JAVA

MEMBUAT APLIKASI DENGAN JAVA MENGGUNAKAN KONSEP MVC

MEMBUAT FORM LOGIN MENGGUNAKAN JAVA

MEMBUAT GUESTBOOK MENGGUNAKAN JAVA

Posted in Java Programming, NetBeans Tagged: download, download video tutorial swingmakeover, Java, load data ke jtable, swing jtable, swingmakeover, tutorial jdbc, tutorial jtable, video java, video tutorial, video tutorial java, video tutorial swingmakeover

Eko Kurniawan Khannedy » NetBeans - June 20, 2009 04:59 AM
Video Tutorial Membuat Form Login Menggunakan Java Swing dan Hibernate


LoginForm in Action

Ini adalah tutorial tentang cara membuat Form Login aplikasi Desktop. Pada video tutorial ini saya menggunakan Java Swing dan Hibernate. Dalam video ini saya menggunakan Netbeans sebagai IDE.

Untuk lebih jelas silahkan download video tutorial nya :

Video tutorial yang lainnya :

Posted in Hibernate Framework, Java Programming, NetBeans Tagged: download free, free download video, free download video tutorial java, gratis, hibernate, Java, Java Programming, NetBeans, Spring Framework, tutorial hibernate, tutorial java, unduh gratis, video tutorial, video tutorial hibernate, video tutorial java

Eko Kurniawan Khannedy » NetBeans - June 17, 2009 02:31 PM
NetBeans IDE 6.7 RC3 is Release


NetBeans IDE Download.

baru saja netbeans 6.7 rc 3 release, bagi yang pecinta netbeans, silahkan download…..

Posted in NetBeans Tagged: downlaod java, download, download netbeans, ebook java, Java, java enterprise, java fx, javafx, javascript, jee, JSE, NetBeans, NetBeans, netbeans 6.7, PHP, tutorial java

My Name is "Eko Kurniawan Khannedy" » NetBeans - June 02, 2009 12:19 PM
NetBeans 6.7 RC1 is Release


image hmm, berbarengan ama release JEE6 Preview, sekarang NetBeans juga dah masuk tahap RC dari yang tadinya BETA :D , mudah-mudahan banyak bug yang dah bener di versi RC ini :D , untuk lebih jelas liat aja di website resminya NetBeans :D , enjoy…

http://www.netbeans.org/community/releases/67/index.html

hmmmm…

Posted in NetBeans Tagged: download, download netbeans 6.7, download netbeans ide, Java, NetBeans, netbeans ide 6.5, netbeans ide 6.7 rc1, tutorial java, tutorial netbeans, tutorial netbeans ide