Rabu, 11 Mei 2016

Exception Handling
Capture
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.
Pengertian
Suatu program apabila mengalami kesalahan akan menghasilkan suatu runtime errors seperti gagal membuka file, suatu program melakukan akses diatas range array dan lain-lain. ketika runtime errors tersebut terjadi, aplikasi akan membuat suatu exception
Jenis – jenis Exception: 
  • 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 system. Jika terjadi kesalahan jenis ini maka hanya dapat dilakukan bagaimana memberitahu kepada pemakai dan melakukan pengakhiran program.
Operasi Exception dibagi menjadi 3 buah operasi, yaitu :
  • Claiming an exception 
  •   Throwing an exception 
  •  Catching an exception
Exception merupakan sebuah event yang akan menginterupsi program yang tidak berjalan normal / error, lebih mudahnya error handling merupakan penanganan error. Tidak semua penanganan error ditangani dengan exception, namun dapat mempermudah penanganan error.
Exception terdiri dari dua macam kelompok, yaitu :
– Exception yang merupakan subclass RunTimeException
– Exception yang bukan subclass RunTimeException
RunTime Exception biasanya disebabkan oleh kesalahan program atau pada desain program. Misalnya NullPointerException yang disebabkan oleh proses inisialisasi program yang tidak sempurna dan ArrayIndexOutOfBoundsException yang  disebabkan akses array yang melebihi kapasitas array yang ada.
Dalam bahasa Java, ketika terjadi kesalahan, otomatis akan dilemparkan sebuah objek yang disebut exception, yang kemudian dapat diproses lebih lanjut oleh fungsi-fungsi yang siap menangani kesalahan tersebut. Proses pelemparan exception tersebut sering dikenal dengan istilah throwing exception, sedangkan proses penerimaan exception yang bersangkutan dikenal dengan istilah catch exception
Ada lima kata kunci yang digunakan oleh Java untuk menanngani exception ini, yaitu, try, catch, finally, throw, dan throws.
pembahasannya :Pada dasarnya, Exception merupakan subkelas dari kelas java.lang.Throwable.  “Bukalah dokumentasi java untuk lebih menyakinkan anda”. Karena Exception adalah sebuah kelas maka hakikatnya ketika program berjalan dan muncul sebuah bug atau kesalahan maka bug tersebut dapat dianggap sebuah object.  Sehingga ketika object ini di tampilkan di layar maka java akan secara otomatis memanggil method toString yang terdapat dalam object bertipe Exception ini. Java memberikan akses kepada developer untuk mengambil object bug yang terjadi ini dengan mekanisme yang dikenal Exception Handling. Exception handling merupakan fasilitas di java yang memberikan flexibilitas kepada developer untuk menangkap bug atau kesalahan yang terjadi ketika program berjalan. Contoh Exception Handling akan dibahas pada bagian berikutnya.

jenis error ada 3 :

1. Syntax Error, Syntax Error adalah suatu kesalahan dari penulisan syntax pada program sehingga syntax tersebut tidak dapat dieksekusi oleh program yang pasti membuat program tersebut error.
2.Logical Error, Logical Error adalah suatu kesalahan yang disebabkan oleh si programmer sendiri, lah kok bisa? hal ini disebabkan oleh kesalahan penulisan atau rumus yang diterapkan oleh si programmer.
anda pasti tahu bila semua angka tidak dapat dibagi oleh 0 (nol).
lah kalau si programmer tetep ngotot,pasti programnya error.
3. runtime Error, error yang satu ini tergolong error yang unik,lah kenapa? soalnya menurut saya errornya gara-gara kecerobohan si programmer itu sendiri. error ini akan muncul apabila terjadi miss komunikasi antara program dan file yang dipanggil dalam program, misalnya program itu membutuhkan database yang bernama db_siswa yang disimpan pada localhost,tapi kenyatannya ternyata si programmer tidak mempunyai atau belum membuat database tersebut di localhost, program akan tetap berjalan, namun saat aksi simpan data, hapus data atau tampil data pasti program akan error.
Ada 5 keyword penting dalam java dalam hal exception handling :
1. try, Keyword ini biasanya digunakan dalam suatu block program. keyword ini digunakan untuk mencoba menjalankan block program kemudian mengenai dimana munculnya kesalahan yang ingin diproses. Keyword ini juga harus dipasangkan dengan keyword catch atau keyword finally yang akan dibahas pada point kedua dan ketiga.
2. catch, Jika anda sudah melihat contoh try maka secara tidak langsung anda sudah memahami kegunaan dari keyword ini. Dalam java, keyword catch harus dipasangkan dengan try. Kegunaan keyword ini adalah menangkap kesalahan atau bug yang terjadi dalam block try. Setelah menangkap kesalahan yang terjadi maka developer dapat melakukan hal apapun pada block catch sesuai keinginan developer.
3. finally, Keyword ini merupakan keyword yang menunjukan bahwa block program tersebut akan selalu dieksekusi meskipun adanya kesalahan yang muncul atau pun tidak ada.
4. throw, Keyword ini digunakan untuk melemparkan suatu bug yang dibuat secara manual.
5. throws, Keyword throws digunakan dalam suatu method atau kelas yang mungkin menghasilkan suatu kesalahan sehingga perlu ditangkap errornya
Contoh Program 3 Bahasa :

Yang Pertama Program yang Menggunakan Bahasa Pemograman C#
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace OOP2_Widy_ExceptionHandling
{
class Program
{
private static string Login1()
{
string pengguna;
Console.Write("Masukkan Username  : ");
pengguna = Console.ReadLine();
return pengguna;
}
private static string Login2()
{
string id;
Console.Write("Masukkan Id        : ");
id = Console.ReadLine();
return id;
}
private static void konfigurasi(string user, string pasword)
{
bool error;error = true;
while (error==true)
{
try
{
while(user != "PutriWidiastuti" || pasword !="1111100811")
{
Console.WriteLine();
Console.WriteLine(" ** Login Failed **");
Console.WriteLine();
user = Login1();
pasword = Login2();
}
error = false;
}
catch(Exception)
{
Console.WriteLine();
Console.WriteLine("# User & Pasword Salah");
Console.WriteLine();
}
}
}
public static void Main(string[] args)
{
string user,pasword;
user = Login1();
pasword = Login2();
konfigurasi(user,pasword);
Console.WriteLine();
Console.WriteLine(" ** SELAMAT Login Sukses ** ");
Console.WriteLine();
 
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
}
}

Menggunakan EXTENDS PHP


    Inheritance atau lebih dikenal dengan Pewarisan adalah suatu cara untuk membuat class baru dengan mengguanakan class lain yang elah dibuat. Class yang memarisi atau diturunakan dari class lainnya disebut subclass dari class yang yang diwarisi. Pada hubungan Inheritance, class turunan mewarisi class ayah ( parent class ). Maka semua atribut dan method class dari induk akan dibawa ( kecuali yang bersifat private ), secara intrinsik akan menjadi bagian dari class anak. Dan biasanya class anak akan membuat fungsionalitas baru yang tidak dimiliki class induk.
Keuntungan menggunakan Inheritance adalah mengganti, merubah atau menambahkan fungsi baru yang belum dimiliki oleh class induk.

Untuk membuat Inheritance menggunakan syntax "extends" pada class tersebut.

<?phpclass Named_Cart extends Cart {
    var 
$owner;

    function 
set_owner ($name) {
        
$this->owner $name;
    }
}
?>


KEYWORDS SUPER
======================================================================================

  

     Keyword super biasa digunakan dalam OOP (Objek Oriented Programing) terutama dalam pewarisan atau Inheritance, keyword ini berfungsi ketika di subclass, untuk memanggil kembali instan variabel di superclass apabila dalam method konstruktor, 









contoh :
//Konstruktor superclass
public A {
String Name; int NIM;
public A (String n, int No) {
Name = n;
NIM = No;}

//subclass B
public class B extends A {
int nilai;
public A (String n, int No,int nl) {
super (n,No);
nilai = nl; }

super juga bisa digunakan untuk memanggil method yang ada di superclass, 

contoh :
//Method di superclass
public double getPanjang() {
return Panjang;}

//Method di subclass
public double luas() {
return super.getPanjang * tinggi; }


     Keyword adalah identifier khusus yang sudah disediakan oleh Java untuk tujuan tertentu. Kalian tidak dapat menggunakan keyword sebagai nama dari variabel, class, method.
     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.
 

Rabu, 04 Mei 2016

Belajar Object Oriented Programming (OOP) PHP, Bentuk Umum Konstruktor

Bentuk Umum Konstruktor

Pengertian 
Konstruktor 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)


Konstruktor: Bentuk Umum 
● Bentuk umum untuk mendeklarasikan constructor adalah seperti berikut ini:  

class namaClass{
     NamaClass(){
       //statemen;
     }
 }

Contoh :

Belajar Object Oriented Programming (OOP) PHP, MODIFIER

MODIFIER

 
Pengertian Modifier
Enkapsulasi (encapsulation) merupakan cara untuk melindungi property(atribut) / method tertentu dari sebuah kelas agar tidak sembarangan diakses dan dimodifikasi oleh suatu bagian program
Jenis Modifier
Java menyediakan 2 macam tipe modifier, yaitu:
  • Access Modifier
  • Non-Access Modifier 
Java Access Modifier:


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