Konversi Tipe Data (Ala Java)

Ya… hari ini kembali lagi nulis tentang hasil belajar di hari ini. Tetap aja di JAVA dong…! Kali ini belajar tentang tipe data dan konversinya. Maksudnya konversi kayaknya ya merubah dari satu tipe data ke tipe data yang lainnya. Misalnya saja dari tipe data integer ke tipe data double, dari tipe data integer menjadi tipe data byte ataupun sebaliknya dan masih banyak lagi dech macam-macamnya. Akan tetapi kali ini aku hanya akan menulis sekelumit saja, dari pada pusing….!

Pertama Narrowing Conversion
Narrowing Conversion merupakan konversi dari satu tipe ke tipe lain yang lebih kecil, misalnya dari tipe data long (64 bits) ke tipe data integer (32 bits). Pada umumnya, Narrowing Primiteve Conversion dapat diterapkan pada kasus-kasus berikut ini :

  1. short to byte or char
  2. char to byte or short
  3. int to byte, short, or char
  4. long to byte, short, or char
  5. float to byte, short, char, int, or long
  6. double to byte, short, char, int, long, or float


Contoh penerapan dalam source program dapat kita perhatikan contoh berikut ini :

/*
 * Project ini adalah karya Abdul Aziz (www.farazinux.wordpress.com)
 * Tidak diperkenankan merubah sourcecode tapa ijin
 * Tapi tidak didilarang mengembangkan, yuk terus belajar dan berkarya
 * Kalau ada kerusakan ataupun Error tidak menjadi tanggung jawab saya 😀
 */

package konversi;

/**
 * @author farazinux
 */
public class NarrowingKonfersi {
    public static void main (String args[]){
        long a = 100;
        int b = (int) a; // ini yang disebut narrowing konfersi
        System.out.println(a);
        System.out.println(b);
    }
}

Narrowing conversion with information loss
Narrowing Conversion mungkin terkadang menyebabkan kehilangan sebagian informasi, hal ini disebabkan karena kapasitas target tipe data tidak mampu menampung hasil konversi. Perhatikan contoh berikut :

/**
 *
 * @author farazinux
 */
public class NarrowingKonfersiLoss {
    public static void main(String args []){
        long a = 9988776655L;
        int b = (int) a;

        System.out.println(b);
    }
}

Nah, dari contoh di atas dapat kita pelajari bahwa hasil konversi dari tipe data long yang kita konversikan ke tipe data integer ternyata tipe data integer tidak mampu menampung keseluruhan dari hasil konversi bilangan long.

Casting Incompatible Types
Nah, pada bagian ini kita akan mengecek beberapa konversi tipe data. Semoga aja tipe data yang kita cek nantinya akan berhasil. Berikut ini contohnya :

/**
 *
 * @author farazinux
 */
public class CastleIncompatibleTypes {
    public static void main (String args []){
        byte b;
        int i = 257;
        double d = 323.342;
        // Konversi dari integer ke byte
        System.out.println("Konversi dari Integer ke Byte");
        b = (byte) i;
        System.out.println("i dan b " + i + " " + b);

        // Konversi dari double ke integer
        System.out.println("Konversi dari double ke integer");
        i = (int) d;
        System.out.println("i dan d " + i + " " + d);

        // Konversi data dari double ke bentuk byte
        System.out.println("Konversi dari bentuk double ke bentuk byte");
        b = (byte) d;
        System.out.println("d dan b " + d + " " + b);
    }
}

Kompile dan jalankan aja tuch, Insya Allah dapat dilihat hasilnya. 😀

Automatic Type Promotion in Expressions
Beberapa tipe data ternyata dapat dilakukan operasi matematis. Baik itu operasi perkalian, pembagian, pengurangan maupun penjumlahan. berikut ini contoh codenya :

/**
 *
 * @author farazinux
 */
public class AutomaticTypePromotionInExpression {
    public static void main(String args[]){
        byte b = 22;
        char c = 'a';
        short s = 1122;
        int i = 3600;
        float f = 6.235f;
        double d = .1234;
        double hasil = (f * b) + (i * c) - (d * s);
        System.out.println((f * b) + " + " + (i * c) + " - " + (d * s));
        System.out.println("hasil " + hasil);
    }
}

Ya.. sementara itu aja dulu, untuk lebih jelasnya dapat anda temukan di sini.

Iklan

11 comments on “Konversi Tipe Data (Ala Java)

  1. pa saya punya kasus spt ini:

    String a = x.getString();
    int b = integer.parceInt(a);
    double u = b;
    String c = y.getString();
    int d = integer.parceInt(c);
    double k = d;
    double m = u/k;

    //saya letakan di
    form.append(“hasil = “m);

    uwalah pa_E malah espleng gamau nongol komanya yang ada malah eRRoR…. : )
    kalau pake (long) bisa, tapikan bukan pecahan, mohon bantuan secepatnya ya pa!!!
    maklum masih belajar.

    ukungzulfah@gmail.com

  2. saya mau tanya ?…saya pusing banget nich buaat soal bikin program java yang ada string,didalmny ada if
    soalnya kayak gini
    1.buatlah sebuah program inputan 2 kalimat jika kalimat pertama lebih pendek karakternya dari pada karakter kalmat pertama dengan jumlah karakter kedua dan hasilnya akan diuji apakah ganjil ataukah genap?…dan contohtampilan programnya kayak gini

    inputkan kalimat pertama : lab
    inputkan kalimat pertama : multimedia

    Hasil perkalian kedua karakter : 30
    termasuk bilangan GENAP

    pres any key to continue

    dan yang saya bingungkan bagaimana cara mengalikan stringnya itu menggunakan huruf bukan angka ex:lab(3) dan didalam program menggunakan if ?…. mohon bantuanyya

  3. Mo tnya nich contoh dari konversi beberapa type data ( min 10 )ke byte,,, Pusing nich nyari na
    Makaci,,,,,,,,,,

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s