Jawablah setiap pertanyaan di bawah ini pada lembar jawaban

advertisement
UJIAN AKHIR SEMESTER GENAP 2006/2007
SUSULAN | DUA JAM
Jawablah setiap pertanyaan di bawah ini pada lembar jawaban terpisah yang
telah disediakan. Jangan menuliskan jawaban di kertas jawaban baliknya. Beri
identitas Anda pada setiap lembar jawaban.
1. Diinginkan suatu obyek yang dapat digunakan sebagai ADT bernama Pecahan untuk menyimpan
suatu nilai bilangan dengan nilai pecahan
dimana a, b, dan c adalah bilangan bulat (integer),
dengan ketentuan sebagai berikut:
a. Nilai default Pecahan adalah 1.
b. Dapat diinisialisasi menggunakan tiga nilai integer secara terpisah.
c. Dapat diinisialisasi menggunakan sebuah array yang berisi tiga nilai integer.
d. Nilai Pecahan adalah sesederhana mungkin. Sebagai contoh, nilai
akan disimpan dalam
obyek ini dengan nilai 1 .
e. Dapat dilakukan operasi assignment (=), penjumlahan diri sendiri (+=), dan pengurangan diri
sendiri (-=).
f. Dapat dicetak dengan menggunakan fungsi print() dengan bentuk a:b/c.
Contoh penggunaan:
int a[3]={1, 2, 3};
Pecahan p1, p2, p3, p4;
Pecahan p2(2,10,6);
// p1, p2, p3, dan p4 masing-masing bernilai 1.
// p2 bernilai 2 disederhanakan menjadi 3
Pecahan p3(a);
p1 = p3;
p2 += p3;
p1.print();
p2.print();
p4.print();
// p3 bernilai 1
// assignment
// p2 = p2 + 3
// mencetak 1 2/3
// mencetak  5 1/3
// mencetak  1
2. Perhatikan “silsilah” kelas sebagai berikut:
A
B
D
Masing-masing kelas memiliki anggota data dan prosedur seperti pada tabel berikut:
Kelas
A
B
D
Anggota Data
int a, b
float c
int a, x, y
float c
(nilai a dan c diturunkan
dari kelas A)
int a, x, y
float c
(semuanya diturunkan
dari kelas B)
Prosedur
A(a,b,c)
F1()
F2()
B(a,x,y,c)
F1(float p)
F2()
int F3()
D(a,x,y,c)
int F3()
Keterangan Prosedur
Nilai default semua variabel adalah 0.
Mencetak nilai a, b, dan c dipisahkan spasi
Menukar (swap) nilai a dan b
Nilai default semua variabel adalah 0.
Memberikan nilai p ke dalam variabel c
Mencetak nilai a
Menjumlahkan nilai x dan y
Nilai default semua variabel adalah 0.
Diturunkan dari kelas B
Buat definisi dan implementasi setiap kelas, data, dan fungsi secara lengkap sesuai dengan “silsilah”
tersebut dan tabel yang ada.
Download