Tampilan
Kenapa penting
Sebelum menulis satu baris kode pun, kamu butuh lingkungan kerja yang benar: JDK dengan versi yang tepat, terminal yang mengenali java dan javac, serta IDE yang membantu menulis dan menjalankan test. Di dunia kerja backend, banyak waktu terbuang karena "di laptop saya jalan" — biasanya akibat versi JDK yang berbeda atau JAVA_HOME yang salah arah. Menyiapkannya dengan rapi sekarang membuat semua bab berikutnya berjalan mulus.
Konsep inti
1. Pilih distribusi JDK: Eclipse Temurin 25
JDK punya banyak distribusi (Oracle, Temurin, Amazon Corretto, dan lain-lain) yang dibangun dari kode sumber yang sama, yaitu OpenJDK. Kurikulum ini memakai Eclipse Temurin 25 dari Adoptium: gratis, open source, dan banyak dipakai di server maupun image Docker. Java 25 adalah rilis LTS (Long-Term Support), artinya mendapat pembaruan keamanan bertahun-tahun — pilihan aman untuk aplikasi backend.
2. Pasang JDK 25
Pilih salah satu cara sesuai sistem operasimu:
| Sistem operasi | Cara termudah |
|---|---|
| Windows | Unduh installer .msi Temurin 25 dari adoptium.net, centang Set JAVA_HOME variable |
| macOS | Unduh installer .pkg Temurin 25 dari adoptium.net, atau lewat Homebrew |
| Linux | Repository paket Adoptium (apt/dnf) atau SDKMAN |
SDKMAN (Linux, macOS, WSL) memudahkan memasang beberapa versi JDK sekaligus dan berpindah antarversi:
bash
# pasang SDKMAN sekali saja, lalu buka terminal baru
curl -s "https://get.sdkman.io" | bash
# lihat daftar JDK; cari baris Temurin versi 25 (akhiran -tem)
sdk list java
# pasang versi 25 terbaru dari daftar, misalnya 25.0.<x>-tem
sdk install java 25.0.<x>-temGanti 25.0.<x>-tem dengan identifier yang benar-benar muncul di sdk list java. SDKMAN otomatis mengatur PATH dan JAVA_HOME untuk versi yang aktif.
3. Periksa instalasi
Buka terminal baru (agar pengaturan PATH terbaru terbaca), lalu jalankan:
bash
java -version
javac -versionHasilnya kira-kira seperti ini (angka patch di mesinmu bisa berbeda, yang penting diawali 25):
text
openjdk version "25.0.4.1" 2026-08-18 LTS
OpenJDK Runtime Environment Temurin-25.0.4.1+1 (build 25.0.4.1+1-LTS)
OpenJDK 64-Bit Server VM Temurin-25.0.4.1+1 (build 25.0.4.1+1-LTS, mixed mode, sharing)
javac 25.0.4.1Kalau java dikenali tetapi javac tidak, yang terbaca di PATH kemungkinan bukan JDK lengkap.
4. Atur JAVA_HOME
JAVA_HOME adalah variabel lingkungan berisi folder instalasi JDK. Maven Wrapper, IDE, dan banyak tool lain membacanya untuk menemukan JDK. Installer Windows bisa mengaturnya otomatis (opsi Set JAVA_HOME variable). Di Linux atau macOS tanpa SDKMAN, tambahkan baris seperti ini ke ~/.bashrc atau ~/.zshrc:
bash
# sesuaikan path dengan lokasi JDK 25 di mesinmu
export JAVA_HOME=/path/ke/jdk-25
export PATH="$JAVA_HOME/bin:$PATH"
# macOS punya helper untuk mencari lokasi JDK:
# export JAVA_HOME=$(/usr/libexec/java_home -v 25)Cek hasilnya dengan echo $JAVA_HOME (Linux/macOS) atau echo %JAVA_HOME% (Command Prompt Windows).
5. Siapkan IDE
IDE membantu dengan pewarnaan sintaks, saran kode, dan tombol menjalankan program atau test. Pilih salah satu:
- IntelliJ IDEA (versi gratisnya sudah cukup). Saat membuka project, atur Project SDK ke JDK 25 di File → Project Structure.
- VS Code dengan ekstensi Extension Pack for Java. Atur JDK lewat perintah Java: Configure Java Runtime (buka palet perintah dengan Ctrl+Shift+P).
6. Coba-coba dengan JShell
JShell adalah REPL (Read-Eval-Print Loop) bawaan JDK: kamu mengetik potongan kode Java dan hasilnya langsung tampil, tanpa menulis class atau main. Cocok untuk mencoba ide kecil.
bash
jshelltext
jshell> 2 + 3
$1 ==> 5
jshell> System.out.println("Halo dari JShell")
Halo dari JShell
jshell> "java".toUpperCase()
$3 ==> "JAVA"
jshell> /exitPerhatikan: di JShell titik koma di akhir baris boleh tidak ditulis, dan hasil ekspresi disimpan di variabel sementara seperti $1. Ketik /help untuk melihat perintah lain. Ingat, ini kemudahan khusus JShell — di file .java biasa aturannya lebih ketat, seperti yang akan kamu lihat di bab berikutnya.
7. Buka project latihan dan jalankan test
Latihan kode kurikulum ini ada di folder exercises/ (project Maven). Kamu tidak perlu memasang Maven — project sudah membawa Maven Wrapper (mvnw untuk Linux/macOS, mvnw.cmd untuk Windows) yang mengunduh versi Maven yang tepat saat pertama kali dijalankan. Detail Maven baru dibahas di modul M05; untuk sekarang cukup tahu cara menjalankan test.
Jalankan dari folder exercises/:
bash
# Linux / macOS
./mvnw -pl m01-fondasi-java test -Dtest=GreetingTest
# Windows (Command Prompt / PowerShell)
mvnw.cmd -pl m01-fondasi-java test -Dtest=GreetingTestSebelum dikerjakan, test memang gagal dengan pesan UnsupportedOperationException: TODO — itu tandanya setup sudah benar. Lengkapi kode starter (cari komentar TODO) sampai test hijau. Jangan mengubah file test; test adalah spesifikasi latihan.
Di IDE: IntelliJ IDEA → File → Open → pilih exercises/pom.xml → Open as Project. VS Code → buka folder exercises/ lalu jalankan test dari panel Testing. Panduan lengkap ada di exercises/README.md.
Contoh di dunia backend
Di tim backend, versi JDK biasanya dikunci agar semua developer, server CI, dan server production memakai versi yang sama. Project latihan ini melakukan hal serupa: plugin Maven memeriksa versi JDK dan menghentikan build bila bukan JDK 25. Jadi kalau di terminal muncul error versi saat menjalankan ./mvnw, periksa dulu JAVA_HOME:
bash
echo $JAVA_HOME # harus menunjuk folder JDK 25
"$JAVA_HOME/bin/java" -version # harus menampilkan versi 25Pola ini sama dengan yang akan kamu temui saat membangun aplikasi Spring Boot di pipeline CI: build gagal cepat dengan pesan jelas, daripada aplikasi jalan di versi Java yang salah lalu error aneh di production.
Pertanyaan interview
1. Build jalan di laptopmu tapi gagal di CI. Apa yang pertama kamu cek?
Versi JDK di kedua tempat (java -version, JAVA_HOME, image Docker yang dipakai CI). Project yang rapi mengunci versi — misalnya lewat plugin Maven Enforcer seperti di exercises/ — sehingga perbedaan versi langsung terlihat dari pesan error.
2. Apa beda PATH dan JAVA_HOME?
PATH adalah daftar folder tempat shell mencari perintah seperti java. JAVA_HOME menunjuk folder instalasi JDK dan dibaca oleh tool seperti Maven, Gradle, dan IDE. Keduanya harus menunjuk JDK yang sama.
3. Kenapa project memakai Maven Wrapper (mvnw) atau Gradle Wrapper?
Versi build tool tercatat di repository, jadi setiap developer dan server CI memakai versi yang sama tanpa memasangnya secara global. Hasil build lebih konsisten dan onboarding anggota tim baru lebih cepat.
Jebakan umum
- Terminal lama masih memakai pengaturan lama. Setelah memasang JDK atau mengubah
JAVA_HOME, buka terminal baru (dan restart IDE) sebelum mengecek ulang. - Ada beberapa JDK terpasang.
java -versionbisa menunjuk versi lain dari yang dipakai Maven. SamakanPATHdanJAVA_HOME, atau pakai SDKMAN untuk berpindah versi. - Mengubah test agar lulus. Test latihan adalah spesifikasi; yang diubah hanya kode starter.
- Menjalankan
./mvnwdari folder yang salah. Perintah di atas dijalankan dari dalam folderexercises/.
Ringkasan
- Pasang JDK 25 Eclipse Temurin (LTS) lewat installer, paket OS, atau SDKMAN.
- Pastikan
java -versiondanjavac -versionsama-sama menampilkan versi 25. JAVA_HOMEmemberi tahu tool seperti Maven dan IDE di mana JDK berada.- JShell cocok untuk mencoba potongan kode tanpa class dan
main. - Test latihan dijalankan dengan
./mvnw -pl m01-fondasi-java testdari folderexercises/; gagal denganTODOsebelum dikerjakan itu normal.