Anjar Syaefa

Minggu, 27 Oktober 2013

Membuat Program Java Satuan Phytagoras, dan Mencari Keliling Geometry

Tugas Algoritma Pemograman 3
Anjar Syaefa Ibrahim (20112943)
Angga Prayoga Adi Kuncoro (20112884)
Siti Ansila (27112044)
Tri Putri (27112478)

Membuat Program Java Satuan Phytagoras, dan Mencari Keliling Geometry
 
Membuat Program Java Dengan Mencari Keliling Geometry Persegi Panjang, Bukur Sangkar, dan Lingkaran dengan Menggunakan Syntax Berikut :
============================================================================
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package polymorphismToyJava;

/**
 *
 * @author Anjar
 */
public class PolymorphismToyJava {
    static void test(){
        RectangleToy theRectangle = new RectangleToy(100,200);
        SquareToy theSquare = new SquareToy(100);
        CircleToy theCircle = new CircleToy(100);
       
        printGeometry(theRectangle);
        printGeometry(theSquare);
        printGeometry(theCircle);
     }
    public static void main(String[]args){
            test();
    }

static void printGeometry(GeometryToy theG) {
    System.out.println("======================================");
    System.out.println("Geometry          :"+theG.getGeometry());
    System.out.println("Luas geometri     :"+theG.area());
    System.out.println("Keliling geometri :"+theG.circumference());
 }
}

abstract class GeometryToy{
    abstract public String getGeometry();
    abstract public double area();
    abstract double circumference();
}

class RectangleToy extends GeometryToy{
    double width,height;
    public RectangleToy(double newWidht, double newHeight){
        width = newWidht;
        height = newHeight;
    }
public String getGeometry(){
    return "Persegi Panjang";
    }
public double area() {
    return width * height;
}
public double circumference (){
    return 2 * (width + height);
 }
}

class SquareToy extends GeometryToy {
    double side;
    public SquareToy (double newSide){
        side = newSide;
   }
    public String getGeometry() {
        return "Bujur Sangkar";
 }
    public double area() {
        return side * side;
    }
    public double circumference(){
        return 4 * side;
    }
}
class CircleToy extends GeometryToy {
    final double PI=3.14159;
    double radius;
    public CircleToy (double newRadius) {
        radius = newRadius;
   }
    public String getGeometry() {
        return "Lingkaran";
    }
    public double area () {
        return PI * radius * radius;
    }
    public double circumference () {
        return 2.0 * PI * radius;
    }
}

    /**
     * @param args the command line arguments
     */
  
        // TODO code application logic here
   

==========================================================================
dan Jika program sudah di running maka Akan Muncul Hasil dari Perhitungan Tersebut
# dari program tersebut input dapat di analysa yang dimassukan Untuk masing-masing Benda ialah:
Bujur Sangkar =100
Persegi Panjang = 100x100x2
Lingkaran= 100x100x2xPI


PolymorphismToyJava

Membuat Program Java Satuan Phytagoras Dengan Metode NESSTED dengan menggunakan Syntax berikut:
==========================================================================
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package phytagoreantriplettoy;

/**
 *
 * @author Anjar
 */
public class PhytagoreanTripletToy {

    private int number=0;
    private int numberOfTriplet=0;
    final int MAX_OF_TRIPLETS = 100;
   
    private int[] tripletA = new int [MAX_OF_TRIPLETS];
    private int[] tripletB = new int [MAX_OF_TRIPLETS];
    private int[] tripletC = new int [MAX_OF_TRIPLETS];
   
    public PhytagoreanTripletToy(int number) {
        this.number = number;
        bruteForce();
    }
    public int getNumberOfTriplet() {
        return numberOfTriplet;
    }
    public int getNumber() {
        return number;
    }
    public void bruteForce () {
        for (int i=1;i<=number;i++) {
            for (int j=1;j<=number;j++) {
                for (int k=1;k<=number;k++) {
                    if (i*i == (j*j + k*k)) {
                        tripletA[numberOfTriplet] = i;
                        tripletB[numberOfTriplet] = j;
                        tripletC[numberOfTriplet] = k;
                        numberOfTriplet++;
                        if (numberOfTriplet == MAX_OF_TRIPLETS) return;
                    }
                }
            }
        }
    }
    public String toString() {
        String str="";
        for (int i=0;i            str += tripletA[i]+"\t"+tripletB[i]+"\t"+tripletC[i]+"\n";
        return str;
    }
    static void test () {
        System.out.println(new PhytagoreanTripletToy(10));
    }
    public static void main(String[] args) {
        test();
    }
}
    /**
     * @param args the command line arguments
     */
 
        // TODO code application logic here  

==========================================================================


dan Jika program sudah di running maka Akan Muncul Hasil dari Perhitungan Tersebut

Istilah dan Pengertian - pengertian yang ada di dalam program java di atas :

  • Public
Menyatakan bahwa kelas/method/attribute tersebut dapat di akses oleh kelas lain di manapun. Contoh: Public class PolymorphismToy.
Maksudnya: kode kode yang ada di dalam class polimorphismToy dan class yang terdapat di dalam package lain.
  • Public static void main (string[]args)
Maksudnya adalah mendeklarasi kan suatu method dengan nama main. Nama main di sini merupakan keharusan dalam java karena java akan mencari method yang bernama main ini sebagai awal eksekusi program. Keyword public merpakan access specifier yang menentukan visibilty level dari method ini. Public berarti method ini dapat di access dari manapun dari luar class.
System.out.println(“================”);
System.out.println(“Geometri    :”+theG.getGeometry());
Maksudnya : coding system merupakan nama dari salah satu class standar yang dimiliki oleh java. Lalu coding out merupakan anggota dari class system dan juga merupakan objek tersendiri, out mewakili standar output stream yang dalam hal ini digunakan layar komputer. Lalu coding println merupakan method yang terdapat dalam objek out, berfungsi untuk mencetak keluaran ke standar output. Method ini juga mencetak karakter pindah baris, untuk mencetak tanpa pindah baris menggunakan print( ); terakhir tanda “ ; ” diperlukan untuk menandai suatu akhir dari suatu statement.
  • Abstract class GeometryToy
    Maksud dari abstract class merupakan class yang khusus dibuat untuk keperluan inheritance. Inheritance artinya adalah pewarisan pada pemrograman berorientasi objek merupakan suatu hubungan 2 buah kelas atau lebih.Dalam hal ini ada kelas yang memiliki atribut dan metode yang sama dengan kelas lainnya beserta atribut dan metode tambahan yang merupakan sifat khusus kelas yang menjadi turunannya. Tujuan dari pembuatan abstract class ini ialah untuk membuat definisi umum bagi class-class yang akan menjadi turunan darinya. Abstract class dapat digunakan untuk mendefinisikan method yang nantinya akan diimplementasi di derived class (kelas turunan/inherit dari Abstract Class).
  • Extends
     Class rectangleToy extends GeometryToy
  •  
Class squareToy extends GeometryToy
Class CirleToy extends GeometryToy
Extend pada java berfungsi untuk memanggil fungsi dari class lain, sehingga kita tidak perlu lagi membuat script yang sama pada class yang akan kita buat dengan class yang kita buat sebelumnnya.
  • Double radius
Double radius, radius akan menampung nilai double. Double radius maksudnya adalah diameter karena sedang menghitung menggunakan rumus lingkaran
  • Package
Package adalah koleksi dari beberapa class dan interface yang berhubungan, dan menyediakan proteksi akses dan pengelolaan namespace. Contoh : package toy;
  • Class
Digunakan untuk mendefinisikan dan mengimplementasikan berbagai macam objek di dalamnya.
  • Enkapsulasi
Memastikan atribut objek tidak dapat diubah dan diakses secara langung.
Hanya prosedur dan fungsi tertentu yang diberi izin untuk mengakses dan mengubah atribut objek. Contoh : public class PhytagoreanTripletToy {
  • Private
Dengan keyword ini kelas/method/attribute tidak bisa diakses oleh kelas lain bahkan juga tidak dapat diturunkan.
  • Int adalah tipe data integer
 
  • Final :
    Gunakan keyword final untuk mendefinisikan suatu class yang tidak dapat diturunkan.
  •  
  • Triplet A, B dan C itu adalah tripel phytagoras.
  • This
Kata kunci this digunakan untuk mengakses kelas itu sendiri. Biasanya kata kunci this digunakan ketika mengakses sebuah sebuah atribut kelas, dimana nama atribut tersebut sama dengan nama parameter.
 
  • Subclass
Class anak atau turunan secara hirarki dari superclass. Subclass ini salah satu istilah dari inheritance.
 
  • Java Beans
Java Beans merupakan implementasi dari enkapsulasi. Dalam Java Beans semua atribut dibuat menjadi private. Java beans ini untuk mengakses atribut dibuat fungsi getNamaAtribut, mengubah atribut dibuat prosedur setNamaAtribut dan untuk nilai boolean, fungsi yang dibuat adalah isNamaBoolean.
  • Return
Keyword ini digunakan untuk keluar dari suatu method. Baris – baris program setelah keyword ini yang berada dalam blok method tersebut akan diabaikan. Kemudian eksekusi dilanjutkan ke pernyataan setelah blok method tersebut.
  • Void
Keyword yang merupakan tipe jenis return value dimana method yang menggunakan keyword ini tidak mengembalikan nilai apapaun setelah dipanggil atau dieksekusi.
  • For
Kata kunci untuk digunakan untuk membuat untuk pengulangan, yang menetapkan inisialisasi variabel, ekspresi boolean, dan suatu incrementation. Inisialisasi variabel dilakukan terlebih dahulu, kemudian ekspresi boolean dievaluasi. Jika ekspresi bernilai true, blok pernyataan yang berhubungan dengan pengulangan dijalankan, dan kemudian incrementation yang dilakukan. Ekspresi boolean kemudian dievaluasi lagi, ini terus sampai ekspresi bernilai false .
  • Static
Dengan keyword ini method dan attribute milik kelas menjadi sifat bersama dari semua objek dalam kelas tersebut (tidak memerlukan instansiasi dan tidak bisa dioverride).
 

Tidak ada komentar:

Posting Komentar