Variabel & Tipe Data

Tipe primitif (int, double, boolean, char, long), String, konstanta final, var, konversi tipe (casting), dan input dari Scanner.

Part 2 dari 17 ± 50 menit Gratis

Variabel

Variabel adalah "kotak bernama" untuk menyimpan nilai. Di Java kamu wajib menyebut tipe saat membuatnya:

int umur = 25;
String nama = "Sari";
umur = 26;            // nilai boleh diganti
// umur = "dua puluh"; // ERROR: tipe tidak cocok

Pola umum: tipe namaVariabel = nilai;. Variabel yang belum diisi tidak boleh dibaca (compiler akan menolak).

Delapan tipe primitif

TipeUkuranContoh & kegunaan
byte8 bit-128 sampai 127, data mentah
short16 bit-32.768 sampai 32.767, jarang dipakai
int32 bit42, bilangan bulat standar (± 2,1 miliar)
long64 bit9_000_000_000L, bilangan bulat besar (akhiran L)
float32 bit3.14f, desimal presisi rendah (akhiran f)
double64 bit3.14159, desimal standar
boolean1 bit logistrue atau false
char16 bit'A', satu karakter, kutip tunggal

Aturan praktis: pakai int untuk bilangan bulat, double untuk desimal, boolean untuk benar/salah. Untuk uang yang presisi, jangan pakai double; pakai BigDecimal (dibahas di kursus lanjutan).

String bukan primitif

String adalah class (tipe referensi) untuk teks, ditulis dengan kutip ganda. String bersifat immutable: sekali dibuat, isinya tidak berubah; operasi seperti toUpperCase() menghasilkan String baru.

String kota = "Bandung";
System.out.println(kota.length());        // 7
System.out.println(kota.toUpperCase());   // BANDUNG
System.out.println("Halo, " + kota);      // penyambungan dengan +
String salam = String.format("Umur %d, tinggi %.1f", 25, 170.55);  // Umur 25, tinggi 170.6

Beberapa penentu format: %d bilangan bulat, %f/%.2f desimal, %s teks, %n baris baru.

Text block (Java 15+) untuk teks beberapa baris:

String pesan = """
        Halo,
        selamat belajar Java!
        """;

Konstanta dengan final

final double PPN = 0.11;
// PPN = 0.12;   // ERROR: final tidak bisa diubah

Konvensi: nama konstanta HURUF_BESAR dengan garis bawah.

Inferensi tipe dengan var

Sejak Java 10, var membiarkan compiler menebak tipe dari nilai awal. Tipe tetap statis!

var jumlah = 10;        // int
var nama = "Dewi";      // String
// jumlah = "sepuluh";  // tetap ERROR

var hanya untuk variabel lokal yang langsung diberi nilai.

Konversi tipe (casting)

  • Otomatis (widening) — dari tipe kecil ke besar: int a = 5; double b = a; → 5.0.
  • Manual (narrowing) — dari besar ke kecil, dengan cast; bisa kehilangan data:
    double harga = 19.99;
    int bulat = (int) harga;   // 19 (desimal dibuang, tidak dibulatkan)
  • String ↔ angka:
    int n = Integer.parseInt("123");
    double d = Double.parseDouble("3.5");
    String s = String.valueOf(42);

Hati-hati: pembagian bilangan bulat

System.out.println(7 / 2);     // 3   (int / int = int)
System.out.println(7 / 2.0);   // 3.5
System.out.println(7 % 2);     // 1   (sisa bagi)

Membaca input dengan Scanner

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.print("Nama: ");
        String nama = in.nextLine();
        System.out.print("Umur: ");
        int umur = in.nextInt();
        System.out.println(nama + " berumur " + umur);
    }
}

Pernyataan import ditaruh di atas class untuk memakai class dari package lain.

Praktikkan langsung, gratis

Tulis dan jalankan kode langsung di browser, dapatkan penilaian otomatis. Daftar gratis kapan saja untuk menyimpan progres dan meraih sertifikat.

Coba latihan sekarang, tanpa daftar
Bagikan: WhatsApp Facebook LinkedIn X