Hai, teman-teman! Kasir Warteg Canggih kita sekarang sudah bisa menyapa. Tapi coba bayangin ada pembeli nanya, "Mas, tempe orek berapa?" Kasirnya diam. Dia cuma tahu cara bilang selamat datang.
Di warteg beneran, kasir hafal harga-harga di kepalanya. Aplikasi kita juga butuh hal yang sama. Dari situ muncul pertanyaan, "Harga ini gimana ya cara nyimpennya? Terus disimpannya di mana?" Jawabannya ada di dua hal yang selalu jalan berdua: variabel dan tipe data di Java.
TL;DR: Variabel adalah tempat menyimpan data di program, yang punya nama, tipe, dan nilai. Tipe data menentukan jenis isinya: int untuk bilangan bulat, double untuk desimal, boolean untuk benar atau salah, char untuk satu karakter, dan String untuk teks. String termasuk objek, yang menyimpan rujukan ke data, bukan nilainya langsung. Untuk uang rupiah, pakai int atau long, bukan double. Nilai yang tidak boleh berubah ditandai dengan final.
Apa Itu Variabel di Java?
Variabel di Java adalah wadah bernama untuk menyimpan data selama program berjalan. Setiap variabel punya tiga bagian: tipe data (jenis wadahnya), nama (labelnya), dan nilai (isinya). Isinya boleh diganti kapan saja, tapi tipenya tetap.
Bayangin etalase warteg. Setiap lauk punya wadahnya sendiri, dan tiap wadah kalau diberi label nama, kasir langsung tahu isinya apa. Variabel kerjanya persis seperti itu.
Di Java, bentuknya seperti ini:
int hargaTempe = 4000;
Kalau dibaca dari kiri:
intadalah tipe data, yaitu jenis wadahnya.hargaTempeadalah nama variabel, yaitu labelnya.4000adalah nilai, yaitu isinya.
Isi variabel juga bisa diganti kapan saja. Misalnya harga tempe naik:
hargaTempe = 4500;
Perhatikan, saat mengganti isi, tipe datanya tidak ditulis lagi. Tipe cukup ditulis sekali, waktu variabel pertama kali dibuat.
Disimpan di Mana, Sebenarnya?
Variabel disimpan di memori (RAM) komputer selama program berjalan. Begitu program ditutup, isinya ikut hilang.
Buat kasir kita, artinya harga-harga ini masih "hafalan sementara". Setiap kali program dijalankan ulang, harganya diambil lagi dari kode. Nanti di seri ini, kasir akan belajar menyimpan data ke file supaya catatannya tetap ada walau program dimatikan.
Tipe Data di Java yang Paling Sering Dipakai
Tipe data di Java menentukan data seperti apa yang boleh masuk ke sebuah variabel. Untuk kasir warteg, empat tipe primitif ini sudah cukup untuk mulai: int untuk harga, double untuk angka desimal, boolean untuk kondisi benar atau salah, dan char untuk satu karakter.
Kembali ke etalase. Kuah sayur tidak bisa ditaruh di piring datar, dan gorengan tidak cocok ditaruh di mangkok kuah. Tiap wadah punya jenis isi yang pas.
int hargaNasi = 5000; // bilangan bulat
double beratLauk = 0.25; // bilangan desimal (kg)
boolean bukaHariIni = true; // benar atau salah
char ukuranPorsi = 'L'; // satu karakter
Perhatikan, char pakai tanda kutip satu ('L'), bukan kutip dua.
Java sebenarnya punya delapan tipe data primitif. Sisanya jarang dipakai di awal belajar, tapi ini rangkumannya:
| Tipe | Contoh nilai | Kapan dipakai |
|---|---|---|
byte |
100 |
Angka kecil, hemat memori |
short |
20000 |
Angka sedang, jarang dipakai |
int |
5000 |
Bilangan bulat sehari-hari |
long |
5000000000L |
Bilangan bulat yang sangat besar |
float |
0.25f |
Desimal, presisi lebih rendah |
double |
0.25 |
Desimal sehari-hari |
char |
'L' |
Satu karakter |
boolean |
true |
Benar atau salah |
Perhatikan huruf L di belakang 5000000000L. Tanpa huruf itu, Java menganggap angkanya int dan menolak dengan pesan integer number too large. Penjelasan lebih lengkap tiap tipe, termasuk rentang nilainya, ada di Mengenal Tipe Data di Java.
Jebakan: Jangan Pakai double untuk Uang
Ini kelihatannya sepele, tapi sering bikin hitungan meleset. Coba jalankan kode ini:
double a = 0.1;
double b = 0.2;
System.out.println(a + b); // 0.30000000000000004
Hasilnya bukan 0.3 persis. Ini karena double menyimpan angka desimal dalam bentuk biner, dan sebagian angka desimal tidak bisa disimpan dengan tepat. Tutorial resmi Oracle sendiri mengingatkan bahwa float dan double tidak boleh dipakai untuk nilai yang butuh ketepatan, seperti mata uang.
Buat warteg, solusinya gampang: rupiah tidak punya sen, jadi simpan uang pakai int. Nilai maksimal int adalah 2.147.483.647, sekitar 2,1 miliar. Kalau angkanya bisa tembus lebih dari itu, misalnya total omzet setahun, ganti ke long.
String untuk Nama Menu
Harga sudah bisa disimpan, sekarang nama menunya. Untuk teks, Java punya String:
String namaMenu = "Tempe orek";
String pakai tanda kutip dua, dan dia bukan tipe primitif seperti delapan tipe di atas. Masih banyak yang bisa dilakukan dengan String, dan itu akan dibahas di artikel tersendiri.
Sekilas tentang Objek: Bedanya dengan Primitif
String termasuk objek. Lalu, apa bedanya dengan primitif?
Variabel primitif menyimpan nilainya langsung. Di int hargaTempe = 4000;, isi wadahnya memang angka 4000.
Variabel objek beda. Yang disimpan bukan datanya langsung, tapi rujukan ke tempat data itu berada di memori. Ibarat nota pesanan di warteg: di tangan kasir cuma ada nota bertuliskan "rak 2", sedangkan piringnya ada di tempat lain. Karena cuma rujukan, variabel objek juga bisa kosong alias null. Variabel primitif tidak bisa bernilai null.
Kenapa perlu tahu sekarang? Perbedaan inilah yang nanti bikin == pada String bisa menipu, dan itu dibahas di artikel Operator. Soal cara membuat objek sendiri, misalnya objek Menu yang menyimpan nama dan harga sekaligus, itu jatahnya bagian Class dan Object di seri ini.
Aturan Penamaan Variabel di Java
Nama variabel di Java punya aturan wajib dan kebiasaan yang sebaiknya diikuti. Yang wajib: tidak diawali angka, tanpa spasi, bukan kata kunci Java, dan huruf besar kecil dibedakan. Kebiasaannya: pakai camelCase dan pilih nama yang menjelaskan isinya.
- Tidak boleh diawali angka.
1hargasalah,harga1benar. - Tidak boleh pakai spasi.
harga tempesalah. - Huruf besar dan kecil dibedakan.
hargaTempedanhargatempedianggap dua variabel yang berbeda. - Tidak boleh pakai kata kunci Java, seperti
int,class, ataupublic. - Pakai camelCase. Kata pertama huruf kecil, kata berikutnya diawali huruf besar:
hargaTempeOrek,bukaHariIni.
Pilih nama yang menjelaskan isinya. hargaTempe jauh lebih mudah dibaca daripada h atau x1. Aturan lengkapnya ada di tutorial Variables dari Oracle.
final untuk Nilai yang Tidak Berubah
Ada data yang memang tidak boleh berubah selama program berjalan, misalnya nama warteg. Untuk itu, tambahkan final:
final String NAMA_WARTEG = "Warteg Canggih";
Kalau nanti ada kode yang mencoba mengubahnya, Java menolak saat compile dengan pesan cannot assign a value to final variable NAMA_WARTEG. Kebiasaan penamaannya juga beda: huruf besar semua, dipisah garis bawah.
Kasir Warteg Versi 2: Punya Menu dan Harga
Sekarang semua digabung. Kasir yang tadinya cuma menyapa, sekarang bisa menampilkan daftar menu beserta harganya. Simpan sebagai WartegCanggih.java, sama seperti di artikel pertama.
public class WartegCanggih {
public static void main(String[] args) {
final String NAMA_WARTEG = "Warteg Canggih";
String menu1 = "Nasi putih";
int harga1 = 5000;
String menu2 = "Tempe orek";
int harga2 = 4000;
String menu3 = "Es teh";
int harga3 = 3000;
boolean bukaHariIni = true;
System.out.println("Selamat datang di " + NAMA_WARTEG + "!");
System.out.println("Buka hari ini: " + bukaHariIni);
System.out.println();
System.out.println("Daftar menu:");
System.out.println(menu1 + ": Rp" + harga1);
System.out.println(menu2 + ": Rp" + harga2);
System.out.println(menu3 + ": Rp" + harga3);
}
}
Hasilnya:
Selamat datang di Warteg Canggih!
Buka hari ini: true
Daftar menu:
Nasi putih: Rp5000
Tempe orek: Rp4000
Es teh: Rp3000
Tanda + di dalam println di sini fungsinya menyambung teks dengan isi variabel. Cara kerjanya akan dibahas lebih jauh di artikel tentang operator.
Kalau belum tahu cara menjalankan kode ini, langkahnya ada di Mengenal Java dan Menjalankan Program Java Pertama.
Error Umum Pemula
1. Variabel dipakai sebelum diisi.
int harga;
System.out.println(harga);
error: variable harga might not have been initialized
Variabel di dalam method harus diberi nilai dulu sebelum dipakai.
2. Tipe tidak cocok. int harga = 4000.5; ditolak, karena int tidak bisa menampung desimal:
error: incompatible types: possible lossy conversion from double to int
3. Salah huruf besar atau kecil. Membuat hargaTempe, tapi memanggil hargatempe. Java menganggapnya variabel yang tidak ada dan memunculkan error: cannot find symbol.
4. Kutip yang tertukar. char pakai kutip satu, String pakai kutip dua. char c = "L"; akan error:
error: incompatible types: String cannot be converted to char
Penutup
Sekarang kasir kita sudah punya hafalan: nama warteg, daftar menu, dan harga-harganya. Tapi dia masih belum bisa ngapa-ngapain dengan angka-angka itu.
Coba tambahkan satu menu favoritmu ke program di atas, lengkap dengan harganya, lalu jalankan. Pakai pola yang sama: satu variabel String untuk nama, satu variabel int untuk harga, dan satu baris println baru. Kalau hasilnya muncul di bawah "Es teh", berarti variabelmu sudah benar.
Setelah itu, lanjut ke artikel berikutnya: Operator di Java, tempat kasir ini akhirnya bisa menghitung total belanja. Daftar semua artikel seri ini bisa kamu ikuti di label Warteg Canggih Series.
Kalau mau tahu lebih jauh soal di mana saja sebuah variabel bisa dipakai, bacaan lanjutannya ada di Variabel, Scope, dan Parameter dalam Java.
Menu favorit apa yang kamu tambahkan ke kasirnya? Tulis di kolom komentar, siapa tahu bisa jadi menu tetap Warteg Canggih.
Source code lengkap artikel ini bisa dilihat di GitHub: 02-variabel-dan-tipe-data-di-java
FAQ
Apa itu variabel di Java? Variabel adalah tempat menyimpan data di program. Setiap variabel punya tipe data, nama, dan nilai, dan nilainya bisa diganti selama program berjalan.
Di mana variabel disimpan? Variabel disimpan di memori (RAM) selama program berjalan. Begitu program selesai atau ditutup, isinya hilang.
Kenapa double tidak disarankan untuk menyimpan uang?
Karena double menyimpan desimal dalam bentuk biner, sehingga sebagian angka tidak bisa disimpan dengan tepat. Contohnya, 0.1 + 0.2 menghasilkan 0.30000000000000004. Tutorial resmi Oracle juga menyarankan tidak memakainya untuk mata uang. Untuk rupiah, cukup pakai int atau long.
Apa bedanya tipe data primitif dan objek?
Variabel primitif seperti int atau char menyimpan nilainya langsung. Variabel objek seperti String menyimpan rujukan ke tempat data berada di memori, dan bisa bernilai null.
Apa fungsi kata kunci final?
final membuat variabel tidak bisa diubah setelah diberi nilai. Biasanya dipakai untuk nilai tetap, seperti nama toko, dan ditulis dengan huruf besar semua.
Referensi
- Variables, The Java Tutorials (Oracle), diakses 7 Oktober 2026
- Primitive Data Types, The Java Tutorials (Oracle), diakses 7 Oktober 2026

Posting Komentar untuk "Variabel dan Tipe Data di Java"