Skip to main content

Posts

Showing posts from December, 2012

Java | Menambahkan Dialog Konfirmasi Sebelum Keluar dari Aplikasi

Kali ini saya ingin berbagi cara sederhana untuk menampilkan dialog konfirmasi sebelum keluar dari aplikasi. Dengan syarat aplikasi yang kita buat harus menggunakan JFrame sebagai frame utama. Langkah-langkah yang harus kita lakukan adalah sebagai berikut: 1. Ganti property default close operation dari JFrame menjadi DO_NOTHING_ON_CLOSE, value ini dimaksudkan agar ketika button close dari JFrame diklik tidak akan terjadi apa-apa. Sebaliknya jika valuenya adalah EXIT_ON_CLOSE, maka ketika button close dari JFrame diklik maka program akan tertutup. setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); 2. Yang kedua adalah kita harus menambahkan WindowListener pada JFrame. Interface WindowListener memiliki beberapa method terkait event terhadap window (yakni JFrame), namun yang harus kita override hanyalah method windowClosing, method ini akan dipanggil ketika button close diklik.   Sebagai informasi, apabila kita menambahkan WindowListener secara langsung maka semua method dari i

PostgreSQL | 4 Reserved Word Yang Useful

PostgreSQL  menyediakan 4 reserved word  yang menurut saya sangat useful (berguna) yakni: CURRENT_DATE , berfungsi untuk menampilkan tanggal hari ini pada server. CURRENT_TIME , berfungsi untuk menampilkan jam saat ini pada server. CURRENT_TIMESTAMP , berfungsi untuk menampilkan tanggal dan jam saat ini pada server. PostgreSQL juga menyediakan fungsi now() yang memiliki fungsi yang sama dengan CURRENT_TIMESTAMP . CURRENT_USER , berfungsi untuk menampilkan user aktif pada PostgreSQL session (user yang melakukan koneksi database). Untuk informasi, keempat reserved word  tersebut juga menjadi standar pada SQL92 dan SQL3 , sehingga database yang mendukung standar tersebut seharusnya juga memiliki implementasinya. Berikut ini adalah contoh penggunaan 4 reserved word  tersebut dalam query: 1. SELECT CURRENT_DATE;     date     ------------  2012-12-12 (1 row) 2. SELECT CURRENT_TIME;        timetz        --------------------  05:32:31.732268+07 (1 row) 3. SELECT CURRENT_TI

PostgreSQL | Cross Tabulation Dengan Ekspresi Kondisional CASE

Pada posting sebelumnya, saya sudah berbagi tentang cara menggunakan ekspresi kondisional CASE  pada query. Sekarang saya ingin berbagi cara untuk memanfaatkan ekspresi CASE  untuk membentuk cross tabulation query. Apa itu cross tabulation ? Silahkan baca di wikipedia untuk lebih detail. :P Secara sederhana saya mengartikan cross tabulation  adalah menyajikan data dari baris menjadi kolom. Berikut contoh sederhana untuk menggambarkan apa itu cross tabulation . SELECT * FROM siswa ORDER BY siswaid;  siswaid |      nama      | sex ---------+----------------+-----        1 | Eko Suhariyadi | L        2 | Mori Ran       | P        3 | Megumi Noda    | P        4 | Haruka Koga    | P        5 | Hiro Kunimi    | L (5 rows) Dari data tersebut akan kita sajikan informasi seperti berikut ini:  laki | perempuan ------+-----------     2 |         3 (1 row) Dapat dilihat bahwa kita mentransformasikan data sex menjadi kolom. Mudah-mudahan contoh tersebut dapat membantu sahabat un

PostgreSQL | Ekspresi Kondisional CASE Pada Query

Salah satu fitur yang saya sukai dari PostgreSQL adalah dapat digunakannya ekspresi kondisional pada query. PostgreSQL menyediakan ekpresi CASE yang memiliki fungsi yang sama dengan statemen IF/ELSE pada bahasa pemrograman. Berikut adalah bentuk dari ekspresi CASE pada PostgreSQL CASE WHEN condition THEN result      [WHEN ...]      [ELSE result] END Untuk melihat bagaimana cara menggunakan ekspresi CASE, saya memiliki sebuah tabel number dengan sebuah kolom nomor yang memuat data bertipe integer. SELECT nomor FROM number ORDER BY nomor;  nomor -------      1      3     32     37     38     97 (6 rows) Sekarang mari kita gunakan ekspresi CASE untuk menentukan apakah nomor tersebut merupakan bilangan ganjil atau genap. SELECT nomor, (CASE WHEN nomor % 2 = 0 THEN 'Bilangan Genap' ELSE 'Bilangan Ganjil' END) AS status FROM number ORDER BY nomor; dan hasilnya adalah sebagai berikut:  nomor |     status     -------+-----------------      1 | Bilangan

iReport | Embedded Apache Derby Data Connection

Untuk melengkapi postingan sebelumnya tentang membuat koneksi database Apache Derby (network database) di iReport. Kali ini saya ingin berbagi bagaimana membuat koneksi database Apache Derby dengan mode embedded pada iReport. Langkah-langkahnya tidak jauh berbeda seperti pada postingan sebelumnya, hanya saja ada dua perbedaan yakni: 1. Kita harus menambahkan library derby.jar pada classpath iReport 2. Selanjutnya pada saat membuat JDBC Connection , JDBC Driver yang harus diketikkan adalah org.apache.derby.jdbc.EmbeddedDriver  dan JDBC Urlnya menjadi  jdbc:derby:[lokasi database] Pada contoh di atas, saya mengisikan  [lokasi database]  dengan  /home/eko/.netbeans/7.2/derby/embedsample  yang merupakan path lokasi database (saya menggunakan linux, lebih tepatnya Ubuntu ). Jadi untuk sahabat pengguna Wind*ws, path bisa diganti dengan Drive:lokasi database , misalkan C:\lokasi_database . Happy reporting :)

iReport | Membuat Koneksi Database Apache Derby

Apache Derby maupun Java DB (Java DB merupakan versi Oracle dari Apache Derby) merupakan database berbasis Java yang dapat berjalan sebagai embedded maupun network database. Untuk dapat menggunakan koneksi database Apache Derby pada iReport, terlebih dahulu kita harus menambahkan library JDBC pada classpath . Disini saya menggunakan iReport versi 4.8.0, dan Apache Derby sebagai network database. 1. Akses menu Tools -> Options  pada iReport 2. Selanjutnya pilih action bar iReport  dan pilih tab Classpath , kemudian klik tombol Add Jar 3. Selanjutnya cari dan pilih lokasi file derbyclient.jar 4. Setelah menambahkan library derby client, kita bisa langsung membuat koneksi database 5. Pada dialog datasource, klik tombol New (pastikan checkbox tercentang pada opsi Empty datasource ). Kemudian pilih Database JDBC connection dan pada combobox JDBC driver kita harus mengetik manual class driver yang digunakan, yakni org.apache.derby.jdbc.ClientDriver , karena mesk