🧭 Roadmap Belajar Java – 4 Minggu (Pemula → Siap Bangun Aplikasi)
Week 1: Dasar Java & Syntax Fundamental
🎯 Tujuan:
Memahami dasar bahasa Java
Bisa menulis program sederhana (hello world, kalkulasi, input/output)
📚 Materi:
Instalasi Java (JDK + IDE seperti IntelliJ IDEA, Eclipse, atau VS Code)
Struktur dasar program Java
Tipe data (int, double, String, boolean, dll)
Variabel, Operator, Input/Output (Scanner)
Percabangan (if, else, switch)
Perulangan (for, while, do-while)
Latihan:
Program kalkulator sederhana
Program tebak angka (1–100)
Menentukan ganjil/genap dari input user
Week 2: Fungsi, Array, dan Struktur Data Dasar
🎯 Tujuan:
Bisa membuat program modular dengan fungsi
Mengelola data dengan array dan list
📚 Materi:
Method/fungsi: parameter, return, overloading
Array: 1D dan 2D
ArrayList dan perbedaannya dengan array biasa
Looping dengan array
String manipulation (.length(), .substring(), .charAt(), .split())
Latihan:
Program untuk menghitung nilai rata-rata dari array
Program untuk membalik kata dari input (palindrome checker)
Mini proyek: Sistem daftar belanja sederhana
Week 3: Object-Oriented Programming (OOP)
🎯 Tujuan:
Memahami konsep OOP di Java
Mampu membuat class, objek, dan relasi antar objek
📚 Materi:
Class & Object
Constructor
Encapsulation (private, get/set)
Inheritance (pewarisan class)
Polymorphism dan Method Overriding
Access modifier (public, private, protected)
Static vs non-static
Latihan:
Buat class Mobil, Motor, dan Kendaraan (dengan inheritance)
Buat sistem bank sederhana: class Akun, Transaksi
Mini project: Sistem Manajemen Buku (OOP) – tambah, lihat, cari buku
Week 4: File Handling, Error Handling, Mini Project
🎯 Tujuan:
Mampu membaca dan menulis file
Menangani error dengan try-catch
Buat aplikasi konsol sederhana dari nol
📚 Materi:
File I/O: FileReader, FileWriter, BufferedReader, PrintWriter
Exception Handling (try, catch, finally, throws)
Input/Output dalam project
Membuat menu interaktif (CLI)
Pemisahan kode menjadi beberapa class
Mini Project Pilihan:
1. Sistem Perpustakaan Konsol
o Fitur: tambah buku, simpan ke file, pinjam, kembalikan, tampilkan daftar
2. Sistem Kasir Sederhana
o Input item, jumlah, total harga, cetak struk
📚 Sumber Belajar Java Terbaik
Tipe Rekomendasi
Dokumentasi Resmi Oracle Java Docs
Tutorial Interaktif w3schools Java
Kursus Gratis (Bahasa Indonesia) YouTube: Programmer Zaman Now, Petani Kode
Kursus Gratis (Bahasa Inggris) JetBrains Academy, Coursera (Java Programming Duke)
Latihan Soal HackerRank, LeetCode (Java)
🛠 Tools untuk Praktik
✅ IDE: IntelliJ IDEA (direkomendasikan), Eclipse, NetBeans, atau VS Code
✅ Compiler online (jika belum install): [Link], [Link]
🚀 Setelah 4 Minggu:
Kamu akan mampu:
Membuat aplikasi konsol berbasis OOP
Membaca input dari user dan file
Menyusun struktur program Java yang bersih
Siap lanjut ke Java GUI (Swing/JavaFX), Spring Boot, atau Android
➕ Lanjutkan ke...
Java GUI (Swing atau JavaFX) – untuk aplikasi desktop
Spring Boot – untuk web backend
Android (Kotlin/Java) – untuk mobile development
Database (JDBC + MySQL) – untuk aplikasi CRUD
📘 MODUL LATIHAN MINGGUAN – BELAJAR JAVA
Week 1 – Dasar Java & Pemrograman Prosedural
🎯 Tujuan:
Paham struktur dasar program Java
Mampu menggunakan tipe data, variabel, percabangan, dan perulangan
📚 Materi:
Instalasi JDK + IntelliJ IDEA / VS Code
Struktur program Java (main() method)
Tipe data: int, double, String, boolean
Scanner: Input dari user
Percabangan: if, else, switch
Perulangan: for, while, do-while
🧪 Latihan:
1. Cetak "Hello, Java!" ke console
2. Hitung luas dan keliling lingkaran dari input jari-jari
3. Program cek ganjil/genap
4. Program konversi nilai ke grade (A/B/C/...)
5. Program tebak angka (1–100), beri feedback “Terlalu kecil/besar”
Week 2 – Fungsi, Array, dan Struktur Data Dasar
🎯 Tujuan:
Mampu menulis fungsi sendiri dan menggunakan array untuk menyimpan data
📚 Materi:
Fungsi/method: void, return, parameter
Array 1D dan 2D
ArrayList
Manipulasi String dasar: .length(), .substring(), .toUpperCase()
🧪 Latihan:
1. Buat fungsi int tambah(int a, int b)
2. Hitung rata-rata dari array nilai siswa
3. Cari nilai maksimum & minimum dari array
4. Sistem daftar belanja:
o Input nama barang, simpan di ArrayList
o Tampilkan daftar saat selesai
5. Program cek palindrome: input kata dari user → cek apakah terbalik tetap sama
Week 3 – OOP: Object-Oriented Programming
🎯 Tujuan:
Memahami konsep class, object, inheritance, dan encapsulation
📚 Materi:
Membuat class & objek (new)
Konstruktor, method dalam class
private, public, getter/setter
Pewarisan (Inheritance)
Overriding method, Polymorphism
🧪 Latihan:
1. Buat class Mahasiswa dengan atribut: nama, NIM, jurusan
o Tambahkan constructor & tampilkanData()
2. Buat class BangunDatar → subclass Persegi, Lingkaran, Segitiga
o Gunakan inheritance & override method hitungLuas()
3. Buat sistem akun bank:
o Class AkunBank dengan fitur: deposit(), tarik(), lihatSaldo()
o Simulasi 2 user dengan objek berbeda
4. Mini Project:
o Sistem Perpustakaan:
Class Buku + Perpustakaan
Tambah buku, cari buku, tampilkan koleksi
Week 4 – File I/O, Error Handling, Mini Project
🎯 Tujuan:
Mampu membaca dan menulis file
Menangani error
Membangun aplikasi konsol sederhana
📚 Materi:
FileReader, FileWriter, BufferedReader, PrintWriter
try, catch, finally, throws
Menu interaktif berbasis CLI
🧪 Latihan:
1. Simpan data dari user ke file .txt (daftar nama atau nilai)
2. Baca data dari file dan tampilkan ke console
3. Buat program kalkulator CLI dengan menu:
1. Tambah
2. Kurang
o
3. Kali
4. Bagi
🎯 Mini Project Final (Pilih Salah Satu):
📌 Project 1 – Aplikasi Kasir Sederhana
Tambah barang: nama, harga, jumlah
Hitung total
Simpan struk ke file
📌 Project 2 – Sistem Manajemen Buku
CRUD buku: tambah, lihat, hapus
Simpan data buku ke file
Navigasi dengan menu teks
🧩 Bonus Opsional:
Latihan soal: HackerRank → 10 Days of Java
Buat versi GUI dengan Java Swing (jika ingin lanjut desktop app)
Belajar Spring Boot (web backend) setelah paham OOP + File I/O