Tuesday, April 9, 2013

Perbedaan Konversi dan Casting pada Java

Pada pemrograman sering sekali terjadi pemindahan nnilai dari satu variabel ke variabel lainnya dengan tipe data yang berbeda. Dalam pemindahan tersebut ada dua jenis pemindahan yang dilakukan yaitu Konversi dan Casting.
  • Konversi adalah pemberian nilai kepada variabel yang berbeda tipe datanya. Dalam konversi melibatkan widening conversation yaitu tipe data tujuan harus mempunyai range yang lebih besar daripada tipe data aslinya. Misalnya dari byte ke short,  short ke long, atau int ke double. Konversi tidak dapat dilakukan pada tipe data boolean.
Contoh :
public class Promotion{
        public static void main (String[] args){
            
             char c = 'a';
             byte b = 12;
             short s = 32767;
             int i = 2147483647;
             long l = 72036854775807L;
             float f = 3.324243532f;
             double d = 3.23442323445242;
            
             System.out.println("Default value c = "+c);
             System.out.println("Default value b = "+b);
             System.out.println("Default value s = "+s);
             System.out.println("Default value i = "+i);
             System.out.println("Default value l = "+l);
             System.out.println("Default value f = "+f);
             System.out.println("Default value d = "+d);
            
             d = f;
             f = l;
             l = i;
             i = s;
             s = b;
             //c = i;
            
             System.out.println("\nAfter Promotion proses : ");
            
             System.out.println("\nDefault value c(int)      = "+c);
             System.out.println("Default value b(short)    = "+b);
             System.out.println("Default value s(byte)     = "+s);
             System.out.println("Default value i(short)    = "+i);
             System.out.println("Default value l (int)     = "+l);
             System.out.println("Default value f (long)    = "+f);
             System.out.println("Default value d (float)   = "+d);
   }
}
konversi pada java 
  • Casting adalah saat programmer melakukan konversi  antar tipe yang tipenya tidak kompatibel, tidak dapat mengonversi secara otomatis maka dibutuhkan casting.  Casting juga melibatkan narrowing conversation yaitu bila tipe tujuan lebih kecil dari tujuan asal maka akan ada informasi yang hilang. Contoh casting saat pemberian nilai dari tipe data double ke int yang memiliki range lebih kecil dari double.
Format proses casting :
                        i = (int)d;
          i = variabel tipe data int
          d = variabel tipe data double

Contoh :
public class Casting{
        public static void main (String args[]){
            
             char c = 'a';
             byte b = 12;
             short s = 32767;
             int i = 2147483647;
             long l = 72036854775807L;
             float f = 3.324243532f;
             double d = 3.23442323445242;
            
             System.out.println("Default value c = "+c);
             System.out.println("Default value b = "+b);
             System.out.println("Default value s = "+s);
             System.out.println("Default value i = "+i);
             System.out.println("Default value l = "+l);
             System.out.println("Default value f = "+f);
             System.out.println("Default value d = "+d);
            
             f = (float)d;
             l = (long)f;
             i = (int)l;
             s = (short)i;
             b = (byte)s;
             c = (char)i;
            
             System.out.println("\nAfter Casting proses: ");
            
             System.out.println("\nDefault value c(int)     = "+c);
             System.out.println("Default value b(short)   = "+b);
             System.out.println("Default value s(int)     = "+s);
             System.out.println("Default value i(long)    = "+i);
             System.out.println("Default value l (float)  = "+l);
             System.out.println("Default value f (double) = "+f);
             System.out.println("Default value d (double) = "+d);
   }
}

           


"Kesabaran itu memeng pahit rasanya tapi buahnya manis"~J. J. Rousseau



Artikel Terkait java ,tutorial

2 comments:

  1. sangat mencerahkan...terima kasih. oia ....kalau source code diatas di konvert ke c++ bagaimana ya ? terima kasih atas pencerahan sebelumnya...

    ReplyDelete