Salah satu karakteristik dari objek adalah adanya state. Yang dimaksud
dengan state adalah....
a. Komponen yang menentukan bagian kelas yang dapat diakses
b. Komponen yang menentukan bagaimana penggunaan atribut dan
method dari kelas
c. Komponen yang digunakan untuk mengakses komponen kelas lain
d. Sekumpulan atribut dan nilai dari atribut tersebut
e. Komponen yang menggambarkan bagaimana objek berinteraksi satu
sama lain
Polimorfisme
Asosiasi
Agregasi
Inheritance
Interface
class UAS2{
public static void main(String args[]){
int[] arr={5,4,3};
int a=5;
System.out.println(a/a-a);
System.out.println(arr[5]);
System.out.println("UAS PBO yang menyenangkan :)");
}
}
Jika Kode tersebut dijalankan, apakah keluaran dari program tersebut
a. Melemparkan ArithmeticException
b. Mengeluarkan ArrayIndexOutOfBoundsException
c. Melemparkan sebuah ArithmeticException dan
ArrayIndexOutOfBoundsException
d. mencetak nilai -4 kemudian Mengeluarkan
ArrayIndexOutOfBoundsException
e. Program gagal dikompilasi
class Mahasiswa {
private String nim, nama;
public Mahasiswa(String nim, String nama) {
this.nim = nim;
this.nama = nama;
}
public String getNim() {
return (nim);}
public String getNama() {
return (nama); }
}
class Jurusan {
private String kodeJurusan, namaJurusan;
private Mahasiswa[] daftar = new Mahasiswa[10];
private int jml;
public Jurusan(String kodeJurusan, String namaJurusan) {
this.kodeJurusan = kodeJurusan;
this.namaJurusan = namaJurusan;
this.jml=0;
}
public void addMahasiswa(Mahasiswa m) {
this.daftar[jml] = m;
}
/*method dibawah ini digunakan untuk menampilkan seluruh data
mahasiswa dalam sebuah jurusan*/
public void displayMahasiswa() {
for (int i=0;i<=jml;i++)
System.out.println(daftar[i].getNim()
+"\t"+daftar[i].getNama());
}
}
class UAS4 {
public static void main(String args[]) {
Jurusan j = new Jurusan("IS", "Information System");
Mahasiswa m1 = new Mahasiswa("30109000", "Alessandro del
Caprio");
Mahasiswa m2 = new Mahasiswa("30109999", "Leonardo di Piero");
j.addMahasiswa(m1);
j.addMahasiswa(m2);
j.displayMahasiswa();
}
}
Jenis hubungan client dan supplier yang tepat dari source code di atas adalah?
a.
b.
c.
d.
e.
6
Asosiasi
Agregasi
Komposisi
Inheritance
Polimorfisme
agar hasil yang didapat sesuai dengan yang diinginkan pada method
displayMahasiswa(), apakah yang harus dilakukan
a. Ubah isi method addMahasiswa menjadi
{
++jml;
this.daftar[jml] = m; }
b. Ubah isi method addMahasiswa menjadi
{
this.daftar[jml] = m;
++jml;
}
c. ubah perulangan didalam method displayMahasiswa menjadi
for (int i=0;i<=jml;i++)
d. pada konstruktor kelas jurusan, ubah this.jml=0; menjadi this.jml=10;
e. Ganti public void displayMahasiswa() menjadi private void
displayMahasiswa();
class UAS5{
public static void main(String[] args) {
try {
RandomAccessFile rac = new
RandomAccessFile("rac.xyz","r");
int posisi=25;
rac.seek(posisi);
int a;
while ((a=rac.read())!=-1)
System.out.print((char)a);
}
}
};
Jika isi dari file rac.xyz adalah "Pemrograman Berorientasi Obyek",
Apakah keluaran dari kode program diatas?
a. Error karena output dari method read() berbentuk karakter, oleh
karena itu tidak bisa dimasukkan kedalam variabel a yang bertipe
integer
b. Error karena file yang dibaca berekstensi .xyz, JAVA tidak mengenali
ekstensi file tersebut
c. graman Berorientasi Obyek
d. Pemrograman Berorientasi
e. Obyek
9
Mana dari syntaks di bawah ini menyebabkan kesalahan (error) pada saat
kompilasi?
a.
b.
c.
d.
e.
1
0
1
1
1
2
float[] f1
float[] f2
float f3[]
float f4[]
float f5[]
=
=
=
=
=
new float[1];
null;
new float[];
new float[] {1.0f, 2.0f, 3.0f};
{1.0f, 2.0f, 2.0f};
Program Java:
public interface Foo {
int k = 4;
}
Pada statement berikut ini, manakah yang ekuivalen dengan baris perintah
no.2 (int k = 4;) ?
a. private int k = 4;
b. protected int k = 4;
c. static int k = 4;
d. abstract int k = 4;
e. final int k = 4;
Fungsi public static void main(String[] args) dalam Java adalah untuk?
a. keperluan pewarisan jamak
b. Sebagai penanda bahwa program tersebut menggunakan bahasa
pemrograman JAVA
c. keperluan pewarisan
d. penanda bagian pertama yang akan dijalankan oleh Java
e. instansiasi obyek
Penggalan program java sbb:
int f = 1;
switch (f) {
case 1 : System.out.println("Pemrograman");
case 2 : System.out.println("Berorientasi");
case 3 : System.out.println("Obyek");
default : System.out.println("Sangat Menyenangkan");
}
Output yang dihasilkan adalah?
a. Pemrograman
Berorientasi
Obyek
b.
c.
d.
e.
1
3
Pemrograman
Error saat Kompilasi
Sangat Menyenangkan
Pemrograman
Berorientasi
Obyek
Sangat Menyenangkan
class A{
static String getPass()
{
return "Java is Fun!";
}
}
class Test{
public void display() {
System.out.println(A.getPass());
System.out.println("itu pasti!");
}
}
class UAS9{
public static void main(String[] args) {
Test t=new Test();
t.display();
}
};
Apakah keluaran dari program diatas?
a. Error saat kompilasi, karena method getPass tidak dapat dipanggil
secara langsung. Harus dilakukan proses instantiasi terhadap kelas A
terlebih dahulu
b. Java is Fun!
Itu pasti!
c. Error saat Kompilasi, karena method A static, jadi tidak bisa dipanggil
dari luar kelas tersebut
d. Error saat kompilasi karena pemanggilan method A tidak dilakukan
dalam blok try catch finally
e. Itu Pasti!
1
4
1
5
interface Pegawai terdiri dari dua method yaitu setGaji dan getGaji.
abstract class PegawaiTetap, hanya memiliki dua method yaitu: abstract
method setGajiLembur dan abstract method getTotalGaji.
abstract class PegawaiTetap mengimplementasikan interface Pegawai.
class PegawaiAdministrasi merupakan turunan dari abstract class
PegawaiTetap.
1
6
class Pegawai
{
private String idPegawai;
protected String namePegawai;
public void setIdPegawai() { .. }
void setNamePegawai() { .. }
}
Manakah pernyataan yang tepat mengenai kode diatas?
a. class Pegawai tidak dapat diakses dari kelas lain
b. variable idPegawai dapat diakses oleh kelas lain yang berada dalam
satu package
c. variable namePegawai dapat diakses dari kelas lain dalam package
yang berbeda
d. method setIdPegawai dapat diakses dari kelas lain dalam package
yang berbeda
e. method setNamePegawai tidak dapat diakses dari kelas lain dalam
package yang sama
1
7
1
8
a.
b.
c.
d.
d. *****
1
9
c. *
**
***
****
*****
class Karyawan{
String ID, name, jabatan;
void setdata(String ID,String name){
this.ID=ID;
this.name=name;
}
void setJabatan() {
jabatan="Karyawan";
}
void show(){
System.out.println("ID Pegawai \t: "+ID);
System.out.println("Nama Pegawai \t: "+name);
System.out.println("Jabatan \t: "+jabatan);
}
};
class Faculty extends Karyawan {
void setJabatan(){
jabatan="Faculty";
}
public static void main(String[] args) {
Faculty fac=new Faculty();
fac.setdata("F001","Robert");
fac.setJabatan();
fac.show();
}
}
Keluaran dari kode program diatas adalah :
a. ID Pegawai
: F001
Nama Pegawai : Robert
Jabatan
: Karyawan
b. ID Pegawai
: F001
Nama Pegawai : Robert
Jabatan
: Faculty
c. ID Pegawai
: F001
Nama Pegawai : Robert
Jabatan
: null
d. ID Pegawai
: F001
Nama Pegawai : Robert
Jabatan
: Faculty, Karyawan
e. Error Compiling
2
0
2
1
class UAS7 {
public static void main(String args[]) {
try {
throw new Exception();
System.out.println("Heroes are often the most ordinary of men.
Henry David Thoueau");
}
catch (Exception e) {
System.out.println("The most momentous thing in human life is
the art of winning the soul to good or to evil. Pythagoras");
}
finally {
System.out.println("If you don't know history, you don't know
anything. Edward Johnston");
}
System.out.println("All the great empires of the future will be empires
of the mind. Winston Churchill");
}
}
Apakah Keluaran dari kode program diatas?
a. Heroes are often the most ordinary of men. Henry David Thoueau.
All the great empires of the future will be empires of the mind.
Winston Churchill
b. The most momentous thing in human life is the art of winning the
soul to good or to evil. Pythagoras
If you don't know history, you don't know anything. Edward Johnston
All the great empires of the future will be empires of the mind.
Winston Churchill
c. Error saat Kompilasi
d. Heroes are often the most ordinary of men. Henry David Thoueau
e. If you don't know history, you don't know anything. Edward Johnston
All the great empires of the future will be empires of the mind.
Winston Churchill
2
2
Berikut ini karakteristik OOP yang tidak didukung secara penuh oleh bahasa
pemrograman Java adalah....
a.
b.
c.
d.
e.
2
3
Polimorfisme
Enkapsulasi
Abstraksi
Multiple Inheritance
Overloading
2
4
b. 19
c. 20
d. 21
e. 22
2
5
c. final
d. abstract
e. protected
Statement A: Instantiasi adalah proses pembuatan obyek dari sebuah kelas
Statement B: Mahasiswa mhs; merupakan proses instantiasi dari sebuah
kelas Mahasiswa
a.
b.
c.
d.
A
A
A
A
dan B benar
dan B salah
benar dan B salah
Salah dan B Benar
2
6
2
7
2
8
2
9
Asosiasi
Agregasi
Generalisasi
Komposisi
Spesialisasi
Semua benar
semua salah
public, private, protected
public, private, protected, default
public, protected, private, friendly
}
class ContohUDE{
void tampil(){
try{
throw new ExceptionMadeInSendiri("Kirim pesan");
}
catch (ExceptionMadeInSendiri e){
System.out.println("Tertangkap tangan oleh catch");
}
}
public static void main(String[] args) {
ContohUDE cu = new ContohUDE();
cu.tampil();
}
};
Apakah keluaran dari kode program diatas?
a.
b.
c.
d.
e.
3
0
3
1
3
2
1-2-3
1-2-3-4-5-6
1-2-3-4
Semua salah
1-2-3-4-5
class Mahasiswa{
private String nama;
private String nim;
public void setNama(String nama)
{this.nama=nama;}
public void setNim(String nim)
{this.nim=nim;}
public void display()
{System.out.println(this.nim+" "+this.nama);}
};
Halaman 10 dari 18
class UAS11 {
private Mahasiswa[] mhs = new Mahasiswa[10];
int counter=0;
public void runThis(){
mhs[0].setNama("Stephen Hawking");
mhs[0].setNim("30109000");
mhs[0].display();
}
public static void main(String[] args) {
UAS11 u= new UAS11();
u.runThis();
}
}
Program diatas akan mengeluarkan sebuah Exception, yaitu?
a. ArrayIndexOutOfBoundsException
b. Program sudah benar, akan mengeluarkan hasil: 30109000 Stephen
Hawking
c. ClassNotFoundException
d. ArithmeticException
e. NullPointerException
3
3
3
4
Agar dapat berjalan dengan lancar, apa yang harus ditambahkan kedalam
kode program diatas?
a. ganti mhs[0] pada baris 1, 2, dan 3 method runThis dengan mhs saja
b. Simpan program tersebut pada File dengan nama UAS11.java
c. Buat Konstruktor pada kelas Mahasiswa
d. tambahkan baris mhs[0]= new Mahasiswa(); pada baris pertama
method runThis()
e. tambahkan coounter++; pada baris terakhir method runThis()
Anda akan membuat program dimana program ini akan membaca inputan
dari user melalui keyboard, kemudian inputan user tersebut akan disimpan
dalam file test.txt, maka code yang tepat adalah?
a. BufferedReader bfread=new BufferedReader(new
InputStreamReader(System.in));
FileOutputStream writefile=new FileOutputStream("test.txt",true);
bfread.write(writefilet.getBytes());
b. BufferedReader bfread= new BufferedReader(new
InputStreamReader(System.out));
FileOutputStream writefile=new FileOutputStream("test.txt",true);
writefile.write(bfread.getBytes());
c. BufferedReader bfread=new BufferedReader(new
InputStreamReader(System.in));
FileOutputStream writefile=new FileOutputStream("test.txt",true);
writefile.write(bfread.readLine().getBytes());
d. BufferedReader bfread= BufferedReader(new
InputStreamReader(System.out));
String input=bfread.readLine();
FileOutputStream writefile=new FileOutputStream("test.txt",true);
writefile.write(input.getBytes());
e. BufferedReader bfread= BufferedReader(new
InputStreamReader(System.in));
String input=bfread.readLine();
FileOutputStream writefile=new FileOutputStream("test.txt",true);
Halaman 11 dari 18
3
5
bfread.write(input.getBytes());
Diberikan sebuah kode program:
class SuperClass {
public final void adaMethodnya() { System.out.println("isi method di
kelas induk"); }
}
public class SubClass extends SuperClass{
public void adaMethodnya() {
System.out.println("isi method di kelas anakan");
super.adaMethodnya();
}
public static void main(String [] args) {
new SubClass().adaMethodnya();
}
}
Apakah hasilnya?
a. isi method di kelas induk
isi method di kelas anakan
b. isi method di kelas induk
c. isi method di kelas anakan
d. sukses dikompilasi, tetapi tidak ada keluaran apapun
e. gagal saat dikompilasi
3
6
class Top {
public Top(String s) { System.out.print("B"); }
}
public class UAS12 extends Top {
public UAS12(String s) { System.out.print("D"); }
public static void main(String [] args) {
new UAS12("C");
System.out.println(" ");
}
}
Apakah Keluaran dari program tersebut?
a. BD
b. DB
c. BDC
d. DBC
e. Error saat Kompilasi
3
7
import java.io.*;
class AksesFileAcak{
RandomAccessFile file=null;
byte arrByte[];
public AksesFileAcak(String namaFile){
try
{
file=new RandomAccessFile(namaFile,"rw");}
catch(IOException e){System.out.println(e);}
}
public void ambilData(int awal, int jumlah)
{
arrByte = new byte[jumlah];
try{
if (awal<=file.length()){
file.seek(awal);
file.read(arrByte,awal,jumlah);
Halaman 12 dari 18
System.out.println(new String(arrByte));
}
else{System.out.print("Posisi "+awal+" melebihi dari
akhir file");}
}
catch(IOException e){System.out.println(e); }
}
public void ambilData(int awal){
try
{
file.seek(awal);
int i=awal;
if (awal<=file.length()){
while (i<file.length())
{
System.out.print((char)file.read());
i++;
}
}
else{System.out.print("Posisi "+awal+" melebihi dari
akhir file");}
}
catch(IOException e){System.out.println(e);}
}
public void ambilData(){
try
{
file.seek(0);
int i=0;
while (i<file.length())
{
System.out.print((char)file.read());
i++;
}
}
catch(IOException e){System.out.println(e);}
}
public void tulisData(String kalimat){
try
{
file.seek(0);
file.writeBytes(kalimat);}
catch(IOException e){System.out.println(e); }
}
public void tulisData(int posisi, String kalimat){
try
{
file.seek(posisi);
file.writeBytes(kalimat); }
catch(IOException e){System.out.println(e); }
}
public void tutupKoneksiFile(){
try
{file.close();}
catch(IOException e){System.out.println(e);}
}
}
class UAS13{
public static void main(String[] args) {
AksesFileAcak obj = new AksesFileAcak("Data.txt");
obj.ambilData(10);
obj.tutupKoneksiFile();
}
IS162 Pemrograman Berorientasi Obyek
halaman
Halaman 13 dari 18
3
8
}
Jika isi file Data.txt adalah
"Object Oriented Programming is more than just a fun!!!"
Apakah keluaran program diatas?
a. ented Programming is more than just a fun!!!
b. Error pada saat kompilasi
c. Object Ori
d. Object Oriented Programming is more than just a fun!!!
e. Inputan pada posisi 10 Melebihi Panjang data yang cuma 9 karakter
Konsep OOP apakah yang digunakan pada semua method ambilData() pada
kode program diatas?
a.
b.
c.
d.
e.
3
9
Polimorfisme Overloading
Polimorfisme Overriding
Pewarisan
Enkapsulasi
Abstraksi
4
0
A
A
A
A
dan B benar
dan B salah
benar dan B salah
Salah dan B Benar
Halaman 14 dari 18