Rabu, 11 Mei 2016

Bentuk umum Constructor

[modifier] namaConstructor (tipe namaparameter) {
            constructorbody;
}
 
sumber: http://vidy78.blogspot.co.id/2016/05/bentuk-umum-constructor.html

Modifier

Modifier adalah kata,phrase , atau clause yang berfungsi sebagai adjective atau adverb yang menerangkan kata atau kelompok kata lain. Sebagai adjective dan adverb ketika berfungsi sebagai adjective ( dapat berupa simple adjective, adjective phrase, clause participle, infinitive ), modifier menerangkan noun, sedangkan ketika berfungsi sebagai adverb ( dapat berupa simple adverb , adverb phrase, clause, preposition phrase,infinitive), kata ini menerangkan verb, adjective atau adverb lain.
Contoh Program Modifier
Public class bank balance
{
public String owner
public int balance
public bank_balance(String name, int dollars )
{
owner = name;
if(dollars > = 0)
balance = dollars;
else
dollars =0;
}
}

sumber:

Modifier

Modifier adalah kata,phrase , atau clause yang berfungsi sebagai adjective atau adverb yang menerangkan kata atau kelompok kata lain. Sebagai adjective dan adverb ketika berfungsi sebagai adjective ( dapat berupa simple adjective, adjective phrase, clause participle, infinitive ), modifier menerangkan noun, sedangkan ketika berfungsi sebagai adverb ( dapat berupa simple adverb , adverb phrase, clause, preposition phrase,infinitive), kata ini menerangkan verb, adjective atau adverb lain.
Contoh Program Modifier
Public class bank balance
{
public String owner
public int balance
public bank_balance(String name, int dollars )
{
owner = name;
if(dollars > = 0)
balance = dollars;
else
dollars =0;
}
}

sumber: http://vidy78.blogspot.co.id/2016/05/modifier.html

Konstruktor dan $THIS

1. Konstruktor
Konstruktor (construct) adalah sebuah method yang secara otomatis akan dijalankan ketika object dibuat (instansiasi). yaitu pada saat perintah new dijalankan. Biasanya konstruktor digunakan untuk memberikan nilai awal pada sebuah objek. seperti pemberian nilai pada property atau pemanggilan method internal (method dalam class yang sama).
2. $this
$this adalah sebuah variabel khusus dalam OOP PHP yang digunakan sebagai penunjuk kepada objek, ketika kita mengaksesnya dari dalam class. Dalam manual PHP, $this disebut dengan istilah: pseudo-variable.

KONSTRUKTOR(construct)
Sifat-sifat Constructor
1. Namanya sama dengan nama class
2. Boleh memiliki argument lebih dari satu atau tidak sama sekali.
3. Tidak boleh mengembalikan nilai (termasuk tidak ada kata-kata void).

Bentuk umum Constructor
[modifier] namaConstructor (tipe namaparameter) {
constructorbody;
}

sumber: http://vidy78.blogspot.co.id/2016/05/konstruktor-dan-this.html
  • Pewarisan Interface

Sebuah kelas dapat mewarisi interface dengan menggunakan kata kunci implements, dimana kelas tersebut dapat mewarisi beberapa interface.
Contoh Mewarisi interface:

public class NamaKelas
    implements NamaInterface {
    public void namaProsedur(){
        // isi prosedur     }
    public TipeData namaFungsi(){
        // isi fungsi     }}


Pewarisan Antar Interface Interface dapat mewarisi interface lainnya menggunakan kata kunci extends.
Interface dapat mewarisi lebih dari satu interface.

Contoh Pewarisan Antar Interface
public interface NamaInterface
    extends InterfaceLain, InterfaceDua {
    // isi interface }
  • Pengertian Casting OBJEK
·       
          Pengertian Casting

Typecasting atau casting adalah proses konversi data dari tipe data tertentu ke tipe data yang lain.
·         Jenis Casting :
Casting data dengan Tipe Primitive.
Pengkonversian nilai dari satu tipe ke tipe yang lainnya, dapat dilakukan pada casting tipe primitif.
Umumnya digunakan antar tipe data numerik.
Terdapat satu tipe data yang tidak dapat dikonversi, yaitu boolean.


·         Tipe Casting:
+ Casting Implisit
Contoh: (Deklarasi penyimpanan sebuah data integer dalam sebuah variabel dengan tipe data double)
int numInt1 = 1;
int numInt2 = 2;
//hasilnya secara implisit tercasting menjadi double
double numDouble = numInt1/numInt2;

+ Casting Explisit
Contoh:
(dataType)value dataType - bentuk tipe data konversi
value - ekspresi yang me-return value dari tipe sumber


·         Casting Object.
Casting objek terdapat dua jenis yaitu :
* Casting Objek Implisit
* Casting Objek Eksplisit


·         Penggunaan Casting
Casting diperlukan ketika kita akan “memaksa” penyesuaian dari satu tipe data ke tipe data lain.
Pada pemrograman berbasis objek casting diperlukan untuk menyesuaikan suatu tipe objek (class) ke tipe objek (class) lain.
Program Casting   .
Sumber : http://raffikoboijelek.blogspot.co.id/2016/05/pengertian-casting-objek.html




Pengertian Overloading , Overriding , Inheritance , Encapsulation

Overloading Merupakan Suatu Function yang memiliki parameter , dan function tersebut dapat memiliki nama function yang sama dengan yang lainnya dengan syarat jumlah parameter mesti berbeda
atau bisa kita bilang Situasi di mana beberapa rutin dalam sebuah program dapat mempunyai nama sama tetapi berbeda jenis parameter dan/utau jenis return value.
lebih Jelasnya Overloading secara singkat :
  • Nama Method Boleh Sama , Tapi Jumlah Parameter Mesti berbeda
  • Nilai Yang Di Return Harus memiliki Tipe yang sama
Sample Overloading pada function TaxCalc pada C#.Net :
public static double TaxCalc(double pamt1, double prate1, double pamt2,
double prate2)
{
double taxamt;
Console.WriteLine(“Using method with 4 arguments”);
taxamt = (pamt1 * prate1) + (pamt2 * prate2);
return taxamt;
} // *** TaxCalc ***
// This method only takes two arguments: an amount and a rate
public static double TaxCalc(double pamt1, double prate1)
{
double taxamt;
Console.WriteLine(“Using method with 2 arguments”);
taxamt = pamt1 * prate1;
return taxamt;
} // *** TaxCalc ***
// This method only takes one argument: an amount
public static double TaxCalc(double pamt)
{
double taxrate = 0.15;
double taxamt = 0;
Console.WriteLine(“Using method with 1 argument”);
taxamt = pamt * taxrate;
return taxamt;
} // *** TaxCalc ***
// This method only takes one argument as well but it differs
// from the above in the argument type.
public static double TaxCalc(string whichtable)
{
double taxrate = 0;
Console.WriteLine(“Calling the method with 1 string argument”);
if (whichtable == “TaxTable1″)
taxrate = 0.15;
return taxrate;
}
Overriding Merupakan Suatu Keadaan Dimana kelas anak dapat mengubah atau bisa kita bilang memodifikasi atau memperluas data dan method pada kelas induk
Keuntungan Overriding : dapat menambahkan sifat / atribut pada kelas induk nya
contoh Overriding pada C#.Net
abstract class ShapesClass
{
    abstract public int Area();
}
class Square : ShapesClass
{
    int x, y;
    // Because ShapesClass.Area is abstract, failing to override
    // the Area method would result in a compilation error.
    public override int Area()
    {
        return x * y;
    }
}
Enkapsulasi = Pembungkusan , maksudnya di sini semua objek yang kita definisikan / bisa juga informasi kita sembunyikan di dalam enkapsulasi tersebut agar tidak dapat dibaca oleh kelas lain yang tidak berhak membacanya. maksudnya secara lebih jelas agar memastikan agar object hanya dapat di ubah oleh object yang mendapat ijin untuk mengubahnya , bila tidak memiliki ijin maka tidak dapat mengubahnya atau membacanya.
Polymorphism = Memiliki Banyak Bentuk.
Contoh Polymorphism
public class BaseClass
{
    public void DoWork() { }
    public int WorkField;
    public int WorkProperty
    {
        get { return 0; }
    }
}
public class DerivedClass : BaseClass
{
    public new void DoWork() { }
    public new int WorkField;
    public new int WorkProperty
    {
        get { return 0; }
    }
}
Inheritance = Pewarisan , Mewariskan objek yang dimiliki ke pada objek yang diturunkan , bersifat menyeluruh.
Kelas yang mewariskan biasa di sebut super class / class induk
Kelas yang diwariskan biasa di sebut sub class / kelas anak
Secara lebih singkat begini :
A sebagai Ayah memiliki Anak bernama B , A berkulit Hitam maka B akan berkulit Hitam jg .
Ini merupakan inheritance terhadap A kepada B , dan inheritance bukan hanya dapat 1x diwariskan , tetapi dapat lebih dari 1x. seperti berikut :
A sebagai Ayah memiliki Anak bernama B , A berkulit Hitam maka B akan berkulit Hitam jg . dan B pun memiliki anak C maka C pun akan berkulit hitam
Keuntungan dari inheritance :
– Tidak perlu mendefinisikan Variabel Bila membutuhkan , Cukup menurunkan dari class induk
– Memudahkan dan Mempercepat pemprogramman , mengurangi Code
Sample inheritance dalam C#.Net
public class A
{
    public A() { }
}
public class B : A
{
    public B() { }
}

Selasa, 10 Mei 2016


  • Pengertian Abstract Class dan Abstract Method

Abstract Class adalah sebuah class yang tidak bisa di-instansiasi (tidak bisa dibuat menjadi objek) dan berperan sebagai ‘kerangka dasar’ bagi class turunannya. Di dalam abstract class umumnya akan memiliki abstract method.

Abstract Method adalah sebuah ‘method dasar’ yang harus diimplementasikan ulang di dalam class anak (child class). Abstract method ditulis tanpa isi dari method, melainkan hanya ‘signature’-nya saja. Signature dari sebuah method adalah bagian method yang terdiri dari nama method dan parameternya (jika ada).

Abstract class digunakan di dalam inheritance (pewarisan class) untuk ‘memaksakan’ implementasi method yang sama bagi seluruh class yang diturunkan dari abstract class. Abstract class digunakan untuk membuat struktur logika penurunan di dalam pemrograman objek.

Konsep abstract class dan abstract method akan lebih mudah dipahami dengan menggunakan contoh.

Misalkan kita ingin membuat class yang terdiri dari berbagai jenis komputer seperti class laptop, class PC, class netbook, dan lain-lain. Seluruh class ini tentunya memiliki sifat-sifat komputer, seperti memiliki spesifikasi, memiliki processor, dan membutuhkan listrik. Dalam implementasinya, kita bisa membuat seluruh class ini diturunkan dari class komputer.

Agar lebih seragam, kita ingin seluruh class yang diturunkan dari class komputer, memiliki method yang ‘pasti’ ada dalam setiap class anak. Setiap komputer tentunya memiliki spesifikasi, sehingga kita ingin setiap class yang diturunkan dari class komputer memiliki method lihat_spec().

Bagaimana caranya ‘memaksa’ setiap class agar memiliki method lihat_spec()? Untuk kebutuhan ini, kita bisa membuat class komputer sebagai abstract class, dan method lihat_spec() sebagai abstract method.

Lebih lanjut, abstract method tidak hanya membuat setiap class memiliki method lihat_spec(), tetapi memaksa setiap method mengimplementasikan method lihat_spec() dengan isi method di serahkan kepada masing-masing class. Tentunya spesifikasi class laptop akan berbeda dengan spesifikasi class PC.

Abstract class memiliki aturan yang membedakannya dengan class biasa. Kita akan membahas aturan-aturan tersebut dengan menggunakan contoh program PHP.



Cara Membuat Abstract Class

Karena kita ingin membuat class komputer sebagai abstract class, maka berikut adalah cara penulisannya di dalam PHP:
<?php
abstract class komputer {
   // isi dari class komputer
}
?>
Untuk membuat abstract class di dalam PHP, kita tinggal menambahkan keyword abstract sebelum nama class. Sebuah abstract class bisa memiliki property dan method biasa layaknya sebuah class ‘normal’, namun juga bisa memiliki abstract method.


Cara Membuat Abstract Method

Jika sebuah method dinyatakan sebagai abstract method, maka kita tidak perlu membuat isi methodnya, tetapi hanya signature dari method tersebut. Signature terdiri dai nama method dan parameternya (jika ada) seperti contoh berikut:

abstract public function lihat_spec();
abstract public function lihat_spec($merk);
 
Kenapa kita tidak perlu membuat isi dari method? Ini karena jika sebuah method dinyatakan sebagai abstract method, isi dari method tersebut akan dibuat dalam class turunan. Abstract method harus berada di dalam abstract class.
Sebagai contoh, berikut adalah cara penulisan abstract method lihat_spec() di dalam abstract class komputer:
<?php
abstract class komputer {
   abstract public function lihat_spec();
}
?>
Perhatikan bahwa kita tidak perlu (baca:tidak bisa) membuat isi dari abstract method.


Abstract Class Tidak Bisa Diinstansiasi

Sesuai dengan sifatnya, kita tidak bisa membuat objek dari abstract class. Abstract class digunakan hanya sebagai ‘blueprint’ untuk class-class lain, bukan untuk digunakan langsung.
abstract class komputer {
   abstract public function lihat_spec($pemilik);
   }
}

$komputer_baru=new komputer();
// Fatal error: Cannot instantiate abstract class komputer
?>
Error diatas terjadi karena kita mencoba membuat objek dari abstract class. Untuk menggunakan class komputer, kita harus menurunkannya kepada class lain.


Abstract Class Bisa Memiliki Property dan Method ‘biasa’

Jika sebuah class dinyatakan sebagai abstract class, class tersebut juga bisa memiliki property dan method ‘normal’. Namun kita hanya bisa mengakses property dan method ini dari class turunan, karena abstract class tidak bisa diinstansiasi.
<?php
// buat abstract class
abstract class komputer{
   
   // buat abstract method
   abstract public function lihat_spec($pemilik);
   
   // buat method ‘biasa’
   public function hidupkan_komputer(){
     echo "Hidupkan Komputer";
   }
}
?>
 

Fungsi Abstract Class dan Abstract Method

Abstract class dan abstract method berfungsi untuk membuat ‘kerangka’ bagi seluruh class dibawahnya. Seperti contoh-contoh kita diatas, setiap class yang diturunkan dari class komputer, ‘pasti’ akan memiliki method lihat_spec().

Dalam tutorial ini saya menyederhanakan contoh kode program dengan hanya 1 abstract method. Kita bisa membuat beberapa abstract method di dalam abstract class, seperti contoh berikut:

<?php // buat abstract class abstract class komputer{    // buat abstract method    abstract public function lihat_spec();    abstract public function lihat_processor();    abstract public function lihat_harddisk();    abstract public function lihat_pemilik(); }   class laptop extends komputer{    // .. isi class laptop }   class pc extends komputer{    // .. isi class pc }   class netbook extends komputer{    // .. isi class netbook } ?>

Dengan membuat class komputer sebagai abstract, maka kita bisa menebak bahwa di dalam class laptop, class pc dan class netbook, pasti memiliki method lihat_spec(), lihat_processor(), lihat_harddisk() dan lihat_pemilik(). Dengan demikian, kita bisa membuat program yang lebih terstruktur.