Uploaded by User14907

28571 Latihan Java UAS

advertisement
FM-BINUS-AA-FPU-78/R5
Pilihan Ganda (30%)
1. Perhatikan gambar dibawah ini !
Dari contoh codingan di atas, manakah deklarasi array yang benar:
a. a, d, dan f
b. b dan e
c. b, c, dan e
d. b dan f
e. Semua benar
2. Jika diketahui deretan angka:
28 95 16 50 74 33 18
Jika dilakukan operasi sorting secara descending dengan menggunakan Selection Sort. Maka
hasil deretan angka setelah putaran ke-4 dilakukan adalah:
a. 28 18 16 33 50 74 95
b. 18 28 16 33 50 74 95
c. 28 18 16 50 33 74 95
d. 18 28 16 50 33 74 95
e. 28 16 18 50 33 74 95
3. Untuk menciptakan objek dari class di bahasa Java dengan konsep Object Oriented
Programming kita perlukan keyword:
a. instantiate
b. new
c. call
d. create
e. obj
4. Jika diketahui telah terdapat deklarasi fungsi sebagai berikut:
public void read(int a, int b)
Manakah deklarasi overloading fungsi yang tidak diperbolehkan dibuat di bawah ini:
a. public void read(float a, int b)
b. public int read(int a, float b)
c. public int read(int a, int b)
d. public int read(int a, int b, int c)
e. public void reads(int a, int b)
5. Berikut ini adalah jenis-jenis Runtime Exception di Java, kecuali:
a. Throw Exception
b. Arithmetic Exception
c. Null Pointer Exception
d. Index Out of Bounds Exception
e. Illegal Argument Exception
6. Syntax manakah di bawah ini yang akan menimbulkan kondisi infinite loop (Looping Forever)?
a. for(int i=0; i<10; i++){
System.out.println(“Hello”);
Page 1 of 7
FM-BINUS-AA-FPU-78/R5
}
b. for(int i=10; i>0;i--)
System.out.println(“Hello”);
c. int i=0;
do{
i++;
System.out.println(“Hello”);
}while(i>10);
d. int i=0;
while(i<10){
System.out.println(“Hello”);
i--;
}
e. int i=10;
while(i>0){
System.out.println(“Hello”);
i--;
}
7. Perhatikan potongan progam berikut ini:
int i = 1;
while (i < 10){
if (i % 2 == 0)
System.out.print(i + “ ”);
i++;
}
Hasil outputnya adalah:
a. 1 2 3 4 5 6 7 8 9
b. 1 2 3 4 5
c. 1 3 5 7 9
d. 2 4 6 8
e. 6 7 8 9
8. Perhatikan potongan program berikut ini:
1) int count = 0;
2) while (count < 100) {
3) System.out.println("Welcome to Java!");
4) count++;
5) }
Pernyataan yang salah mengenai potongan program di atas adalah:
a. Baris 1 digunakanuntukinisialisasi variable countdenganangka 0 (nol)
b. Baris 2 merupakan statement while yang akanmengulangbaris 3 selama count
bernilailebihkecildari 100
c. Baris 3 merupakan statement untukmencetaktulisan “Welcome to Java!”
d. Baris 4 merupakan statement yang menambahkanangka 1 ke variable count
e. Hasiloutputnyaadalahtulisan “Welcome to Java!” sebanyak 100 kali
Page 2 of 7
FM-BINUS-AA-FPU-78/R5
9. Perbedaan mendasar antara Array, ArrayList, dan Vector adalah:
Array & ArrayList = not-synchronized
Vector = synchronized
a. Array memiliki keyword “synchronized”, sedangkanArrayListdan Vector
tidakmemilikinya
b. Array danArrayListmemiliki keyword “synchronized”,
sedangkanVectortidakmemilikinya
c. Array dan Vector memilikikeyword “synchronized”,
sedangkanArrayListtidakmemilikinya
d. Array memilikiukurandinamis, sedangkanArrayListdan Vector memilikiukuranstatis
e. Array memilikiukuranstatis, sedangkanArrayListdan Vector memilikiukurandinamis
Perhatikan potongan program berikut ini untuk menjawab pertanyaan no 10- 12:
1) public class Test {
2) public static void main(String[] args) {
3) double[100] r;
4) for (inti = 0; i <r.length(); i++);
5) r(i) = Math.random * 100;
6) }
7) }
10. Program tersebut akan menghasilkan error. Untuk memperbaikinya, maka baris ke-3 perlu
diganti dengan:
a. double r = new double(100);
b. double r[] = new double[100];
c. double r[100];
d. double[] r = new double();
e. double r = new [100];
11. Baris ke-4 perlu digantidengan:
a. for (inti = 0; i <r.length(); i++){
b. for (inti = 0; i <r.length(); i++)
c. for (inti ==0; i <r.length; i++);
d. for (inti ==0; i <r.length; i++){
e. for (inti = 0; i <r.length; i++)
12. Baris ke-5 perlu diganti dengan:
a. r(i) = (Math.random) * 100;
b. r(i) = Math.random() * 100;
c. r[i] = Math.random() * 100;
d. r[i] = (Math.random * 100);
e. r[i] = Math.random(100);
13. Pernyataan manakah di bawah ini yang salah mengenai Sorting:
a. Data yang akan di-sorting harustersimpandalam array
b. Sorting terbagimenjadi 2 type yaitu ascending dan descending
c. Semua type data bisa di-sorting
Page 3 of 7
FM-BINUS-AA-FPU-78/R5
d. Sorting membutuhkan syntax iterasi
e. Sorting tidakmembutuhkan syntax seleksi
14. Berikut ini yang bukan merupakan keuntungan OOP adalah:
a. Encapsulation
b. Inheritance
c. Polymorphism
d. Reusability
e. Properties
15. Perhatikan potongan program berikut ini:
int[] a = {1,2,3,4,5};
System.out.println(a[5]);
Hasil outputnya adalah:
a. Compile error
b. 5
c. null
d. Tidak ada output
e. Runtime Error ArrayIndexOutOfBoundsException
I. Essay (45%)
1. Jelaskan 3 tipe iterasi yang Anda ketahui! Lengkapi penjelasan Anda dengan contoh code.
(15 poin)
a. int i =0;
while(i>5){
System.out.println(“Hello!”);
i++;
}
b. int i = 0;
do{
System.out.println(“Hello!”);
i++
}while(i>5)
c. for(int i = 0;i<5;i++){
System.out.println(“Hello!”);
}
2. Perhatikan potongan code di bawah ini:
Page 4 of 7
FM-BINUS-AA-FPU-78/R5
Ubahlah potongan code tersebut menggunakan class Vector atau class ArrayList! (15 poin)
public class BJHospital{
static Vector<String> vname = new Vector<String>();
static Vector<Double> vgpa = new Vector<Double>();
public static void main (String args[]){
vname.add("Andre");
vname.add("Bunga");
vname.add("Christine");
vname.add("Dony");
vname.add("Daniel");
for(int i = 0;i<vname.size();i++){
double k = 3 + ((double)i/10);
vgpa.add(k);
}
System.out.printf("%-10s %4s\n", "Name", "GPA");
for(int j = 0;j<vname.size();j++)
System.out.printf("%-10s %1.2f\n",
vname.get(j), vgpa.get(j));
}
}
3. Dalam Object Oriented Programming (OOP) kita mengenal istilah Class dan Object. Jelaskan
perbedaan dari Class dan Object! Lengkapi penjelasan Anda dengan contoh code. (15 poin)
Class : Collection of data definitions and methods in the unit for a particular purpose. A
template is a blueprint that defines what data objects and methods.
a man, who has a name, age, height, weight, and color and hair type (data objects / nature)
and also to eat, walk, play, and sleep (behavior / method).
Object : a representation of Class
Bernard is 19 years old 170cm tall, weight 70 kg, black curly hair, an activity as eating,
sleeping, playing and roads.
II. Kasus (25%)
Buatlah aplikasi sorting data pegawai toko dengan ketentuan sebagai berikut:
 User diminta memasukkan jumlah pegawai (bilangan bulat), dan validasikan jumlahnya antara
3-5.
Page 5 of 7
FM-BINUS-AA-FPU-78/R5







User memasukkan masing-masing nama pegawai (validasikan panjang nama 1-20 karakter),
dan gaji pegawai dalam dolar (validasikan gaji 300-500).
Setelah inputan selesai, aplikasi akan menampilkan seluruh daftar nama dan gaji tersebut.
Kemudian menampilkan menu:
1. Urut Nama Ascending
2. Urut Gaji Descending
3. Exit
Jika user memilih menu ‘1’, maka urutkan daftar tersebut berdasarkan nama ascending, dan
urutan gaji juga berubah mengikuti nama pegawai
Jika user memilih menu ‘2’, maka urutkan daftar tersebut berdasarkan gaji descending, dan
urutan nama juga berubah mengikuti urutan gaji pegawai
Jika user memilih menu ‘3’, aplikasi selesai
Silahkan gunakan salah satu metode sorting seperti Bubble, Selection, atau Insertion
Tampilan aplikasi (yang di-bold adalah inputan dari user):
Masukkan jumlah pegawai [3-5]: 3
Masukkan nama pegawai 1 [1-20 karakter]: Leonardo
Masukkan gaji pegawai 1 [300-500]: 390
Masukkan nama pegawai 2 [1-20 karakter]: Johnson
Masukkan gaji pegawai 2 [300-500]: 496
Masukkan nama pegawai 3 [1-20 karakter]: Cleopatra
Masukkan gaji pegawai 3 [300-500]: 423
Tampilan aplikasi (yang di-bold adalah inputan dari user):
Daftar Nama / Gaji Pegawai:
Leonardo / 390
Johnson / 496
Cleopatra / 423
Menu:
1. Urut Nama Ascending
2. Urut Gaji Descending
3. Exit
Pilihan Anda [1-3]: 1
Tampilan aplikasi urut nama ascending:
Daftar Nama / Gaji Pegawai:
Cleopatra / 423
Johnson / 496
Leonardo / 390
Menu:
1. Urut Nama Ascending
2. Urut Gaji Descending
3. Exit
Pilihan Anda [1-3]: 2
Tampilan aplikasi urut gaji descending:
Daftar Nama / Gaji Pegawai:
Page 6 of 7
FM-BINUS-AA-FPU-78/R5
Johnson / 496
Cleopatra / 423
Leonardo / 390
Menu:
1. Urut Nama Ascending
2. Urut Gaji Descending
3. Exit
Pilihan Anda [1-3]: 3
-- Selamat Mengerjakan --
Page 7 of 7
Download