rpl 012 - perancangan berorientasi objek

22

Upload: febriyani-syafri

Post on 18-Dec-2014

4.616 views

Category:

Documents


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Rpl   012 - perancangan berorientasi objek
Page 2: Rpl   012 - perancangan berorientasi objek

Perancangan berorientasi objek adalah strategiperancangan di mana perancang sistem memikirkan ‘benda’dan bukan operasi atau fungsi. Sistem yang berjalan terdiri dariobjek-objek yang berinteraksi yang mempertahankan statuslokal mereka sendiri dan menyediakan operasi bagi informasistatus tersebut.

Proses perancangan berorientasi objek melibatkanperancangan kelas objek dan hubungan antara kelas-kelas ini.Ketika desain telah direalisasikan sebagai program yangberjalan, objek yang dibutuhkan dibuat secara dinamis denganmemakai definisi kelas.

2RPL |PERANCANGAN BERORIENTASI OBJEK

Page 3: Rpl   012 - perancangan berorientasi objek

Perancangan berorientasi objek merupakan bagian daripengembangan berorientasi objek di mana strategi berorientasiobjek digunakan sepanjang proses pengembangan:

• Analisis berorientasi objek yang berhubungan denganpengembangan model berorientasi objek dari domain aplikasi.

• Pengembangan model berorientasi objek dari sistem perangkatlunak untuk implementasi persyaratan yang teridentifikasi. Objek-objek pada desain berorientasi objek harus menambahkan objek-objek baru dan mentransformasi objek-objek masalah untukmengimplementasikan solusi.

• Pemrograman berorientasi objek yang berhubungan denganrealisasi desain perangkat lunak dengan bahasa pemrogramanberorientasi objek.

3RPL |PERANCANGAN BERORIENTASI OBJEK

Page 4: Rpl   012 - perancangan berorientasi objek

• Objek dan Kelas Objek

• Proses Perancangan Berotientasi Objek

• Evolusi Desain

4RPL |PERANCANGAN BERORIENTASI OBJEK

Page 5: Rpl   012 - perancangan berorientasi objek

Secara umum, objek adalah enkapsulasi informasi dan inidirefleksikan dalam definisi mengenai objek dan kelas objek :

• Objek adalah suatu entitas yang memiliki status dan set operasiterdefinisi yang beroperasi pada status tersebut. Statusdirepresentasikan sebagai satu set atribut objek. Operasi yangberhubugan dengan objek memberikan layanan pada objek lain(klien) yang meminta layanan ini ketika diperlukan komputasi.

• Objek dibuat menurut definisi kelas objek. Definisi kelas objekberfungsi sebagai template untuk membuat objek. Definisi inimelibatkan deklarasi semua atribut dan operasi yang harusdihubungkan dengan objek dari kelas tersebut.

5RPL |PERANCANGAN BERORIENTASI OBJEK

Page 6: Rpl   012 - perancangan berorientasi objek

Objek berkomunikasi dengan meminta layanan(memanggil metode) dari objek lain dan, jika perlu, denganmenukar informasi yang dibutuhkan untuk penyediaanlayanan. Salinan informasi yang dibutuhkan untukmenjalankan layanan dan hasil eksekusi layanan diberikansebagai parameter.

Pada beberapa sistem terdistribusi, komunikasi objek diimplementasi langsung sebagai message text yangdipertukarkan objek. Objek yang menerima melakukanparsing terhadap message, mengidentifikasi layanan dandata yang berhubungan, dan menjalankan layanan yangdiminta.

6RPL |PERANCANGAN BERORIENTASI OBJEK

Page 7: Rpl   012 - perancangan berorientasi objek

Objek konkuren merupakan objek-objekyang dapat berjalan pada komputer yang samaatau sebagai objek terdistribusi pada mesinyang berbeda.

7RPL |PERANCANGAN BERORIENTASI OBJEK

Page 8: Rpl   012 - perancangan berorientasi objek

• Server di mana objek direalisasikan sebagai prosesparalel dengan metode yang berhubungan denganoperasi objek yang didefinisikan. Metode dimulaisebagai tanggapan atas message eksternal dan dapatberjalan paralel dengan metode yang berasosiasidengan objek lain.

• Objek aktif di mana status objek dapat diubah olehoperasi internal yang berjalan di dalam objek itusendiri. Proses yang merepresentasikan objek terusmenjalankan operasi ini sehingga tidak pernahmenunda dirinya sendiri.

8RPL |PERANCANGAN BERORIENTASI OBJEK

Page 9: Rpl   012 - perancangan berorientasi objek

Pada proses ini dapat diilustrasikan sebagai prosesperancangan berorientasi objek dengan mengembangkandesain contoh untuk perangkat lunak kontrol yang menjadi satudengan stasiun cuaca terotomasi. Proses yang akan dibahas disini merupakan proses umum yang memakai kegiatan yangumum bagi sebagian besar proses OOD (objek-orienteddesign/perancangan berorientasi objek).

9RPL |PERANCANGAN BERORIENTASI OBJEK

Page 10: Rpl   012 - perancangan berorientasi objek

• Memahami dan mendefinisikan konteks dan mode penggunaan sistem

• Merancang arsitektur sistem

• Mengidentifikasikan objek utama sistem

• Mengembangkan model desain

• Menspesifikasikan interface objek

10RPL |PERANCANGAN BERORIENTASI OBJEK

Page 11: Rpl   012 - perancangan berorientasi objek

Sistem membuat peta cuaca memakai meteorologi yang dikumpulkan secaraotomatis

• Sistem pemetaan cuaca dibutuhkan untuk menghasilkan peta cuaca secarareguler dengan memakai data yang dikumpulkan dari stasiun cuaca yang jauhdan tidak berawak dan sumber-sumber data lain. Stasiun cuaca mengirimkandata ke komputer area sebagai tanggapan atas permintaan dari mesin tersebut.

• Sistem komputer area menvalidasi data yang terkumpul dan mengintegrasikandata dari sumber-sumber lain. Data yang terintegrasi diarsipkan denganmenggunakan data dari arsip ini dan database peta digital, dibuat satu set petacuaca lokal. Peta dapat dicetak untuk distribusi pada printer peta khusus ataudapat ditampilkan dalam sejumlah format yang berbeda.

11RPL |PERANCANGAN BERORIENTASI OBJEK

Page 12: Rpl   012 - perancangan berorientasi objek

Deskripsi ini menunjukkan sebagian dari sistem secara keseluruhan berhubungan dengan pengumpulan data,sebagian dengan data dari berbagai sumber, sebagian dengan pengarsipan data tersebut dan sebagian denganpembuatan peta cuaca

Arsitektur lapisan sistem pemetaan cuaca

12RPL |PERANCANGAN BERORIENTASI OBJEK

<<Subsystem>>

Data display

Data menampilkan layer dimana objek berhubungan dengan persiapan

dan penyajian data yang dapat dibaca

<<Subsystem>>

Pengarsipan Data

Pengarsipan data layer dimana objek berhubungan dengan penyimpanan

data untuk proses di masa depan

<<Subsystem>>

Memproses Data

Memproses data layer dimana objek berhubungan dengan memeriksa dan

mengintegrasikan data yang dikumpulkan

<<Subsystem>>

Pengumpulan

Data

Pengumpulan data layer dimana objek berhubungan dengan

mendapatkan data dari sumber jauh

Page 13: Rpl   012 - perancangan berorientasi objek

Tahap pertama pada semua proses perancangan perangkatlunak adalah pengembangan pemahaman hubungan antaraperangkat lunak yang dirancang dan lingkungan eksternalnya.Pengembangan pemahaman dapat membantu menyediakanfungsionalitas yang diminta dan bagaimana menstruktur sistemsehingga dapat berkomunikasi secara efektif denganlingkungannya.

13RPL |PERANCANGAN BERORIENTASI OBJEK

Page 14: Rpl   012 - perancangan berorientasi objek

Konteks sistem dan model penggunaan sistemmerepresentasikan dua model komplementer dari hubunganantara sistem dan lingkungannya.

• Konteks sistem merupakan model statis yangmendeskripsikan sistem lain pada lingkungan tersebut.

• Model penggunaan sistem merupakan model dinamik yangmendeskripsikan bagaimana sistem sebenarnya berinteraksidengan lingkungannya.

14RPL |PERANCANGAN BERORIENTASI OBJEK

Page 15: Rpl   012 - perancangan berorientasi objek

Use-case adalah urutan transaksi atau proses yang dilakukanoleh sitem dimana menghasilkan sesuatu yang dapat dilihat/diamati oleh aktor tertentu. Use-case dikembangkan sesuaikeinginan aktor.

Aktor adalah user yang berinteraksi dengan sistem. Aktor inidapat berupa manusia, external hardware atau sistem yang lain

15RPL |PERANCANGAN BERORIENTASI OBJEK

Page 16: Rpl   012 - perancangan berorientasi objek

Aktor : klien bank

User-case : tarikan uang, deposit uang, transferantarrekening

Interaksi : mengirim dan menerima message

ATM Cashier Application : aktor dan beberapa user-case

16RPL |PERANCANGAN BERORIENTASI OBJEK

Page 17: Rpl   012 - perancangan berorientasi objek

Begitu interaksi antara sistem perangkat lunak yang dirancang danlingkungan sistemnya telah didefinisikan sehingga dapat menggunakaninformasi ini sebagai dasar untuk merancang arsitektur sistem.

• Lapisan interface, menangani semua komunikasi eksternal

• Lapisan pengumpulan data, mengumpulkan dan merangkum semuadata yang diperlukan sistem

• Lapisan instrumen, enkapsulasi semua instumen untuk mengumpulkandata mentah

17RPL |PERANCANGAN BERORIENTASI OBJEK

Page 18: Rpl   012 - perancangan berorientasi objek

Ada berbagai proposal yang dibuat mengenai cara-cara pengidentifikasikan kelas-kelas objek:

• Analisis gramatikal dari deskripsi bahasa natural sisterm. Objek dan atributmerupakan kata benda; operasi dan layanan adalah kata kerja (Abbott, 1983).

• Entitas nyata (benda) pada domain aplikasi (Shalaer dan Mellor, 1988; Coad danYuordon, 1990; Wirfs-Brock et al., 1990).

• Pendekatan perilaku di mana perancang pertama-tama memahami perilakusistem keseluruhan. Partisipannya dikenal sebagai objek (Rubin dan Goldberg,1992).

• Analisis berbasis skenario di mana berbagai skenario sistem sistem diidentifikasidan dianalisis secara bergantian. (Beck dan Cunningham, 1989).

18RPL |PERANCANGAN BERORIENTASI OBJEK

Page 19: Rpl   012 - perancangan berorientasi objek

Model statis yang mendeskripsikan struktur statis sistem dalam hal kelasobjek sistem dan hubungannya. Hubungan yang penting yang bisadidokumentasikan pada tahap ini adalah hubungan generalisasi, hubunganuser/used-by (user/dipakai oleh) dan hubungan komposisi.

• Model subsistem yang menunjukkan pengelompokan logis dari objekmenjadi subsistem yang koheren dan direpresentasikan denganmengguna­kan form diagram kelas di mana setiap subsistem ditunjukkansebagai paket.

19RPL |PERANCANGAN BERORIENTASI OBJEK

Page 20: Rpl   012 - perancangan berorientasi objek

Model dinamik yang mendeskripsikan struktur dinamik sistem dan yangmenunjukkan interaksi antara objek sistem (bukan antara kelas objek). Interaksi yangdapat didokumentasikan mencakup urutan permintaan layanan yang di­lakukan olehobjek-objek dan cara status sistem dihubungkan dengan interaksi objek ini.

1. Model rangkaian yang menunjukkan urutan interaksi objek dandirepresentasikan dengan menggunakan urutan UML atau diagram kolaborasi.

2. Model mesin status yang menunjukkan bagaimana objek-objek tersebut secaraindividu mengubah status mereka sebagai tanggapan atas event dandirepresentasikan dalam UML dengan menggunakan diagram statechart(diagram sta­tus).

20RPL |PERANCANGAN BERORIENTASI OBJEK

Page 21: Rpl   012 - perancangan berorientasi objek

Manfaat penting dari pendekatan berorientasi objek terhadapperancangan adalah kemampuannya menyederhanakan masalah dalammelakukan perubahan pada desain. Alasan untuk ini adalah karenarepresentasi status objek tidak mempengaruhi desain.

Perubahan detil internal suatu objek tidak mungkin mempengaruhiobjek sistem yang lain. Lebih jauh lagi, karena objek-objek loosely coupled(terhubung secara longgar), pengenalan objek bare biasanya dapatdilakukan secara langsung tanpa efek yang signifikan pada bagian sistemyang lain.

21RPL |PERANCANGAN BERORIENTASI OBJEK

Page 22: Rpl   012 - perancangan berorientasi objek