Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Object oriented analyst and design

Presentasi serupa


Presentasi berjudul: "Object oriented analyst and design"— Transcript presentasi:

1 Object oriented analyst and design
Defri Kurniawan

2 INTRODUCTION OBJECT ORIENTED ANALYST AND DESIGN

3 What’s Object Oriented? [1]
Object Oriented Paradigm saat ini merupakan pendekatan yang populer dalam menganalisa, desain, mengembangkan aplikasi khususnya pada skala besar Object Oriented? Suatu perspektif yang melihat element-elemen yang diberikan oleh suatu situasi dengan cara memecahnya ke dalam objek-objek dan hubungannya

4 What’s is Object Oriented Development? [1]
Pandangan Tradisional program komputer: Membuat code dari eksekusi suatu form Menjalankan sebagai urutan operasi Baik sebagai pengenalan pemrograman, namun tidak untuk pengembangan sistem yang besar Pandangan Tradisional program komputer memiliki kesulitan: Perilaku (Behaviour) sulit digambarkan dalam bentuk suatu proses

5 What’s is Object Oriented Development? [1]
Pengembangan berorientasi objek memungkinkan pengembang aplikasi untuk menentukan behaviour dengan memberikan method terhadap objek yang bersangkutan

6 What’s is Object Oriented Development?
OOAD merupakan cara baru dalam memikirkan suatu masalah dengan menggunakan model yang dibuat menurut konsep sekitar dunia nyata Pada dasarnya terdiri dari 2 : OOA (Object Oriented Analysis) OOD(Object Oriented Design) Sedangkan OOP berkaitan dengan meralisasikan OOD menggunakan bahasa pemrograman OO seperti Java atau C++

7 Object Oriented Analyst Vs Design
OOA Mempelajari domain permasalahan bisnis untuk merekomendasikan perbaikan dan menentukan kebutuhan sistem untuk menyelesaikan permasalahan OOD Menentukan solusi teknis atau rancangan/computer-based dimana solusi ini berdasarkan kebutuhan sistem yang telah diidentifikasi pada proses analisis

8 Modeling A model is a simplification of reality.
Pemodelan adalah suatu cara berpikir tentang persoalan menggunakan model-model yang diorganisasikan seputar dunia nyata (real world). Why Modeling? To understand why a software system is needed, what it should do, and how it should do it. To communicate our understanding of why, what and how. To detect commonalities and differences in your perception, my perception, his perception and her perception of reality. To detect misunderstandings and miscommunications.

9 Modeling menangkap bagian penting dari sistem (James Rumbaugh)
Business Process Computer System

10 Why OOAD? Memudahkan pemanfaatan ulang code dan arsitektur
Lebih mencerminkan dunia nyata Kestabilan Perubahan kecil dalam requirement tidak berarti perubahan yang signifikan dalam sistem yang sedang dikembangkan Lebih mudah disesuaikan dengan perubahan

11 When should we use OO? Jika perangkat lunak (PL) yang dibangun cukup kompleks Jika PL yang dibangun diperkirakan akan tumbuh makin kompleks di masa mendatang Jika kita ingin membangun PL yang: Berdasar pada komponen yang telah pernah ada sebelumnya (daur ulang) Dapat dipergunakan kembali di masa mendatang (reusable) dan mungkin, kapanpun dan di manapun

12 Object oriented analyst and design concept

13 Key Concepts of Object-Oriented Design [1]
Central Role of Object The Notion of A Class Abstract specification of functionality A Language To Define The System Standard Solution An Analysis Process To Model A System The Notions Of Extendability And Adaptability

14 Key Concepts of Object-Oriented Design [1]
1. Central Role of Object Object sebagai inti dari desain perangkat lunak bukan proses Proses rentan terhadap perubahan dan sebagian sistem lama tidak dapat digunakan kembali (re-usable) 2. The Notion of A Class Kelas-kelas mengijinkan perancang software untuk melihat object sebagai jenis entitas yang berbeda Object berpusat pada struktur data dan method yang dapat dimodifikasi/disesuaikan dengan kebutuhan Melihat sebagai object memungkinkan untuk menggunakan mekanisme klasifikasi untuk mengkategorikan jenis, mendefinisikan hirarki, dan terlibat pada ide-ide spesialisasi dan generalisasi

15 Key Concepts of Object-Oriented Design [1]
3. Abstract Specification of Functionality Dalam proses perancangan kita biasanya menentukan properti-properti dari object Spesifikasi adalah abstrak bahwa hal itu tidak menempatkan pembatasan pada bagaimana fungsi tersebut tercapai. 4. A Language To Define The System Unified Modelling Language (UML) telah terpilih sebagai alat standar untuk menggambarkan produk akhir dari kegiatan desain 3. Spesifikasi ini disebut dengan interface atau kelas abstrak 4. Dokumen-dokumen yang dihasilkan dalam bahasa ini dapat dipahami secara universal dan dengan demikian dapat digunakan sebagai blueprint yang dapat digunakan oleh enginer teknik lainnya

16 Key Concepts of Object-Oriented Design [1]
5. Standard Solution Adanya struktur objek memfasilitasi mendokumentasikan standar solution, disebut pola desain / design pattern. 6. An Analysis Process To Model A System Object oriented menyediakan kita dengan cara yang sistematis untuk menerjemahkan spesifikasi fungsional ke desain konseptual 5. Standar solusi ditemukan pada semua tahap pengembangan perangkat lunak, tetapi pola desain mungkin adalah bentuk paling umum dari penggunaan kembali suatu solusi. 6. Desain ini menjelaskan ketentuan sistematis kelas konseptual dari mana langkah-langkah berikutnya dari proses pembangunan yang menghasilkan kelas implementasi yang merupakan akhir software

17 Key Concepts of Object-Oriented Design [1]
7. The Notions Of Extendability And Adaptability Software memiliki fleksibilitas yang tidak biasanya ditemukan dalam perangkat keras, memungkinkan kita untuk memodifikasi entitas yang ada dengan cara-cara kecil untuk membuat yang baru. Inheritance atau pewarisan merupakan contoh dari konsep ini.

18 Other Related Concept Tidak cukup hanya memahami konsep kunci perancangan berorientasi objek. Terdapat konsep terkait lain yang diperlukan untuk memahami object oriented: Modular design and encapsulation Cohesion and coupling

19 Modular Design And Encapsulation [1]
Modularity / modularitas mengacu pada gagasan menyusun sistem besar dengan mengembangkan sejumlah komponen yang berbeda secara independen dan kemudian mengintegrasikannya untuk menyediakan fungsionalitas yang diperlukan. Modularity ketika digunakan dengan tepat akan membuat modul individu relatif lebih sederhana dan sistem lebih mudah dipahami Setiap modul jelas harus menyediakan fungsi tertentu yang jelas ditentukan oleh sebuah Interface. Interface juga mendefinisikan bagaimana komponen lain dapat berinteraksi atau berkomunikasi dengan modul.

20 Modular Design And Encapsulation [1]
Encapsulation / enkapsulasi mengacu pada penyembunyian detail modul dari implementasinya terhadap pihak external. Mekanisme menyembunyikan suatu proses dan data dalam sistem untuk menghindari interferensi, dan menyederhanakan penggunaan proses itu sendiri Class access level (public, protected, privat) adalah implementasi dari konsep encapsulation

21 Cohesion And Coupling [1]
Salah satu konsep OOP yang cukup penting adalah low coupling dan high cohesion Coupling berhubungan dengan seberapa besar ketergantungn class dengan class yang lain Cohesion berhubungan dengan responsibility sebuah class.

22 Cohesion And Coupling [1]
Semakin spesifik (tinggi) suatu responsibility class, maka semakin rendah tingkat ketergantungannya, begitu juga sebaliknya Tujuan utama dari konsep ini adalah, fleksibilitas sebuah class, artinya class yang didesain dengan low coupling dan high cohesion, akan mudah di modifikasi

23 Contoh Responsibility pada suatu Class

24 Benefit and Drawbacks of OO Development
Benefit / Keuntungan Objek sering kali mencerminkan entitas dalam sistem aplikasi, ini yang membuat designer gampang membuat kelas Membantu meningkatkan produktivitas, karena kemampuan re-use software yang ada Lebih mudah untuk mengakomodasi perubahan, fleksibel. Contoh: meskipun ada perubahan requirement Mengurangi resiko dalam system development

25 Benefit and Drawbacks of OO Development
Drawbacks / Kerugian Pada sistem yang kompleks, dengan banyaknya objects creation dan destruction serta objek yang berinteraksi dengan cara yang kompleks, mengakibatkan poor memory access times Susahnya mempelajari dan menggunakan OO principles serta nyaman dengan konsep ini, khususnya yang belum mengenal (terpaku dengan konsep struktural)

26 Class vs object

27 Class vs Object [2] Perbedaan Class dengan Object
Sebuah class merupakan definisi abstract dari sebuah object Obyek merupakan hasil instansiasi dari class Obyek disebut juga dengan instance. Example: Class seperti cetakan kue, dimana kue yg dihasilkan dari cetakan kue itu adalah object Warna kue bisa bermacam-macam meskipun berasal dari cetakan yang sama (object memiliki sifat independen)

28 Class vs Object [2] Perbedaan Class dengan Object
Class mendefinisikan struktur dan behaviour dari masing-masing object di dalam sebuah class Class bertugas sebagai template untuk pembuatan Object Class: konsep dan deskripsi dari sesuatu Object: instance dari class, bentuk (contoh)

29 Class vs Object [2] Attribute: Topi, Baju, Jaket,
Tas Punggung, Tangan, Kaki, Mata Behavior: Cara Jalan ke Depan Cara Jalan Mundur Cara Belok ke Kiri Cara Memanjat

30 Class vs Object [2] Attribute (State): Behavior:
Ban, Stir, Pedal Rem, Pedal Gas, Warna, Tahun Produksi Behavior: Cara Menghidupkan Mesin Cara Manjalankan Mobil Cara Memundurkan Mobil Attribute  Variable(Member) Behavior  Method(Fungsi)

31 Implementation of Class
Bagian-bagian Class Diagram

32 Implementation of Class
Contoh Implementasi Code dari Class Diagram

33 Classes of Object How many classes do you see?

34 Attribute Variable yang mengitari class, dengan nilai datanya bisa ditentukan di object Variable digunakan untuk menyimpan nilai yang nantinya akan digunakan pada program Variable memiliki jenis (tipe), nama dan nilai Name & age adalah atribute (variabel) dari class Person

35 Method Method merupakan hal-hal yang bisa dilakukan oleh obyek dari suatu class Method biasa dikaitkan dengan Behaviour / Perilaku Yang bisa dilakukan oleh method – Merubah nilai atribut suatu obyek – Menerima informasi dari obyek lain – Mengirim informasi ke obyek lain untuk melakukan sesuatu

36 Class = Method + Variable
Object-Oriented Programming Class = Method + Variable Class Sepeda gir kecepatan variable tampilkan kecepatan ubah gir method

37 Object = Method + Variable yg Memiliki Nilai
Object-Oriented Programming Object = Method + Variable yg Memiliki Nilai Object Sepedaku gir = 3 instance variable kecepatan = 10km/jam tampilkan kecepatan () kecepatan = 10 km/jam instance method ubah gir (2) gir = 5

38 Example Employee Class And Object

39 TERIMA KASIH


Download ppt "Object oriented analyst and design"

Presentasi serupa


Iklan oleh Google