Sabtu, 09 April 2016

Malamm..
Disini saya akan memposting tentang eksepsi pada java, sebagai Tugas Akhir dari Praktikum Alpro Lanjut.
Cekidot..

Eksepsi, apa itu?
Eksepsi merupakan cara yang dipakai jika terjadi kesalahan pada saat menjalankan program tanpa harus menghentikan program tersebut.
Misal nih, ada suatu bilangan yang dibagi dengan 0 pasti menghasilkan jawaban yang tidak terdefenisi, dan akan membuat program menjadi error. Jika terjadi error karena eksepsi maka program akan otomatis terhenti. Nah, untuk menangani masalah tersebut dimana program terhenti, maka pada pemrograman java dikenal penanganan eksepsi. 
Contoh sederhananya yaitu dengan menggunakan statement  try dan catch. Secara default program dijalankan pada statement try namun jika terjadi eksepsi maka catch yang selanjutnya akan dijalankan.

Bentuk Umum:
try
{
    //menuliskan source code yang kiranya berpotensi menimbulkan eksepsi
}
catch(Exception namaException)
{
    namaException.getMessage() ;
}


Itulah yang bisa saya jelaskan ttg eksepsi. Saya sadari penjelasannya masih sangat kurang karna saya sendiri masih belum terlalu paham ttg eksepsi, dan masih butuh latihan lagi

Sekian.. semoga bermanfaat:)

Sabtu, 02 April 2016

TA8_6701154183_GitaVhanieAdisty_D3MI-39-03

RESUME ALPRO 

ABSTRACT CLASS DAN INTERFACE


Disini saya akan membahas secara singkat tentang Abstract Class dan Interface yang berada dalam ranah bahasa Pemrograman Java. Resume ini merupakan tugas dari Pak Reza sebagai tugas akhir praktikum alpro lanjut. So, lets read!

Yang pertama kali harus kita ketahui, bahwa Abstract Class dan Interface merupakan bentuk khusus dari pewarisan (inheritance). Inheritance??? Apa itu?

Review sedikit yaa...
Pewarisan (Inheritance) merupakan sifat dalam bahasa berorientasi objek yang memungkinkan sifat-sifat dari suatu kelas diturunkan ke kelas lain. Pewarisan memungkinkan kita untuk mendefinisikan suatu kelas baru dengan mewarisi sifat dari kelas lain yang sudah ada. Penurunan sifat ini bisa dilakukan dilakukan secara bertingkat-tingkat, sehingga semakin ke bawah maka kelas tersebut semakin spesifik
Misalnya ada kelas A, maka kita dapat membentuk kelas-kelas turunan dari kelas A tersebut (contoh kelas B) yang mewarisi sifat-sifat yang terkandung dalam kelas A. Dalam proses pembuatan kelas turunan tersebut, kita dapat menambahkan sifat dan perilaku baru ke dalam kelas B, yang sebelumnya tidak dimiliki dalam kelas A. Dalam pemrograman java, kelas induk dinamakan dengan superclass dan kelas turunan dinamakan dengan subclass. Untuk membuat kelas anak atau kelas turunan berdasarkan class yang ada, kita dapat menggunakan keyword extends.

Akibat dari bentuk khusus tersebut, muncul masalah berupa pertanyaan:
1. Bagaimana agar method harus di-override oleh subclass?
2. Bagaimana caranya memungkinkan terjadinya multiple inheritance?

Untuk menjawab pertanyaan tersebut maka dibutuhkan Abstract Class dan Interface. Yang pertama akan dibahs ttg Abstract Class dan sekaligus menjelaskan pertanyaan no 1.

1. Abstract Class
Cara agar method harus di-override oleh subclass. Tentunya kita harus tahu apa itu override. Override berarti penulisan suatu method kembali di class yang berbeda. Lebih rinci lagi override berarti memberikan logika yang berbeda di subclass.
Abstract Class sendiri memunculkan Abstract Method, dimana Abstract Method berfungsi untuk memastikan bahwa setiap subclass akan mengoverride Abstract Class. 

Syarat dari Abstract Method
- Tidak memiliki logika body method, yang berarti tidak dapat dibentuk objek
- Abstract Class tidak harus memiliki Abstract Method, namun jika ada harus dituliskan di Abstract Class


Bentuk umum penulisannya:
public abstract class NamaKelas{
       `public abstract void namaMethod();
}

public class konkret extends NamaKelas{
        public void namaMethod(){
        }
}

Jadi, untuk mengoverride suatu method menggunakan Abstract Class. Karena, Absract Class memunculkan  Abstract Method yang bertujuan memastikan  setiap subclass akan mengoverride Abstract Class.

Selanjutnya yaitu...

2. Interface
Inheritance dapat mewariskan sifatnya ke kelas turunan(sublcass) Namun subclass tersebut hanya dapat mewarisi sifat dari satu kelas saja dan tidak bisa mewarisi sifat dari kelas lain. Sehingga untuk mengatasi masalah tersebut dibutuhkan Interface agar suatu kelas turunan dapat mewarisi sifat lebih dari satu class. Dapat disebut juga sebagai multiple inheritance.

Tapi ada dampak yang muncul. Apa???
- Setiap sifat yang dimiliki oleh interface harus di-override oleh subclass
- Setiap method dari interface tidak memiliki logika (body method)


Itulah resume yang dapat saya buat tentang Abstract Class dan Interface. Semoga dapat bermanfaat :)