Master Java Programming: Dari Pemula ke Ahli dengan Contoh Nyata
Daftar Isi
1. Pengantar Java Programming
Java adalah bahasa pemrograman yang sangat populer dan banyak digunakan di berbagai bidang, mulai dari aplikasi desktop, web, hingga mobile dan enterprise. Java dikenal dengan prinsip "Write Once, Run Anywhere" yang memungkinkan kode Java berjalan di berbagai platform tanpa perlu diubah.
Dalam ebook ini, Anda akan belajar Java dari dasar hingga mahir dengan contoh nyata dan langkah-langkah yang mudah diikuti.

2. Setup Lingkungan Pengembangan
Sebelum mulai coding, kita perlu menyiapkan lingkungan pengembangan Java. Berikut langkah-langkahnya:
- Install JDK (Java Development Kit): Download JDK terbaru dari situs resmi Oracle atau OpenJDK.
- Install IDE (Integrated Development Environment): Gunakan IDE seperti IntelliJ IDEA, Eclipse, atau VS Code dengan plugin Java.
-
Konfigurasi PATH:
Pastikan variabel lingkungan PATH sudah mengarah ke folder bin JDK agar bisa menjalankan perintah
java
danjavac
di terminal.

Setelah setup selesai, coba jalankan perintah berikut di terminal untuk memastikan Java sudah terpasang:
java -version
javac -version
3. Dasar-Dasar Java
Mari kita mulai dengan program Java sederhana dan konsep dasar seperti variabel, tipe data, operator, dan kontrol alur.
3.1 Struktur Program Java
Berikut contoh program Java sederhana yang menampilkan teks "Hello, World!" di layar:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
Penjelasan:
- class HelloWorld: Mendefinisikan kelas bernama HelloWorld.
- main method: Titik awal eksekusi program.
- System.out.println: Mencetak teks ke layar.
3.2 Variabel dan Tipe Data
Java memiliki tipe data primitif seperti
int
,
double
,
boolean
, dan
char
. Contoh deklarasi variabel:
int umur = 25;
double tinggi = 170.5;
boolean isStudent = true;
char grade = 'A';
3.3 Kontrol Alur
Contoh penggunaan
if-else
dan
for
loop:
int nilai = 75;
if (nilai >= 60) {
System.out.println("Lulus");
} else {
System.out.println("Tidak Lulus");
}
for (int i = 1; i <= 5; i++) {
System.out.println("Perulangan ke-" + i);
}
4. Pemrograman Berorientasi Objek (OOP)
Java adalah bahasa berorientasi objek. Konsep utama OOP adalah kelas, objek, enkapsulasi, pewarisan, dan polimorfisme.
4.1 Membuat Kelas dan Objek
public class Mahasiswa {
String nama;
int umur;
public void perkenalan() {
System.out.println("Halo, nama saya " + nama + " dan umur saya " + umur + " tahun.");
}
}
public class Main {
public static void main(String[] args) {
Mahasiswa mhs = new Mahasiswa();
mhs.nama = "Budi";
mhs.umur = 20;
mhs.perkenalan();
}
}
4.2 Enkapsulasi dengan Getter dan Setter
public class Mahasiswa {
private String nama;
private int umur;
public String getNama() {
return nama;
}
public void setNama(String nama) {
this.nama = nama;
}
public int getUmur() {
return umur;
}
public void setUmur(int umur) {
this.umur = umur;
}
}
4.3 Pewarisan (Inheritance)
public class Hewan {
public void suara() {
System.out.println("Hewan bersuara");
}
}
public class Anjing extends Hewan {
@Override
public void suara() {
System.out.println("Guk guk");
}
}
public class Main {
public static void main(String[] args) {
Anjing dog = new Anjing();
dog.suara();
}
}
4.4 Polimorfisme
Hewan hewan = new Anjing();
hewan.suara(); // Output: Guk guk
5. Struktur Data dan Koleksi
Java menyediakan berbagai struktur data di package
java.util
seperti ArrayList, LinkedList, HashMap, dan lain-lain.
5.1 ArrayList
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList buah = new ArrayList<>();
buah.add("Apel");
buah.add("Pisang");
buah.add("Jeruk");
for (String b : buah) {
System.out.println(b);
}
}
}
5.2 HashMap
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap nilai = new HashMap<>();
nilai.put("Budi", 80);
nilai.put("Ani", 90);
nilai.put("Rudi", 75);
System.out.println("Nilai Ani: " + nilai.get("Ani"));
}
}
6. Exception Handling
Exception handling digunakan untuk menangani error saat runtime agar program tidak langsung berhenti.
try {
int hasil = 10 / 0;
} catch (ArithmeticException e) {
System.out.println("Terjadi pembagian dengan nol!");
} finally {
System.out.println("Blok finally selalu dijalankan.");
}
7. Input/Output dan File Handling
Java menyediakan kelas untuk membaca dan menulis file, seperti
FileReader
,
BufferedReader
,
FileWriter
, dan
BufferedWriter
.
import java.io.*;
public class Main {
public static void main(String[] args) {
try {
BufferedWriter writer = new BufferedWriter(new FileWriter("contoh.txt"));
writer.write("Ini adalah contoh isi file.");
writer.close();
BufferedReader reader = new BufferedReader(new FileReader("contoh.txt"));
String line = reader.readLine();
System.out.println(line);
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
8. Multithreading dan Concurrency
Multithreading memungkinkan program menjalankan beberapa proses secara bersamaan.
public class MyThread extends Thread {
public void run() {
for (int i = 1; i <= 5; i++) {
System.out.println("Thread: " + i);
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
public class Main {
public static void main(String[] args) {
MyThread t1 = new MyThread();
t1.start();
for (int i = 1; i <= 5; i++) {
System.out.println("Main: " + i);
try {
Thread.sleep(700);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
9. Project Contoh: Aplikasi Manajemen Buku
Kita akan membuat aplikasi sederhana untuk mengelola daftar buku menggunakan konsep OOP dan koleksi.
9.1 Kelas Buku
public class Buku {
private String judul;
private String penulis;
private int tahunTerbit;
public Buku(String judul, String penulis, int tahunTerbit) {
this.judul = judul;
this.penulis = penulis;
this.tahunTerbit = tahunTerbit;
}
public String getJudul() {
return judul;
}
public String getPenulis() {
return penulis;
}
public int getTahunTerbit() {
return tahunTerbit;
}
@Override
public String toString() {
return judul + " oleh " + penulis + " (" + tahunTerbit + ")";
}
}
9.2 Kelas Manajemen Buku
import java.util.ArrayList;
public class ManajemenBuku {
private ArrayList daftarBuku = new ArrayList<>();
public void tambahBuku(Buku buku) {
daftarBuku.add(buku);
}
public void tampilkanBuku() {
System.out.println("Daftar Buku:");
for (Buku buku : daftarBuku) {
System.out.println("- " + buku);
}
}
}
9.3 Main Class
public class Main {
public static void main(String[] args) {
ManajemenBuku manajemen = new ManajemenBuku();
Buku buku1 = new Buku("Pemrograman Java untuk Pemula", "Andi", 2020);
Buku buku2 = new Buku("Java Lanjutan", "Budi", 2021);
Buku buku3 = new Buku("Design Pattern di Java", "Citra", 2022);
manajemen.tambahBuku(buku1);
manajemen.tambahBuku(buku2);
manajemen.tambahBuku(buku3);
manajemen.tampilkanBuku();
}
}
Jalankan program ini untuk melihat daftar buku yang berhasil ditambahkan.

10. Sumber Belajar dan Channel Pembelajaran
Berikut beberapa sumber dan channel pembelajaran Java yang direkomendasikan untuk memperdalam ilmu Anda:
- Dokumentasi Resmi Oracle Java
- Programming with Mosh (YouTube Channel)
- Java Braniacs (YouTube Channel Bahasa Indonesia)
- Udemy - Java Programming Masterclass
- GeeksforGeeks Java Tutorials
- Codecademy - Learn Java
Selalu praktikkan coding secara rutin dan buat proyek kecil untuk memperkuat pemahaman Anda.