1. Pengenalan Java
Java adalah bahasa pemrograman yang dirilis oleh Sun Microsystems pada tahun 1995. Java terkenal dengan slogan "Write Once, Run Anywhere" (WORA), artinya kode Java dapat dijalankan di berbagai platform tanpa perlu dikompilasi ulang.
Karakteristik Utama Java:
- Berorientasi objek - Semua kode ditulis dalam class
- Platform-independent - Berkat Java Virtual Machine (JVM)
- Automatic memory management - Garbage collection
- Kaya akan library - Java memiliki ribuan library bawaan
public class HelloWorld {
public static void main(String[] args) {
// Menampilkan teks ke console
System.out.println("Hello, World!");
System.out.println("Selamat belajar Java!");
}
}
main adalah titik masuk (entry point) program Java.
Tanpa method ini, program tidak bisa dijalankan.
2. Instalasi & Setup
Langkah-langkah instalasi Java:
-
1
Download JDK (Java Development Kit) dari situs resmi Oracle atau OpenJDK.
-
2
Install JDK dengan mengikuti petunjuk instalasi.
-
3
Set environment variable
JAVA_HOMEdan tambahkanbinke PATH. -
4
Verifikasi instalasi dengan perintah
java -versiondi terminal/CMD.
IDE yang direkomendasikan:
java -version
# Output contoh:
# openjdk version "17.0.2" 2022-01-18
# OpenJDK Runtime Environment (build 17.0.2+8)
# OpenJDK 64-Bit Server VM (build 17.0.2+8, mixed mode)
3. Sintaks Dasar
Aturan dasar penulisan kode Java:
- • Java case-sensitive (huruf besar/kecil berpengaruh)
- • Nama file harus sama persis dengan nama class public
- • Setiap statement diakhiri dengan titik koma (;)
- • Blok kode menggunakan kurung kurawal { }
- • Komentar:
//untuk single line,/* */untuk multi-line
public class SintaksDasar {
public static void main(String[] args) {
// Ini komentar single line
System.out.println("Belajar Java"); // Statement diakhiri ;
/*
Ini komentar multi-line
Bisa untuk penjelasan panjang
*/
System.out.println("Sintaks itu mudah!");
}
}
4. Variabel & Tipe Data
Tipe data primitif di Java:
| Tipe | Ukuran | Range / Contoh |
|---|---|---|
| byte | 1 byte | -128 s/d 127 |
| short | 2 bytes | -32,768 s/d 32,767 |
| int | 4 bytes | -2^31 s/d 2^31-1 |
| long | 8 bytes | -2^63 s/d 2^63-1 |
| float | 4 bytes | 3.4e-038 s/d 3.4e+038 |
| double | 8 bytes | 1.7e-308 s/d 1.7e+038 |
| char | 2 bytes | 'A', 'B', '@' |
| boolean | 1 bit | true / false |
int untuk bilangan bulat dan double untuk desimal.public class ContohVariabel {
public static void main(String[] args) {
// Deklarasi dan inisialisasi
int umur = 20;
double tinggi = 175.5;
char grade = 'A';
boolean lulus = true;
String nama = "Budi"; // String bukan primitif, tapi class
System.out.println("Nama: " + nama);
System.out.println("Umur: " + umur);
System.out.println("Tinggi: " + tinggi);
System.out.println("Grade: " + grade);
System.out.println("Lulus: " + lulus);
}
}
5. Operator
Jenis-jenis operator:
Aritmatika
+ tambah
- kurang
* kali
/ bagi
% modulus
Perbandingan
== sama dengan
!= tidak sama
> lebih besar
< lebih kecil
Logika
&& AND
|| OR
! NOT
public class ContohOperator {
public static void main(String[] args) {
int a = 10;
int b = 5;
// Aritmatika
System.out.println("a + b = " + (a + b));
System.out.println("a - b = " + (a - b));
System.out.println("a * b = " + (a * b));
System.out.println("a / b = " + (a / b));
System.out.println("a % b = " + (a % b));
// Perbandingan
System.out.println("a == b? " + (a == b));
System.out.println("a > b? " + (a > b));
// Logika
boolean kondisi1 = (a > 0);
boolean kondisi2 = (b > 0);
System.out.println("AND: " + (kondisi1 && kondisi2));
System.out.println("OR: " + (kondisi1 || kondisi2));
System.out.println("NOT a: " + !kondisi1);
}
}
6. Percabangan (if-else, switch)
Struktur if-else:
if (kondisi) {
// kode jika kondisi true
} else if (kondisi2) {
// kode jika kondisi2 true
} else {
// kode jika semua kondisi false
}
Struktur switch-case:
switch (variabel) {
case nilai1:
// kode
break;
case nilai2:
// kode
break;
default:
// kode default
}
public class ContohPercabangan {
public static void main(String[] args) {
int nilai = 85;
// If-else
if (nilai >= 90) {
System.out.println("Grade A");
} else if (nilai >= 80) {
System.out.println("Grade B");
} else if (nilai >= 70) {
System.out.println("Grade C");
} else {
System.out.println("Grade D");
}
// Switch
int hari = 3;
switch (hari) {
case 1:
System.out.println("Senin");
break;
case 2:
System.out.println("Selasa");
break;
case 3:
System.out.println("Rabu");
break;
default:
System.out.println("Hari lain");
}
}
}
7. Perulangan (Loops)
Jenis perulangan di Java:
- for - jika jumlah perulangan diketahui
- while - jika jumlah perulangan tidak diketahui
- do-while - mirip while, tapi minimal dijalankan sekali
- for-each - untuk array/collection
public class ContohLoop {
public static void main(String[] args) {
// For loop
System.out.println("For loop:");
for (int i = 1; i <= 5; i++) {
System.out.println("Iterasi ke-" + i);
}
// While loop
System.out.println("\nWhile loop:");
int j = 1;
while (j <= 5) {
System.out.println("While ke-" + j);
j++;
}
// Do-while
System.out.println("\nDo-while:");
int k = 1;
do {
System.out.println("Do-while ke-" + k);
k++;
} while (k <= 5);
// For-each
System.out.println("\nFor-each:");
int[] angka = {10, 20, 30, 40};
for (int nilai : angka) {
System.out.println("Nilai: " + nilai);
}
}
}
8. Array
Array adalah struktur data untuk menyimpan banyak nilai dengan tipe yang sama.
Cara deklarasi array:
tipeData[] namaArray = new tipeData[ukuran];
// atau langsung dengan nilai
tipeData[] namaArray = {nilai1, nilai2, ...};
Indeks array dimulai dari 0.
public class ContohArray {
public static void main(String[] args) {
// Cara 1: deklarasi dengan ukuran
int[] nilai = new int[5];
nilai[0] = 80;
nilai[1] = 85;
nilai[2] = 90;
nilai[3] = 75;
nilai[4] = 95;
// Cara 2: inisialisasi langsung
String[] nama = {"Andi", "Budi", "Citra"};
// Mengakses array
System.out.println("Nilai pertama: " + nilai[0]);
System.out.println("Nama kedua: " + nama[1]);
// Looping array
System.out.println("\nSemua nilai:");
for (int i = 0; i < nilai.length; i++) {
System.out.println("Nilai ke-" + i + ": " + nilai[i]);
}
// Array multi-dimensi
int[][] matrix = {
{1, 2, 3},
{4, 5, 6}
};
System.out.println("Matrix[1][2]: " + matrix[1][2]); // 6
}
}
9. Method / Fungsi
Method adalah blok kode yang bisa dipanggil berulang kali.
Struktur method:
modifier returnType namaMethod(parameter) {
// body method
return nilai; // jika returnType bukan void
}
- modifier: public, private, protected, static
- returnType: tipe data hasil, atau void jika tidak mengembalikan nilai
- parameter: input ke method (opsional)
public class ContohMethod {
// Method tanpa return (void)
static void sapa(String nama) {
System.out.println("Halo, " + nama + "!");
}
// Method dengan return
static int tambah(int a, int b) {
return a + b;
}
// Method overloading
static double tambah(double a, double b) {
return a + b;
}
public static void main(String[] args) {
sapa("Andi");
sapa("Budi");
int hasil = tambah(10, 20);
System.out.println("10 + 20 = " + hasil);
double hasilDouble = tambah(3.5, 2.7);
System.out.println("3.5 + 2.7 = " + hasilDouble);
}
}
10. OOP Dasar (Class & Object)
OOP (Object-Oriented Programming) adalah paradigma pemrograman berbasis objek.
Konsep dasar:
- Class - blueprint / cetakan untuk membuat objek
- Object - instance dari class
- Attribute - variabel dalam class (data)
- Method - fungsi dalam class (perilaku)
4 pilar OOP:
// Definisi class
class Mahasiswa {
// Attributes
String nama;
int umur;
String jurusan;
// Constructor
Mahasiswa(String nama, int umur, String jurusan) {
this.nama = nama;
this.umur = umur;
this.jurusan = jurusan;
}
// Methods
void belajar() {
System.out.println(nama + " sedang belajar.");
}
void displayInfo() {
System.out.println("Nama: " + nama);
System.out.println("Umur: " + umur);
System.out.println("Jurusan: " + jurusan);
}
}
public class ContohOOP {
public static void main(String[] args) {
// Membuat object
Mahasiswa mhs1 = new Mahasiswa("Andi", 20, "Informatika");
Mahasiswa mhs2 = new Mahasiswa("Budi", 21, "Sistem Informasi");
mhs1.displayInfo();
mhs1.belajar();
System.out.println();
mhs2.displayInfo();
mhs2.belajar();
}
}