Anda di halaman 1dari 2

UTS 2014/2015

Nama : Muhammad Noval Bintang Salim

2.
a) Apabila kelas Kubus inherits denan BujurSangkar, atribut “sisi” dimana sama dengan atribut
“sisi” pada kelas Kubus, maka tidak diperlukan definisi “sisi lagi pada kelas Kubus.
b)
class BujurSangkar
sisi:real, private

constructor BujurSangkar(sisi:real)
this.sisi ← sisi

function getSisi() → real


→ this.sisi

function hitungLuas() → real


→ this.sisi * this.sisi

end class BujurSangkar

class Kubus inherits BujurSangkar


constructor Kubus(sisi:real)
super(sisi)

function hitungLuasPermukaan() → real


→ 6*super.hitungLuas()

function hitungVolume() → real


→ super.hitungLuas() * super.getSisi()

end class Kubus

class Mkubus
procedure main()
kotak : Kubus
kotak ← new Kubus(7)

output(‘Luas permukaan : ‘,kotak.hitungLuasPermukaan())


output(‘Volume : ‘,kotak.hitungVolume())

end class MKubus

3.
class ItemKoleksi
id : int, protected
judul : int, protected
teahunTerbit : int, protected
counter : int, static, protected

constructor ItemKoleksi(a:int, b:String, c:int)


this.id ← a
this.judul ← b
this.tahunTerbit ← c
counter++

function getCounter() → int


→ counter

function getId() → int


→ this.id

function getJudul() → String


→ this.judul

function getTahunTerbit() → int


→ this.tahunTerbit

procedure printInfo()
output(‘ID : ‘,this.getId(),’ Judul : ‘,this.getJudul(),’ Tahun terbit :
‘,this.getTahunTerbit())

end class ItemKoleksi

class Buku inherits ItemKoleksi


pengarang : String, private

constructor Buku(a:int, b:String, c:int, d:String)


super(a,b,c)
this.pengarang ← d

function getPengarang() → String


→ this.pengarang

procedure printInfo()
super.printInfo()
output(‘Pengarang : ‘,this.getPengarang())

procedure hitungBiayaPinjam(lamaPinjam : int)


output(‘Biaya peminjaman buku selama ‘,lamaPinjam,’ waktu adalah Rp ‘,
(lamaPinjam*500))

end class Buku

//Untuk majalah dan proceding hanya berbeda sedikit dengan buku, kreasikan sendiri :)

Anda mungkin juga menyukai