Memanfaatkan EntityListener Sebagai Trigger di Java Persistence API


Java Programming

Java Programming

Peralatan yang diperlukan :

  1. Java Development Kit 1.6
  2. Java Persistence API 2.0
  3. Implementasi Java Persistence API 2 (EclipseLink 2.0, OpenJPA 2.0, Hibernate Framework 3.5)

Bagi anda yang biasa menggunakan PL/SQL mungkin sudah biasa menggunakan Trigger di databasenya. Trigger memang sangat berguna, seperti untuk melakukan proses validasi ataupun melakukan proses apapun setelah proses INSERT, UPDATE, dan DELETE terjadi πŸ˜€ Baca lebih lanjut

Menghapus Hurup Vokal dengan String.replaceAll();


Kemarin di facebook ada yang bertanya, bagaimana menghapus seluruh huruf vokal pada string dengan sekali perintah? Karena biasanya orang tersebut menggunakan perintah seperti ini :

package khannedy.report.entity;

public class Main {

	public static void main(String[] args) {
		String data = "Eko Kurniawan Khannedy";

		data = data.replaceAll("a", "");
		data = data.replaceAll("i", "");
		data = data.replaceAll("u", "");
		data = data.replaceAll("e", "");
		data = data.replaceAll("o", "");

		System.out.println(data);
	}

}

Apa kode diatas salah? tidak juga, hanya mungkin tidak efektif, tidak efektifnya saat kita akan menghapus banyak karakter, misal 20 jenis karakter, maka kita harus membuat 20 baris untuk melakukan perubahan tersebut πŸ˜€ Lantas apakah ada cara yang lebih baik?

Yup ada πŸ˜€ Baca lebih lanjut

Menghitung Jumlah Pendatang Per-Tahun di Kota Candibangun Menggunakan Apache Hadoop


Landasan Teori

Peralatan

Latar Belakang

Kota Candibangun merupakan salah satu kota besar yang ada di Indonesia. Kota Candibangun menjadi target wisata dan juga tempat yang cocok untuk menuntut ilmu dan bekerja, oleh karena ini banyak sekali orang-orang yang berdatangan ke kota Candibangun baik itu untuk berwisata, bekerja atau kuliah.

Sejak tahun 1970, setiap harinya pemerintah kota Candibangun selalu mencatat jumlah pendatang yang masuk ke kota Candibangun. Saat ini, kota Pemerintah kota Candibangun ingin menghitung jumlah orang yang datang ke kota Candibangun per-tahunnya.

Data jumlah pendatang di kota candibangun disimpan dalam sebuah berkar dengan format penulisan seperti berikut . Baca lebih lanjut

Instalasi Apache Hadoop di Ubuntu


bagi temen-temen yang kesulitan menginstall Apache Hadoop khususnya di Ubuntu, bisa membaca tutorial dibawah ini :

semoga berguna πŸ˜€

Servlet sebagai Controller dan JSP sebagai View


pada tulisan ini saya akan membahas tentang cara develop web yang baik jika menggunakan servlet + jsp. hampir mirip dengan konsep model view controller, dimana disini controller dibuat menggunakan servlet, view dibuat menggunakan jsp dan model nya adalah terserah anda, yang penting dia merepresentasikan sebuah data πŸ˜€

pertama, buatlah project java web application menggunakan netbeans. disini saya menggunakan glassfish versi 3, karena tomcat belum mendukung servlet 3.

kedua, karena saya menggunakan database, jadi saya buat koneksi ke database menggunakan jdbc, sengaja saya menggunakan jdbc, tidak menggunakan hibernate atau jpa, karena banyak temen-temen yang menyarankan untuk menggunakan jdbc saja, karena banyak yang belum mengerti jpa atau hibernate.

ketiga, saatnya membuat controller. seperti saya bilang sebelumnya, kalau controller menggunakan servlet, jadi disini anda perlu membuat servlet. servlet ini berguna untuk mengambil data dari database dan menyimpannya dalam model, dimana setelah itu data dalam model akan ditampilkan menggunakan jsp.

keempat, setelah data diambil dari database lewat servlet, tampilkan data tersebut menggunakan jsp, sehingga jsp disini berperan sebagai view.

terakhir, setelah semuanya selesai, saatnya menjalankan java web application tersebut.

teknik ini sangat baik digunakan, sehingga kode yang kita buat tidak bercampur aduk antar view dan controller. karena kebanyakan biasanya seseorang menumpuk proses bisnis logic seperti load data dalam jsp, sehingga kodenya akan bertumpuk seluruhnya di jsp. hal ini bisa dilakukan namun tidak direkomendasikan, karena jika web aplikasi sudah besar, maka hal ini akan membuat kode yang kita buat sulit dimengerti. oleh karena ini diperlukan pemisahan antara bisnis logic dan antarmuka, dimana bisnis logic dilakukan di servlet dan antarmuka dilakukan di jsp πŸ˜€

silahkan download sourcecodenya disini :

http://swing-usu.googlecode.com/files/hr.sql
http://swing-usu.googlecode.com/files/servlet-jsp.zip

Menampilkan Gambar Bendera dalam JTable di Java Swing


pada tulisan kali ini saya akan membahas tentang cara menampilkan gambar bendera dalam jtable. jtable memang salah satu komponen yang sangat komplek dalam swing, tapi saya sangat menyukainya karena mudah untuk dikostumasi πŸ˜€ dan contohnya pada tulisan ini saya akan mengkostumasi tampilan jtable, agar dapat menampilkan gambar bendera πŸ˜€

pertama, buatlah sebuah project java application.

kedua, buatlah kelas benbera, disini saya menamakannya dengan kelas flag, dimana kelas flag ini akan digunakan sebagai kelas yang merepresentasikan bendera, didalamnya terdapat nama negara bendera tersebut, dan gambar benderanya menggunakan imageicon.

ketiga, setelah membuat kelas flag, saatnya memasukkan gambar bendera yang akan ditampilkan ke jtable. sebenarnya tidak harus gambar, anda dapat menggunakan gambar apa saja. dan untuk memudahkan load gambarnya, buatlah utilities untuk melakukan load gambar dengan mudah.

keempat, setelah selesai membuat bendera, dan gambar bendera sudah ada, saatnye membuat form untuk menampilkan jtable.

kelima, saatnya mengisi data dalam jtable. disini saya menggunakan data sedernaha, yaitu hanya data nama dan bendera, untuk data jtable ini anda bisa menyesuaikan dengan kebutuhan anda, sehingga tidak harus sama dengan yang saya buat.

terakhir, saatnya mengubah tampilan kelas flag menjadi gambar bendera. caranya adalah dengan membuat tablecellrender sendiri. untuk memudahkan membuat tablecellrender, anda dapat membuat turunan defaulttablecellrender, sehingga pembuatan tablecellrender akan sangat mudah seperti yang terlihat dalam video dibawah ini.

menarik bukan? dibandingkan hanya dampilan teks saja?

silahkan download sourcecodenya disini :

http://swing-usu.googlecode.com/files/flag-in-table.zip

Membatasi Karakter yang Masuk dalam JTextField di Java Swing


pada artikel kali ini, saya akan sharing ilmu tentang cara membatasi banyak karakter yang boleh masuk ke jtextfield. jtextfield dalam swing memang tidak seperti textbox yang ada di vb atau bahasa visual lainnya, di swing, sebuah jtextfield secara default tidak terbatas karakter yang dapat dimasukkan, artinya kita tidak membatasi banyak karakter yang boleh masuk.

tapi bukan berarti tidak bisa, sebenarnya bisa, namun caranya tidak semudah di vb atau delphi. dalam swing, anda harus membuat model untuk jtextfield secara manual, dimana model untuk jtextfield adalah document. artinya anda perlu membuat document baru yang akan digunakan untuk membatasi jumlah karakter.

pertama, buatlah sebuah project java application.

kedua, saatnya membuat document sendiri, dimana document yang dibuat turunan dari plaindocument, bukan document, hal ini dikarenakan untuk memudahkan dalam pembuatan kelas baru, karena tidak perlu melakukan proses implementasi metode seluruhnya.

terakhir, saatnya mencoba document yang telah dibuat.

tidak terlalu sulit bukan?

walaupun memang tidak semudah di vb atau di delphi πŸ˜€

silahkan download sourcecodenya disini :

http://swing-usu.googlecode.com/files/text-max.zip

Membangun Aplikasi CRUD Java Swing Menggunakan Konsep Model-View-Controller Ruby on Rails Bagian 2


Artikel sebelumnya “Membangun Aplikasi CRUD Java Swing Menggunakan Konsep Model-View-Controller Ruby on Rails” sudah selesai. Namun ada beberapa masalah yang seperti dituliskan pada bagian akhir artikel sebelumnya itu, yaitu :

  1. Harusnya saat di klik INSERT, setelah data sukses dimasukkan ke database dan tabel, harusnya data di form jadi clear.
  2. Harusnya saat baris tabel terseleksi, data langsung ada di form, jadi kalo mau Update gampang πŸ˜€

Jadi dari sini diperlukan sebuah aksi RESET ya itu aksi yang menghapuskan seluruh text form sehingga kosong, dan juga aksi SELECT ROW, yang menampilkan data baris tabel yang terseleksi ke form. Dari sini perlu kita tambahkan 2 buah aksi dalam Controller-nya, yaitu aksi reset() dan aksi selectRow() :

    public void reset(){
	view.getTextFirstName().setText(null);
	view.getTextLastName().setText(null);
    }

    public void selectRow() {
	// dapatkan baris yang terseleksi
	int index = view.getTablePerson().getSelectedRow();
	// jika ada yang terseleksi
	if (index != -1) {
	    // ambil data person dari tablemodel
	    Person person = view.getTableModelPerson().select(index);
	    // tampilkan di form
	    view.getTextFirstName().setText(person.getFirstName());
	    view.getTextLastName().setText(person.getLastName());
	}
    }

Dan selain itu kita perlu mengubah aksi tombol buttonInsert menjadi :

    private void buttonInsertActionPerformed(java.awt.event.ActionEvent evt) {
	// TODO add your handling code here:
	controller.insert();
	controller.reset();
    }

Dan juga perlu menambahkan aksi saat tabel terseleksi, sehingga kita harus mengubah konstruktor PersonView menjadi seperti dibawah ini :

public class PersonView extends javax.swing.JFrame {

    private TableModelPerson tableModelPerson;

    private PersonController controller;

    /** Creates new form PersonView */
    public PersonView() {
	initComponents();

	tableModelPerson = new TableModelPerson();
	tablePerson.setModel(tableModelPerson);

	controller = new PersonController(this);
	controller.select();

	tablePerson.getSelectionModel().addListSelectionListener(new ListSelectionListener() {

	    public void valueChanged(ListSelectionEvent e) {
		controller.selectRow();
	    }
	});
    }

Dan sekarang selesai, tinggal kita jalankan aplikasinya πŸ˜€

Download SourceCode

Silahkan download sourcecodenya –> disini <–