MINGGU 5 Java Programming (MKB614C)

Slides:



Advertisements
Presentasi serupa
Pemrograman JAVA (TIB09)
Advertisements

Bekerja dengan Java class library
OOP berputar pada konsep dari obyek yang merupakan elemen dasar dari program Anda. Ketika kita membandingkan dengan dunia nyata, kita dapat menemukan.
Pemrograman Berorientasi Objek
Membuat class sendiri.
Other OOP Basic Viska Mutiawani, M.Sc. Konsep penting Method overloading Encapsulation this keyword final static.
KONSEP OBJECT ORIENTED PROGRAMING (OOP)
Nur Hayatin, S.ST Jurusan Teknik Informatika Universitas Muhammadiyah Malang Sem Genap 2010.
Object Oriented Programming
Workshop SCS: Java Game Programming
OOP Java 04 Array & String.
Pemrograman Berorientasi Objek
di OBJECT ORIENTED PROGRAMMING [OOP] Oleh H. SUMIJAN, Ir, M.Sc
Inheritance Ery Setiyawan Jullev A.
Inheritance (Pewarisan)
Membuat Class Sendiri Atribut Pertemuan : Object Oriented Programming.
Advanced Class Oleh : Nur Hayatin, S.ST Teknik Informatika – UMM 2011.
Encapsulation, Inheritance, polymorphism, dan interface
Variabel, Method & Constructor Oleh : Nur Hayatin, S.ST Teknik Informatika – UMM 2011.
INHERITANCE, POLYMORPHISM, DAN INTERFACE
ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM
Class, Inheritance, Encapsulation & Interface
Pemrograman Berorientasi Obyek Oleh Tita Karlita
Object Oriented Struktur Data.
OBJECT ORIENTED PROGRAMMING YANES HARDIANTO SUI Politeknik Manufaktur Astra 2011.
MINGGU 4 Java Programming (MKB614C)
Advanced Class Oleh : Nur Hayatin, S.ST Teknik Informatika – UMM 2011.
Object Oriented Programming with JAVA 2011/2012
MEMBUAT CLASS SENDIRI. Pada akhir pembahasan, peserta diharapkan mampu untuk :  Membuat class  Mendeklarasikan atribut dan method untuk class  Menggunakan.
Bekerja dengan Java class library
Object Oriented Programming with JAVA 2011/2012
Teknik Pemrograman Terstruktur Linked lis & Inheritance 1/12 Pointer (Lanjutan…) Pemrograman Berorientasi Objek.
Inheritance Matakuliah : T0984 / Algoritma dan Metode Object Oriented Programming II Pertemuan : 4 Tahun : 2008 Versi : 1/0.
Inheritance, polymorphism, dan interface
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.
MINGGU 8 Java Programming (MKB614C)
Perancangan dan Pemrograman Web
FONDASI PEMROGRAMAN & STRUKTUR DATA #5
Outline: Class Objek Konstruktor Destruktor Overloading dan Tipe value
OBJEK dan KELAS Sutrisno PTIIK-UB.
Access Modifier.
Inheritance dan Kata Kunci static
Objek-Oriented Programming (OOP)
Algoritma & Pemrograman 1
Method & Constructor METHOD.
MODIFIER JAVA.
Pertemuan 4 Class, object & Variable
Enkapsulasi, Accessor Method, Mutator Method
Association, Composition dan Inheritance
MEMBUAT CLASS SENDIRI 2.
Pertemuan 9 Pemrograman Berbasikan Objek
Algoritma &Pemrograman 1
Objects in Java U Abd. Rohim, MT mailto:
Algoritma &Pemrograman 1
Praktikum 02 konstruksi class
Matakuliah : M0074/PROGRAMMING II Tahun : 2005 Versi : 1/0
Membuat Class Sendiri.
Array, Class, Obyek, Method danConstructor.
Java Class Library.
Konsep Bahasa Pemrograman I Konsep OOP
Array, Class, Obyek, Method danConstructor.
Pertemuan 1 Class dan Objek.
DPH1C4 Pemrograman berorientasi Obyek
FONDASI PEMROGRAMAN & STRUKTUR DATA #4 - 1
Bahasa Pemrograman (Pemrograman Visual)
Transcript presentasi:

MINGGU 5 Java Programming (MKB614C) Pokok Bahasan: OOP: Objects & Classes Tujuan Instruksional Khusus: Siswa memahami konsep pemrograman OOP di Java Java Programming (MKB614C) Minggu 5 Page 1

Java Programming (MKB614C) Agenda Pengantar OOP di Java Class & Object Menggunakan konstruktor Mengakses objek melalui variabel reference Menggunakan kelas dari Java Library Static variable, konstan & method Visibility modifer Data encapsulation Passing object ke method Immutable object & class Referensi “this” Java Programming (MKB614C) Minggu 5 Page 2

Java Programming (MKB614C) Pengantar OOP di Java Object-oriented programming (OOP) memungkinkan pengembangan aplikasi/software berskala besar & GUI dengan efektif. Karakteristik OOP (www.java.net): Encapsulation: kemampuan untuk menyembunyikan data/ & instruksi didalam suatu object. Inheritance: Kemampuan membuat suatu object dari object lain. Polymorphism: desain suatu kelas baru berdasarkan kelas lain. Message Passing: cara komunikasi suatu objek dengan objek lain. Garbage Collection: pengaturan manajemen memory yang akan menghapus objek yang tidak lagi digunakan dari memory. Java Programming (MKB614C) Minggu 5 Page 3

Kelebihan & kekurangan OOP Kelebihan (www.java.net): Re-usability: kode program dapat di gunakan berulang Code sharing: dapat dibuat suatu standar dari cara pemrograman dengan teman kerja atau dalam suatu tim Rapid modeling: prototype class dan interaksinya dapat dibuat dengan cepat melalui diagram Kekurangan (www.java.net): Ukuran: program menjadi besar, sehingga memakan/membutuhkan memory dan space yang besar Effort: membutuhkan banyak hal yang harus dibuat, termasuk diagram pada tahap perencanaan dan koding pada tahap pelaksanaan/pembangunan

Interaksi antar objek di OOP

Class & Object Class: template yang mendefinisikan property & behaviour dari suatu object. Object: merupakan entitas dalam dunia nyata yang dapat diidentifikasi dengan jelas. Contoh: siswa, meja, komputer, pinjaman, dan lain-lain Object memiliki: Identitas yang unik State: properti/attribut dari object yang berupa data field dengan nilainya. Contoh: siswa memiliki state (property): kulit, warna, dll. Behavior: action dari object berupa method/function. Contoh: siswa memiliki behavior (method/function) melihat, bergerak, berpikir dll.

Class & Object Class: template yang mendefinisikan property & behaviour dari suatu object. Object: merupakan entitas dalam dunia nyata yang dapat diidentifikasi dengan jelas, instance dari class. Contoh: siswa, meja, komputer, pinjaman, dan lain-lain Object memiliki: Identitas yang unik State: properti/attribut dari object yang berupa data field dengan nilainya. Contoh: siswa memiliki state (property): kulit, warna, dll. Behavior: action dari object berupa method/function. Contoh: siswa memiliki behavior (method/function) melihat, bergerak, berpikir dll.

Class adalah template dari object

Class Circle

UML dari class Circle Kerjakan latihan halaman 324 (TestSimpleCircle.java)

Coding java Catatan: Sebuah file Java dapat terdiri dari beberapa class, tetapi hanya 1 yang public Class public harus sama dengan nama file.

Membuat object dengan contructor Constructor adalah method/function khusus untuk membuat suatu object Method constructor memiliki kekhasan/karakter sebagai berikut: Nama constructor harus sama dengan class Constructor tidak memiliki return dan juga tidak void Constructor dipanggil dengan menggunakan operator new untuk membuat suatu object Contoh: public Circle() { } … Circle circle1 = new Circle();

Variable reference & reference type object Variable reference adalah variable yang berisi reference ke suatu object. Reference type dari suatu object adalah class. Variable Reference syntax: ClassName objectRefVar; Assigning object reference syntax: objectRefVar = new ClassName(); ClassName objectRefVar = new ClassName(); Contoh: Circle myCircle; myCircle = new Circle(); atau Circle myCircle = new Circle(); Catatan: array diperlakukan sebagai object di Java.

Mengakses data & method suatu object Data dan method pada object dapat diakses menggunakan operator dot “.” Syntax: objectRefVar.dataField reference data di object objectRefVar.method(arguments) mengakses method pada object Contoh: new Circle(5).getArea(); atau Circle myCircle = new Circle(5); myCircle.getArea();

Null data field Jika suatu data field dari suatu object tidak mereference pada object, maka data field tersebut memiliki nilai null. Null merupakan tipe data reference. Contoh: class Student { String name; // name has the default value null int age; // age has the default value 0 boolean isScienceMajor; // isScienceMajor has default value false char gender; // gender has default value '\u0000' } Catatan: mengakses data null akan memicu NullPointerException pada saat dijalankan.

Perbedaan variable tipe primitive vs tipe reference Setiap variable merupakan lokasi di memory yang memiliki suatu nilai.

Assigning variable tipe primitive vs tipe reference Catatan: setelah reference c1 di assign ke c2, object c1 tidak lagi digunakan dan disebut garbage. Java akan secara otomatis mendetect garabe dan menghapusnya dari memory

Menggunakan class dari Java Library (API) Class Date (java.util.Date)

Static variables, constants & methods Static variables (class variables): variable yang dishare kesemua object dari sebuah class. Variables static disimpan dimemory bersama, sehingga dapat diakses oleh semua instance. Perubahan nilai pada static variables akan terlihat oleh semua instances. Static methods: method yang dishare ke semua object. Static methods tidak dpat mengakses member dari instance suatu class. Static methods dapat dipanggil tanpa membutuhkan instance dari class Static constants: variables yang nilainya tetap dan dishare kesemua object. Static constants harus dideklarasi sebagai final static. Contoh: final static double PI = 3.14159265358979323846;

Contoh static variable pada class Circle Kerjakan latihan halaman 338 (CircleWithStaticMembers.java)

Visibility modifier Visibility modifers digunakan untuk menentukan visibility suatu class dan anggotanya (method & data field) Jika visibility modifier tidak digunakan, maka secara default class, method, & data field hanya dapat diakses oleh class dari package yang sama (package-private / package-access). Level access level modifers

Package Package digunakan untuk mengatur class. Nama package harus ditulis dibaris pertama. Jika suatu class didefinisikan tanpa statement package, maka class akan digunakan default package. Java merekomendasikan meletakan class kedalam packages.

Data field encapsulation Data field encapsulation: data field yang bersifat private. Membuat data field menjadi private, akan melindungi data dan memudahkan pengelolaan class.

Visibility data & method Visibility data & method ditentukan oleh modifer visibility/accessibility.

Contoh visibility data & method

UML Circle dengan encapsulation Kerjakan latihan halaman 345 (CircleWithPrivateDataFields.java)

Passing object ke method Passing sebuah object ke method dilakukan dengan memparsing reference dari object tersebut.

Immutable objects & class Suatu class & object dapat didefinisikan immutable, yaitu tidak dapat dirubah. Contoh immutable class adalah class String Class immutable memiliki persyaratan: Semua data field harus private Tidak memiliki method untuk merubah data fields. Tidak memiliki accessor method yang memiliki returnn value berupa reference ke data field yang mutable.

Contoh class Student public class Student { private int id; private String name; public Student(int ssn, String newName) { id = ssn; name = newName; } public int getId() { return id; public String getName() { return name;

Reference “this” “this” merefer ke object itu sendiri. “this” dapat digunakan dalam constructor untuk memanggil constructor lain di class yang sama.

Class relationship Untuk mendesain class, harus dilakukan penyeledikan hubungan antar class. Hubungan antar class: Association: hubungan yang mendeskripsikan activity antara 2 class. Aggregation & composition: spesial form dari association yang merepresentasikan kepemilikan (bagian) antara 2 class. Kepemilikan pada composition lebih kuat, sehingga object tidak dapat berdiri (exist) sendiri-sendiri.

Association

Aggregation & Composition Student memiliki: Name (Composition) Address (Aggregation) Person memiliki: Supervisor

Class String Object String adalah immutable (tidak dapat dirubah) Contoh: String s = "Java"; s = "HTML";

Interned string Interned string: instance dari string yang memiliki karakter yang sama.

StringBuilder & StringBuffer StringBuilder & StringBuffer: adalah class string yang bersifat tidak immutable seperti String StringBuilder vs StringBuffer: method pada StringBuffer adalah synchronized, artinya hanya 1 task yang diijinkan untuk mengeksekusi methods. Kerjakan latihan halaman 396 (PalindromeIgnoreNonAlphanumeric.java)