Konversi Tipe Data Java dan Fungsinya
Jenis Konversi Tipe Data dalam Java
- Konversi Implisit (Implicit Conversion): Konversi implisit terjadi secara otomatis oleh kompiler Java ketika tipe data yang lebih kecil diubah menjadi tipe data yang lebih besar. Java melakukan konversi ini untuk memastikan bahwa tidak ada kehilangan data yang terjadi dalam proses konversi. Contoh konversi implisit adalah konversi dari tipe data int ke double atau dari byte ke int.
- Konversi Eksplisit (Explicit Conversion atau Casting): Konversi eksplisit, juga dikenal sebagai casting, adalah proses di mana pengembang secara manual mengubah tipe data dari satu jenis ke jenis lainnya. Konversi ini dilakukan dengan menggunakan operator khusus yang disebut operator casting. Contoh konversi eksplisit adalah mengubah tipe data double menjadi int atau long menjadi short.
Konversi Tipe Data Secara Otomatis
Konversi data tipe dilakukan ketika dua tipe data dikonversi secara otomatis. Hal ini terjadi ketika:- Dua tipe data kompatibel atau sama.
- Ketika ditetapkan nilai dari ukuran kecil tipe data ke tipe data ukuran besar.
Contoh: Program konversi tipe data Java.
class Test
{
public static void main(String[] args)
{
int i = 100;
// konversi tipe data otomatis
long l = i;
// konversi tipe data otomatis
float f = l;
System.out.println("Nilai "
+"Int "
+i);
System.out.println("Nilai "
+"Long "
+l);
System.out.println("Nilai "
+"Float "+f);
}
}
Nilai Long 100
Nilai Float 100.0
Konversi Eksplisit Tipe Data
Jika ingin menetapkan nilai dari tipe data dari ukuran besar ke tipe data ukuran kecil maka digunakan tipe ekplisit.- Konversi tipe data eksplisit berguna ketika konversi otomatis tidak bisa digunakan.
- Spesifikasi tipe data target menentukan tipe konversi dari nilai spesifikasi data.
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.// Program Java
// mengilustrasikan tipe data
// yang tidak kompatibel untuk
// konversi tipe data
// eksplisit
public class Test
{
public static void main(String[] argv)
{
char ch = 'c';
int num = 88;
ch = num;
}
}
ch = num;
^
1 error
// Program Java
// mengilustrasikan konversi
// tipe data secara eksplisit
class Test
{
public static void main(String[] args)
{
double d = 100.04;
// casting tipe data eksplisit
long l = (long)d;
// casting tipe data eksplisit
int i = (int)l;
System.out.println("Nilai"
+" Double "
+d);
// bagian dari nilai yang
// hilang
System.out.println("Nilai"
+" Long "
+l);
// bagian dari nilai yang
// hilang
System.out.println("Nilai"
+" Int "
+i);
}
}
Nilai Long 100
Nilai Int 100
// Program java
// mengilustrasikan konversi
// dari tipe data integer dan
// double ke tipe data byte
class Test
{
public static void main(String args[])
{
byte b;
int i = 257;
double d = 323.142;
System.out.println("Konversi"
+" int ke byte.");
/* i%256 */
b = (byte) i;
System.out.println("i = "
+ i + " b = "
+ b);
System.out.println("\nKonver"
+"si double ke byte.");
/* d%256 */
b = (byte) d;
System.out.println("d = "
+ d + " b= "
+ b);
}
}
i = 257 b = 1
Konversi double ke byte.
d = 323.142 b = 67
Konversi Tipe Aritmatika
Ketika nilai ekspresi dievaluasi, nilai ambang batas dapat melebihi rentang nilai operand dan karenanya nilai ekspresi akan dijumlahkan. Beberapa kondisi dimana tipe data akan dilakukan perhitungan adalah sebagai berikut:- Java secara otomatis akan menjumlahkan setiap nilai operand byte, short, atau char ke tipe data integer ketika dilakukan evaluasi pada ekspresi.
- 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.
// Program Java
// mengilustrasikan tipe data
// konversi dari ekspresi
class Test
{
public static void main(String args[])
{
byte b = 42;
char c = 'a';
short s = 1024;
int i = 50000;
float f = 5.67f;
double d = .1234;
// bentuk ekspresi tipe data
double result = (f * b) + (i / c) - (d * s);
// hasil setelah proses
// perhitungan selesai
System.out.println("Hasil = "
+ result);
}
}
Casting Tipe Data Eksplisit dalam Ekspresi
Ketika melakukan evaluasi nilai ekspresi, hasil akan secara otomatis diperbarui ke dalam tipe data yang lebih besar dari nilai operand. Tetapi jika nilai yang disimpan dalam ukuran tipe data yang lebih kecil, maka akan menghasilkan pesan error pada saat kompilasi program dijalankan, karena hal tersebut maka dibutuhkan casting tipe data untuk mendapatkan hasil dari evaluasi nilai proses tersebut.Contoh:
// Program Java
// mengilustrasikan casting
// tipe data dari integer ke
// tipe data byte
class Test
{
public static void main(String args[])
{
byte b = 50;
// casting tipe data dari
// integer ke byte
b = (byte)(b * 2);
System.out.println(b);
}
}
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 Java
// mengilustrasikan casting
// tipe data integer ke byte
class Test
{
public static void main(String args[])
{
byte b = 50;
// casting tipe data dari
// integer ke byte
b = (byte)(b * 2);
System.out.println(b);
}
}
- Menangani Operasi Matematika: Konversi tipe data penting saat melakukan operasi matematika di mana tipe data yang berbeda mungkin terlibat. Misalnya, jika ingin melakukan operasi pembagian antara dua bilangan bulat (int), hasilnya akan selalu menjadi bilangan bulat. Dalam kasus ini, konversi ke tipe data double diperlukan untuk mempertahankan presisi desimal.
- Menangani I/O (Input/Output): Saat membaca atau menulis data dari atau ke sumber eksternal seperti file atau database, konversi tipe data sering diperlukan. Misalnya, ketika ingin membaca data dari file teks, data tersebut mungkin dibaca sebagai string dan kemudian perlu dikonversi menjadi tipe data yang sesuai seperti int, double, atau boolean.
- Penggunaan Antarmuka Pengguna (GUI): Dalam pengembangan antarmuka pengguna (GUI), konversi tipe data sering diperlukan saat memproses input dari pengguna. Data yang dimasukkan oleh pengguna umumnya dalam bentuk string dan perlu dikonversi menjadi tipe data yang sesuai sebelum diproses lebih lanjut.
- Operasi Database: Ketika berinteraksi dengan database, sering kali diperlukan konversi tipe data antara tipe data Java dan tipe data yang disimpan dalam database. Misalnya, ketika mengambil data dari database, data tersebut dapat berupa String dan perlu dikonversi ke tipe data yang sesuai sebelum digunakan dalam aplikasi Java.
- Manajemen Memori: Konversi tipe data juga dapat berperan dalam manajemen memori, terutama ketika berurusan dengan array atau struktur data khusus. Dalam beberapa kasus, konversi tipe data dapat membantu mengoptimalkan penggunaan memori atau menghindari kebocoran memori.
Kesimpulan
- Menggunakan Underscore Untuk Nama Variabel Java dan Fungsinya
- Fungsi Currying Java dan Penerapannya
- Menggunakan Underscore Java Untuk Literasi Angka
- Program Pencarian pada Java Menggunakan Binary Search
- Program Pengurutan Data pada Java Menggunakan Sorting
- Class dan Object Java dan Fungsinya
- Alokasi Memori Java Objek dan Fungsinya
6 komentar untuk "Konversi Tipe Data Java dan Fungsinya"
Hubungi admin melalui Wa : +62-896-2414-6106
Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.
Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.
- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -
Apa yang dimaksud dengan type casting pada bahasa pemrograman Java?
BalasHapusMengubah tipe data primitif menjadi tipe data primitif lainny dikenal dengan istilah type casting atau type conversion dalam bahasa pemrograman Java. Programmer dapat mentransmisikan tipe data primitif dengan dua cara yaitu: widening, dan narrowing.
HapusApa yang dimaksud dengan konversi eksplisit pada bahasa pemrograman Java?
BalasHapusSaat programmer menetapkan nilai dari satu tipe data ke tipe data lainnya, maka kedua tipe data tersebut mungkin tidak kompatibel satu sama lain. Jika tipe data tersebut tidak kompatibel, maka Java akan melakukan konversi secara otomatis yang dikenal dengan istilah Automatic Type Conversion dan jika tidak maka dikenal dengan istilah casted atau konversi eksplisit.
HapusApa perbedaan antara type casting dan type conversion pada bahasa pemrograman Java?
BalasHapusPada type casting, tipe data diubah menjadi tipe data lain oleh programmer menggunakan operator casting. Sedangkan type conversion, tipe data diubah menjadi tipe data lain oleh kompilator. Jenis casting dapat diterapkan ke jenis data yang kompatibel serta jenis data yang tidak kompatibel.
Hapus