TUGAS
“ ALGORITMA DAN PEMROGRAMAN 3 ”
KELOMPOK :
ABDUL GHAFIQI YAMINI (20112028)
NURSAMSA APRIANA (25112516)
MARTIN SURYA DARMA (24112464)
MAHBUB KUSAERI (24112383)
KELAS :
2KB03
UNIVERSITAS GUNADARMA
DEPOK
2013
MEMBUAT PROGRAM POLYMORPHISM DAN PHYTAGOREAN
- Buka
program netbeans, kemudian new project > java > java application, beri
nama pada :
- Codingan
PolymorphismToy.java
package toy;
public class PolymorphismToy{
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);
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
test();
}
static void printGeometry(GeometryToy theG){
System.out.println("========================================");
System.out.println("Geometri : "+theG.getGeometry());
System.out.println("Luas geometri : "+theG.area());
System.out.println("keliling geometri : "+theG.circumference());
System.out.println("========================================");
}
}
abstract class GeometryToy{
abstract public String getGeometry();
abstract public double area();
abstract public double circumference();
}
class RectangleToy extends GeometryToy{
double width, height;
public RectangleToy (double newWidth, double newHeight){
width = newWidth;
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;
// TODO code application logic here
}
}
Public class Polymorphismtoy {
- Modifier public :berarti metod tersebut dipanggil bisa untuk
semua class.
- Pada definisi class, merupakan class yang memuat metod main(), dan
nama file disimpan dengan nama class public
- Pada definisi metod, bermakna bahwa metod tersebut dapat diakses dari
luar class yang bersangkutan
- Pada daefinisi data, bermakna data tersebut dapat diakses dari luar
class
Static void test() {
- Modifier static pada metod : berarti metod tersebut dapat
dipanggil hanya dari dalam class yang sama
- Modifier void pada metod: berarti Metod tersebut tidak ada return
valuenyaatau bisa juga disebut type datayang tidak mempunyai nilai balik.
RectangleToy theRectangle
SquareToy theSquare
CircleToy
3 nama itu merupakan
nama objek dari class PolymorphismToy.
System.out.println(“=============================================”);
System.out.println(“Geometri :”+theG.getGeometry());
System.out.println(“Luas Geometri
:”+theG.area());
Sysytem.out.println(“Keliling geomteri
:”+theG.circumference());
System.out.println(“=============================================”);
Itu merupakan
encapsulation ..Encaptulation: konsep dalam OOP yang bertujuan membungkus
(mang-kapsul) data dan metode dalam suatu class sehingga data dan metode yang
tersembunyi dalam class tidak dapat diases dari luar class.
Abstract class GeometryToy {
abstract class / kelas abstrak, sesuai namanya adalah kelas yang belum
jelas spesifikasinya.
kelas abstrak
digunakan untuk membuat sebuah kelas yang memiliki method yang belum jelas
implementasinya. berikut ini aturan nya :
- jika sebuah kelas memiliki method abstrak maka kelas itu harus menjadi
kelas abstrak.
- sebuah kelas abstrak dapat saja memiliki method yang tidak abstrak.
- jika sebuah kelas abstrak diturunkan menjadi kelas konkret, maka semua
method abstrak dari kelas abstrak haruslah ditulis ulang / dibuat ulang di
kelas konkretnya dan diberi detail dari methodnya.
- jika method abstrak di turunkan dan kelas turunannya adalah kelas abstrak,
maka tidak perlu menulis ulang method yang abstrak.
sementara itu dulu
aturan yang harus dipahami ketika anda membuat kelas abstrak dan menggunakan
kelas abstrak, aturan – aturan lain akan anda temui ketika anda mulai
membuatnya.
Public double area()
{ => Untuk mencari tinggi
dan lebar area.
Public double
circumference() { => Untuk Mencari tinggi dan lebar cicrcumference.
Return “Persegi
panjang”; => mengembalikan nilai persegi panjang,
keluar dari method fungsi informasi.
Private adalah kode yang sesuai dengan namanya, akses ini
bersifat private. dengan kata lain data maupun method hanya dapat diakses oleh
kelas yang dimilikinya saja.
- kemudian klik kanan pada Project toy > new > java class
- Kemudian finish
- Lalu ketikan kode program dibawah.
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;
}
}
}
}
}
public String toString(){
String str="";
for (int i=0;i<numberOfTriplet;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();
}
}
public class PhytagoreanTripletToy {
-
Class di beri nama PhytagoreanTripletToy
private int number=0;
private int numberOfTriplet=0;
final int MAX_OF_TRIPLETS = 100;
-
Variable number dan numberOfTriple bertipe data
int(interger)
private int[] tripletA = new int [MAX_OF_TRIPLETS];
private int[] tripletB = new int [MAX_OF_TRIPLETS];
private int[] tripletC = new int [MAX_OF_TRIPLETS];
-
Dengan menggukanan data dan method dengan
tingkat akses private,maka data dan method tersebut hanya dapat di akses oleh
kelas yang di milikinya saja. Modifier private, menunjukkan bahwa suatu
class, method atau variabel hanya dapat diakses dari dalam kelas tersebut.
modifier ini biasanya digunakan untuk kelas, method, atau variabel yang memang
ingin disimpan atau tidak dapat digunakan oleh kelas yang lain (tidak berguna
untuk kelas yang lain).
public PhytagoreanTripletToy(int
number) {
this.number = number;
bruteForce();
}
Kata kunci this
dipergunakan pada pembuatan kelas dan digunakan untuk menyatakan objek
sekarang. Untuk menghindari variabel yang sama antara variabel class dengan
variabel property.
public int getNumberOfTriplet(){
return numberOfTriplet;
}
public int getNumber() {
return number;
}
Method Set dan Get
sebenarnya adalah suatu method untuk mengubah dan mendapatkan nilai suatu
variabel.
Dalam JAVA, statement Return
ini digunakan untuk keluar dari eksekusi kode program yang terdapat dalam
sebuah method.
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;
}
}
}
}
}
-
Public void Suatu anggota kelas (class
member) dideklarasikan sebagai public, maka anggota tersebut akan bisa
digunakan oleh siapa saja, yaitu baik oleh kelas yang sama, kelas lain maupun
lingkungan luar kelas. Sehingga anggota kelas (class member) yang
dideklarasikan sebagai public akan bisa diakses oleh sembarang object lain.
-
Fungsi increment adalah, sebuah fungsi yang akan selalu menambahkan nilai 1 pada variabel
yang dikenai oleh fungsi tersebut. Dalam kasus di atas, variabel yang dikenai
oleh fungsi increment adalah variabel i,
dan fungsi decrement adalah sebaliknya.
-
int i;
Proses pendeklarasian variabel yang akan kita gunakan dalam program. Semua
variabel yang akan digunakan harus dideklarasikan terlebih dahulu. Dalam
kasus kali ini, kita hanya membutuhkan 1 variabel saja yaitu variabel i,
maka yang kita deklarasikan pun cuma 1 variabel saja.
-
for
(int i=1;i<=number;i++){
Variabel i yang
sudah dideklarasikan tadi di atas, akan langsung dimasukkan ke dalam perulangan.
-
If dan case digunakan jika
ingin membuat suatu perbandingan atau membuat pilihan pada suatu nilai. If dan
case mempunyai tujuan yang sama yaitu percabangan. Semua tergantung kita mau
pilih yang mana karena output program sama saja. Bedanya hanya pada penulisan
sintak program .
public String toString(){
String str="";
for (int i=0;i<numberOfTriplet;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();
}
}
-
System.out.println(new
PhytagoreanTripletToy(10));
Akan
menampilkan tulisan "Hasil Fungsi FOR ke - ....." ke
layar monitor . Titik titik (.....) akan diisi oleh nilai i.
-
String adalah tipe data
untuk teks yang merupakan gabungan huruf, angka, whitespace (spasi), dan
berbagai karakter. Fungsi ini digunakan untuk membuat identifier String/teks.
Tampilan selanjutnya
dari program java membuat PhytagoreanToy.java
yang sudah dapat di jalankan atau
di run dengan menggunakan NetBeans :
Tampilan Output dari Program di atas :