Tugas Minggu 3 - Alpro 2 - Si UNIPDU

Class & Object

A. Pengertian OOP

Dalam bahasa indonesia, Pemrograman Berorientasi Objek (PBO) atau Object Oriented Programming (OOP) adalah jenis pemrograman komputer di mana programmer mendefinisikan tipe data dari struktur data, dan juga jenis operasi (fungsi) yang dapat diterapkan pada struktur data. Kemudian, struktur data ini yang nantinya akan menjadi objek yang meliputi data dan fungsi. 

Selain itu, programmer dapat menciptakan hubungan antar objek. Misalnya, karakteristik suatu objek dapat menurun dari objek lain.

Berikut merupakan komponen OOP yang perlu diketahui.

1. Class

Class bertugas untuk mengumpulkan prosedur/fungsi dan variabel dalam satu tempat. Class merupakan blueprint dari sebuah objek atau cetakan untuk membuat objek.

Contoh penggunaan class


public class BangunDatar {
    
    //Deklarasi Variabel
    
}


2. Object

Object adalah instance dari class secara umum merepresentasikan (template) sebuah object, sebuah instance adalah representasi nyata dari class itu sendiri.

Contoh object


public class Main {
	public static void main(String args[]){
	
    // Ini adalah object untuk Bangun Datar
    bangunDatar bangundatar = new bangunDatar();
    
    }
}

3. Attribute

Attribute merupakan bagian dari sebuah class yang masih berhubungan erat dari class tersebut. Atribut bisa juga disebut sebagai properti atau properties dari sebuah class. Contohnya ketika kamu punya sebuah Class Mahasiswa, maka kamu dapat menambahkan atribut seperti nama, umur, alamat dsb.

Contoh Penggunaan Atribut


public class Mahasiswa{
	String nama, alamat;
	Int umur;

	Mahasiswa(){  //konstruktor
	nama = “unknown”; //attribute
	umur = “unknown”; //attribute
	alamat = “unknown” //attribute
}

4. Method (Void dan Return)

Method berperan menjelaskan bagaimana suatu atribut beraksi. Peran yang dimaksud berupa tingkah laku (behavior) yang dapat digambarkan oleh suatu method. Method ini ada 2 bagian yaitu method void dan void return.

1. Void adalah method yang tidak memiliki nilai kembali/return.

2. Return adalah method yang mengembalikan nilai secara langsung atau sebuah nilai dari variable.

Contoh


class Mahasiswa{
    Public String nama, alamat;
    Public Int umur;

	Mahasiswa(){  //constuctor
	nama = “unknown”; //attribute
	umur = “unknown”; //attribute
	alamat = “unknown”; //attribute

public void PrintData() { //Method

	System.out.println(“Nama : “+this.nama);
    System.out.println(“Umur : “+this.umur);
    System.out.println(“Alamat : “+this.alamat);
	}
}

//Class Main
public class Main {
	public static void main(String[] args) {

	Mahasiswa mhs = new Mahasiswa();
	mhs.PrintData(); //Pemanggilan Method pada Main.cs
}
}

Contoh Program Class dan Object
1. Induk Class Bangun Datar

public class BangunDatar {
    
    //Deklarasi Variabel
    float luas, keliling;
    
    float luas(){
        System.out.println("Menghitung luas bangun datar");
        return 0;
    }
    
    float keliling(){
        System.out.println("Menghitung keliling bangun datar");
        return 0;
    }
}
2. Class untuk Persegi

public class ClassPersegi extends BangunDatar {
    int panjang = 4;
    int lebar = 4;
    int sisi;
    
    @Override
    float luas(){
      return this.sisi * this.sisi;
    }
    
    @Override
    float keliling(){
      return this.panjang * this.lebar;
    }
}
3. Class untuk Lingkaran

public class ClassLingkaran extends BangunDatar {
    float r;
    double phi = 3.14;
    
    @Override
    float luas(){
    return (float) (phi * this.r * this.r);
    }
    
    @Override
    float keliling(){
    return (float) (2 * phi * this.r);
    }
}


4. Class untuk Persegi Panjang

public class ClassPersegiPanjang extends BangunDatar {
    int panjang;
    int lebar;
    
    @Override
    float luas(){
        return this.panjang * this.lebar;
    }
    
    @Override
    float keliling(){
        return (float) (2 * this.panjang + this.lebar);
    }
}
5. Class untuk Segitiga

public class ClassSegitiga extends BangunDatar {
    float alas;
    float tinggi;
    int sisi;
    
    @Override
    float luas(){
        return (float) (0.5 * this.alas * this.tinggi);
    }
    
    @Override
    float keliling(){
        return this.sisi * this.sisi * this.sisi;
    }
}


6. Class Main

public class ClassMain {
    public static void main(String args[]){
        
        // Objek Bangun Datar
        BangunDatar bangunDatar = new BangunDatar();
        
        // Objek Persegi
        ClassPersegi persegi = new ClassPersegi();
        persegi.sisi = 2;
        
        // Objek Lingkaran
        ClassLingkaran lingkaran = new ClassLingkaran();
        lingkaran.r = 22;
        
        // Objek Persegi Panjang
        ClassPersegiPanjang persegiPanjang = new ClassPersegiPanjang();
        persegiPanjang.panjang = 8;
        persegiPanjang.lebar = 4;
        
        // Objek Segitiga
        ClassSegitiga segitiga = new ClassSegitiga();
        segitiga.alas = 12;
        segitiga.tinggi = 8;
        segitiga.sisi = 5;
        
        
        // Calling method
        bangunDatar.luas();
        bangunDatar.keliling();
        System.out.println("----------------------------------------------------");
        
        persegi.luas();
        persegi.keliling();
        System.out.println("Hasil luas persegi : "+persegi.luas());
        System.out.println("Hasil keliling persegi : "+persegi.keliling());
        System.out.println();
        
        lingkaran.luas();
        lingkaran.keliling();
        System.out.println("Hasil luas lingkaran : "+lingkaran.luas());
        System.out.println("Hasil keliling lingkaran : "+lingkaran.keliling());
        System.out.println();
        
        persegiPanjang.luas();
        persegiPanjang.keliling();
        System.out.println("Hasil luas persegi panjang : "+persegiPanjang.luas());
        System.out.println("Hasil keliling persegi panjang : "+persegiPanjang.keliling());
        System.out.println();
        
        segitiga.luas();
        segitiga.keliling();
        System.out.println("Hasil luas segitiga : "+segitiga.luas());
        System.out.println("Hasil keliling segitiga : "+segitiga.keliling());
    }
}

Komentar

Postingan populer dari blog ini

Tugas 13 - Alpro 1 - SI UNIPDU