Minggu 5
Programming Exercise:
Buatlah sebuah program sederhana yang membantu user untuk mengetahui jumlah pertumbuhan
tabungan deposito selama jangka waktu tertentu. Kriteria dari program tersebut adalah sebagai
berikut:
1. Program akan meminta user untuk memasukkan jumlah deposito. Validasikan nilai yang
bisa di-input oleh user adalah $100-$1000. Validasikan program akan terus berulang
meminta inputan user jika jumlah deposito yang di-input tidak sesuai dengan kriteria.
2. Program akan menampilkan rate bunga deposito perbulannya. Rate tersebut diperoleh
dari hasil random, dan range dari bunga deposito hanya antara 1%-3%.
1. 3 months
2. 6 months
3. 9 months
4. 1 year
User diminta untuk memasukkan pilihan durasi deposito. Validasikan program akan
berulang meminta hingga user memasukkan pilihan durasi penyimpanan yang benar
(pilihan 1, 2, 3, atau 4).
4. Ketika user sudah memilih durasi penyimpanan, maka program akan menampilkan
simulasi perkembangan jumlah deposito setiap bulannya hingga mencapai batasan
lamanya durasi penyimpanan. Perhitungan jumlah deposito setiap bulannya adalah
sebagai berikut:
Jumlah deposito (n) = jumlah deposito (n-1) + jumlah deposito (n-1) * rate
5. Program akan meminta user untuk memasukkan pilihan, apakah user ingin melakukan
simulasi ulang dengan jumlah deposito dan durasi penyimpanan yang berbeda atau ingin
Print screen ketika user memasukkan pilihan yang benar dan program menampilkan
simulasi perkembangan jumlah deposito.
~ Selamat Mengerjakan ~
double rate;
DecimalFormat df = new DecimalFormat("#.##");
rate = 1 + (Math.random() * 2);
int flagValid = 0;
while (flagValid == 0) {
System.out.printf("Insert the amount of deposit [100...1000] : ");
deposit = input.nextDouble();
if (deposit >= 100 && deposit <= 1000)
break;
}
int flagValid1 = 0;
while (flagValid1 == 0) {
System.out.println("Current Deposite Rate : "+df.format(rate)+"%");
System.out.println("Duration of deposit :");
System.out.println("1. 3 months");
System.out.println("2. 6 months");
System.out.println("3. 9 months");
System.out.println("4. 1 years");
int bln=1;
while ( bln <=durasi) {
deposit = deposit + ((deposit*rate) / 100);
System.out.println("Your deposit in "+bln+" month will be $" +
df.format(deposit));
bln++;
}
System.out.println("");
System.out.printf("Do you want to repeat the program ? [Y/N] :");
String option = input.next();
System.out.println("");
option = option.toUpperCase();
if (option.equalsIgnoreCase("Y"))
repeat = true;
else
repeat = false;
}
}
}