Review Konsep Dasar Java

Slides:



Advertisements
Presentasi serupa
Pemrograman Berorientasi Objek
Advertisements

Membuat class sendiri.
Nur Hayatin, S.ST Jurusan Teknik Informatika Universitas Muhammadiyah Malang Sem Genap 2010.
Pemrograman JAVA (TIB09)
Workshop SCS: Java Game Programming
Pemrograman Berorientasi Objek
Inheritance Ery Setiyawan Jullev A.
Inheritance (Pewarisan)
Advanced Class 2 Pertemuan 11 Pemrograman Berbasis Obyek Oleh Tita Karlita.
Pemrograman Berbasis Obyek
Encapsulation, Inheritance, polymorphism, dan interface
Variabel, Method & Constructor Oleh : Nur Hayatin, S.ST Teknik Informatika – UMM 2011.
INHERITANCE, POLYMORPHISM, DAN INTERFACE
Pewarisan, Polimorfisme, dan Interface
Pemrograman Berorientasi Objek
Inheritance (Pewarisan)
ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM
Pemrograman Berorientasi Obyek Oleh Tita Karlita
Pertemuan : Object Oriented Programming
OBJECT ORIENTED PROGRAMMING YANES HARDIANTO SUI Politeknik Manufaktur Astra 2011.
Pemrograman Berorientasi Obyek dengan JAVA Interface
Desain Berorientasi object
07 Advanced Class Features
Object Oriented Programming with JAVA 2011/2012
Bekerja dengan Java class library
Inheritance Matakuliah : T0984 / Algoritma dan Metode Object Oriented Programming II Pertemuan : 4 Tahun : 2008 Versi : 1/0.
Inheritance, polymorphism, dan interface
Kelas Lanjut 2 Oleh Tita Karlita.
Class and Object Matakuliah : XXXX / Algoritma dan Metode Object Oriented Programming II Pertemuan : 2 Tahun : 2008 Versi : 1/0.
INHERITANCE (Oleh : Nur Hayatin, S.ST)
Algoritma &Pemrograman 1
Pertemuan 6 PEWARISAN AND POLYMORPHISM
Kelas A dapat memiliki referensi ke obyek dari kelas- kelas lain sebagai anggota. Kadang-kadang disebut sebagai hubungan “has-a”. Sebagai contoh, sebuah.
OBJEK dan KELAS Sutrisno PTIIK-UB.
Access Modifier.
Inheritance dan Kata Kunci static
PBO Daniel Riano Kaparang, S.Kom., M.Cs
Pertemuan 2 SINTAKS BAHASA, TIPE DATA, DAN OPERATOR
Pemograman Berorientasi Objek
Algoritma & Pemrograman 1
@kovazzevic | SMKN 24 Jakarta
Method & Constructor METHOD.
Pertemuan 5 Tipe Data, Operator, Tata Bahasa
MODIFIER JAVA.
Algoritma & Pemrograman 1
MENGENAL KEYWORD this, static, final
Enkapsulasi, Accessor Method, Mutator Method
Association, Composition dan Inheritance
MEMBUAT CLASS SENDIRI 2.
Identifier, Keyword, dan Tipe data
Tipe Data, Variabel, dan Operator
Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator
Tipe Data, Variabel, dan Operator
Membuat Kelas.
Inheritance.
PBO Lanjutan Membuat Kelas.
MENGENAL KEYWORD this, static, final
Visibility, Getter Setter, Pewarisan, Overloading dan Overriding
Matakuliah : M0074/PROGRAMMING II Tahun : 2005 Versi : 1/0
Membuat Class Sendiri.
Dasar-dasar Pemrograman Objek dg Java
STUDI KASUS.
Visibility, Getter Setter, Pewarisan, Overloading dan Overriding
Inisiasi Class dan Object
Encapsulation / Visibility, Getter Setter, Pewarisan, Overloading dan Overriding Pemrograman.
Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator
Tipe Data, Variabel, dan Operator
Desain Berorientasi object
Encapsulation / Visibility, Getter Setter, Pewarisan, Overloading dan Overriding PBO.
Pemrograman Berorientasi Objek
Transcript presentasi:

Review Konsep Dasar Java

Topik Konsep Object-Oriented Struktur Program Java

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 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

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"

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 class SuperHero { String superPowers[]; void setSuperPowers(String superPowers[]) { this.superPowers = superPowers; } void printSuperPowers() { for (int i = 0; i < superPowers.length; i++) { System.out.println(superPowers[i]);

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 public class AttributeDemo { private String studNum; public boolean graduating = false; protected float unitsTaken = 0.0f; String college; }

Struktur Program Java : Deklarasi Method Sintaks: <methodDeclaration> ::= <modifier> <returnType> <name>(<parameter>*) { <statement>* } <parameter> ::= <parameter_type> <parameter_name>[,]

Struktur Program Java : Deklarasi Method class MethodDemo { int data; int getData() { return data; } void setData(int data) { this.data = data; void setMaxData(int data1, int data2) { data = (data1>data2)? data1 : data2;

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 class ConstructorDemo { private int data; public ConstructorDemo() { data = 100; } ConstructorDemo(int data) { this.data = data;

Struktur Program Java : Instansiasi Kelas Syntax: new <constructorName>(<parameters>) Contoh: class ConstructObj { int data; ConstructObj() { /* initialize data */ } public static void main(String args[]) { ConstructObj obj = new ConstructObj();

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 class ConstructObj { int data; ConstructObj() { /* initialize data */ } void setData(int data) { this.data = data; public static void main(String args[]) { ConstructObj obj = new ConstructObj(); obj.setData = 10; //access setData() System.out.println(obj.data); //access data

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 package registration.reports; import registration.processing.*; import java.util.List; import java.lang.*; //imported by default class MyClass { /* details of MyClass */ }

Struktur Program Java : Access Modifier

Struktur Program Java : Enkapsulasi Menyembunyikan anggota dengan membuatnya private Contoh class Encapsulation { private int secret; public boolean setSecret(int secret) { if (secret < 1 || secret > 100) return false; this.secret = secret; return true; } public getSecret() { return secret;

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 import java.awt.*; class Point { int x; int y; } class ColoredPoint extends Point { Color color;

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 class Superclass { void display(int n) { System.out.println("super: " + n); } class Subclass extends Superclass { void display(int k) { System.out.println("sub: " + k); // continued...

Struktur Program Java : Method Overriding class OverrideDemo { public static void main(String args[]) { Subclass SubObj = new Subclass(); Superclass SuperObj = SubObj; SubObj.display(3); ((Superclass)SubObj).display(4); }

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 class Superclass { void overriddenMethod() { } class Subclass1 extends Superclass { public void overriddenMethod() { class Subclass2 extends Superclass { //continued...

Struktur Program Java : Method Overriding /* class Superclass { void overriddenMethod() { } } */ class Subclass3 extends Superclass { protected void overriddenMethod() { class Subclass4 extends Superclass { private void overriddenMethod() {

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 abstract class SuperHero { String superPowers[]; void setSuperPowers(String superPowers[]) { this.superPowers = superPowers; } void printSuperPowers() { for (int i = 0; i < superPowers.length; i++) { System.out.println(superPowers[i]); abstract void displayPower(); //continued...

Struktur Program Java : class abstract dan method class FlyingSuperHero extends SuperHero { void displayPower() { System.out.println("Fly..."); } class Spiderman extends SuperHero { System.out.println("Communicate with sea" + " creatures..."); System.out.println("Fast swimming ability...");

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 Mengimplementasikan sebuah interface: Menggunakan kata kunci implements Harus mengimplementasikan semua method interface Sebuah class boleh mengimplementasikan lebih dari satu interface

Struktur Program Java : Interface interface MyInterface { void iMethod(); } class MyClass1 implements MyInterface { public void iMethod() { System.out.println("Interface method."); void myMethod() { System.out.println("Another method."); //continued...

Struktur Program Java : Interface class MyClass2 implements MyInterface { public void iMethod() { System.out.println("Another implementation."); } class InterfaceDemo { public static void main(String args[]) { MyClass1 mc1 = new MyClass1(); MyClass2 mc2 = new MyClass2(); mc1.iMethod(); mc1.myMethod(); mc2.iMethod();

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

Struktur Program Java : kata kunci this Agar tidak ambigu antara attribut lokal dan variabel lokal class ThisDemo1 { int data; void method(int data) { this.data = data; /* this.data refers to the attribute while data refers to the local variable */ }

Struktur Program Java : kata kunci this Menunjuk pada object yang meminta method non-static class ThisDemo2 { int data; void method() { System.out.println(data); //this.data } void method2() { method(); //this.method();

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 class ThisDemo3 { int data; ThisDemo3() { this(100); } ThisDemo3(int data) { this.data = data;

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 class Person { String firstName; String lastName; Person(String fname, String lname) { firstName = fname; lastName = lname; }

Struktur Program Java : kata kunci super //continuation... class Student extends Person { String studNum; Student(String fname, String lname, String sNum) { super(fname, lname); studNum = sNum; } super() Menunjuk pada superclass dengan segera Harus berada pada pernyataan pertama dalam konstruktor superclass

Struktur Program Java : kata kunci super Menunjuk anggota superclass class Superclass{ int a; void display_a(){ System.out.println("a = " + a); } //continued...

Struktur Program Java : kata kunci super class Subclass extends Superclass { int a; void display_a(){ System.out.println("a = " + a); } void set_super_a(int n){ super.a = n; void display_super_a(){ super.display_a();

Struktur Program Java : kata kunci super class SuperDemo { public static void main(String args[]){ Superclass SuperObj = new Superclass(); Subclass SubObj = new Subclass(); SuperObj.a = 1; SubObj.a = 2; SubObj.set_super_a(3); SuperObj.display_a(); SubObj.display_a(); SubObj.display_super_a(); System.out.println(SubObj.a); }

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 class Demo { static int a = 0; static void staticMethod(int i) { System.out.println(i); } static { //static block System.out.println("static block"); a += 1; //continued...

Struktur Program Java : kata kunci static class StaticDemo { public static void main(String args[]) { System.out.println(Demo.a); Demo.staticMethod(5); Demo d = new Demo(); System.out.println(d.a); d.staticMethod(0); Demo e = new Demo(); System.out.println(e.a); d.a += 3; System.out.println(Demo.a+", "+d.a+", "+e.a); }

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 final public class MyClass {} class WrongClass extends MyClass {}

Struktur Program Java : kata kunci final Kata kunci 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: class Out { int OutData; class In { void inMeth() { OutData = 10; }

Struktur Program Java : Inner Classes class OuterClass { int data = 5; class InnerClass { int data2 = 10; void method() { System.out.println(data); System.out.println(data2); } //continued...

Struktur Program Java : Inner Classes public static void main(String args[]) { OuterClass oc = new OuterClass(); InnerClass ic = oc.new InnerClass(); System.out.println(oc.data); System.out.println(ic.data2); ic.method(); }

Kesimpulan Konsep Object-Oriented Desain Object-Oriented Class Object Attribut Method Konstruktor Package Enkapsulasi Abstraksi Pewarisan Polymorfisme Interface

Kesimpulan Struktur Program Java Mendeklarasikan class Java Mendeklarasikan Attribut Mendeklarasikan Metode Mendeklarasikan konstruktor Meng-instansiasi sebuah class Mengakses anggota object Package Access Modifier Enkapsulasi Pewarisan Method Overriding Class abstract dan method Interface Kata kunci this Kata kunci super Kata kunci static Kata kunci final Inner Classes