Sebelum menulis satu baris kode pun, kita perlu tahu alat apa yang sedang kita pegang. Java adalah bahasa pemrograman berorientasi objek yang lahir pada tahun 1995 dan hingga kini menjadi salah satu bahasa paling banyak dipakai untuk membangun sistem skala besar: aplikasi perbankan, backend layanan web, aplikasi Android, hingga perangkat lunak perusahaan. Ciri khas Java adalah kode yang dikompilasi menjadi bytecode lalu dijalankan di atas Java Virtual Machine (JVM), sehingga program yang sama dapat berjalan di Windows, macOS, dan Linux tanpa penulisan ulang. Pada Chapter ini kita akan mengenal definisi Java, ciri utamanya, dan melihat wajah kode Java yang sesungguhnya.

Definisi Singkat #

Java adalah bahasa pemrograman general-purpose yang bersifat statically typed dan berorientasi objek. Istilah statically typed berarti setiap variabel harus memiliki tipe yang sudah diketahui pada saat kompilasi; compiler javac akan menolak program yang mencampur tipe secara sembarangan sebelum program sempat berjalan. Pendekatan ini menukar sedikit keringanan penulisan dengan keamanan: kesalahan tipe tertangkap lebih awal, jauh sebelum aplikasi berjalan di lingkungan produksi.

Bahasa ini dibuat oleh tim yang dipimpin James Gosling di Sun Microsystems dan pertama kali dirilis pada tahun 1995. Motto yang melekat sejak awal adalah write once, run anywhere — tulis sekali, jalankan di mana saja — yang menjadi mungkin berkat JVM. Sejak 2010, Java dikembangkan oleh Oracle, dan sejak 2017 rilisnya mengikuti irama enam bulanan dengan versi Long-Term Support (LTS) seperti 17, 21, dan 25 sebagai jangkar bagi proyek jangka panjang.

Bahasa Sekaligus Platform #

Istilah “Java” sesungguhnya mencakup dua hal yang berbeda namun berkaitan. Pertama, Java sebagai bahasa: aturan penulisan kode — class, method, variabel, dan sintaksnya. Kedua, Java sebagai platform: JVM beserta pustaka standar raksasa (java.base hingga berbagai modul lain) yang menjalankan bytecode hasil kompilasi. Pemisahan ini membuat bahasa lain seperti Kotlin, Scala, dan Groovy juga bisa menunggangi JVM dan memanfaatkan seluruh pustaka Java.

Alur dari kode sumber hingga berjalan dapat diringkas begini:

text
KodeSumber.java --javac--> KodeSumber.class (bytecode) --JVM--> program berjalan

Compiler javac menerjemahkan berkas .java menjadi berkas .class berisi bytecode — instruksi netral terhadap prosesor dan sistem operasi. Kemudian JVM membaca bytecode tersebut, memverifikasi keamanannya, dan mengeksekusinya dengan penerjemah serta Just-In-Time (JIT) compiler yang mengubah kode panas menjadi instruksi mesin asli. Pembahasan lebih rinci ada pada Chapter Cara Kerja Java.

Ciri Utama Java #

Beberapa karakteristik berikut membentuk cara kita berpikir ketika menulis Java:

  • Berorientasi objek penuh: seluruh kode hidup di dalam class; tidak ada fungsi global yang berdiri sendiri seperti di C.
  • Statically typed: tipe diperiksa compiler, kesalahan tertangani sejak kompilasi.
  • Automatic memory management: kita membuat objek dengan new, dan garbage collector yang memungut objek yang sudah tidak terpakai — tidak ada free() manual seperti di C/C++.
  • Ekosistem pustaka besar: pustaka standar menyediakan struktur data, I/O, jaringan, concurrency, hingga kriptografi siap pakai.
  • Matur dan stabil: evolusi bahasa terkendali melalui proses JEP; kode lama tetap terhormati oleh versi baru.

Wajah Kode Java #

Teori sudah cukup — mari kita lihat program Java terkecil yang benar-benar berjalan. Program berikut menyimpan nama pada variabel nama, lalu mencetak sapaan ke terminal:

public class ContohSapaan {
    public static void main(String[] args) {
        String nama = "Budi";
        int umur = 17;

        System.out.println("Halo, " + nama + "!");
        System.out.println("Umur: " + umur);
    }
}

Output yang Dihasilkan:

text
Halo, Budi!
Umur: 17

Mari kita telaah baris-baris kode di atas:

  1. Baris 1 (public class ContohSapaan {): mendeklarasikan class bernama ContohSapaan. Nama class publik harus sama dengan nama berkasnya, sehingga berkas ini wajib bernama ContohSapaan.java.
  2. Baris 2 (public static void main(String[] args)): titik masuk program. JVM selalu mencari method main dengan tanda tangan persis seperti ini saat memulai eksekusi.
  3. Baris 3-4 (String nama = "Budi"; dan int umur = 17;): mendeklarasikan dua variabel bertipe — String untuk teks dan int untuk bilangan bulat — lalu mengisinya nilainya.
  4. Baris 6-7 (System.out.println(...)): mencetak teks ke terminal. Operator + pada string berperilaku menggabungkan teks dengan nilai variabel.

Kita akan bedah setiap unsur ini secara mendalam pada Section Dasar Pemrograman. Untuk sekarang, cukup pahami bentuk umumnya: kode hidup di dalam class, eksekusi dimulai dari main.

Di Mana Java Dipakai #

Java menempati posisi kuat di beberapa ranah aplikasi. Backend layanan web skala besar umumnya ditulis Java dengan framework seperti Spring Boot. Aplikasi Android secara historis lahir dari Java sebelum Kotlin menjadi bahasa utamanya. Sistem perusahaan — perbankan, asuransi, telekomunikasi — menjalankan Java pada server selama puluhan tahun karena stabilitas dan kompatibilitas mundurnya. Ranah lain yang aktif meliputi pemrosesan data besar (Apache Kafka, Spark, Flink semuanya JVM-first), serta perangkat lunak ilmiah dan sistem tertanam.

Bagi pembelajar, penguasaan Java membuka pintu ke pasar kerja backend yang luas sekaligus melatih disiplin berpikir bertipe dan berorientasi objek. Dengan fondasi itu, transisi ke Kotlin, Scala, atau bahkan bahasa non-JVM seperti Go dan Rust menjadi jauh lebih landai. Chapter berikutnya akan menelusuri sejarah dan ekosistem Java agar kita memahami dari mana karakteristik tersebut berasal.

Referensi #

Berkas Sumber

Berkas pendukung halaman ini dapat diunduh dan dijalankan langsung sesuai penjelasan di atas.

ContohSapaan.java

Unduh berkas
java
public class ContohSapaan {
    public static void main(String[] args) {
        String nama = "Budi";
        int umur = 17;

        System.out.println("Halo, " + nama + "!");
        System.out.println("Umur: " + umur);
    }
}