(3) jobsheet class dan object 2-1 - ifrozi.files.wordpress.com · jobsheetpraktikum(oop((v1.0)(!...

17
Jobsheet Praktikum OOP (v1.0) Imam Fahrur Rozi, PSMI Polinema 3 – Class dan Object (2) PENDAHULUAN Masih tentang Class dan Object, jika pada bagian sebelumnya fokus pembahasan terletak pada bagaimana cara menggambarkan desain Cklas menggunakan Class Diagram, cara membuat Class di Java, cara membuat/deklarasi atribut dan method, cara melakukan instansiasi dan cara mengakses atribut dan method dari suatu objek yang telah terbentuk, maka pada bagian ini akan dibahas konsep Class dan Object yang lebih lanjut. Kensep tersebut antara lain: Access Modifier Konstruktor Atribut/Method Instansiasi Atribut/Method Class Access Modifier Atribut dan method yang dimiliki oleh oleh suatu class bisa dibatasi hak akses terhadapnya. Hal itu bisa dilakukan dengan memberikan access modifier pada atribut dan method dari suatu class. Ada 4 macam access modifier, yaitu: Pada Class Diagram, private digambarkan dengan tanda , public dengan tanda +, protected dengan tanda # dan default (tanpa modifier access) dengan tanda ~. Konstruktor Pada bahasan sebelumnya, setelah class terbentuk, selanjutnya harus dibuat objek. Pada saat proses pembentukan objek (instansiasi), sebenarnya yang berperan adalah konstruktor. Pada dasarnya, konstruktor merupakan suatu method tetapi dengan karakteristik khusus. Beberapa karakteristik dari konstuktor antara lain: Nama konstruktor selalu sama dengan nama class Selalu memiliki modifier access public Konstruktor hanya jalan saat proses instansiasi Konsruktor tidak memiiki tipe data method, layaknya method pada umumnya

Upload: letram

Post on 03-Mar-2019

258 views

Category:

Documents


2 download

TRANSCRIPT

Jobsheet  Praktikum  OOP  (v1.0)    

Imam  Fahrur  Rozi,  PSMI  -­‐  Polinema  

3  –  Class  dan  Object  (2)  PENDAHULUAN  

Masih   tentang   Class   dan   Object,   jika   pada   bagian   sebelumnya   fokus   pembahasan   terletak   pada  bagaimana  cara  menggambarkan  desain  Cklas  menggunakan  Class  Diagram,  cara  membuat  Class  di  Java,  cara  membuat/deklarasi   atribut   dan  method,   cara  melakukan   instansiasi   dan   cara  mengakses   atribut  dan  method  dari  suatu  objek  yang  telah  terbentuk,  maka  pada  bagian  ini  akan  dibahas  konsep  Class  dan  Object  yang  lebih  lanjut.  Kensep  tersebut  antara  lain:  

• Access  Modifier    • Konstruktor  • Atribut/Method  Instansiasi  • Atribut/Method  Class  

 

Access  Modifier  

Atribut  dan  method  yang  dimiliki  oleh  oleh  suatu  class  bisa  dibatasi  hak  akses  terhadapnya.  Hal  itu  bisa  dilakukan  dengan  memberikan  access  modifier  pada  atribut  dan  method  dari  suatu  class.  Ada  4  macam  access  modifier,  yaitu:  

 

Pada   Class   Diagram,  private   digambarkan   dengan   tanda   -­‐,  public   dengan   tanda   +,  protected   dengan  tanda  #  dan  default  (tanpa  modifier  access)  dengan  tanda  ~.    

Konstruktor  

Pada   bahasan   sebelumnya,   setelah   class   terbentuk,   selanjutnya   harus   dibuat   objek.   Pada   saat   proses  pembentukan   objek   (instansiasi),   sebenarnya   yang   berperan   adalah   konstruktor.     Pada   dasarnya,  konstruktor  merupakan   suatu  method   tetapi   dengan   karakteristik   khusus.   Beberapa   karakteristik   dari  konstuktor  antara  lain:  

• Nama  konstruktor  selalu  sama  dengan  nama  class  • Selalu  memiliki  modifier  access  public  • Konstruktor  hanya  jalan  saat  proses  instansiasi  • Konsruktor  tidak  memiiki  tipe  data  method,  layaknya  method  pada  umumnya  

Jobsheet  Praktikum  OOP  (v1.0)    

Imam  Fahrur  Rozi,  PSMI  -­‐  Polinema  

• Tidak  bisa  memiliki  return.  

Ada  2  jenis  konstruktor,  yaitu:  

• Konstruktor   Default   :   konstruktor   yang   tidak   memiliki   parameter   atau   argumen.   Contoh  konstruktor  untuk  class  Mahasiswa:  

   

• Konstruktor  Berparameter/Berargumen    :  konstruktor  yang  memiliki  parameter  atau  argumen.  

Jobsheet  Praktikum  OOP  (v1.0)    

Imam  Fahrur  Rozi,  PSMI  -­‐  Polinema  

 

Contoh  proses  instansiasi  yang  menggunakan  konstruktor  default  dari  contoh  di  atas,  yaitu:  

Mahasiswa  m  =  new  Mahasiswa();  

Sedangkan  contoh  proses  instansiasi  yang  menggunakan  konstruktor  berparameter  dari  contoh  di  atas  yaitu:  

Mahasiswa  m  =  new  Mahasiswa  (“0210630064”,  “Imam  F”);  

Atribut  dan  Method  Instansiasi  

Atribut  dan  method  instansiasi  merupakan  atribut  dan  method  yang  dimiliki  oleh  objek  hasil  instansiasi.  Jadi   untuk  mengakses   atribut   dan  method   tersebut,   sebelumnya   harus   dibuat   terlebih   dahulu   objek.  Atribut   instansiasi   biasanya   digunakan   untuk   atribut-­‐atribut   dari   suatu   class,   dimana  nilai   dari   atribut  tersebut  untuk  objek  satu  dengan  objek  yang   lain  berbeda-­‐beda  dan  tersimpan  pada  alamat  referensi  atau  alamat  memori  yang  berbeda.    

Contohnya  pada  class  Mahasiswa  di  atas,  nilai  nim  dan  nama  untuk  objek  mahasiswa  satu  dengan  objek  mahasiswa  lain  bisa  berbeda  nilainya.  Sehingga  atribut  nim  dan  nama  tersebut  termasuk  ke  jenis  atribut  instansiasi.  

Dan   untuk   mengakses   atribut   maupun   method   instansiasi,   harus   terlebih   dahulu   dibuat   objek.  Contohnya:   untuk   mengakses   atribut   nim,   nama   dan   memanggil   method   ubahNama(),   terlebih   dulu  harus  dibuat  objek  dari  class  Mahasiswa.  Baru  kemudian  atribut  nim  dan  nama  dan  method  ubahNama()  bisa  diakses.  

Jobsheet  Praktikum  OOP  (v1.0)    

Imam  Fahrur  Rozi,  PSMI  -­‐  Polinema  

    Mahasiswa  m  =  new  Mahasiswa();       m.nim  =  “0210630064”;       m.nama  =  “Imam  F”;       m.ubahNama(“Imam  Fahrur  Rozi”);    

Atribut  dan  Method  Class  

Jika  atribut  instansiasi  digunakan  untuk  atribut  yang  memiliki  nilai  yang  berbeda-­‐beda  antara  objek  yang  satu   dengan   objek   yang   lain   dari   class   yang   sama,   maka   atribut   class   digunakan   untuk   atribut   yang  nilainya   antara   objek   satu   dengan   objek   yang   lain   dari   class   yang   sama   akan   bernilai   sama.  Misalnya  mahasiswa   memiliki   SPP,   dan   nilai   SPP   tersebut   dipastikan   sama   antara   mahasiswa   satu   dengan  mahasiswa  lainya.  Ini  berarti,  atribut  SPP  untuk  objek  mahasiswa  satu  dengan  objek  mahasiswa  lainnya  bernilai  sama.  Sehingga  SPP  tersebut  bisa  digolongkan  sebagai  atribut  class.    

Untuk  membuat  atribut  dan  method  class  ditandai  dengan  kata   kunci  static.  Dan  untuk  mengakses  

atribut  class,  tidak  perlu  dibuat  objek  lebih  dulu,  karena  bisa  diakses  langsung  dari  nama  classnya.    

Contohnya:  Class  Mahasiswa  di  atas  ditambahi  atribut  spp   yang  merupakan  atribut  class  dan  method  ubahSpp()  yang  merupakan  method  class.  

 

Jobsheet  Praktikum  OOP  (v1.0)    

Imam  Fahrur  Rozi,  PSMI  -­‐  Polinema  

Dan   untuk   mengakses   atribut   spp   dan   method   ubahSpp()   tidak   perlu   membuat   objek   dari   class  Mahasiswa  lebih  dulu,  melainkan  bisa  langsung  menggunakan  nama  class  Mahasiswa  langsung.  

    Mahasiswa.spp  =  10000;       Mahasiswa.ubahSpp(15000);  

 

   

Jobsheet  Praktikum  OOP  (v1.0)    

Imam  Fahrur  Rozi,  PSMI  -­‐  Polinema  

PERCOBAAN  1  :  ACCESS  MODIFIER    

Tujuan:  

1. Mahasiswa  memahami  konsep  penggunaan  access  modifier    2. Mahasiswa  mampu  membuat  atribut  dan  method  dengan  access  modifier  3. Mahasiswa  memahami   efek   dari   access  modifier   yang   diterapkan   pada   suatu   atribut  maupun  

method  

Prosedur  Percobaan:  

1. Perhatikan  class  diagram  di  bawah  ini:                                    

 

2. Buat  program  dari  class  diagram  di  atas,  dan  simpan  dengan  nama  file  Sepeda.java  

Sepeda  

+  kode  :  String  #  merek  :  String  ~  jenis  :  String  -­‐  kecepatan  :  float  -­‐  gigi  :  int    +  start  ()  :  void  +  tambahKecepatan(float  v)  :  void  +  kurangiKecapatan(float  v)  :  void  -­‐  tambahGigi()  :  void  -­‐  kurangiGigi()  :  void  +  stop():  void  +  tampilData()  :  void  

Jobsheet  Praktikum  OOP  (v1.0)    

Imam  Fahrur  Rozi,  PSMI  -­‐  Polinema  

 

3. Compile  dan  jalankan  class  Sepeda  tersebut!  Amati  hasilnya!  4. Buat  class  baru  dan  simpan  dengan  nama  file  SepedaDemo.java    

Jobsheet  Praktikum  OOP  (v1.0)    

Imam  Fahrur  Rozi,  PSMI  -­‐  Polinema  

 

5. Compile  dan  jalankan  class  SepedaDemo.java!  Amati  hasilnya!  

 

Pertanyaan:  

1. Adakah   atribut   dan   method   dari   class   Sepeda   yang   tidak   bisa   diakses   dari   dalam   class   itu  sendiri?  Sebutkan  jika  ada!  ……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..  

2. Dari   hasil   percobaan   tahap   3   (hasil   compile   dan   run   terhadap   Sepeda.java),   apakah   Anda  menemukan  error?   Jelaskan   (error  atau   tidak  error  hasilnya)  dikaitkan  dengan  modifier  access  dari  atribut  maupun  methodnya!  ……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..  

3. Dari  hasil  percobaan  tahap  5  (hasil  compile  dan  run  terhadap  SepedaDemo.java),  apakah  Anda  menemukan  error?  Jika  iya,  jelaskan  apa  penyebab  terjadinya  error  tersebut!  

……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..    

4. Atribut   dan   method   apakah   dari   class   Sepeda,   yang   hanya   bisa   diakses   dari   dalam   class   itu  sendiri?  

……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..  

Jobsheet  Praktikum  OOP  (v1.0)    

Imam  Fahrur  Rozi,  PSMI  -­‐  Polinema  

 5. Atribut  dan  method  apakah  dari  class  Sepeda,  yang  bisa  diakses  dari  class  lain  yang  berada  pada  

paket  yang  sama  dengan  class  Sepeda  tersebut?  

……………………………………………………………………………………………………………………………………………………..……………………………………………………………………………………………………………………………………………………..  

6. Bisakah  atribut  jenis  dari  class  Sepeda  diakses  dari  class  SepedaDemo?  Jika  bisa,  jelaskan  lebih  lanjut  mengapa  bisa?  

……………………………………………………………………………………………………………………………………………………..……………………………………………………………………………………………………………………………………………………..  

7. Jika  di  dalam  method  main  di  dalam  class  SepedaDemo,  ditambahkan  sintaks  s1.kurangiGigi(),  apakah  bisa?  Jelaskan  jawaban  Anda!  

……………………………………………………………………………………………………………………………………………………..……………………………………………………………………………………………………………………………………………………..  

8. Perhatikan   baris   program   19   dan   24   dari   class   Sepeda,   disitu   terlihat   dipanggil   method  kurangiGigi()   dan   tambahGigi()   yang   notabene   memiliki   access   modifier   private,   dan   tidak  menimbulkan  error.  Mengapa  bisa  demikian?  

……………………………………………………………………………………………………………………………………………………..……………………………………………………………………………………………………………………………………………………..  

9. Apa  yang  harus  dilakukan  agar  error  pada  class  SepedaDemo  bisa  hilang?  

……………………………………………………………………………………………………………………………………………………..……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..……………………………………………………………………………………………………………………………………………………..    

10. Berikan   kesimpulan   dari   percobaan   yang   telah   dilakukan   dan   beberapa   pertanyaan   terkait  dengan  access  modifier!  

……………………………………………………………………………………………………………………………………………………..……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..……………………………………………………………………………………………………………………………………………………..  

Jobsheet  Praktikum  OOP  (v1.0)    

Imam  Fahrur  Rozi,  PSMI  -­‐  Polinema  

PERCOBAAN  2  :  KONSTRUKTOR    

Tujuan:  

1. Mahasiswa  memahami  konsep  konstruktor    2. Mahasiswa  mampu  membuat  konstruktor  default  dan  konstruktor  berparameter  3. Mahasiswa  mampu  membuat  objek  dengan  menggunakan  konstruktor  default  dan  konstruktor  

berparameter  

Prosedur  Percobaan:  

1. Buka  kembali  file  Sepeda.java  di  atas!  2. Tambahkan   konstruktor   default   dan   konstruktor   berparameter   dari   class   Sepeda   tersebut.  

Letakkan  konstuktor  tersebut  di  bawah  atribut!  

 

3. Di   dalam   method   main()   yang   ada   di   dalam   class   Sepeda,   tambahkan   beberapa   proses  instansiasi  seperti  tampil  di  gambar  berikut:  

Jobsheet  Praktikum  OOP  (v1.0)    

Imam  Fahrur  Rozi,  PSMI  -­‐  Polinema  

 

4. Compile  dan  jalankan  kembali  class  Sepeda!  Amati  hasilnya!  

 

 

 

Jobsheet  Praktikum  OOP  (v1.0)    

Imam  Fahrur  Rozi,  PSMI  -­‐  Polinema  

Pertanyaan:  

1. Mengapa   pada   baris   pertama   hasil   keluaran   muncul   tulisan   Objek   terbentuk   menggunakan  konstruktor  default  ?    ……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..  

2. Mengapa   juga   pada   baris-­‐baris   setelahnya   muncul   tulisan   Objek   terbentuk   menggunakan  konstruktor  berparameter  1    dan  Objek  terbentuk  menggunakan  konstruktor  berparameter  2?  ……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..  

……………………………………………………………………………………………………………………………………………………..  

3. Perhatikan   pada   method   main()   dari   class   Sepeda   tersebut,   pada   baris   berapakah   proses  instansiasi  yang  menggunakan  konstruktor  berparameter  dengan  2  parameter  dijalankan?  ……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..  

4. Perhatikan  hasil  keluaran  program:  Objek  terbentuk  menggunakan  konstruktor  berparameter  2  KODE  =  KOSONG  MEREK  =  KOSONG  JENIS  =  KOSONG  KECEPATAN  =  25.0  GIGI  =  4  

Setelah   ditampilkan   muncul   nilai   kode=KOSONG,     merek=KOSONG,   jenis=KOSONG,  kecepatan=25.0  dan  gigi=4.    Dapat  dari  manakah  nilai-­‐nilai  tersebut?  ……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..  

5. Misalkan  di  dalam  class  Sepeda  ditambahkan  konstruktor  seperti  di  bawah  ini:  public  Sepeda(int  x){     gigi  =  x;  }  

Bisa  apa  tidak?  Jelaskan!  ……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..  

Jobsheet  Praktikum  OOP  (v1.0)    

Imam  Fahrur  Rozi,  PSMI  -­‐  Polinema  

……………………………………………………………………………………………………………………………………………………..  6. Berikan   contoh   konstruktor   berparameter   dengan  3   parameter   untuk   class   Sepeda   tersebut,  

dan  berikan  juga  contoh  proses  instansiasi  yang  menggunakan  konstruktor  dengan  3  parameter  tersebut!  ……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..  

7. Berikan   kesimpulan   dari   percobaan   yang   telah   dilakukan   dan   beberapa   pertanyaan   terkait  dengan  konstruktor!  

……………………………………………………………………………………………………………………………………………………..……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..……………………………………………………………………………………………………………………………………………………..    

   

Jobsheet  Praktikum  OOP  (v1.0)    

Imam  Fahrur  Rozi,  PSMI  -­‐  Polinema  

PERCOBAAN   3   :   ATRIBUT&METHOD   CLASS   DAN   ATRIBUT&METHOD  INSTANSIASI    

Tujuan:  

1. Mahasiswa  memahami  konsep  atribut&method  class  dan  atribut&method  instansiasi  2. Mahasiswa  mampu  membuat  atribut&method  class  menggunakan  kata  kunci  static  3. Mahasiswa   mengetahui   beda   cara   mengakses   atribut&method   class   dengan   atribut&method  

instansiasi  

Prosedur  Percobaan:  

1. Buka  kembali  file  Sepeda.java  di  atas!    2. Tambahkan  atribut  class  jumTotalSepeda  dan  method  class  tambahJumTotalSepeda()!  

 

 3. Method  main()  di  dalam  class  Sepeda  juga  diubah  menjadi  sbb:  

Atribut  class  

Method  class  

Jobsheet  Praktikum  OOP  (v1.0)    

Imam  Fahrur  Rozi,  PSMI  -­‐  Polinema  

 Penjelasan:  Setiap  selesai  proses  instansiasi,  dijalankan  method  class  tambahJumTotalSepeda(),  yang  menandakan  bahwa  jumlah  objek  yang  terbentu  dari  class  Sepeda  bertambah  

4. Compile  dan  jalankan  class  Sepeda,  dan  amati  hasil  keluarannya!  

 

     

Jobsheet  Praktikum  OOP  (v1.0)    

Imam  Fahrur  Rozi,  PSMI  -­‐  Polinema  

Pertanyaan:  

1. Sebutkan  atribut  dan  method  instansiasi  yang  dimiliki  oleh  class  Sepeda!  ……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..  

2. Sebutkan  atribut  dan  method  class  yang  dimiliki  oleh  class  Sepeda!  ……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..……………………………………………………………………………………………………………………………………………………..  

3. Jelaskan  perbedaan  antara  atribut  dan  method   instansiasi  dan  atribut  dan  method  class  dari  nilai  yang  disimpan  di  dalamnya!  ……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..……………………………………………………………………………………………………………………………………………………..  

4. Jelaskan  perbedaan  antara  atribut  dan  method   instansiasi  dan  atribut  dan  method  class  dari  cara  mengakses  atribut  dan  method  tersebut!  ……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..……………………………………………………………………………………………………………………………………………………..  

5. Perhatikan   hasil   keluaran   di   atas.   Jelaskan   bagaimana   bisa  muncul   nilai  3  untuk   jumlah   total  objek  sepeda  yang  dibuat!  ……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..……………………………………………………………………………………………………………………………………………………..  

6. Berikan   kesimpulan   dari   percobaan   yang   telah   dilakukan   dan   beberapa   pertanyaan   terkait  dengan  konstruktor!  

……………………………………………………………………………………………………………………………………………………..……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..……………………………………………………………………………………………………………………………………………………..  ……………………………………………………………………………………………………………………………………………………..……………………………………………………………………………………………………………………………………………………..    

Jobsheet  Praktikum  OOP  (v1.0)    

Imam  Fahrur  Rozi,  PSMI  -­‐  Polinema  

LATIHAN  

Buatlah  program  dari  Class  Diagram  di  bawah  ini!  

 

                         

 

Penjelasan:  • Perhatikan  notasi  access  modifier  pada  tiap  atribut  dan  method  • Perhatikan  juga  notasi  atribut/method  class  • Atribut   jumVolumeTotalBalok   digunakan   untuk   menyimpan   jumlah   volume   total   dari  

objek-­‐objek  balok  yang  sudah  terbuat.    

 

Balok  

+  panjang  :  double  #  lebar  :  double  ~  tinggi  :  double  +  jumVolumeTotalBalok  :  double  

+  hitungVolume  ()  :  double  +  hitungLuasPermukaan()  :  double  +  hitungDiagonalRuang()  :  double  ~  hitungDiagonalSisiDepan()  :  double  #  hitungDiagonalSisiSamping()  :  double  -­‐  hitungDiagonalSisiAtas()  :  double