Chapter 6 Konsep OOD with Java - Khairuddin Bima · PDF file1æ1û Ë...

22
Chapter 6 Konsep OOD with Java

Transcript of Chapter 6 Konsep OOD with Java - Khairuddin Bima · PDF file1æ1û Ë...

Page 1: Chapter 6 Konsep OOD with Java - Khairuddin Bima · PDF file1æ1û Ë ÈsÚ 5ó! 8 Ó g÷

Chapter 6Konsep OOD with Java

Page 2: Chapter 6 Konsep OOD with Java - Khairuddin Bima · PDF file1æ1û Ë ÈsÚ 5ó! 8 Ó g÷

A. Overview

• Analisis dan Desain Berorientasi Objek dapatdidesain menggunakan UML namun padaimplementasinya dibutuhkan bahasapemrograman yang mendukung aplikasi objekseperti JAVAseperti JAVA

• Pada chapter ini akan dibahas bagaimanamembangun ilustrasi pada studi kasus Bank menggunakan Java

• Aplikasi dimulai dari pembuatan kelas account selanjutnya relasi antar kelas dan aplikasinyapada bank secara umum

Page 3: Chapter 6 Konsep OOD with Java - Khairuddin Bima · PDF file1æ1û Ë ÈsÚ 5ó! 8 Ó g÷

B. Ilustration

• Ilustrasi yang dibangun pada kasus bank sebagaiberikut : Akan dikembangkan sistem komputer yangdibutuhkan oleh suatu Bank. Bank tersebut inginmengenalkan program layanan baru untukmengenalkan program layanan baru untukkomunitas lokal dan tidak sama dengan banknasional. Sistem tersebut memungkinkan seorangnasabah untuk membuka rekening danmelakukan transaksi biasa (contoh: kredit,tabungan,) bank juga menyediakan data totalaset yang dimiliki pada pemerintah

Page 4: Chapter 6 Konsep OOD with Java - Khairuddin Bima · PDF file1æ1û Ë ÈsÚ 5ó! 8 Ó g÷

C. Penerapan UML

• Dari ilustrasi sebelumnya terdapat relasi one to many antara class Bank dan class Account. Sebagai contoh diagram sebagai berikut :

Page 5: Chapter 6 Konsep OOD with Java - Khairuddin Bima · PDF file1æ1û Ë ÈsÚ 5ó! 8 Ó g÷

Penerapan UML……

• Kasus pembukaan account baru

• Kasus pembukaan kredit

Page 6: Chapter 6 Konsep OOD with Java - Khairuddin Bima · PDF file1æ1û Ë ÈsÚ 5ó! 8 Ó g÷

Penerapan UML….

• Transaksi Tabungan

• Account Detail

Page 7: Chapter 6 Konsep OOD with Java - Khairuddin Bima · PDF file1æ1û Ë ÈsÚ 5ó! 8 Ó g÷

Penerapan UML…..

• Diagram Kelas Account

• Deklarasi Kelas Account pada Javapublic class Account{// ----- Operations ----------public ... credit( ... ) { ... }public ... debit( ... ) { ... }public ... getBalance( ... ) { ... }public ... display( ... ) { ... }}

Page 8: Chapter 6 Konsep OOD with Java - Khairuddin Bima · PDF file1æ1û Ë ÈsÚ 5ó! 8 Ó g÷

D. Penerapan pada JAVA

• Pengembangan dari kelas account sebelumnya

• Maka deklarasi kelas Account menjadi:public class Account{// ----- Operations ----------public void credit(int anAmount) { ... }public void debit(int anAmount) { ... }public int getBalance() { ... }public void display() { ... }}

Page 9: Chapter 6 Konsep OOD with Java - Khairuddin Bima · PDF file1æ1û Ë ÈsÚ 5ó! 8 Ó g÷

Penerapan pada Java….

• Kelas diagram dengan atribut menjadi

• Sehingga deklarasi pada Java menjadi :public class Account{// ----- Operations ----------public void credit(int anAmount) { ... }public void debit(int anAmount) { ... }public int getBalance() { ... }public void display() { ... }// ----- Attributes ----------private String theNumber;private int theBalance;}

Page 10: Chapter 6 Konsep OOD with Java - Khairuddin Bima · PDF file1æ1û Ë ÈsÚ 5ó! 8 Ó g÷

Deklarasi lengkap pada Java• import textio.*;• public class Account {• // ----- Operations ----------• public void credit(int anAmount) {• theBalance += anAmount;• } // method: credit• public void debit(int anAmount) {• if(theBalance >= anAmount)• theBalance -= anAmount;• } // method: debit• } // method: debit• public int getBalance() {• return theBalance;• } // method: getBalance• public void display() {• ConsoleIO.out.println(“Account”);• ConsoleIO.out.println(“\t” + “Number: ” + theNumber);• ConsoleIO.out.println(“\t” + “Balance: ” + theBalance);• } // method: display• // ----- Attributes ----------• private String theNumber;• private int theBalance;• } // class: Account

Page 11: Chapter 6 Konsep OOD with Java - Khairuddin Bima · PDF file1æ1û Ë ÈsÚ 5ó! 8 Ó g÷

E. Pembangunan Aplikasi

• Seperti pada chapter sebelumnya telahdijelaskan bahwa Java mengeksekusi perintahmain(), oleh karena itu dari class-class sebelumnya diimplementasikan makasebelumnya diimplementasikan makakerangka sintak programnya menjadi :

public class Main{// ----- Operations ----------public static void main(String[ ] args) {Application app = new Application();app.run();} // method: main} // class: Main

Page 12: Chapter 6 Konsep OOD with Java - Khairuddin Bima · PDF file1æ1û Ë ÈsÚ 5ó! 8 Ó g÷

Pembangunana aplikasi

• Diagram aplikasi objek

Page 13: Chapter 6 Konsep OOD with Java - Khairuddin Bima · PDF file1æ1û Ë ÈsÚ 5ó! 8 Ó g÷

Pembangunan Aplikasi• Penerapan diagram pada sintak Java

public class Application{public void run(){//// Use-case: Open new account//Account ac = new Account(“ABC123”, 1200);//// Use-case: Credit account// Use-case: Credit account//ac.credit(200); // balance now 1400//// Use-case: Display account details//ac.display();//// Use-case: Others//ac.debit(900); // balance now 500ac.debit(700); // balance unchangedac.display();} // method: run} // class: Application

Page 14: Chapter 6 Konsep OOD with Java - Khairuddin Bima · PDF file1æ1û Ë ÈsÚ 5ó! 8 Ó g÷

Pembangunan aplikasi….

• Hasil output dari program slide sebelumnyaadalah :

AccountNumber: ABC123Number: ABC123Balance: 1400AccountNumber: ABC123Balance: 500

Page 15: Chapter 6 Konsep OOD with Java - Khairuddin Bima · PDF file1æ1û Ë ÈsÚ 5ó! 8 Ó g÷

F. Penerapan hubungan antar objek

• Berdasarkan studi kasus Bank tersebutmemiliki kebutuhan sebagai berikut :• Create a bank object• Open a new account• Open a new account• Perform a transaction on an account• Obtain the total assets of the bank

Page 16: Chapter 6 Konsep OOD with Java - Khairuddin Bima · PDF file1æ1û Ë ÈsÚ 5ó! 8 Ó g÷

Penerapan hubungan antar objek

• Diagram hubungan antara Bank dan Nasabah

Page 17: Chapter 6 Konsep OOD with Java - Khairuddin Bima · PDF file1æ1û Ë ÈsÚ 5ó! 8 Ó g÷

Penerapan hubungan antar objek

• Dari diagram tersebut diaplikasikan padapembuatan objek sebagai berikut

Page 18: Chapter 6 Konsep OOD with Java - Khairuddin Bima · PDF file1æ1û Ë ÈsÚ 5ó! 8 Ó g÷

Penerapan hubungan antar objek

• Diagram hubungan Bank dan Nasabah padakasus kredit

Page 19: Chapter 6 Konsep OOD with Java - Khairuddin Bima · PDF file1æ1û Ë ÈsÚ 5ó! 8 Ó g÷

Penerapan hubungan antar objek

• Diagram hubungan Bank dan Nasabah padakasus penghitungan total aset

Page 20: Chapter 6 Konsep OOD with Java - Khairuddin Bima · PDF file1æ1û Ë ÈsÚ 5ó! 8 Ó g÷

G. Penerapan program

1. Pembuatan class Bankpublic class Bank{public void openAccount(String aNumber, int anInitialBalance) {Account acc = new Account(aNumber, anInitialBalance);theAccounts.add(acc);} // method: openAccount} // method: openAccount// ...// ----- Relations ----------private java.util.ArrayList theAccounts; // of Account} // class: Bank

Page 21: Chapter 6 Konsep OOD with Java - Khairuddin Bima · PDF file1æ1û Ë ÈsÚ 5ó! 8 Ó g÷

Penerapan program……

2. Pembuatan class Accountpublic class Account implements java.lang.Comparable{// ----- Operations ----------public Account(String aNumber, int anInitialBalance) { ... }public Account() { ... }public boolean equals(Object obj) { ... }public boolean equals(Object obj) { ... }public int compareTo(Object obj) { ... }// ...} // class: Account

Page 22: Chapter 6 Konsep OOD with Java - Khairuddin Bima · PDF file1æ1û Ë ÈsÚ 5ó! 8 Ó g÷

DAFTAR PUSTAKA

• Barclay K., Savage J., 2004, E-book Object Oriented Design with UML and Java