📦 Variabel di Java

💡Apa itu Variabel?

Variabel adalah wadah atau tempat penyimpanan data dalam program. Di Java, setiap variabel harus memiliki tipe data yang jelas dan tidak bisa diubah tipenya. Bayangkan variabel seperti kotak berlabel yang hanya bisa menampung jenis barang tertentu.

Perbedaan dengan JavaScript: Java adalah bahasa strongly typed - tipe data harus dideklarasikan dan tidak bisa berubah.

📝Cara Mendeklarasikan Variabel

Di Java, variabel harus dideklarasikan dengan format: TipeData namaVariabel = nilai;

1. Deklarasi dengan Inisialisasi

Mendeklarasikan variabel sekaligus memberi nilai awal.

java
// Deklarasi variabel dengan tipe data
int umur = 20;
double tinggi = 170.5;
String nama = "Budi";
boolean aktif = true;
char grade = 'A';

// Cetak nilai variabel
System.out.println(nama);   // Output: Budi
System.out.println(umur);   // Output: 20
System.out.println(tinggi); // Output: 170.5

2. Deklarasi Tanpa Inisialisasi

Mendeklarasikan variabel terlebih dahulu, beri nilai kemudian.

java
// Deklarasi tanpa nilai
int jumlahSiswa;
double nilaiRataRata;
String namaSekolah;

// Beri nilai kemudian
jumlahSiswa = 30;
nilaiRataRata = 85.5;
namaSekolah = "SMA Negeri 1";

System.out.println(jumlahSiswa);    // Output: 30
System.out.println(namaSekolah);    // Output: SMA Negeri 1

3. Konstanta dengan final

Gunakan keyword final untuk variabel yang nilainya tetap (tidak bisa diubah).

java
// Konstanta (nilai tetap)
final double PI = 3.14159;
final int MAX_NILAI = 100;
final String NAMA_APLIKASI = "Vibe Coding";

// Tidak bisa diubah
// PI = 3.14;  // Error! Tidak bisa mengubah final variable

System.out.println("Nilai PI: " + PI);
System.out.println("Nilai maksimal: " + MAX_NILAI);

✅ Best Practice:

Gunakan final untuk konstanta dan tuliskan dengan UPPER_CASE.

📏Aturan Penamaan Variabel

Aturan penamaan variabel di Java:

✅ Aturan Wajib:

  • Harus dimulai dengan huruf, underscore (_), atau dollar sign ($)
  • Tidak boleh dimulai dengan angka
  • Tidak boleh menggunakan spasi
  • Case-sensitive (huruf besar dan kecil berbeda)
  • Tidak boleh menggunakan kata kunci Java (int, class, public, dll)

✅ Nama Variabel yang Baik:

java
String namaSiswa = "Budi";
int jumlahNilai = 5;
boolean isAktif = true;
double _privateValue = 10.5;
int totalHarga = 50000;
char gradeNilai = 'A';

❌ Nama Variabel yang Salah:

java
// SALAH - tidak boleh dimulai dengan angka
int 1nama = 10;

// SALAH - tidak boleh ada spasi
String nama siswa = "Andi";

// SALAH - menggunakan kata kunci Java
int class = 5;

// SALAH - menggunakan karakter khusus (-)
int nilai-siswa = 85;

Konvensi Penamaan di Java

Java memiliki konvensi penamaan yang sudah standar:

1. camelCase (untuk Variabel dan Method)

java
String namaLengkap = "Budi Santoso";
int totalBelanja = 150000;
boolean isUserLogin = true;
double nilaiMatematika = 85.5;
char hurufPertama = 'B';

2. UPPER_CASE (untuk Konstanta)

java
final int MAX_NILAI = 100;
final int MIN_UMUR = 17;
final double PI = 3.14159;
final String BASE_URL = "https://api.example.com";
final int JUMLAH_HARI_MINGGU = 7;

3. PascalCase (untuk Class)

java
public class UserProfile {
    // code
}

public class DatabaseConnection {
    // code
}

public class StudentManager {
    // code
}

🎯Deklarasi Multiple Variabel

Java memungkinkan mendeklarasikan beberapa variabel sekaligus.

java
// Deklarasi beberapa variabel sekaligus (tipe sama)
int a, b, c;
a = 10;
b = 20;
c = 30;

// Deklarasi dan inisialisasi sekaligus
int x = 5, y = 10, z = 15;
System.out.println(x + ", " + y + ", " + z);  // 5, 10, 15

// String multiple
String nama1 = "Budi", nama2 = "Ani", nama3 = "Citra";

// Hati-hati dengan tipe data berbeda!
// int a = 5, double b = 10.5;  // Error! Tipe harus sama

🔄Mengubah Nilai Variabel

Nilai variabel (bukan final) bisa diubah, tapi tipe data tetap sama.

java
// Deklarasi variabel
int nilai = 80;
System.out.println("Nilai awal: " + nilai);  // 80

// Ubah nilai (tipe tetap int)
nilai = 90;
System.out.println("Nilai baru: " + nilai);   // 90

// Operasi matematika
nilai = nilai + 5;
System.out.println("Setelah +5: " + nilai);   // 95

// Shorthand
nilai += 10;  // sama dengan: nilai = nilai + 10
System.out.println("Setelah +=10: " + nilai); // 105

// TIDAK BISA mengubah tipe data!
// nilai = "sembilan puluh";  // Error! Tidak bisa String ke int

// final tidak bisa diubah
final int MAX = 100;
// MAX = 200;  // Error!

🎪Scope Variabel

Scope menentukan di mana variabel dapat diakses dalam kode.

1. Instance Variable (Class Level)

java
public class Siswa {
    // Instance variable (bisa diakses di semua method)
    String nama;
    int umur;
    
    public void tampilkanData() {
        System.out.println("Nama: " + nama);
        System.out.println("Umur: " + umur);
    }
    
    public void ubahNama(String namaBaru) {
        nama = namaBaru;  // Bisa akses instance variable
    }
}

2. Local Variable (Method Level)

java
public void hitungLuas() {
    // Local variable (hanya ada di method ini)
    int panjang = 10;
    int lebar = 5;
    int luas = panjang * lebar;
    
    System.out.println("Luas: " + luas);
}

public void methodLain() {
    // System.out.println(panjang);  // Error! panjang tidak dikenal
}

3. Block Scope

java
public void contohScope() {
    int x = 10;  // Method scope
    
    if (x > 5) {
        int y = 20;  // Block scope (hanya di dalam if)
        System.out.println(x);  // ✅ Bisa akses x
        System.out.println(y);  // ✅ Bisa akses y
    }
    
    System.out.println(x);  // ✅ Bisa akses x
    // System.out.println(y);  // ❌ Error! y tidak bisa diakses
}

4. Static Variable (Class Variable)

java
public class Counter {
    // Static variable (milik class, bukan object)
    static int jumlah = 0;
    
    public Counter() {
        jumlah++;  // Setiap object baru, jumlah bertambah
    }
    
    public static void main(String[] args) {
        Counter c1 = new Counter();
        Counter c2 = new Counter();
        Counter c3 = new Counter();
        
        System.out.println("Jumlah object: " + Counter.jumlah);  // 3
    }
}

🎓Contoh Program Lengkap

Contoh penggunaan variabel dalam program Java.

java
public class ContohVariabel {
    // Instance variables
    String namaSiswa;
    int umurSiswa;
    
    // Static variable
    static String namaSekolah = "SMA Negeri 1";
    
    // Konstanta
    static final int NILAI_LULUS = 75;
    
    public static void main(String[] args) {
        // Local variables
        String nama = "Budi Santoso";
        int umur = 17;
        double nilaiMatematika = 85.5;
        double nilaiFisika = 78.0;
        boolean lulus = false;
        
        // Hitung rata-rata
        double rataRata = (nilaiMatematika + nilaiFisika) / 2;
        
        // Cek kelulusan
        if (rataRata >= NILAI_LULUS) {
            lulus = true;
        }
        
        // Tampilkan hasil
        System.out.println("=== DATA SISWA ===");
        System.out.println("Sekolah: " + namaSekolah);
        System.out.println("Nama: " + nama);
        System.out.println("Umur: " + umur + " tahun");
        System.out.println("Nilai Matematika: " + nilaiMatematika);
        System.out.println("Nilai Fisika: " + nilaiFisika);
        System.out.println("Rata-rata: " + rataRata);
        System.out.println("Status: " + (lulus ? "LULUS" : "TIDAK LULUS"));
    }
}

/* Output:
=== DATA SISWA ===
Sekolah: SMA Negeri 1
Nama: Budi Santoso
Umur: 17 tahun
Nilai Matematika: 85.5
Nilai Fisika: 78.0
Rata-rata: 81.75
Status: LULUS
*/

🎮 Demo Interaktif: Buat Variabel Java

🎮

Generator Deklarasi Variabel

Coba buat deklarasi variabel Java dengan tipe data dan nama yang berbeda

Kode Java yang dihasilkan:

// Isi nama dan nilai variabel

📝 Ringkasan Variabel di Java

  • ✅ Setiap variabel harus punya tipe data yang jelas
  • ✅ Format: TipeData namaVariabel = nilai;
  • ✅ Gunakan final untuk konstanta (nilai tetap)
  • ✅ Gunakan camelCase untuk nama variabel
  • ✅ Gunakan UPPER_CASE untuk konstanta
  • ✅ Perhatikan scope: instance, local, block, dan static
  • ✅ Tipe data tidak bisa berubah setelah dideklarasi