Sabtu, 26 Februari 2011

Insert Japanese Language ke Database

Ketika mencoba insert langsung ke database mysql menggunakan japanese language dan coba tampilkan di web, bisa menampilkan font jepang tersebut. Tidak ada masalah. Tetapi jika diinsert datanya melalui aplikasi yang dibuat, data yang masuk menjadi tulisan "amburadul".

Bagaimana cara insert data ke database mysql dengan japanese language?

Solusi berikut codingnya menggunakan Spring MVC, Hibernate dan JSP / JSTL.
Dan setting saat data sebelum diinput menggunakan variablename.format(Locale.JAPANESE, variablename).
Di Myssql diset collation utf8_unicode_ci
Solusi:

1. URL di datasource di set : 
"jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false"

2. Di configure spring dengan menambahi web.xml sebagai berikut:
  










3. Menambah header di JSP file:


***********************************************************************************
Ini sebenarnya masalah encoding. Jadi bisa juga saat insert ke database, encodingnya diset dulu. Bukan localizationnya, tapi stringnya. Link berikut contoh convert string ke utf8:

Konversi Kalender Masehi ke Kalender Imlek

Library atau class Java free untuk kebutuhan konversi dari kalender georgian (masehi) ke kalender Lunar (imlek) dan sebaliknya secara tepat dapat digunakan project threeten yang merupakan implementasi JSR-310.

http://sourceforge.net/projects/threeten/

Didalamnya ada Minguo chronology

http://en.wikipedia.org/wiki/Minguo_calendar

http://threeten.sourceforge.net/apidocs/javax/time/i18n/MinguoChronology.html

Rabu, 23 Februari 2011

Merubah Warna String pada Text Area

Bagaimana caranya merubah warna suatu string yang di append ke text area?

Solusi:
Gunakan method setForeground.
Misalnya: textarea.setForeground(Color.red);

Kalo mau pakai yang support HTML, gunakan JEditorPane atau JTextPane

Referensi lengkapnya. Kunjungi:

http://download.oracle.com/javase/tutorial/uiswing/components/text.html

Kamis, 10 Februari 2011

Method clone()

int x=0;
int temp=x;
temp=temp+1;
//menghasilkan x=0, temp=1 
Pertanyaan 1:
Gimana caranya supaya x[0] pada potongan program berikut tidak ikut berubah menjadi 1?
int[] x={0};
int[] temp=x;
temp[0]=temp[0]+1
//Hasilnya x[0]=1,temp[0]=1 
Solusi: gunakan method clone()
int[] x={0};
int temp[]=(int[]) x.clone();
temp[0]=temp[0]+1;
System.out.println(x[0]);
System.out.println(temp[0]);
//Hasilnya x[0]=0,temp[0]=1 
Pertanyaan 2:
Gimana caranya supaya x[0][0]=0 pada potongan program berikut tidak berubah menjadi 1?
int[][] x={{0}};
int[][] temp=(int[][]) x.clone();
temp[0][0]=temp[0][0]+1;
System.out.println(x[0][0]);
System.out.println(temp[0][0]);
//hasilnya x[0][0]=1 dan temp[0][0]=1
Solusi:
Belum tau... :-?
Detailnya:
  • clone untuk array itu shallow copy kalau element arraynya object
  • clone untuk array itu deep copy kalau element arraynya primitif
  • clone untuk object lain bisa shallow copy, bisa deep copy tergantung bagaimana implementasi clonenya oleh programmer.

Senin, 07 Februari 2011

Mana yang Paling Bagus?? (Beri Nilai 1-10)

HP Nanda
Rumah Anggi
Rumah Ardi

Rumah Dewi

Rumah Edi

Rumah Elza

Rumah Emi

Rumah Lela

Rumah Mul

Rumah Riska

Rumah Salman

Rumah Sulaiman

Rumah Taufik

Rumah Yuyun


Jumat, 28 Januari 2011

Try Catch

Ketika membangun sebuah aplikasi. Tentunya kita menggunakan try-catch untuk menangani errornya.

Jika kita menaruh "try catch" di dalam setiap method. Apakah itu efektif??

Akan sangat rumit menggunakan try catch pada setiap method. Misalkan kita memiliki 100 method, berarti ada 100 try catch pada baris program kita.
Kebanyakan try catch berarti akan semakin banyak jumlah baris program, sehingga ketika program dieksekusi akan membuat program menjadi lambat.
Dari sisi lain, kode programnya kelihatan jadi berantakan (cluttered).
Sebelum memutuskan untuk menaruh "try catch" di setiap method, ada baiknya mempertimbangkan dulu dari sisi application design.
Bayangkan exception itu seperti keluhan dari customer yang menghubungi call center.
  • Jika operator call center bisa menangani masalah yang dikemukakan, cukup sampai di situ ==> gunakan catch exception
  • Jika operator call center tidak bisa menangani masalah, harus dilemparkan ke manager ==> gunakan throw exception
  • Jika operator call center bisa menangani sebagian masalah ==> gunakan catch dan kemudian throw exception yang sama atau lainnya

Rabu, 26 Januari 2011

Framework di Java

Apa saja sih framework yang ada di Java?
Framework Java, cukup banyak, misalnya:
  • Spring
  • Struts
  • Tapestry, ini untuk web app yang masih page based
  • Vaadin, ini untuk web app-full ajax
  • Dan lain-lain
Kalau untuk web application biasa, banyak sekali pilihannya. Dan ini sesuai selera masing-masing.

Sedangkan framework untuk mobile, bisa diliat di:
http://www.sencha.com/ dan http://jquerymobile.com/
Ini adalah framework untuk aplikasi mobile based on standard web. Jadi, aplikasinya bisa jalan di banyak platform mobile.
Ada banyak tools atau mungkin IDE untuk bangun mobile app.
 
Nah, untuk aplikasi BB.
Aplikasi BB nya yang mana nih?
Ada Widget dan ada yang BB Java Native...
 
Untuk di BB ada BlackBerry WebWork SDK (HTML, CSS, Javascript) tapi ext nya pake Java dan sekarang di opensource kan.
Kalau mau maen native pakai BlackBerry Java API. Tinggal dipilih saja dan mana yang lebih familiar.

Kalau untuk mobile ada beberapa alternatif lain: