3 Tier Architecture

28
 BAB 3 3-Tier Architecture

Transcript of 3 Tier Architecture

Page 1: 3 Tier Architecture

5/10/2018 3 Tier Architecture - slidepdf.com

http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 1/28

 

BAB 3

3-Tier Architecture

Page 2: 3 Tier Architecture

5/10/2018 3 Tier Architecture - slidepdf.com

http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 2/28

 

Perbedaan 1-Tier dengan 3-Tier

Page 3: 3 Tier Architecture

5/10/2018 3 Tier Architecture - slidepdf.com

http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 3/28

 

3-Tier Architecture

Pada pendekatan 3-tier architectureaplikasi ini dipecah menjadi 3 layer yaitu :

Presentation, Business Logic, dan DataAccess layer. Pemecahan ini tidak harusberkorespondensi secara fisik (hardware),

bisa jadi hanya secara logik (software).

Page 4: 3 Tier Architecture

5/10/2018 3 Tier Architecture - slidepdf.com

http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 4/28

 

3-Tier Architecture

Presentation layer bertanggung jawabdengan tampilan (user interface),

Business Logic dengan logikabusiness/domain permasalahan,

Data Access bertanggung jawab

bagaimana mekanisme akses ke basisdatanya

Page 5: 3 Tier Architecture

5/10/2018 3 Tier Architecture - slidepdf.com

http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 5/28

 

Business Entity

Business Entity adalah objek-objek yangterdapat dalam sebuah problem

domain/domain pemasalahan disebuahsistem tertentu

Business entity ini dihasilkan dari proses

analisis sebuah requirement software.

Page 6: 3 Tier Architecture

5/10/2018 3 Tier Architecture - slidepdf.com

http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 6/28

 

Business Entity

XML,

DataSet,

Typed DataSet,

Business Entity Object,

dan CRUD Business Entity Object .

Page 7: 3 Tier Architecture

5/10/2018 3 Tier Architecture - slidepdf.com

http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 7/28

Business Entity

 

Page 8: 3 Tier Architecture

5/10/2018 3 Tier Architecture - slidepdf.com

http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 8/28

Contoh Entity Class

 

Page 9: 3 Tier Architecture

5/10/2018 3 Tier Architecture - slidepdf.com

http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 9/28

Apa itu Class?

Bertrand Meyer, mengatakan bahwa classadalah modul sekaligus sebuah tipe data.

Class dapat juga dipandang sebagai sebuahblue print/cetak biru yang membentuk sebuahobjek.

Bisa dianalogikan kalau class adalah cetakankue maka objek (instance dari class) adalah kueyang dihasilkans

 

Page 10: 3 Tier Architecture

5/10/2018 3 Tier Architecture - slidepdf.com

http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 10/28

Field

Setelah deklarasi class ada deklarasi field. Field adalah sebuah variabel yang menjadi

atribut suatu class. Field ini memiliki access modifier private, public,

dan protected. private = Hanya dikenali di class tersebut public = Bisa dikenali dimana saja protected = Hanya dikenali di class tersebut

berikut class turunannya

 

Page 11: 3 Tier Architecture

5/10/2018 3 Tier Architecture - slidepdf.com

http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 11/28

Type Data

Tipe data terbagi dua yaitu primitive typedan composite type.

Tipe primitif adalah tipe konvensional yangsudah umum dikenal seperti :int,string,byte dan sebagainya.

Sedangkan tipe composite adalah tipekompeks seperti array dan objek.

 

Page 12: 3 Tier Architecture

5/10/2018 3 Tier Architecture - slidepdf.com

http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 12/28

Constructor

Sebuah class dapat memiliki 0-n constructor.

Constructor ini sifatnya optional, boleh ada boleh jugatidak.

Constructor sebetulnya adalah sebuah method specialyang akan selalu dieksekusi ketika class diinstantiasi.

Penulisan constructor harus sama dengan nama classnya .

Jika di class tersebut tidak memiliki constructor makacompiler akan membuatkan constructor default yangtidak memiliki implementasi apapun

Page 13: 3 Tier Architecture

5/10/2018 3 Tier Architecture - slidepdf.com

http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 13/28

 

Page 14: 3 Tier Architecture

5/10/2018 3 Tier Architecture - slidepdf.com

http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 14/28

Property

Demi Encapsulation, variabel/data tidakboleh diekspose langsung, karena itu

access modifier nya harus private. Lalu bagaimana cara saya mengakses

variabel tersebut dari class lain?

 

Page 15: 3 Tier Architecture

5/10/2018 3 Tier Architecture - slidepdf.com

http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 15/28

accessor dan mutator

 

Page 16: 3 Tier Architecture

5/10/2018 3 Tier Architecture - slidepdf.com

http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 16/28

accessor dan mutator

Method yang pertama disebut Accessorkarena fungsinya untuk mengakses nilai

sebuah field, Sedangkan yang kedua disebut mutator

karena fungsinya mengubah nilai.

 

Page 17: 3 Tier Architecture

5/10/2018 3 Tier Architecture - slidepdf.com

http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 17/28

Contoh accessor dan mutator

 

Page 18: 3 Tier Architecture

5/10/2018 3 Tier Architecture - slidepdf.com

http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 18/28

Property

 

Page 19: 3 Tier Architecture

5/10/2018 3 Tier Architecture - slidepdf.com

http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 19/28

Data Access Object

Data Access Object (DAO) adalah sebuah objek yangbertanggung jawab untuk melakukan segala hal yangberkaitan dengan database, mulai dari buka koneksi,

query sampai manipulasi data. Umumnya DAO ini berisi operasi CRUD (Create, Read,

Update, Delete) dimana :

Create = Membuat record baru (SQL INSERT)

Read = Membaca data (SQL SELECT) Update = Update data (SQL Update)

Delete = Menghapus data (SQL Delete)

 

Page 20: 3 Tier Architecture

5/10/2018 3 Tier Architecture - slidepdf.com

http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 20/28

Create

 

Page 21: 3 Tier Architecture

5/10/2018 3 Tier Architecture - slidepdf.com

http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 21/28

Read

 

Page 22: 3 Tier Architecture

5/10/2018 3 Tier Architecture - slidepdf.com

http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 22/28

Update

 

Page 23: 3 Tier Architecture

5/10/2018 3 Tier Architecture - slidepdf.com

http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 23/28

Delete

 

Page 24: 3 Tier Architecture

5/10/2018 3 Tier Architecture - slidepdf.com

http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 24/28

Refactoring

Kalau kita perhatikan ada beberapa bagian kode yang dipanggilberulang-ulang. Setiap method (Create,Read,Update,Delete) adabagian untuk buka koneksi, tentu saja hal ini tidak efesien karenasalah satu tujun OOP adalah reusability, penggunaan ulangkembali.

Mengikuti nasihat Martin Fowler, ketika menemukan ada blok kodeyg berulang 3 kali maka harus di refactoring.

Refactoring adalah pengubuhan struktur kode tanpa menambahfungsionalitas tertentu.

Pengubahan hanya bertujuan untuk efesiensi dan efektifitas

penulisan kode dengan cara menghilangkan atau menata kembaliduplikasi kode yang mungkin terjadi.

 

Page 25: 3 Tier Architecture

5/10/2018 3 Tier Architecture - slidepdf.com

http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 25/28

Refactoring 1

 

Page 26: 3 Tier Architecture

5/10/2018 3 Tier Architecture - slidepdf.com

http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 26/28

Refactoring 1

 

Page 27: 3 Tier Architecture

5/10/2018 3 Tier Architecture - slidepdf.com

http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 27/28

Refactoring 1

 

Page 28: 3 Tier Architecture

5/10/2018 3 Tier Architecture - slidepdf.com

http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 28/28

Refactoring 2

???????

We explore it next week..