Implementasi konsep OOP pada Java: Inheritas

Klik tautan ini untuk melihat rangkaian artikel yang termasuk ke dalam Implementasi konsep OOP pada Java.

Pembahasan kita selanjutnya adalah Inheritas.

Inheritas

Kita akan membuat:

  1. obyek balok yang merupakan turunan dari kelas segiempat
  2. obyek bola yang merupakan turunan dari kelas lingkaran

Membuat obyek balok

Contoh Parent class segiempat:

public class segiempat{
	//atribut
		private int panjang;
		private int lebar;

	//konstruktor
		segiempat(){
			//System.out.println("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 Child class balok:

public class balok extends segiempat{
	//atribut
		private int tinggi;

	//konstruktor
		balok(){
			System.out.println("Telah lahir obyek balok");
		}
		
		balok(int panjang,int lebar,int tinggi){
			setpanjang(panjang);
			setlebar(lebar);
			this.tinggi = tinggi;
			System.out.println("Telah lahir obyek balok dengan :");
			printatribut();
		}
	
	//get dan set
		public int gettinggi(){
			return tinggi;
		}
		
		public void settinggi(int tinggi){
			this.tinggi=tinggi;
		}
		
	//print atribut
		public void printatribut(){
			super.printatribut();
			System.out.println("tinggi = "+tinggi);
		}
		
	//method-method lain	
		public int hitungVolume(){
			return hitungLuas()*tinggi;
		}
		
		public int hitungLuasPermukaan(){
			return 2*(hitungLuas()+(getpanjang()*tinggi)+(getlebar()*tinggi));
		}
}

Contoh pembuatan obyek balok di dalam Class driver:

public class driver{
	public static void main(String[] args){
		System.out.println("------------Program inheritance-balok oleh Raja David H./113091045--------------\n");
		//segiempat
			balok blk = new balok(3,4,5);
			System.out.println("volume balok 1 : "+blk.hitungVolume());
			System.out.println("luas permukaan balok 1: "+blk.hitungLuasPermukaan()+"\n");
		//coba set
			System.out.println("coba set : ");
			blk.setpanjang(6);
			blk.setlebar(7);
			blk.settinggi(8);
			blk.printatribut();
			System.out.println("volume balok 1 : "+blk.hitungVolume());
			System.out.println("luas permukaan balok 1: "+blk.hitungLuasPermukaan()+"\n");
			
		System.out.println("--------------------------------------------------------------------------------");
	}
}

Membuat obyek bola

Contoh Parent class 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 Child class bola:

public class bola extends lingkaran{
	//atribut 

	//konstruktor
		bola(){
			System.out.println("Telah lahir obyek bola");
		}
		
		bola(float radius){
			setradius(radius);
			System.out.println("Telah lahir obyek bola dengan :");
			printatribut();
		}
	
	//get dan set -> idem dengan class lingkaran
		
	//print atribut -> idem dengan class lingkaran
		
	//method-method lain	
		public double hitungVolume(){
			return (4*hitungLuas()*getradius())/3;
		}
		
		public double hitungLuasPermukaan(){
			return 4*hitungLuas();
		}
}

Contoh pembuatan obyek bola di dalam Class driver:

public class driver{
	public static void main(String[] args){
		System.out.println("------------Program inheritance-bola oleh Raja David H./113091045--------------\n");
		//segiempat
			bola bl1 = new bola(7);
			System.out.println("volume bola 1 : "+bl1.hitungVolume());
			System.out.println("luas permukaan bola 1: "+bl1.hitungLuasPermukaan()+"\n");
			bola bl2 = new bola(5);
			System.out.println("volume bola 2 : "+bl2.hitungVolume());
			System.out.println("luas permukaan bola 2: "+bl2.hitungLuasPermukaan()+"\n");
			
		//coba set
			System.out.println("coba set bola 1: ");
			bl1.setradius(49);
			bl1.printatribut();
			System.out.println("volume bola 1 : "+bl1.hitungVolume());
			System.out.println("luas permukaan bola 1: "+bl1.hitungLuasPermukaan()+"\n");
			
		System.out.println("--------------------------------------------------------------------------------");
	}
}

Leave a comment