Thursday, October 10, 2013

Program Luas dan Keliling Lingkaran



Soal :
Buatlah program untuk menghitung nilai Luas dan Keliling lingkaran, buat kelas Gemometri sebagai superclass yang menampung variable r (jari-jari lingkaran) dan class Lingkaran yang menampung variable phi. Pada class Lingkaran buatlah method untuk menghitung Luas dan Keliling lingkaran. Gunakan kata kunci super() dalam mereferensi variable r.
rumus yang dipakai untuk menghitung luas dan keliling lingkaran :

  • Luas Lingkaran = phi * r * r
  • Keliling Lingkaran = 2 * phi * r
  • phi = 3.14


Mari kita kerjakan soal diatas, pertama kita lihat apa saja perintah yang ditunjukan oles soal diatas :

  1. superclass dengan nama Geometri.
  2. variable yang ditampung class Geometri hanya variable r (jari-jari).
  3. subclass dengan nama Lingkaran.
  4. variable yang ditampung class Lingkaran hanya variable phi.
  5. class Lingkaran minimal mempunyai 2 method, yaitu untuk menghitung luas lingkaran kita namakan dengan luasLingkaran() dan untuk menghitung keliling lingkaran kita namakan dengan kelilingLingkaran().
  6. untuk mereferensi variable r gunakan kata kunci super().

Dengan 6 point yang sudah kita temukan didalam soal kita bisa menyimpulkan program yang akan kita buat yaitu menggunakan metode inheritance kemudian untuk mereferensikan variable r kita membutuhkan super() artinya kita akan membuat constructor.



Lets Coding :

Pertama buat superclass dengan nama Geomemtri dan buat variable r, karena kita akan menggunakan variable r diclass Lingkaran juga maka sifat dari variable r kita gunakan protected :

code #1:

   class Geometri{
protected double r;
   }


Selanjutnya kita akan membuat subclass dengan nama Lingkaran yang menampung variable phi, method luasLingkaran() dan kelilingLingkaran() :

code #2:

   class Lingkaran extends Geometri{
final double phi = 3.14;

public double LuasLingkaran(){
   return (phi * r * r);
}

public double KelilingLingkaran(){
   return (2 * phi * r);
}
   }

Kenapa phi bersifat final ? final adalah digunakan untuk membuat constanta yang artinya nilainya tidak bisa berubah, seperti yang kita gunakan pada variable phi !

Selanjutnya cara kita akan mereferensikan variable r dengan kata kunci super(), kita akan membuat constructor pada class Geometri dan Lingkaran.

fix code #1:

   class Geometri{
protected double r;
 
public Geometri(double r){
   this.r = r;
}
   }

constructor adalah method yang sama persis namanya dengan classnya, this. disini berfungsi untuk memanggil varibale class.

fix code #2:

   class Lingkaran extends Geometri{
final double phi = 3.14;

public Lingkaran(double r){
   super(r);
   this.r = r;
}
public double LuasLingkaran(){
   return (phi * r * r);
}

public double KelilingLingkaran(){
   return (2 * phi * r);
}
   }


Sekarang kita buat class yang menampung method main dengan nama DemoLingkaran :

code #3:

   public class DemoLingkaran{
      public static void main(String[] args){
 Lingkaran ling = new Lingkaran(4);

 System.out.println("Luas = " + ling.LuasLingkaran());
 System.out.println("Keliling = " +           
                             ling.KelilingLingkaran());
      }

   }


setelah fix semua codenya akan seperti ini :

code fix all :

   class Geometri{
protected double r;
 
public Geometri(double r){
   this.r = r;
}
   }

   class Lingkaran extends Geometri{
final double phi = 3.14;

public Lingkaran(double r){
   super(r);
   this.r = r;
}
public double LuasLingkaran(){
   return (phi * r * r);
}

public double KelilingLingkaran(){
   return (2 * phi * r);
}
   }

   public class DemoLingkaran{
      public static void main(String[] args){
 Lingkaran ling = new Lingkaran(4);

 System.out.println("Luas = " + ling.LuasLingkaran());
 System.out.println("Keliling = " +           
                             ling.KelilingLingkaran());
      }

   }


Jika ada yang salah pada program diatas atau ada penjelasan yang keliru tolong dikoreksi itu akan sangat membantu SamaLoa, dan jika terdapat penyelesaian program yang lebih sederhana silahkan share dengan memberikan komentar kalian, itu juga akan sangat membantu dan SamaLoa sangat berterimakasih. Semoga bermanfaat :D

Categories: , , ,

4 comments:

  1. mksh samaloa.blogspot.com atas scriptnya sangat membantu saya dalam tugas saya. I like your Blog.

    ReplyDelete
  2. Itu membuat bnyak class baru atau di gabung cara nya bg? Masih bingung soalnya

    ReplyDelete
  3. Maaf kak ijin bertanya, Itu kan pake "protected" karna variable r bakalan masuk di 2 class (superclass geometri sama subclass lingkaran), terus kalo pake "double" itu tujuannya biar apa ya kak? Mohon pencerahannya kak

    ReplyDelete

http://www.resepkuekeringku.com/2014/11/resep-donat-empuk-ala-dunkin-donut.html http://www.resepkuekeringku.com/2015/03/resep-kue-cubit-coklat-enak-dan-sederhana.html http://www.resepkuekeringku.com/2014/10/resep-donat-kentang-empuk-lembut-dan-enak.html http://www.resepkuekeringku.com/2014/07/resep-es-krim-goreng-coklat-kriuk-mudah-dan-sederhana-dengan-saus-strawberry.html http://www.resepkuekeringku.com/2014/06/resep-kue-es-krim-goreng-enak-dan-mudah.html http://www.resepkuekeringku.com/2014/09/resep-bolu-karamel-panggang-sarang-semut-lembut.html

Copyright © SamaLoa | Powered by Blogger

Design by Anders Noren | Blogger Theme by NewBloggerThemes.com | BTheme.net      Up ↑