☕ Tutorial Java
Belajar Java dari dasar hingga Spring Boot dengan latihan interaktif.
☕
Dasar Java
Variabel, tipe data, control flow, dan fungsi.
Latihan 1: Buat class HelloWorld yang menampilkan 'Hello, World!'.
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}Latihan 2: Buat program kalkulator sederhana dengan method.
public class Kalkulator {
int tambah(int a, int b) { return a + b; }
int kurang(int a, int b) { return a - b; }
}Latihan 3: Buat program yang menentukan bilangan ganjil/genap.
int n = 7;
if (n % 2 == 0) System.out.println("Genap");
else System.out.println("Ganjil");Latihan 4: Buat program yang menampilkan bilangan 1 sampai 100 dengan for loop.
for (int i = 1; i <= 100; i++) {
System.out.println(i);
}Latihan 5: Buat fungsi yang menghitung luas persegi panjang.
int luas(int p, int l) {
return p * l;
}☕
OOP
Class, object, inheritance, dan encapsulation.
Latihan 1: Buat class Mahasiswa dengan atribut nama, nim, dan jurusan.
class Mahasiswa {
String nama, nim, jurusan;
Mahasiswa(String n, String ni, String j) {
nama = n; nim = ni; jurusan = j;
}
}Latihan 2: Buat class Kalkulator dengan method tambah, kurang, kali, bagi.
class Kalkulator {
int tambah(int a, int b) { return a + b; }
int kurang(int a, int b) { return a - b; }
}Latihan 3: Buat inheritance: class Hewan dan class Kucing yang mewarisi Hewan.
class Hewan {
String nama;
String suara() { return "..."; }
}
class Kucing extends Hewan {
String suara() { return "Meong!"; }
}Latihan 4: Buat encapsulation dengan private attribute dan getter/setter.
class Bank {
private int saldo;
int getSaldo() { return saldo; }
void setSaldo(int n) { if (n >= 0) saldo = n; }
}Latihan 5: Buat class Persegi dengan method luas dan keliling.
class Persegi {
int sisi;
int luas() { return sisi * sisi; }
int keliling() { return 4 * sisi; }
}🌱
Spring Boot
Membuat REST API dengan Spring Boot.
Latihan 1: Buat project Spring Boot dengan Spring Initializr.
https://start.spring.io/
Pilih: Maven, Java, Spring Web
Generate dan import ke IDELatihan 2: Buat controller dengan endpoint '/' yang mengembalikan 'Hello World'.
@RestController
public class HelloController {
@GetMapping("/")
public String hello() {
return "Hello World";
}
}Latihan 3: Buat endpoint dengan parameter: '/user/{nama}'.
@GetMapping("/user/{nama}")
public String user(@PathVariable String nama) {
return "Halo, " + nama + "!";
}Latihan 4: Buat POST endpoint yang menerima JSON.
@PostMapping("/user")
public User createUser(@RequestBody User user) {
return user;
}Latihan 5: Buat model class dengan JPA annotation.
@Entity
public class User {
@Id @GeneratedValue
Long id;
String nama;
// getter & setter
}🗄️
Database
Koneksi database dengan JDBC.
Latihan 1: Buat koneksi database dengan JDBC.
Connection conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/db", "user", "pass");Latihan 2: Buat tabel dengan SQL.
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
nama VARCHAR(100),
email VARCHAR(100)
);Latihan 3: Insert data ke tabel.
PreparedStatement ps = conn.prepareStatement(
"INSERT INTO users (nama, email) VALUES (?, ?)");
ps.setString(1, "Choirul");
ps.setString(2, "choirul@gmail.com");
ps.executeUpdate();Latihan 4: Select data dari tabel.
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM users");
while (rs.next()) {
System.out.println(rs.getString("nama"));
}Latihan 5: Update dan delete data.
// Update
PreparedStatement ps = conn.prepareStatement(
"UPDATE users SET nama=? WHERE id=?");
ps.setString(1, "Choirul Haq");
ps.setInt(2, 1);
ps.executeUpdate();
// Delete
ps = conn.prepareStatement("DELETE FROM users WHERE id=?");
ps.setInt(1, 1);
ps.executeUpdate();