Implementasi konsep OOP pada Java: Obyek

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:

  1. obyek poligon: lingkaran, segi empat, segitiga siku
  2. 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

Design a site like this with WordPress.com
Get started