Download Java Review

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Java Review
Oleh:
Idris Winarno
Topik




Enkapsulasi
Inheritance
Polymorphism
Exception Handling



Collection
GUI
Even Handling
Java Review
Enkapsulasi/UML
Access Modifiers

Access Modifiers




public
Protected
Default
Private
Access Modes to Class Members
Java Review
Inheritance
Pengertian dasar inheritance



Suatu class yang mempunyai class turunan
dinamakan parent class atau base class.
Sedangkan class turunan itu sendiri seringkali
disebut subclass atau child class.
Suatu subclass dapat mewarisi apa-apa yang
dipunyai oleh parent class.
Pengertian dasar inheritance


Karena suatu subclass dapat mewarisi apaapa yang dipunyai oleh parent class-nya,
maka member dari suatu subclass adalah
terdiri dari apa-apa yang ia punyai dan juga
apa-apa yang ia warisi dari class parent-nya.
Kesimpulannya, boleh dikatakan bahwa suatu
subclass adalah tidak lain hanya memperluas
(extend) parent class-nya.
public class Manajer extends Pegawai {
public String departemen;
}
Single dan Multilevel Inheritance
class Parent {
public int x = 5;
}
class Child extends Parent {
public int x = 10;
}
public void Info(int x) {
System.out.println("Nilai x sebagai parameter = " + x);
System.out.println("Data member x di class Child = " + this.x);
System.out.println("Data member x di class Parent = " + super.x);
}
public class NilaiX {
public static void main(String args[]) {
Child tes = new Child();
tes.Info(20);
}
}
x
 merujuk pada x terdekat, yaitu parameter
Info()
this.x
 merujuk pada data member dari class-nya
sendiri, yaitu data member pada class Child
super.x
 merujuk pada data member dari parent
class-nya, yaitu data member pada class
Parent
Konstruktor tidak diwariskan



Konstruktor dari parent class tidak dapat
diwariskan ke subclass-nya.
Konsekuensinya, setiap kali kita membuat
suatu subclass, maka kita harus memanggil
konstruktor parent class di konstruktor
subclass.
Pemanggilan konstruktor parent harus
dilakukan pada baris pertama dari
konstruktor subclass.
Java Review
Polymorphism
Overriding
• Subclass yang berusaha memodifikasi tingkah
laku yang diwarisi dari superclass.
• Tujuan: subclass memiliki tingkah laku yang lebih
spesifik.
• Dilakukan dengan cara mendeklarasikan kembali
method milik parent class di subclass.
Overloading


Menuliskan kembali method dengan nama yang
sama pada suatu class.
Tujuan : memudahkan
penggunaan/pemanggilan method dengan
fungsionalitas yang mirip.
public class Bentuk {
…
public void Gambar(int
…
}
public void Gambar(int
…
}
public void Gambar(int
…
}
public void Gambar(int
…
}
}
t1) {
t1, int t2) {
t1, int t2, int t3) {
t1, int t2, int t3, int t4) {
Polymorphism




Polymorphism adalah kemampuan untuk
mempunyai beberapa bentuk yang berbeda.
Satu obyek hanya boleh mempunyai satu bentuk
saja.
Yaitu bentuk yang diberikan ketika obyek dibuat.
Reference variabel bisa menunjuk ke bentuk
yang berbeda.
Virtual Method Invocation



Virtual method invocation merupakan suatu hal
yang sangat penting dalam konsep polimorfisme
Syarat terjadinya VMI adalah sebelumnya sudah
terjadi polymorphism.
Pada saat obyek yang sudah dibuat tersebut
memanggil overridden method pada parent
class, kompiler Java akan melakukan invocation
(pemanggilan) terhadap overriding method pada
subclass, dimana yang seharusnya dipanggil
adalah overridden.
class Employee{}
class Manager extends Employee{}
…
Employee emp = new Manager();
emp.getDetails();
Java Review
Exception Handling
Definisi Exception


Suatu mekanisme penanganan error.
Event yang terjadi ketika program menemui
kesalahan saat instruksi program dijalankan.
Purpose of each exception



Error : mengindikasikan bahwa error yang
terjadi adalah fatal error (severe problem)
dimana proses recovery sangat sulit dilakukan
bahkan tidak mungkin dilakukan.
 Contoh : program running out of memory
RuntimeException : mengindikasikan
kesalahan implementasi atau desain program.
 Contoh : ArrayIndexOutOfBounds
Other exception : mengindikasikan kesalahan
environment.
 Contoh : file not found, invalid URL exception
Implementasi 1
try {
Fungsi bacaFile
BukaFile
BacaBarisFileSampaiHabis
TutupFile
} catch (KesalahanBukaFile) {
// lakukan sesuatu
}
Java Review
Collection
The Java Collections API

Collection adalah suatu obyek yang bisa digunakan untuk
menyimpan sekumpulan obyek

Obyek yang ada dalam collection ini disebut sebagai elemen.

Collection menyimpan elemen yang bertipe Object, sehingga
berbagai tipe obyek bisa disimpan dalam collection.
Note:
Jangan lupa!! Setelah mengambil obyek dari collection
lakukan casting sesuai tipe data obyek yang baru diambil.
The Java Collections API

Java Collections API terdiri dari interface:
 Collection : sekumpulan obyek yang tidak
mempunyai posisi yang tetap (no particular
order) dan menerima duplikat.
 List: sekumpulan obyek yang urut (ordered) dan
menerima duplikat.
 Set: sekumpulan obyek yang tidak urut
(unordered) dan menolak duplikat.
 Map: mendukung pencarian berdasarkan key,
key ini harus unik. Has no particular order.
Hasil:
Java Review
GUI
Java.lang.Object
BorderLayout
CardLayout
CheckboxGroup
Color
Component
Dimension
Event
Font
FlowLayout
FontMetrics
Graphics
GridBagLayout
GridLayout
Image
Insets
MenuComponent
Point
Polygon
Rectangle
Toolkit
Paket java.awt
Button
Canvas
Applet
Checkbox
Choice
Panel
Dialog
Container
Window
Label
ScrollPane Frame
List
Scrollbar
TextArea
TextComponent
TextField
MenuBar
MenuItem
Menu
CheckboxMenuItem
FileDialog
PopupMenu
Java Review
Even Handling
What is an Event ?




Ketika user melakukan aksi terhadap sebuah user interface
(misalnya meng-klik mouse atau menekan sebuah tombol),
maka tindakan ini akan memunculkan sebuah event.
Event adalah OBJEK yang mendeskripsikan sebuah
kejadian (peristiwa yang terjadi)
Event Source adalah pembangkit sebuah event, misalnya
mouse click pada sebuah button akan membangkitkan
sebuah ActionEvent dgn button sbg Event Source-nya.
Event Handler adalah sebuah method yang menerima
sebuah objek event, menterjemahkan, dan kemudian
memproses interaksi user.
Kategori Event, Interface &
Methodnya
Kategori
Nama Interface
Method
Action
ActionListener
actionPerformed(ActionEvent)
Item
ItemListener
itemStateChanged(ItemEvent)
Mouse
MouseListener
mousePressed(MouseEvent)
mouseReleased (MouseEvent)
mouseEntered (MouseEvent)
mouseExited (MouseEvent)
mouseClicked (MouseEvent)
Mouse Motion
MouseMotionListener
mouseDragged (MouseEvent)
mouseMoved (MouseEvent)
Key
KeyListener
keyPressed(KeyEvent)
keyReleased (KeyEvent)
keyTyped (KeyEvent)
Focus
FocusListener
focusGained(FocusEvent)
focusLost (FocusEvent)
Contoh :
TestButton.java
import java.awt.*;
public class TestButton {
private Frame f;
private Button b;
public TestButton() {
f=new Frame("Test");
b=new Button("Press Me");
b.setActionCommand("Di-klik");
}
public void launchFrame() {
b.addActionListener(new ButtonHandler());
f.add(b, BorderLayout.CENTER);
f.pack();
f.setVisible(true);
}
public static void main(String args[]) {
TestButton guiApp=new TestButton();
guiApp.launchFrame();
}
}
import java.awt.event.*;
public class ButtonHandler implements ActionListener
{
public void actionPerformed(ActionEvent e) {
System.out.println("Action terjadi...");
System.out.println("Button dalam keadaan "
+ e.getActionCommand());
}
}
Hasilnya…
Jika button “Press Me” tersebut di-klik, maka program
akan menuliskan di DOS Console sebagai berikut :