Jeni konsep oop
-
Upload
rauff-risharasakti -
Category
Documents
-
view
3.414 -
download
2
description
Transcript of Jeni konsep oop
![Page 1: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/1.jpg)
Pengenalan Pemrograman 2
Versi 2.0
ReviewReviewKonsep Dasar JavaKonsep Dasar Java
![Page 2: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/2.jpg)
Topik
Konsep Object-Oriented
Struktur Program Java
![Page 3: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/3.jpg)
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
![Page 4: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/4.jpg)
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
![Page 5: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/5.jpg)
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
![Page 6: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/6.jpg)
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
![Page 7: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/7.jpg)
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
![Page 8: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/8.jpg)
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
![Page 9: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/9.jpg)
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
![Page 10: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/10.jpg)
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 }
![Page 11: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/11.jpg)
Struktur Program Java : Deklarasi Attribut
Sintaks:◦ <attributeDeclaration> ::=◦ <modifier> <type> <name> [= <default_value>];
◦ <type> ::=◦ byte | short | int | long | char | float | double | boolean | <class>
![Page 12: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/12.jpg)
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 }
![Page 13: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/13.jpg)
Struktur Program Java : Deklarasi Method
Sintaks:◦ <methodDeclaration> ::=◦ <modifier> <returnType> <name>(<parameter>*) {◦ <statement>*◦ }◦ <parameter> ::=◦ <parameter_type> <parameter_name>[,]
![Page 14: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/14.jpg)
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}
![Page 15: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/15.jpg)
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
![Page 16: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/16.jpg)
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 }
![Page 17: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/17.jpg)
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.}
![Page 18: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/18.jpg)
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);
![Page 19: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/19.jpg)
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 data13 }14 }
![Page 20: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/20.jpg)
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>+
![Page 21: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/21.jpg)
Struktur Program Java : Package
1 package registration.reports;2 import registration.processing.*;3 import java.util.List;4 import java.lang.*; //imported by default5 class MyClass {6 /* details of MyClass */7 }
![Page 22: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/22.jpg)
Struktur Program Java : Access Modifier
![Page 23: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/23.jpg)
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.}
![Page 24: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/24.jpg)
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
![Page 25: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/25.jpg)
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.}
![Page 26: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/26.jpg)
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!
![Page 27: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/27.jpg)
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...
![Page 28: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/28.jpg)
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.}
![Page 29: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/29.jpg)
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
![Page 30: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/30.jpg)
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...
![Page 31: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/31.jpg)
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.}
![Page 32: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/32.jpg)
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 */◦ }
![Page 33: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/33.jpg)
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
![Page 34: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/34.jpg)
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
![Page 35: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/35.jpg)
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 : class abstract dan method
![Page 36: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/36.jpg)
Struktur Program Java : Interface
Sintaks:◦ <interfaceDeclaration> ::=◦ <modifier> interface <name> {◦ <attributeDeclaration>*◦ [<modifier> <returnType> <name>
(<parameter>*);]*◦ }
Anggotanya adalah public ketika interface dideklarasikan sebagai public
![Page 37: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/37.jpg)
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
![Page 38: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/38.jpg)
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...
![Page 39: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/39.jpg)
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.}
![Page 40: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/40.jpg)
Struktur Program Java : kata kunci this
mengapa this?1. Agar tidak ambigu antara attribut lokal dan
variabel lokal2. Menunjuk pada object yang meminta
method non-static3. Menunjuk pada konstruktor lain
![Page 41: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/41.jpg)
Struktur Program Java : kata kunci this
1. Agar tidak ambigu antara attribut lokal dan variabel lokal1. 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.}
![Page 42: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/42.jpg)
Struktur Program Java : kata kunci this
1. Menunjuk pada object yang meminta method non-static1. class ThisDemo2 {2. int data;3. void method() {4. System.out.println(data); //this.data5. }6. void method2() {7. method(); //this.method();8. }9. }
![Page 43: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/43.jpg)
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) {} }
![Page 44: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/44.jpg)
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.}
![Page 45: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/45.jpg)
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 superclass1. class Person {2. String firstName;3. String lastName;4. Person(String fname, String lname) {5. firstName = fname;6. lastName = lname;7. }8. }
![Page 46: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/46.jpg)
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
![Page 47: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/47.jpg)
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...
![Page 48: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/48.jpg)
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.}
![Page 49: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/49.jpg)
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.}
![Page 50: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/50.jpg)
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
![Page 51: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/51.jpg)
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
![Page 52: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/52.jpg)
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 block7. System.out.println("static block");8. a += 1;9. }10.}
11.//continued...
![Page 53: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/53.jpg)
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.}
![Page 54: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/54.jpg)
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++;
![Page 55: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/55.jpg)
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 {}
![Page 56: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/56.jpg)
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
![Page 57: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/57.jpg)
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
![Page 58: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/58.jpg)
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
![Page 59: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/59.jpg)
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
![Page 60: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/60.jpg)
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.}
Struktur Program Java :Inner Classes
![Page 61: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/61.jpg)
Kesimpulan
Konsep Object-Oriented ◦ Desain Object-Oriented
◦ Class
◦ Object
◦ Attribut
◦ Method
◦ Konstruktor
− Package− Enkapsulasi− Abstraksi− Pewarisan− Polymorfisme− Interface
![Page 62: Jeni konsep oop](https://reader033.fdokumen.com/reader033/viewer/2022042508/5462ab1cb1af9f92238b5070/html5/thumbnails/62.jpg)
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