Tipe Data Java
Seperti yang sudah dijelaskan pada tutorial sebelumnya, sebuah variabel di Java harus berupa tipe data yang spesifik, contoh:
public class Main {
public static void main(String[] args) {
int num = 5; // integer (semua angka)
float floatNum = 5.99f; // desimal
char huruf = 'D'; // karakter
boolean bool = true; // boolean
String teks = "Hai"; // String
System.out.println(num);
System.out.println(floatNum);
System.out.println(huruf);
System.out.println(bool);
System.out.println(teks);
}
}
Output :
5
5.99
D
true
Hai
Tipe data terbagi kedalam dua grup :
- Tipe data primitif – termasuk byte, short, int, long, float, double, boolean dan char
- Tipe data non-primitif, seperti String, Array dan Class (Anda akan mempelajari ini pada tutorial selanjutnya)
Tipe Data Primitif
Sebuah tipe data primitif menentukan ukuran dan tipe dari nilai variabel, dan tidak memiliki method tambahan.
Terdapat 8 tipe data primitif di Java:
Tipe Data | Ukuran | Deskripsi |
byte | 1 bytes | Menampung nilai numerik dari -128 sampai 127 |
short | 2 bytes | Menampung nilai numerik dari -32,768 sampai 32,767 |
int | 4 bytes | Menampung nilai numerik dari -2,147,483,648 sampai 2,147,483,647 |
long | 8 bytes | Menampung nilai numerik dari -9,223,372,036,854,775,808 sampai 9,223,372,036,854,775,807 |
float | 4 bytes | Menampung nilai numerik pecahan. Cukup untuk menampung 6 sampai 7 digit desimal |
double | 8 bytes | Menampung nilai numerik pecahan. Cukup untuk menampung 15 digit desimal |
boolean | 1 bit | Menampung nilai true atau false |
char | 2 bytes | Menampung karakter tunggal/huruf atau nilai ASCII |
Numerik
Tipe data numerik primitif dibagi menjadi 2 grup
Tipe Integer menampung seluruh nilai numerik positif ataupun negatif (seperti 123 atau -456), tanpa desimal. Tipe yang valid adalah byte, short, int dan long. Tipe yang seharusnya Anda gunakan, tergantung dari nilai numerik.
Tipe Desimal merepresentasikan nilai bilangan pecahan, yang berisi satu atau lebih desimal. Terdapat dua tipe data: float dan double.
Catatan: Walaupun terdapat banyak tipe data numerik di Java, yang paling sering digunakan untuk numerik adalah int (untuk seluruh nilai numerik) dan double (untuk numerik pecahan). Namun, kita akan membahas semuanya selama Anda melanjutkan membaca.
Tipe Integer
Byte
Tipe data byte dapat menampung numerik dari -128 sampai 127. Byte dapat digunakan sebagai ganti int atau tipe integer lainnya untuk menghemat memori ketika Anda yakin bahwa nilainya akan berada dalam jangkauan -128 sampai 127. Contoh:
public class Main {
public static void main(String[] args) {
byte varByte = 100;
System.out.println(varByte);
}
}
Output :
100
Short
Tipe data short dapat menampung seluruh nilai numerik dari -32768 sampai 32767. Contoh:
public class Main {
public static void main(String[] args) {
short varShort = 5000;
System.out.println(varShort);
}
}
Output :
5000
Int
Tipe data int dapat menampung numerik dari -2147483648 sampai 2147483647. Secara umum, dan dalam tutorial ini, tipe data int adalah tipe data yang lebih sering dipilih saat kita membuat variabel dengan nilai numerik. Contoh:
public class Main {
public static void main(String[] args) {
int varInt = 100000;
System.out.println(varInt);
}
}
Output :
100000
Long
Tipe data long dapat menampung seluruh nilai numerik dari -9223372036854775808 sampai 9223372036854775807. Tipe data ini digunakan ketika int tidak cukup besar untuk menampung nilai numerik. Perhatikan bahwa Anda harus mengakhiri nilainya dengan huruf “L”. Contoh:
public class Main {
public static void main(String[] args) {
long varLong = 15000000000L;
System.out.println(varLong);
}
}
Output :
15000000000
Tipe Desimal
Anda harus menggunakan tipe desimal kapanpun Anda membutuhkan nilai numerik dengan desimal, seperti 9.99 or 3.14515.
Float
Tipe data float dapat menampung nilai numerik desimal dari 3.4e−038 sampai 3.4e+038. Perhatikan bahwa Anda harus mengakhiri nilainya dengan huruf “f”. Contoh:
public class Main {
public static void main(String[] args) {
float varFloat = 5.75f;
System.out.println(varFloat);
}
}
Output :
5.75
Double
Tipe data double dapat menampung nilai numerik desimal dari 1.7e−308 sampai 1.7e+308. Perhatikan bahwa Anda harus mengakhiri nilainya dengan huruf “d”. Contoh:
public class Main {
public static void main(String[] args) {
double varDouble = 19.99d;
System.out.println(varDouble);
}
}
Output :
19.99
Menggunakan float atau double ?
Ketepatan nilai desimal menunjukkan berapa banyak digit nilai yang dapat dimiliki setelah titik. Float hanya enam atau tujuh digit desimal, sedangkan double memiliki presisi sekitar 15 digit. Oleh karena itu lebih aman menggunakan double untuk sebagian besar perhitungan.
Angka Ilmiah (Scientific Numbers)
Angka desimal juga bisa berupa angka ilmiah dengan menggunakan huruf “e” atau “E” mengindikasikan 10. Contoh:
public class Main {
public static void main(String[] args) {
float varFloat = 35e3f; // hasil 35000.0
double varDouble = 12E4d; // hasil 120000.0
System.out.println(varFloat );
System.out.println(varDouble);
}
}
Output :
35000.0
120000.0
Boolean
Tipe data boolean dideklarasikan dengan keyword boolean dan hanya bisa diisi nilai true atau false. Contoh:
public class Main {
public static void main(String[] args) {
boolean javaBahasaPemrograman = true; // Hasil true
boolean javaYangBuatOrangJawa = false; // Hasil false
System.out.println(javaBahasaPemrograman);
System.out.println(javaYangBuatOrangJawa);
}
}
Output :
true
false
Nilai boolean kebanyakan digunakan untuk kondisi pengetesan, Anda akan mempelajarinya di tutorial selanjutnya.
Tipe Data Karakter
Tipe data char digunakan untuk menyimpan sebuah karakter tunggal. Tipe data karakter harus menggunakan kutip satu, seperti ‘A’ atau ‘c’. Contoh:
public class Main {
public static void main(String[] args) {
char nilaiSaya = 'A';
System.out.println(nilaiSaya);
}
}
Output :
A
Sebagai alternatif, Anda bisa menggunakan nilai ASCII untuk menampilkan karakter tertentu. Contoh:
public class Main {
public static void main(String[] args) {
char a = 65, b = 66, c = 67;
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}
Output :
A
B
C
String
Tipe data String digunakan untuk menyimpan rangkaian karakter (teks). Nilai string menggunakan kutip dua. Contoh:
public class Main {
public static void main(String[] args) {
String basaBasi = "Hai, Apa kabar?";
System.out.println(basaBasi);
}
}
Output :
Hai, Apa kabar?
Tipe string banyak digunakan dan terintegrasi di Java, sehingga beberapa orang menyebutnya “tipe khusus kesembilan”.
String di Java sebenarnya merupakan tipe data non-primitif, karena mengacu pada object. Object string memiliki method yang digunakan untuk melakukan beberapa operasi tertentu pada string. Jangan khawatir jika Anda belum memahami object . Kita akan mempelajari lebih banyak lagi tentang string dan object di tutorial selanjutnya.
Tipe Data Non-Primitif
Tipe data non-primitif disebut juga tipe referensi (reference types) karena mengacu ke object.
Perbedaan utama antara primitif dan non-primitif sebagai berikut:
- Tipe data primitif sudah ditentukan di Java. Tipe non-primitif dibuat oleh programmer dan tidak ditentukan oleh Java (kecuali untuk String)
- Tipe non-primitif digunakan untuk memanggil method untuk melakukan beberapa operasi, sedangkan primitif tidak bisa
- Tipe primitif selalu memiliki sebuah nilai, sedangkan tipe non-primitif hanya bisa null
- Tipe primitif diawali dengan huruf kecil, sedangkan tipe non-primitif diawali dengan huruf besar
- Ukuran tipe primitif tergantung pada tipe datanya, sedangkan tipe non-primitif semuanya memiliki ukuran yang sama
Contoh dari tipe non-primitif adalah String, Arrays, Class, dll. Anda akan mempelajarinya di tutorial selanjutnya.
Tutorial sebelumnya : Variable Pada Java
Tutorial setelahnya : Casting Tipe Data Java
Semua Tutorial JAVA : Tutorial JAVA