0% found this document useful (0 votes)
41 views15 pages

Tugas Latihan Soal Uap PBO - Putri Adelia

The document contains code for an administration system for student fee payment at an elementary school. It includes classes for handling fee payment registration, semester payment, and an abstract payment class. The main class handles authentication, menu selection, and calling methods to input payment data and calculate totals.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
41 views15 pages

Tugas Latihan Soal Uap PBO - Putri Adelia

The document contains code for an administration system for student fee payment at an elementary school. It includes classes for handling fee payment registration, semester payment, and an abstract payment class. The main class handles authentication, menu selection, and calling methods to input payment data and calculate totals.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 15

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();

You might also like