SOAL. 1. Sebuah program disebut sebagai program yang berorientasi obyek, jika program tersebut memiliki tiga dasar yang ada dibawah ini(pilih satu jawaban yang benar), kecuali: a. Terdiri dari kelas yang saling berelasi b. Berupa kumpulan obyek c. Obyek yang ada dibuat dari kelasnya d. Kelas yang merupakan representasi dari obyek 2. Karakteristik dasar sebuah obyek antara lain (pilih dua jawaban yang benar): a. Memiliki State b. Memiliki Modifier c. Memiliki Method d. Memiliki Specifier 3. Karakteristik yang berkenaan dengan perubahan status dari sebuah obyek disebut: a. State b. Modifier c. Method d. Specifier 4. Pada Java, ada yang disebut sebagai contructor. Fakta yang benar mengenai constructor adalah: a. Berfungsi melakukan inisialisasi nilai variabel pada obyek b. Dibangun untuk membuat sebuah obyek dari kelas yang sudah didefinisikan c. Merupakan method khusus yang ada pada Java d. Semua jawaban benar 5. Karakteristik dasar dari constructor adalah dibawah ini, kecuali(pilih tiga jawaban): a. Memiliki nama yang sama dengan nama kelas b. Memiliki parameter c. Memiliki nilai balik d. Memiliki tipe data e. Dapat didefinisikan lebih dari satu pada satu kelas f. Dapat didefinisikan pada public static void main(String [] args) 6. Pada gambar 1 dibawah, yang merupakan header fungsi/metode adalah(pilih satu): a. 1 b. 2 c. 3 d. 4 e. 5 7. Pada gambar 1 dibawah, yang merupakan method body adalah(pilih satu): a. 1 b. 2 c. 3 d. 4 e. 5 \\ struktur program JAVA public class HelloWorld {
1 2
public static void main(String args[]) { 4 }
3 5
8. Pada jendela konsol(command prompt window pada windows operating system), untuk mengkompilasi dan menjalankan(compile dan run) program java menggunakan perintah masing-masing secara berurutan: a. java dan javac b. javac dan java c. javac dan javacompile d. javac dan javarun 1 public class Welcome { 2 public void Main(String[] args) { 3 System.out.println('Welcome to Java!); 4 } 5 )
9. Pada gambar 2 diatas, kesalahan terletak pada (pilih tiga jawaban): a. Baris 1 b. Baris 2 c. Baris 3 d. Baris 4 e. Baris 5 public class Test { public static void main(String[] args) { System.out.println("3.5 * 4 / 2 – 2.5 is "); System.out.println(3.5 * 4 / 2 – 2.5); } }
10. Pada gambar 3 diatas, output dari program diatas adalah: a. 3.5 * 4 / 2 – 2.5 is b. c. d.
4.5 3.5 * 4 / 2 – 2.5 is 4.5 3.5 * 4 / 2 – 2.5 is 4 3.5 * 4 / 2 – 2.5 is 4.5
if (x > 2) { if (y > 2) { z = x + y; System.out.println(“z = “+z); } } else System.out.println(“x = ”+x);
11. Pada gambar 4 diatas, jika nilai x = 3 dan y=2 maka outputnya adalah(pilih satu): a. z = 5 b. x = 2 c. x = 3 d. z = 0 e. x = 0 f. Tidak ada ouput if (x > 2) if (y > 2) { z = x + y; System.out.println(“z = “+z); } else System.out.println(“x = ”+x);
12. Pada gambar 5 diatas, jika nilai x = 2 dan y=3 maka outputnya adalah(pilih satu): a. z = 5 b. x = 2 c. x = 3 d. z = 0 e. x = 0 f. Tidak ada ouput 13. Output yang mungkin yang dihasilkan dari fungsi Math.random() (pilih tiga jawaban) a. 323.4 b. 0.5 c. 34 d. 1.0 e. 0.0 f. 0.234
x = 3; y = 3; switch (x + 3) { case 6: y = 1; default: y += 1; }
14. Pada gambar 6 diatas, berapa nilai y jika statement diatas dieksekusi? a. 1 b. 2 c. 4 d. 5 15. Perintah (keyword) yang digunakan untuk membuat obyek adalah: a. new b. public c. static d. private 1 2 3 4 5 6 7 8
public class ShowErrors { public void method1() { Circle c; System.out.println("What is radius " + c.getRadius()); c = new Circle(); } }
16. Pada gambar 7 diatas, kesalahan terletak pada baris: a. 1, 3, 5 b. 4, 5, 6 c. 6,7,8 d. 1,2,3 17. Yang dimaksud dengan accessor method adalah: a. Method yang berfungsi mengubah state/status sebuah obyek b. Method yang berfungsi mengakses obyek dan mengembalikan informasi tentang obyek tersebut, tanpa mengubah obyek tersebut c. Method yang berfungsi mengubah status sebuah kelas d. Method yang berfungsi mengakses obyek dan mengubah status obyek tersebut
package p1; public class C1 { public int x; int y; private int z; public void m1() {} void m2() {} private void m3() {} }
18. Pada gambar 8 diatas, misal terdapat dua kelas yang berbeda yang terletak pada dua paket yang berbeda. Perintah yang tidak menyebabkan error adalah(pilih satu jawaban): a. 1, 2, 3 b. 1, 5, 6 c. 2, 3, 7 d. 1, 2, 5 1 2 3 4
public class YourClass{ private int information; private char moreInformation; public YourClass (int newInfo, char moreNewInfo){} 5 public YourClass(){} 6 public void doStuff(){} 7 }
19. Menggunakan kelas pada gambar 9 diatas, manakah dari perintah dibawah ini tidak menyebabkan error(pilih empat jawaban) : a. YourClass anObject = new YourClass(42, ‘A’); b. YourClass anotherObject = new YourClass(41.99, ‘A’); c. YourClass yetAnotherObject = new YourClass(); d. yetAnotherObject.doStuff(); e. YourClass oneMoreObject; f. oneMoreObject.doStuff(); 20. Pada gambar diatas, yang merupakan default constructor adalah pada baris: a. 1
b. 4 c. 5 d. 6 SOAL B Jawablah soal berikut ini!
1. Rancanglah sebuah kelas yang bernama Fan untuk merepresentasikan sebuah Kipas Angin. Kelas terdiri atas: Tiga konstanta bernama SLOW, MEDIUM, dan FAST dengan masing-masing nilai 1, 2, dan 3 untuk mengindikasikan kecepatan kipas angin(gunakan keyword final untuk mendeklarasikan sebuah konstanta). Variabel speed bertipe int untuk merepresentasikan kecepatan kipas(nilai default SLOW). Variabel on bertipe boolean untuk menspesifikasikan status kipas on (nilai default FALSE). Variabel radius bertipe double untuk menentukan radius kipas angin(nilai default 5). Variabel color bertipe string untuk menentukan warna kipas angin(nilai default blue). Sebuah konstruktor tanpa argumen yang akan membuat sebuah kipas angin bernilai default. Semua accessor dan mutator untuk keempat variabel diatas. Sebuah metode bernama toString() yang akan mengembalikan string deskripsi sebuah kipas angin. Jika kipas angin berstatus on, maka metode tersebut mengembalikan kecepatan kipas angin, warna, dan radius pada satu string. Dan jika kipas angin bersatus off, metode akan mengembalikan warna, radius kipas angin dan juga bersamaan dengan string “fan is off”. Kelas anda harus menggunakan prinsip enkapsulasi! Buatlah sebuah program uji kelas diatas yang membuat dua buah obyek kipas angin. Berikan nilai maksimum pada kecepatannya, radius 10, warna yellow, dan status on pada obyek pertama. Berikan kecepatan medium, radius 5, warna blue, dan status off pada obyek kedua. Tampilkan kedua obyek tersebut dengan menggunakan pemanggilan metode toString().