5 rekayasa sistem

35
5 Rekayasa Sistem Dedy Alamsyah, S.Kom. Konsep Dasar Disain Berorientasi Obyek

Upload: ata

Post on 23-Feb-2016

80 views

Category:

Documents


4 download

DESCRIPTION

5 Rekayasa Sistem. Konsep D asar Disain Berorientasi Obyek. Dedy Alamsyah , S.Kom . Tentang Mata Kuliah. Rekayasa Sistem Kredit : 3 SKS Kelas : Senin , 19.20-21.00 WIB. The Big Picture. Tidak ada Metode yang secara seratus persen mampu menjawab suatu permasalahan . - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 5 Rekayasa Sistem

5Rekayasa Sistem

Dedy Alamsyah, S.Kom.

Konsep Dasar Disain Berorientasi Obyek

Page 2: 5 Rekayasa Sistem

Tentang Mata Kuliah• Rekayasa Sistem

• Kredit: 3 SKS

• Kelas: Senin, 19.20-21.00 WIB

Page 3: 5 Rekayasa Sistem

Tidak ada Metode yang secara seratus persen mampu menjawab suatu permasalahan.

Pendekatan Berbasis Obyek saat ini menjadi metode yang banyak dipakai dalam disain Sistem Informasi.

The Big Picture

Page 4: 5 Rekayasa Sistem

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.

Page 5: 5 Rekayasa Sistem

Prinsip Dasar Membangun Analisis Model1. 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

Page 6: 5 Rekayasa Sistem

Pengenalan ObjekSeperti ditunjukkan pada Taylor Donut Diagram:

Change Address

PrintBalanceList all

Upda

teBa

lance

Change

Phone No

Change

NameCr

eate

Custo

mer

Delete

Customer

Name Jo Address Here Phone No 555 Balance $1.49

Customer

Page 7: 5 Rekayasa Sistem
Page 8: 5 Rekayasa Sistem

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.

Page 9: 5 Rekayasa Sistem

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.

Page 10: 5 Rekayasa Sistem

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).

Page 11: 5 Rekayasa Sistem

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).

Page 12: 5 Rekayasa Sistem

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.

Page 13: 5 Rekayasa Sistem

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 kelas-kelas dalam bahasa program yang spesifik, skema database, dan komponen-komponen yang diperlukan dalam sistem software.

UML (Unified Modeling Language)

Page 14: 5 Rekayasa Sistem

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.

Page 15: 5 Rekayasa Sistem

II. Pemodelan Berorientasi Objek

A. Pemodelan Sebagai Teknik DesainTeknik pemodelan objek menggunakan tiga macam model untuk menggambarkan sistem, diantaranya adalah sebagai berikut :

1. Model Objek

2. Model Dinamik

3. Model Fungsional

Page 16: 5 Rekayasa Sistem

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.

Page 17: 5 Rekayasa Sistem

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.

Page 18: 5 Rekayasa Sistem

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.

Page 19: 5 Rekayasa Sistem

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.

Page 20: 5 Rekayasa 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.

Page 21: 5 Rekayasa Sistem

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.

Page 22: 5 Rekayasa Sistem

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.

Page 23: 5 Rekayasa Sistem

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.

Page 24: 5 Rekayasa Sistem

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.

Page 25: 5 Rekayasa Sistem

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

2. Gen-Spec Structure

Page 26: 5 Rekayasa Sistem

- Atribut

Atribut menggambarkan data yang dapat memberikan informasi mengenai kelas atau objek dimana atribut tersebut berada.

Page 27: 5 Rekayasa Sistem

- 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.

Page 28: 5 Rekayasa Sistem

- 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.

Page 29: 5 Rekayasa Sistem

Metode TerstrukturKelebihan

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.

Page 30: 5 Rekayasa Sistem

Metode TerstrukturKekurangan

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 didesain untuk mendukung bahasa pemrograman terstruktur, tidak berorientasi pada obyek (Jadalowen, 2002).

Page 31: 5 Rekayasa Sistem

Metode Berorientasi ObyekKelebihan

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.

Page 32: 5 Rekayasa Sistem

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.

Page 33: 5 Rekayasa Sistem

Metode Berorientasi ObyekKekurangan

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).

Page 34: 5 Rekayasa Sistem

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.

Page 35: 5 Rekayasa Sistem

Q & A