1 / 62

Review Konsep Dasar Java

Review Konsep Dasar Java. Konsep Object-Oriented Struktur Program Java. Topik. Konsep Object-Oriented Terfokus pada object dan class , berdasarkan skenario pada dunia nyata Mendeskripsikan state , behavior dan interaction pada object Keuntungan : Pengembangan lebih cepat

forest
Download Presentation

Review Konsep Dasar Java

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ReviewKonsep Dasar Java

  2. Konsep Object-Oriented Struktur Program Java Topik

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

  4. Object • Sebuah entitas yang memiliki state, behavior dan identity • Contoh nyata dari sebuah class • Dibuat pada saat class di-instantiate menggunakan keywordnew • 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

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

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

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

  8. 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 Konsep Object-Oriented

  9. Sintaks • <classDeclaration> ::= • <modifier> class <name> { • <attributeDeclaration>* • <constructorDeclaration>* • <methodDeclaration>* • } • dimana • Modifier • Mengacu pada access modifieratau type lain dari modifier • Name • Sebuah identifier pada nama kelas Struktur Program Java : Deklarasi Class

  10. 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 Class

  11. Sintaks: • <attributeDeclaration> ::= • <modifier> <type> <name> [= <default_value>]; • <type> ::= • byte | short | int | long | char | float | double | boolean | <class> Struktur Program Java : Deklarasi Attribut

  12. public class AttributeDemo { private String studNum; public boolean graduating = false; protected float unitsTaken = 0.0f; String college; } Struktur Program Java : Deklarasi Attribut

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

  14. 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 Method

  15. 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 Konstruktor

  16. class ConstructorDemo { private int data; public ConstructorDemo() { data = 100; } ConstructorDemo(int data) { this.data = data; } } Struktur Program Java : Deklarasi Method

  17. 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 : Instansiasi Kelas

  18. 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 Objek

  19. 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 : Mengakses Anggota Object

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

  21. package registration.reports; import registration.processing.*; import java.util.List; import java.lang.*; //imported by default class MyClass { /* details of MyClass */ } Struktur Program Java : Package

  22. Struktur Program Java : Access Modifier

  23. 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 : Enkapsulasi

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

  25. import java.awt.*; class Point { int x; int y; } class ColoredPoint extends Point { Color color; } Struktur Program Java : Pewarisan

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

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

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

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

  30. class Superclass { void overriddenMethod() { } } class Subclass1 extends Superclass { public void overriddenMethod() { } } class Subclass2 extends Superclass { void overriddenMethod() { } } //continued... Struktur Program Java : Method Overriding

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

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

  33. Kata kunci abstracttidak 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

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

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

  36. Sintaks: • <interfaceDeclaration> ::= • <modifier> interface <name> { • <attributeDeclaration>* • [<modifier> <returnType> <name> • (<parameter>*);]* • } • Anggotanya adalah public ketika interface dideklarasikan sebagai public Struktur Program Java : Interface

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

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

  39. 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 : Interface

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

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

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

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

  44. menunjuk versi lain dari konstruktor • class ThisDemo3 { • int data; • ThisDemo3() { • this(100); • } • ThisDemo3(int data) { • this.data = data; • } • } Struktur Program Java : kata kunci this

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

  46. //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

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

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

  49. 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 super

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

More Related