Jawaban soal UTS PJJ PBO @Tessy Badriyah, 21 April 2007 PEMBAHASAN UJIAN TENGAH SEMESTER PEMROGRAMAN BERBASIS OBYEK


Jawaban soal UTS PJJ PBO @Tessy Badriyah, 21 April 2007
PEMBAHASAN
UJIAN TENGAH SEMESTER
PEMROGRAMAN BERBASIS OBYEK
Dosen : Tim Dosen PBO
1. Buat program untuk menampilkan bilangan ganjil yang lebih kecil dari 20
menggunakan :
a. For
b. While atau do while (pilih salah satu)
Jawaban :
public class Ganjil {
public static void main(String [] args) {
int i;
for (i=0; i0)
System.out.print(i + ” “);
}
}
}
public class Ganjil {
public static void main(String [] args) {
int i=0;
while (i0)
System.out.print(i + ” “);
i++;
}
}
}
public class Ganjil {
public static void main(String [] args) {
int i=0;
do {
if ((i%2)>0)
System.out.print(i + ” “);
i++;
} while (i<20);
}
}
2. Dengan menggunakan array 2 dimensi, buatlah program yang menghitung nilai
akhir dari 3 mahasiswa dengan aturan : Na = 0.35*UTS + 0.45*UAS + 0.2*Tugas;
Nama UTS UAS Tugas
Amin 67 78 89
Budi 78 90 87
Candra 56 67 70
Jawaban soal UTS PJJ PBO @Tessy Badriyah, 21 April 2007
Jawaban :
public class Nilai {
public static void main(String [] args) {
String nama[]={“Amin”, “Budi”, “Candra”};
double uts[]={67,78,56}, uas[]={78,90,67}, tugas[]={89,87,70}, NA;
for (int i=0; i bilangan desimal
10 => bilangan octal karena dimulai dengan 0
18 => bilangan hexa karena dimulai dengan 0x
4. Apa yang terjadi jika program ini dijalankan ? Jika terjadi error betulkan !
public class Test {
public static void main(String args []) {
short s = 9;
int i=10;
float f=11.1f;
double d=12.2;
s = i;
d = f;
i = d;
}
}
Jawaban :
Prinsip : widening (tipe data variabel di sebelah kiri harus memiliki range
(jangkauan) yang lebih luas daripada tipe data variabel di sebelah kanannya.
Jawaban soal UTS PJJ PBO @Tessy Badriyah, 21 April 2007
Pembetulan :
public class Test {
public static void main(String args []) {
short s = 9;
int i=10;
float f=11.1f;
double d=12.2;
s = (short) i;
d = f;
i = (int) d;
}
}
5. Apa hasil compile dan eksekusi program dibawah ini ?
public class Test {
public static void main(String args []) {
int bil=1, j=0, temp, i;
for (i=0; i<5; i++) {
temp = i % 2;
switch (temp) {
case 0 : j=j+bil++;
break;
case 1 : j=j+ (++bil);
break;
}
}
System.out.println(j);
}
}
Jawaban :
17
6. Untuk program-program di bawah ini, berikan penjelasan dan tebaklah
outputnya !
a. public class ShortAnd {
public static void main(String args[] ) {
int a=5, b=7;
if ((a<2) && (b++<10)) b+=2;
System.out.println(b);
}
}
b. public class ShortOr {
public static void main(String args[] ) {
int a=5, b=7;
if ((a<2) || (b++<10)) b+=2;
System.out.println(b);
}
}
c. public class Complement {
public static void main(String args[] ) {
int i;
i=~7;
System.out.println(i);
}
}
d. public class LeftShift {
public static void main(String args[] ) {
int i=3;
i = i <80)
NH=”A”;
else if (NA>70)
NH=”AB”;
else if (NA>65)
NH=”B”;
else if (NA>60)
NH=”BC”;
else if (NA>55)
NH=”C”;
else if (NA>40)
NH=”D”;
else
NH=”E”;
System.out.println(“Nilai angka = “+NA);
System.out.println(“Nilai huruf = “+NH);
}
}
8. Buat program dengan menggunakan array untuk menghitung bilangan Fibonacci
tentukan n=9 (Bilangan Fibonacci adalah bilangan yang menjumlahkan 2
bilangan sebelumnya !
Jawaban :
public class Fibonacci {
public static void main(String args []) {
int n = 9;
// Program Fibonacci
int i;
int fibo[];
fibo=new int [10];
Jawaban soal UTS PJJ PBO @Tessy Badriyah, 21 April 2007
fibo[1]=1; fibo[2]=1;
for (i=3; i<10; i++)
fibo[i]=fibo[i-1]+fibo[i-2];
System.out.println(“Bilangan Fibonacci suku ke-1 sampai 9 :”);
for (i=1; i<10; i++)
System.out.print(fibo[i]+” “);
}
}
9. Jelaskan perbedaan 2 program di bawah ini dan tebaklah masing-masing
outputnya !
public class Switch1 {
public static void main(String
args[]) {
int i = 2;
switch (i) {
case 1 : i+=3;
break;
case 2 : i+=5;
break;
default : i+=10;
}
System.out.println(i);
}
}
public class Switch2 {
public static void main(String args[]) {
int i = 2;
switch (i) {
case 1 : i+=3;
case 2 : i+=5;
default : i+=10;
}
System.out.println(i);
}
}
Jawaban :
Pada program sebelah kiri, setelah mengerjakan statement yang ada di case 2, dan karena
diakhiri dengan perintah break maka keluar dari switch dan langsung mencetak nilai
variabel i. outputnya 7.
Pada program sebelah kanan, karena setelah mengerjakan statement yang ada di case 2,
di dalamnya tidak diberi perintah break maka akan melanjutkan ke statement berikutnya
(yaitu default) sehingga outputnya 17.
10. Implementasikan UML class diagram di bawah ini ke dalam program untuk class
Mahasiswa
Mahasiswa
-nrp : int
-nama : String
+ Mahasiswa(i : int, String n)
+ getNRP() : int
+ getNama() : String
Jawaban soal UTS PJJ PBO @Tessy Badriyah, 21 April 2007
Jawaban :
public class Mahasiswa {
public int nrp;
public String nama;
public Mahasiswa(int i, String n) {
this.nrp=i;
this.nama=n;
}
public int getNRP() {
return nrp;
}
public String getNama() {
return nama;
}
}
class TesMahasiswa {
public static void main(String [] args) {
Mahasiswa siswa = new Mahasiswa(123,”SAYA”);
System.out.println(“NRP = “+siswa.getNRP());
System.out.println(“Nama = “+siswa.getNama());
}
}

Tinggalkan Balasan

Please log in using one of these methods to post your comment:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s