2. Materi:
Pengenalan PBO
Pemodelan PBO menggunakan UML Class Diagram
Plant Old Java Object (POJO)
3. Referensi:
Grady Booch, et al., Object Oriented Analyze And Design With Applications,
Addyson Wesley 2007
Brahmah Dathan, et al., Object Oriented Analyze And Design, Springer.
4. Tools:
Netbeans 7
Eclipse
5. Teori
PBO merupakan bagian dari evolusi perangkat lunak baik dari sisi konsep
maupun produk. Untuk membedakan dengan pemrograman generasi sebelumnya,
terdapat karakteristik elemen utama yang harus terdapat didalan PBO:
Memiliki Kepala
Memiliki Tangan
Memiliki Kaki
+ Bisa melihat
+ Bisa makan
+ Bisa berjalan
Mobil
Memiliki mesin
Memiliki kemudi
Memiliki roda
+ Bisa belok
+ Bisa berjalan
2. Abstraksi, pengenalan secara umum atau high level terhadap sebuah
obyek, tanpa memerlukan pengetahuan secara detail. Contoh obyek yang
bersifat abstrak : makhluk hidup, kendaraan, dll. Untuk menyebut
manusia secara umum bisa dikatakan sebagai makhluk hidup walaupun
banyak makhluk hidup yang lain selain manusia tetapi makhluk hidup
memiliki sifat umum seperti bernafas, bergerak, berkembang biak, dll.
Ataupun penyebutan untuk mobil adalah kendaraan karena bisa bergerak
dan mengangkut barang ataupun penumpang.
1. Penulisan Obyek atau kelas diawali huruf kapital, seperti: Manusia, Mobil
2. Bagian dan identifikasi obyek disebut dengan atribut dan diberikan tipe
serta modifier, dengan standar penulisan
Contoh:
<modifier> <methode>([parameter,…])
Contoh:
Manusia
private kepala:String
private kaki:String
private tinggi:float
+ public menengok(derajat:int)
+ public berjalan(jarak:float)
Contoh:
public class Manusia
{
…script java code here…
}
Contoh:
public class Manusia {
public String kepala;
public String kaki;
public int tinggi;
}
Contoh:
public class Manusia {
private String kepala;
private String kaki;
public float tinggi;
Setter
public void setKepala(String kepala){
this.kepala =kepala;
}
Getter
public String getKepala(){
return kepala;
}
Constructor
public Manusia(String kepala, String kaki, String tangan) {
this.kepala = kepala;
this.kaki = kaki;
this.tangan = tangan;
}
//Penggunaan saat instance,
Manusia adi = new Manusia(“tegak”, “lurus”,”lurus”);
Main
public static void main(String[] args) {
Manusia adi = new Manusia("tegak", "lurus",”lurus”);
System.out.println(adi);
}
6. Tugas Pendahuluan
7. Instruksi Praktikum
1. Gunakan editor IDE Netbeans untuk membuat kelas POJO dari kelas
Manusia dengan atribut sesuai kebutuhan.
2. Dengan menggunakan code generator “Insert Code” yang disediakan
netbeans, buat elemen pojo secara lengkap dan amati kode-kode yang
dihasilkan.
3. Buat instance kelas manusia pada metode main dan lakukan print toString().
8. Tugas
1. Didunia nyata manusia memiliki berbagai organ tubuh, buatlah berbagai
obyek tubuh manusia dengan menggunakan class java minimal 10 obyek
yang saling keterkaitan antara obyek yang satu dengan lainnya.
2. Dengan menggunakan editor Netbeans dan selanjutnya dengan
menggunakan code generator “Insert Code” yang disediakan netbeans, buat
elemen pojo secara lengkap dari obyek-obyek tersebut.
3. Lakukan pengujian struktur kelas pada obyek tersebut dengan menggunakan
aktifitas obyek dalam bentuk method, seperti: berjalan, makan, duduk, atau
tidur, dimana methode tersebut mampu melakukan perubahan nilai variabel
pada berbagai atribut obyek.
Modul 2: Implementasi Enkapsulasi Obyek di Bahasa
Pemrograman Java
obyek
2. Materi:
modifier
Pemodelan Obyek menggunakan UML Class Diagram
3. Referensi:
Grady Booch, et al., Object Oriented Analyze And Design With Applications,
Addyson Wesley 2007
Brahmah Dathan, et al., Object Oriented Analyze And Design, Springer.
4. Tools:
Netbeans 7
Eclipse
5. Teori
@Override
public String toString() {
return "Manual{"+ "engine=" + engine +" persneling=" +
persneling + ", coupling=" + coupling + ", speed=" + speed +
'}';
}
public Manual(boolean isStarted) {
if(this.started==false)
this.engine = isStarted;
}
}
public static void main(String[] args) {
Manual m = new Manual(true);
// want to accelerate run
System.out.println(m);
m.coupling=true;
System.out.println(m);
m.persneling=1;
System.out.println(m);
m.coupling=false;
System.out.println(m);
m.speed=10;
System.out.println(m);
m.speed=20;
System.out.println(m);
m.coupling=true;
System.out.println(m);
m.persneling=2;
System.out.println(m);
m.coupling=false;
System.out.println(m);
m.speed=30;
System.out.println(m);
m.speed=40;
}
5.1 Modifier
class Systen
Mutator
Matic
- coupling: boolean
- engine: boolean
- persneling: int
- speed: int
- started: boolean
+ accelerate() : void
+ breakDown() : void
+ start() : void
Accessor
Motor
+ accelerate() : void
+ breakDown() : void
+ start() : void
M otor M ati c
start()
setEngi ne(true)
engi ne i s started()
accel erate()
setCoupl i ng(true)
setUpPersnel i ng(+1)
breakDown()
setCoupl i ng(true)
setDownPersnel i ng(-1)
@Override
public String toString() {
return "Matic{" + "persneling=" + persneling + ", speed=" + speed + ",
coupling=" + coupling + ", started=" + started + ", engine=" + engine + '}';
}
6. Tugas Pendahuluan
7. Instruksi Praktikum
1. Gunakan editor IDE Netbeans untuk menuliskan kelas POJO dari kelas motor
Manual dan Matic dengan atribut sesuai dengan desain hirarki.
2. Lakukan pengujian program dengan membandingkan eksekusi kedua kelas
tersebut
8. Tugas Pendahuluan
9. Instruksi Praktikum
1. Gunakan editor IDE Netbeans untuk menuliskan kelas POJO dari kelas motor
Manual dan Matic dengan atribut sesuai dengan desain hirarki.
2. Lakukan pengujian program dengan membandingkan eksekusi kedua kelas
tersebut
3. Jelaskan perbedaan, kekurangan dan kelebihan kedua kelas tersebut.
10. Tugas
1. Buatlah desain enkapsulasi obyek pada aktifitas manusia terhadap anggota
tubuh, dengan menyempurnakan tugas praktikum 1.
2. Implementasikan desain anda kedalam kelas POJO
3. Lakukan pengujian dari sistem yang anda buat melalui penggunaan aktifitas
pada method.
Modul 3: Abstraksi Pemrograman Berorientasi Obyek
2. Materi:
Polymorfisme
Inheritance
3. Referensi:
Grady Booch, et al., Object Oriented Analyze And Design With Applications,
4. Tools:
Netbeans 7
Eclipse
5. Tugas Pendahuluan:
6. Teori
obyek yang bersifat abstrak : Hewan mengabstraksi beragam jenis hewan seperti
ayam, anjing, kucing, dll. Sehingga kita bisa menyebut ketiga obyek tersebut adalah
hewan, dikarenakan memiliki kelakuan sebagai hewan, seperti: bisa berjalan, bisa
berbunyi. Ataupun kita bisa menyebut Mobil dimana ada beragam jenis mobil
Sedan, Truk, Bus, dimana ketiga obyek tersebut adalah mobil dikarenakan
mempunyai mesin, bisa berjalan, bisa mengangkut orang atau barang, dll.
Dalam pemodelan UML Class diagram abstraksi obyek dapat digambarkan sebagai
berikut:
class System
Car
- coupling: boolean
- engine: boolean
- persneling: int
- speed: int
- started: boolean
+ accelerate() : int
+ breakDown() : int
+ start() : boolean
+ stop() : boolean
Manual Matic
memiliki berbagai atribut yang dapat diwariskan kepada obyek Subclass dari
berbagai jenis Car seperti halnya mobil Manual dan Matic. Selain mewarisi atribut,
mobil Manual dan Matic harus memiliki fungsional dasar yang harus ada untuk
dikatakan sebagai Car yaitu bisa start, stop, accelerate dan breakdown. Namun
dikarenakan tiap obyek turunan Subclass memiliki ciri dan kerja yang spesifik dan
berbeda antara satu dengan yang lainnya maka kedua obyek Manual dan Matic bisa
melalui penerapan konsep utama OOP yaitu inheritance dan polimorfisme. Melalui
Inheritance
Abstraction
Polymorfisme
Untuk realisasi dari abstraksi obyek sendiri, dapat digunakan dua metode
yaitu:
1. Abstrak
2. Interface.
Obyek abstract terdiri atas methode abstract sebagai jalur pengaksesan yang
akan diimplementasikan oleh berbagai obyek turunannya, selain itu obyek abstract
dapat dibekali dengan beragam konten properti atribut dan method yang dapat
obyek turunannya
turunan
Bentuk yang lain dari abstraksi adalah Interface, dimana Interface merupakan
obyek, sehingga bukan obyek itu sendiri. Karena itu interface tidak
ditentukan interface.
Contoh Interface:
@Override
public boolean start() {
…
}
@Override
public boolean stop() {
…
}
@Override
public int accelerate() {
…
}
@Override
public int breakdown() {
…
}
//…
6.1. Inheritance
Inheritance merupakan pewarisan atribut dan method pada sebuah class yang
diperoleh dari class yang telah terdefinisi tersebut. Setiap subclass akan mewarisi state
kemudian dapat menambahkan state dan behaviour baru yang spesifik dan dapat pula
Extends : Keyword ini harus kita tambahkan pada definisi class yang menjadi subclass
Super : Keyword ini digunakan oleh subclass untuk mengakses properti yang telah
6.2. Polymorfisme
diwariskan dari superclass. Melalui konsep ini maka polymorfisme juga terkait dengan
tetap dapat menggunakan ulang properti yang telah diwariskan. Kata kunci dari
bahwa methode yang dituliskan setelahnya adalah sebuah methode warisan yang
@override
<modifier> <methode_name>
6.3. Impelementasi Abstract Class
class Manual
class Matic
7. Instruksi Praktikum
1. Gunakan editor IDE Netbeans untuk membuat abstract superclass Car dan
Buatlah subclass yang terdiri atas Manual dan Matic, kembangkan metode
3. Buat instance kelas Car dengan mode Manual dan Matic, simulasikan
bagaimana Car dapat seolah-olah bisa bekerja dengan dua mode Manual dan
Matic.
8. Tugas
Nid
Prodi
Pekerjaan
Jam masuk
Civitas
- Name: String
- Nid: String
- Prodi: String
+ masukKerja() : void
+ pekerjaan() : void
2. Materi:
Comparator
3. Referensi:
4. Tools:
Netbeans 7
List
LinkedList
Map
Hashmap
Set
Hashset
TreeSet
Semua tipe dari collection tersebut adalah object sehingga dapat digunakan
untuk mengelolah semua jenis tipe data serta object. Dimana untuk pembatasannya
digunakan operator diamond ‘<>’, jika menggunkan operator ini maka collection hanya
memiliki satu tipe data atau object.
5.2. List
5.3. Map
5.4. Set
5.5. Comparator
Modul 5: GUI 1 Dan Event Handler
konsep PBO
2. Materi:
Event-Handler
3. Referensi:
4. Tools:
Netbeans 7
Eclipse
5. Tugas Pendahuluan:
6. Teori
6.1 GUI
Graphical User Interface (GUI), merupakan interface grafis fungsional yang
pengembangan container Java AWT, yang berkembang sampai versi 2. AWT terdiri
Saat ini untuk pengembangan container GUI lebih dititik beratkan pada
platform Swing atau Jswing atau Java Frame Container (JFC). Java Swing
merupakan perkakas GUI turunan AWT yang sangat lengkap dan siap pakai
adalah Frame sebagai windows dan Panel sebagai pemaket komponen. Diantara
Borders Menus
Buttons Popup Menus
Checkboxes Radio Buttons
ComboBoxes Progress Bars
Image Icons Scrolling Support
Labels Scrollbars
Layered Panes and Internal Splitter Control
Frames (MDI)
Lists and List Boxes Tabbed Panes
Borders Menus
Buttons Popup Menus
Checkboxes Radio Buttons
ComboBoxes Progress Bars
Image Icons Scrolling Support
Labels Scrollbars
Layered Panes and Internal Splitter Control
Frames (MDI)
Lists and List Boxes Tabbed Panes
Sesuai dengan hirarki tersebut, semua aplikasi GUI JSwing menggunakan Jframe
sebagai komponen dasar window tampilan GUI serta container komponen lainnya.
Sedangkan untuk penempatan komponen didalam Jframe digunakan panel-panel dari
komponen Jpanel sehingga komponen mudah untuk diatur sesuai dengan layout
dan bentuk komponen seperti untuk frame memiliki berbagai properti sebagai berikut:
f.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
Selain mengatur dan menentukan properti yang dimiliki oleh setiap komponen,
pengaturan posisi komponen juga sangat penting untuk menjaga kualitas tampilan
C1 C2
BorderLayout: bentuk layout mengikuti garis mata angin yang terdiri atas:
North
South
Contoh:
panel.add(aComponent, BorderLayout.CENTER);
panel.add(anotherComponent, BorderLayout.SOUTH);
serta BoxLayout. Contoh apabila ditentukan baris kolom 2x2 maka peletakan
berikut:
C1 C2
C3 C4
Contoh:
NetBeans:
interface default seperti halnya event-handler untuk mouse atau keyboard. Contoh
import java.awt.event.MouseEvent;
public interface MouseListener {
public void mousePressed(MouseEvent evt);
public void mouseReleased(MouseEvent evt);
public void mouseClicked(MouseEvent evt);
public void mouseEntered(MouseEvent evt);
public void mouseExited(MouseEvent evt);
\
5. Tugas Pendahuluan
7. Instruksi Praktikum
3. Dari hasil aplikasi GUI yang dihasilkan source code tersebut lakukanlah
8. Tugas
scratch code.
Modul 6: GUI Component & Data Binding
konsep PBO
2. Materi:
Binding Data
Database
3. Referensi:
4. Tools:
Netbeans 7
Eclipse
5. Tugas Pendahuluan:
bentuk koleksi?
6. Teori
Melalui visual desainer kita bisa menempatkan komponen secara Drag &
Drop dimana Ide akan melakukan penyesuaian antara peletakan komponen
visual dengan code program. Berikut adalah mekanisme binding kedalam
beberapa komponen GUI.
6.1 TextField
Contoh sederhana untuk binding komponen dan data adalah untuk
melakukan sinkronisasi nilai antara komponen slider dengan nilai integer
yang tertera didalam TextField.
6.3 Table
Komponen Table merupakan komponen visual yang paling komplek
untuk pembentukan binding datanya, karena dimensi table yang terdiri atas data
grid. Untuk sumber data binding Table dapat menggunakan sumberdata
persistance data, dimana untuk fasilitas yang diberikan Netbeans dengan
menyediakan model dari JPA Bean sesuai dengan nama Table dari Database.
Contoh dengan service database dan schema table data menggunakan
database embedded Derby yang menjadi fasilitas Netbeans, dapat dilakukan
binding sebagaimana ditunjukkan pada Gambar berikut:
Dimana setelah koneksi sukses dan data telah dibinding akan ditampilkan
pengaturan Field table sebagai berikut,
8. Tugas
Binding Data
Database
Eclipse
5. Tujuan Instruksi Khusus:
bentuk koleksi?
11.