Aplikasi Web dengan Spring 2.5 [bagian 1]

Posted on December 5th, 2007

Setelah pada artikel sebelumnya kita berhasil mengakses database, kali ini kita akan membuat tampilan berbasis web yang menggunakan kode program kita kemarin.

Fiturnya tidak terlalu sulit, dari tabel T_PERSON kemarin kita akan buatkan beberapa tampilan untuk mengelola data Person. Tampilan yang akan kita sediakan adalah:

* daftar semua Person
* informasi Person yang dipilih
* form untuk membuat object Person baru
* form untuk mengedit object Person yang sudah ada

Read more »

Akses Database dengan Spring 2.5

Posted on December 3rd, 2007

Akses database dengan Spring 2.5

Spring 2.5 baru saja keluar. Rilis kali ini membawa penambahan fitur yang cukup signifikan di sisi konfigurasi. Dalam Spring yang baru ini, kita bisa mengkonfigurasi aplikasi melalui annotation. Suatu hal yang sangat bermanfaat untuk mengurangi jumlah baris kode XML kita.

Sebetulnya tidak ada yang salah dengan XML. Walaupun demikian, ada beberapa hal yang menurut saya kurang tepat kalau dikonfigurasi melalui XML, diantaranya:

* konfigurasi transaction
* deklarasi bean standar

Konfigurasi transaction biasanya tergantung dari kode program yang ingin ber-transaction. Bila kita konfigurasi di XML, maka untuk memikirkan satu logika akses database, kita harus melihat di dua tempat yang berbeda; file java dan file XML. Menurut pendapat saya, fitur declarative transaction walaupun kelihatannya mirip konfigurasi, tapi pada dasarnya adalah logika aplikasi. Tempatnya bukan di konfigurasi XML, tapi di kode Java.

Di Spring, kita harus mendaftarkan object aplikasi kita ke dalam object ApplicationContext agar bisa dikelola oleh Spring. Pada rilis sebelumnya, pendaftaran ini dilakukan dalam file XML. Cara ini memiliki incremental cost yang tinggi. Bila kita punya 100 object yang ingin dikelola, maka kita harus punya 100 deklarasi di konfigurasi XML Spring. Sekarang kita bisa menandai object yang akan dikelola Spring melalui annotation. Jadi walaupun ada 100 object, konfigurasi XML kita tidak bertambah.

Ok, cukup berteori. Saatnya melihat contoh kode.
Read more »

Mengelola Proyek dengan Redmine

Posted on November 7th, 2007

Redmine adalah aplikasi manajemen proyek yang dibuat menggunakan framework Ruby on Rails.
Pada saat artikel ini ditulis, Redmine sudah mencapai versi 0.5.1 yang dirilis 15 Juli 2007.

Selain Redmine, banyak juga aplikasi manajemen proyek lainnya, misalnya:

Redmine mendukung multiple project. Jadi kita bisa menginstal Redmine di perusahaan untuk mengelola semua proyek yang sedang berjalan.

Untuk pengelolaan proyek, Redmine memiliki Gantt chart dan Calendar. Untuk mengelola dokumentasi proyek, kita bisa menggunakan wiki yang sudah tersedia. Tugas dibagikan pada team member dengan menggunakan konsep issue yang akan dijelaskan di bawah. Kita bahkan bisa melihat kode program yang sudah dibuat menggunakan version control browser. Saat ini Redmine dapat melihat isi repository Subversion, CVS, Mercurial, dan Darcs.

Pertama, kita instal dulu Redmine.

Selanjutnya, mari kita langsung saja menggunakan Redmine.
Read more »

Pakai IDE apa?

Posted on November 2nd, 2007

Posting ini dibuat untuk menanggapi diskusi di milis Netbeans.
Saya menyarankan para programmer, daripada menghabiskan waktunya untuk memperdebatkan editor, lebih baik menginvestasikan waktu dan energi untuk memperdalam konsep.
Ekstrimnya, coding dengan Notepad bila perlu.

Read more »

Konfigurasi Mentari GPRS dengan LG KG300 di Ubuntu Gutsy

Posted on October 26th, 2007

Maraknya akses internet 3G rupanya berimbas pada turunnya harga layanan GPRS. Salah satu yang sudah turun harga adalah Mentari, dari Rp. 5/kB menjadi Rp. 1/kB, setidaknya sampai Januari 2008.

Dengan adanya perkembangan yang menggembirakan ini, saya segera mengaktifkan koneksi GPRS tersebut agar bisa digunakan dari laptop. Caranya tidak terlalu sulit, seperti akan kita lihat segera.

Read more »

Continuous Integration dengan Hudson

Posted on October 9th, 2007

Pada artikel sebelumnya, kita sudah membahas penggunaan Luntbuild dan CruiseControl untuk menerapkan Continuous Integration (CI). Kali ini, kita akan mencoba Hudson, aplikasi CI lain yang tersedia.

Hudson dapat diunduh dari websitenya. Setelah mengunduh, kita akan mendapatkan satu file *war. File ini dapat langsung dijalankan standalone dengan perintah:

java -jar hudson.war

Ataupun dideploy ke servlet engine favorit Anda, seperti Tomcat atau sejenisnya.

Setelah dideploy, kita bisa melihat tampilan awalnya melalui browser ke alamat http://localhost:8080 (untuk standalone) atau http://localhost:8080/hudson (bila dideploy ke servlet engine)

Read more »

Dump Restore PostgreSQL

Posted on September 25th, 2007

Pada tahap implementasi, fitur dump-restore database sangat penting. Dengan fitur ini, kita bisa melakukan migrasi data di mesin development, melakukan troubleshoot, data cleansing, dan sebagainya dengan tenang. Begitu sudah selesai, kita dump struktur tabel berikut datanya dari mesin development, kemudian buat database baru di mesin production, lalu restore.

Agar tidak lupa, berikut saya tulis rangkaian langkah-langkahnya. Diasumsikan kita sudah memiliki database development dengan parameter sebagai berikut:

  • Nama Database : buku_tamu_devel
  • Username : belajar
  • Password : java
  • File hasil dump : buku_tamu-dump-sql

Read more »

Lowongan Experd

Posted on September 25th, 2007

Kemarin ada mbak-mbak yang kirim email ke saya, namanya mbak Hanna dari Experd, minta tolong dipostingkan lowongan. Entah kenapa, waktu saya cek websitenya, tulisannya Service Unavailable. Sedangkan www.experd.com bisa diakses. Entahlah, mungkin yang .org sedang bermasalah.

Begini katanya,

Sekedar share informasi lowongan, bahwa saat ini kami ada klien, sebuah konsultan IT yang berpusat di New Jersey, sedang membutuhkan JAVA/J2EE programmer. Nantinya kandidat yang dihired ini akan ditugaskan untuk proyek salah satu top bank di Malaysia. Status pekerjaan yang ditawarkan permanent employee. (selengkapnya di bawah ini).

Berikut detail lowongannya.

  • Has 2-7 years experience in Java/J2EE Development
  • Experience in DB2/Oracle and Unix is an advantage
  • Preferably with Banking Project Experience
  • Can join in 2-6 weeks
  • Willing to work in Kuala Lumpur, Malaysia

Mbak Hanna juga memberikan alamat kantornya, yaitu di:

Plaza 3 Pondok Indah Blok C2, Jl. T.B. Simatupang, Jakarta 12310
Telp. 62-21-75906448, Fax. 62-21-75906442
Email. hanna [at] experd [dot] org, http://www.experd.com

Jangan kirim lamaran ke saya, menurut mbak Hanna, kirimkan ke databank [at] experd [dot] org.

Disclaimer: Saya tidak kenal sama mbak Hanna. Artikel ini juga bukan anjuran kepada pembaca untuk mengirim lamaran

Saya juga sudah membaca bukunya Kevin Mitnick yang berjudul The Art of Deception, yang berisi tentang Social Engineering. Jadi, saran saya bagi pembaca yang berminat, luangkan waktu beberapa menit untuk melakukan cross-check ke alamat dan nomer telepon yang ada di atas untuk memastikan kesahihan info lowongan ini sebelum mengirim resume Anda.

Sekedar smoke-test, saya sudah lookup ke layanan whois, dan hasilnya experd.com dan experd.org diregistrasi oleh orang yang sama, dan alamatnya sama dengan alamat kantornya di atas.

Untuk mbak Hanna, mohon maaf ya … bukannya tidak percaya. Tapi baca sendiri deh The Art of Deception, nanti Anda akan mengerti kenapa saya terkesan paranoid. Anyway … terima kasih atas info lowongannya. Mudah-mudahan mendapatkan kandidat yang sesuai.

Kalau ada orang Experd yang membaca artikel ini, mohon konfirmasi atau sanggahannya.

Menggunakan PostgreSQL

Posted on September 24th, 2007

Saya baru saja memporting project yang sedang saya kerjakan, dari menggunakan ikan lumba-lumba menjadi gajah. Sebetulnya saya pernah menggunakan database gajah ini pada tahun 2005, tapi setelah itu jarang digunakan sehingga butuh waktu agak lama untuk melakukan porting ini.

Agar lain kali tidak lupa lagi, baiklah saya tulis di sini saja. Mudah-mudahan bermanfaat juga untuk pembaca :D
Read more »

Membuat validasi dalam aplikasi

Posted on September 12th, 2007

Pertanyaan berikut muncul di milis netbeans-indonesia, “Di mana sebaiknya kita menulis aturan validasi? Di database, di business layer, atau di presentation layer?”

Saya pikir, pasti banyak juga yang memiliki kebimbangan serupa. Oleh karena itu, jawaban saya tulis di artikel ini.
Read more »