1446T - TP3 - R0.doc

26
TugasPersonal ke-3 Minggu 6 Review Questions: 1. Which are the following statements are valid array declarations? a. inti = new int (30); Answer: Invalid b. double d[] = new double[30]; Answer: Valid c. char[] r = new char(1..30); Answer: Invalid d. int i[] = (3,4,3,2); Answer: Invalid e. float f[] = {2.3, 4.5, 6.6}; Answer: Valid f. char[] c = new char(); Answer: Invalid 2. Indicate true or false for the following statements: a. Every element in an array has the same type. Answer: True b. The array size is fixed after it is declared. Answer: False c. The array size is fixed after it is created. Answer: True d. The elements in an array must be of primitive data type.

Transcript of 1446T - TP3 - R0.doc

TugasPersonal ke-3

Minggu 6

Review Questions:

1. Which are the following statements are valid array declarations?

a. inti = new int (30);

Answer: Invalid

b. double d[] = new double[30];

Answer: Valid

c. char[] r = new char(1..30);

Answer: Invalid

d. int i[] = (3,4,3,2);

Answer: Invalid

e. float f[] = {2.3, 4.5, 6.6};

Answer: Valid

f. char[] c = new char();

Answer: Invalid

2. Indicate true or false for the following statements:

a. Every element in an array has the same type.

Answer: True

b. The array size is fixed after it is declared.

Answer: False

c. The array size is fixed after it is created.

Answer: True

d. The elements in an array must be of primitive data type.

Answer: False

3. What happened when your program attempts to access an array element with an invalid

index?

Programming Exercise:

Buatlah sebuah program untuk pencatatan buku dalam Blue’s Library,

denganketentuansebagaiberikut:

1. Pada awal program, tampilkan data buku sebagai berikut:

No. Title Quantity Price===============================================================1 Harry Potter 15 100$2 Indiana Jones 20 200$3 Hannibal 12 150$4 Hunger Games 13 250$

2. Terdapat 6 menu dalam program, yaitu:

Menu 1 “Insert New Book”

Menu 2 “Sell”

Menu 3 “Garage Sale”

Menu 4 “Purchase Book”

Menu 5 “Exit”

3. Jika user memilih menu 1 “Insert New Book”, maka:

Program akanmeminta user untukmemasukkan Book Title, validasikanBook Title

tidak boleh kosong

Kemudian program akanmeminta user untuk memasukkan Book Qty, validasikan

Book Qty antara 10 dan 100

Selanjutnya program akanmeminta user untukmemasukkanBook Price, validasikan

Book Price antara 100 dan 1000

Tampilkanpesan “Insert Books Succeed” setelah data berhasildimasukkan

Validasikanjenisbukumaksimal yang adadalam data adalah 4 judul

4. Jika user memilih menu 2 “Sell”, maka:

Tampilkan data buku yang terdapatdalam data library

Program akan meminta user untuk memasukkan nomor buku yang

ingindijualkepelanggan, validasikan nomor buku antara 1 dan jumlah jenisbuku

Program akanmeminta user untukmemasukkanjumlahbuku yang dibeliolehpelanggan,

validasikan jumlah buku antara 1 dan jumlah total buku dengan jenis tersebut

Tampilkan Book Title, jumlahbuku yang terjualsertapendapatanoleh library tersebut

Pendapatan : [JumlahBuku] * [HargaBuku]

5. Jika user memilih menu 3 “Garage Sale”, maka:

Tampilkan data buku yang terdapatdalam library denganhargabuku yang

didiskonsebesar 50%

Program akanmeminta user untukmemilihapakahinginmelanjutkan proses “Garage

Sale”, denganketentuan:

o Jika user memilih “yes”, maka:

Semuabukuakanterjualdenganharga yang telahdidiskonsebesar 50%

Tampilkanpendapatan yang didapatkanoleh library tersebut

o Jika user memilih “no”, maka proses “Garage Sale” dibatalkan dan program akan

kembali ke menu Utama

6. Jika user memilih menu 4 “Purchase Book”, maka:

Tampilkan data buku yang terdapat dalam data library dengan harga buku yang

diturunkan sebesar 10%

Program akan meminta user untuk memasukkan nomor buku yang ingin dibeli

dari distributor, validasikan nomor buku antara 1 dan jumlahjenis buku

Program akanmeminta user untukmemasukkanjumlahbuku yang dibelidari

distributor, validasikan jumlah buku antara 1 dan 20

Tampilkan Book Title, jumlahbuku yang dibelisertapengeluarandari library tersebut

Pengeluaran : [JumlahBuku] * [HargaBuku] * 10%

7. Jika user memilih menu 5 “Exit”, maka program akankeluar.

Program:

package TugasPersonal3;

import java.util.ArrayList;

import java.util.Scanner;

import javax.management.openmbean.ArrayType;

public class Tampilan {

Scanner pilih = new Scanner(System.in);

ArrayList<Integer> arrlist = new ArrayList<Integer>(10);

ArrayList<Book> tampung;

public Tampilan()

{

//instansiasi

tampung = new ArrayList<Book>();

}

public void isiData(int id,String title,int jumlah,int harga)

{

tampung.add(new Book(id,title,jumlah,harga));

}

public void showDataAwal()

{

System.out.println("NO Title Jumlah Harga");

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

for(Book book:tampung)

{

System.out.println(book.getId()+" "+book.getTitle()+" "+book.getJumlah()+"

"+book.getHarga()+"$");

}

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

}

public void showData()

{

System.out.println("NO Title Jumlah Harga");

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

for(Book book:tampung)

{

System.out.println(book.getId()+" "+book.getTitle()+" "+book.getJumlah()+"

"+book.getHarga()+"$");

}

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

}

public void dua(){

System.out.print("Selling books number [1.."+tampung.size()+"] :");

int sel = pilih.nextInt()-1;

System.out.print("Selling books number [1.. "+tampung.get(sel).getJumlah()+"] :");

int jum = pilih.nextInt();

if(tampung.get(sel).getJumlah()-jum<0){

System.out.println("Stok buku kurang");

}

else{

tampung.get(sel).setJumlah(tampung.get(sel).getJumlah()-jum);

int TotalIncome = (tampung.get(sel).getHarga()*jum);

System.out.println("Total income :" +TotalIncome+"$");

System.out.println("");

System.out.println("");

}

System.out.println("");

}

public int tiga()

{

int jumlah,harga,total=0,a=0;

for(Book book:tampung)

{

harga =book.getHarga();

jumlah =book.getJumlah();

total = total+((harga*jumlah)*50/100);

book.setHarga(book.getHarga()*50/100);

}

System.out.println("Total income : "+total);

return total;

}

public void empat(){

int total=0;

System.out.print("Selling books number [1.."+tampung.size()+"] :");

int sel = pilih.nextInt()-1;

if(sel<0|| sel>tampung.size()){

System.out.println("Inputan anda salah");

empat();

}

System.out.print("Selling books number [1.. "+tampung.get(sel).getJumlah()+"] :");

int jum = pilih.nextInt();

if((jum<1)|| jum>tampung.get(sel).getJumlah()){

System.out.println("Inputan anda melebihi limit");

}

else if(tampung.get(sel).getJumlah()-jum < 0){

System.out.println("Stok tidak mencukupi");

}

else{

total =(tampung.get(sel).getHarga()*jum)-((tampung.get(sel).getHarga()*jum)*10)/100;

System.out.println("Purchase "+tampung.get(sel).getTitle()+" :" +jum);

System.out.println("Total puschase : "+total+"$");

tampung.get(sel).setJumlah(tampung.get(sel).getJumlah()-jum);

showData();

}

// tampung.get(sel).setJumlah(tampung.get(sel).getJumlah()-jum);

}

public void dataAwal(Tampilan td){

td.isiData(1,"A",10,100);

td.isiData(2,"B",10,100);

td.isiData(3,"C",10,100);

td.isiData(4,"D",10,100);

td.showDataAwal();

}

public void InsertNewBook(Tampilan td){

//Tampilan td = new Tampilan();

Scanner no =new Scanner(System.in);

Scanner jum =new Scanner(System.in);

Scanner titles =new Scanner(System.in);

for(int id=tampung.size()+1;id<=10;id++){

if(id<=10){

System.out.print("Title [must be filled]:");

String title = titles.nextLine();

if((title=="")||(title==null) ||"".equals(title)){

System.out.println("Mohon untuk mengisi title");

td.menu(td);

}

System.out.print("Jumlah [10..100]:");

int jumlah = jum.nextInt();

if(jumlah<10 || jumlah>100){

System.out.println("Isi jumlah dengan 10..100 ");

td.menu(td);

}

System.out.print("Harga [100..1000]:");

int harga = no.nextInt();

if(harga<100 || jumlah>1000){

System.out.println("Isi harga dengan 100 .. 1000 ");

td.menu(td);

}

System.out.println("Insert book Success");

System.out.println("");

td.isiData(id,title,jumlah,harga);

td.showData();

System.out.println("");

td.menu(td);

}

else

System.out.println("Daya tampung hanya 10 record");

}

}

public void deleteData(int index)

{

arrlist.remove(index);

}

public void menu1(Tampilan p){

System.out.println(" Blue Library ");

System.out.println("");

dataAwal(p);

}

public void menu(Tampilan p){

Scanner pilih = new Scanner(System.in);

System.out.println("1 Insert New Book");

System.out.println("2 Sell");

System.out.println("3 Garage Sell");

System.out.println("4 Purchase Book");

System.out.println("5 Exit");

System.out.print("Choice : ");

String pil = pilih.nextLine();

switch(pil)

{

case "1" :

p.InsertNewBook(p);

break;

case "2" :

p.showData();

p.dua();

p.showData();

p.menu(p);

break;

case "3" :

p.showData();

System.out.println("Discount 50% for all Books");

System.out.print("Process Garage Sale Yes/No :");

String userinput=pilih.nextLine();

switch (userinput) {

case "Yes":

p.tiga();

System.out.println("Garage Sale Success");

System.out.println("");

p.showData();

p.menu(p);

break;

case "yes":

p.tiga();

System.out.println("Garage Sale Success");

System.out.println("");

p.showData();

p.menu(p);

break;

case "No":

p.showData();

p.menu(p);

break;

case "no":

p.showData();

p.menu(p);

break;

default:

System.out.println("Mohon Cek inputan anda");

break;

}

break;

case "4" :

p.empat();

p.menu(p);

break;

case "5" : System.out.println("Exit");

System.exit(0);

break;

default: System.out.println("Inputan anda salah");

p.menu(p);

break;

}

}

private void DataAwal() {

// TODO Auto-generated method stub

}

public static void main(String args[])

{

Tampilan td = new Tampilan();

td.menu1(td);

System.out.println("");

System.out.println("");

td.menu(td);

}

}

package TugasPersonal3;

class Book {int id;String title;int jumlah;int harga;

public Book(int id,String title, int jumlah, int harga) { this.id=id; this.title=title; this.jumlah=jumlah; this.harga=harga;

} public int getId() { return id; } public int setId() { return id; }

public String getTitle() { return title; } public String setTitle() { return title; }

public int getJumlah() { return jumlah; } public int setJumlah(int jumlah) { this.jumlah=jumlah; return jumlah; } public int getHarga() { return harga; } public int setHarga(int harga) { this.harga=harga; return harga; }

public static String size() {// TODO Auto-generated method stubreturn null;

}

}

Silakanjalankan EXE file untukmelihat sample program.

Print Screen dari Awal Program dan Menu

Print Screen dari Menu “1”

Print Screen dari Menu “1” JikaJenisBukuSudah 10 Jenis

Print Screen dari Menu “2”

Print Screen dari Menu “3” dan User Menjawab “yes”

Print Screen dari Menu “3” dan User Menjawab “no”

Print Screen Menu UtamaSetelah User Melakukan Garage Sale

Print Screen dari Menu “4”