Konsep PBO, Objek, Class,Konstruktor, Method dengan JAVA

Konsep Pemograman Berorientasi Objek


Menggunakan Libary yang sudah ada dapat digunakan lagi untuk mengembangkan software yang ada untuk membuat software yang baru.
Elemen-elemen dari PBO :
1. Inherintance (penurunan)
Kemampuan untuk mewariskan field, method, maupun event dari class dasar (based class) keketurunannya (derived class) untuk mengirimkan kode program
2. Encapsulation (pengkapsulan)
Kemampuan untuk menyembunyikan data dalam class sehingga data hanya bisa dimanipulasi melalui subrutin atau fungsi atau class itu sendiri dan turunanya.
3. Poliymorphism
Kemampuan untuk mengambil alih(overidding) metode dengan metode yang memiliki nama sama, tetapi melakukan hal yang berbeda. 

// file mahasiswa.java

class mahasiswa
{
            int nim;                                                //field (variabel instan)
            String nama;
            double absen,UTS,UAS,tugas;
           
            mahasiswa(int nomor,String nama_mhs) //konstruktor
            {                      //(method yg otomatis dipanggil saat object dibuat)
                        nim=nomor;
                        nama=nama_mhs;
            }
           
public void set_nilai(double nilai_1, double nilai_2,double nilai_3,double nilai_4)
//method
            {                                                                                                         
 //(fungsi/prosedur)
                        absen=nilai_1;
                        tugas=nilai_2;
                        UTS=nilai_3;
                        UAS=nilai_4;
                        System.out.println ("Nilai sudah diset!");      
            } //method
           
            public double hitung_nilai()
            {
                        double nilai = 0.1 * absen + 0.2 * tugas + 0.3 * UTS + 0.4 * UAS;
                        return nilai;
            } //method
           
  public static void main(String[] args)
  {
    mahasiswa mhs; // deklarasi variabel tipe class
   
    mhs = new mahasiswa(535000001,"Budi"); //pembuatan object mhs1
   
    mahasiswa mhs2 = new mahasiswa(535990001,"Budi");
   
    mhs1.set_nilai(100,80,65.5,89.7); //operator dot
    double point1 = mhs1.hitung_nilai();
    System.out.println ("Nilai "+mhs1.nama+" adalah "+point1);
   
    mhs2.set_nilai(90,90,90.8,59.5);
    double point2 = mhs2.hitung_nilai();
    System.out.println ("Nilai "+mhs2.nama+" adalah "+point2);
  }
}

Objek dan Class

Objek adalah segala sesuatu yang memiliki batas. Misal : pena ,kucing, kue.
Class adalah Blueprint atau cetakan dari objek.

Contoh analogi : “ kelas itu seperti cetakan kue, kelas adalah cetakan untuk objek “
Seperti halnya cetak kue sejumlah  kue dapat diciptakan dengan menggunakan sebuah cetakan. Begitu juga juga halnya dengan class sejumlah  objek  dapat diciptakan oleh Class.
Contoh objek :
    mahasiswa mhs1;
    mhs1 = new mahasiswa(535000001,"Budi");

Mhs merujuk ke objek yang bernama mahasiswa.

Konstruktor
Konstruktor adalah Metode yang dapat digunakan untuk memberikan nilai awal saat objek di ciptakan. Metode ini di panggil secara otomatis oleh java ketika new dipakai untuk menciptakan instan kelas.
Sifat konstruktor :
  1. Namanya sama dengan nama kelas
  2. Tidak memiliki nilai balik (termasuk tidak bileh ada kata-kata void)
contoh pada program mahasiswa.java

            mahasiswa(int nomor,String nama_mhs) //konstruktor
            {                     
                        nim=nomor;
                        nama=nama_mhs;
            }

Metode /method
Metode /method adalah sebuah fungsi (subProgram ) yang melekat pada sebuah objek atau instan kelas. Atau kita mengenal dengan nama fungsi atau prosedur
Contoh pada program mahasiswa.java

public void set_nilai(double nilai_1, double nilai_2,double nilai_3,double nilai_4)
            {                                                                                                        
                        absen=nilai_1;
                        tugas=nilai_2;
                        UTS=nilai_3;
                        UAS=nilai_4;
                        System.out.println ("Nilai sudah diatur");     
            }
           
            public double hitung_nilai()
            {
                        double nilai = 0.1 * absen + 0.2 * tugas + 0.3 * UTS + 0.4 * UAS;
                        return nilai;
            }
 
Inheritance (Pewarisan)

Suatu class dalam dapat diturunkan (diwariskan) dari class lain. Misalkan class b diturunkan dari class a.
 Penggambaran:  


Class yang merupakan turunan dari class lain (dalam hal ini, class b) disebut child class atau subclass (dari contoh diatas, dapat disebut juga bahwa class b adalah subclass dari class a). Sedangkan  class yang dari mana class lain diturunkan (dalam hal ini,class a) disebut parent class atau superclass (dari contoh diatas, dapat disebut juga bahwa class a adalah superclass dari class b).
Dalam java, untuk menurunkan suatu class dari class lain gunakan keyword extends sesudah deklarasi class.

Syntax :

class nama_subclass extends nama_superclass

Class yang diturunkan dari class lain (subclass) akan memiliki sifat-sifat dari superclassnya. Dalam hal ini, suatu subclass akan mewarisi semua method dan field yang terdapat pada superclassnya.

Contoh :
class katt
{
  int jumlah_ekor = 1;  //field
 
  public void makan() //method
  {
    System.out.println("Makan");
  }
}
class siam extends katt //class siam adalah turunan class katt
{
  public static void main(String[] args)
  {
    siam siam1 =  new siam();
    siam1.jumlah_ekor = 10; // class siam memiliki field
   //jumlah_ekor karena jumlah_ekor diturunkan dari class katt
    siam1.makan();  // akan mencetak "Makan"
  } 
}
 
Pada contoh diatas, class siam adalah turunan dari class katt. Karena itu, field jumlah_ekor dan method makan pada class katt otomatis diwariskan pada class siam.
 

Overriding


Apabila pada  suatu class kita mendefinisikan suatu method yang sudah ada pada superclassnya, maka dikatakan bahwa kita melakukan overriding untuk method tersebut.

Contoh :

  class katt
{
  public void makan() //method
  {
    System.out.println("Makan");
  }
}
class siam extends katt //class siam adalah turunan class katt
{
  public void makan() //overriding
  {
    System.out.println("Makan Ikan");
  }
  public static void main(String[] args) //overriding
  {
    siam siam1 =  new siam();
    katt katt1 = new katt();
    katt1.makan(); //mencetak "Makan"
    siam1.makan(); //mencetak "Makan Ikan"
  }
}

Dari contoh diatas, class siam yang merupakan turunan dari class katt melakukan overriding untuk method makan. 

USE Case Diagram

Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagainya. Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu.

Use case diagram dapat sangat membantu bila kita sedang menyusun requirement sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua feature yang ada pada sistem. Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal. Sebuah use case dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common. Sebuah use case juga dapat meng-extend use case lain dengan behaviour-nya sendiri. Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan
spesialisasi dari yang lain.

Contoh Use Case Diagram Payroll Karyawaan

Tugas Project

Gaji pegawai Untar :
Buat Class namanya hitung didalamnya ada method-method  hitung absen, hitung lembur, hitung gaji   lalu buatlah objek yang namanya karyawaan.

Nb : Rumus adalah :
1. hitungAbsen = Absen –ijin-alpha-sakit
2. hitung Lembur= jumlahJam * 10000
3. hitungGaji= gajiPokok+hitungLembur+(hitungabsen*nilaiTransport)



0 komentar:

Posting Komentar

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
This Theme Modified by Kapten Andre based on Structure Theme from MIT-style License by Jason J. Jaeger