Basic Perkenalan BigDecimal pada Java

type data BigDecimal dipakai biasa nya pada operasi perhitungan nilai nilai besar, biasa nya digunakan untuk operasi perhitungan pada nilai uang.

pada perhitungan dengan bilangan pecahan atau ber”koma” biasa nya di tangani oleh type data float, tetapi untuk perhitungan menyangkut dengan nilai uang sangat disarankan bahkan harus menggunakan type data bigdecimal

kenapa? karena nilai float atau double tidak mampu menangani perhitungan pecahan dengan tepat, pembulatan yang dilakukan tidak presisi untuk nilai uang yang biasa nya berjumlah/digit yang digunakan cukup banyak, sehingga akan menghasilkan nilai yang dapat menimbulkan kesalahan pada perhitungan berikut nya.

oia ada perbedaan yang cukup mendasar pada type data bigdecimal dengan type data int dan float, data yang bertype bigdecimal akan berupa type data object, berbeda dengan int dan float yang masih bersifat primitive cmiiw

sehingga pada perhitungan bigdecimal tidak bisa langsung menggunakan operator /,*,-. + secara langsung, untuk perhitungan akan digunakan method method yang telah disediakan oleh java seperti :

<strong>divide() </strong>untuk pembagian
<strong>multiply() </strong>untuk perkalian<strong>
subtract()</strong> untuk pengurangan
<strong>add() </strong>untuk penambahan

berikut kode untuk menjelaskan secara singkat penggunaan bigdecimal :

public static void basicBigdecimal(){
BigDecimal jumlah = new BigDecimal("100000.05");
double diskon = 0.30;
double ppn = 0.05;

BigDecimal dskn = new BigDecimal(diskon);
BigDecimal ppn_bd = new BigDecimal(ppn);

BigDecimal jml_kali_dskn = jumlah.multiply(dskn);
jml_kali_dskn = jml_kali_dskn.setScale(2, RoundingMode.HALF_UP);

BigDecimal setelahDiskon = jumlah.subtract(jml_kali_dskn);
setelahDiskon = setelahDiskon.setScale(2, RoundingMode.HALF_UP);

BigDecimal ppn_kali_diskon = setelahDiskon.multiply(ppn_bd);
ppn_kali_diskon = ppn_kali_diskon.setScale(2, RoundingMode.HALF_UP);

BigDecimal total_dengan_ppn = setelahDiskon.add(ppn_kali_diskon);
total_dengan_ppn = total_dengan_ppn.setScale(2, RoundingMode.HALF_UP);

NumberFormat formatRp = NumberFormat.getCurrencyInstance(new Locale("in", "ID"));

System.out.println(" harga sebelum diskon = "+formatRp.format(jumlah));
System.out.println(" harga setelah diskon = "+formatRp.format(setelahDiskon));
System.out.println(" harga dengan ppn = "+formatRp.format(total_dengan_ppn
}

hasil

harga sebelum diskon = IDR100,000.05
harga setelah diskon = IDR70,000.04
harga dengan ppn = IDR73,500.04

Berkenalan Dengan I/O File dan BufferedReader

artikel ini hanya memperkenalkan basic cara penggunaan File dan BufferedReader

membuat file

if(!f.exists()){
try {
f.createNewFile();
System.out.println("file path "+f.getAbsoluteFile());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("io exception cant create file");
}

}

[/tags code]

membuat direktory atau folder

File fd = new File("newFolder");
f.mkdir();

[/tags code]

membuat direktory atau folder dalam folder

File fd2 = new File("/home/xxx/workspace/xxx/src/parent/anak/cucu/");
if(!fd2.mkdirs())
fd2.mkdirs();

[/tags code]

BufferedReader digunakan untuk membaca file, dengan menggunakan method dari readLine isi dari suatu file dapat dibaca

try {
FileReader namaFile = new FileReader("/home/xxx/workspace/xxx/src/bermaindenganFile/ClassFile.java");
BufferedReader bf = new BufferedReader(namaFile);
String line;
int i = 0;

while ((line = bf.readLine()) != null) {

System.out.println(line + "\n");

}

namaFile.close();
bf.close();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}

[/tags code]

sekilas perbedaan redhat dan linux distro lainnya

lagi bermalas malasan dirumah tiba tiba mendapat pertanyaan dari seorang teman tentang linux redhat, dan kebetulan saya juga kurang tau tuh perbedaan linux redhat dan distro lainnya itu apa sih.

surfing surfing ternyata nemu info nya, jadi perbedaan redhat itu sebenar nya dengan linux lain nya adalah redhat itu salah satu linux yang berbayar.

redhat ini biasanya dipakai oleh vendor besar, dan menurut info yang saya dapat redhat menjanjikan package yang seven year lifecycle artinya vendor dari redhat berani menjanjikan kepada klien nya bahwa si klien tidak perlu melakukan upgrade product selama paling tidak 7 tahun, atau bahasa keren nya long term support

wah berani sekali memang menjajikan hal seperti itu. :D

“This is very different from other Linux desktop systems, where long-term support is not typically provided,” said Carr. “If a security patch is required six years down the road for Red Hat Enterprise Linux Desktop, for example, we will provide it.”

http://itmanagement.earthweb.com/osrc/article.php/3858611/Linux-Desktop-Comparison-Red-Hat-Novell-Ubuntu-Fedora.htm

berbeda hal nya dengan distro lain, semisal ubuntu yang hanya memberikan short term support soal nya gratis jadi yang menjamin hanya komunitas cmiiw.

walaupun redhat berbayar, vendor tempat redhat juga mensponsori atau mendukung dalam project fedora yaitu salah satu distro yang gratis. jadi fedor adalah distro dari communias redhat

berikut ini beberapa perbedaan ubuntu dan redhat

  • ubuntu gratis sedangkan redhat berbayar
  • ubuntu menggunakan package system dpkg/debian sedangkan redhat menggunakan RPM package manager
  • tujuan ubuntu adalah penggunaan linux yang bisa dipakai dalam keseharian dan menjadi populer dan banyak dipakai oleh user biasa, sedangkan red hat ditujuan untuk kalangan usaha besar atau enterprise

http://www.differencebetween.net/technology/difference-between-ubuntu-and-red-hat/

 

add ons Webclient untuk para blogger ZEMANTA

ini adalah posting saya pertama kali melalui add ons zemanta pada firefox 4.x

zemanta webclient untuk nge-blog, yang menarik zemanta adalah add on pada firefox . user cukup menginstal add ons nya saja ga perlu repot , sehingga user pun yang ingin nge-blog ga perlu lagi repot repot mengunjungi web tempat dimana dia ngeblog

cukup buka mozila, buka zemanta setting alamat blog, dan user password. dan user tinggal ngeblog deh :D

interface yang digunakan juga user friendly lebih mirip dashboard pada wordpress

Zemanta helps you create rich blog posts by recognizing your topic and suggesting useful related links. Just write your post, click the Zemanta toolbar icon

kunjungi url berikut jika ingin mengetahui lebih lanjut

http://www.zemanta.com/

 

BUKU JAVA DARI ANAK NEGERI UNTUK ANAK NEGERI

buku java yang termasuk bagus dan recommended menurut saya.

pembahasan nya dari dasar sampai DAO, ORM dan SPRING

karena yang menulis mas ifnu bima seorang profesional IT maka apa yang dibahas juga tepat sasaran untuk seorang pemula
sehingga menjadi acuan untuk memulai karier dasar dalam industri di dunia java.

pembahasan nya termasuk mudah dipahami dan apa lg buku disebarkan secara gratis.

monggo dikunjungi link nya.

http://tanyajava.com/download/javadesktop