Object Oriented

Download Report

Transcript Object Oriented

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:
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 objekobjek 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 persyaratan yang ditentukan pelanggan.
UML (Unified Modeling Language)
Adalah sebuah bahasa yang berdasarkan grafik/gambar untuk
memvisualisasi, menspesifikasikan, membangun, dan
pendokumentasian dari sebuah sistem pengembangan software
berbasis OO (Object-Oriented).
UML sendiri juga memberikan standar penulisan sebuah sistem
blue print, yang meliputi konsep bisnis proses, penulisan kelaskelas 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 dan mudah dimengerti.
Metode Terstruktur
Kekurangan







SSAD berorientasi utama pada proses, sehingga mengabaikan kebutuhan nonfungsional.
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 (kebutuhankebutuhan 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 didesain untuk mendukung bahasa pemrograman
terstruktur, tidak berorientasi pada obyek (Jadalowen, 2002).
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.
Sistem yang dihasilkan sangat fleksibel dan mudah dalam memelihara.
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.