Nama : Putri Adelia
Kelas : S5A
NPM : 202143500005
“Tugas Latihan soal uap PBO”
Jawaban :
1. A) class DataWarga
// Class parent
import java.util.Scanner;
import java.util.List;
class DataWarga {
String nama;
String NIK;
String alamat;
String noTlp;
String pekerjaan;
String alamatKantor;
String status;
String namaPasangan;
int jumlahAnak;
// Method overloading
void inputData(List<String> dataWarga, List<String> dataPekerjaan, List<String> dataStatus) {
Scanner scanner = new Scanner(System.in);
System.out.println();
System.out.println("* Data Warga *");
System.out.print("Masukan Nama: ");
nama = scanner.nextLine();
dataWarga.add(nama);
System.out.print("Masukan NIK: ");
NIK = scanner.nextLine();
dataWarga.add(NIK);
System.out.print("Masukan Alamat: ");
alamat = scanner.nextLine();
dataWarga.add(alamat);
System.out.print("Masukan No. Tlp +62: ");
noTlp = scanner.nextLine();
dataWarga.add(noTlp);
System.out.println("============================oOo============================");
System.out.println("* Data Pekerjaan *");
System.out.print("Masukan Pekerjaan: ");
pekerjaan = scanner.nextLine();
dataPekerjaan.add(pekerjaan);
System.out.print("Masukan Alamat Kantor: ");
alamatKantor = scanner.nextLine();
dataPekerjaan.add(alamatKantor);
System.out.println("============================oOo============================");
System.out.println("* Data Status *");
System.out.print("Masukan Status: ");
status = scanner.nextLine();
dataStatus.add(status);
if (status.equalsIgnoreCase("menikah")) {
System.out.print("Masukan Nama Suami/Istri: ");
namaPasangan = scanner.nextLine();
System.out.print("Masukan Jumlah Anak: ");
jumlahAnak = scanner.nextInt();
System.out.println("\nLanjut Bayar Iuran (ya/tidak) ?");
b) class PembayaranIuran
// Class child
import java.util.Scanner;
class PembayaranIuran extends DataWarga {
// Atribut yang di turunkan dari class parent
int iuranSampah;
int iuranKeamanan;
int sumbangan;
// Atribut tambahan
String NIK;
// Method overriding
void inputDataIuran(String NIK) {
Scanner scanner = new Scanner(System.in);
this.NIK = NIK; // Set nilai NIK dari parameter
System.out.println("============================oOo============================");
System.out.println("* Data Iuran Pokok *");
System.out.println("NIK => " + this.NIK); // Tampilkan NIK di sini
System.out.print("Masukan Iuran Sampah: ");
iuranSampah = scanner.nextInt();
System.out.print("Masukan Iuran Keamanan: ");
iuranKeamanan = scanner.nextInt();
System.out.println("\n**Data Iuran Sekunder **");
System.out.print("Masukan Sumbangan: ");
sumbangan = scanner.nextInt();
System.out.println("Lanjut Bayar Iuran (ya/tidak)?");
// Method untuk menghitung total iuran
int hitungTotalIuran() {
return iuranSampah + iuranKeamanan + sumbangan;
c) class jawaban
import java.util.Scanner;
import java.util.List;
import java.util.ArrayList;
public class Jawaban1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
List<String> dataWarga = new ArrayList<>();
List<String> dataPekerjaan = new ArrayList<>();
List<String> dataStatus = new ArrayList<>();
System.out.println("===========================================================");
System.out.println(" Pendataan dan Pembayaran Iuran Warga ");
System.out.println("===========================================================");
System.out.println("1. Input Data Warga\n2. Input Iuran Warga\n");
System.out.print("PILIHAN MENU\t: ");
int pilihan = scanner.nextInt();
if (pilihan == 1) {
DataWarga warga = new PembayaranIuran();
warga.inputData(dataWarga, dataPekerjaan, dataStatus);
if (scanner.next().equalsIgnoreCase("ya")) {
// Tambahkan NIK pada pemanggilan inputDataIuran
PembayaranIuran iuran = new PembayaranIuran();
iuran.inputDataIuran(warga.NIK);
System.out.println("|| NIK \t\t\t\t\t\t\t\t\t\t\t\t|| " + iuran.NIK);
System.out.println("|| Total Pembayaran Iuran Warga \t|| Rp. " + iuran.hitungTotalIuran());
System.out.println("\nTerimakasih " + warga.nama + " Iuran Anda sudah di Bayarkan");
}
2. a) Class AdministrasiPembayaranSiswaSD
import java.util.Scanner;
public class AdministrasiPembayaranSiswaSD {
public static void main(String[] args) {
// Create scanner object
Scanner sc = new Scanner(System.in);
// Input admin ID
System.out.println("---- Pembayaran Siswa SD Pelita Jaya ---- ");
System.out.println("============================================");
System.out.println("Silahkan Masukan ID Anda");
System.out.println("=========================");
System.out.print("ID : ");
String idAdmin = sc.nextLine();
// Check admin ID
if (idAdmin.equals("admin123")) {
// Display menu
System.out.println("Pilih jenis pembayaran:");
System.out.println("1. Bayaran FMB");
System.out.println("2. Bayaran Semester");
// Input jenis pembayaran
System.out.print("Pilih: ");
int pilihan = sc.nextInt();
// Consume the newline character left in the buffer
sc.nextLine();
// Process payment
switch (pilihan) {
case 1:
// FMB payment
// Input student data
PenerimaanSiswaBaru penerimaanSiswaBaru = new PenerimaanSiswaBaru(sc);
penerimaanSiswaBaru.inputData();
// Calculate total FMB cost
int totalBiayaFMB = penerimaanSiswaBaru.hitungTotalPembayaran();
// Display total FMB cost
System.out.println("Total biaya FMB: Rp." + totalBiayaFMB);
break;
case 2:
// Semester payment
// Input student data
PembayaranSemester pembayaranSemester = new PembayaranSemester(sc);
pembayaranSemester.inputData();
// Calculate total semester cost
int totalBiayaSemester = pembayaranSemester.hitungTotalPembayaran();
// Display total semester cost
System.out.println("Total biaya semester: Rp." + totalBiayaSemester);
break;
default:
System.out.println("Pilihan tidak valid!");
}
} else {
System.out.println("ID Anda salah!");
System.out.println("Administrasi Pembayaran Siswa SD Pelita Jaya");
System.out.println("Check, Input dan Validasi, Ketelitian Anda dalam Administrasi di Utamakan
(*_*)");
}
// Close scanner object
sc.close();
}
}
abstract class Pembayaran {
protected String nama;
protected String nik;
protected int daftarUlang = 200000;
public abstract void inputData();
public abstract int hitungTotalPembayaran();
}
class PenerimaanSiswaBaru extends Pembayaran {
private Scanner sc;
public PenerimaanSiswaBaru(Scanner sc) {
this.sc = sc;
}
@Override
public void inputData() {
// Input student data
System.out.println("Data pembayaran penerimaan siswa baru:");
System.out.print("Masukkan nama siswa: ");
this.nama = sc.nextLine();
System.out.print("Masukkan NIK siswa: ");
this.nik = sc.nextLine();
// Input payment items
System.out.println("Pilih item pembayaran:");
System.out.println("1. Formulir (Rp. 20.000)");
System.out.println("2. Pendaftaran (Rp. 50.000)");
System.out.println("3. Seragam (Rp. 100.000)");
System.out.println("4. Pengembangan (Rp. 75.000)");
System.out.println("5. Iuran (Rp. 50.000)");
int pilihanItem = sc.nextInt();
// Consume the newline character left in the buffer
sc.nextLine();
while (pilihanItem != 0) {
switch (pilihanItem) {
case 1:
this.daftarUlang += 20000;
break;
case 2:
this.daftarUlang += 50000;
break;
case 3:
this.daftarUlang += 100000;
break;
case 4:
this.daftarUlang += 75000;
break;
case 5:
this.daftarUlang += 50000;
break;
default:
System.out.println("Pilihan item tidak valid!");
}
System.out.print("Pilih item lainnya (0 untuk selesai): ");
pilihanItem = sc.nextInt();
// Consume the newline character left in the buffer
sc.nextLine();
}
}
@Override
public int hitungTotalPembayaran() {
return this.daftarUlang;
}
}
class PembayaranSemester extends Pembayaran {
private Scanner sc;
public PembayaranSemester(Scanner sc) {
this.sc = sc;
}
@Override
public void inputData() {
// Input student data for semester payment (if needed)
System.out.println("Data pembayaran semester:");
// ... (input semester payment data if needed)
}
@Override
public int hitungTotalPembayaran() {
// Calculate total semester payment cost (if needed)
return this.daftarUlang;
}
}
b) class PenerimaanSiswaBaru
import java.util.Scanner;
class PenerimaanSiswaBaru extends Pembayaran {
private Scanner sc;
public PenerimaanSiswaBaru(Scanner sc) {
this.sc = sc;
@Override
public void inputData() {
// Input student data
System.out.println("Data pembayaran penerimaan siswa baru:");
System.out.print("Masukkan nama siswa: ");
this.nama = sc.nextLine();
System.out.print("Masukkan NIK siswa: ");
this.nik = sc.nextLine();
// Input payment items
System.out.println("Pilih item pembayaran:");
System.out.println("1. Formulir (Rp. 20.000)");
System.out.println("2. Pendaftaran (Rp. 50.000)");
System.out.println("3. Seragam (Rp. 100.000)");
System.out.println("4. Pengembangan (Rp. 75.000)");
System.out.println("5. Iuran (Rp. 50.000)");
int pilihanItem = sc.nextInt();
while (pilihanItem != 0) {
switch (pilihanItem) {
case 1:
this.daftarUlang += 20000;
break;
case 2:
this.daftarUlang += 50000;
break;
case 3:
this.daftarUlang += 100000;
break;
case 4:
this.daftarUlang += 75000;
break;
case 5:
this.daftarUlang += 50000;
break;
default:
System.out.println("Pilihan item tidak valid!");
System.out.print("Pilih item lainnya (0 untuk selesai): ");
pilihanItem = sc.nextInt();
@Override
public int hitungTotalPembayaran() {
return this.daftarUlang;
c) class Pembayaran
abstract class Pembayaran {
protected String nama;
protected String nik;
protected int daftarUlang = 200000;
public abstract void inputData();
public abstract int hitungTotalPembayaran();
}
3. import java.util.Scanner;
class Rumah {
String nama;
String noTelepon;
public Rumah(String nama, String noTelepon) {
this.nama = nama;
this.noTelepon = noTelepon;
public void beliRumah() {
Scanner scanner = new Scanner(System.in);
System.out.println("-------------------Welcome Toko Jual Rumah-------------------");
System.out.println("=============================================================");
System.out.print("Masukkan Nama Pelanggan : ");
nama = scanner.nextLine();
System.out.print("Masukkan No.Telp Pelanggan : ");
noTelepon = scanner.nextLine();
System.out.println("------------------------------<^>----------------------------");
char inputRumahLagi;
double totalHarga = 0.0;
do {
System.out.println("Jadi Beli (y/t) ? ");
char beli = scanner.next().charAt(0);
if (beli == 'y') {
System.out.println("------------------------------<^>----------------------------");
System.out.println("Pilihan Rumah (Ketik 1/2)");
System.out.println("1. SULTAN");
System.out.println("2. EXPATRIAT");
System.out.print("Pilihan Anda : ");
int pilihanRumah = scanner.nextInt();
System.out.println("------------------------------<^>----------------------------");
if (pilihanRumah == 1) {
System.out.println("Jenis Rumah Yang Tersedia (Ketik 1/2/3)");
System.out.println("1. Sultan Arab - Rp. 2,100,000,000");
System.out.println("2. Sultan Asia - Rp. 1,700,000,000");
System.out.println("3. Sultan Afrika - Rp. 1,000,000,000");
System.out.print("Pilihan Anda : ");
int pilihanJenisRumah = scanner.nextInt();
System.out.println("------------------------------<^>----------------------------");
System.out.print("Banyaknya Rumah Yang Dibeli : ");
int jumlahRumah = scanner.nextInt();
double hargaRumah = 0.0;
if (pilihanJenisRumah == 1) {
hargaRumah = 2100000000;
} else if (pilihanJenisRumah == 2) {
hargaRumah = 1700000000;
} else if (pilihanJenisRumah == 3) {
hargaRumah = 1000000000;
totalHarga += hargaRumah * jumlahRumah;
} else if (pilihanRumah == 2) {
System.out.println("Jenis Rumah Yang Tersedia (Ketik 1/2/3)");
System.out.println("1. Expatriat Import - Rp. 988,000,000");
System.out.println("2. Expatriat Lokal - Rp. 920,000,000");
System.out.println("3. Expatriat New - Rp. 900,000,000");
System.out.print("Pilihan Anda : ");
int pilihanJenisRumah = scanner.nextInt();
System.out.println("------------------------------<^>----------------------------");
System.out.print("Banyaknya Rumah Yang Dibeli : ");
int jumlahRumah = scanner.nextInt();
double hargaRumah = 0.0;
if (pilihanJenisRumah == 1) {
hargaRumah = 988000000;
} else if (pilihanJenisRumah == 2) {
hargaRumah = 920000000;
} else if (pilihanJenisRumah == 3) {
hargaRumah = 900000000;
totalHarga += hargaRumah * jumlahRumah;
System.out.println("Input Rumah lagi (y/t)? ");
inputRumahLagi = scanner.next().charAt(0);
} else {
inputRumahLagi = 't';
}
} while (inputRumahLagi == 'y');
System.out.println("------------------------------<^>----------------------------");
System.out.printf("Total Yang Harus Dibayar Rp. %,.2f%n", totalHarga);
System.out.println("Terimakasih " + nama + " sudah membeli Rumah di Toko Jual Rumah");
System.out.println("Rumah Idaman dan Nyaman. Kami Solusinya (^_^)");
public static void main(String[] args) {
Rumah rumah = new Rumah("", "");
rumah.beliRumah();