Rabu, 04 Mei 2016

Pengertian Constructor Beserta Bentuknya




Pengertian Constructor Beserta Bentuknya

  • Constructor : Definisi
Construktor adalah suatu metode yang dapat digunakan untuk memberi nilai awal pada saat objek diciptakan. Konstruktor akan dipanggil secara otomatis begitu objek diciptakan.
 
  • Konstruktor memiliki ciri :

    1. Namanya sama dengan nama kelas 
    2. Tidak memiliki nilai balik(dan juga tidak boleh ada kata void didepannya

    • Constructor: Bentuk Umum
    Bentuk umum untuk mendeklarasikan constructor adalah seperti berikut ini:

    class namaClass{

            NamaClass(){

                //statemen;
          }
    }

    Contoh Constructor :




Modifier di Java

Mengenal Lebih Jauh Modifier di Java



Pendahuluan

Apa itu Modifier? Ada berapa macam modifier di Java? dan Bagaimana cara menggunakannya? Temukan jawabannya di bawah ini.

Modifier atau pengenal adalah sifat yang dimiliki oleh suatu atribut atau method di Java.

Java menyediakan 2 macam tipe modifier, yaitu:
  • Access Modifier
  • Non-Access Modifier 

Java Access Modifier

Mengenal Access Modifier di Java

Ada 4 Macam Acces Modifier di Java sesuai gambar di atas, yaitu:
  • public
    Kelas, method maupun atribut yang mempunyai access modifier public dapat diakses dari manapun dan oleh kelas apapun. 
     
  • protected
    Atribut dan method yang mempunyai access modifier protected, artinya bahwa atribut dan method tersebut dapat diakses oleh kelas yang sama, package yang sama, dan kelas turunannya (subclass). 
     
  • default / no access
    Atribut dan method yang mempunyai access modifier default, artinya bahwa atribut dan method tersebut dapat diakses oleh kelas yang sama dan package yang sama. 
     
  • private
    Atribut dan method yang mempunyai access modifier default, artinya bahwa atribut dan method tersebut dapat diakses oleh kelas yang sama dan package yang sama.

Contoh Program

public class Manusia{
//bersifat private agar dapat diakses hanya kelas Manusia
private String nama;

//bersifat protected agar dapat diakses oleh subclass nya
protected String jenisKelamin;

public Manusia(String nama, String jenisKelamin){
nama = nama;
jenisKelamin = jenisKelamin;
}

public void setNama(String nama){
this.nama = nama;
}

public String getNama(){
return nama;
}

public void setJenisKelamin(String jenisKelamin){
this.jenisKelamin = jenisKelamin;
}

public String tampilkan(){
return("Nama : "+nama +"\nJenis Kelamin : "+jenisKelamin);
}
}

Non Access Modifier
Java menyediakan beberapa macam Non-Access Modifier, yaitu:
  • static
    Static adalah salah satu jenis modifier di Java yang digunakan agar suatu atribut atau pun method dapat diakses oleh kelas atau objek tanpa harus melakukan instansiasi terhadap kelas tersebut.

    Method main adalah salah satu contoh method yang mempunyai modifier static.
     
  • final
    Final adalah salah satu modifier yang digunakan agar suatu atribut atau method bersifat final atau tidak bisa diubah nilainya. Modifier ini digunakan untuk membuat konstanta di Java.
     
  • abstract
    Abstract adalah modifier yang digunakan untuk membuat kelas dan method abstrak
     
  • synchronized
    Synchronized adalah modifier yang digunakan dalam aplikasi Java berbasis thread. Modifier ini menspesifikasikan bahwa method merupakan thread safe. Artinya bahwa hanya ada satu jalur eksekusi pada method yang menggunakan modifier jenis ini dan memaksa thread thread lain menunggu giliran.
     
  • native
    Modifier Native digunakan untuk spesifikasi method dengan implementasi di bahasa lain, seperti C, C++.
     
  • transient
    Modifier ini digunakan agar suatu variable tidak bisa di serialisasi. Serialization adalah konsep dimana sebuah objek dapat ditransfer dari suatu aplikasi ke aplikasi lainnya atau dari suatu workstation ke workstation lainnya. Konsep ini sangat diperlukan ketika membuat aplikasi client server.
     
    Salah satu tujuan serialization adalah bahwa tidak boleh ada perubahan terhadap atribut pada saat objek di transformasikan menjadi stream.
     
  • volatile
  • implements
  • extends 

Pengertian Constructor

Pengertian Constructor dalam OOP


Constructor (bahasa indonesia: konstruktor) adalah method khusus yang akan dijalankan secara otomatis pada saat sebuah objek dibuat (instansiasi), yakni ketika perintah “new” dijalankan.
Constructor biasa digunakan untuk membuat proses awal dalam mempersiapkan objek, seperti memberi nilai awal kepada property, memanggil method internal dan beberapa proses lain yang digunakan untuk ‘mempersiapkan’ objek.
Dalam PHP, constructor dibuat menggunakan method : __construct().

Pengertian Destructor dalam OOP

Destructor (bahasa indonesia: destruktor) adalah method khusus yang dijalankan secara otomatis pada saat sebuah objek dihapus. Di dalam PHP, seluruh objek secara otomatis dihapus ketika halaman PHP dimana objek itu berada selesai diproses. Tetapi kita juga dapat menghapus objek secara manual.
Destructor biasanya digunakan untuk ‘membersihkan’ beberapa variabel, atau menjalankan proses tertentu sebelum objek dihapus.
Dalam PHP, destructor dibuat menggunakan method : __destruct().
PHP memiliki fitur ‘penghapusan objek massal‘ yang dikenal dengan Garbage Collection.Fitur garbage collection akan menghapus seluruh objek secara otomatis ketika halaman PHP selesai di eksekusi, sehingga akan memanggil method __destructor dari seluruh objek.
Namun PHP menyediakan cara jika kita ingin menghapus objek sebelum mekanisme ini berjalan, yaitu menggunakan fungsi unset() atau mengisi variabel objek dengan nilainull. Kita akan melihat contoh penggunaannya dengan contoh program dibawah.

Cara Penggunaan Destructor dan Constructor dalam PHP

Sebagai tutorial kita kali ini, berikut adalah contoh penggunaan constructor dan destructor dalam PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
// buat class laptop
class laptop {
  
   private $pemilik = "Andi";
   private $merk = "Lenovo";
   
   public function __construct(){
     echo "Ini berasal dari Constructor Laptop";
   }
  
   public function hidupkan_laptop(){
     return "Hidupkan Laptop $this->merk punya $this->pemilik";
  
   }
   public function __destruct(){
     echo "Ini berasal dari Destructor Laptop";
   }
}
  
// buat objek dari class laptop (instansiasi)
$laptop_andi= new laptop();
  
echo "<br />";
echo $laptop_andi->hidupkan_laptop();
echo "<br />";
?>
Dalam contoh diatas, saya membuat class laptop dengan 3 method:
  • Method __construct() merupakan constructor dari class laptop. Method ini akan dipanggil secara otomatis ketika class laptop di instansiasi.
  • Method hidupkan_laptop() merupakan method ‘biasa’ yang akan menampilkan hasil string. Untuk menggunakan method ini, kita memanggilnya dari objek.
  • Method ketiga adalah __destruct() yang merupakan destructor dari class laptop. Method ini akan dipanggil saat objek dihapus.
Setelah pendefinisian class, saya membuat objek $laptop_andi, dan memanggil methodhidupkan_laptop(). Berikut adalah hasil yang didapat:
1
2
3
Ini berasal dari Constructor Laptop
Hidupkan Laptop Lenovo punya Andi
Ini berasal dari destructor Laptop
Seperti yang terlihat, method __construct() dan __destruct() secara otomatis dipanggil saat objekdibuat dan saat objek dihapus. Untuk mencoba menghapus objek $laptop_andi secara manual, kita bisa menggunakan fungsi unset() sebagai berikut:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
// buat class laptop
class laptop {
  
   private $pemilik = "Andi";
   private $merk = "Lenovo";
   
   public function __construct(){
     echo "Ini berasal dari Constructor Laptop";
   }
  
   public function hidupkan_laptop(){
     return "Hidupkan Laptop $this->merk punya $this->pemilik";
  
   }
   public function __destruct(){
     echo "Ini berasal dari Destructor Laptop";
   }
}
  
// buat objek dari class laptop (instansiasi)
$laptop_andi= new laptop();
  
echo "<br />";
echo $laptop_andi->hidupkan_laptop();
echo "<br />";
  
// hapus objek $laptop_andi
unset($laptop_andi);
  
echo "<br />";
echo "Objek Telah Dihancurkan";
?>
Jika kita menjalankan kode diatas, berikut adalah hasil yang didapat:
1
2
3
4
Ini berasal dari Constructor Laptop
Hidupkan Laptop Lenovo punya Andi
Ini berasal dari Destructor Laptop
Objek Telah Dihancurkan
Setelah memanggil method $laptop_andi->hidupkan_laptop(), saya kemudian menghapus objek$laptop_andi secara manual menggunakan fungsi unset($laptop_andi).
Untuk membuktikan bahwa destructor $laptop_andi sudah dijalankan, saya menambahkan perintah echo “Objek Telah Dihancurkan” diakhir halaman. Sehingga kita bisa melihat bahwadestructor objek $laptop andi di jalankan sebelum dihapus otomatis oleh PHP. Silahkan anda coba hapus perintah unset($laptop_andi), maka string “Objek Telah Dihancurkan” akan tampil sebelumdestructor objek $laptop_andi.
Anda juga bisa mengganti perintah unset($laptop_andi) dengan $laptop_andi=null. Kedua perintah ini akan menghapus objek $laptop_andi dan men-trigger pemanggilandestructor.
Sebagai contoh terakhir dalam tutorial kali ini, saya akan membuat contoh constructor yang sering digunakan untuk membuat objek dengan nilai awal. Konsep ini sering digunakan dalam pemrograman objek. Berikut adalah contoh penggunaannya:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
// buat class laptop
class laptop {
  
   private $pemilik;
   private $merk;
  
   // constructor sebagai pembuat nilai awal
   public function __construct($pemilik, $merk) {
     $this->pemilik = $pemilik;
     $this->merk = $merk;
   }
  
   public function hidupkan_laptop() {
     return "Hidupkan Laptop $this->merk punya $this->pemilik";
   }
}
  
// buat objek dari class laptop (instansiasi)
$laptop_andi= new laptop("Andi", "Lenovo");
  
echo $laptop_andi->hidupkan_laptop();
echo "<br />";
  
$laptop_anto= new laptop("Anto", "Acer");
  
echo $laptop_anto->hidupkan_laptop();
?>
Pada kode diatas, saya menggunakan constructor sebagai pembuat nilai awal dari objek. Methodconstructor menerima 2 buah argumen yang kemudian disimpan kedalam property internal objek.
Berikut adalah hasil yang didapat dari kode program diatas:
1
2
Hidupkan Laptop Lenovo punya Andi
Hidupkan Laptop Acer punya Anto
Di dalam PHP, constructor dan destructor harus memiliki hak akses public. Jika anda mengubah hak akses constructor atau destructor menjadi protected atau private, PHP akan mengeluarkan error:
1
2
Fatal error: Call to private laptop::__construct()
from invalid context
http://www.resepkuekeringku.com/2014/11/resep-donat-empuk-ala-dunkin-donut.html http://www.resepkuekeringku.com/2015/03/resep-kue-cubit-coklat-enak-dan-sederhana.html http://www.resepkuekeringku.com/2014/10/resep-donat-kentang-empuk-lembut-dan-enak.html http://www.resepkuekeringku.com/2014/07/resep-es-krim-goreng-coklat-kriuk-mudah-dan-sederhana-dengan-saus-strawberry.html http://www.resepkuekeringku.com/2014/06/resep-kue-es-krim-goreng-enak-dan-mudah.html http://www.resepkuekeringku.com/2014/09/resep-bolu-karamel-panggang-sarang-semut-lembut.html