Rabu, 11 Mei 2016

Macam Macam Exception Handling

PENGERTIAN
Exception Handling adalah event yang terjadi ketika program menemui kesalahan pada saat instruksi program dijalankan. Banyak hal yang dapat menimbulkan event ini, misalnya crash, harddisk rusak dengan tiba-tiba, sehingga program-program tidak bisa mengakses
file-file tertentu. Programmer pun dapat menimbulkan event ini, misalnya dengan melakukan pembagian dengan bilangan nol, atau pengisian elemen array melebihi jumlah elemen array yang dialokasikan dan sebagainya.


MACAM-MACAM
- Exception class merupakan kesalahan yang disebabkan oleh program dan kesalahan external. Kesalahan jenis ini dapat ditangkap dan diatasi oleh program.Exception terdiri dari banyak subclass. 

- Error class merupakan class yang berhubungan dengan kesalahan pada internal. Jika terjadi kesalahan jenis ini maka hanya dapat dilakukan bagaimana memberitahu kepada pemakai dan melakukan pengakhiran program.
 
http://ajiepr.blogspot.co.id/2016/05/macam-macam-exception-handling.html

Penggunaan Extends PHP

Pengertian
Extends adalah sebuah Java Keyword yang digunakan dalam sebuah deklarasi kelas untuk menentukan superclass; digunakan dalam deklarasi interface untuk menentukan satu atau lebih superinterfaces. Kelas X Y meluas kelas untuk menambah fungsionalitas, baik dengan
menambahkan field atau metode ke Y kelas, atau dengan meng-override metode kelas Y. Antarmuka Z memperluas satu atau lebih interface dengan menambahkan metode. Kelas X dikatakan sebagai subclass Y kelas; Interface Z dikatakan sebagai interface dari interface itu meluas. Juga digunakan untuk menentukan batas atas sebuah parameter ketik Generics.

Pengunaan di PHP
class induk {
   //...isi class induk
}
class anak extends induk
{
   //... class anak bisa mengakses
   //... property dan method class induk
}
 
http://ajiepr.blogspot.co.id/2016/05/penggunaan-extends-php.html

Keyword Super

Pengertian
Keyword Super adalah sebuah Java Keyword yang digunakan untuk mengakses anggota kelas diwariskan oleh kelas di mana ia muncul. Memungkinkan subclass untuk mengakses ditimpa metode dan anggota tersembunyi dari superclass nya. Keyword Super juga digunakan untuk meneruskan panggilan dari konstruktor ke konstruktor di superclass. Juga digunakan untuk menentukan batas bawah pada sebuah parameter ketik Generics.

CONTOH
class katt
{
  public void suara()
  {
    System.out.println("Miaww...");
  }
}
class siam extends katt  //siam adalah turunan dari katt
{
  public void mengeong()
  {
    super.suara(); //memanggil method suara pada superclass katt
  }

  public static void main(String[] args)
  {
    siam siam1 = new siam();
    siam1.suara(); //mencetak "Miaww..."

Sumber : http://ajiepr.blogspot.co.id/2016/05/keyword-super.html

Rabu, 04 Mei 2016

CONSTRUCTOR

CONSTRUCTOR
Pada prinsipnya constructor adalah method yang tidak memiliki return value (secara implicit adalah instant dari kelasnya). Constructor merupakan method yang namanya sama dengan nama kelas dimana method itu berada. Constructor digunakan untuk menginisialisasi nilai awal (memberikan nilai default) pada atribut-atribut yang dimiliki oleh  suatu objek saat objek itu pertama kali dibuat.
Sifat-sifat constructor yaitu :
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 yaitu :
[modifier] namaConstructor (tipe namaparameter) {
            constructorbody;
}
 Sumber :http://hairilmahardhika.blogspot.co.id/2012/10/class-method-constructor-modifier-dan.html

MODIFIER

MODIFIER 
Modifier adalah sifat yang dimiliki oleh setiap atribut, method maupun class dalam java. Ada empat macam modifier yang dikenal oleh Java, yaitu private, protected, public dan default.

Wilayah Akses Public Protected Default Private
Kelas yang sama ya ya ya ya
Antar Kelas dalam package yang sama ya ya ya tidak
Subkelas di package yang berbeda ya ya tidak tidak
bukan subkelas, package yang berbeda  ya tidak tidak tidak
Beberapa modifier penting lainnya:

  • Static yaitu modifier yang digunakan agar suatu atribut maupun method dapat diases oleh objek atau kelas lain meski tanpa dilakukan instansiasi terhadap kelas dimana atribut maupun method itu berada, method main adalah salah satu contoh method modifier static yang sering digunakan.
  • Final yaitu modifier yang digunakan untuk mencegah kemungkinan modifikasi terhadap atribut maupun method, dengan modifier ini suatu atribut akan berlaku sebagai konstanta.

KONSTRUKTOR DAN $THIS

PENGERTIAN
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;
}
Contoh :
Sumber :http://ajiepr.blogspot.co.id/2016/05/konstruktor-dan-this.html

INTERFACE

INTERFACE

Interface adalah wadah dari kumpulan method yang bersifat abstrak atau tidak memiliki implementasi. Sedangkan method yang didefinisikan di dalam interface tersebut akan diimplementasikan oleh class yang mengimplementasikan interface tersebut. Interface merupakan bentuk perluasan dari kelas abstrak.
Selain method, interface juga dapat berisi sekumpulan variable, namun variable yang dideklarasikan di dalam interface harus bersifat final(nilainya tidak dapat diubah /konstan).
Sebagai contoh : Dalam kehidupan nyata dapat diketahui ada manusia yang bekerja sebagai tentara, penyanyi, pengacara, dan sebagainya, tentunya manusia-manusia tersebut selain harus memiliki method standard sebagai seorang manusia, juga harus memiliki method yang sesuai dengan pekerjaannya. Dengan demikian untuk membuat objek manusia yang bekerja sebagai penyanyi, harus dibuat kelas yang merupakan turunan kelas manusia yang meng-implementasikan interface penyanyi.
 
Ciri-ciri dari interface
Method interface tidak punya tubuh, sebuah interface hanya dapat mendefinisikan konstanta dan interface tidak langsung mewariskan hubungan dengan class istimewa lainnya, mereka didefinisikan secara independent.
Tidak bisa membuat instance atau objek baru dari sebuah interface.
Ciri umum lain adalah baik interface maupun class dapat mendefinisikan method. Bagaimanapun, sebuah interface tidak punya sebuah kode implementasi sedangkan class memiliki salah satunya.
 
Beberapa perbedaan Interface dan Abstract Class :
- Interface hanya bisa mendefinisikan Method, tidak bisa mengimplementasikan, sedangkan Abstrat        Class bisa mengimplementasikan Method
- Interface tidak boleh terdiri dari field atau property, Abstract Class bias
- Interface tidak boleh terdiri dari konstruktor dan destruktor, sedangkan Abstract class bisa:
 
 perbedaan class abstract dan interface
         Abstract Class dikatakan Abstract karena class tersebut tidak diimplementasikan secara langsung di class tersebut. Melainkan diimplementasikan di class lain yang merupakan class anak dari abstract class itu. Itulah sebabnya dinamakan abstract class. Berikut perbedaan antara class abstract dengan interface:
·         Abstract class dapat memiliki tipe data dengan semua tipe data, sedangkan interface tipe datanya hanya berupa konstanta
·         Method pada abstract class dapat berupa method kongkrit dan method abstract. Sedangkan pada interface semua method harus berupa method abstract.
·         Interface Class jelas berbeda dengan abstract class. Karena class ini mengimplementasikan methodnya di class lain dihubungkan dengan kata "implements". Method class interface tadi diimplementasikan dengan nama method yang sama di class yang diimplementasikan.
Contoh Abstract Class :
 
 
 
 
 
 
 
   Dari contoh di atas dapat kita lihat bahwa pada abstract class Mahluk hidup terdapat 1 method yang tidak memiliki implementasi. Implementasi method bernafas nanti akan diimplementasikan di class anak karena biasanya class abstract dapat menjadi class induk.

 Contoh Interface Class :
 
 
 
 
 
 
  Pada contoh interface class di atas  dapat dilihat perbedaan antara abstract class dan interface class. Interface class memiliki method yang tidak memiliki im- plementasi.

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 }
 
Sumber : http://dinardc.blogspot.co.id/2014/03/class-abstractpackage-interface.html

PACKAGE

PACKAGE
Pengertian Package
 Package adalah sarana/cara pengelompokkan dan pengorganisasian kelas-kelas dan interface yang sekelompok menjadi suatu unit tunggal dalam library.Package juga mempengaruhi mekanisme hak akses ke kelas-kelas di dalamnya.
 
Fungsi Package
mengelompokkan file kelas yang terkait (karena jenisnya, fungsinya atau karena alasan lainnya) pada direktori yang sama, dimana di dalam setiap kelasnya terdapar directive (statement java dalam code yang digunakan untuk membuat  kelas) package yang mengacu pada direktori tersebut.
 
Pengaruh Package terhadap Method main()
Kelas yang mengandung method main() memilki syarat tidak berada dalam suatu package, dan hirarki posisi foldernya di atas package yang diimport.
 
Membuat Package
Ada tiga langkah untuk membuat package :
1.      Mendeklarasikan dan memberi nama package.
2.      Membuat struktur dan nama direktori yang sesuai dengan struktur dan nama package.
3.      Mengkompilasi kelas-kelas sesuai dengan packagenya masing-masing.
 
Mendeklarasikan dan Memberi Nama Package
Deklarasi package harus diletakkan pada bagian paling awal (sebelum deklarasi import) dari source code setiap kelas yang dibungkus package tersebut.
Bentuk umum deklarasi package :
Deklarasi package harus diletakkan pada bagian paling awal (sebelum deklarasi import) darisource code setiap kelas yang dibungkus package tersebut.
Bentuk umum deklarasi package :
 
package namaPackage;
Deklarasi tersebut akan memberitahukan kompilator, ke library manakah suatu kelas dikompilasi dan dirujuk. Contoh:
Package ContohPKg;
Dimana java menggunakan sistem direktori untuk menyimpan paket yang dibuat. Sebagai contoh apabila kita membuat paket dengan nama ContohPkg , maka kita harus memiliki sebuah direktori bernama ContohPkg di dalam tempat kita membuat kode program utama. Dan nama paket dan nama direktori harus benar benar sama penulisan hurufnya.
 
Syarat nama package :
·         Diawali huruf kecil
·         Menggambarkan kelas-kelas yang dibungkusnya
·         Harus unik (berbeda dengan nama package standard)
·         Merepresentasikan path dari package tersebut.
·         Harus sama dengan nama direktorinya.
Contoh package standard :
   1.      java.lang (berisi kelas-kelas fundamental yang sering digunakan).
   2.      java.awt dan javax.swing (berisi kelas-kelas untuk membangun aplikasi GUI)
   3.      java.io (berisi kelas-kelas untuk proses input output)
 
Membuat Struktur Direktori
Pada langkah ini, buatlah direktori menggunakan file manager (di windows menggunakan explorer) sesuai struktur package dari langkah sebelumnya.
Kemudian tempatkan kelas-kelas tersebut ke direktori yang bersesuaian (mirip seperti  menyimpan file-file ke dalam folder).
Package dapat bersarang di package lain, sehingga dapat dibuat hirarki package.
Bentuk umum pernyataan package multilevel/package di dalam package :
package namaPackage1[.namaPackage2[.namaPackage3]];
Contoh hirarki package di JDK :
package java.swing.event ;
File kode .java dan file .class dari paket tersebut harus disimpan di dalam direktori java/swing/event (dalam sistem operasi windows maupun Unix/Linux) paket yg dibuat tidak dapat diubah tanpa mengubah nama directorinya.
 
Compile dan Run Kelas dari suatu Package
Selanjutnya masing-masing kelas tersebut dalam package tersebut dikompilasi menjadi byte code (*.class). Artinya package tersebut siap digunakan.
 
Menggunakan Package
Ada dua cara menggunakan suatu package yaitu :
Kelas yang menggunakan berada dalam direktori (package) yang sama dengan kelas-kelas yang digunakan. Maka tidak diperlukan import.
Kelas yang menggunakan berada dalam direktori (package) yang berbeda dengan kelas-kelas yang digunakan. Maka pada awal source code di kelas pengguna harus mencantumkan :
import namaPackage.NamaKelas;  atau    import namaPackage.*;
Contoh :
import java.text.DecimalFormat;
import javax.swing.*;

Sumber :http://dinardc.blogspot.co.id/2014/03/class-abstractpackage-interface.html

Overloading dan Overriding

  • Overloading
Overloading adalah method dengan nama yang sama dengan method lain pada suatu class tetapi dengan parameter yang berbeda. Tujuan dibuatnya overloading yaitu memudahkan penggunaan method dengan fungsi yang hampir sama.

Berikut Contoh dari Overloading pada java.
 
Dari contoh di atas, method tambah1 pada class Pertambahan dioverloading, sehingga ada perbedaan parameter antara metod tambah1() dengan metod tambah1(int x, int y).
Output program overloading:


  • Overriding
Overriding adalah method subclass sama dengan method super class, parameternya sama tetapi pernyataan atau implementasinya berbeda.

Berikut contoh dari Overriding pada java dengan nama super calss nya adalah Nama dan sub class nya adalah Siapa.
 Pada program di atas terlihat bahwa method Sapa() pada super class(class Nama) di override di sub class(class Siapa) . Parameter pada kedua class tersebut sama yaitu tidak mempunyai paramater alias kosong, tetapi perbedaannya adalah implementasinya yaitu mencetak kalimat yang berbeda.
Output program overriding:
Sumber :http://www.top-ilmu.com/2012/12/overloading-dan-overriding-pada-java.html