Camp0er Ad0ek Jadi 1

Kali ini saya akan share tentang cara untuk melakukan format pada angka dengan bahasa pemrograman Java. Kadang-kadang kita butuh hasil format untuk ditampilkan pada report, resi transaksi atau halaman web.

Berikut ini contoh code yang dapat dipakai:

DecimalFormatSymbols dfSymbol = new DecimalFormatSymbols(new Locale("id", "ID"));

NumberFormat df = new DecimalFormat("#,##0.00", dfSymbol);

System.out.println("result: " + df.format(2500.8));

Locale ditambahkan pada DecimalFormatSymbols untuk mendapatkan hasil format yang sesuai dengan kode locale yang diberikan. Misal, pada contoh di atas diisi dengan kode bahasa dan negara Indonesia. Daftar semua kode bahasa dan negara dapat diperoleh dari website berikut ini:

http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt

http://www.chemie.fu-berlin.de/diverse/doc/ISO_3166.html

Selamat mencoba!

Komodo is the only living dragon in the world. It lives freely in National Park, East Nusa Tenggara, Indonesia. It’s now becoming one of the finalists of New7Wonders of Nature.

If you’re proud to be Indonesian, please vote it to become one of the world 7 wonders of nature.

To vote, you can use some ways:

(1) Open the official website of this event, http://www.news7wonders.com, and go to VOTE tab. Select 7 of the finalists. Make sure that you also select KOMODO!!!

(2) Still in the website, see how to vote via phone line.

(3) The last, the easiest way to do. Vote with SMS. Just type KOMODO and then send to 9818. FREE SMS for Telkomsel, XL and Indosat. So, nothing to lose guys!

Vote Komodo, bring Indonesia to the world.

Ga terasa yah… ternyata Indonesia, negara kita tercinta ini hampir genap 63 tahun menghirup udara kemerdekaan. Tepatnya pada tanggal 17 Agustus 2008.

Teeeetttttt!!!!!!!!.

Kalo dipikir-pikir, Indonesia sudah sangat matang jika dipandang dari usia kemerdekaannya. Jika dipersonifikasikan sebagai manusia, Indonesia seharusnya tampil bak seorang prajurit yang gagah, berani, tangkas, mandiri dan berkompeten.

Tapi, what now?

Walopun sudah merdeka sejak 63 tahun yang lalu, Indonesia tetap saja dirundung banyak masalah. Masalah pendidikan, kriminalitas, kebudayaan, kesehatan, korupsi, bahan bakar minyak dan masih banyak lagi masalah lainnya… IMHO, terdapat 2 poin penting yang menjadi ujung pangkal dari semua masalah ini yaitu ekonomi dan hukum. Saya pikir, perbaikan dan peningkatan taraf hidup (ekonomi) rakyat Indonesia akan mampu menghapus masalah pendidikan bagi rakyat miskin, kesehatan (gizi buruk, dll), atau bahkan tindak kriminal yang akhir-akhir ini banyak disebabkan oleh masalah ekonomi. Pasti tau khan… pembunuhan berantai yang dilakukan oleh Jagal dari Jombang (Ryan)?. Salah satu faktor penyebab tindak kriminal ini, tidak lain dan tidak bukan, adalah lagi-lagi masalah ekonomi, walopun ini bukanlah faktor penyebab tunggal.

Indonesia juga kayaknya perlu menegakkan hukum setegak-tegaknya supaya kehidupan rakyat semakin tertib dan aman. Kalo kondisi tertib dan aman… khan enak tuh untuk cari duit, buka usaha ato melakukan investasi properti. Atau bahkan, keamanan yang kondusif dapat mengundang kedatangan para investor asing untuk menghamburkan duitnya ke Indonesia. Ujung-ujungnya, Indonesia pasti memperoleh profit yang dapat digunakan untuk pembangunan.

O iya, Indonesia juga sepertinya perlu mendaftar ulang semua warisan budaya (heritage) milik asli Bumi Indonesia Tercinta iniiiii…. supaya tidak ada lagi kejadian baku rampas warisan budaya dengan negeri tetangga yang ras-nya memang masih serumpun itu. Dasar!

Hm, semangaatt banget yahhh, soalnya hampir tanggal 17 Agustus sih…. he3

Selain sejumlah ketertinggalan di atas, Indonesia masih mempunyai segudang prestasi lohhh… antara lain dibidang Olahraga (Olimpiade, Catur, dll), Olah Vokal (Grand Champion di World Choir 2008, bahkan tahun2 sebelumnya juga menang), Sains (Olimpiade Physics, Math, Biology, Chemistry, dll), dan masih banyak lagi prestasi lainnya… dan yang mungkin akan semakin bertambah banyak seiring dengan bertambahnya usia kemerdekaan Republik Indonesia (jawi:mokso). Ha3.

Menyinggung dikit tentang Olimpiade Beijing tahun ini…. ada beberapa hal yang spesial. Pertama, Opening Ceremony diselenggarakan pada tanggal 08-08-2008 yang diyakini sebagai hari keberuntungan oleh bangsa China, karena mengandung angka 8. Bahkan, di Indonesia sendiri ada perusahan yang bergerak dibidang properti yang memulai penjualan propertinya pada tanggal tersebut. Tapi, ada juga sebagian dari mereka yang percaya pada angka 7 sebagai angka keberuntungan. Kedua dan terakhir, tim bulutangkis tunggal putri, Maria Kristin, berhasil masuk ke babak semi final setelah menundukkan lawan mainnya Nehwal dari India. Maria Kristin menjadi putri Indonesia yang ketiga setelah Susi Susanti dan Mia Audina yang berhasil masuk ke semi final Olimpiade. Hebat khan… Tapi, di babak semi final, dia akan menghadapi unggulan kedua China, Zhang Ning. Moga-moga bisa menang, walopun kecil sekali kemungkinannya….

Ayo Indonesia, Kamu Pasti Bisa!!!!!!!!!!!!!!

Mungkin Anda sudah pernah mendengar, melihat atau bahkan sudah terbiasa dengan istilah Internationalization dan Localization. Hm, mungkin bagi yang sudah tahu tentang topik ini bisa memberikan komentar demi menambah kelengkapan isi tulisan ini.

Ok, kita bahas istilah yang pertama dulu…

Internationalization seringkali disebut dengan singkatan i18n, artinya bahwa terdapat 18 huruf diantara huruf pertama dan terakhir. Internationalization merupakan proses atau prosedur dalam perancangan suatu aplikasi, sehingga memungkinkan penyesuaian atau adaptasi terhadap berbagai bahasa, negara, format penulisan angka maupun pengaturan-pengaturan lainnya yang bersifat spesifik dengan mudah. Dengan kata lain, internationalization merupakan prosedur generalisasi suatu aplikasi.

Bagaimana dengan localization???

Seperti halnya internationalization, istilah localization juga sering disebut dengan singkatan l10n, yang artinya terdapat 10 huruf diantara huruf pertama dan terakhir. Localization merupakan prosedur yang memakai format pengaturan yang spesifik. Misal, dalam suatu aplikasi, angka-angka dalam suatu aplikasi harus ditampilkan dengan format penulisan tata bahasa Inggris.

Kedua istilah ini sebenarnya sangat berkaitan. Internationalization dilakukan dengan tujuan agar localization dapat dilakukan dengan mudah.

Hm, contoh penggunaannya seperti apa ya?

  • tanpa i18n

Class berikut adalah contoh program yang tidak melakukan prosedur internationalization.

package com.goglo.i18n;
public class NoI18n {
public static void main(String[] args) {
System.out.println("Halo, nama saya Glory!");
}
}

  • dengan i18n

Buatlah sebuat file dan namai goglo.properties. File ini berisi kode bahasa dan kode negara yang akan digunakan.

lang.code = id
country.code = ID

Kemudian, buat lagi sebuah file dengan nama id_ID.dict yang berisi cara memperkenalkan diri dalam bahasa Indonesia.

say.hello = Halo, nama saya Glory!

Terakhir, buat sebuah class dengan nama WithI18n.java

package com.goglo.i18n;

import java.io.IOException;
import java.util.Properties;

public class WithI18n {

public static void main(String[] args) throws IOException {
Properties gogloProp = new Properties();

//load input stream to properties object gogloProp.load(WithI18n.class.getResourceAsStream("goglo.properties"));

//get languange code and country code
String langCode = gogloProp.getProperty("lang.code");
String countryCode = gogloProp.getProperty("country.code");

//use appropriate language on correct country
Properties idProp = new Properties();

//load file based on lang.code and country.code idProp.load(WithI18n.class.getResourceAsStream(langCode+"_"+countryCode+".dict"));

//print
System.out.println(idProp.getProperty("say.hello"));
}
}

Program di atas dapat menampilkan ucapan perkenalan diri dalam bahasa apapun dengan memodifikasi file goglo.properties dan menambahkan file dictionary untuk bahasa tersebut. Memang kelihatannya program menjadi cukup rumit dengan penerapan internationalization. Tetapi, hal ini memberikan kemudahan bagi software developer yang ingin mengembangkan suatu project berdaya jual global.

Untuk kesempatan ini, saya akan membahas tentang framework iBatis. Bagi sebagian orang mungkin topik yang saya angkat ini sudah usang atau basi, tapi bagi saya masih layak/menarik untuk dipelajari dan didalami. Selain itu, saya mempelajari iBatis dengan tujuan untuk membandingkan iBatis dengan persistence framework lainnya seperti Hibernate dan Java Persistence API (JPA).

So, apa yang dimaksud dengan iBatis?

iBatis merupakan sebuah persistence framework yang dapat digunakan untuk memetakan query SQL ke Plain Old Java Objects (POJOs). Class POJO berisi sejumlah variabel beserta method setter() dan getter(). Query SQL bersifat decoupled terhadap aplikasi yang dikembangkan, sebab ditempatkan pada file-file XML. Jadi, kita bebas mengganti query yang akan digunakan. Oleh karena iBatis menggunakan query SQL, bukannya menggunakan query language yang baru, maka iBatis lebih portable terhadap database yang berbeda jika dibandingkan dengan Hibernate yang menggunakan Hibernate Query Language (HQL).

Selain itu, penggunaan SQL di iBatis juga meyakinkan kita bahwa hasil query yang akan diperoleh merupakan hasil yang dinginkan. Jika menggunakan Hibernate Query Language (HQL), query yang kita tulis akan dikonversi lagi oleh converter engine, yang telah disediakan Hibernate, menjadi query SQL. Nah, query SQL hasil proses konversi ini yang menimbulkan keraguan walaupun mungkin Hibernate sudah men-generate query SQL dengan metode atau algoritma yang dapat diandalkan. Tetapi, tetap saja kita tidak benar-benar yakin akan hasil query yang dikembalikan.

Infrastruktur dan konfigurasi iBatis seperti apa?

iBatis mempunyai 2 macam file konfigurasi, yaitu :

  • File XML yang berisi deklarasi dari domain object seperti pemetaan nama kolom-kolom di tabel dengan pasangannya masing-masing di domain object atau class POJO. Selain itu, query-query SQL yang sekiranya akan digunakan dalam aplikasi dapat ditempatkan juga pada file ini atau dapat juga ditambahkan dalam proses development nantinya.

Contoh :

<?xml version=”1.0″ encoding=”UTF-8″ standalone=”no”?>

<!DOCTYPE sqlMap PUBLIC “-//iBATIS.com//DTD SQL Map 2.0//EN”

http://www.ibatis.com/dtd/sql-map-2.dtd”&gt;

<sqlMap>

<typeAlias type=”com.goglo.ibatis.Item” alias=”item”/>

<resultMap class=”item” id=”result”>

<result property=”NItemId” column=”n_item_id”/>

<result property=”VNmItem” column=”v_nm_item”/>

<result property=”DCreate” column=”d_create”/>

</resultMap>

<select id=”getAllItems” resultMap=”result”>

select * from Item

</select>

</sqlMap>

  • File sentral yang berisi informasi lokasi dari masing-masing file konfigurasi yang pertama disebutkan di atas.

    Contoh :

<?xml version=”1.0″ encoding=”UTF-8″ ?>

<!DOCTYPE sqlMapConfig

PUBLIC “-//iBATIS.com//DTD SQL Map Config 2.0//EN”

http://www.ibatis.com/dtd/sql-map-config-2.dtd”&gt;

<sqlMapConfig>

<sqlMap resource=”Coba.xml” />

</sqlMapConfig>


Tags:

Blog Stats

  • 4,372 hits