Introduction Object Oriented Analysis & Design. Chapter I

dokumen-dokumen yang mirip
Teknik Informatika S1

INTRODUCTION OBJECT ORIENTED ANALYSIS & DESIGN

Object Oriented Analysis and Design -Pendahuluan- Nisa ul Hafidhoh

Teknik Informatika S1

PertemuanI. Object Oriented

Paradigma Pemrograman Berorientasi Objek

DESIGN SYSTEM WITH UML

Pemograman Berorientasi Objek

Pengantar Analisis dan Desain Berbasis Obyek. Object Oriented Analysis and Design

Pengantar Analisis dan Desain Berbasis Obyek (Object Oriented Analysis and Design)

ANALYSIS MODELING CHAPTER 6

Oleh : RAHMADY LIYANTANTO

Pengenalan Obyek. Arna Fariza. Materi

PERANCANGAN BERORIENTASI OBJEK

MEMAHAMI PENGGUNAAN UML

BAB III METODOLOGI PENELITIAN

BAB II LANDASAN TEORI. Definisi sistem menurut Jogiyanto HM (1995 : 5) adalah sebagai berikut :

Bahasa Pemograman II. Object Oriented Programming

1. Analisis Desain 2. UML Sebagai Tools OOA

Unified Modelling Language (UML)

Object Oriented Analaysis Object Oriented Design

METODOLOGI BERORIENTASI OBJEK IIM ABDURROHIM, S.T.,M.T

Konsep Pemrograman Berorientasi Obyek

Konsep Pemrograman Berorientasi Obyek. Maria Ulfah S Nurochman

DASAR REKAYASA PERANGKAT LUNAK

Pemrograman Berorientasi Obyek. Ramos Somya

Adam Hendra Brata Teknik Informatika FILKOM UB Semester Genap 2015/2016

Konsep Pemrograman Berorientasi Obyek. Pertemuan 1

PERANCANGAN BERORIENTASI OBJEK

Konsep Pemrograman Berorientasi Obyek

BAB III PERANCANGAN PROGRAM

BAB 2 LANDASAN TEORI

Object Oriented Programming 1

Pemrograman Berorientasi Obyek. Konsep OOP

Pemrograman Web Berbasis Framework. Pertemuan 2 : OOP Dalam Pemrograman Web. Hasanuddin, S.T., M.Cs. Prodi Teknik Informatika UAD

Rahmady Liyantanto Blog : liyantanto.wordpress.com

Kebutuhan dan Spesifikasi Perangkat Lunak

OBJECT ORIENTED PROGRAMMING

Object Oriented Programming LOGO

VISUAL BASIC Pengenalan VB NET

MAKALAH ANALISIS & PERANCANGAN SISTEM II USE CASE DIAGRAM

Jawaban Tugas Akhir Matrikulasi Semester Ganjil 2009/2010

Konsep Pemrograman Berbasis Obyek

BAB II LANDASAN TEORI

BAB III METODOLOGI PENELITIAN

PENGANTAR RUP & UML. Pertemuan 2

PENDAHULUAN. A. Berorientasi Objek. 1. Karakteristik dari Objek

Analisa Desain Berorientasi Objek. Model dan Pemodelan. Oleh : Rahmady Liyantanto. Teknik Informatika Fakultas Teknik Universitas Trunojoyo 2011

REKAYASA PERANGKAT LUNAK. 3 sks Sri Rezeki Candra Nursari reezeki2011.wordpress.com

Pemodelan Sistem Perangkat Lunak. Andronicus Riyono, M.T. Universitas Kristen Duta Wacana

KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP) Pemrograman berorientasi Objek mempunyai karakterisitik sebagai berikut:

Pemrograman Lanjut. Class dan Object. Aryo Pinandito, ST, M.MT Team Teaching Pemrograman Lanjut

Disain System Berorientasi Objek (Unified Modeling Language) ( Studi Kasus : Sistem Informasi Manajemen Perpustakaan )

1. Penggunaan Pemodelan

Object OOP. Polymor phism

PEMROGRAMAN JAVA. Yoannita. Konsep Pemrograman Berorientasi Objek. Company LOGO

Pemrograman Lanjut Class and Object PTIIK

BAB II LANDASAN TEORI

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

Analysis Modeling 4/10/2018. Focus on What not How. Kenapa Analisis Kebutuhan. Definisi Analisis Kebutuhan. Langkah-Langkah Analisis Kebutuhan

UML UNIFIED MODELLING LANGUAGE

Tujuan 04/07/ :01

BAB II LANDASAN TEORI. Sistem Pendukung Keputusan (SPK) merupakan sistem informasi

Pendahuluan Rekayasa Perangkat Lunak II. Alif Finandhita. Teknik Informatika UNIKOM

Teknik Informatika S1

Pemrograman Web. Pemrograman Berorientasi Objek. Adam Hendra Brata

OOAD (Object Oriented Analysis and Design) UML part 2 (Activity diagram, Class diagram, Sequence diagram)

Unified Modelling Language UML

TESTING DAN IMPLEMENTASI SISTEM. WAHYU PRATAMA, S.Kom., MMSI.

BAB II. 2.1 Model Data High Level Data Model (Conceptual Data Model)

Review Rekayasa Perangkat Lunak. Nisa ul Hafidhoh

PERTEMUAN 11 KONSEP PEMROGRAMAN BERORIENTASI OBJEK

P10 Perancangan Berbasis Object. SQ

SESI PERTAMA. 1.1 UML sebagai standarisasi. 1.2 UML, asal usul INFORMATION SYSTEM DESIGN USING UML YUDHO

Review Bahasa Pemrograman Java Konsep OOP N I K O I B R A H I M, M I T F A K U L T A S T E K N O L O G I I N F O R M A S I

REKAYASA PERANGKAT LUNAK II

PERTEMUAN 13 PERANCANGAN BERORIENTASI OBJEK UNTUK MULTI KELAS

Perancangan Analisis dan Database Sistem

Sistem Informasi OOAD dengan UML (1) Teknik Informatika UNIKOM

DEVAL GUSRION, S.KOM, M.KOM MATAKULIAH BAHASA PEMOGRAMAN JAVA LANJUTAN III

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

RENCANA PEMBELAJARAN SEMESTER (RPS)

ANALISA & PERANCANGAN SISTEM INFORMASI. Sufajar Butsianto, M.Kom

Rekayasa Perangkat Lunak (Software Engineering)

P10 Konsep & Prinsip Desain. A. Sidiq P.

DAFTAR ISI HALAMAN JUDUL HALAMAN PENGESAHAN KATA PENGANTAR DAFTAR ISI DAFTAR GAMBAR DAFTAR TABEL ABSTRAK BAB I PENDAHULUAN

DASAR PEMROGRAMAN. Konsep Pemrograman Berorientasi Objek. Yoannita

Pemrograman Berorientasi

BAB III METODOLOGI PENELITIAN

PRAKTIKUM OBJECT ORIENTED PROGRAMING

KONSEP Pemrograman Berorientasi Objek KARMILASARI

OOAD (Object Oriented Analysis and Design) UML part 1 (Usecase) Gentisya Tri Mardiani, S.Kom., M.Kom ADSI-2015

Modul 9. Memahami dan menerapkan ERD (Entity Relationship Diagram) dan Normalisasi. Memahami Diagram EER (Enhanced Entity Relatioship Diagram)

BAB II DASAR TEORI Pengertian Framework

Pemodelan Berorientasi Objek

Oleh : Rahmady Liyantanto

Pemrograman Lanjut. Class and Object

DAFTAR ISTILAH. Activity Diagram

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

BAB 1 PENGENALAN PEMROGRAMAN BERORIENTASI OBJEK

Transkripsi:

Introduction Object Oriented Analysis & Design Chapter I

Content Perkembangan Metode Analisa dan Desain What s object oriented? What s is Object Oriented Development? Perbedaan Analisa dan Desain OO Mengapa & Kapan Menggunakan OO Konsep Kunci Perancangan Berorientasi Object Berorientasi Object (Object, Class, Attribute, Method) Perbedaaan Object dan Class Benefit and Drawbacks of OO Development

Pendahuluan Why Software Engineering??? Ingin mengembangkan produk (software) berkualitas Segala Aspek kehidupan dikendalikan oleh perangkat lunak Banyak pengusaha dunia sukses di bidang Software Engineering Usia Bidang kajian Software Engineering masih muda & terus berkembang 3 4/17/2015

Pendahuluan Faktor Utama Kegagalan Perangkat Lunak Kebutuhan kustomer tidak bisa dipahami dan ditangkap dengan tepat Kebutuhan kustomer sering mengalami perubahan Kustomer tidak bisa bekerja sama dengan pengembang Pengembang kurang memiliki kecakapan dalam menjalankan tugas Sistem yang dikembangkan tidak terlalu banyak memberikan manfaat kepada kustomer

Pemodelan dan kenapa? A model is a simplification of reality. Pemodelan adalah suatu cara berpikir tentang persoalan menggunakan model-model yang diorganisasikan seputar dunia nyata 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.

Perkembangan Metode Analisis dan Desain (Pemodelan) Metode Terstruktur Metode Berorientasi Objek (Object Oriented)

Metode Terstruktur Berfokus pada aliran data Memperlihatkan bagaimana objek-objek data melakukan transformasi saat mereka mengalir di dalam sistem yang dikembangkan Menggunakan Diagram: Data Flow Diagram Entity Relationship Diagram

What s object oriented? 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

What s is Object Oriented Development? OOAD adalah metode analisis yang memeriksa requirements dari sudut pandang kelas-kelas dan objek yang ditemui dalam ruang lingkup permasalahan OOAD merupakan cara baru dalam memikirkan suatu masalah dengan menggunakan model yang dibuat menurut konsep sekitar dunia nyata (real world) Pada dasarnya terdiri dari 2: OOA (Object Oriented Analysis) OOD(Object Oriented Design)

What s is Object Oriented Development? OOA Mempelajari domain permasalahan bisnis dengan memberikan rekomendasi perbaikan sistem berdasarkan kebutuhan dalam menyelesaikan masalah OOD Menentukan solusi teknis atau rancangan / computer-based berdasarkan yang telah diidentifikasi pada proses analisis OOP is concerned with realising an OOD using an OO programming language such as Java or C++

What s is Object Oriented Development? Pemrograman Masa Lampau Pandangan lampau pemrograman komputer: Membuat code dari eksekusi suatu form Menjalankan sebagai urutan operasi Baik sebagai pengenalan pemrograman, namun tidak untuk pengembangan sistem yang besar

What s is Object Oriented Development? Pemrograman Masa Lampau Pengembangan pendekatan berorientasi proses menggunakan top-down functional decomposition Mendekomposisi / memecah fungsi-fungsi dari atas ke bawah Cara terbaik untuk memperkenalkan gagasan pemrograman untuk pemula, tetapi sistem menjadi lebih kompleks dan tidak efektif

What s is Object Oriented Development? Filosofi Object Oriented Adalah untuk mendefinisikan sebuah sistem perangkat lunak sebagai kumpulan objek dengan berbagai jenis yang berinteraksi satu sama lain melalui antarmuka yang terdefinisi dengan baik Pengembangan Object Oriented Pengembangan berorientasi objek memungkinkan pengembang aplikasi untuk menentukan behaviour atau memberikan method terhadap objek yang bersangkutan

Perbedaan Analisa dan Desain OO Analisa Fokus pada pemahaman masalah Functional requirement Small model Desain Fokus pada pemahaman solusi Non-functional requirement Large model

Mengapa OOAD? Memudahkan pemanfaatan ulang code dan arsitektur Lebih mencerminkan dunia nyata lebih tepat dalam menggambarkan entitas, dekomposisi berdasarkan pembagian yang natural, lebih mudah untuk dipahami dan dirawat Kestabilan perubahan kecil dalam requirement tidak berarti perubahan yang signifikan dalam sistem yang sedang dikembangkan Lebih mudah disesuaikan dengan perubahan (Adaptif)

Kapan kita menggunakan 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 dapat dipergunakan kembali di masa mendatang (reusable)

Konsep Kunci Perancangan Berorientasi Object 1. Menggunakan Object sebagai peran sentral, bukan proses 2. Menggunakan gagasan kelas 3. Satu bahasa untuk mendefinisikan sistem (UML) 4. Kemampuan beradaptasi dan perluasan (extend)

Konsep Kunci Perancangan Berorientasi Object 1. Peran Sentral dari Object (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) Object berpusat pada struktur data dan method yang dapat dimodifikasi/disesuaikan dengan kebutuhan

Konsep Kunci Perancangan Berorientasi Object 2. Gagasan Kelas / the notion of a class Kelas-kelas mengijinkan perancang software untuk melihat object sebagai jenis entitas yang berbeda Melihat sebagai object memungkinkan untuk menggunakan mekanisme klasifikasi untuk mengkategorikan jenis, mendefinisikan hirarki, dan terlibat pada ide-ide spesialisasi dan generalisasi

Konsep Kunci Perancangan Berorientasi Object 3. Suatu bahasa untuk mendefinisikan sistem / a language to define the system Unified Modelling Language (UML) telah terpilih sebagai alat standar untuk menggambarkan produk akhir dari kegiatan desain Dokumen-dokumen yang dihasilkan dalam bahasa ini dapat dipahami secara universal, dengan demikian dapat digunakan sebagai blueprint oleh enginer teknik lainnya

Konsep Kunci Perancangan Berorientasi Object 4. Extendability dan kemampuan beradaptasi / The notions of extendability and adaptability Software memiliki fleksibilitas yang tidak biasanya ditemukan dalam perangkat keras dan ini memungkinkan kita untuk memodifikasi entitas yang ada Inheritance: memungkinkan menciptakan kelas baru dari keturunan kelas yang ada (parent)

Berorientasi Objek? Attribute: Topi, Baju, Jaket, Tas Punggung, Tangan, Kaki, Mata Behavior: Cara Jalan ke Depan Cara Jalan Mundur Cara Belok ke Kiri Cara Memanjat

Berorientasi Objek? Attribute (State): 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)

Object Sebuah object adalah representasi dari sebuah entitas, baik fisik, konseptual maupun software Obyek memiliki status (state) dan tingkah laku (behavior), Status (state) disebut juga dengan atribut Pada OOP : status disimpan dalam variabel, dan tingkah laku disimpan dalam method

Object Example of object: Physical entity Truck Conceptual entity Chemical Process Software entity Linked List

Class Sebuah Class merupakan definisi abstract dari sebuah object Class mendefinisikan struktur dan behaviour dari masingmasing object di dalam sebuah class Class bertugas sebagai template untuk pembuatan obyek Jadi obyek merupakan hasil instansiasi dari class Obyek disebut juga dengan instance

Contoh employee class dan object

Perbedaan Class dan Object Class: konsep dan deskripsi dari sesuatu Class mendeklarasikan method yang dapat digunakan (dipanggil) oleh object Object: instance dari class, bentuk (contoh) nyata dari class Object memiliki sifat independen dan dapat digunakan untuk memanggil method Contoh Class dan Object: Class: mobil Object: mobilnya pak Joko, mobilku, mobil berwarna merah

Perbedaan Class dan Object 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)

Classes of Object How many classes do you see?

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, dan weight adalah atribute (variabel) dari class Person

Method Method merupakan hal-hal yang bisa dilakukan oleh obyek dari suatu class Yang bisa dilakukan oleh method : Merubah nilai atribut suatu obyek Menerima informasi dari obyek lain Mengirim informasi ke obyek lain untuk melakukan sesuatu

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

Benefit and Drawbacks of OO Development Drawbacks/Kerugian Pada sistem yang kompleks, dengan banyaknya objek yang diciptakan serta objek-objek yang berinteraksi dengan cara yang kompleks, mengakibatkan poor memory access times Susahnya mempelajari dan menggunakan konsep OO khususnya yang masih terpaku dengan konsep struktural

Karakteritik Metodologi Berorientasi Objek Pembungkusan (Encapsulation) Pewarisan (Inheritance) Banyak Bentuk (Polymorphism)

Pembungkusan (Encapsulation) Menyembunyikan detail dari sebuah objek Enkapsulasi adalah menyembunyikan kompleksitas dari luar dan hanya membuka operasi-operasi yg diperlukan saja terhadap obyek-obyek lain Abstraction dan encapsulation saling berkomplemen: Abstraction fokus pada sudut pandang dari luar Encapsulation membatasi client dari melihat isi dari dalam sebuah object

Contoh

Contoh Encapsulation pada perbankan Informasi/properties objek rekening : No rekening, Nama, alamat dll Perilaku/method objek rekening : buka, tutup, penarikan, penyimpanan, ubah nama, ubah alamat dll Kita bungkus/encapsulate informasi dan perilaku tersebut pada objek rekening Sehingga perubahan-perubahan pada sistem perbankan yang berkaitan dengan rekening diimplementasikan sederhana pada objek rekening

Pewarisan (Inharitance) Mekanisme untuk menurunkan/mewariskan atribut (data) dan operasi (behavior) dari sebuah klas ke klas yang lain Klas induk/dasar (super class) Klas turunan (derived class/sub-class) Atribut dan operasi dari klas induk menjadi bagian/anggota dari klas turunan Klas turunan bisa memiliki atribut dan operasi yang tidak ada pada klas induk klas turunan sebagai perluasan (extension)

Contoh Pewarisan

Contoh Pewarisan

Banyak Bentuk (Polymorphism) Polimorfisme yaitu konsep yang menyatakan bahwa sesuatu yang sama dapat mempunyai bentuk dan perilaku berbeda Polimorfisme mempunyai arti bahwa operasi yang sama mungkin mempunyai perbedaan dalam kelas yang berbeda. Kemampuan objek-objek yang berbeda untuk melakukan metode yang pantas dalam merespon message yang sama. Seleksi dari metode yang sesuai bergantung pada kelas yang seharusnya menciptakan Objek.

Contoh polymorphism

How to do OOAD? Using notation UML(Unified Modeling Language) Unified Modeling Language (UML) adalah keluarga notasi grafis yang didukung oleh meta-model tunggal, yang membantu pendeskripsian dan desain sistem perangkat lunak, khususnya sistem yang dibangun menggunakan pemrograman berorientasi objek (OO) UML adalah bahasa pemodelan yang dapat dikembangkan lebih lanjut kedalam suatu bahasa program dengan menggunakan code generator sehingga berpeluanga menjadi dasar pengembangan suatu Case tools pengembangan sistem.

Thanks & See You Next Chapter