Senin, Maret 18, 2019

Konversi Tipe Data Pada Bahasa Pemrograman Java

Ketika menetapkan nilai dari salah satu tipe data untuk dikirim ke tipe data yang lain, maka dua tipe data tersebut mungkin tidak kompatibel satu sama lain. Jika tipe data kompatibel, maka Java akan menjalankan konversi secara otomatis yang disebut dengan konversi tipe data otomatis dan jika tidak maka tipe data tersebut harus di-casted atau dikonversi secara eksplisit. Contoh, Nilai integer yang dikirim ke variabel bertipe data long.

Konversi tipe data secara otomatis
Konversi data tipe dilakukan ketika dua tipe data dikonversi secara otomatis. Hal ini terjadi ketika:
satu, Dua tipe data kompatibel atau sama.
dua, Ketika ditetapkan nilai dari ukuran kecil tipe data ke tipe data ukuran besar.

Contoh, Tipe data numerik pada Java kompatibel terhdap tipe data numerik satu sama lain, namun tipe data numerik tidak kompatibel terhadap tipe data char. Dan juga, tipe data char dan boolean tidak kompatibel satu sama lain dan contoh lainnya.

Byte -> Short -> Int -> Long -> Float -> Double

Contoh program:

Output:
Int value 100
Long value 100
Float value 100.0

Konversi Eksplisit Tipe Data
Jika ingin menetapkan nilai dari tipe data ukuran besar ke tipe data ukuran kecil maka digunakan tipe ekplisit.
satu, Konversi tipe data eksplisit berguna ketika konversi otomatis tidak bisa digunakan.
dua, Spesifikasi tipe data target menentukan tipe konversi dari nilai spesifikasi data.


Double -> Float -> Long -> Int -> Short -> Byte


Eksplisit Konversi
Tipe data karakter (seperti char) dan numerik (seperti integer) adalah tipe data yang tidak kompatibel. Untuk dapat mengirim nilai antar variabel maka digunakan konversi eksplisit seperti contoh program berikut ini.

Output:
7: error: incompatible types: possible lossy conversion from int to char
    ch = num;
         ^
1 error

Bagaimana cara melakukan konversi tipe data secara eksplisit?

Output:
Double value 100.04
Long value 100
Int value 100

Ketika menetapkan nilai bagian yang hilang ke tipe data byte dan nilai tersebut akan direduksi ke nilai 256 (jangkauan nilai byte).

Output:
Conversion of int to byte.
i = 257 b = 1

Conversion of double to byte.
d = 323.142 b = 67

Konversi tipe aritmatika
Ketika nilai ekspresi dievaluasi, nilai ambang batas dapat melebihi dari rentang nilai operand dan karenanya nilai ekspresi akan dijumlahkan. Beberapa kondisi dimana tipe data akan dilakukan perhitungan:
satu, Java secara otomatis akan menjumlahkan setiap nilai operand byte, short, atau char ke tipe data integer ketika dilakukan evaluasi pada ekspresi.
dua, Jika salah satu operand bertipe data long, float, atau double maka keseluruhan ekspresi akan dijumlahkan ke dalam tipe data long, float, atau double secara berurutan.

Output:
Result = 626.7784146484375

Casting tipe data eksplisit dalam ekspresi
Ketika melakukan evaluasi nilai ekspresi, hasil akan secara otomatis diperbarui ke dalam tipe data yang lebih besar dari operand. Tetapi jika nilai yang disimpan dalam ukuran tipe data yang lebih kecil, maka akan menghasilkan pesan error pada saat kompilasi program, karena hal tersebut maka dibutuhkan casting tipe data untuk mendapatkan hasil dari evaluasi nilai proses.

Contoh program:

Output:
100

catatan: dalam kasus dimana hanya ada tipe data tunggal (satu variabel) maka hasil dari evaluasi (perhitungan) akan dikonversi ke tipe data integer dan casting terhadap tipe data itu sendiri.

Contoh program:
Output:
100





Tidak ada komentar:

Posting Komentar

Respon komentar 7 x 24 jam, so please be patient :D

Footer Adsense