Tugas 3
Tugas 3
Mahasiswa dengan NIM/NPM ganjil harap mengerjakan Soal 1 sebaliknya mahasiswa dengan NIM/NPM
genap harap mengerjakan Soal 2. Compress file program dan file hasil kompilasi dalam zip file dan beri
nama Tugas3-PBO-Nim-Nama-NoSoalYangDipilih. Contoh: Tugas3-PBO-11112012-Viska-Soal1
Kemudian kirimkan melalui e-learning ini sebelum tanggal terakhir pengumpulan yang telah ditentukan.
Soal 1
Buatlah aplikasi tabungan sederhana yang terdiri dari 3 class. UML class diagram dapat dilihat di bawah:
Tabungan
- nama : String
- noRekening : long
- saldo = 0 : double
- saldo_minimum = 0 : double
- setoran_minimum = 0 : double
+ Tabungan()
+ Tabungan(nama:String, noRekening:long)
# setSaldoMinimum(saldo_minimum:double) : void
# setSetoranMinimum(setoran_minimum:double) : void
+ getSaldo() : double
+ setSaldo(saldo:double) : void
+ simpanUang(uang:double) : void
+ tarikUang(jumlahPenarikan:double) : void
Simpanan Junior
- SALDO_AWAL_MINIMUM = 500.000 : double - SALDO_AWAL_MINIMUM = 50.000 : double
- SALDO_MINIMUM = 10.000 : double - SALDO_MINIMUM = 10.000 : double
- SETORAN_MINIMUM = 50.000 : double - SETORAN_MINIMUM = 50.000 : double
+ Simpanan(nama:String, noRek:long, saldoAwal:double) - MAKS_TARIKAN_PER_HARI = 1.000.000 : double
+ Junior(nama:String, noRek:long, saldoAwal:double)
+ tarikUang(jumlahPenarikan:double) : void
Pengecekan tambahan:
Pada class Tabungan, method simpanUang harus mengecek jumlah uang minimal yang disetor
agar tidak kurang dari setoran minimum.
Pada class Tabungan, method tarikUang harus mengecek jumlah uang yang ditarik tidak boleh
negatif, tidak boleh lebih dari saldo dan sisa sesudah penarikan tidak boleh kurang dari saldo
minimum.
Pada class Simpanan dan Junior, method constructor akan memanggil super constructor,
mengeset saldo minimum, setoran minimum dan saldo. Khusus untuk saldo awal, perlu
pengecekan agar tidak kurang dari saldo awal minimum.
Pada class Junior, method tarikUang dioverride dengan menambahkan pengecekan jumlah uang
yang ditarik tidak boleh lebih dari maksimal tarikan per hari.
Bonus Challenges
Jika anda cepat menyelesaikan tugas ini, coba penambahan seperti di bawah.
Buatlah class TestTabungan yang akan mengecek semua class yang telah anda buat dan semua
kemungkinan kondisi yang akan dihadapi.
Soal 2
Buatlah aplikasi tabungan sederhana yang terdiri dari 3 class. UML class diagram dapat dilihat di bawah:
Tabungan
- nama : String
- noRekening : long
- saldo = 0 : double
- saldo_minimum = 0 : double
- setoran_minimum = 0 : double
+ Tabungan()
+ Tabungan(nama:String, noRekening:long)
# setSaldoMinimum(saldo_minimum:double) : void
# setSetoranMinimum(setoran_minimum:double) : void
+ getSaldo() : double
+ setSaldo(saldo:double) : void
+ simpanUang(uang:double) : void
+ tarikUang(jumlahPenarikan:double) : void
Bisnis Haji
- SALDO_AWAL_MINIMUM = 1.000.000 : double - SALDO_AWAL_MINIMUM = 500.000 : double
- SALDO_MINIMUM = 1.000.000 : double - SALDO_MINIMUM = 500.000 : double
- SETORAN_MINIMUM = 50.000 : double - SETORAN_MINIMUM = 100.000 : double
+ Bisnis(nama:String, noRek:long, saldoAwal:double) + Haji(nama:String, noRek:long, saldoAwal:double)
+ tarikUang(jumlahPenarikan:double) : void
Pengecekan tambahan:
Pada class Tabungan, method simpanUang harus mengecek jumlah uang minimal yang disetor
agar tidak kurang dari setoran minimum.
Pada class Tabungan, method tarikUang harus mengecek jumlah uang yang ditarik tidak boleh
negatif, tidak boleh lebih dari saldo dan sisa sesudah penarikan tidak boleh kurang dari saldo
minimum.
Pada class Bisnis dan Haji, method constructor akan memanggil super constructor, mengeset
saldo minimum, setoran minimum dan saldo. Khusus untuk saldo awal, perlu pengecekan agar
tidak kurang dari saldo awal minimum.
Pada class Haji, method tarikUang meng-override dengan menambahkan pengecekan jumlah
uang yang ditarik tidak boleh lebih dari 10% dari total saldo. Jika uang yang ingin diambil lebih
dari 10% dari total saldo, maka akan ada pemotongan 50.000 per pengambilan. Hal ini bertujuan
agar tabungan haji ini lebih bersifat sebagai simpanan dan nasabah akan berpikir dua kali jika
ingil menarik uang.
Bonus Challenges
Jika anda cepat menyelesaikan tugas ini, coba penambahan seperti di bawah.
Buatlah class TestTabungan yang akan mengecek semua class yang telah anda buat dan semua
kemungkinan kondisi yang akan dihadapi.
Kriteria Penilaian