Selasa, 19 Maret 2019

OVERLOADING , OVERRIDING DAN EXCEPTION

Pertemuan 6 :

A. OVERLOADING
     Overloading adalah suatu kemampuan dalam bahasa berorientasi objek untuk menggunakan satu nama method untuk beberapa method yang memiliki parameter secara horizontal method maupun konstruktor milik kelas super, maupun kelas yang sama.

B.OVERRIDING
    Overriding adalah suatu kemampuan dalam bahasa berorientasi objek untuk kelas super tersebut. Overriding memodifikasi secara vertikal method milik kelas super. Ada 2 alasan mengapa melakukan overriding :
1. Mendefenisikan kembali method kelas induk secara total.
2. Menambahkan behavior tertentu pada method kelas induk.

(Nb : Terjadi dalam kelas induk & kelas anak dan tidak boleh ada perbedaan parameter) 

C. EXCEPTION
     Exception merupakan suatu objek error khusus yang dibuat ketika terjadi kesalahan pada suatu program. Setelah suatu objek exception dibuat oleh Java,objek tersebut dikirimkan ke program, proses ini disebut throwing an exception. Objek exception tersebut kemudian diterima oleh program,  dan penanganan exception selanjutnya terserah pada program.
    Penanganan exception dalam Java dibuat dengan menuliskan kode program exception handling pada source code. Exception handling berguna untuk mencegah program menjadi “hang”. Kode  program exception handling secara umum  terdiri 3 bagian yaitu try,  catch dan finally. 
Kategori error dalam program :
 1. Syntax error 
      Error yang terjadi apabila java compiler menemukan kesalahan pada syntax atau aturan-aturan lainnya pada program.
2.Runtime error
    Error yang terjadi karena faktor eksternal, seperti adanya pembagian dengan nol, input yang tidak sesuai dengan tipe yang diminta dan sebagainya. Kondisi ini dikenal sebagai exception.
3.Logic error
   Error yang terjadi karena kesalahan logika pemrograman. Misalnya hasil pembagian dua buah bilangan diberi tipe data int. Hal ini menyebabkan hasil tidak valid karena ada bagian koma desimal yang akan hilang.

Blok suatu exception :

try {
       //kode-kode program yang mungkin dapat menimbulkan exception
}
catch (JenisException1 e) {
          /*kode-kode program yang harus dilakukan apabila terjadi exception
            JenisException1*/
}
catch (JenisException2 e) {
           /*boleh terdapat lebih dari satu blok catch untuk menangani exception yang berada*/
           /*kode-kode program yang harus dilakukan apabila terjadi exception
           JenisException1*/
}
finally {
          //finally bersifat opsional (boleh tidak menggunakan blok finally)
         /*kode-kode yang tetap dilakukan baik terjadi exception maupun tidak terjadi exception*/
}

LANGKAH - LANGKAH PRAKTIKUM           

A.  MEMBUAT PROGRAM SegiTiga.java

class SegiTiga {
      public SegiTiga (double panjang)  {
                System.out.println("\nVariabel1 = segitiganya sama sisi");
               System.out.println("Panjang = "  +panjang); 
               keliling(panjang);
}

public SegiTiga(double panjang,  double sisiMiring)  {
             System.out.println("Panjang = "   +panjang+  "  sisi miring =  "   +sisiMiring);
             keliling(panjang, sisiMiring); 
}

public void keliling(double panjang)  {
         tampilkanHasil(panjang*3);
}

public void keliling(double p,  double sM) {
    tampilkanHasil(2*sM+p);
}

protected void tampilkanHasil(double h)  {
           System.out.println("Hasil = " +h); 

Nb : Tidak memiliki output, karena tidak memiliki  fungsi utama,  yaitu :
public static void main(String [] args) {

B. MEMBUAT PROGRAM MainSegiTiga. java

class MainSegiTiga {
      public static void main(String [] args) {
               new SegiTiga(7);
               new SegiTiga(4,7);
     }
}

Output:
Variabel = segitiga sama sisi
Panjang = 7.0
Hasil = 21.01
2 variabel = segitiga sama kaki
Panjang = 4.0
Sisi miring = 7.0
Hasil = 18.0

C. MEMBUAT PROGRAM Overriding.java

class SubOverRiding extends {
      public void MethodAsli() {
               System.out.println("Method milik class OverRiding dijalankan");
      }

      public static void main(String [] args) {
                OverRiding O = new OverRiding();
                O. MethodAsli();
     }
}


Output:
Method ini class Overriding dijalankan
D. MEMBUAT PROGRAM SubOverriding. java

class SubOverRiding extends OverRiding {
     public void MethodAsli() {
               System.out.println("Method yang sudah OverRiding dijalankan");
    }

    public void MethodAsliSuper() {
              System.out.println("Method  pemanggil MethodAsli dijalankan");
                    super.MethodAsli();
   }
   public static void main(String [] args)  {
             SubOverRiding SO = new SubOverRiding();
             SO.MethodAsli();
             SO.MethodAsliSuper();
   }

}

Output:
Method yang sudah Overriding dijalankan
Method memanggil Method Asli dijalankan
Method milik class Overriding dijalankan

E.  MEMBUAT PROGRAM CobaException.java

class CobaException {
     public static void main (String [] args) {
               int Nilai = Integer.parseInt (args[0]);
                System.out.println("Nilai yang dimasukkan : " +Nilai); 
    }
}



  1. Klik star ➡ run lalu ketik cmd untuk membuka command prompt
  2. Ketik perintah cd (change directory) untuk menuju direktori untuk menuju direktori tempat TanpaException. class berada
  3. Ketik java TanpaException 50 untuk menjalankan program. 

Output:

Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 0
At TanpaException.main<TanpaException.java:3>


F.  MEMBUAT PROGRAM CobaException.java

class CobaException {
      public static void main (String [] args)  {
                int Nilai = 0
                try {
                          int Nilai = Integer.parseInt (args[0]);
                          System. out.println("Nilai yang dimasukkan : " +Nilai);
                catch(Exception e)  {
                           System.out.println("Pasti yang diinput bukan Integer");
                }
                finally {
                          System.out.println("Blok finally tetap dilakukan");
                }
    }
}
             
Output :

Pasti diinput bukan integer
Blok finally dilakukan


G. MEMBUAT PROGRAM PembagianNol.java

class PembagianNol {
      public static void main (String [] args)  {
                System.out.println("Sebelum pembagian");
                try {
                           System.out.println(5/0);
                }
                catch(Throwable T)  {
                           System.out.println("Terjadi pembagian nol");
                }
                 System.out.println("Sesudah pembagian");
     }
}

Output:

Sebelum pembagian
terjadi pembagian nol
sesudah pembagian


H.  MEMBUAT PROGRAM TesInputData.java

impor java.io.*;
class TesInputData {
      public static void main (String[] args)  {
                BufferedReader   BR    =     new       BufferedReader(new InputStreamReader(System.in));
                String Input = "  ";
                 try {
                          System.out.println("Masukkan data :  ");
                           Input = "Salah";
                 }
                 finally {
                            System.out.println("Data yang anda masukkan adalah  "+Input);   
                }
        }
}


Output:

Data yang anda masukkan adalah salah
            








Kamis, 14 Maret 2019

ABSTRACT CLASS, INTERFACE, DAN INNER CLASS

Pertemuan 5:

A. ABSTRACT CLASS
     Java menyediakan suatu mekanisme yang memungkinkan suatu metode ditentukan dari dalam kelas tetapi tidak disertai defenisinya. Metode ini dikenal dengan nama metode abstract,sedangkan kelasnya dinamakan kelas abstract.
    Abstract class adalah suatu kelas yang dinyatakan abstract,umumnya memiliki suatu atau lebih abstract method. Abstract method adalah suatu method yang memiliki implementasi dan menggunakan modifier abstract.  Abstract class biasanya dijadikan parent/super class dari kelas-kelas yang dapat membuat objek, abstract class tidak dapat diinstansiasi.
   Defenisi kelas diletakkan dalam masing-masing kelas turunan. Dalam hal ini setiap kelas turunan harus mendefenisikan metode-metode yang tergolong sebagai metode abstract.
 
B. INTERFACE
     Interface adalah suatu kelas yang berisi method-method tanpa implementasi,namun tanpa modifier abstract, apabila suatu interface memiliki atribut, maka atributnya akan berlaku sebagai konstanta. Interface menyerupai kelas. Perbedaannya,kata kunci interface menggantikan kedudukan kata kunci class. Bentuk pendeklarasiannya adalah sebagai berikut:
     Penentu akses public biasa digunakan dengan tujuan agar interface dapat diakses oleh kelas manapun. Jika tak ada penentu akses public, interface, hanya dapat diakses oleh kelas manapun. Jika tak ada penentu akses public, interface hanya dapat diakses oleh kelas-kelas yang berada dalam paket yang sama.

C. INNER CLASS
     Inner class adalah kelas yang disisipkan di dalam kelas yang lain. Fungsi kelas sisipan ini adalah mendukung suatu proses yang akan dijalankan oleh kelas utamanya. Inner class bersifat tersarang terhadap kelas-kelas utamanya.

LANGKAH-LANGKAH PRAKTIKUM          

A. MEMBUAT PROGRAM MakhlukHidup.java






B. MEMBUAT PROGRAM Manusia.java



C. MEMBUAT PROGRAM Tumbuhan.java


  

D. MEMBUAT PROGRAM Pekerjaan.java


E. MEMBUAT PROGRAM Sasya.java


F. MEMBUAT PROGRAM JantungManusia.java



Selamat Belajar,,, Semangat!!  ðŸ’ª








Selasa, 12 Maret 2019

INFORMATION HIDING , INHERITANCE , ENCAPSULATION DAN POLYMORPHISM

Pertemuan 4:

A. INHERITANCE
     Inheritance adalah penurunan atribut dan method dari suatu kelas super/kelas induk ke sub kelas/kelas anak. Pewarisan ini bersifat menyeluruh sehingga semua attribute dan method yang di miliki kelas super dapat diturunkan ke sub kelas.
Contohnya jika kelas c merupakan turunan kelas b dan kelas b merupakan turunan kelas a, maka otomatis attribute dan method kelas akan diwariskan pula ke kelas c. Dengan demikian jika seorang programmer ingin memodifikasi suatu attribute atau method yang digunakan sub kelas, maka hanya dilakukan modifikasi pada kelas super yang memilikinya.
Deklarasi :
    [modifier] class NamaSubKelas extends NamaKelasSuper {
              class body; 
    }

Keterangan :
  Kata kunci extends digunakan untuk menyatakan pewarisan.

B. ENCAPSULATION
     Encapsulation atau pengkapsulan adalah suatu kemampuan dalam pemrograman berorientasi objek untuk menyembunyikan atribut dan method suatu objek dari objek lain.
Dalam pemrograman,menyembunyikan detail ini dikenal dengan istilah information hiding. 
Pengkapsulan dilakukan dengan cara memberikan modifier private pada suatu method dan pada variabel. Method untuk memberikan nilai pada suatu atribut privat biasanya diawali dengan kata “set”, sedangkan method untuk mengambil nilai dari suatu atribut privat biasanya diawali dengan kata “get”.

C. POLYMORPHISM
     Bermakna satu kata yang memiliki banyak arti.
     Dalam pemrograman,istilah polimorfisme dapat diartikan sebagai modul yang memiliki nama yang sama, namun memiliki tingkah laku yang berbeda sehingga implementasinya berbeda.

Langkah - langkah Praktikum                      


A. MEMBUAT PROGRAM SuperClass.java
                   

Nb : Pada program SuperClass.java tidak memiliki output. 
Karena tidak memiliki fungsi utama yaitu :
public static void main(String[] args) {


B. MEMBUAT PROGRAM SubClass.java


(tidak memiliki fungsi utama )

C. MEMBUAT PROGRAM DemonInheritance.java



D. MEMBUAT PROGRAM Persegi.java


(tidak memiliki fungsi utama )

E. MEMBUAT PROGRAM MainPersegi.java



F. MEMBUAT PROGRAM Karyawan.java


(tidak memiliki fungsi utama )


G. MEMBUAT PROGRAM Manager.java


(tidak memiliki fungsi utama )

H. MEMBUAT PROGRAM Receptionist.java


(tidak memiliki fungsi utama )

I. MEMBUAT PROGRAM Polymorphisme.java













Rabu, 06 Maret 2019

CLASS, METHOD, CONSTUCTOR, MODIFIER DAN OBJECT


Pertemuan 3:

A. Class
     Kelas pada Java didefenisikan dengan menggunakan kata kunci class. Berikut ini merupakan deklarasi kelas pada Java:
    [modifier1] class Namakelas [modifier2] {
                  Class body;
    }

B.  Method
      Method digunakan untuk memodularisasi program melalui pemisahan satu tugas menjadi satu unit tersendiri. Berikut ini merupakan deklarasi method pada Java :
     [modifier1] tipeNilaiKembalian namaMethod (parameter input)  {
                   method body;
}

C. CONSTRUCTOR
     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.

D. MODIFIER
     Modifier adalah sifat yang dimiliki oleh setiap atribut, method maupun kelas dalam Java. Modifier akses adalah modifier yang selalu digunakan, modifier akses terdiri dari private, default, protected dan public.

E. OBJEK
     Sebuah kelas dapat digunakan untuk membuat banyak objek, setiap objek dapat diperlakukan secara berbeda oleh objek-objek lain yang menggunakannya. Dibutuhkan operator new untuk membuat objek dari suatu kelas.
      Objek dibuat dengan cara menuliskan :

  1. NamaKelas NamaObjek = new NamaConstructor();
2.  NamaKelas NamaObjek;
     NamaObjek = new NamaConstructor();

Langkah - langkah Praktikum

A. MEMBUAT PROGRAM Disket.java
    public class Disket  {
         int panjang = 10;
         final int LEBAR = 10;
         String warna = "kuning";
         String bentuk = "segiempat";
         String data = " ";

         void simpanData (String data1) {
                   this.data += data1;
         }

        void hapusData() {
                    data = " ";
        }
        String bacaData() {
                 return data;
       }
}


Nb :
Pada program Disket.java tidak memiliki output, karena “Tidak memiliki fungsi utama” yaitu :
public static void main (String[] args)  {

B.MEMBUAT PROGRAM MainDisket.java

    class MainDisket {
          public static void main (String[] args) {
                   Disket disk1 = new Disket ();
                   System.out.println("Panjang disket = "+ disk1.panjang);
                   System.out.println("Lebar disket = "+disk1.LEBAR);
                   System.out.println("Warna disket = "+ disk1.warna);
                   System.out.println("Bentuk disket = "+ disk1.betuk);


                   System.out.println("data mula-mula = "+disk1.bacaData() );
                   disk1.simpanData("Belajar java");
                  System.out.println("Setelah      SimpanData    = "+disk1.bacaData();
                  disk1.hapusData();
                  System.out.println("Setelah hapusData = "+disk1.bacaData() );
         }
}




C. MENGIMPLEMENTASIKAN KONSTRUKTOR PADA CLASS DISKET

  • Buka file Disket.java
  • Ketik source code di bawah ini pada baris ke 7 dari Disket.java setelah diketikkan,simpan,compile dan run kelas Disket.java
     Input :
 Disket () {
           panjang = 100;
}
Disket (int panjang1) {
          this. panjang = panjang1;
}
    Output:



D. Ubah source code pada baris ke 3 dari MainDisket.java dengan source di bawah ini :

    Input:

 Disket disk1 = new Disket(50);

    Output:        






KOMPONEN - KOMPONEN SWING LANJUTAN

Pertemuan 11 : Dasar Teori  Swing  merupakan alternatif lain untuk mengimplementasikan pemograman Wndows. Walaupun diimplementasikan ber...