Pemrograman Java dari Nol
Java banyak dipakai di sistem perusahaan, Android, dan server. Kekuatannya: satu program berjalan di banyak sistem operasi. Kode sumbernya dikompilasi menjadi bytecode lalu dijalankan di JVM (Java Virtual Machine). Artikel ini memandu Anda membuat program pertama, variabel, kondisi, perulangan, dan kelas, lalu mengompilasi dan menjalankannya sendiri.
Setiap contoh di sini sudah dikompilasi dan dijalankan dengan Java 17, dan keluaran yang ditampilkan adalah keluaran nyata.
Yang Anda butuhkan
- JDK 17 atau lebih baru (periksa dengan `java -version` dan `javac -version`)
- Editor teks seperti VS Code atau Notepad++
Cara kerjanya
Tiga langkah: tulis file `.java`, kompilasi dengan `javac` untuk mendapat file `.class`, lalu jalankan dengan `java`.
Program pertama Anda
Buat `Hello.java`. Nama kelas harus sama dengan nama file. Ketik kode ini:
public class Hello {
public static void main(String[] args) {
System.out.println("Halo Java");
}
}
Kompilasi dan jalankan:
javac -encoding UTF-8 Hello.java
java -Dfile.encoding=UTF-8 Hello
Keluaran:
Halo Java
`main` adalah titik awal program. `System.out.println` mencetak teks. Opsi `-encoding UTF-8` memastikan teks bahasa Indonesia dalam file dibaca dengan benar.
Variabel dan tipe
Java bertipe statis: Anda menyatakan tipe setiap variabel.
| Tipe | Menyimpan | Contoh |
|---|---|---|
| int | bilangan bulat | `int umur = 20;` |
| double | bilangan desimal | `double harga = 19.5;` |
| boolean | true atau false | `boolean lulus = true;` |
| String | teks | `String nama = "Budi";` |
Kondisi dan perulangan
Contoh ini memiliki kelas `Student` yang menentukan nilai huruf dari skor, dan perulangan `for` yang menelusuri daftar mahasiswa.
import java.util.ArrayList;
import java.util.List;
public class Hello {
static class Student {
String name;
int score;
Student(String name, int score) {
this.name = name;
this.score = score;
}
String grade() {
if (score >= 80) return "A";
else if (score >= 70) return "B";
else if (score >= 50) return "C";
return "F";
}
}
public static void main(String[] args) {
System.out.println("Halo Java");
List<Student> students = new ArrayList<>();
students.add(new Student("Budi", 85));
students.add(new Student("Siti", 72));
students.add(new Student("Andi", 45));
int total = 0;
for (Student s : students) {
System.out.println(s.name + " mendapat nilai " + s.grade());
total += s.score;
}
System.out.println("Nilai rata-rata: " + (total / students.size()));
}
}
Keluaran nyata:
Halo Java
Budi mendapat nilai A
Siti mendapat nilai B
Andi mendapat nilai F
Nilai rata-rata: 67
Hal yang perlu diperhatikan:
- `class Student` berada di dalam `Hello` sebagai kelas bersarang statis, untuk mengelompokkan kode yang berkaitan.
- `this.name = name` memisahkan parameter dari field dengan nama yang sama.
- `total / students.size()` adalah pembagian bilangan bulat, jadi hasilnya 67 bukan 67,33. Gunakan `double` jika Anda memerlukan desimal.
Kesalahan umum pemula
- **Nama file tidak sama dengan nama kelas:** jika kelasnya `public class Hello`, file harus bernama `Hello.java`.
- **Titik koma yang hilang:** setiap pernyataan diakhiri `;`. Pesan error menunjuk ke barisnya.
- **Teks bahasa Indonesia atau Thai rusak:** kompilasi dengan `-encoding UTF-8` dan jalankan dengan `-Dfile.encoding=UTF-8`.
- **`javac` tidak dikenali:** periksa bahwa PATH menunjuk ke folder `bin` milik JDK.
Langkah berikutnya
Coba buat kalkulator kecil, simpan daftar dengan `ArrayList`, dan pisahkan kode Anda ke beberapa kelas di beberapa file, sebelum lanjut ke pengembangan web dengan Spring Boot.
Ringkasan
Java mengompilasi kode sumber dan menjalankannya di JVM. Titik awalnya adalah metode `main`, variabel memiliki tipe yang eksplisit, dan kelas mengatur program.