Upload
firalukas
View
27
Download
0
Embed Size (px)
Citation preview
5/10/2018 3 Tier Architecture - slidepdf.com
http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 1/28
BAB 3
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
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).
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
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.
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 .
5/10/2018 3 Tier Architecture - slidepdf.com
http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 7/28
Business Entity
5/10/2018 3 Tier Architecture - slidepdf.com
http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 8/28
Contoh Entity Class
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
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
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.
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
5/10/2018 3 Tier Architecture - slidepdf.com
http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 13/28
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?
5/10/2018 3 Tier Architecture - slidepdf.com
http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 15/28
accessor dan mutator
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.
5/10/2018 3 Tier Architecture - slidepdf.com
http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 17/28
Contoh accessor dan mutator
5/10/2018 3 Tier Architecture - slidepdf.com
http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 18/28
Property
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)
5/10/2018 3 Tier Architecture - slidepdf.com
http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 20/28
Create
5/10/2018 3 Tier Architecture - slidepdf.com
http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 21/28
Read
5/10/2018 3 Tier Architecture - slidepdf.com
http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 22/28
Update
5/10/2018 3 Tier Architecture - slidepdf.com
http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 23/28
Delete
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.
5/10/2018 3 Tier Architecture - slidepdf.com
http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 25/28
Refactoring 1
5/10/2018 3 Tier Architecture - slidepdf.com
http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 26/28
Refactoring 1
5/10/2018 3 Tier Architecture - slidepdf.com
http://slidepdf.com/reader/full/3-tier-architecture-559dfc4cdcbf9 27/28
Refactoring 1
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..