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
============================================================================
/*
* 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
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 GeometryToyMaksud 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).
- ExtendsClass 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).