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