Web Development With PHP

advertisement
Terminologi
 Object
Oriented Analaysis adalah metode analisis yang
memeriksa requirements (syarat/keperluan yang harus
dipenuhi suatu sistem) dari sudut pandang kelas-kelas dan
objek-objek yang ditemui dalam ruang lingkup
permasalahan.
 Object
Oriented Design adalah metode untuk
mengarahkan arsitektur software yang didasarkan pada
manipulasi objek-objek sistem atau subsistem.
Prinsip Dasar Membangun Analisis
Model
1.
Domain informasi dimodelkan
2.
Fungsi Modul digambarkan
3.
Tingkah laku model direpresentasikan
4.
Model dipartisi untuk mengekspos detil yang lebih luas
5.
Model awal merepresentasikan inti masalah sementara
model selanjutnya membderikan detil implementasi
Pengenalan Objek
Seperti ditunjukkan pada Taylor Donut
Diagram:
e er
et m
el o
D ust
C
Jo
Name
Address Here
Phone No 555
Balance $1.49
Pri
n
Ba t
l an
ce
ta
s
i
L
Up
Ba dat
lan e
ce
Cre
Cu ate
sto
me
r
Ch
a
Ad nge
dre
ss
ge o
an N
Ch one
Ph
e
ng
a
Ch e
m
Na
ll
Customer
A. Karakteristik dari Objek
1. Objek
 Objek
adalah benda secara fisik dan konseptual yang ada di
sekitar kita. Sebuah objek memiliki keadaan sesaat yang
disebut state.
 Objek
dapat kongkrit, seperti halnya arsip dalam sistem, atau
konseptual seperti kebijakan penjadwalan dalam
multiprocessing pada sistem operasi.
 Dua
objek dapat berbeda walaupun bila semua nilai
atributnya identik.
I. Pengertian dan Konsep OOAD
Analisis dan disain berorientasi objek adalah cara baru dalam memikirkan
suatu masalah dengan menggunakan model yang dibuat menurut konsep
sekitar dunia nyata. Dasar pembuatan adalah objek, yang merupakan
kombinasi antara struktur data dan perilaku dalam satu entitas.
Pengertian “berorientasi objek” berarti bahwa kita mengorganisasi perangkat
lunak sebagai kumpulan dari objek tertentu yang memiliki struktur data dan
perilakunya.
Konsep OOAD mencakup analisis dan desain sebuah sistem dengan
pendekatan objek, yaiut analisis berorientasi objek (OOA) dan desain
berorientasi objek (OOD). OOA adalah metode analisis yang memerika
requirement (syarat/keperluan) yang harus dipenuhi sebuah sistem) dari sudut
pandang kelas-kelas dan objek-objek yang ditemui dalam ruang lingkup
perusahaan. Sedangkan OOD adalah metode untuk mengarahkan arsitektur
software yang didasarkan pada manipulasi objek-objek sistem atau subsistem.
OOA (Object Oriented Analysis)
OOA mempelajari permasalahan dengan
menspesifikasikannya atau mengobservasi
permasalahn tersebut dengan menggunakan
metode berorientasi objek.
Biasanya analisa sistem dimulai dengan adanya
dokumen permintaan (requirement) yang diperoleh
dari semua pihak yang berkepentingan. (Misal:
klien,developer, pakar, dan lain-lain).
Dokumen permintaan memiliki 2 fungsi yaitu :
1. Memformulasikan kebutuhan klien
2. Membuat suatu daftar tugas.
Analisis berorientasi obyek (OOA) melihat pada
domain masalah, dengan tujuan untuk memproduksi
sebuah model konseptual informasi yang ada di
daerah yang sedang dianalisis. Model analisis tidak
mempertimbangkan kendala-kendala pelaksanaan
apapun yang mungkin ada, seperti konkurensi,
distribusi, ketekunan, atau bagaimana sistem harus
dibangun. Kendala pelaksanaan ditangani selama
desain berorientasi objek (OOD).
Sumber-sumber untuk analisis dapat persyaratan tertulis
pernyataan, dokumen visi yang formal, wawancara dengan
stakeholder atau pihak yang berkepentingan lainnya.
Sebuah sistem dapat dibagi menjadi beberapa domain, yang
mewakili bisnis yang berbeda, teknologi, atau bidang yang
diminati, masing-masing dianalisis secara terpisah.
Hasil analisis berorientasi objek adalah deskripsi dari apa
sistem secara fungsional diperlukan untuk melakukan, dalam
bentuk sebuah model konseptual.
Itu biasanya akan disajikan sebagai seperangkat menggunakan
kasus, satu atau lebih UML diagram kelas, dan sejumlah
diagram interaksi.
Tujuan dari analisis berorientasi objek adalah untuk
mengembangkan model yang menggambarkan perangkat
lunak komputer karena bekerja untuk memenuhi seperangkat
UML (Unified Modeling Language)
Adalah sebuah bahasa yang berdasarkan
grafik/gambar untuk memvisualisasi,
menspesifikasikan, membangun, dan
pendokumentasian dari sebuah sistem
pengembangan software berbasis OO (ObjectOriented).
UML sendiri juga memberikan standar penulisan
sebuah sistem blue print, yang meliputi konsep
bisnis proses, penulisan kelas-kelas dalam bahasa
program yang spesifik, skema database, dan
komponen-komponen yang diperlukan dalam sistem
software.
Unified Model Language (UML) adalah bahasa universal
untuk :
 Memvisualisasikan grafis model yang tepat.
 Menetapkan model yang tepat, lengkap, dan tidak
ambigu untuk mengambil semua keputusan penting
dalam analisis, desain dan implementasi.
 Membangun model yang dapat dihubungkan langsung
dengan bahasa pemrograman.
 Mendokumentasikan semua informasi yang
dikumpulkan oleh tim sehingga memungkinkan untuk
berbagi informasi.
II. Pemodelan Berorientasi Objek
A. Pemodelan Sebagai Teknik Desain
Teknik pemodelan objek menggunakan tiga macam
model untuk menggambarkan sistem, diantaranya
adalah sebagai berikut :
1.Model Objek
2.Model Dinamik
3.Model Fungsional
1. Model Objek
Model objek menggambarkan struktur statis dari
suatu objek dalam sistem dan relasinya.
Model objek berisi diagram objek. Diagram objek
adalah graph dimana nodenya adalah kelas yang
mempunyai relasi antar kelas.
2. Model Dinamik
Model dinamik menggambarkan aspek dari sistem
yang berubah setiap saat.
Model dinamik dipergunakan untuk menyatakan
aspek kontrol dari sistem.
Model dinamik berisi state diagram. State diagram
adalah graph dimana nodenya adalah state dan arc
adalah tarnsisi antara state yang disebabkan oleh
event.
3. Model Fungsional
Model fungsional menggambrakan transformasi nilai
data di dalam sistem.
Model fungsional berisi data flow diagram. DFD
adalah suatu graph dimana nodenya menyatakan
proses dan arcnya adalah aliran data.
B. Model Berorientasi Objek
Sebuah model objek menangkap struktur statis dari
sistem dengan menggambarkan objek dalam
sistem, hubungan antara objek, serta atribut dan
operasi yang merupakan karakteristik setiap kelas
dan objek.
Model berorientasi objek lebih mendekati keadaan
nyata, dan dilengkapi dengan penyajian grafis dari
sistem yang sangat bermanfaat untuk komunikasi
dengan user dan pembuatan dokumentasi struktur
dari sistem.
1. Objek dan Kelas
Objek
Objek didefinisikan sebagai konsep, abstraksi atau benda dengan batasan dan
arti untuk suatu masalah.
Semua objek mempunyai identitas yang berbeda dengan lainnya.
Istilah identitas berarti bahwa objek dibedakan oleh sifat yang melekat dan
bukan dengan uraian sifat yang dimilikinya.
Contohnya : kembar identik, walaupun mereka nampak seperti sama, tetapi
merupakan dua orang yang berbeda.
Kadang-kadang objek berarti suatu barang, maka digunakan istilah object
instance, dan object class untuk menunjukkan satu grup dari barang yang sama.
1. Objek dan Kelas (Count)
Kelas
Suatu object class menggambarkan kumpulan dari objek yang
mempunyai sifat (atribut), perilaku umum (operasi), relasi umum dengan
objek lain dan semantik umum.
Contoh : Orang, perusahaan , binatang, proses adalah objek.
Setiap orang mempunyai umur, IQ, dan mungkin pekerjaan. Setiap proses
mempunyai pemilik, prioritas, list dari sumber daya yang dibutuhkan.
Objek dan object class sering sama sebagai benda dalam deskripsi
masalah.
2. Diagram Objek
Diagram objek melengkapi notasi grafik untuk
pemodelan objek, kelas dan relasinya dengan yang
lain. Diagram objek bermanfaat untuk pemodelan
abstrak dan membuat perancangan program.
Kelas dan Objek
Konsep fundamental dalam analisis berorientasi objek adalah
objek itu sendiri. Sebuah objek adalah sebuah entitas yang
mencakup data dan metode.
Kelas merupakan satu atau lebih objek dengan persamaan
atribut dan metode, sedangkan kelas-&-objek adalah kelas
dengan satu atau lebih objek di dalamnya. Nama kelas adalah
kata benda tunggal, atau kata sifat dan kata benda. Nama dari
kelas-&-objek harus dapat menjelaskan objek tunggal dari
suatu kelas.
Struktur Objek dan Hirarki Kelas

Struktur kelas dibagi dua macam, yaitu Whole-Part Structure
dan Gen-Spec Structure.
1. Whole-Part Structure
Whole-Part Structure memperlihatkan hirarki dari suatu kelas
sebagai komponen dari kelas lain yang disebut juga sub objek.
Contohnya, kelas Mobil adalah Whole dan komponennya Mesin,
Rangka, dan lain-lain, merupakan Part1, Part 2, …, Part n.
2. Gen-Spec Structure
Gen-Spec Structure memperlihatkan kelas sebagai spesialisasi
dari kelas di atasnya. Kelas yang mempunyai sifat umum
disebut Generalization, Superclass atau Topclass, sedangkan
kelas yang mempunyai sifat khusus disebut Specialization
Contohnya, kelas Mobil adalah Generalization, sedangkan
Sedan, Truk, Minibus, dan lain-lain merupakan Specizlization1,
Specialization2, …, Specialization n, yaitu kelas yang
mempunyai sifat khusus
- Atribut
Atribut menggambarkan data yang dapat memberikan
informasi mengenai kelas atau objek dimana atribut tersebut
berada.
- Metode
Metode (method) disebut juga service atau operator adalah
prosedur atau fungsi seperti yang terdapat dalam bahasa
Pascal pada umumnya, tetapi cara kerjanya agak berlainan.
Metode adalah subprogram yang tergabung dalam objek
bersama-sama dengan atribut. Metode dipergunakan untuk
pengaksesan terhadap data yang terdapat dalam objek
tersebut.
- Pesan (Message)
Message merupakan cara untuk berhubungan antara satu
objek dengan objek lain. Suatu pesan dikirimkan oleh suatu
objek kepada objek tertentu dapat digambarkan dengan anak
panah.
Metode Terstruktur
Kelebihan

Milestone diperlihatkan dengan jelas yang memudahkan dalam
manajemen proyek

SSAD merupakan pendekatan visual, ini membuat metode ini
mudah dimengerti oleh pengguna atau programmer.

Penggunaan analisis grafis dan tool seperti DFD menjadikan SSAD
menjadikan bagus untuk digunakan.

SSAD merupakan metode yang diketahui secara umum pada
berbagai industry.

SSAD sudah diterapkan begitu lama sehingga metode ini sudah
matang dan layak untuk digunakan.SSAD memungkinkan untuk
melakukan validasi antara berbagai kebutuhanSSAD relatif simpel
Metode Terstruktur
Kekurangan







SSAD berorientasi utama pada proses, sehingga mengabaikan
kebutuhan non-fungsional.
Sedikit sekali manajemen langsung terkait dengan SSAD
Prinsip dasar SSAD merupakan pengembangan non-iterative
(waterfall), akan tetapi kebutuhan akan berubah pada setiap proses.
Interaksi antara analisis atau pengguna tidak komprehensif, karena
sistem telah didefinisikan dari awal, sehingga tidak adaptif terhadap
perubahan (kebutuhan-kebutuhan baru).
Selain dengan menggunakan desain logic dan DFD, tidak cukup tool
yang digunakan untuk mengkomunikasikan dengan pengguna,
sehingga sangat sliit bagi pengguna untuk melakukan evaluasi.
Pada SAAD sulit sekali untuk memutuskan ketika ingin
menghentikan dekomposisi dan mliai membuat sistem.SSAD tidak
selalu memenuhi kebutuhan pengguna.
SSAD tidak dapat memenuhi kebutuhan terkait bahasa
pemrograman berorientasi obyek, karena metode ini memang
Metode Berorientasi Obyek
Kelebihan




Dibandingkan dengan metode SSAD, OOAD lebih mudah digunakan
dalam pembangunan sistem
Dibandingkan dengan SSAD, waktu pengembangan, level
organisasi, ketangguhan,dan penggunaan kembali (reuse) kode
program lebih tinggi dibandingkan dengan metode OOAD
(Sommerville, 2000).
Tidak ada pemisahan antara fase desain dan analisis, sehingga
meningkatkan komunikasi antara user dan developer dari awal
hingga akhir pembangunan sistem.
Analis dan programmer tidak dibatasi dengan batasan implementasi
sistem, jadi desain dapat diformliasikan yang dapat dikonfirmasi
dengan berbagai lingkungan eksekusi.
Kelebihan (Count)







Relasi obyek dengan entitas (thing) umumnya dapat di mapping
dengan baik seperti kondisi pada dunia nyata dan keterkaitan dalam
sistem. Hal ini memudahkan dalam mehami desain (Sommerville,
2000).
Memungkinkan adanya perubahan dan kepercayaan diri yang tinggi
terhadap kebernaran software yang membantu untuk mengurangi
resiko pada pembangunan sistem yang kompleks (Booch, 2007).
Encapsliation data dan method, memungkinkan penggunaan
kembali pada proyek lain, hal ini akan memperingan proses desain,
pemrograman dan reduksi harga.
OOAD memungkinkan adanya standarisasi obyek yang akan
memudahkan memahami desain dan mengurangi resiko
pelaksanaan proyek.
Dekomposisi obyek, memungkinkan seorang analis untuk memcah
masalah menjadi pecahan-pecahan masalah dan bagian-bagian
yang dimanage secara terpisah.
Kode program dapat dikerjakan bersama-sama.
Metode ini memungkinkan pembangunan software dengan cepat,
sehingga dapat segera masuk ke pasaran dan kompetitif.
Metode Berorientasi Obyek
Kekurangan







Pada awal desain OOAD, sistem mungkin akan sangat simple.
Pada OOAD lebih fockus pada coding dibandingkan dengan
SSAD.Pada OOAD tidak menekankan pada kinerja team seperti pada
SSAD.
Pada OOAD tidak mudah untuk mendefinisikan class dan obyek
yang dibutuhkan sistem.
Sering kali pemrogramam berorientasi obyek digunakan untuk
melakukan anlisisis terhadap fungsional siste, sementara metode
OOAD tidak berbasis pada fungsional sistem.
OOAD merupakan jenis manajemen proyek yang tergolong baru,
yang berbeda dengan metode analisis dengan metode terstruktur.
Konsekuensinya adalah, team developer butuh waktu yang lebih
lama untuk berpindah ke OOAD, karena mereka sudah
menggunakan SSAD dalam waktu yang lama ( Hantos, 2005)
Metodologi pengembangan sistem dengan OOAD menggunakan
konsep reuse. Reuse merupakan salah satu keuntungan utama yang
menjadi alasan digunakannya OOAD. Namun demikian, tanpa
prosedur yang emplisit terhadap reuse, akan sangat sliit untuk
menerapkan konsep ini pada skala besar (Hantos, 2005).
Perbedaan Analisa Berbasis Objek
dan Yang Terstruktur
Perancangan Terstruktur : Modul merupakan unit
dari kode software yang menjalankan fungsi.
Perancangan Berorientasi Objek : Modul objek yang
mengenkapsulasi atribut dan kode program untuk
berjalan.
Download