Setiap pengembang Java akhirnya berhadapan dengan pertanyaan yang jawabannya bergantung pada versi: method mana yang tersedia, opsi javac apa yang valid, dan kapan sebuah fitur masuk ke bahasa. Jawaban dari forum dan blog sering benar hanya untuk satu versi tertentu, padahal proyek kita bisa berdiri di LTS yang lain; dokumentasi resmi menjawab untuk versi yang benar-benar kita pakai. Chapter ini memetakan lima pintu masuk dokumentasi resmi Oracle JDK dan melatih cara menelusurinya, dari halaman rilis sampai indeks JEP.

Peta Sumber Resmi #

Setiap halaman dokumentasi ditulis untuk jenis pertanyaan yang berbeda. Tabel berikut merangkum lima pintu masuk utama:

SumberAlamatIsi UtamaPakai Saat
Halaman rilis JDKdocs.oracle.com/en/java/javase/25/Panduan pemasangan, pengembang, spesifikasiTitik awal penelusuran versi
API Documentationdocs.oracle.com/en/java/javase/25/docs/api/index.htmlKontrak class dan method (Javadoc)Mengecek perilaku library
Man pages alatdocs.oracle.com/en/java/javase/25/docs/specs/man/index.htmlOpsi command-line javac, java, jshellMeracik perintah kompilasi
Portal Belajardev.java/learn/Tutorial bertahap OracleBelajar topik baru
Indeks JEPopenjdk.org/jeps/0Proposal fitur JDKMemahami latar fitur

Alamat ditulis tanpa awalan https:// agar ringkas. Kelimanya resmi: halaman rilis dan man pages diterbitkan Oracle, portal Belajar dikelola tim dev.java, sedangkan JEP adalah dokumen komunitas OpenJDK.

Menelusuri Halaman Rilis #

Halaman docs.oracle.com/en/java/javase/25/ adalah pusat dokumen satu rilis berjudul “JDK 25 Documentation”. Isinya terkelompok dalam kategori seperti Overview, Tools, Language and Libraries, Specifications, sampai HotSpot Virtual Machine, plus kotak pencarian yang menelusuri seluruh dokumen rilis. Angka 25 pada alamat menandai versi — menggantinya menjadi 21 atau 17 memindahkan kita ke pusat dokumen LTS lain dengan struktur serupa, cukup ganti angkanya tanpa mencari ulang dari mesin pencari.

Membedakan Dokumentasi API Lawas #

Dokumentasi API tidak selalu tinggal di alamat seragam. API Java 8 — masih dipakai banyak sistem lawas — berada di docs.oracle.com/javase/8/docs/api/, pola alamat yang berbeda dari generasi baru dan sengaja dipertahankan agar tautan artikel lama tetap sampai. Cuplikan yang memakai String.repeat() gagal dikompilasi di Java 8 karena method itu hadir pada Java 11 — halaman Javadoc mencantumkan penanda Since: 11 untuk kasus semacam ini.

Memeriksa Runtime dan Menyusun Daftar Bacaan #

Sebelum menelusuri dokumentasi, kita perlu tahu versi apa yang menjalankan program. Program berikut membaca versi runtime dan vendor JDK, lalu menyusun alamat dokumentasi sesuai LTS dasarnya:

public class PetaDokumentasi {

    public static void main(String[] args) {
        Runtime.Version versi = Runtime.version();
        String vendor = System.getProperty("java.vendor");

        System.out.println("Versi runtime : " + versi);
        System.out.println("Vendor JDK    : " + vendor);
        System.out.println("Angka feature : " + versi.feature());

        int lts = ltsDasar(versi.feature());
        System.out.println("LTS dasar     : Java " + lts);
        System.out.println();
        System.out.println("Halaman rilis  : https://docs.oracle.com/en/java/javase/" + lts + "/");
        System.out.println("Akar Javadoc   : https://docs.oracle.com/en/java/javase/" + lts + "/docs/api/index.html");
        System.out.println("Portal belajar : https://dev.java/learn/");
        System.out.println("Indeks JEP     : https://openjdk.org/jeps/0");
    }

    // Pilih LTS terbesar yang tidak melebihi angka feature runtime.
    static int ltsDasar(int fitur) {
        int[] barisanLts = {8, 11, 17, 21, 25};
        int pilihan = barisanLts[0];
        for (int v : barisanLts) {
            if (v <= fitur) {
                pilihan = v;
            }
        }
        return pilihan;
    }
}

Output yang Dihasilkan:

text
Versi runtime : 25.0.4.1+1-LTS
Vendor JDK    : Eclipse Adoptium
Angka feature : 25
LTS dasar     : Java 25

Halaman rilis  : https://docs.oracle.com/en/java/javase/25/
Akar Javadoc   : https://docs.oracle.com/en/java/javase/25/docs/api/index.html
Portal belajar : https://dev.java/learn/
Indeks JEP     : https://openjdk.org/jeps/0

Mari kita telaah cara kerjanya:

  1. Baris 4-5 (Runtime.version() dan java.vendor): objek Runtime.Version melaporkan versi JVM sampai nomor build; property java.vendor mencatat perakit JDK — Eclipse Adoptium untuk JDK Temurin yang dipakai Course ini.
  2. Baris 9 (versi.feature()): mengambil angka feature, segmen pertama versi yang menandai generasi rilis — 25 untuk 25.0.4.1+1-LTS.
  3. Baris 11 (ltsDasar(...)): memetakan angka feature ke LTS terbesar yang tidak melampauinya; runtime 24 yang bukan LTS dipetakan ke 21.
  4. Baris 14-17: menyisipkan angka LTS ke pola URL Oracle sehingga terbentuk daftar alamat lengkap untuk dibuka di browser.

Kapan Memakai Sumber yang Mana #

Kelima sumber itu tumpang tindih sekilas, tetapi masing-masing paling kuat untuk satu jenis pertanyaan. Latihan memilih sumber yang tepat memangkas waktu penelusuran:

  • Perilaku class atau method bawaan → API Documentation.
  • Perilaku bahasa yang mengejutkan, misalnya byte + byte yang bertipe int → Java Language Specification.
  • Motivasi fitur baru → JEP pada indeks openjdk.org/jeps/0.
  • Belajar bertahap → tutorial di dev.java/learn/.
  • Opsi command-line → man pages pada docs.oracle.com/en/java/javase/25/docs/specs/man/.

Dengan peta lima pintu masuk ini, penelusuran dokumentasi menjadi kebiasaan cepat: satu pertanyaan, satu sumber yang tepat. Di antara kelimanya, Java Language Specification berkedudukan paling otoritatif untuk perilaku bahasa. Chapter berikutnya mengajak kita membacanya secara terarah: menemukan pasal yang relevan, lalu membuktikan perilakunya lewat kode kecil.

Referensi #

Berkas Sumber

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

PetaDokumentasi.java

Unduh berkas
java
public class PetaDokumentasi {

    public static void main(String[] args) {
        Runtime.Version versi = Runtime.version();
        String vendor = System.getProperty("java.vendor");

        System.out.println("Versi runtime : " + versi);
        System.out.println("Vendor JDK    : " + vendor);
        System.out.println("Angka feature : " + versi.feature());

        int lts = ltsDasar(versi.feature());
        System.out.println("LTS dasar     : Java " + lts);
        System.out.println();
        System.out.println("Halaman rilis  : https://docs.oracle.com/en/java/javase/" + lts + "/");
        System.out.println("Akar Javadoc   : https://docs.oracle.com/en/java/javase/" + lts + "/docs/api/index.html");
        System.out.println("Portal belajar : https://dev.java/learn/");
        System.out.println("Indeks JEP     : https://openjdk.org/jeps/0");
    }

    // Pilih LTS terbesar yang tidak melebihi angka feature runtime.
    static int ltsDasar(int fitur) {
        int[] barisanLts = {8, 11, 17, 21, 25};
        int pilihan = barisanLts[0];
        for (int v : barisanLts) {
            if (v <= fitur) {
                pilihan = v;
            }
        }
        return pilihan;
    }
}