Skip to main content

Tipe Data dalam Java

Tipe data di Java dibagi menjadi dua kategori besar: Primitive dan Non-Primitive.

Type Data Java

1️⃣ Tipe Data Primitive​

Tipe data ini adalah tipe data bawaan Java yang paling dasar / sudah terdefinisi di Java (built-in). Ada 8 jenis:

KelompokTipe DataUkuranKegunaanContoh
Bilangan Bulat (Integer)byte1 byteAngka kecil (-128 s/d 127)byte a = 100;
short2 bytesAngka sedang (-32.768 s/d 32.767)short b = 5000;
int4 bytesStandar angka bulat (-2.147.483.648 s/d 2.147.483.647)int c = 1000000;
long8 bytesAngka sangat besar (-9.223.372.036.854.775.808 s/d 9.223.372.036.854.775.807)long d = 15L;
Bilangan Desimal (Floating Point)float4 bytesAngka koma (presisi 7 digit)float e = 3.14f;
double8 bytesStandar angka koma (15 digit)double f = 19.99;
Logika (Boolean)boolean1 bitMenyimpan True atau Falseboolean g = true;
Karakter (Character)char2 bytesSatu karakter (Unicode)char h = 'A'
tip

Catatan:

  • Gunakan int sebagai standar angka bulat kecuali ada alasan khusus.
  • Gunakan double sebagai standar angka desimal.
  • Tambahkan akhiran f pada float dan L pada long.

2️⃣ Tipe Data Non-Primitive (Reference)​

Tipe data ini merujuk pada sebuah objek. Perbedaan utamanya adalah tipe ini bisa memiliki method (fungsi) dan bisa bernilai null. Tipe data ini dapat dibuat oleh programmer.

  • String: Digunakan untuk menyimpan teks/kumpulan karakter.
    • Contoh: String pesan = "Halo Dunia";
  • Array: Digunakan untuk menyimpan banyak nilai dengan tipe data yang sama dalam satu variabel.
    • Contoh: int[] kumpulanAngka = {1, 2, 3};
  • Class, Interface, & Collection: Seperti Scanner, ArrayList, atau class buatan Anda sendiri.

3️⃣ Perbedaan Primitive vs Non-Primitive​

FiturPrimitiveNon-Primitive
Nilai DefaultPunya nilai (misal: 0 atau false)Selalu null jika tidak diisi
UkuranSelalu sama (fixed size)Tergantung kompleksitas objek
MethodTidak punya fungsi tambahanPunya banyak fungsi bawaan
PenulisanHuruf kecil (int, char)Huruf kapital (String, Integer)

4️⃣ Wrapper Class ​

Java menyediakan "pembungkus" agar tipe primitive bisa bertingkah seperti objek. Ini berguna saat bekerja dengan Collection seperti ArrayList. 

  • int ➡️ Integer
  • char ➡️ Character
  • double ➡️ Double, dst.

5️⃣ Type Casting (Konversi Tipe Data) ​

Kadang kita perlu mengubah satu tipe data ke tipe data lainnya. 

  • Widening Casting (Otomatis): Mengubah tipe kecil ke besar.

    int ➡️ double

  • Narrowing Casting (Manual): Mengubah tipe besar ke kecil.

    double myDouble = 9.78;
    int myInt = (int) myDouble; // Hasilnya 9