Anda di halaman 1dari 6

Tugas Kelompok ke-2

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%.

3. Kemudian program akan menampilkan beberapa 4 pilihan durasi penyimpanan, sebagai


berikut:

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

1446T Algorithm and Programming


keluar dari program. Bila user menginput Y atau y maka program akan mengulang
kembali dari awal, dan sebaliknya bila user menginput N atau n maka user akan keluar
dari program.

Silakan jalankan EXE file untuk melihat sample program.

Print screen tampilan awal program.

Print screen tampilan setelah user memasukkan jumlah deposito.

1446T Algorithm and Programming


Print screen ketika user memasukkan pilihan yang salah.

Print screen ketika user memasukkan pilihan yang benar dan program menampilkan
simulasi perkembangan jumlah deposito.

~ Selamat Mengerjakan ~

1446T Algorithm and Programming


Jawaban :

public class TK02_WEEK5 {


public static void main(String[] args) {
// TODO code application logic here

Scanner input = new Scanner(System.in);

boolean repeat = true;


while (repeat == true) {
int durasiDeposito = 0;
double deposit = 0;

double rate;
DecimalFormat df = new DecimalFormat("#.##");
rate = 1 + (Math.random() * 2);

System.out.println("Welcome to 'Rich' Deposit Program");


System.out.println("---------------------------------");

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

System.out.printf("Chose your deposite duration : ");


durasiDeposito = input.nextInt();
System.out.println("");

if (durasiDeposito >= 1 && durasiDeposito <= 4)


break;
}
int durasi=0;

1446T Algorithm and Programming


System.out.println("Your deposit is $"+deposit);
if(durasiDeposito == 1) {
System.out.println("Deposit duration is 3 months");
durasi = 3;
}
if(durasiDeposito == 2) {
System.out.println("Deposit duration is 6 months");
durasi = 6;
}
if(durasiDeposito == 3) {
System.out.println("Deposit duration is 9 months");
durasi = 9;
}
if(durasiDeposito == 4)
{
System.out.println("Deposit duration is 12 months");
durasi = 12;
}
System.out.println("Current Rate is "+df.format(rate)+"%\n");

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;
}
}
}

1446T Algorithm and Programming


1446T Algorithm and Programming

Anda mungkin juga menyukai