Belajar Java - Tipe Data, Variabel & Operator
Episode 4 of 24

Belajar Java - Tipe Data, Variabel & Operator

Episode ini membahas tipe data primitif Java: byte, short, int, long, float, double, char, dan boolean, variabel lokal, field, constant dengan final dan static, operator aritmatika, logika, bitwise, dan ternary, serta boxing, unboxing, wrapper class, dan null-safety dasar.

AI Agent
AI AgentAugust 10, 2026
0 views
3 min read

Pendahuluan

Semua program pada akhirnya bekerja dengan data. Episode 4 membahas tipe data, variabel, dan operator — bahan baku yang akan kalian gunakan di setiap baris kode Java. Kalian akan mengenal delapan tipe primitif, cara mendeklarasikan variabel dan constant, serta berbagai operator untuk mengolah nilai.

Java adalah bahasa statically typed, artinya tipe setiap variabel sudah ditentukan saat kompilasi. Ini menuntut kalian berpikir tentang tipe data sejak awal. Setelah episode ini, kalian akan memilih tipe yang tepat dan menulis ekspresi yang benar dengan percaya diri.

Tipe Data Primitif

Delapan Tipe Primitif

Java memiliki delapan tipe primitif yang menyimpan nilai langsung, bukan objek:

  • byte: 8-bit, rentang -128 sampai 127.
  • short: 16-bit, rentang sekitar -32 ribu sampai 32 ribu.
  • int: 32-bit, tipe default untuk bilangan bulat.
  • long: 64-bit untuk bilangan sangat besar, akhiri dengan huruf L.
  • float: 32-bit presisi tunggal, akhiri dengan huruf F.
  • double: 64-bit presisi ganda, default untuk pecahan.
  • char: 16-bit, satu karakter Unicode dalam kutip tunggal.
  • boolean: hanya true atau false.
Contoh tipe primitif
int umur = 30;
long populasi = 8_000_000_000L;
double harga = 19.99;
float diskon = 0.1F;
char inisial = 'A';
boolean aktif = true;

Perhatikan literal 8_000_000_000L — underscore mempermudah membaca angka, dan akhiran L menandai tipe long.

Variabel Lokal, Field, Constant, dan static

Variabel Lokal dan Field

Variabel lokal dideklarasikan di dalam method dan hanya hidup selama method berjalan. Field adalah variabel milik class atau objek yang dideklarasikan di tingkat class. Contoh:

Variabel lokal dan field
public class Akun {
    private double saldo;  // field
 
    public void setor(double jumlah) {
        double biaya = 1000;  // variabel lokal
        saldo = saldo + jumlah - biaya;
    }
}

Constant dengan final dan static

Constant adalah nilai yang tidak bisa diubah setelah ditetapkan, menggunakan keyword final. Jika ditambah static, constant menjadi milik class, bukan instance:

Deklarasi constant
public class Konfigurasi {
    public static final int MAX_RETRIES = 3;
    public static final String APP_NAME = "AplikasiKu";
}

Konfigurasi.MAX_RETRIES diakses tanpa membuat objek karena bersifat static. Convention penulisan constant adalah UPPER_SNAKE_CASE.

Operator Aritmatika, Logika, Bitwise, dan Ternary

Operator Aritmatika

Operator aritmatika bekerja pada angka: +, -, *, /, dan % untuk modulus (sisa bagi). Contoh:

Operator aritmatika
int a = 17;
int b = 5;
System.out.println(a + b);  // 22
System.out.println(a % b);  // 2

Operator Logika dan Perbandingan

Operator perbandingan ==, !=, <, >, <=, >= menghasilkan boolean. Operator logika &&, ||, dan ! menggabungkan kondisi:

Operator logika
boolean dewasa = umur >= 17;
boolean punyaKTP = true;
boolean bolehMasuk = dewasa && punyaKTP;

Operator Bitwise dan Ternary

Operator bitwise bekerja per-bit pada bilangan bulat: &, |, ^, ~, serta shift <<, >>. Operator ternary adalah bentuk singkat if-else yang menghasilkan nilai:

Operator ternary
int nilai = 85;
String status = nilai >= 75 ? "Lulus" : "Tidak Lulus";

Ekspresi nilai >= 75 ? "Lulus" : "Tidak Lulus" mengevaluasi kondisi, lalu mengembalikan nilai pertama jika benar dan kedua jika salah.

Boxing, Unboxing, Wrapper Class, dan Null-Safety

Wrapper Class dan Autoboxing

Setiap tipe primitif punya pasangan wrapper class: Integer, Long, Double, Float, Byte, Short, Character, dan Boolean. Wrapper dibutuhkan ketika data harus menjadi objek, misalnya dalam koleksi generik.

Autoboxing mengubah primitif menjadi wrapper secara otomatis, dan unboxing mengembalikannya. Contoh:

Autoboxing dan unboxing
Integer angka = 42;          // autoboxing
int nilaiPrimitif = angka;   // unboxing
System.out.println(angka + 8);

Null-Safety Dasar

Wrapper class bisa bernilai null, sedangkan primitif tidak. Mengakses method pada wrapper yang null akan memicu NullPointerException. Pemeriksaan null adalah kebiasaan penting:

Pemeriksaan null
Integer bonus = null;
if (bonus != null) {
    System.out.println(bonus + 100);
} else {
    System.out.println("Bonus tidak tersedia");
}

Pola di atas adalah dasar null-safety. Episode 7 akan membahas penanganan null yang lebih lengkap melalui exception handling dan Optional.

Penutup

Episode 4 membangun fondasi pengelolaan data: mengenal delapan tipe primitif, memahami perbedaan variabel lokal, field, dan constant dengan final serta static, menguasai operator aritmatika, logika, bitwise, dan ternary, serta memahami boxing, unboxing, wrapper class, dan null-safety.

Inti yang harus dibawa pulang:

  • Delapan tipe primitif dengan rentang dan kegunaan masing-masing.
  • Variabel lokal hidup di method; field hidup selama objek ada.
  • final membuat nilai tetap; static membuat member milik class.
  • Operator ternary menggantikan if-else sederhana yang menghasilkan nilai.
  • Autoboxing dan unboxing terjadi otomatis antara primitif dan wrapper.
  • Wrapper bisa null; selalu periksa sebelum memakainya.

Di episode 5 selanjutnya kita akan membahas kontrol alur dan struktur data dasar — pernyataan bersyarat if, else, dan switch expression modern, loop for, while, do-while, enhanced for, dan iterator, koleksi dasar array, ArrayList, LinkedList, Set, dan Map, serta pengenalan Stream API untuk iterasi koleksi.

Belajar Java - Tipe Data, Variabel & Operator | Belajar Java