1
1
Waktu
Waktu Pengerjaan
Pengerjaan
:
: Sabtu
Sabtu 18
18 Desember
Desember 2010
2010 jam
jam 09.00
09.00 –
– 12.00
12.00
Sifat
Sifat
:
: Tutup
Tutup Buku,
Buku, Buka
Buka Komputer/Lap
Komputer/Laptop
top (Hanya
(Hanya boleh
boleh buka
buka Ms
Ms
Word), dan Tutup Internet.
Word), dan Tutup Internet.
Nilai
Nilai Lulus
Lulus Minimum
Minimum :
: 50%
50% jawaban
jawaban benar
benar
I. Soal
I. Soal Tes Kompetensi Teori Fundamentals Java ProgammingTes Kompetensi Teori Fundamentals Java Progamming 1. Perhatikan kode program berikut ini
1. Perhatikan kode program berikut ini import java.util.Date; import java.util.Date; public class Y2K { public class Y2K {
public static void main(String [] args) { public static void main(String [] args) {
Date date; Date date;
if (date == null) System.out.println("date is null"); if (date == null) System.out.println("date is null"); }
} }
}
Jika Anda berusaha untuk mengkompilasi program tersebut, apa yang
Jika Anda berusaha untuk mengkompilasi program tersebut, apa yang akan terjadi ?akan terjadi ? A.
A. Program dapat Program dapat dikompilasi, tetadikompilasi, tetapi menghasipi menghasilkan sebuah lkan sebuah intrepeter errintrepeter error ketika diekseor ketika dieksekusi.kusi.
B.
B.
Program dapat dikompilasi dan menghasilkan output 'date is Program dapat dikompilasi dan menghasilkan output 'date is null' pada layar.null' pada layar. C.C. Program tidak Program tidak dapat dikompdapat dikompilasi dan ilasi dan memberikan memberikan sebuah csebuah compiler erompiler error.ror. D.
D. pernpernyataayataan A, n A, B, C B, C salasalah.h. 2.
2. MMananakakah ah di di babawawah h inini i dadaftftar ar JaJava va KKeyeywowordrds s sasaja ja ?? A. class, Thread, void, long, if,
A. class, Thread, void, long, if, continuecontinue B. goto,
B. goto, instanceof, native, finally, default, throwsinstanceof, native, finally, default, throws C. try, false, throw, final, volatile, transient
C. try, false, throw, final, volatile, transient D. true, throws, super, implements, do D. true, throws, super, implements, do
3.
3.
Perhatikan kode program berikut ini.Perhatikan kode program berikut ini. public class CheckDefault {public class CheckDefault {
private static boolean test; private static boolean test; public static void showTest() { public static void showTest() { System.out.println(test); System.out.println(test); } } } }
Jika anda memanggil metod statik showTest(), Apa yang akan terjadi ? Jika anda memanggil metod statik showTest(), Apa yang akan terjadi ?
A. true A. true B. false B. false C. null C. null D. Kelas tidak
D. Kelas tidak dapat dikompilasidapat dikompilasi 4.
4. BeBerarapa pa ninilalai i dedesisimamal l dadari ri dudua a liliteteraral l nunumbmber er 0x0x00001B 1B anand d 03033 3 ?? A. 21 and 33 A. 21 and 33 B. 21 and 27 B. 21 and 27 C. 27 and 33 C. 27 and 33 D. 33 and 33 D. 33 and 33 E. 27 and 27 E. 27 and 27
5.
5.
Manakah definisi kelas berikuManakah definisi kelas berikut ini yang benar ? t ini yang benar ? (pilih 2 jawaban)(pilih 2 jawaban) A. private class A {} A. private class A {} B. class B {} B. class B {} C. public class C {} C. public class C {}D. protected class Class {} D. protected class Class {} 6.
6. Keluaran aKeluaran apa yang akan dihasilkpa yang akan dihasilkan dari program berikuan dari program berikut ?t ? class TestServer {
class TestServer {
final int users = 20; final int users = 20; public TestServer() { public TestServer() {
int users = this.users * 10; int users = this.users * 10; }
}
public static void main(String [] args){ public static void main(String [] args){
19
System.out.println("Variable users = " + users);} }
A. 200. B. 20.
C. file dapat dikompilasi, tetapi menghasilkan error ketika dijalankan D. file tidak dapat dikompilasi
7. Apa yang terjadi ketika Anda mengkompilasi dan menjalankan program berikut ? class TestServer {
static int users = 0; public void logIn() {
users += 1; }
}
A. File tidak dapat dikompilasi karena metod static memanggil variable tidak statik B. File dapat dikompilasi, tetapi menghasilkan error ketika program dijalankan. C. File dapat dikompilasi dan kelas dapat diinstansiasi.
D. File tidak dapat dikompilasi karena tidak ada metod main. 8. Keluaran apa yang dihasilkan dari program berikut ini ?
class TestServer {
public TestServer() { int users = 1; }
public void increment() { users = users + 1; }
public static void main(String [] args){ increment();
System.out.println("Variable users = " + users); }
}
A. Variable users = 1 B. Variable users = 2
C. File dapat dikompilasi, tetapi ketika dijalankan akan menghasilkan error. D. File tidak dapat dikompilasi.
9. Berapakah nilai variabel code jika metod convertCode() dalam program berikut dipanggil ? class Inventory{
public static void main (String [] args) { int code = 237;
convertCode(code); // * }
public static void convertCode(int inv) { inv = inv + 100000;
} }
A. 237 B. 100237
C. Tidak ada, class tidak dapat dikompilasi
D. Kelas dapat dikompilasi, namun menghasilkan error ketika dijalankan 10. Keluaran apa yang dihasilkan dari program berikut ini ?
class StringLiteral {
public static void main(String[] args) { String java = "Java", va = "va"; System.out.print(java == "Java");
System.out.print(java == ("Ja"+"va")); System.out.print(java == ("Ja"+va)); System.out.print(java.equals("Ja"+va));
19
}}
A. truetruetruetrue B. truefalsefalsetrue C. truetruefalsetrue D. truefalsefalsefalse11. Keluaran apa yang dapat dihasilkan dari program berikut ini ? import java.awt.Button;
class CompareReference {
public static void main(String [] args) { Button a = new Button("Exit"); Button b = new Button("Exit"); Button c = a; System.out.println((a == b) + " " + (a == c)); } } A. true false B. true true C. false true D. false false
E. File tidak dapat dikompilasi
12. Perhatikan kode program berikut ini. public class Test9{
public static void main(String a[]){ final byte b = 1; char c = 2; short s = 3; int i = 4; c = b; // baris 7 s = b; // baris 8 i = b; // baris 9 s = c * b; // baris 10 } }
manakah pernyataan berikut ini benar, jika program di atas dijalankan ? A. Error pada baris 7
B. Error pada baris 8 C. Error pada baris 9 D. Error pada baris 10
13. Keluaran apa yang dihasilkan dari program berikut ini ? public class Test12{
public static void main(String args[]) throws Exception{ for (int i = 0;i < 3;i++){
for (int j = 0;j < 3;j++){ System.out.print(i); System.out.print(j+","); break; } } } } A. 00, B. 00,10,20, C. 000102
19
14. Keluaran apa yang akan dihasilkan oleh program berikut ini ?public class Test4{
public static void main(String args[]){ System.out.println(method()); }
public static int method(){ return;
} }
A. null B. 0
C. Program dapat dikompilasi, tetapi ketika dijalankan menghasilkan runtime error. D. Ptogram tidak dapat dikompilasi.
15. Keluaran apa yang akahn dihasilkan dari program berikut ini ? Class Test{
public int addTest(int x, int y){ x=x+1; y=y+1;
int z=(x+y); return z; }
public static void main(String [] args){ int x=10; int y=10; int z=0;
Test t=new Test(); z= t.addTest(x,y); System.out.println("x="+x+", y="+y+", z="+z); } } A. x=10, y=10, z=22 B. x=11, y=11, z=22 C. x=10, y=10, z=20 D. x=11, y=11, z=20
16. Keluaran apa yang akan dihasilkan dari program berikut ini. for( int i=0;i<2;i++){
for(int j=i;j<3; j++){ if (i==j)continue; System.out.println("i="+i+" j="+j); } } A. i = 0 j = 1 B. i = 0 j = 2 C. i = 1 j = 2 D. Selain A, B, dan C.
17. Pilih eqivalensi (persamaan) dari pernyataan if berikut ? boolean b = true; If ( b ) { x = y; } else { x = z; } A. x = b ? x = y : x = z ; B. x = b ? y : z ;
19
C. b = x ? y : z ;D. b = x ? x = y : x = z ;
18. Jika Anda disuruh mengomentari program berikut ini, apa yang akan Anda katakan kepada programmer ? (pilih 2 jawaban)
public class TechnoSample {
public static void main(String[] args){ for(int i = 0; i < 10; i++){
System.out.println(getPrimitive(127)); //baris 1 }
}
public static int getPrimitive(byte b){ // baris 2 return (short)(Math.random()*b); //baris 3 }
}
A. Kompilasi error pada baris 1 B. Kompilasi error pada baris 2 C. Kompilasi error pada baris 3 D. Baris ke 3 tidak ada masalah
E. Program akan mencetak 10 bilangan acak antara 0 dan 127
19. Pernytaan manakah yang dapat dimasukkan ke dalam baris ke-3 pada program berikut ini ? (pilih 3 jawaban)
1. public class ClassA {
2. public static void main(String [] args) { 3. 4. switch(x) { 5. default: 6. System.out.println("Here it is."); 7. } 8. } 9. } A. int x = 6; B. short x = 3; C. char x = 'y'; D. long x = 354; E. boolean x = true;
20. Apakah program berikut ini dapat dikompilasi ? Jika dapat, keluaan apa yang dihasilkan dari program ini. class sample {
sample(int i){
System.out.println(i); }
public static void main(String args[]){ int k = 10;
sample object = new sample(k); }
} A. 0 B. 10 C. null
D. Program tidak dapat dikompilasi
21. Manakah di bawah ini yang bukan termasuk Java keyword (Java SDK v1.4) ? (Pilih 3 jawaban) A. transient
B. generic C. strictfp D. friend E. sizeof
19
22. Apa komentar Anda mengenai program berikut ini ?public class Soal21{
private int i = giveMeJ(); private int j = 10;
private int giveMeJ(){ return j;
}
public static void main(String args[]){ System.out.println((new Soal21()).i); }
}
A. Kompilasi error karena pemanggilan variabel yang dideklarasikan private B. Kompilasi error karena pemanggilan metod giveMeJ()
C. Program dapat dikompilasi dan mencetak nilai 0 D. Program dapat dikompilasi dan mencetak nilai 10 23. Keluaran apa yang dihasilkan dari program berikut ini ?
class Soal22 {
public static void main (String args[]) { int i = 0; int j = 0;
label1: while (i++<5) { label2: for (;;) {
label3: do {
System.out.print(i + j); switch (i+j++) {
case 0: continue label3; case 1: continue label2; case 2: continue label1; case 3: break;
case 4: break label3; case 5: break label2; case 6: break label1; default: break label1; } } while (++j<5); } } } } A. 12457 B. 02357 C. 02356 D. 1357
24. Keluaran apa yang akan dihasilkan dari program berikut ini ? public class Soal23 {
public static void main(String argv[]) { Soal23 sample = new Soal23(); sample.amethod();
}
public void amethod() { int oi= 012; System.out.println(oi); } } A. 12 B. 012
19
C. 10D. 10.0
25. Pilih satu pernyataan yang benar mengenai program di bawah ini ? public class Soal25 {
public static void main(String[] args) { int i=3;
System.out.println(getBoolean()? i=2*i++:i++ + ++i); }
public static boolean getBoolean(){ if((int)(Math.random()*2)==0) return false; else return true; } }
A. Program mencetak angka 6 atau 8 secara acak pada setiap eksekusi. B. Program mencetak angka 7 atau 8 secara acak pada setiap eksekusi. C. Selalu mencetak angka 6 pada setiap eksekusi.
D. Mencetak angka 6 atau 11 pada setiap eksekusi. E. Program tidak dapat dikompilasi.
26. Keluarah apa yang dihasilkan dari program berikut ketika dikompilasi dan dijalankan ? class Base{
private int iAcres=3; }
public class Mfields {
private int iAcres=5;
public static void main(String args[]){ Base b = new Base();
System.out.println(mf.iAcres); }
}
A. Compile time error B. 5
C. 3
D. Runtime Error
27. Manakah pilihan di bawah ini yang benar untuk konstruktor ? (Pilih 3 jawaban) A. Test4(){}
B. void Test4(){} C. private Test4(){} D. public Test4(int i){} E. protected int Test4(){} F. void Test4(long k){}
28. Manakah di bawah ini yang merupakan bentuk documentation comments yang tepat di program Java ? A. // komentar
B /*komentar*/ C /**komentar*/ D A, B, C Benar
29. Manakah pernyataan metod main berikut ini benar ketika digunakan untuk menjalankan sebuah kelas melalui command line ?
A. public static void main(String[] args) B. public void main(String args[]) C. public static void main (string[] args) D. static public void main(String x[]) E. A dan D
30. Manakah deklarasi variabel berikut ini yang tidak benar ? A. example
B. 2sumup C. its4u
19
D. $moneyE. _nama2
II. Soal Tes Kompetensi Teori Java Programming Language
1.
Pelajari kode program berikut ini :public class Test { public int t = 4;
public static void main (String [] args) { new Test().NumberPlay();
}
public void NumberPlay() { int t = 2; t = t + 5; this.t = this.t - 2; t = t - this.t; System.out.print(t + " "); System.out.println(this.t); } }
Keluaran apa yang dihasilkan dari program di atas ? A. 2 5 B. -9 0 C. 0 -9 D. 5 2 E.7 2 F. 2 7
2.
Manakah definisi kelas berikut ini yang dibenarkan ? (Pilih lebih dari satu jawaban jika dimungkinkan)A. private class A {} B. class B {}
C. public class C {} D. final class Class {} E.abstract class E;
F. final abstract class F {} 3. Perhatikan kode program berikut ini.
import java.util.Date; public class Y2K {
public static void main(String [] args) { Date date;
if (date == null)
System.out.println("date is null"); }
}
Apa yang akan terjadi jika program ini dikompilasi dan dijalankan ?
A. Program dapat dikompilas, tetapi menghasilkan sebuah interpreter error ketika dijalankan. B. Program dapat dikompilasi dan menghasilkan nilai keluaran null pada layar.
C. Program tidak dapat dikompilasi dan memberikan sebuah compiler error. D. Jawaban A, B, dan C salah.
4. Mana deklarasi Array berikut yang benar ?
A. Array a = new Array(5);
B. int [] a = {23, 22, 21, 20, 19}; C. int [] array;
19
D. int array [] = new int[5];E.int a [] = new int(5);
5. Pelajari kode program berikut. Keluaran apa yang dihasilkan dari program berikut. class TestServer {
final int users = 20; public TestServer() {
int users = this.users * 10; }
public static void main(String [] args){
System.out.println("Variable users = " + users); }
}
A. Variable users = 200 B. Variable users = 20
C. Progarm dapat dikompilasi, tetapi menghasilkan error ketika dijalankan. D. Program tidak dapat dikompilasi.
6. Pelajari kode program berikut ini. class SuperServer { public SuperServer() { System.out.print(35); } public SuperServer(int y) { y = y + 2; System.out.print(y); } }
class TestServer extends SuperServer{ public TestServer(int y) {
y = y * 10;
System.out.print(y); }
public static void main(String [] args){ TestServer ts = new TestServer(10); }
}
Keluaran apa yang dihasilkan dari program tersebut ? A. 12100
B. 10012 C. 1224 D. 35100
7. Pelajari kode program berikut ini ! package payroll;
public class UserConnection{
protected final int MAXUSERS = 20; public static String getServerName() {
return "Main Server"; }
}
dan pelajari pula kode program berikut. package client;
import payroll.UserConnection;
19
public final int MAXCONNECTIONS = MAXUSERS * 10;}
Apa yang terjadi jika kedua kelas ini dikompilasi dan dijalankan ? A. File dengan kelasUserConnection tidak dapat dikompilasi. B. File dengan kelas ServerConnection tidak dapat dikompilasi.
C. Kedua file dapat dikompilasi, tapi error dihasilkan ketika kelas ServerConnection diinstansiasi. D. Kedua kelas dapat dikompilasi, dan ketika kedua kelas tersebut diinstansiasi tidak ada masalah.
8. Pelajari dua kelas berikut ini. package payroll; class EmployeeNames{
public static String [] names ={"Ian","Paul","Adam","Jansky"}; public static String [] getNames() {
return names; }
}
package client;
import payroll.EmployeeNames;
class TraderNames extends EmployeeNames{
public static String [] traders = {"Marty", "Ziggy", "Niko", "Chris"}; }
Apa yang akan terjadi dengan program ini ?
A. File dengan kelas EmployeeNames tidak dapat dikompilasi. B. File dengan kelas TraderNames tidak dapat dikompilasi.
C. Kedua file di atas dapat dikompilasi, tetapi error muncul ketika kelas TraderNames diinstansiasi. D. Kedua fiile dapat dikompilasi dan dapat diinstansiasi dengan baik.
9. Keluaran apa yang akan dihasilkan dari program berikut ini. class AssignmentOps {
public static void main(String [] args) { int x=2;
String sup = (>15000)?"Pencil":(>=5)?"Eraser":"Pen"; System.out.println(sup); } } A. Pencil B. Eraser C. Pen
D. Program tidak dapat dikompilasi
10. Keluaran apa yang dihasilkan dari program berikut ini. class Equals {
public static void main(String [] args) { int x = 100; double y = 100.1; boolean b = (x = y); System.out.println(b); } } A. True B. False
C. Program tidak dapat dikompilasi.
19
11.
Pelajari kode program berikut ini.class StringLiteral {
public static void main(String[] args) { String java = "Java", va = "va"; System.out.println(java == "Java"); System.out.println(java == ("Ja"+"va")); System.out.println(java == ("Ja"+va)); System.out.println(java.equals("Ja"+va)); } }
Urutan nilai boolean apa yang akan dihasilkan dari program di atas. A. true true true true
B. true false false true C. true true false true D. true false false false
12.
Manakah berikut ini yang benar ? (Pilih lebih dari satu jawaban jika memungkinkan)A. int w = (int)888.8; B. byte x = (byte)1000L; C. long y = (byte)100; D. byte z = (byte)100L; 13. Pelajari kode program berikut ini.
class Hardware {}
class Monitor extends Hardware{} class HardDrive extends Hardware{
public void test() {
Monitor a = new Monitor(); Hardware b = new Monitor(); HardDrive c = (HardDrive)a; Monitor d = b;
} }
Manakah pernyataan berikut ini yang benar ? A. Monitor a = new Monitor();
B. Hardware b = new Monitor(); C. HardDrive c = (HardDrive)a; D. Monitor d = b;
14. Keluaran apa yang dihasilkan dari program berikut ini. int I = 0;
outer: while (true) { I++;
inner: for (int j = 0; j < 10; j++) { I += j; if (j == 3) continue inner; break outer; } continue outer; } System.out.println("I is " + I);
19
A. 1 B. 2 C. 3 D. 4
15. Keluaran apa yang dihasilkan dari program berikut ini ? for (int I = 0; I < 2; I++){
switch (I) { case 0: { System.out.println("I is 0"); continue; } case 1: { System.out.println("I is 1"); break; } } } A. I is 0 I is 1 B. I is 0 I is 1 I is 1 C. I is 0
D. Program tidak dapat dikompilasi
16.
Bagian for loop manakah yang harus selalu ada ? (Pilih lebih dari satu jawaban jika dimungkinkan) A. InitializationB. Condition C. Increment D. Tidak ada.
17.
Tipe ekspresi apa yang dapat diterapkan dalam pernyataan switch ? (pilih 2 jawaban !) A. intB. long C. byte D. String
18. Apa pendapat Anda mengenai penggalan kode program berikut ? try {
throw new FileNotFoundException(); }
catch(IOException e) {
System.out.println("IO Exception caught"); }
catch(EOFException e) {
System.out.println("EOF Exception caught"); }
A. Kode program di atas tidak dapat dikompilasi. B. Akan tercetak "IO Exception Caught."
C. Thrown exception.
D. Akan tercetak "EOF Exception caught."
19. Apa pendapat Anda mengenai penggalan kode program berikut ini. System.out.println("Start ");
19
System.out.println("Hello world"); throw new FileNotFoundException(); }System.out.println(" Catch Here ");
catch(EOFException e) {
System.out.println("End of file exception"); }catch(FileNotFoundException e) {
System.out.println("File not found"); }
A. Program tidak dapat dikompilasi.
B. Program akan mencetak : File Not Found. C. Program akan mencetak : End of file exception.
D. Program akan mencetak : Start Hello world Catch Here File not found
20.
Kapan obyek myObject siap untuk dihapus ?class example {
public static void main( String args[] ) { UseObject();
}
private static void UseObject() {
String anObject = AllocateObject(); System.out.println( anObject ); }
private String AllocateObject( ) {
String myObject = new String( "When will I be deleted?" ); return myObject;
} }
A. Setelah metod AllocateObject() selesai dijalankan.
B. Setelah pemanggilanSystem.out.println() selesai dijalankan. C. Setelah metod UseObject() selesai dijalankan.
D. Setelah program utama (main) selesai dijalankan.
21. Apa yang akan terjadi jika Anda mencoba mengkompilasi dan menjalankan program berikut.
public class Parent {
public void execute() throws Exception { }
}
public class Child extends Parent {
private void execute() throws ClassCastException { }
}
A. Program sukses dikompilasi.
B. Program tidak dapat dikompilasi karena metod execute() di kelas anak melemparkan eksepsi yang
berbeda dengan di kelas induk.
C. Program tidak dapat dikompilasi karena metod execute() di kelas anak memiliki tingkat aksesibilitas yang lebih rendah dengan kelas induknya.
D. Program tidak dapat dikompilasi karena metod execute() di kelas anak memiliki tingkat
aksesibilitas yang lebih rendah dari kelas induknya dan melemparkan tipe eksepsi berbeda dengan kelas induknya.
22.
Apa yang terjadi jika Anda mencoba mengkompilasi dan menjalankan program berikut ini ?public class Test {
public static void main( String [] args) { new Test().foo( 1, 2);
}
private void foo( int a, int b) { System.out.println( "int");
19
}
private void foo( long a, int b) { System.out.println( "long"); }
}
A. Kode dapat dikompilasi dan dijalankan serta mencetak int. B. Kode dapat dikompilasi dan dijalankan serta mencetak long. C. Kode tidak dapat dikompilasi.
D. Kode dapat dikompilasi dan mengaktifkan sebuah runtime exception ketika dijalankan. 23. Pernyataan apa yang harus menggantikan XXXXX pada program di bawah ini supaya keluaran
program adalah "good" ?
public class Parent{ public Parent(){
System.out.println( "good"); }
public Parent( int j){
System.out.println( "bad"); }
}
public class Example extends Parent {
public static void main( String [] args) { new Example(); } public Example(){ XXXXX } } A. this() B. super C. Parent() D. Biarkan kosong.
24. Apa yang akan terjadi jika Anda mencoba mengkompilasi dan menjalankan program berikut ii ? public class MySuper {
public MySuper(){
System.out.println( "MySuper"); }
}
public class MySub extends MySuper{
public static void main( String [] args){ new MySub(); } public MySub(){ System.out.println( "MySub"); } }
A. Program dapat dikompilasi dan dijalankan serta menampilkan keluaran MySub. B. Program dapat dikompilasi dan dijalankan serta menampilkan keluaran MySuper . C. Program tidak dapat dikompilasi.
D. Program dapat dikompilasi dan dijalankan serta menampilkan keluaran MySuper danMySub.
25.
Apa yang terjadi jika program berikut ini dikompilasi dan dijalankan ? public class A {public static void main( String [] args) { new A().baz( 1, 2);
}
private void baz( int a, int b){ System.out.println( "baz"); }
19
private void foo( int a, int b) { System.out.println( "first"); }
private void foo( int a, int b){ System.out.println( "second"); }
}
A. Program dapat dikompilasi dan dijalankan serta menampilkan keluaran first . B. Program dapat dikompilasi dan dijalankan serta menampilkan keluaran second . C. Program dapat dikompilasi dan dijalankan serta menampilkan keluaran baz . D. Program tidak dapat dikompilasi.
26. File apa yang akan dihasilkan ketika Anda mengkompilasi kode program berikut ini ? import java.util.HashMap;
public class Foo {
public static class Week {
public HashMap getMap() { return new HashMap() {
public HashMap(int size) {}
public Object put(Object key, Object value) {} };
} }
}
A. Program di atas tidak dapat dikompilasi.
B. Foo.class, Foo$HashMap.class, Foo$Week.class C. Foo.class, Foo$Week$1.class, Foo$Week.class
D. Foo.class, Foo$Week.class, Foo$Week$HashMap.class
27. Nilai apa yang akan dikembalikan oleh metod getValue() pada program berikut ini ? public class Foo {
protected int x = 3; private int y = 5; private class Bar {
private int x = 8; public Bar() {
Foo.this.x = y; }
public int getValue() { return x*y; }
}
public int getValue() {
return (new Bar()).getValue(); }
public static void main(String[] args) {
System.err.println((new Foo()).getValue()); } } A. 15 B. 24 C. 25 D. 40
19
public class Foo {int a = 10; int c = 30;
public Runnable getRunnable() { int a = 20;
return new Thread() {
public void run() { int b = a+c; } }; } } A. 30 B. 40 C. 50
D. Program di atas tidak dapat dikompilasi
29. Keluaran apa yang akan dihasilkan dari program berikut ini.
public class WaitTest{
public static void main(String[] args){ System.out.print("1 "); synchronized(args){ System.out.print("2 "); try{ args.wait(); }catch(InterruptedException e){} } System.out.print("3 "); } }
A. Program tidak dapat dikompilasi karena IllegalMonitorStateException pada metodwait(). B. Dapat dikompilasi dan dijalankan dengan keluaran : 1 2 3.
C. Dapat dikompilasi dan dijalankan dengan keluaran : 1 3. D. Dapat dikompilasi dan dijalankan dengan keluaran : 1 2.
E.Dapat dikompilasi, dan pada saat run time program akan mengaktifkan eksepsi IllegalMonitorStateException ketika menjalankan metod wait().
F. Program tidak dapat dikompilasi karena program harus disinkronisasi dengan obyek terkait.
30.
Manakah pernyataan di bawah ini yang akan mencegah masalah concurrent access ? (Pilih 2 jawaban). A. public int read(int a, int b){return a+b;}public void set(int a, int b){this.a=a;this.b=b;}
B. public synchronized int read(int a, int b){return a+b;}
public synchronized void set(int a, int b){this.a=a;this.b=b;}
C. public int read(int a, int b){synchronized(a){return a+b;}}
public void set(int a, int b){synchronized(a){this.a=a;this.b=b;}}
D. public int read(int a, int b){synchronized(a){return a+b;}}
public void set(int a, int b){synchronized(b){this.a=a;this.b=b;}}
E. public synchronized(this) int read(int a, int b){return a+b;}
public synchronized(this) void set(int a, int b){this.a=a;this.b=b;}
F. public int read(int a, int b){synchronized(this){return a+b;}}
public void set(int a, int b){synchronized(this){this.a=a;this.b=b;}}
31.
Keluaran apa yang akan dihasilkan dari Thread berikut ini ?public class MyThread extends Thread{ public void run(){
try{ for(int i=1;i<5;i++){ System.out.print(i+" "); If(i>2) interrupt(); sleep(1000); If(interrupted()) break;
19
} }catch(InterruptedException e){ System.out.print("caught "); } } } A. 1 B. 1 2 C. 1 2 3 D. 1 caught E.1 2 caught F. 1 2 3 caught32.
Keluaran apa yang akan dihasilkan dari program berikut ini ? public class ThreadTest extends Thread{public static void main(String[] args){ new ThreadTest(1);
new ThreadTest(2);
System.out.println("main "); }
private int val;
private ThreadTest(int val){ this.val=val;
start(); }
public void run(){
System.out.print(val+" "); } } A. 1 2 main B. 2 1 main C. main 1 2 D. main 2 1 E.1 main 2
F. Kemungkinan besar Jawaban A sampai E benar 33. Calling Math.ceil(-5.5) results in which value?
A. -5.5 B. -5.0 C. -6.0 D. -4.0
34.
Argumen makanakah yang jika diterapkan fungsi rounddanfloorakan menghasilkan nilai yang sama? (pilih lebih dari satu jawaban jika memungkinkan !)A. -1.3 B. 0.4 C. 6.2 D. -2.7 E.100
35.
Apa yang akan terjadi jika Anda mencoba mengkompilasi dan menjalankan program berikut ? public class FloorExample {public static void main(String args[]) { double values[] = {-2.3, -1.0, 0.25, 4}; int cnt = 0;
for (int i = 0; i < values.length; i++) {
if (Math.floor(values[i]) == Math.ceil(values[i])) ++cnt; }
System.out.println("The results are the same " + cnt + " time(s)"); }
}
19
B. The results are the same 2 time(s)C. The results are the same 4 time(s)
D. Compiler error pada baris ke enam
36.
Manakah antarmuka listener berikut yang memeliki keterkaitan dengan kelas Adapter ? (Pilih 2 jawaban !) A. KeyListener B. ItemListener C. MouseListener D. ActionListener E. TextListener37. Keluaran apa yang dihasilkan dari program berikut ini ? public class Test {
public static void main(String args[]) { String a = "Java is great."; String b = a.toString(); if (a==b) {
System.out.println("A is the same as B"); } else {
System.out.println("A is not the same as B"); }
if (a.equals(b)) {
System.out.println("A equals B"); } else {
System.out.println("A does not equal B"); }
} }
A. A is the same as B A equals B
B. A is not the same as B A equals B
C. A is the same as B A does not equal B
D. A is not the same as B A does not equal B
38.
Manakah deklarasi Stream berikut yang benar ? (Pilih 2 jawaban) A. FileInputStream FIS = new FileInputStream("test.txt"); B. File file = new File("test.txt");FileInputStream FIS = new FileInputStream(file); C. File file = new File("c:\\");
File file1 = new File(file,"test.txt");
FileOutputStream FOS = new FileOutputStream(file1);
D. FileInputStream FIS = new FileInputStream("c:\\","test.txt"); 39. Keluaran apa yang akan dihasilkan dari program berikut ini.
import java.util.*; class Inventors {
public static void main (String [] args) { Set dir = new TreeSet();
dir.put("Jon G.", "555-5553"); dir.put("Al E.", "555-1978"); dir.put("Tom E.", "555-1330"); dir.put("Jimmy W.", "555-7165"); System.out.println(dir); } }
19
A. {Al E.=555-1978, Jimmy W.=555-7165, Jon G.=555-5553, Tom E.=555-1330}B. { Jon G.=555-5553, Al E.=555-1978, Tom E.=555-1330, Jimmy W.=555-7165} C. Program tidak dapat dikompilasi karena baris keempat error.
D. Program tidak dapat dikompilasi karena baris kelima sampai kedelapan error. E.Ada baris lain yang menyebabkan program gagal dikompilasi.
40.
Manakah pernyataan berikut ini yang digunakan untuk menerbitkan sebuah server menggunakan koneksisocket ? (Pilih 2 jawaban)A. ServerSocket s = new ServerSocket(5432); B. ServerSocket s = new ServerSocket(5000,100); C.SocketServer s = new SocketServer(5432); D. SocketServer s = new SocketServer(5000,100);
E.ServerSocket s = new ServerSocket(“192.168.0.1”,100); F.SocketServer s = new SocketServer(“192.168.0.1”,100);