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