Pakar Java No.1 di Indonesia :)


@PakarJava merupakan tempat bagi siapa saja yang ingin belajar tentang Java. @PakarJava menyediakan website yang berisikan informasi-informasi terkini seputar teknologi Java, dan juga tips, trik dan tutorial seputar teknologi Java. @PakarJava juga menyediakan konsultasi online via FaceBook dan Twitter. Untuk lebih jelas, silahkan kunjungi website @PakarJava di :

http://pakar-java.com/

Pakar Java No.1 di Indonesia

Pakar Java No.1 di Indonesia

Selamat belajar Java.

Belajar Java juga bisa di StripBandunk, Pusat Pembelajaran Ilmu Komputer 😀

StripBandunk - Pusat Pembelajaran Ilmu Komputer

StripBandunk - Pusat Pembelajaran Ilmu Komputer

Iklan

Download Buku Java Dasar


 

Java Dasar

Java Dasar

 

Silahkan Download Disini :

https://eecchhoo.wordpress.com/buku/

😀

Membuat Laporan yang Multi-Database dan Multi-Persistence Menggunakan JasperReport


Sudah tau tentang JasperReport kan?

Jika belum itu tandanya anda kurang pergaulan 🙂 , sudah pasti setiap developer Java mengetahui tentang JasperReport, khususnya yang bercimpung di dunia Sistem Informasi. Kenapa? Karena dimana ada Sistem Informasi, disitu pula pasti ada yang namanya Laporan, yup bagi yang belum tau, JasperReport adalah framework untuk membuat laporan di Java.

Saat ini kebanyakan orang menggunakan SQL dan teman-temannya dalam membuat laporan, kenapa? Karena memang mudah 😀

Tapi tahukan Anda kalo banyak sekali perbedaan perintah SQL setiap Sistem Basis Data? Misal di MySQL memiliki perintah LIMIT untuk membatasi banyak record yang ditemukan, sedangkan di ORACLE tidak ada perintah LIMIT 😦

Hal ini bisa berakibat kita perlu membuat ulang laporan yang sudah dibuat jika kita akan melakukan migrasi dari satu Sistem Basis Data ke Sistem Basis Data yang lainnya 😦 #capedeh

Tapi tenang saja, setelah membaca tutorial ini Anda tidak perlu khawatir lagi soal gonta-ganti SQL di laporan yang anda buat 😀 Baca lebih lanjut

Memuat Data Secara Otomatis Saat JComboBox di Klik


Peralatan yang diperlukan :

  1. Java Development Kit 1.6
  2. NetBeans IDE 6.8
  3. MySQL Server 5.1

Pernah berurusan dengan JComboBox? Pastinya 😀 Biasanya untuk masukan data yang sudah fix atau sudah ada dalam database, kita selalu menggunakan JComboBox, atau jika masukan data boleh lebih dari satu, kita biasa menggunakan JList.

Pada artikel kali ini saya akan membahas tentang bagaimana cara meload (memuat) data otomatis saat JComboBox diklik.Mungkin hal ini tidak akan berpengaruh jika datanya fix, seperti jenis kelamin misalnya, yang pilihannya hanya “laki-laki” dan “perempuan’, tapi bagaimana jika dengan kategori barang? atau yang sejenisnya yang bisa mengalami penambahan data 😀

Membuat Database

Anggap saja kita sekarang akan membuat JComboBox untuk meload kategori barang, jadi sebelumnya kita buat dulu database untuk ini dan juga tabel kategori :

mysql> create database combobox;
Query OK, 1 row affected (0.01 sec)

mysql> use combobox;
Database changed
mysql> create table kategori_barang(
    -> id integer primary key auto_increment,
    -> nama varchar(45) not null
    -> );
Query OK, 0 rows affected (0.00 sec)

Setelah membuat database dan tabel, saatnya mengisi datanya, misal kita isi datanya dengan beberapa kategori seperti yang ada terlihat pada kode dibawah ini :

mysql> insert into kategori_barang (nama) values
    -> ('Makanan'),
    -> ('Minuman'),
    -> ('Alat Tulis'),
    -> ('Sayuran');
Query OK, 4 rows affected (0.00 sec)
Records: 4  Duplicates: 0  Warnings: 0

dan hasilnya :

mysql> select * from kategori_barang;
+----+------------+
| id | nama       |
+----+------------+
|  1 | Makanan    |
|  2 | Minuman    |
|  3 | Alat Tulis |
|  4 | Sayuran    |
+----+------------+
4 rows in set (0.00 sec)

Sekarang selesai membuat database, tabel dan mengisi datanya.

Membuat Koneksi

Setelah membuat database, saatnya membuat koneksi dari program ke database. Pada artikel ini saya menggunakan JDBC untuk koneksi ke database nya. Caranya dengan membuat kelas ConnectionHelper, atau apapun terserah 😀

package khannedy.comboboxotomatis;

import java.sql.Connection;
import java.sql.DriverManager;

/**
 * @author Eko Kurniawan Khannedy
 */
public class DatabaseHelper {

    private static Connection connection;

    public static Connection getConnection() {
	if (connection == null) {
	    try {
		Class.forName("com.mysql.jdbc.Driver");
		connection = DriverManager.getConnection(
			"jdbc:mysql://localhost:3306/combobox",
			"username",
			"password");
	    } catch (Throwable t) {
	    }
	}
	return connection;
    }
}

Membuat Form

Sedernaha saja, kita langsung ke tujuan dari permasalahannya, yaitu meload otomatis data yang ada di database saat JComboBox di klik. Pertama buat JComboBox dengan nama comboKategori, atau apapu terserah 😀

Setelah itu tambahkan aksi ke JComboBox, tapi ingat!, aksinya bukan onMouseClick, tapi aksi untuk popup, caranya Klik Kanan pilih Events -> PopupMenu -> popupMenuWillBecomeVisible, dan setelah itu tambahkan kode dibawah ini untuk meload seluruh data kategori ke combobox :

    private void comboKategoriPopupMenuWillBecomeVisible(javax.swing.event.PopupMenuEvent evt) {

	// hapus seluruh data combobox
	comboKategori.removeAllItems();

	// load data dari database ke combobox
	Statement statement = null;
	ResultSet resultSet = null;
	try {
	    statement = DatabaseHelper.getConnection().createStatement();
	    resultSet = statement.executeQuery("select nama from kategori_barang");
	    while (resultSet.next()) {
		String kategori = resultSet.getString("nama");
		comboKategori.addItem(kategori);
	    }
	} catch (SQLException ex) {
	} finally {
	    try {
		if (resultSet != null) {
		    resultSet.close();
		}
	    } catch (SQLException ex) {
	    }
	    try {
		if (statement != null) {
		    statement.close();
		}
	    } catch (SQLException ex) {
	    }
	}
    }

Setelah itu jalankan… dan ow kok error?

run:
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:169)
        at khannedy.comboboxotomatis.DatabaseHelper.getConnection(DatabaseHelper.java:21)
        at khannedy.comboboxotomatis.Form.comboKategoriPopupMenuWillBecomeVisible(Form.java:89)
        at khannedy.comboboxotomatis.Form.access$000(Form.java:23)
        at khannedy.comboboxotomatis.Form$1.popupMenuWillBecomeVisible(Form.java:50)
        at javax.swing.JComboBox.firePopupMenuWillBecomeVisible(JComboBox.java:938)
        at javax.swing.plaf.basic.BasicComboPopup.firePopupMenuWillBecomeVisible(BasicComboPopup.java:330)
        at javax.swing.JPopupMenu.setVisible(JPopupMenu.java:730)
        at javax.swing.JPopupMenu.show(JPopupMenu.java:904)
        at javax.swing.plaf.basic.BasicComboPopup.show(BasicComboPopup.java:191)
        at javax.swing.plaf.basic.BasicComboPopup.togglePopup(BasicComboPopup.java:1110)
        at javax.swing.plaf.basic.BasicComboPopup$Handler.mousePressed(BasicComboPopup.java:807)
        at java.awt.Component.processMouseEvent(Component.java:6260)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
        at java.awt.Component.processEvent(Component.java:6028)
        at java.awt.Container.processEvent(Container.java:2041)
        at java.awt.Component.dispatchEventImpl(Component.java:4630)
        at java.awt.Container.dispatchEventImpl(Container.java:2099)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4235)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
        at java.awt.Container.dispatchEventImpl(Container.java:2085)
        at java.awt.Window.dispatchEventImpl(Window.java:2478)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at khannedy.comboboxotomatis.Form.comboKategoriPopupMenuWillBecomeVisible(Form.java:89)
        at khannedy.comboboxotomatis.Form.access$000(Form.java:23)
        at khannedy.comboboxotomatis.Form$1.popupMenuWillBecomeVisible(Form.java:50)
        at javax.swing.JComboBox.firePopupMenuWillBecomeVisible(JComboBox.java:938)
        at javax.swing.plaf.basic.BasicComboPopup.firePopupMenuWillBecomeVisible(BasicComboPopup.java:330)
        at javax.swing.JPopupMenu.setVisible(JPopupMenu.java:730)
        at javax.swing.JPopupMenu.show(JPopupMenu.java:904)
        at javax.swing.plaf.basic.BasicComboPopup.show(BasicComboPopup.java:191)
        at javax.swing.plaf.basic.BasicComboPopup.togglePopup(BasicComboPopup.java:1110)
        at javax.swing.plaf.basic.BasicComboPopup$Handler.mousePressed(BasicComboPopup.java:807)
        at java.awt.Component.processMouseEvent(Component.java:6260)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
        at java.awt.Component.processEvent(Component.java:6028)
        at java.awt.Container.processEvent(Container.java:2041)
        at java.awt.Component.dispatchEventImpl(Component.java:4630)
        at java.awt.Container.dispatchEventImpl(Container.java:2099)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4235)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
        at java.awt.Container.dispatchEventImpl(Container.java:2085)
        at java.awt.Window.dispatchEventImpl(Window.java:2478)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
BUILD SUCCESSFUL (total time: 7 seconds)

Tenang, tenang 😀 itu cuma driver MySQL nya belum di include ke Project, tinggal klik tambahkan MySQL Driver ke library project dan sekarang bisa dijalankan :

Sekarang coba tambahkan lagi datanya di database :

mysql> insert into kategori_barang (nama) values
    -> ('Data Baru Coy');
Query OK, 1 row affected (0.00 sec)

mysql> select * from kategori_barang;
+----+---------------+
| id | nama          |
+----+---------------+
|  1 | Makanan       |
|  2 | Minuman       |
|  3 | Alat Tulis    |
|  4 | Sayuran       |
|  5 | Data Baru Coy |
+----+---------------+
5 rows in set (0.00 sec)

Dan tanpa harus me restart aplikasi, otomatis data akan dimuat ulang saat popup menu JComboBox keluar :

Mudah bukan? 😀

Download SourceCode

Silahkan download sourcecode artikel ini –> disini <–

Aplikasi Penjualan Sederhana Versi 2, Menggunakan Java Swing dan Java Persistence API 2


Pada Versi 1 Sebelumnya, yang bisa Anda lihat disini :

https://eecchhoo.wordpress.com/2010/03/14/aplikasi-penjualan/

disitu saya belum memberi fasilitas pencarian, baik itu kategori dan juga produk. Pada versi 2 ini ada beberapa fitur yang ditambahkan, yaitu :

  • Menggunakan LookAndFeel Nimbus
  • Ditambahkan Fitur Pencarian
  • Migrasi dari Java Persistence Query Language ke Criteria API

Untuk lebih jelas anda bisa melihat screenshootnya dibawah ini :

Screenshot-Aplikasi Penjualan-2

Aplikasi Penjualan Sederhana Versi 2

Aplikasi Penjualan Sederhana Versi 2

Aplikasi Penjualan Sederhana Versi 2

Aplikasi Penjualan Sederhana Versi 2

Aplikasi Penjualan Sederhana Versi 2

Aplikasi Penjualan Sederhana Versi 2

Aplikasi Penjualan Sederhana Versi 2

Aplikasi Penjualan Sederhana Versi 2

Aplikasi Penjualan Sederhana Versi 2

Aplikasi Penjualan Sederhana Versi 2

Aplikasi Penjualan Sederhana Versi 2

Download sourcecodenya disini :

Download Disini

Selamat Belajar 😀

Beli Buku Baru


Baru saja saya beli buku-buku baru, sebenarnya dah lama mo beli buku-buku ini, hanya saja dana baru ada sekarang 😀 , bukunya ini :

kok gak ada yang berhubungan dengan java? ato bahasa pemrograman 😀 hihi emang. Sepertinya saya sudah mulai jenuh koding mulu 😀 Sekarang saatnya belajar ilmu-ilmu komputer yang menurut saya menarik, khususnya ke matematika. Tadinya saya nyari buku tentang Riset Operasional, tapi gak nemu, kira-kira ada yang tau buku Riset Operasional yang bagus?

Flowplayer – Flash Video Player for the Web


https://i0.wp.com/static.flowplayer.org/img/home/logo-3.1.jpg

Semester ini saya dapet tugas untuk membuat sistem multimedia, dari pada pusing-pusing, saya buat aja sebuah sistem kayak youtube, ya mirip-mirip streaming player lah 😀

nah karena mo cepet, jadi saya pake flash movie player gratisan aja, nah ini contohnya, flowplayer, flash video player yang lumayan keren buat membuat video player berbasis web 😀

Flowplayer – Flash Video Player for the Web.

Download eBook Sistem Operasi (Bahasa Indonesia)


ini adalah modul sistem operasi yang saya dapat dari dosen saya, mudah-mudahan berguna bagi yang mau belajar mata kuliah Sistem Operasi atau yang sedang belajar mata kuliah Sistem Operasi :

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

enjoy,,,,