Anda di halaman 1dari 19

JAVA TEST

IT Telkom Bandung
2010

Waktu Pengerjaan : Sabtu 18 Desember 2010 jam 09.00 – 12.00


Sifat : Tutup Buku, Buka Komputer/Laptop (Hanya boleh buka Ms Word), dan Tutup Internet.
Nilai Lulus Minimum : 50% jawaban benar

I. Soal Tes Kompetensi Teori Fundamentals Java Progamming

1. 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");
}
}

Jika Anda berusaha untuk mengkompilasi program tersebut, apa yang akan terjadi ?
A. Program dapat dikompilasi, tetapi menghasilkan sebuah intrepeter error ketika dieksekusi.
B. Program dapat dikompilasi dan menghasilkan output 'date is null' pada layar.
C. Program tidak dapat dikompilasi dan memberikan sebuah compiler error.
D. pernyataan A, B, C salah.

2. Manakah di bawah ini daftar Java Keywords saja ?


A. class, Thread, void, long, if, continue
B. goto, instanceof, native, finally, default, throws
C. try, false, throw, final, volatile, transient
D. true, throws, super, implements, do

3. Perhatikan kode program berikut ini.


public class CheckDefault {
private static boolean test;
public static void showTest() {
System.out.println(test);
}
}

Jika anda memanggil metod statik showTest(), Apa yang akan terjadi ?
A. true
B. false
C. null
D. Kelas tidak dapat dikompilasi

4. Berapa nilai desimal dari dua literal number 0x001B and 033 ?
A. 21 and 33
B. 21 and 27
C. 27 and 33
D. 33 and 33
E. 27 and 27

5. Manakah definisi kelas berikut ini yang benar ? (pilih 2 jawaban)


A. private class A {}
B. class B {}
C. public class C {}
D. protected class Class {}

6. Keluaran apa yang akan dihasilkan dari program berikut ?


class TestServer {
final int users = 20;
public TestServer() {
int users = this.users * 10;
} 1

public static void main(String [] args){


System.out.println("Variable users = " + users);
}
}

JAVA | Java Developer Developing Program


JAVA TEST
IT Telkom Bandung
2010

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)); 19
System.out.print(java.equals("Ja"+va));
}
}

JDDP | Java Developer Developing Program


JAVA TEST
IT Telkom Bandung
2010

A. truetruetruetrue
B. truefalsefalsetrue
C. truetruefalsetrue
D. truefalsefalsefalse

11. 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
D. Kelas tidak dapat dikompilasi.

19

JDDP | Java Developer Developing Program


JAVA TEST
IT Telkom Bandung
2010

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 ;

JDDP | Java Developer Developing Program


JAVA TEST
IT Telkom Bandung
2010

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 19
E. sizeof

JDDP | Java Developer Developing Program


JAVA TEST
IT Telkom Bandung
2010

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);
}
}
19
A. 12
B. 012
C. 10
D. 10.0

JDDP | Java Developer Developing Program


JAVA TEST
IT Telkom Bandung
2010

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 ?


19
A. example
B. 2sumup
C. its4u
D. $money
E. _nama2

JDDP | Java Developer Developing Program


JAVA TEST
IT Telkom Bandung
2010

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); 19


B. int [] a = {23, 22, 21, 20, 19};
C. int [] array;
D. int array [] = new int[5];
E. int a [] = new int(5);

JDDP | Java Developer Developing Program


JAVA TEST
IT Telkom Bandung
2010

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; 19
import payroll.UserConnection;

class ServerConnection extends UserConnection{


public final int MAXCONNECTIONS = MAXUSERS * 10;
}

JDDP | Java Developer Developing Program


JAVA TEST
IT Telkom Bandung
2010

Apa yang terjadi jika kedua kelas ini dikompilasi dan dijalankan ?

A. File dengan kelas UserConnection 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
D. Program dapat dikompilasi, tetapi tidak dapat dijalankan.

JDDP | Java Developer Developing Program


JAVA TEST
IT Telkom Bandung
2010

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

JDDP | Java Developer Developing Program


JAVA TEST
IT Telkom Bandung
2010

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. Initialization
B. Condition
C. Increment
D. Tidak ada.

17. Tipe ekspresi apa yang dapat diterapkan dalam pernyataan switch ? (pilih 2 jawaban !)

A. int
B. 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 ");
try {
19
System.out.println("Hello world");
throw new FileNotFoundException();
}System.out.println(" Catch Here ");
catch(EOFException e) {

JDDP | Java Developer Developing Program


JAVA TEST
IT Telkom Bandung
2010
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 pemanggilan System.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");
}
}

JDDP | Java Developer Developing Program


JAVA TEST
IT Telkom Bandung
2010

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 dan MySub.

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");
}

private void foo( int a, int b) { 19


System.out.println( "first");
}

private void foo( int a, int b){


System.out.println( "second");

JDDP | Java Developer Developing Program


JAVA TEST
IT Telkom Bandung
2010
}
}

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

28. Berapa nilai b yang dihasilkan dari program berikut ini ?

public class Foo { 19


int a = 10;
int c = 30;
public Runnable getRunnable() {
int a = 20;
return new Thread() {

JDDP | Java Developer Developing Program


JAVA TEST
IT Telkom Bandung
2010
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 metod wait().


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;
}
}catch(InterruptedException e){ 19
System.out.print("caught ");
}
}
}
A. 1

JDDP | Java Developer Developing Program


JAVA TEST
IT Telkom Bandung
2010

B. 1 2
C. 1 2 3
D. 1 caught
E. 1 2 caught
F. 1 2 3 caught

32. 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 round dan floor akan 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)");
}
}

A. The results are the same 0 time(s)


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
19
36. Manakah antarmuka listener berikut yang memeliki keterkaitan dengan kelas Adapter ? (Pilih 2
jawaban !)
A. KeyListener

JDDP | Java Developer Developing Program


JAVA TEST
IT Telkom Bandung
2010

B. ItemListener
C. MouseListener
D. ActionListener
E. TextListener

37. 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);
}
}

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. 19
E. Ada baris lain yang menyebabkan program gagal dikompilasi.

40. Manakah pernyataan berikut ini yang digunakan untuk menerbitkan sebuah server menggunakan
koneksi socket ? (Pilih 2 jawaban)

JDDP | Java Developer Developing Program


JAVA TEST
IT Telkom Bandung
2010

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);

Nama :

NIM :

Adalah benar yang mengerjakan soal tes di atas secara mandiri dan sejujur-jujurnya sesuai aturan yang
ditetapkan perusahaan.

19

JDDP | Java Developer Developing Program

Anda mungkin juga menyukai