Belajar Java Basic Tipe Data Float Dan Double

Belajar Java Basic Tipe Data Float Dan Double

Belajar Java Basic Tipe Data Float Dan Double - Variabel dengan tipe float merepresentasikan presisi single angka desimal dan memiliki 7 digit yang signifikan. 

Sedangkan variabel dengan tipe double merepresentasikan presisi double angka desimal, sehingga tipe double membutuhkan memor dua kali lebih besar dibandingkan dengan tipe float, dan menyediakan 15 digit yang signfikan, sehingga memiliki presisi dua kali lipat dari variabel float.

Untuk range variabel yang digunakan oleh kebanyakan program, variabel dengan tipe float seharusnya cukup, namun kita dapat menggunakan tipe double untuk 'bermain aman'.

Dalam beberapa aplikasi, bahkan variabel dengan tipe double dapat menjadi tidak memadai. Kebanyakan progammer merepresentasikan angka desimal dengan tipe double.

Faktanya, Java mengatasi angka desimal yang kita masukkan kedalam kode program seperti 8.74 dan 0.0354 sebagai double secara default.

Walaupun angka desimal tidak selalu 100% akurat, namun banyak sekali pengaplikasian menggunakan tipe angka ini. Contohnya untuk mengukur suhu badan, yaitu 36.8 derajat Celcius, kita tidak perlu menggunakan banyak digit desimal, karena mungkin secara aktual temperatur badan tersebut adalah 36.7996743353 derajat Celcius. Menggunakan nilai 36.8 tidak akan berpengaruh untuk kebanyakan aplikasi yang berhubungan dengan angka suhu badan. 

Namun karena sebab ketelitian, tipe double lebih dipilih dibandingkan dengan tipe float, karena variabel double dapat merepresentasikan angka desimal secara lebih akurat.

Angka desimal juga bisa terjadi karena hasil pembagian. Ketika kita membagi 1 dengan 3 maka nilainya adalah 0.3333333......., dengan perulangan desimal 3 tidak terbatas. Komputer sudah menetapkan memori untuk meyimpan sebuah nilai, jadi jelas sudah bahwa nilai desimal yang disimpan tersebut hanya berupa suatu perkiraan.

Contoh coding Java :


class Nasabah
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
public class Nasabah {
 
 // variabel instance yang menyimpan saldo
 private double saldo;
 
 // konstruktor Nasabah
 public Nasabah(double saldoAwal){
  if ( saldoAwal > 0.0 )
   saldo = saldoAwal;
 }//Akhir konstruktor nasabah 
 
 //Method kredit untuk menambahkan jumlah setoran pada saldo
 public void kredit(double deposit){
  saldo = saldo + deposit;
 }
 
 //method getSaldo akan mengembalikan nilai saldo nasabah
 public double getSaldo(){
  return saldo;
 }
}

class DemoNasabah
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import java.util.Scanner;
public class DemoNasabah {
 
 public static void main( String args[] ){
  
  Nasabah nasabah1  = new Nasabah(125679.35);//membuat objek Nasabah
  Nasabah nasabah2  = new Nasabah(-645.98);//membuat objek Nasabah
  
  //Menampilkan inisial saldo untuk setiap objek
  System.out.printf( "Saldo nasabah1: Rp.%.2f\n",
    nasabah1.getSaldo());
  System.out.printf( "Saldo nasabah2: Rp.%.2f\n\n",
    nasabah2.getSaldo());
  
  //Membuat objek Scanner untuk memperoleh input dari keyboard / konsol
  Scanner input = new Scanner(System.in);
  
  //membaca jumlah deposit dari user
  double jumlahDepositNasabah;
  
  //prompt
  System.out.print("silakan masukkan jumlah deposit untuk nasabah1: ");
  jumlahDepositNasabah = input.nextDouble();
  System.out.printf("\nMenambahkan Rp.%.2f ke saldo nasabah1\n\n",
    jumlahDepositNasabah);
  nasabah1.kredit(jumlahDepositNasabah);
  
  //Menampilkan saldo nasabah
  System.out.printf("saldo nasabah1: Rp.%.2f\n",nasabah1.getSaldo());
  System.out.printf("saldo nasabah2: Rp.%.2f\n",nasabah2.getSaldo());
  //Menambahkan baris kosong 
  System.out.println();
  
  //prompt
  System.out.print("Masukkan jumlah deposit untuk nasabah2: ");
  jumlahDepositNasabah = input.nextDouble();
  System.out.printf("\nMenambahkan Rp.%.2f ke saldo nasabah2\n\n",
      jumlahDepositNasabah);
  nasabah2.kredit(jumlahDepositNasabah);
    
  //Menampilkan saldo nasabah
  System.out.printf("saldo nasabah1: Rp.%.2f\n",nasabah1.getSaldo());
  System.out.printf("saldo nasabah2: Rp.%.2f\n",nasabah2.getSaldo());

 }

}

%f adalah format specifers yang digunakan untuk output dengan tipe value atau double, sedangkan .2 diantara % dan f akan menetapkan jumlah angka desimal yaitu dua desimal. Setiap nilai desimal dengan format specifiers %.2f akan dibulatkan ke dua angka dibelakang koma, misalnya :
  • 145.977 akan dibulatkan menjadi 145.98 
  • 45.342 akan dibulatkan menjad 45.34
Output:
Saldo nasabah1: Rp.125679.35
Saldo nasabah2: Rp.0.00

silakan masukkan jumlah deposit untuk nasabah1: 786543

Menambahkan Rp.786543.00 ke saldo nasabah1

saldo nasabah1: Rp.912222.35
saldo nasabah2: Rp.0.00

Masukkan jumlah deposit untuk nasabah2: 898769

Menambahkan Rp.898769.00 ke saldo nasabah2

saldo nasabah1: Rp.912222.35
saldo nasabah2: Rp.898769.00


Demikianlah pembahasan tentang Belajar Java Basic Tipe Data Float Dan Double, anda juga bisa mengetahui berbagai macam tipe data pada Java disini.

No comments

Bahasa Java. Powered by Blogger.