Anda di halaman 1dari 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

Harap ikuti arahan penamaan file ini!

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

Tugas ini bernilai 90 point.


 Source code gagal dikompilasi / ada masalah (- 10 point)
 Tugas yang dikumpulkan lewat dari due date (-10 point)
 Source code sama persis (-40 point)
 Program berjalan dengan output sesuai dengan yang diinginkan (70 point)
 Source code terorganisir dengan baik dan rapi (contoh Java style di
http://www.bluej.org/objects-first/styleguide.html) (10 point)
 Dokumentasi yang sesuai dengan format javadoc (10 point)

10 poin tambahan akan diberikan bergantung pada kreativitas anda.

Anda mungkin juga menyukai