Soal Uas Pbo 2014 Key PDF
Soal Uas Pbo 2014 Key PDF
Di bawah ini terdapat beberapa contoh pendeklarasian nilai default dari elemen array untuk
masing-masing tipenya pada bahasa pemrograman Java :
1. int -> 0
a. 1, 2, 3, 4
b. 2, 4, 5, 6
c. 1, 3, 4, 5
d. 3, 4, 5, 6
Alasan : nomor 2 salah, karena default dari String adalah null tanpa kutip dan default dari
boolean pada nomor 6 adalah false.
2. Di bawah ini adalah list keyword yang hanya ada di Bahasa pemrograman Java :
3. Sintak bahasa pemrograman Java yang benar untuk mendeklarasikan, mengkonstruksi dan
menginisialisasi sebuah array adalah :
Answered by Irma Elita, sorry if there are any wrong answers Page 1
4. Exception in thread “main” java.lang.NoClassDefFoundError;
HelloWorldApp.java.
a. Float
b. Interface
c. Subclasses
d. Unsigned
6. Pada tahun 1991 tim dari Sun Microsystem mengembangkan “OAK”, pemrograman berbasis
obyek, yang kemudian diganti menjadi JAVA. Yang tidak termasuk dari tim adalah :
a. Rasmus Lerdorf
b. James Gosling
c. Mike Sheridan
d. Patrick Naughton
Int k = 4; /* PBO */
Answered by Irma Elita, sorry if there are any wrong answers Page 2
Yaitu :
a. 1, 5, 6
b. 2, 3, 4
c. 2, 4, 5
d. 1, 2, 3
8. Di bawah ini adalah pendeklarasian char yang salah pada bahasa pemrograman Java
Kecuali :
a. 1, 2, 4
b. 3, 5
c. 1, 3, 6
d. Hanya 5
Alasan : nomor 1 benar karena 064770 merupakan representasi bilangan octal dari 27128,
nomor 3 benar karena 0xbeef merupakan representasi bilangan heksadesimal dari 48879 dan
\uface merupakan Unicode dari huruf kanji. Nomor 2 salah karena karakter tidak bisa lebih
dari satu huruf dan nomor 5 tidak ada Unicode yang diawali dengan \i.
9. Saat mengkompilasi program yang ditulis dalam bahasa Java, compiler akan mengconvert file
sumber ke dalam kode platform-independent yang Java Virtual Machine (JVM) akan mengerti,
apakah kode platform-independent yang dimaksud :
a. JIT
b. Bytecode
c. JPL
d. JavaFX
Answered by Irma Elita, sorry if there are any wrong answers Page 3
10. Penulisan komentar yang JavaDoc secara otomatis akan mendokumentasikan secara otomatis
dari sumber program adalah :
a. /* text */
b. /** text/
c. //text
d. /text/
a. class HelloWorldApp
d. System.out.println(“Hello World!”)
a. e
b. i
c. g
d. r
Answered by Irma Elita, sorry if there are any wrong answers Page 4
13. class UnaryDemo {
// result is now 1
System.out.println(result);
// result is now 0
result--;
System.out.println(result);
// result is now 1
result++;
System.out.println(result);
// result is now -1
result = -result;
Sytem.out.println(result); } }
a. 1 0 1 -1
b. 0 -1 0 0
c. 0
-1
d. 1
-1
Answered by Irma Elita, sorry if there are any wrong answers Page 5
14. Pendeklarasian boolean yang benar adalah :
a. boolean b3 = false;
b. boolean b1 = 0;
c. boolean b2 = ‘false’;
d. boolean b5 = no;
15. Java dibuat karena ada beberapa kelemahan pada pemrograman C++, kelemahan-kelemahan itu
adalah :
a. C++ menggunakan if … then … go to, yang membuat struktur program tidak jelas
b. Pada C++ tidak mungkin membuat variabel global di luar semua class
a. 1nama
b. native
c. nama mobil
d. Mobil_baru
a. float
b. double
c. longint
d. short
Answered by Irma Elita, sorry if there are any wrong answers Page 6
18. public class CommandArgsThree {
int x;
argCopy[0] = args;
x = argCopy[0].length;
System.out.print(“ “ + argCopy*0+*y+); } } }
>java CommandArgsThree 1 2 3
adalah :
a. 0 0 0
b. 1 2 3
c. 1 2
d. 1
Alasan : argCopy dideklarasikan sebagai array dengan 2 dimensi pada statement String [][]
argCopy = new String[2][2]; yang artinya hanya bisa diisi oleh 2 elemen
Akan tetapi dengan adanya statement argCopy[0] = args, pada dimensi ke-0 ditambahkan satu
elemen yang dapat memuat satu memori lagi. Sehingga menjadi array dengan 3 elemen.
Karena nilai x adalah panjang elemen dari argCopy[0] yaitu 3, maka perulangan y akan diulang
sebanyak 3 kali.
y = 0 argCopy[0][y] argCopy[0][0] = 1
y = 1 argCopy[0][y] argCopy[0][1] = 2
y = 3 argCopy[0][y] argCopy[0][2] = 3
Answered by Irma Elita, sorry if there are any wrong answers Page 7
19. public class X {
names[x] = args[x];
System.out.println(names[2]); }
>java X a b
adalah :
a. names
b. null
c. compilation fails
d. 0
Alasan :
String[][] nama = {
,“Max”,”Nadine”-
};
System.out.println(names[0][0] + names[1][0]);
System.out.println(names[0][2] + names[1][1]); }
Answered by Irma Elita, sorry if there are any wrong answers Page 8
Output dari potongan program di atas adalah :
a. Mr. Nadine
Mrs. Nadine
b. Mr. Max
Ms. Nadine
c. Mr. Max
Mrs. Nadine
d. Mr. Max
Mr. Nadine
Alasan :
21. switch(x) {
default:
System.out.println(“Hello”); }
a. long
b. float
c. char
d. short
a. x % y
b. x * y
c. x++
d. x += y
Answered by Irma Elita, sorry if there are any wrong answers Page 9
23. int i = 1, j = 10;
do {
If (i > j) { break; }
j--;
a. i = 6 dan j = 5
b. i = 6 dan j = 4
c. i = 5 dan j = 5
Mungkin salah satu dari jawaban
d. i = 5 dan j = 5 ini 5 dan 6
Alasan :
i = 0, j = 10
i=1
i = 2, j = 9
i=2
i = 3, j = 8
i=3
i = 4, j = 7
i=4
i = 5, j = 6
Answered by Irma Elita, sorry if there are any wrong answers Page 10
24. class ArrayCopyDemo {
char*+ copyFrom = ,‘d’, ’e’, ’c’, ’a’, ’f’, ’f’, ’e’, ’I’, ’n’, ’a’, ’t’, ’e’, ’d’-;
System.out.println(new String(copyTo));
a. decaff
b. ecaffei
c. detanief
d. caffein
Alasan :
Maksud dari statement di atas, mulai lakukan copy dari variabel array copyFrom ke-2
Copy karakter ke variabel copyTo dimulai dari array ke-0 diambil sebanyak 7 karakter
Answered by Irma Elita, sorry if there are any wrong answers Page 11
25. int I = 0;
outer :
while(true) {
I++;
inner:
I += j;
If (j == 3)
continue inner;
break outer;
} continue outer;
} System.out.println(I);
a. 4
b. 3
c. 2
d. 1
Alasan :
Karena j = 0 tidak memenuhi kondisi j == 3, maka statement continue inner tidak dilakukan,
melainkan statement break outer lah yang dijalankan. Statement break outer adalah
menghentikan statement dari label outer. Maka tercetaklah nilai I sebesar 1.
Answered by Irma Elita, sorry if there are any wrong answers Page 12
26. public class Delta {
System.out.print(c);
return true; }
int i = 0;
i++;
foo(‘D’); } } }
a. ABDCBDCB
b. ABCDABCD
c. ABCABCAB
d. ABCDDCBA
Alasan :
Perulangan dimulai dari pemanggilan method foo dengan karakter A sebagai nilai dari
variabel c.
Maka tercetak A.
Selanjutnya pemanggilan method foo dengan karakter B dijalankan karena merupakan syarat
dari perulangan dan karakter B sebagai nilai dari variabel c.
Maka tercetak B.
Syarat kedua perulangan adalah nilai i kurang dari 2, karena sekarang nilai i = 0 maka
perulangan dilakukan.
Selanjutnya karena kondisi terpenuhi maka statement di dalam perulangan dijalankan, yatu
menambah nilai pada i. i++ i = 0 + 1 = 1.
Dan pemanggilan method foo dengan karakter D sebagai nilai dari variabel c.
Maka tercetak D.
Answered by Irma Elita, sorry if there are any wrong answers Page 13
Kemudian diakhir perulangan dilakukan pemanggilan method foo dengan karakter C sebagai
nilai dari variabel c.
Maka tercetak C.
Kemudian dilakukan lagi syarat pertama perulangan tersebut yaitu memanggil method foo
berkarakter B.
Maka tercetak B.
Kemudian syarat kedua i < 2, karena i bernilai 1 maka kondisi perulangan terpenuhi dan
menjalankan statement di dalam perulangan.
Maka tercetak D.
Maka tercetak C.
Kemudian dilakukan lagi syarat pertama memanggil method foo berkarakter B, syarat ini
masih terpenuhi karena masih syarat pertama, kecuali jika syarat pertama adalah i < 2.
Maka tercetak B.
int n = i++%5;
a. 11 dan 0
b. 10 dan 0
c. 11 dan 1
d. 10 dan 1
Alasan :
Answered by Irma Elita, sorry if there are any wrong answers Page 14
28. class Test {
int x = 20;
System.out.println(sup); }
a. 20
b. huge
c. small
d. tiny
int x = 0;
int y = 0l
x++; }
} System.out.println(x + “ “ + y); } }
a. 5 4
b. 5 3
c. 6 2
d. 6 3
Answered by Irma Elita, sorry if there are any wrong answers Page 15
Alasan :
x = 0, y = 0, z = 0
x = 1, y = 0, z = 1
x = 2, y = 0, z = 2
x = 3, y = 1 , z = 3
x = 4, y = 2 , z = 4
x = 6, y = 3 , z = 5
30. Aplikasi sederhana yang ditulis dalam bahasa C untuk mengeksekusi program yang ditulis dalam
bahasa Java adalah :
a. JavaFX
b. Assembler
c. JVM
d. JIT
Answered by Irma Elita, sorry if there are any wrong answers Page 16
31. public class ujianPBO {
public int y = 3; }
a. ujianPBO
b. Y
c. X
int x = 11 & 9;
int y = x ^ 3;
System.out.println(y | 12);
a. 0
b. 7
c. 8
d. 14
Alasan :
Answered by Irma Elita, sorry if there are any wrong answers Page 17
Angka 11 dalam binary adalah 1011
Lakukan operasi & (AND) pada angka 11 dan 9 dimana akan bernilai true (1) jika kedua kondisi
adalah true (1)
𝟏𝟎𝟎𝟏
𝟏𝟎𝟎𝟏
AND Maka nilai x adalah 1001 atau 9 dalam decimal.
𝟏𝟎𝟎𝟏
Lakukan operasi ^ (XOR) dimana bernilai true (1) jika salah satu dari dua kondisi bernilai true
(1)
𝟏𝟎𝟎𝟏
𝟎𝟎𝟏𝟏
XOR Maka nilai y adalah 1010 atau 10 dalam decimal.
𝟏𝟎𝟏𝟎
Lakukan operasi | (OR) dimana bernilai true (1) jika setidaknya satu dari dua kondisi bernilai
true (1)
𝟏𝟎𝟏𝟎
𝟏𝟏𝟎𝟎
XOR Maka nilai y adalah 1110 atau 14 dalam decimal.
𝟏𝟏𝟏𝟎
33. Blueprint atau prototype dari object yang akan dibuat adalah :
a. Inheritance
b. Class
c. Interface
d. Package
Answered by Irma Elita, sorry if there are any wrong answers Page 18
34.
1 2 3
Pada bahasa pemrograman Java, pertama file source ditulis dalam bentuk file plain text 1 yang
akan dicompile menjadi file 2 oleh java compiler. Lalu aplikasi 3 akan dijalankan oleh Java VM,
file extention yang benar untuk file 1 adalah :
a. .class
b. .exe
c. .dat
d. .java
35. for ( ; ; ) { }
a. Undefined loop
b. Inheritance loop
c. Infinite loop
d. Finite loop
36. The Swing dan Java2D toolkits dapat digunakan untuk GUI yang canggih pada pemrograman
JAVA, The Swing dan Java2D toolkits termasuk :
a. Integration Library
b. JIT Compiler
Answered by Irma Elita, sorry if there are any wrong answers Page 19
37. \b dan \n melambangkan karakter Unicode di Java yang artinya :
a. Karakter b dan n
a. Jika nilai kondisi benar maka hasil = Nilai1 dibagi Nilai2, jika tidak maka hasil = 0
b. Jika nilai kondisi benar maka hasil = Nilai1, jika tidak maka hasil = Nilai2
c. Jika nilai kondisi benar maka hasil = Nilai1 ditambah Nilai2, jika tidak maka hasil = Nilai1
d. Jika nilai kondisi benar maka hasil = Nilai1 ditambah Nilai2, jika tidak maka hasil = Nilai2
39. …
mahasiswa[0] = mahasiswaNama;
mahasiswaNama = null;
Potongan program di atas membuat 1 array dan 1 string object, ada berapa referensi dari
masing-masing objek setelah program dijalankan :
a. Ada 10 referensi untuk array mahasiswa dan array tersebut mempunyai 0 referensi
untuk Ahmad Dani
b. Ada 1 referensi untuk array mahasiswa dan array tersebut mempunyai 1 referensi
untuk Ahmad Dani
c. Ada 0 referensi untuk array mahasiswa dan array tersebut mempunyai 0 referensi untuk
Ahmad Dani XML
d. Ada 10 referensi untuk array mahasiswa dan array tersebut mempunyai 1 referensi
untuk Ahmad Dani
Answered by Irma Elita, sorry if there are any wrong answers Page 20
40. …
mahasiswa[0] = mahasiswaNama;
mahasiswaNama = null;
c. Tidak ada
d. Keduanya
a. notify()
b. wait()
c. terminate()
d. run()
Answered by Irma Elita, sorry if there are any wrong answers Page 21
43. public class ClassA {
Dari dua class di atas, method mana yang menimpa method di superclass dan method mana
yang menyembunyikan method di superclass :
Answered by Irma Elita, sorry if there are any wrong answers Page 22
44. Meskipun Java didesain untuk diinterpretasi, secara teknis tidak ada yang menghalangi Java
untuk dikompilasi menjadi bahasa mesin seperti bahasa-bahasa pemrograman lainnya. Sun
menyediakan kompiler khusus untuk mengkompilasi kode byte itu menjadi bahasa mesinnya
pada saat yang bersamaan dengan eksekusinya, yaitu :
a. JIT
b. JVM
c. JavaFX
d. API
45.
Dalam program Java dikenal inheritance, seperti gambar di atas, cara penulisan inheritance di
atas adalah :
a. class A extends B
b. class A intends B
c. class B instanceof A
d. class B extends A
Answered by Irma Elita, sorry if there are any wrong answers Page 23
46. Pada C++ pengalokasian memori menggunakan fungsi library malloc() dan free {}.
b. Fungsi free() mengirimkan blok yang telah dialokasikan kepada sistem untuk
penggunaan umum
c. Fungsi malloc() mengeluarkan address blok dari memori yang sudah dialokasikan
if (aNomor == 0)
System.out.println(“string satu”);
else
System.out.println(“string dua”);
a. string satu
string dua
b. string satu
string tiga
c. string dua
string tiga
d. string tiga
Answered by Irma Elita, sorry if there are any wrong answers Page 24
48. % echo $CLASSPATH
49. Perintah untuk membuat classpath yang paling tepat di UNIX adalah :
c. % echo $CLASSPATH
50. Perintah untuk menghapus classpath yang paling tepat di windows adalah :
d. % echo $CLASSPATH
Answered by Irma Elita, sorry if there are any wrong answers Page 25