SlideShare a Scribd company logo
1 of 62
Download to read offline
Review
               Konsep Dasar Java
Pengenalan Pemrograman 2




                             Versi
                             2.0
Topik



Konsep   Object-Oriented

Struktur   Program Java
Konsep Object-Oriented

Konsep Object-Oriented
   ◦ Terfokus pada object dan class, berdasarkan skenario
     pada dunia nyata
   ◦ Mendeskripsikan state, behavior dan interaction pada
     object
   ◦ Keuntungan :
       Pengembangan lebih cepat
       Meningkatkan kualitas
       Penanganan lebih mudah
       Dapat dimodifikasi
       Meningkatkan karakter reusable pada software

Class
   ◦ Digunakan untuk mendefinisikan tipe data baru
   ◦ Blueprint
Konsep Object-Oriented

Object
   ◦ Sebuah entitas yang memiliki state, behavior dan
     identity
   ◦ Contoh nyata dari sebuah class
   ◦ Dibuat pada saat class di-instantiate menggunakan keyword
     new
   ◦ Contoh: pada Sistem registrasi siswa

Attribut
   ◦ Elemen data dari sebuah object
   ◦ Menyimpan informasi tentang object
   ◦ Alias dari atribut : Data member, instance variable,
      property, data field
   ◦ Contoh: pada Sistem registrasi siswa
Konsep Object-Oriented

Method
    Menyatakan sifat dari sebuah object
  ◦
    Disebut juga fungsi atau prosedur
  ◦
    Contoh: pada Sistem registrasi siswa
  ◦


Konstruktor
    Menyerupai method
  ◦
    Untuk membuat dan menginisialisasi sebuah object baru
  ◦
    Bukan merupakan anggota dari sebuah object
  ◦
Konsep Object-Oriented

Package
     Pengelompokan class atau subpackage
   ◦
     Fungsinya sama seperti direktori
   ◦
Enkapsulasi
    Suatu prinsip penyembunyian desain atau pengimplementasian informasi yang tidak sesuai pada object yang ada
  ◦
Abstraksi
     Mengabaikan aspek dari subjek yang tidak sesuai dengan tujuan yang ada supaya lebih banyak
  ◦
     mengkonsentrasikan yang ada
Konsep Object-Oriented

Pewarisan
  ◦ Hubungan antara class dimana dalam satu class ada
    superclass atau class induk dari class yang lain
  ◦ Mengarah pada properi dan sifat yang diterima dari asalnya
  ◦ Dikenal juga dengan hubungan "is-a"




                            SuperHero



          FlyingSuperHero           UnderwaterSuperHero
Konsep Object-Oriented

   Polymorfisme
     ◦ "poly" berarti banyak sedangkan "morph" berarti
       bentuk
     ◦ Kemampuan dari sebuah object untuk membolehkan
       mengambil beberapa bentuk yang berbeda

   Interface
     ◦ Sebuah contract dalam bentuk kumpulan method
       dan deklarasi konstanta
     ◦ Mengimplementasikan janji pada class untuk
       mengikuti contract
Struktur Program Java :
          Deklarasi Class

   Sintaks
     ◦ <classDeclaration> ::=
     ◦     <modifier> class <name> {
     ◦        <attributeDeclaration>*
     ◦        <constructorDeclaration>*
     ◦        <methodDeclaration>*
     ◦     }
     ◦ dimana
     ◦ Modifier
         Mengacu pada access modifier atau type lain dari
          modifier
    ◦ Name
         Sebuah identifier pada nama kelas
Struktur Program Java :
         Deklarasi Class
1    class SuperHero {
2        String superPowers[];
3        void setSuperPowers(String superPowers[])
       {
4           this.superPowers = superPowers;
5        }
6        void printSuperPowers() {
7           for (int i = 0; i <
     superPowers.length; i++) {
8              System.out.println(superPowers[i]);
9           }
10       }
11   }
Struktur Program Java :
     Deklarasi Attribut

Sintaks:
  ◦ <attributeDeclaration> ::=
  ◦    <modifier> <type> <name> [=
    <default_value>];

  ◦ <type> ::=
  ◦    byte | short | int | long | char |
    float | double | boolean | <class>
Struktur Program Java :
         Deklarasi Attribut



1   public class AttributeDemo {
2      private String studNum;
3      public boolean graduating = false;
4      protected float unitsTaken = 0.0f;
5      String college;
6   }
Struktur Program Java :
             Deklarasi Method


 Sintaks:
  ◦ <methodDeclaration> ::=
  ◦    <modifier> <returnType> <name>(<parameter>*) {
  ◦       <statement>*
  ◦    }
  ◦ <parameter> ::=
  ◦    <parameter_type> <parameter_name>[,]
Struktur Program Java :
                  Deklarasi Method
1  class MethodDemo {
2     int data;
3     int getData() {
4        return data;
5     }
6     void setData(int data) {
7        this.data = data;
8     }
9     void setMaxData(int data1, int data2) {
10       data = (data1>data2)? data1 : data2;
11    }
12 }
Struktur Program Java :
           Deklarasi Konstruktor

   Sintaks:
     ◦ <constructorDeclaration> ::=
     ◦     <modifier> <className> (<parameter>*) {
     ◦        <statement>*
     ◦     }
     ◦ dimana
     ◦ Modifier
         Dapat berupa beberapa acces modifier tetapi
          bukan tipe modifier lainnya.

   Konstruktor secara default
     ◦ Tidak mempunyai argumen
     ◦ Tidak memiliki isi
Struktur Program Java :
                Deklarasi Method

1   class ConstructorDemo {
2      private int data;
3      public ConstructorDemo() {
4         data = 100;
5      }
6      ConstructorDemo(int data) {
7         this.data = data;
8      }
9   }
Struktur Program Java :
        Instansiasi Kelas

   Syntax:
     ◦ new <constructorName>(<parameters>)

   Contoh:
     1.class ConstructObj {
     2.   int data;
     3.   ConstructObj() {
     4.      /* initialize data */
     5.   }
     6.   public static void main(String args[]) {
     7.      ConstructObj obj = new ConstructObj();
     8. }
     9.}
Struktur Program Java :
                   Mengakses Anggota Objek

   Notasi titik:
     ◦ <object>.<member>

   Contoh:
     ◦ String myString = new String(“My String”);
     ◦ //Access length method
     ◦ System.out.println(“Length: ” + myString.length());


    ◦ int intArr = {1, 2, 3, 4, 5};
    ◦ //Access length attribute
    ◦ System.out.println(“Length: ” + intArr.length);
Struktur Program Java :
         Mengakses Anggota Object

1    class ConstructObj {
2       int data;
3       ConstructObj() {
4          /* initialize data */
5       }
6       void setData(int data) {
7          this.data = data;
8       }
9       public static void main(String args[]) {
10         ConstructObj obj = new ConstructObj();
11         obj.setData = 10;       //access setData()
12         System.out.println(obj.data);//access data
13      }
14   }
Struktur Program Java :
          Package

   Sintaks untuk indikasi bahwa kode dimiliki oleh sebuah
    package:
     ◦ <packageDeclaration> ::=
     ◦     package <packageName>;

   Sintaks untuk mengimpor package lainnya:
     ◦ <importDeclaration> ::=
     ◦     import <packageName.elementAccessed>;

   Format Source code:
     ◦ [<packageDeclaration>]
     ◦ <importDeclaration>*
     ◦ <classDeclaration>+
Struktur Program Java :
        Package


1   package registration.reports;
2   import registration.processing.*;
3   import java.util.List;
4   import java.lang.*; //imported by default
5   class MyClass {
6      /* details of MyClass */
7   }
Struktur Program Java :
Access Modifier
Struktur Program Java :
         Enkapsulasi

   Menyembunyikan anggota dengan membuatnya private
   Contoh
     1. class Encapsulation {
     2.    private int secret;
     3.    public boolean setSecret(int secret) {
     4.       if (secret < 1 || secret > 100)
     5.          return false;
     6.       this.secret = secret;
     7.       return true;
     8.    }
     9.    public getSecret() {
     10.      return secret;
     11.   }
     12.}
Struktur Program Java :
     Pewarisan


Membuat class anak atau subkelas:
 ◦ Menggunakan extends dalam mendeklarasikan
   class
 ◦ Sintaks:
     class <childClassName> extends
      <parentClassName>

Sebuah  class hanya dapat meng-extend
 satu class induk
Struktur Program Java :
      Pewarisan

1.import   java.awt.*;

2.class  Point {
3.    int x;
4.    int y;
5.}


6.class  ColoredPoint extends Point {
7.    Color color;
8.}
Struktur Program Java :
         Method Overriding

   subclass mendefinisikan method yang bertanda
    serupa ke method dalam superclass

   Tanda pada sebuah method
    ◦ informasi yang ditemukan dalam definisi
      method bagian atas
        Return type
        Nama method
        Daftar Parameter pada method

   Berbeda dengan method overloading!
Struktur Program Java :
         Method Overriding

1. class Superclass {
2.    void display(int n) {
3.       System.out.println("super: " + n);
4.    }
5. }


6. class Subclass extends Superclass {
7.    void display(int k) {
8.       System.out.println("sub: " + k);
9.    }
10.}


11.//   continued...
Struktur Program Java :
           Method Overriding


14.class  OverrideDemo {
15.    public static void main(String args[]) {
16.       Subclass SubObj = new Subclass();
17.       Superclass SuperObj = SubObj;
18.       SubObj.display(3);
19.       ((Superclass)SubObj).display(4);
20.    }
21.}
Struktur Program Java :
          Method Overriding

   Pemanggilan method
     ◦ Ditentukan oleh tipe data sebenarnya dari object
       yang diminta method

   Access modifier untuk method yang
    dibutuhkan tidak harus sama
     ◦ Access modifier pada method overriding
         Access modifier yang sama seperti pada
          method overridden
         Access modifier lebih luas
Struktur Program Java :
        Method Overriding

1.  class Superclass {
2.     void overriddenMethod() {
3.     }
4. }
5. class Subclass1 extends Superclass {
6.     public void overriddenMethod() {
7.     }
8. }
9. class Subclass2 extends Superclass {
10.    void overriddenMethod() {
11.    }
12.}
13.//continued...
Struktur Program Java :
        Method Overriding

14./* class Superclass {
15.   void overriddenMethod() {
16.   }
17.} */
18.class Subclass3 extends Superclass {
19.   protected void overriddenMethod() {
20.   }
21.}
22.class Subclass4 extends Superclass {
23.   private void overriddenMethod() {
24.   }
25.}
Struktur Program Java :
         class abstract dan method

   Sintaks:
     ◦ abstract <modifier> <returnType>
       <name>(<parameter>*);

   Sebuah class yang berisi method abstract harus
    dideklarasikan sebagai sebuah class abstract.
     ◦ abstract class <name> {
     ◦    /* constructors, fields and methods */
     ◦}
Struktur Program Java :
           class abstract dan method

   Kata kunci abstract tidak dapat digunakan pada :
     ◦ konstruktor
     ◦ Method static

   class abstract tidak dapat diinstansiasi

   Class yang meng-extends sebuah class abstract :
    ◦ harus mengimplementasikan semua method abstract
    ◦ Sebaliknya, subclass sendiri harus dideklarasikan
      sebagai abstract
Struktur Program Java :
         class abstract dan method

1.  abstract class SuperHero {
2.     String superPowers[];
3.     void setSuperPowers(String superPowers[]) {
4.        this.superPowers = superPowers;
5.     }
6.     void printSuperPowers() {
7.        for (int i = 0; i < superPowers.length; i++) {
8.           System.out.println(superPowers[i]);
9.        }
10.    }
11.    abstract void displayPower();
12.}
13.//continued...
Struktur Program Java :
          class abstract dan method

1.   class FlyingSuperHero extends SuperHero {
2.      void displayPower() {
3.         System.out.println("Fly...");
4.      }
5.   }

6.  class Spiderman extends SuperHero {
7.     void displayPower() {
8.        System.out.println("Communicate with sea" +
9.                           " creatures...");
10.      System.out.println("Fast swimming ability...");
11.    }
12.}
Struktur Program Java :
           Interface


   Sintaks:
     ◦ <interfaceDeclaration> ::=
     ◦     <modifier> interface <name> {
     ◦        <attributeDeclaration>*
     ◦        [<modifier> <returnType> <name>
                     (<parameter>*);]*
     ◦     }

   Anggotanya adalah public ketika interface dideklarasikan
    sebagai public
Struktur Program Java :
           Interface
   Attribut Interface:
     ◦ Secara implisit static dan final
     ◦ Harus diinisialisasi

   Modifier:
     ◦ Access modifiers: public, package
     ◦ Harus diinisialisasi

   Mengimplementasikan sebuah interface:
     ◦ Menggunakan kata kunci implements
     ◦ Harus mengimplementasikan semua method interface
     ◦ Sebuah class boleh mengimplementasikan lebih dari satu
       interface
Struktur Program Java :
          Interface

1.   interface MyInterface {
2.      void iMethod();
3.   }

4.  class MyClass1 implements MyInterface {
5.     public void iMethod() {
6.        System.out.println("Interface method.");
7.     }
8.     void myMethod() {
9.        System.out.println("Another method.");
10.    }
11.}
12.//continued...
Struktur Program Java :
        Interface

14.class  MyClass2 implements MyInterface {
15.    public void iMethod() {
16.       System.out.println("Another implementation.");
17.    }
18.}
19.class  InterfaceDemo {
20.    public static void main(String args[]) {
21.       MyClass1 mc1 = new MyClass1();
22.       MyClass2 mc2 = new MyClass2();
23.       mc1.iMethod();
24.       mc1.myMethod();
25.       mc2.iMethod();
26.    }
27.}
Struktur Program Java :
        kata kunci this


   mengapa this?
    1. Agar tidak ambigu antara attribut lokal dan
       variabel lokal
    2. Menunjuk pada object yang meminta
       method non-static
    3. Menunjuk pada konstruktor lain
Struktur Program Java :
           kata kunci this


1.   Agar tidak ambigu antara attribut lokal dan variabel lokal
      1. class ThisDemo1 {
      2.    int data;
      3.    void method(int data) {
      4.       this.data = data;
      5.       /*
      6.          this.data refers to the attribute
      7.          while data refers to the local variable
      8.       */
      9.    }
      10.}
Struktur Program Java :
           kata kunci this


1.   Menunjuk pada object yang meminta method non-static
      1. class ThisDemo2 {
      2.    int data;
      3.    void method() {
      4.       System.out.println(data); //this.data
      5.    }
      6.    void method2() {
      7.       method();    //this.method();
      8.    }
      9. }
Struktur Program Java :
          kata kunci this

   Method Overloading
     ◦ Metode berbeda dalam sebuah kelas membagi nama yang
       sama
     ◦ Daftar parameter harus berbeda
          Jumlah parameter
          Tipe parameter
     ◦ Konstruktor dapat juga menjadi overload
     ◦ Contoh:
          class MyClass {
             void myMeth() {}
             void myMeth(int i) {}
             void myMeth(int i, int j) {}
         }
Struktur Program Java :
          kata kunci this
   menunjuk versi lain dari konstruktor
    1. class ThisDemo3 {
    2.    int data;
    3.    ThisDemo3() {
    4.       this(100);
    5.    }
    6.    ThisDemo3(int data) {
    7.       this.data = data;
    8.    }
    9. }
Struktur Program Java :
          kata kunci super
   Berhubungan dengan pewarisan
     ◦ Digunakan untuk meminta konstruktor superclass
     ◦ Dapat digunakan seperti kata kunci this untuk menunjuk
       pada anggota dari superclass

   Memanggil konstruktor superclass
     1. class Person {
     2.    String firstName;
     3.    String lastName;
     4.    Person(String fname, String lname) {
     5.       firstName = fname;
     6.       lastName = lname;
     7.    }
     8. }
Struktur Program Java :
          kata kunci super

9.  //continuation...
10.class Student extends Person {
11. String studNum;
12. Student(String fname, String lname, String sNum)        {
13.       super(fname, lname);
14.       studNum = sNum;
15.    }
16.}


    super()
      ◦ Menunjuk pada superclass dengan segera
      ◦ Harus berada pada pernyataan pertama dalam konstruktor
        superclass
Struktur Program Java :
     kata kunci super


 Menunjuk anggota superclass
  1. class Superclass{
  2.    int a;
  3.    void display_a(){
  4.       System.out.println("a = " + a);
  5.    }
  6. }


  7. //continued...
Struktur Program Java :
       kata kunci super


9.  class Subclass extends Superclass {
10.    int a;
11.    void display_a(){
12.       System.out.println("a = " + a);
13.    }
14.    void set_super_a(int n){
15.       super.a = n;
16.    }
17.    void display_super_a(){
18.       super.display_a();
19.    }
20.}
Struktur Program Java :
           kata kunci super

21.class  SuperDemo {
22.    public static void main(String args[]){
23.       Superclass SuperObj = new Superclass();
24.       Subclass SubObj = new Subclass();
25.       SuperObj.a = 1;
26.       SubObj.a = 2;
27.       SubObj.set_super_a(3);
28.       SuperObj.display_a();
29.       SubObj.display_a();
30.       SubObj.display_super_a();
31.       System.out.println(SubObj.a);
32.    }
33.}
Struktur Program Java :
           kata kunci static

   Digunakan untuk anggota dari sebuah class :
     ◦ attribut
     ◦ Method
     ◦ Inner class
   Mengijinkan untuk mengakses static atau anggota
    class tanpa instansiasi

   Variabel class
     ◦ Bersifat seperti variabel global
     ◦ Dapat diakses oleh semua instance dari kelas
Struktur Program Java :
         kata kunci static

   Method class
     ◦ Dapat diambil tanpa membuat sebuah object dari
       class tersebut
     ◦ Hanya dapat mengakses anggota static dari class
     ◦ tidak dapat menunjuk pada this dan super

   Blok static
     ◦ Hanya dapat dieksekusi sekali, ketika kelas diisi
     ◦ Untuk inisialisasi variabel class
Struktur Program Java :
          kata kunci static

1. class Demo {
2.     static int a = 0;
3.     static void staticMethod(int i) {
4.         System.out.println(i);
5.     }
6.     static {    //static block
7.         System.out.println("static block");
8.         a += 1;
9.     }
10.}


11.//continued...
Struktur Program Java :
           kata kunci static

13.class  StaticDemo {
14.    public static void main(String args[]) {
15.       System.out.println(Demo.a);
16.       Demo.staticMethod(5);
17.       Demo d = new Demo();
18.       System.out.println(d.a);
19.       d.staticMethod(0);
20.       Demo e = new Demo();
21.       System.out.println(e.a);
22.       d.a += 3;
23.       System.out.println(Demo.a+", "+d.a+", "+e.a);
24.    }
25.}
Struktur Program Java :
         kata kunci final

   Dapat diaplikasikan pada variabel, method dan class

   Dibatasi apa yang kita dapat lakukan dengan
    variabel, method dan class.

   Variabel final
     ◦ Tidak dapat diubah setelah nilainya diset
     ◦ contoh:
         final int data = 10;
         data++;
Struktur Program Java :
          kata kunci final
   Method final
     ◦ Tidak dapat di-override
     ◦ contoh:
          final void myMethod() { //in a parent class
         }
          void myMethod() {   //in a child class
         }

   Class final
     ◦ Tidak dapat diwariskan
     ◦ contoh:
          final public class MyClass {}
          class WrongClass extends MyClass {}
Struktur Program Java :
         kata kunci final


 Katakunci dapat diletakkan sebelum
 setelah modifier lain
  ◦ public final static void meth() {} or
  ◦ final public static void meth() {}
    or ...
  ◦ //order of modifiers is not important
Struktur Program Java :
        Inner Classes


   Dideklarasikan dalam class lain

   Mengakses anggota dari inner class :
     ◦ Membutuhkan sebuah instance dari inner class
     ◦ Example:
         innerObj.innerMember = 5;
         //innerObj is an instance of the inner
          class
         //innerMember is a member of the inner
          class
Struktur Program Java :
        Inner Classes


   Method-method dari inner class dapat secara
    langsung mengakses anggota dari outer class
    contoh:
        1.class Out {
        2.   int OutData;
        3.   class In {
        4.      void inMeth() {
        5.         OutData = 10;
        6.      }
        7.   }
        8.}
Struktur Program Java :
      Inner Classes

1. class OuterClass {
2.    int data = 5;
3.    class InnerClass {
4.       int data2 = 10;
5.       void method() {
6.          System.out.println(data);
7.          System.out.println(data2);
8.       }
9.    }

10.//continued...
Struktur Program Java :
        Inner Classes


9.     public static void main(String args[]) {
10.       OuterClass oc = new OuterClass();
11.       InnerClass ic = oc.new InnerClass();
12.       System.out.println(oc.data);
13.       System.out.println(ic.data2);
14.       ic.method();
15.    }
16.}
Kesimpulan

 Konsep   Object-Oriented
  ◦ Desain Object-Oriented
  ◦ Class
  ◦ Object
  ◦ Attribut
                             −
                                 Package
  ◦ Method
  ◦ Konstruktor
                             −
                                 Enkapsulasi
                             −
                                 Abstraksi
                             −
                                 Pewarisan
                             −
                                 Polymorfisme
                             −
                                 Interface
Kesimpulan
   Struktur Program Java
     ◦ Mendeklarasikan class Java
     ◦ Mendeklarasikan Attribut
     ◦ Mendeklarasikan Metode          −
                                           Pewarisan
     ◦ Mendeklarasikan konstruktor
     ◦ Meng-instansiasi sebuah class
     ◦ Mengakses anggota object
                                       −
                                           Method Overriding
     ◦ Package
     ◦ Access Modifier
     ◦ Enkapsulasi
                                       −
                                           Class abstract dan method
                                       −
                                           Interface
                                       −
                                           Kata kunci this
                                       −
                                           Kata kunci super
                                       −
                                           Kata kunci static
                                       −
                                           Kata kunci final
                                       −
                                           Inner Classes

More Related Content

What's hot

Laporan PBO pratikum 2
Laporan PBO pratikum 2Laporan PBO pratikum 2
Laporan PBO pratikum 2rahmi wahyuni
 
Modul oop with java application mauludin
Modul oop with java application   mauludinModul oop with java application   mauludin
Modul oop with java application mauludinMauludin Ahmad
 
Pert 4. class dan objek
Pert 4. class dan objekPert 4. class dan objek
Pert 4. class dan objekradar radius
 
Modul praktikum java pemrograman berorientasi objek
Modul praktikum java pemrograman berorientasi objekModul praktikum java pemrograman berorientasi objek
Modul praktikum java pemrograman berorientasi objekimam arifin
 
Materi pelatihan java_fundamental
Materi pelatihan java_fundamentalMateri pelatihan java_fundamental
Materi pelatihan java_fundamentalLaode ADB Ali
 
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)Melina Krisnawati
 
Jeni Intro1 Bab10 Membuat Class Sendiri
Jeni Intro1 Bab10 Membuat Class SendiriJeni Intro1 Bab10 Membuat Class Sendiri
Jeni Intro1 Bab10 Membuat Class SendiriIndividual Consultants
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.10)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.10)Modul Praktikum Pemrograman Berorientasi Objek (Chap.10)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.10)Debby Ummul
 
Pertemuan 1
Pertemuan 1Pertemuan 1
Pertemuan 1zisgoo
 
Jeni Intro1 Bab11 Pewarisan, Polimorfisme, Dan Interface
Jeni Intro1 Bab11 Pewarisan, Polimorfisme, Dan InterfaceJeni Intro1 Bab11 Pewarisan, Polimorfisme, Dan Interface
Jeni Intro1 Bab11 Pewarisan, Polimorfisme, Dan InterfaceIndividual Consultants
 
Pengenalan Java
Pengenalan JavaPengenalan Java
Pengenalan JavaLaili Aidi
 
Laporan PBO Pratikum 3
Laporan PBO Pratikum 3Laporan PBO Pratikum 3
Laporan PBO Pratikum 3rahmi wahyuni
 
pbo 3 ervan
pbo 3 ervanpbo 3 ervan
pbo 3 ervanaris
 
Laporan praktikum Algoritma dan Pemrograman pertemuan 9&10
Laporan praktikum Algoritma dan Pemrograman pertemuan 9&10Laporan praktikum Algoritma dan Pemrograman pertemuan 9&10
Laporan praktikum Algoritma dan Pemrograman pertemuan 9&10Ekha Cahya Nugraha
 
Laporan praktikum Algoritma dan Pemrograman pertemuan 11
Laporan praktikum Algoritma dan Pemrograman pertemuan 11Laporan praktikum Algoritma dan Pemrograman pertemuan 11
Laporan praktikum Algoritma dan Pemrograman pertemuan 11Ekha Cahya Nugraha
 
XML - Chapter 5 XML DOM
XML - Chapter 5 XML DOMXML - Chapter 5 XML DOM
XML - Chapter 5 XML DOMRiza Nurman
 

What's hot (19)

Laporan PBO pratikum 2
Laporan PBO pratikum 2Laporan PBO pratikum 2
Laporan PBO pratikum 2
 
Modul oop with java application mauludin
Modul oop with java application   mauludinModul oop with java application   mauludin
Modul oop with java application mauludin
 
Pert 4. class dan objek
Pert 4. class dan objekPert 4. class dan objek
Pert 4. class dan objek
 
Modul praktikum java pemrograman berorientasi objek
Modul praktikum java pemrograman berorientasi objekModul praktikum java pemrograman berorientasi objek
Modul praktikum java pemrograman berorientasi objek
 
Materi pelatihan java fundamental
Materi pelatihan java fundamentalMateri pelatihan java fundamental
Materi pelatihan java fundamental
 
Materi pelatihan java_fundamental
Materi pelatihan java_fundamentalMateri pelatihan java_fundamental
Materi pelatihan java_fundamental
 
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
 
9150 8 interface
9150 8  interface9150 8  interface
9150 8 interface
 
Jeni Intro1 Bab10 Membuat Class Sendiri
Jeni Intro1 Bab10 Membuat Class SendiriJeni Intro1 Bab10 Membuat Class Sendiri
Jeni Intro1 Bab10 Membuat Class Sendiri
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.10)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.10)Modul Praktikum Pemrograman Berorientasi Objek (Chap.10)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.10)
 
Pertemuan 1
Pertemuan 1Pertemuan 1
Pertemuan 1
 
Laporan PBO Modul 4
Laporan PBO Modul 4Laporan PBO Modul 4
Laporan PBO Modul 4
 
Jeni Intro1 Bab11 Pewarisan, Polimorfisme, Dan Interface
Jeni Intro1 Bab11 Pewarisan, Polimorfisme, Dan InterfaceJeni Intro1 Bab11 Pewarisan, Polimorfisme, Dan Interface
Jeni Intro1 Bab11 Pewarisan, Polimorfisme, Dan Interface
 
Pengenalan Java
Pengenalan JavaPengenalan Java
Pengenalan Java
 
Laporan PBO Pratikum 3
Laporan PBO Pratikum 3Laporan PBO Pratikum 3
Laporan PBO Pratikum 3
 
pbo 3 ervan
pbo 3 ervanpbo 3 ervan
pbo 3 ervan
 
Laporan praktikum Algoritma dan Pemrograman pertemuan 9&10
Laporan praktikum Algoritma dan Pemrograman pertemuan 9&10Laporan praktikum Algoritma dan Pemrograman pertemuan 9&10
Laporan praktikum Algoritma dan Pemrograman pertemuan 9&10
 
Laporan praktikum Algoritma dan Pemrograman pertemuan 11
Laporan praktikum Algoritma dan Pemrograman pertemuan 11Laporan praktikum Algoritma dan Pemrograman pertemuan 11
Laporan praktikum Algoritma dan Pemrograman pertemuan 11
 
XML - Chapter 5 XML DOM
XML - Chapter 5 XML DOMXML - Chapter 5 XML DOM
XML - Chapter 5 XML DOM
 

Similar to Jeni konsep oop

Jeni Intro2 Bab01 Review Konsep Dasar Dalam Java
Jeni Intro2 Bab01 Review Konsep Dasar Dalam JavaJeni Intro2 Bab01 Review Konsep Dasar Dalam Java
Jeni Intro2 Bab01 Review Konsep Dasar Dalam JavaIndividual Consultants
 
Jeni Web Programming Bab 15 J2 Ee Design Pattern
Jeni Web Programming Bab 15 J2 Ee Design PatternJeni Web Programming Bab 15 J2 Ee Design Pattern
Jeni Web Programming Bab 15 J2 Ee Design PatternIndividual Consultants
 
PEMORGRAMAN BERORIENTASI OBJEK-02 Teknologi JAVA.pptx
PEMORGRAMAN BERORIENTASI OBJEK-02 Teknologi JAVA.pptxPEMORGRAMAN BERORIENTASI OBJEK-02 Teknologi JAVA.pptx
PEMORGRAMAN BERORIENTASI OBJEK-02 Teknologi JAVA.pptxBBXSQUAD
 
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)Rakhmat Dedi Gunawan
 
Tutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSON
Tutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSONTutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSON
Tutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSONDimas Prawira
 
Modul pratikum pbo - ENCAPSULATION
Modul pratikum pbo - ENCAPSULATIONModul pratikum pbo - ENCAPSULATION
Modul pratikum pbo - ENCAPSULATIONrahmantoyuri
 
Tugas pbw 1310652044_1310652045
Tugas pbw 1310652044_1310652045Tugas pbw 1310652044_1310652045
Tugas pbw 1310652044_1310652045Sugeng Nirwoto
 
Tugas pbw 1310652044_1310652045
Tugas pbw 1310652044_1310652045Tugas pbw 1310652044_1310652045
Tugas pbw 1310652044_1310652045Sugeng Nirwoto
 
Basic Java Application - Sesi 5
Basic Java Application - Sesi 5Basic Java Application - Sesi 5
Basic Java Application - Sesi 5Rudi Hartono
 
17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sql17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sqlSaprudin Eskom
 
JENI-Intro1-Bab10-Membuat class sendiri.pdf
JENI-Intro1-Bab10-Membuat class sendiri.pdfJENI-Intro1-Bab10-Membuat class sendiri.pdf
JENI-Intro1-Bab10-Membuat class sendiri.pdfJurnal IT
 
17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sql17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sqlSaprudin Eskom
 
Resa ari siswo[1210652011], rico nilar hartono[1210652008]
Resa ari siswo[1210652011], rico nilar hartono[1210652008]Resa ari siswo[1210652011], rico nilar hartono[1210652008]
Resa ari siswo[1210652011], rico nilar hartono[1210652008]resaarisiswo
 
Modul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi ObjekModul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi ObjekWahyu Widodo
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)Debby Ummul
 
Jeni Web Programming Bab 8 Advanced Mvc
Jeni Web Programming Bab 8 Advanced MvcJeni Web Programming Bab 8 Advanced Mvc
Jeni Web Programming Bab 8 Advanced MvcIndividual Consultants
 
Jeni intro1-bab11-pewarisan, polimorfisme, dan interface
Jeni intro1-bab11-pewarisan, polimorfisme, dan interfaceJeni intro1-bab11-pewarisan, polimorfisme, dan interface
Jeni intro1-bab11-pewarisan, polimorfisme, dan interfaceKristanto Wijaya
 
Tutorial lanjutan java netbeans 8 : Create Read Update Delete
Tutorial lanjutan java netbeans 8 : Create Read Update DeleteTutorial lanjutan java netbeans 8 : Create Read Update Delete
Tutorial lanjutan java netbeans 8 : Create Read Update DeleteSMK Negeri 6 Malang
 

Similar to Jeni konsep oop (20)

Jeni Intro2 Bab01 Review Konsep Dasar Dalam Java
Jeni Intro2 Bab01 Review Konsep Dasar Dalam JavaJeni Intro2 Bab01 Review Konsep Dasar Dalam Java
Jeni Intro2 Bab01 Review Konsep Dasar Dalam Java
 
Jeni Web Programming Bab 15 J2 Ee Design Pattern
Jeni Web Programming Bab 15 J2 Ee Design PatternJeni Web Programming Bab 15 J2 Ee Design Pattern
Jeni Web Programming Bab 15 J2 Ee Design Pattern
 
mf488_10_092649.ppt
mf488_10_092649.pptmf488_10_092649.ppt
mf488_10_092649.ppt
 
Tugas resum
Tugas resumTugas resum
Tugas resum
 
PEMORGRAMAN BERORIENTASI OBJEK-02 Teknologi JAVA.pptx
PEMORGRAMAN BERORIENTASI OBJEK-02 Teknologi JAVA.pptxPEMORGRAMAN BERORIENTASI OBJEK-02 Teknologi JAVA.pptx
PEMORGRAMAN BERORIENTASI OBJEK-02 Teknologi JAVA.pptx
 
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
 
Tutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSON
Tutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSONTutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSON
Tutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSON
 
Modul pratikum pbo - ENCAPSULATION
Modul pratikum pbo - ENCAPSULATIONModul pratikum pbo - ENCAPSULATION
Modul pratikum pbo - ENCAPSULATION
 
Tugas pbw 1310652044_1310652045
Tugas pbw 1310652044_1310652045Tugas pbw 1310652044_1310652045
Tugas pbw 1310652044_1310652045
 
Tugas pbw 1310652044_1310652045
Tugas pbw 1310652044_1310652045Tugas pbw 1310652044_1310652045
Tugas pbw 1310652044_1310652045
 
Basic Java Application - Sesi 5
Basic Java Application - Sesi 5Basic Java Application - Sesi 5
Basic Java Application - Sesi 5
 
17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sql17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sql
 
JENI-Intro1-Bab10-Membuat class sendiri.pdf
JENI-Intro1-Bab10-Membuat class sendiri.pdfJENI-Intro1-Bab10-Membuat class sendiri.pdf
JENI-Intro1-Bab10-Membuat class sendiri.pdf
 
17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sql17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sql
 
Resa ari siswo[1210652011], rico nilar hartono[1210652008]
Resa ari siswo[1210652011], rico nilar hartono[1210652008]Resa ari siswo[1210652011], rico nilar hartono[1210652008]
Resa ari siswo[1210652011], rico nilar hartono[1210652008]
 
Modul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi ObjekModul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi Objek
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)
 
Jeni Web Programming Bab 8 Advanced Mvc
Jeni Web Programming Bab 8 Advanced MvcJeni Web Programming Bab 8 Advanced Mvc
Jeni Web Programming Bab 8 Advanced Mvc
 
Jeni intro1-bab11-pewarisan, polimorfisme, dan interface
Jeni intro1-bab11-pewarisan, polimorfisme, dan interfaceJeni intro1-bab11-pewarisan, polimorfisme, dan interface
Jeni intro1-bab11-pewarisan, polimorfisme, dan interface
 
Tutorial lanjutan java netbeans 8 : Create Read Update Delete
Tutorial lanjutan java netbeans 8 : Create Read Update DeleteTutorial lanjutan java netbeans 8 : Create Read Update Delete
Tutorial lanjutan java netbeans 8 : Create Read Update Delete
 

Jeni konsep oop

  • 1. Review Konsep Dasar Java Pengenalan Pemrograman 2 Versi 2.0
  • 2. Topik Konsep Object-Oriented Struktur Program Java
  • 3. Konsep Object-Oriented Konsep Object-Oriented ◦ Terfokus pada object dan class, berdasarkan skenario pada dunia nyata ◦ Mendeskripsikan state, behavior dan interaction pada object ◦ Keuntungan :  Pengembangan lebih cepat  Meningkatkan kualitas  Penanganan lebih mudah  Dapat dimodifikasi  Meningkatkan karakter reusable pada software Class ◦ Digunakan untuk mendefinisikan tipe data baru ◦ Blueprint
  • 4. Konsep Object-Oriented Object ◦ Sebuah entitas yang memiliki state, behavior dan identity ◦ Contoh nyata dari sebuah class ◦ Dibuat pada saat class di-instantiate menggunakan keyword new ◦ Contoh: pada Sistem registrasi siswa Attribut ◦ Elemen data dari sebuah object ◦ Menyimpan informasi tentang object ◦ Alias dari atribut : Data member, instance variable, property, data field ◦ Contoh: pada Sistem registrasi siswa
  • 5. Konsep Object-Oriented Method Menyatakan sifat dari sebuah object ◦ Disebut juga fungsi atau prosedur ◦ Contoh: pada Sistem registrasi siswa ◦ Konstruktor Menyerupai method ◦ Untuk membuat dan menginisialisasi sebuah object baru ◦ Bukan merupakan anggota dari sebuah object ◦
  • 6. Konsep Object-Oriented Package Pengelompokan class atau subpackage ◦ Fungsinya sama seperti direktori ◦ Enkapsulasi Suatu prinsip penyembunyian desain atau pengimplementasian informasi yang tidak sesuai pada object yang ada ◦ Abstraksi Mengabaikan aspek dari subjek yang tidak sesuai dengan tujuan yang ada supaya lebih banyak ◦ mengkonsentrasikan yang ada
  • 7. Konsep Object-Oriented Pewarisan ◦ Hubungan antara class dimana dalam satu class ada superclass atau class induk dari class yang lain ◦ Mengarah pada properi dan sifat yang diterima dari asalnya ◦ Dikenal juga dengan hubungan "is-a" SuperHero FlyingSuperHero UnderwaterSuperHero
  • 8. Konsep Object-Oriented  Polymorfisme ◦ "poly" berarti banyak sedangkan "morph" berarti bentuk ◦ Kemampuan dari sebuah object untuk membolehkan mengambil beberapa bentuk yang berbeda  Interface ◦ Sebuah contract dalam bentuk kumpulan method dan deklarasi konstanta ◦ Mengimplementasikan janji pada class untuk mengikuti contract
  • 9. Struktur Program Java : Deklarasi Class  Sintaks ◦ <classDeclaration> ::= ◦ <modifier> class <name> { ◦ <attributeDeclaration>* ◦ <constructorDeclaration>* ◦ <methodDeclaration>* ◦ } ◦ dimana ◦ Modifier  Mengacu pada access modifier atau type lain dari modifier ◦ Name  Sebuah identifier pada nama kelas
  • 10. Struktur Program Java : Deklarasi Class 1 class SuperHero { 2 String superPowers[]; 3 void setSuperPowers(String superPowers[]) { 4 this.superPowers = superPowers; 5 } 6 void printSuperPowers() { 7 for (int i = 0; i < superPowers.length; i++) { 8 System.out.println(superPowers[i]); 9 } 10 } 11 }
  • 11. Struktur Program Java : Deklarasi Attribut Sintaks: ◦ <attributeDeclaration> ::= ◦ <modifier> <type> <name> [= <default_value>]; ◦ <type> ::= ◦ byte | short | int | long | char | float | double | boolean | <class>
  • 12. Struktur Program Java : Deklarasi Attribut 1 public class AttributeDemo { 2 private String studNum; 3 public boolean graduating = false; 4 protected float unitsTaken = 0.0f; 5 String college; 6 }
  • 13. Struktur Program Java : Deklarasi Method  Sintaks: ◦ <methodDeclaration> ::= ◦ <modifier> <returnType> <name>(<parameter>*) { ◦ <statement>* ◦ } ◦ <parameter> ::= ◦ <parameter_type> <parameter_name>[,]
  • 14. Struktur Program Java : Deklarasi Method 1 class MethodDemo { 2 int data; 3 int getData() { 4 return data; 5 } 6 void setData(int data) { 7 this.data = data; 8 } 9 void setMaxData(int data1, int data2) { 10 data = (data1>data2)? data1 : data2; 11 } 12 }
  • 15. Struktur Program Java : Deklarasi Konstruktor  Sintaks: ◦ <constructorDeclaration> ::= ◦ <modifier> <className> (<parameter>*) { ◦ <statement>* ◦ } ◦ dimana ◦ Modifier  Dapat berupa beberapa acces modifier tetapi bukan tipe modifier lainnya.  Konstruktor secara default ◦ Tidak mempunyai argumen ◦ Tidak memiliki isi
  • 16. Struktur Program Java : Deklarasi Method 1 class ConstructorDemo { 2 private int data; 3 public ConstructorDemo() { 4 data = 100; 5 } 6 ConstructorDemo(int data) { 7 this.data = data; 8 } 9 }
  • 17. Struktur Program Java : Instansiasi Kelas  Syntax: ◦ new <constructorName>(<parameters>)  Contoh: 1.class ConstructObj { 2. int data; 3. ConstructObj() { 4. /* initialize data */ 5. } 6. public static void main(String args[]) { 7. ConstructObj obj = new ConstructObj(); 8. } 9.}
  • 18. Struktur Program Java : Mengakses Anggota Objek  Notasi titik: ◦ <object>.<member>  Contoh: ◦ String myString = new String(“My String”); ◦ //Access length method ◦ System.out.println(“Length: ” + myString.length()); ◦ int intArr = {1, 2, 3, 4, 5}; ◦ //Access length attribute ◦ System.out.println(“Length: ” + intArr.length);
  • 19. Struktur Program Java : Mengakses Anggota Object 1 class ConstructObj { 2 int data; 3 ConstructObj() { 4 /* initialize data */ 5 } 6 void setData(int data) { 7 this.data = data; 8 } 9 public static void main(String args[]) { 10 ConstructObj obj = new ConstructObj(); 11 obj.setData = 10; //access setData() 12 System.out.println(obj.data);//access data 13 } 14 }
  • 20. Struktur Program Java : Package  Sintaks untuk indikasi bahwa kode dimiliki oleh sebuah package: ◦ <packageDeclaration> ::= ◦ package <packageName>;  Sintaks untuk mengimpor package lainnya: ◦ <importDeclaration> ::= ◦ import <packageName.elementAccessed>;  Format Source code: ◦ [<packageDeclaration>] ◦ <importDeclaration>* ◦ <classDeclaration>+
  • 21. Struktur Program Java : Package 1 package registration.reports; 2 import registration.processing.*; 3 import java.util.List; 4 import java.lang.*; //imported by default 5 class MyClass { 6 /* details of MyClass */ 7 }
  • 22. Struktur Program Java : Access Modifier
  • 23. Struktur Program Java : Enkapsulasi  Menyembunyikan anggota dengan membuatnya private  Contoh 1. class Encapsulation { 2. private int secret; 3. public boolean setSecret(int secret) { 4. if (secret < 1 || secret > 100) 5. return false; 6. this.secret = secret; 7. return true; 8. } 9. public getSecret() { 10. return secret; 11. } 12.}
  • 24. Struktur Program Java : Pewarisan Membuat class anak atau subkelas: ◦ Menggunakan extends dalam mendeklarasikan class ◦ Sintaks:  class <childClassName> extends <parentClassName> Sebuah class hanya dapat meng-extend satu class induk
  • 25. Struktur Program Java : Pewarisan 1.import java.awt.*; 2.class Point { 3. int x; 4. int y; 5.} 6.class ColoredPoint extends Point { 7. Color color; 8.}
  • 26. Struktur Program Java : Method Overriding  subclass mendefinisikan method yang bertanda serupa ke method dalam superclass  Tanda pada sebuah method ◦ informasi yang ditemukan dalam definisi method bagian atas  Return type  Nama method  Daftar Parameter pada method  Berbeda dengan method overloading!
  • 27. Struktur Program Java : Method Overriding 1. class Superclass { 2. void display(int n) { 3. System.out.println("super: " + n); 4. } 5. } 6. class Subclass extends Superclass { 7. void display(int k) { 8. System.out.println("sub: " + k); 9. } 10.} 11.// continued...
  • 28. Struktur Program Java : Method Overriding 14.class OverrideDemo { 15. public static void main(String args[]) { 16. Subclass SubObj = new Subclass(); 17. Superclass SuperObj = SubObj; 18. SubObj.display(3); 19. ((Superclass)SubObj).display(4); 20. } 21.}
  • 29. Struktur Program Java : Method Overriding  Pemanggilan method ◦ Ditentukan oleh tipe data sebenarnya dari object yang diminta method  Access modifier untuk method yang dibutuhkan tidak harus sama ◦ Access modifier pada method overriding  Access modifier yang sama seperti pada method overridden  Access modifier lebih luas
  • 30. Struktur Program Java : Method Overriding 1. class Superclass { 2. void overriddenMethod() { 3. } 4. } 5. class Subclass1 extends Superclass { 6. public void overriddenMethod() { 7. } 8. } 9. class Subclass2 extends Superclass { 10. void overriddenMethod() { 11. } 12.} 13.//continued...
  • 31. Struktur Program Java : Method Overriding 14./* class Superclass { 15. void overriddenMethod() { 16. } 17.} */ 18.class Subclass3 extends Superclass { 19. protected void overriddenMethod() { 20. } 21.} 22.class Subclass4 extends Superclass { 23. private void overriddenMethod() { 24. } 25.}
  • 32. Struktur Program Java : class abstract dan method  Sintaks: ◦ abstract <modifier> <returnType> <name>(<parameter>*);  Sebuah class yang berisi method abstract harus dideklarasikan sebagai sebuah class abstract. ◦ abstract class <name> { ◦ /* constructors, fields and methods */ ◦}
  • 33. Struktur Program Java : class abstract dan method  Kata kunci abstract tidak dapat digunakan pada : ◦ konstruktor ◦ Method static  class abstract tidak dapat diinstansiasi  Class yang meng-extends sebuah class abstract : ◦ harus mengimplementasikan semua method abstract ◦ Sebaliknya, subclass sendiri harus dideklarasikan sebagai abstract
  • 34. Struktur Program Java : class abstract dan method 1. abstract class SuperHero { 2. String superPowers[]; 3. void setSuperPowers(String superPowers[]) { 4. this.superPowers = superPowers; 5. } 6. void printSuperPowers() { 7. for (int i = 0; i < superPowers.length; i++) { 8. System.out.println(superPowers[i]); 9. } 10. } 11. abstract void displayPower(); 12.} 13.//continued...
  • 35. Struktur Program Java : class abstract dan method 1. class FlyingSuperHero extends SuperHero { 2. void displayPower() { 3. System.out.println("Fly..."); 4. } 5. } 6. class Spiderman extends SuperHero { 7. void displayPower() { 8. System.out.println("Communicate with sea" + 9. " creatures..."); 10. System.out.println("Fast swimming ability..."); 11. } 12.}
  • 36. Struktur Program Java : Interface  Sintaks: ◦ <interfaceDeclaration> ::= ◦ <modifier> interface <name> { ◦ <attributeDeclaration>* ◦ [<modifier> <returnType> <name>  (<parameter>*);]* ◦ }  Anggotanya adalah public ketika interface dideklarasikan sebagai public
  • 37. Struktur Program Java : Interface  Attribut Interface: ◦ Secara implisit static dan final ◦ Harus diinisialisasi  Modifier: ◦ Access modifiers: public, package ◦ Harus diinisialisasi  Mengimplementasikan sebuah interface: ◦ Menggunakan kata kunci implements ◦ Harus mengimplementasikan semua method interface ◦ Sebuah class boleh mengimplementasikan lebih dari satu interface
  • 38. Struktur Program Java : Interface 1. interface MyInterface { 2. void iMethod(); 3. } 4. class MyClass1 implements MyInterface { 5. public void iMethod() { 6. System.out.println("Interface method."); 7. } 8. void myMethod() { 9. System.out.println("Another method."); 10. } 11.} 12.//continued...
  • 39. Struktur Program Java : Interface 14.class MyClass2 implements MyInterface { 15. public void iMethod() { 16. System.out.println("Another implementation."); 17. } 18.} 19.class InterfaceDemo { 20. public static void main(String args[]) { 21. MyClass1 mc1 = new MyClass1(); 22. MyClass2 mc2 = new MyClass2(); 23. mc1.iMethod(); 24. mc1.myMethod(); 25. mc2.iMethod(); 26. } 27.}
  • 40. Struktur Program Java : kata kunci this  mengapa this? 1. Agar tidak ambigu antara attribut lokal dan variabel lokal 2. Menunjuk pada object yang meminta method non-static 3. Menunjuk pada konstruktor lain
  • 41. Struktur Program Java : kata kunci this 1. Agar tidak ambigu antara attribut lokal dan variabel lokal 1. class ThisDemo1 { 2. int data; 3. void method(int data) { 4. this.data = data; 5. /* 6. this.data refers to the attribute 7. while data refers to the local variable 8. */ 9. } 10.}
  • 42. Struktur Program Java : kata kunci this 1. Menunjuk pada object yang meminta method non-static 1. class ThisDemo2 { 2. int data; 3. void method() { 4. System.out.println(data); //this.data 5. } 6. void method2() { 7. method(); //this.method(); 8. } 9. }
  • 43. Struktur Program Java : kata kunci this  Method Overloading ◦ Metode berbeda dalam sebuah kelas membagi nama yang sama ◦ Daftar parameter harus berbeda  Jumlah parameter  Tipe parameter ◦ Konstruktor dapat juga menjadi overload ◦ Contoh:  class MyClass {  void myMeth() {}  void myMeth(int i) {}  void myMeth(int i, int j) {} }
  • 44. Struktur Program Java : kata kunci this  menunjuk versi lain dari konstruktor 1. class ThisDemo3 { 2. int data; 3. ThisDemo3() { 4. this(100); 5. } 6. ThisDemo3(int data) { 7. this.data = data; 8. } 9. }
  • 45. Struktur Program Java : kata kunci super  Berhubungan dengan pewarisan ◦ Digunakan untuk meminta konstruktor superclass ◦ Dapat digunakan seperti kata kunci this untuk menunjuk pada anggota dari superclass  Memanggil konstruktor superclass 1. class Person { 2. String firstName; 3. String lastName; 4. Person(String fname, String lname) { 5. firstName = fname; 6. lastName = lname; 7. } 8. }
  • 46. Struktur Program Java : kata kunci super 9. //continuation... 10.class Student extends Person { 11. String studNum; 12. Student(String fname, String lname, String sNum) { 13. super(fname, lname); 14. studNum = sNum; 15. } 16.}  super() ◦ Menunjuk pada superclass dengan segera ◦ Harus berada pada pernyataan pertama dalam konstruktor superclass
  • 47. Struktur Program Java : kata kunci super  Menunjuk anggota superclass 1. class Superclass{ 2. int a; 3. void display_a(){ 4. System.out.println("a = " + a); 5. } 6. } 7. //continued...
  • 48. Struktur Program Java : kata kunci super 9. class Subclass extends Superclass { 10. int a; 11. void display_a(){ 12. System.out.println("a = " + a); 13. } 14. void set_super_a(int n){ 15. super.a = n; 16. } 17. void display_super_a(){ 18. super.display_a(); 19. } 20.}
  • 49. Struktur Program Java : kata kunci super 21.class SuperDemo { 22. public static void main(String args[]){ 23. Superclass SuperObj = new Superclass(); 24. Subclass SubObj = new Subclass(); 25. SuperObj.a = 1; 26. SubObj.a = 2; 27. SubObj.set_super_a(3); 28. SuperObj.display_a(); 29. SubObj.display_a(); 30. SubObj.display_super_a(); 31. System.out.println(SubObj.a); 32. } 33.}
  • 50. Struktur Program Java : kata kunci static  Digunakan untuk anggota dari sebuah class : ◦ attribut ◦ Method ◦ Inner class  Mengijinkan untuk mengakses static atau anggota class tanpa instansiasi  Variabel class ◦ Bersifat seperti variabel global ◦ Dapat diakses oleh semua instance dari kelas
  • 51. Struktur Program Java : kata kunci static  Method class ◦ Dapat diambil tanpa membuat sebuah object dari class tersebut ◦ Hanya dapat mengakses anggota static dari class ◦ tidak dapat menunjuk pada this dan super  Blok static ◦ Hanya dapat dieksekusi sekali, ketika kelas diisi ◦ Untuk inisialisasi variabel class
  • 52. Struktur Program Java : kata kunci static 1. class Demo { 2. static int a = 0; 3. static void staticMethod(int i) { 4. System.out.println(i); 5. } 6. static { //static block 7. System.out.println("static block"); 8. a += 1; 9. } 10.} 11.//continued...
  • 53. Struktur Program Java : kata kunci static 13.class StaticDemo { 14. public static void main(String args[]) { 15. System.out.println(Demo.a); 16. Demo.staticMethod(5); 17. Demo d = new Demo(); 18. System.out.println(d.a); 19. d.staticMethod(0); 20. Demo e = new Demo(); 21. System.out.println(e.a); 22. d.a += 3; 23. System.out.println(Demo.a+", "+d.a+", "+e.a); 24. } 25.}
  • 54. Struktur Program Java : kata kunci final  Dapat diaplikasikan pada variabel, method dan class  Dibatasi apa yang kita dapat lakukan dengan variabel, method dan class.  Variabel final ◦ Tidak dapat diubah setelah nilainya diset ◦ contoh:  final int data = 10;  data++;
  • 55. Struktur Program Java : kata kunci final  Method final ◦ Tidak dapat di-override ◦ contoh:  final void myMethod() { //in a parent class }  void myMethod() { //in a child class }  Class final ◦ Tidak dapat diwariskan ◦ contoh:  final public class MyClass {}  class WrongClass extends MyClass {}
  • 56. Struktur Program Java : kata kunci final  Katakunci dapat diletakkan sebelum setelah modifier lain ◦ public final static void meth() {} or ◦ final public static void meth() {} or ... ◦ //order of modifiers is not important
  • 57. Struktur Program Java : Inner Classes  Dideklarasikan dalam class lain  Mengakses anggota dari inner class : ◦ Membutuhkan sebuah instance dari inner class ◦ Example:  innerObj.innerMember = 5;  //innerObj is an instance of the inner class  //innerMember is a member of the inner class
  • 58. Struktur Program Java : Inner Classes  Method-method dari inner class dapat secara langsung mengakses anggota dari outer class contoh: 1.class Out { 2. int OutData; 3. class In { 4. void inMeth() { 5. OutData = 10; 6. } 7. } 8.}
  • 59. Struktur Program Java : Inner Classes 1. class OuterClass { 2. int data = 5; 3. class InnerClass { 4. int data2 = 10; 5. void method() { 6. System.out.println(data); 7. System.out.println(data2); 8. } 9. } 10.//continued...
  • 60. Struktur Program Java : Inner Classes 9. public static void main(String args[]) { 10. OuterClass oc = new OuterClass(); 11. InnerClass ic = oc.new InnerClass(); 12. System.out.println(oc.data); 13. System.out.println(ic.data2); 14. ic.method(); 15. } 16.}
  • 61. Kesimpulan  Konsep Object-Oriented ◦ Desain Object-Oriented ◦ Class ◦ Object ◦ Attribut − Package ◦ Method ◦ Konstruktor − Enkapsulasi − Abstraksi − Pewarisan − Polymorfisme − Interface
  • 62. Kesimpulan  Struktur Program Java ◦ Mendeklarasikan class Java ◦ Mendeklarasikan Attribut ◦ Mendeklarasikan Metode − Pewarisan ◦ Mendeklarasikan konstruktor ◦ Meng-instansiasi sebuah class ◦ Mengakses anggota object − Method Overriding ◦ Package ◦ Access Modifier ◦ Enkapsulasi − Class abstract dan method − Interface − Kata kunci this − Kata kunci super − Kata kunci static − Kata kunci final − Inner Classes