Klik tautan ini untuk melihat rangkaian artikel yang termasuk ke dalam Implementasi konsep OOP pada Java.
Pembahasan kita selanjutnya adalah Obyek.
Obyek
Kita akan membuat:
- obyek poligon: lingkaran, segi empat, segitiga siku
- obyek garis dan titik 2 dimensi
Membuat obyek poligon
Contoh kelas lingkaran:
public class lingkaran{
//atribut
private float radius;
//konstruktor
lingkaran(){
System.out.printf("Telah lahir obyek lingkaran");
}
lingkaran(float radius){
this.radius = radius;
System.out.println("Telah lahir obyek lingkaran dengan :");
printatribut();
}
//get dan set
public float getradius(){
return radius;
}
public void setradius(float radius){
this.radius=radius;
}
//print atribut
public void printatribut(){
System.out.println("radius = "+radius);
}
//method-method lain
public double hitungLuas(){
if (radius%7==0){
return (22*radius*radius)/7;
} else {
return Math.PI*radius*radius;
}
}
public double hitungKeliling(){
if (radius%7==0){
return (22*radius*2)/7;
} else {
return Math.PI*radius*2;
}
}
}
Contoh kelas segiempat:
public class segiempat{
//atribut
private int panjang;
private int lebar;
//konstruktor
segiempat(){
System.out.printf("Telah lahir obyek segiempat");
}
segiempat(int panjang,int lebar){
this.panjang = panjang;
this.lebar = lebar;
System.out.println("Telah lahir obyek segiempat dengan :");
printatribut();
}
//get dan set
public int getpanjang(){
return panjang;
}
public void setpanjang(int panjang){
this.panjang=panjang;
}
public int getlebar(){
return lebar;
}
public void setlebar(int lebar){
this.lebar=lebar;
}
//print atribut
public void printatribut(){
System.out.println("panjang = "+panjang);
System.out.println("lebar = "+lebar);
}
//method-method lain
public int hitungLuas(){
return panjang*lebar;
}
public int hitungKeliling(){
return 2*(panjang+lebar);
}
}
Contoh kelas segitigasiku:
public class segitigasiku{
//atribut
private int alas;
private int tinggi;
//konstruktor
segitigasiku(){
System.out.printf("Telah lahir obyek segitiga");
}
segitigasiku(int alas,int tinggi){
this.alas = alas;
this.tinggi = tinggi;
System.out.println("Telah lahir obyek segitiga dengan :");
printatribut();
}
//get dan set
public int getalas(){
return alas;
}
public void setalas(int alas){
this.alas=alas;
}
public int gettinggi(){
return alas;
}
public void settinggi(int tinggi){
this.tinggi=tinggi;
}
//print atribut
public void printatribut(){
System.out.println("alas = "+alas);
System.out.println("tinggi = "+tinggi);
}
//method-method lain
public double hitungLuas(){
return 0.5*(alas*tinggi);
}
public double hitungKeliling(){
return alas+tinggi+Math.sqrt((alas*alas)+(tinggi*tinggi));
}
}
Contoh pembuatan obyek poligon dalam kelas Driver:
public class driver{
public static void main(String[] args){
System.out.println("---------------Program Poligon oleh Raja David H./113091045-----------------\n");
//segiempat
segiempat sgmpt = new segiempat(3,4);
System.out.println("luas segiempat 1 : "+sgmpt.hitungLuas());
System.out.println("keliling segiempat 1: "+sgmpt.hitungKeliling()+"\n");
//coba set
System.out.println("coba set : ");
sgmpt.setpanjang(5);
sgmpt.setlebar(6);
sgmpt.printatribut();
System.out.println("luas segiempat 1 : "+sgmpt.hitungLuas());
System.out.println("keliling segiempat 1: "+sgmpt.hitungKeliling()+"\n");
System.out.println("===========================================================================\n");
//lingkaran
lingkaran ling1 = new lingkaran(7);
System.out.println("luas lingkaran 1 : "+ling1.hitungLuas());
System.out.println("keliling lingkaran 1 : "+ling1.hitungKeliling()+"\n");
lingkaran ling2 = new lingkaran(5);
System.out.println("luas lingkaran 2 : "+ling2.hitungLuas());
System.out.println("keliling lingkaran 2 : "+ling2.hitungKeliling()+"\n");
//coba set
System.out.println("coba set ling1: ");
ling1.setradius(49);
ling1.printatribut();
System.out.println("luas lingkaran 1 : "+ling1.hitungLuas());
System.out.println("keliling lingkaran 1 : "+ling1.hitungKeliling()+"\n");
System.out.println("===========================================================================\n");
//segitigasiku
segitigasiku sgsk = new segitigasiku(3,4);
System.out.println("luas segitiga 1: "+sgsk.hitungLuas());
System.out.println("keliling segitiga 1: "+sgsk.hitungKeliling());
//coba set
System.out.println("coba set : ");
sgsk.setalas(6);
sgsk.settinggi(8);
sgsk.printatribut();
System.out.println("luas segitiga 1 : "+sgsk.hitungLuas());
System.out.println("keliling segitiga 1: "+sgsk.hitungKeliling()+"\n");
System.out.println("----------------------------------------------------------------------------");
}
}
Membuat garis dan titik 2 dimensi
Contoh kelas garis2D:
public class garis2D{
//atribut
private float x1;
private float y1;
private float x2;
private float y2;
//konstruktor
public garis2D(){
System.out.println("Telah lahir obyek garis 2D");
}
public garis2D(float x1,float y1,float x2,float y2){
this.x1 = x1;
this.y1 = y1;
this.x2 = x2;
this.y2 = y2;
System.out.println("Telah lahir obyek garis 2D dengan :");
printatribut();
}
//get dan set
//obyek 1
public float getx1(){
return x1;
}
public void setx1(float x1){
this.x1 = x1;
}
public float gety1(){
return y1;
}
public void sety1(float y1){
this.y1 = y1;
}
//obyek 2
public float getx2(){
return x2;
}
public void setx2(float x2){
this.x2 = x2;
}
public float gety2(){
return y2;
}
public void sety2(float y2){
this.y2 = y2;
}
//print atribut
public void printatribut(){
System.out.println("x1 = "+x1);
System.out.println("y1 = "+y1);
System.out.println("x2 = "+x2);
System.out.println("y2 = "+y2);
}
//method2 lain
public double panjang(){
return Math.sqrt(((x2-x1)*(x2-x1))+((y2-y1)*(y2-y1)));
}
public double gradien(){
return (y2-y1)/(x2-x1);
}
public double xtengah(){
return (x2-x1)/2;
}
public double ytengah(){
return (y2-y1)/2;
}
}
Contoh kelas titik2D:
import java.text.DecimalFormat;
public class titik2D{
//atribut
private double x;
private double y;
DecimalFormat desimal = new DecimalFormat ("0.0");
//konstruktor
public titik2D(){
System.out.println("Telah lahir obyek titik 2D");
}
public titik2D(double x,double y){
this.x = x;
this.y = y;
System.out.println("Telah lahir obyek titik 2D dengan :");
printatribut();
}
//get dan set
public double getx(){
return x;
}
public void setx(double x){
this.x = x;
}
public double gety(){
return y;
}
public void sety(double y){
this.y = y;
}
//print atribut
public void printatribut(){
System.out.println("x = "+x);
System.out.println("y = "+y);
}
//method2 lain
public double jarakorigin(){
return Math.sqrt((x*x)+(y*y));
}
public void translasi(int dx,int dy){
System.out.println("x = "+dx+x);
System.out.println("y = "+dy+y);
}
public void dilatasi(double k){
System.out.println("x = "+k*x);
System.out.println("y = "+k*y);
}
public void rotasi(double theta){
System.out.println("x = " +desimal.format((Math.cos(theta)*x)-(Math.sin(theta)*y)));
System.out.println("y = " +desimal.format((Math.sin(theta)*x)+(Math.cos(theta)*y)));
}
public void mirrorsbx(){
y = -1*y;
printatribut();
}
public void mirrorsby(){
x = -1*x;
printatribut();
}
}
Contoh pembuatan obyek garis dan titik dalam kelas Driver:
public class driver{
public static void main(String[]args){
System.out.println("---------------Tugas 2 oleh Raja David H./113091045-----------------\n");
//class time
time waktu = new time(3,30,30);
System.out.println("jika dijadikan detik :"+waktu.selisihooo());
System.out.println("====================================================================\n");
//class titik 2D
titik2D point = new titik2D(3,4);
System.out.println("jarak origin :"+point.jarakorigin());
System.out.println("translasi (2,5): ");
point.setx(3);
point.sety(4);
point.translasi(2,5);
System.out.println("dilatasi->; 1.5 kali : ");
point.setx(3);
point.sety(4);
point.dilatasi(1.5);
System.out.println("rotasi 90 derajat : ");
point.setx(3);
point.sety(4);
point.rotasi(Math.toRadians(90));
System.out.println("dicerminkan dengan sumbu x: ");
point.setx(3);
point.sety(4);
point.mirrorsbx();
System.out.println("dicerminkan dengan sumbu y: ");
point.setx(3);
point.sety(4);
point.mirrorsby();
System.out.println("====================================================================\n");
//class garis 2D
garis2D line = new garis2D(3,4,6,8);
System.out.println("panjang : "+line.panjang());
System.out.println("gradien: "+line.gradien());
System.out.println("x tengah : "+line.xtengah());
System.out.println("y tengah : "+line.ytengah());
System.out.println("----------------------------------------------------------------------");
}
}


Leave a comment