Upload files to "/"

This commit is contained in:
2026-06-13 07:00:29 +00:00
commit de0ab258ba
5 changed files with 251 additions and 0 deletions
+61
View File
@@ -0,0 +1,61 @@
public class LatihanMobilOverloading {
// =========================
// CLASS MOBIL
// =========================
static class Mobil {
String merk;
String warna;
int tahun;
// Constructor 1: tanpa parameter
Mobil() {
this.merk = "Unknown";
this.warna = "Unknown";
this.tahun = 0;
}
// Constructor 2: hanya merk
Mobil(String merk) {
this.merk = merk;
this.warna = "Unknown";
this.tahun = 0;
}
// Constructor 3: semua atribut
Mobil(String merk, String warna, int tahun) {
this.merk = merk;
this.warna = warna;
this.tahun = tahun;
}
// Method tampilkan spesifikasi
void tampilkanSpesifikasi() {
System.out.println("=== SPESIFIKASI MOBIL ===");
System.out.println("Merk : " + merk);
System.out.println("Warna : " + warna);
System.out.println("Tahun : " + tahun);
System.out.println();
}
}
// =========================
// MAIN
// =========================
public static void main(String[] args) {
// Object 1: tanpa parameter
Mobil mobil1 = new Mobil();
// Object 2: hanya merk
Mobil mobil2 = new Mobil("Toyota");
// Object 3: semua atribut
Mobil mobil3 = new Mobil("Honda Civic", "Merah", 2023);
// Tampilkan spesifikasi
mobil1.tampilkanSpesifikasi();
mobil2.tampilkanSpesifikasi();
mobil3.tampilkanSpesifikasi();
}
}
+24
View File
@@ -0,0 +1,24 @@
class Saldo {
public static void main(String[] args) {
String metodePembayaran = "BI-FAST";
double saldo = 100_000;
double nominalTransfer = 200_000;
//Potong biaya admin dulu
switch(metodePembayaran) {
case "BI-FAST":
saldo -= 0; //Promo BI-FAST gratis
break;
case "RTOL":
saldo -= 6500; //Transfer online biasa
break;
}
//proses transfernya
if (saldo <nominalTransfer) {
System.out.println("Trx gagal: saldo tidak cukup!"):
} else
saldo -= nominalTransfer;
System.out.println("Trx berhasil! sisa saldo: " + saldo);
}
}
+112
View File
@@ -0,0 +1,112 @@
public class MyBCAEncapsulation {
// =========================
// CLASS REKENING (ENCAPSULATION)
// =========================
static class Rekening {
private String namaNasabah;
private String nomorRekening;
private double saldo;
// constructor
public Rekening(String namaNasabah, String nomorRekening, double saldoAwal) {
this.namaNasabah = namaNasabah;
this.nomorRekening = nomorRekening;
this.saldo = saldoAwal;
}
// getter
public String getNamaNasabah() {
return namaNasabah;
}
public String getNomorRekening() {
return nomorRekening;
}
public double getSaldo() {
return saldo;
}
// setter dengan validasi
public void setNamaNasabah(String namaNasabah) {
if (namaNasabah != null && !namaNasabah.isEmpty()) {
this.namaNasabah = namaNasabah;
} else {
System.out.println("Nama tidak valid!");
}
}
// BUSINESS PROCESS 1: SETOR
public void setor(double jumlah) {
if (jumlah > 0) {
saldo += jumlah;
System.out.println("Setor berhasil sebesar: " + jumlah);
} else {
System.out.println("Setor gagal! Jumlah tidak valid.");
}
}
// BUSINESS PROCESS 2: TARIK
public void tarik(double jumlah) {
if (jumlah > 0 && jumlah <= saldo) {
saldo -= jumlah;
System.out.println("Tarik berhasil sebesar: " + jumlah);
} else {
System.out.println("Tarik gagal! Saldo tidak cukup / jumlah salah.");
}
}
// BUSINESS PROCESS 3: CEK SALDO
public void cekSaldo() {
System.out.println("Saldo saat ini: " + saldo);
}
}
// =========================
// MAIN PROGRAM
// =========================
public static void main(String[] args) {
// Membuat objek rekening
Rekening rek = new Rekening("Andi", "123456789", 1000000);
System.out.println("=== APLIKASI myBCA (ENCAPSULATION) ===");
// =========================
// BUSINESS PROCESS: CEK DATA AWAL
// =========================
System.out.println("\nData Nasabah:");
System.out.println("Nama: " + rek.getNamaNasabah());
System.out.println("No Rekening: " + rek.getNomorRekening());
rek.cekSaldo();
// =========================
// BUSINESS PROCESS: SETOR
// =========================
System.out.println("\n-- Proses Setor --");
rek.setor(500000);
rek.cekSaldo();
// =========================
// BUSINESS PROCESS: TARIK
// =========================
System.out.println("\n-- Proses Tarik --");
rek.tarik(300000);
rek.cekSaldo();
// =========================
// BUSINESS PROCESS: TARIK GAGAL
// =========================
System.out.println("\n-- Proses Tarik Gagal --");
rek.tarik(2000000); // saldo tidak cukup
rek.cekSaldo();
// =========================
// BUSINESS PROCESS: UBAH NAMA
// =========================
System.out.println("\n-- Ubah Nama Nasabah --");
rek.setNamaNasabah("Andi Wijaya");
System.out.println("Nama baru: " + rek.getNamaNasabah());
}
}
+24
View File
@@ -0,0 +1,24 @@
class Saldo {
public static void main(String[] args) {
String metodePembayaran = "BI-FAST";
double saldo = 100_000;
double nominalTransfer = 200_000;
//Potong biaya admin dulu
switch(metodePembayaran) {
case "BI-FAST":
saldo -= 0; //Promo BI-FAST gratis
break;
case "RTOL":
saldo -= 6500; //Transfer online biasa
break;
}
//proses transfernya
if (saldo <nominalTransfer) {
System.out.println("Trx gagal: saldo tidak cukup!"):
} else
saldo -= nominalTransfer;
System.out.println("Trx berhasil! sisa saldo: " + saldo);
}
}
+30
View File
@@ -0,0 +1,30 @@
class PendaftaranKelas {
static int kuotaTerisi = 0;
final static int MAX_KUOTA = 25;
String namaMhs;
PendaftaranKelas(String nama) {
this.namaMhs = nama;
}
void prosesDaftar() {
if (kuotaTerisi < MAX_KUOTA) {
kuotaTerisi++;
System.out.printf("%s -> BERHASIL MASUK KELAS A (Terisi: %d)\n", this.namaMhs, kuotaTerisi);
} else {
System.out.printf("%s -> GAGAL! KELAS PENUH, TERLEMPAR KE KELAS B\n", this.namaMhs);
}
}
}
public class daftarkelas {
public static void main(String[] args) {
System.out.println("LIRS KELAS PBO DIMULAI!\n");
for (int i = 1; i <= 26; i++) {
PendaftaranKelas mhsBaru =
new PendaftaranKelas(String.format("Mahasiswa %02d", i));
mhsBaru.prosesDaftar();
}
}
}