Casting adalah perubahan type data ke type data lainnya dengan memperhatikan ukuran kapasitas di setiap type data. Type Casting merupakan metode atau cara yang digunakan untuk mengubah tipe data pada variabel. Seringkali dalam pembuatan program diperlukan langkah untuk mengubah suatu tipe data menjadi tipe data yang lainnya. Nah, proses yang digunakan untuk mengubah suatu tipe data ke tipe data yang lain itulah yang disebut dengan istilah Type Casting atau pengarah tipe.
ALFINA, ST., MT. 2
Bentuk dari type casting adalah sebagai berikut : (tipe-data) data Sebagai contohnya, terdapat pendeklarasian sebagai berikut : int i = 65; char huruf; Supaya nilai i bisa disimpan ke variabel huruf, maka nilai i perlu diubah menjadi tipe char dengan cara sebagai berikut : huruf = (char) i; Agar tidak ada nilai yang hilang, tipe tujuan harus memiliki ukuran yang lebih besar atau minimal sama dengan ukuran tipe sumber.
ALFINA, ST., MT. 3
Dibawah ini memperlihatkan casting tipe atau pengarah tipe yang dapat dilakukan dengan tanpa menghilangkan nilai Tipe Sumber Tipe Tujuan
byte short, char, int, long, float, double
short int, long, float, double
char int, long, float, double
int long, float, double
long float, double
float double
ALFINA, ST., MT. 4
Didalam Java, Type Casting dibedakan menjadi dua tipe :
1. Widening Casting (Konversi Otomatis)
2. Narrowing Casting (Konversi Tipe Data yang Tidak Kompatibel)
ALFINA, ST., MT. 5
ALFINA, ST., MT. 6 Contoh Programnya : public class Test1 { public static void main(String[] args) { int i = 100; long l = i; float f = l; System.out.println("Int bernilai "+i); System.out.println("Long bernilai "+l); System.out.println("Float bernilai "+f); } }
Hasilnya : Int bernilai 100 Long bernilai 100 Float bernilai 100.0
ALFINA, ST., MT. 7
ALFINA, ST., MT. 8 Contoh Programnya : public class Test2 { public static void main(String[] args) { double d = 100.04; long l = (long)d; int i = (int)l; System.out.println("Double bernilai "+d); System.out.println("Long bernilai "+l); System.out.println("Int bernilai "+i); } } Hasilnya :
Double bernilai 100.04
Long bernilai 100 Int bernilai 100
ALFINA, ST., MT. 9
ALFINA, ST., MT. 10 Hasilnya :
Typecasting dari tipe int ke tipe byte
int: 257 byte: 1 Typecasting dari tipe double ke tipe int double: 274.5678 int: 274 Typecasting dari tipe double ke tipe byte double: 274.5678 byte: 18
ALFINA, ST., MT. 11
ALFINA, ST., MT. 12 Hitung Luas Persegi panjang Hitung Luas Trapesium Hitung Luas jajaran genjang Hitung Luas bujur sangkar Hitung Luas Lingkaran
ALFINA, ST., MT. 13
ALFINA, ST., MT. 14 ALFINA, ST., MT. 15 Beberapa casting disebut dengan konversi. Proses konversi disarankan dari ukuran type data kecil ke besar. Alasannya karena jika konversi dilakukan dari ukuran besar ke kecil, ada kemungkinan akan menghilangkan beberapa data karena kapasitas yang tidak mencukupi. Jika di konversi contohnya adalah dari integer ke float, integer ke long, float ke double, dan seterusnya, maka dalam Casting yang terjadi adalah dari integer ke String, String ke integer, float ke String, String ke float dan masih banyak lagi sesuai dengan ketentuan yang ada di java. ALFINA, ST., MT. 16 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.
ALFINA, ST., MT. 17
Kalau untuk Konversi mungkin tidak ada masalah, karena tidak ada coding tertentu, tapi hal ini lain dengan Casting. Dalam Casting, ada coding yang harus diperhatikan. 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.
ALFINA, ST., MT. 18
ALFINA, ST., MT. 19 HASILNYA :
ALFINA, ST., MT. 20
ALFINA, ST., MT. 21 ALFINA, ST., MT. 22 ALFINA, ST., MT. 23 Abdul Kadir, 2005. Dasar Pemrograman Java 2. Yogyakarta : Penerbit Andi. Suarga, 2009. Dasar Pemrograman Komputer Dalam Bahasa Java. Yogyakarta : Penerbit Andi. www.ilmukomputer.org Dan beberapa sumber lain dari internet.