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:
| Sumber | Alamat | Isi Utama | Pakai Saat |
|---|---|---|---|
| Halaman rilis JDK | docs.oracle.com/en/java/javase/25/ | Panduan pemasangan, pengembang, spesifikasi | Titik awal penelusuran versi |
| API Documentation | docs.oracle.com/en/java/javase/25/docs/api/index.html | Kontrak class dan method (Javadoc) | Mengecek perilaku library |
| Man pages alat | docs.oracle.com/en/java/javase/25/docs/specs/man/index.html | Opsi command-line javac, java, jshell | Meracik perintah kompilasi |
| Portal Belajar | dev.java/learn/ | Tutorial bertahap Oracle | Belajar topik baru |
| Indeks JEP | openjdk.org/jeps/0 | Proposal fitur JDK | Memahami 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:
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/0Mari kita telaah cara kerjanya:
- Baris 4-5 (
Runtime.version()danjava.vendor): objekRuntime.Versionmelaporkan versi JVM sampai nomor build; propertyjava.vendormencatat perakit JDK — Eclipse Adoptium untuk JDK Temurin yang dipakai Course ini. - Baris 9 (
versi.feature()): mengambil angka feature, segmen pertama versi yang menandai generasi rilis — 25 untuk25.0.4.1+1-LTS. - Baris 11 (
ltsDasar(...)): memetakan angka feature ke LTS terbesar yang tidak melampauinya; runtime 24 yang bukan LTS dipetakan ke 21. - 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 + byteyang bertipeint→ 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 #
- Oracle: Dokumentasi JDK 25
- Oracle: Portal Belajar dev.java
- OpenJDK: Indeks JEP
- Oracle: API Java 8 (dokumentasi lawas)
Berkas Sumber
Berkas pendukung halaman ini dapat diunduh dan dijalankan langsung sesuai penjelasan di atas.
PetaDokumentasi.java
Unduh berkaspublic 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;
}
}