Anda di halaman 1dari 4

PEMBAHASAN

SOAL UAS PEMROGRAMAN BERORIENTASI OBJEK


TAHUN 2013/2014

1. Kelas TesEksepsi
a. Kesalahan
public class TesEksepsi{
public static void main (String[] args){
try{
float c = 2/0;
System.out.println(“Setelah pembagian”);
String str = null;
If (str.equals(“ifundip”)){
System.out.println(“benar”);
}
}catch(Exception ex){
System.out.println(“Eksepsi”);
}finally{
System.out.println(“finally”);
}catch(NullPointerException en){
System.out.println(“eksepsi null”);
}catch(ArithmeticException ae){
System.out.println(“eksepsi aritmetik”);
}
}
}

b. Revisi
public class TesEksepsi{
public static void main (String[] args){
try{
float c = 2/0;
System.out.println("Setelah pembagian");
String str = null;
if (str.equals("ifundip")){
System.out.println("benar");
}
}catch(NullPointerException en){
System.out.println("eksepsi null "+en);
}catch(ArithmeticException ae){
System.out.println("eksepsi aritmetik "+ae);
}catch(Exception ex){ //catch yang lebih umum diletakkan
setelah catch yang lebih khusus
System.out.println("Eksepsi "+ex);
}finally{
System.out.println("finally");
} //finally diletakkan di akhir
}
}
//pesan eksepsi bisa ditampilkan pula. Tapi tidak ditampilkan juga
tidak apa-apa

c. Output
eksepsi aritmetik
finally

Pembahasan UAS Pemrograman Berorientasi Objek 2013/2014 – Diklat HMIF 1


NB: ketika float c sudah dikenakan eksepsi maka line dibawahnya, yang masih di
dalam try tidak akan dijalankan, melainkan langsung masuk catch dan finally.

2. Konsep Polimorfisme memungkinkan untuk sebuah objek berperilaku berbeda dengan


instruksi yang sama.

Hubungannya dengan overloading adalah, overloading termasuk dalam polimorfisme Ad


Hoc. Overloading mendefinisikan method yang sama tapi dengan tujuan dan parameter
yang berbeda.

Hubungannya dengan overriding adalah, overriding termasuk dalam polimorfisme Ad


Hoc. Overriding mendefinisikan method yang sama namun di kelas yang berbeda,
biasanya merupakan kelas anak atau subkelas.

Hubungannya dengan virtual method invocation, VMI termasuk dalam polimorfisme


universal, di mana sub kelas memiliki kemampuan untuk mengakses method di kelas
supernya.

Penerapan
Kendaraan

Mobil Motor Truck Bus

public class Kendaraan{


public int roda, biaya;
public Kendaraan(int r, int b){
this.roda = r;
this.biaya = b;
}
public Kendaraan(){
this.roda = 0;
this.biaya = 0;
}
public void getRoda(){
System.out.println(roda);
}
public void getBiaya(){
System.out.println(biaya);
}
}

public class Mobil extends Kendaraan{


public Mobil(){
super(4, 2000);
}
public void getRoda(){
System.out.println(roda);
}

Pembahasan UAS Pemrograman Berorientasi Objek 2013/2014 – Diklat HMIF 2


public void getBiaya(){
System.out.println(biaya);
}
}

public class Motor extends Kendaraan{


public Motor(){
super(2, 0);
}
public void getRoda(){
System.out.println(roda);
}
public void getBiaya(){
System.out.println(biaya);
}
}

public class Truck extends Kendaraan{


public Truck(){
super(4, 4000);
}
public void getRoda(){
System.out.println(roda);
}
public void getBiaya(){
System.out.println(biaya);
}
}

public class Bus extends Kendaraan{


public Bus(){
super(6, 6000);
}
public void getRoda(){
System.out.println(roda);
}
public void getBiaya(){
System.out.println(biaya);
}
}

3. Implementasi collection/generic
import java.util.*;
public class MasukTol{
public static void main(String[] args){
ArrayList<Kendaraan> trans = new ArrayList<Kendaraan>();
Kendaraan satu = new Mobil();
Kendaraan dua = new Kendaraan();
Kendaraan tiga = new Motor();
Kendaraan empat = new Truck();
Kendaraan lima = new Bus();

trans.add(satu);
trans.add(dua);
trans.add(tiga);
trans.add(empat);
trans.add(lima);

Pembahasan UAS Pemrograman Berorientasi Objek 2013/2014 – Diklat HMIF 3


for (Kendaraan transport : trans){
if (transport.roda >= 4){
System.out.print(transport+" ");
}
}
}
}

4. No 4
import java.util.*;
public class MasukTol{
public static void main(String[] args){
ArrayList<Kendaraan> trans = new ArrayList<Kendaraan>();
Kendaraan satu = new Mobil();
Kendaraan dua = new Kendaraan();
Kendaraan tiga = new Motor();
Kendaraan empat = new Truck();
Kendaraan lima = new Bus();

trans.add(satu);
trans.add(dua);
trans.add(tiga);
trans.add(empat);
trans.add(lima);

for (Kendaraan transport : trans){


if (transport.roda >= 4){
System.out.print(transport+" ");
System.out.println("membayar tol Rp "+transport.biaya);
}
}
}
}

Pembahasan UAS Pemrograman Berorientasi Objek 2013/2014 – Diklat HMIF 4