4. OBJECT ORIENTED SOFTWARE ENGINEERING

dokumen-dokumen yang mirip
BAB I PENDAHULUAN. Pembangunan ekonomi sangat penting dalam menunjang pembangunan

Object-Oriented Design

PENGUJIAN BERORIENTASI OBJEK

Object Oriented Analysis (OOA) dan Object Oriented Design (OOD)

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

Metode Coad -Yourdon

PERANCANGAN BERORIENTASI OBJEK

1. Penggunaan Pemodelan

RANCANGAN APLIKASI LATIHAN BELAJAR TENSES DENGAN METODE OBJECT ORIENTED DESIGN

BAB III METODOLOGI PENELITIAN. dalam pengumpulan data atau informasi guna memecahkan permasalahan dan

13. KONSEP DAN PRINSIP PERANCANGAN (DESAIN)

Nama : Rendi Setiawan Nim :

Review Rekayasa Perangkat Lunak. Nisa ul Hafidhoh

Teknik Informatika S1

PENGANTAR RUP & UML. Pertemuan 2

BAB 2 LANDASAN TEORI

BAB III METODE PENELITIAN. Gambar 3.1 Desain Penelitian

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

Sistem Informasi OOAD dengan UML (1) Teknik Informatika UNIKOM

Pengujian Perangkat Lunak Berorientasi Objek. Tim RPL Teknik Informatika

Teknik Informatika S1

PERANCANGAN BERORIENTASI OBJEK

Pemrograman Web Berbasis Framework. Pertemuan 13 : Pengembangan Project (Bag. 1) Hasanuddin, S.T., M.Cs. Prodi Teknik Informatika UAD

BAB 2 LANDASAN TEORI. Teori-teori yang menjadi dasar penulisan adalah sebagai berikut :

P10 Konsep & Prinsip Desain. A. Sidiq P.

MEMAHAMI PENGGUNAAN UML

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

MAKALAH DESAIN PERANGKAT LUNAK. NAMA : RANI JUITA NIM : DOSEN : WACHYU HARI HAJI. S.Kom.MM

Tugas Rekayasa Perangkat Lunak

Kebutuhan dan Spesifikasi Perangkat Lunak

PertemuanI. Object Oriented

Unified Modelling Language UML

Object OrientedProgramming

REKAYASA PERANGKAT LUNAK II

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

BAB III ANALISIS DAN PERANCANGAN SISTEM

Class. Object. Object Oriented Programming (OOP) Object Oriented Programming (OOP)

Pengenalan Pemrograman

12. KONSEP DAN PRINSIP ANALISIS

Ratna Wardani. Department of Electronic Engineering Yogyakarta State University

14. PENGUJIAN PERANGKAT LUNAK Dasar-dasar Pengujian 14.2 Teknik Pengujian 14.3 Strategi Pengujian dan V&V

Chapter 8 Pengapsulan Peng

BAB III METODOLOGI PENELITIAN

THE SOFTWARE PROCESS

III. METODE KONVENS IONAL 11. REKAYASA SISTEM BERBASIS KOMPUTER

MODUL 5 PEMROGRAMAN VISUAL BASIC.NET DENGAN OOP (I)

BAHASA PEMROGRAMAN. Merupakan prosedur/tata cara penulisan program.

BAB 2 LANDASAN TEORI. bersama-sama untuk mencapai tujuan tertentu. bersatu untuk mencapai tujuan yang sama.

Latihan Soal. Teknik Pemrograman

BAB III OBJEK DAN METODE PENELITIAN. tempat sanggar seni mayang sari di bandung dimana terletak di jalan Moch Toha

Mengenal Object Oriented Programming (OOP)

PRINSIP DAN KONSEP DESAIN

BAB 4 Pendekatan-Pendekatan Pengembangan Sistem

Oleh : Rahmady Liyantanto

BERORIENTASI OBYEK. Algorithms + Data Structures = Programs. Persamaan itu menyatakan bahwa program perangkat lunak adalah :

BAB III OBJEK DAN METODE PENELITIAN. Penulis bermaksud untuk melakukan penelitian yang dilakukan di Sabilla

Perancangan Kasus Pengujian

BAB III OBJEK DAN METODOLOGI PENELITIAN. sesuai dengan pendapat Sugiyono (2003:58) mendefinisikan bahwa:

Konsep Pemrograman Berorientasi Obyek. Maria Ulfah S Nurochman

BAB III OBJEK DAN METODE PENELITIAN. Universitas Padjadjaran yang beralamat di Jl. Ir H. Djuanda No 4 Bandung.

PRAKTIKUM REKAYASA PERANGKAT LUNAK MODUL KE - 2 PENGENALAN UML dengan RATIONAL ROSE OLEH: ANISA ISTIQOMAH (KELAS 5 B)

PEMODELAN ANALISIS. Di Susun Oleh : Linda Liana Dosen Pengampu : Wahyu Hari Haji M.Kom

Pendekatan-Pendekatan Pengembangan Sistem Hanif Al Fatta M.kom

Testing dan Implementasi Sistem Informasi

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

REKAYASA PERANGKAT LUNAK MATERI TM 10

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

PERTEMUAN 11 KONSEP PEMROGRAMAN BERORIENTASI OBJEK

DESAIN TEST CASE. Tugas ke 11 Rekayasa Perangkat Lunak

PENGEMBANGAN PERANGKAT LUNAK

DASAR REKAYASA PERANGKAT LUNAK

BAB II TINJAUAN PUSTAKA

Software Design. Konsep dan Prinsip Desain Struktur Desain. Mira/Rpl/Design

Pengenalan Obyek. Arna Fariza. Materi

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

Pertemuan 9 PRINSIP DAN KONSEP DESAIN

Bahasa Pemrograman I VB.Net. Oleh: Erik Perdana Ibrahim, S.Kom 2011

MAKALAH ANALISIS & PERANCANGAN SISTEM II USE CASE DIAGRAM

Object Oriented Analaysis Object Oriented Design

BAB II TINJAUAN PUSTAKA. permintaan pengguna dengan tujuan tertentu. Jenis program ini mempunyai sifat

Tujuan 04/07/ :01

Meeting 3_ADS. System Development Life Cycle (SDLC)

Metodologi pengembangan sistem METODOLOGI PENGEMBANGAN SISTEM INFORMASI DIAN PALUPI RINI, M.KOM 1

Object Oriented Programming 1

Object Oriented Analysis and Design -Pendahuluan- Nisa ul Hafidhoh

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI

Ratna Wardani. Department of Electronic Engineering Yogyakarta State University

BAB III METODOLOGI PENELITIAN

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

BAB II LANDASAN TEORI

BAB III OBJEK DAN METODE PENELITIAN. domain & Web Hosting. Untuk lebih jelas mengenai gambaran umum perusahaan,

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

Rekayasa Perangkat Lunak (Software Engineering)

Yuli Purwati, M.Kom USE CASE DIAGRAM

BAB II LANDASAN TEORI

BAB I PENGEMBANGAN SISTEM

BAB II LANDASAN TEORI

Pengujian Berorientasi Obyek

PENGEMBANGAN PERANGKAT LUNAK. Karmilasari

Transkripsi:

4. OBJECT ORIENTED SOFTWARE ENGINEERING 15. OBJECT ORIENTED ANALYSIS, DESIGN, PROGRAMMING, AND TESTING 15.1 Paradigma Berorientasi Objek 15.2 Pendekatan Konvensional vs OO 15.3 Object Oriented Analysis 15.4 Object Oriented Design 15.5 Object Oriented Programming 15.6 Object Oriented Testing

15.1 Paradigma Berorientasi Objek 2. Paradigma berbasis data, proses, dan objek Perbedaan utama paradigma berorientasi objek dibandingkan konvensional adalah pada penyatuan proses / fungsi dan data ke dalam bentuk yang terenkapsulasi, sedangkan paradigma konvensional memisahkan data dengan proses. 5. Data, Attribut, Encapsulation, Method, Event Data (sekumpulan atribut) di-enkapsulasi (dikemas / dibungkus) bersama algoritma (operasi / metode / servis) untuk melakukan suatu proses berdasarkan pesan (stimulan / message / event) yang masuk ke objek. Pesan ini mrpk sarana interface antar-objek.

3. Object, Class, Hierarchy, Inheritance Objek-objek mrpk realitas yang unik shg tidak efisien bila dideskripsikan satu persatu sementara mereka memiliki beberapa kesamaan. Misal kerbau dengan sapi adalah dua objek yang berbeda, ttp keduanya adalah pemakan rumput. Oleh sebab itu diciptakan kelas yang memuat karakteristik yang sama dari kerbau dan sapi. Dg dmk kelas ini dapat menginformasikan berbagai binatang pemakan rumput (ttp tidak bisa menyebutkan binatang-binatang di kebun binatang). Kelas ini dengan mudah dikembangkan untuk merekrut objek / binatang2 lain pemakan rumput secara efisien tanpa mengulang-ulang deskripsi yang sama. Bahkan dapat dibuat hirarkhinya sebagai superkelas atau subkelas yang masing-masing memiliki warisan (inheritance) dari kelas di atasnya.

4. Polymorphism Polymorphism diperlukan guna memperluas sistem OO yang ada secara efisien, yakni dengan nama yang sama ttp operasinya berbeda. Misal untuk operasi penggambaran grafik yang berbeda-beda desainnya tetap sama : graphtype draw Hal dimungkinkan karena setiap objek memiliki operasi draw-nya sendiri.

15.2 Pendekatan Konvensional vs OO Perbedaan pendekatan konvensional dan OO tidak dikotomis sebagai dua kutub yang berseberangan atau berlawanan atau berbeda total. Keduanya memiliki beberapa dimensi pemodelan yang sama, bahkan dalam Bridge System Development Methodology keduanya dapat berfungsi secara sinergis maupun komplementer. Perbedaan yang menyolok terletak pada dimensi Dekomposisi Top-down dan Urutan Pemrosesan End-toend yang selalu hadir dalam analisis terstruktur tetapi jarang ada pada OOA. Keseluruhan dimensi tsb sbb.

15.2.1 Dimensi pemodelan 1. Identifikasi / klasifikasi entitas 2. Umum ke spesifik dan keseluruhan ke hub entitas bagian 3. Hubungan dg entitas lain 4. Gambaran atribut entitas 5. Partisi model skala besar 6. Keadaan dan transisi antarkeadaan 7. Spesifikasi detil untuk fungsi 8. Dekomposisi top-down 9. Urutan pemrosesan end-to-end 10.Identifikasi pelayanan eksklusif 11.Komunikasi entitas (melalui pesan)

15.2.2 OO Process Model Component Assembly Process Model (Bab 3) dpt digunakan untuk menggambarkan OO Process Model (OO Analysis, OO Design, OO Programming, OO Testing) dg memperlakukan komponen sbg objek sbb. identify candidate classes look up classes in library construct n- th iteration of system extract classes if available put new classes in library build classes if unavailable Engineering, engineering contruction & release entry point risk analysis customer evaluation Customer communication planning

15.3 Object Oriented Analysis 15.3.1 Identifikasi Kelas dan Objek Proses ini diawali dengan menguji problem statement (rumusan masalah) atau dengan penguraian gramatikal pada narasi pemrosesan pada sistem yang akan dikembangkan. Objek ditentukan dengan menggarisbawahi kata benda atau klausa benda serta memasukkannya pada tabel untuk dianalisis. Objek dapat berupa : 5. Entitas eksternal (mis sistem lain, perangkat, manusia) yang menggunakan atau menghasilkan informasi. 6. Hal / benda (mis laporan, tampilan, sinyal) yang mrpk bag domain informasi. 7. Kejadian / event (mis transfer properti atau pelengkapan serial gerakan robot) yang terjadi dalam konteks operasi sistem. 8. Peran (mis manajer, perekayasa, penjual) yang dilakukan oleh orang yang berinteraksi dg sistem. 9. Unit-unit organisasi (mis divisi, kelompok, tim) 10. Tempat (mis manufacturing floor, loading dock) yang membangun konteks masalah dan keseluruhan fungsi sistem. 11. Struktur (mis kendaraan roda empat atau komputer) yang menentukan kelas dari objek, atau scr ekstrim kelas objek yang sesuai.

a. Contoh identifikasi objek pd PL Safehome Objek / Kelas Potensial Pemilik rumah Sensor Kontrol panel Instalasi Sistem (sistem keamanan) Nomor, tipe Master password Nomor telpon Event sensor Alarm audible Monitoring service Klasifikasi Peran / entitas eksternal Entitas eksternal Entitas eksternal Kejadian Benda Bukan objek ttp atribut sensor Benda Benda Kejadian Entitas eksternal Unit organisasi / Entitas eksternal

b. Karakteristik pengujian objek 1. Informasi yang disimpan : bila informasi mengenai objek hrs diingat 2. Pelayanan yang diperlukan : objek hrs memiliki serangkaian operasi untuk mengubah nilai atribut 3. Atribut bertingkat : fokus harus berupa informasi mayor, bukan objek dengan atribut tunggal 4. Atribut umum : serangkaian atribut dapat didefinisikan untuk objek tsb 5. Operasi umum : serangkaian operasi dapat diterapkan pada objek tsb dan sesuai dg kejadian objek 6. Persyaratan dasar : berupa entitas eksternal yang menghasilkan atau mengkonsumsi informasi.

c. Hasil Identifikasi Objek / Kelas Potensial Pemilik rumah Sensor Kontrol panel Instalasi Sistem (sistem keamanan) Nomor, tipe Master password Nomor telpon Event sensor Alarm audible Monitoring service Hasil Ditolak : nomor 1,2 gagal sekalipun nomor 6 OK Diterima : semua diterapkan Diterima : semua diterapkan Ditolak Diterima : semua diterapkan Ditolak : 3 gagal, atribut sensor Ditolak : 3 gagal Ditolak : 3 gagal Diterima : semua diterapkan Diterima :2,3,4,5,6 diterapkan Ditolak : 1,2 gagal bahkan sekalipun 6 diterapkan

15.3.2 Pemodelan kelas 1. Tipe dan Karakteristik Kelas Tipe Kelas Device Class : sensor, motor, keyboard, dsb. Property Class : rating kredit, gaji pokok, dsb. Interaction Class : memodelkan interaksi antarobjek, mis pembelian, peminjaman, dsb. Karakteristik Kelas Tangibility : kenampakan fisik atau abstrak Inclusiveness: atomic atau agregat (ada objek bersarang) Sequentiality: konkaren (ada urutan kontrol sendiri) atau sekuensial (kontrol luar). Persistence : transient (timbul / tenggelam saat operasi), temporer (timbul selama operasi dan mati saat operasi berakhir), permanen ( basis data). Integrity : mengijinkan korupsi (tidak melindungi sumber dayanya dari pengaruh luar) atau melindungi sumber daya (melalui kontrol).

2. CRC Model Guna memudahkan identifikasi kelas/ objek dan hub dapat digunakan Class Responsibility Collaborator Model (CRC Model). Responsibility menunjukkan atribut dan operasi yang dilakukan kelas, Collaborator adalah kelas kelas yang diperlukan untuk menyelesaikan responsibility, melalui permintaan informasi / aksi. Nama Kelas : Tipe Kelas : (mis perangkat, properti, peran, event, dsb) Karakteristik Kelas : (mis tangible, atomik, temporer, dsb) Tanggung Jawab Kelas-kelas Kolaborator

15.3.3 Metode OOA Banyak metode yang dikembangkan untuk OOA seperti Booch, Coad dan Yourdon, Jacobson, Rambaugh, Wirfs Brock. Outline dari metode Booch sbb. 1. Identifikasi kelas dan objek 2. Identifikasi semantik (tanggung jawab, operasi, dan kolaborasi) dari kelas dan objek 3. Identifikasi hub (ketergantungan) antar-kelas (atau objek) 4. Penyaringan (hirarkhi dan pengklasteran kelas) 5. Implementasi kelas dan objek

15.4 Object Oriented Design OOD memiliki kemampuan lebih dibanding metode konvensional dalam menerapkan 4 konsep desain PL seperti abstraksi, information hiding, independensi fungsional, dan modularitas. OOD mengaplikasikan desain data (bila ada atribut), desain interface (bila ada proses pemesanan), dan desain operasional. OOD membentuk modulmodul yang lebih nyata. Dibandingkan dg pendekatan konvensional arsitektur OOD tidak memperlihatkan hirarkhi kontrol ttp kolaborasi antarobjek dengan aliran kontrol.

15.4.1 Translasi Model OOA ke Model OOD Attributes CRC Index Cards Object Relationship Model Collaborators Desain Tg Jawab Use Cases Object Behaviour Model Desain Pesan Desain Kelas & Objek Operations Desain Subsistem The Analysis Model The Design Model

15.4.1 Translasi Model OOA ke Model OOD (lanj) Analysis Model Classes Attributes Methods Relationship Behaviour Design Model Objects Data Structures Algorithms Messaging Control

15.4.2 Metode OOD 15.4.2 Metode OOD Seperti metode OOA banyak peneliti memberikan gagasannya. Berikut ini OOD menurut Booch : Perencanaan Arsitektur : pengklasteran, pelapisan objek sesuai tingkat abstraksi, identifikasi skenario proses, validasi prototype desain. Desain Taktis : penentuan aturan penggunaan operasi dan atribut, dan aturan manajemen, penanganan kesalahan, dan fungsi infrastruktur lainnya; pengembangan skenario dan prototype; serta pengkajian. Perencanaan Rilis : pengumpulan skenario yang dikembangkan selama OOA, perancangan dan pembangunan rilis arsitektur scr inkremental, penyesuaian tujuan dan jadwal rilis inkremental sesuai kebutuhan.

15.5 Object Oriented Programming OOP memperluas model desain ke dalam domain yang dapat dieksekusi mesin. Kelas, atribut, operasi, dan pesan diterjemahkan dalam bentuk machine executable. Pada prinsipnya alat penterjemah (bahasa pemrograman) apapun dapat digunakan, yang membedakan adalah tingkat kesulitan yang akan dihadapi pemrogram. Setiap bahasa pemrograman memiliki sintaks, semantik, tatabahasa, dan pustaka komponen-komponen yang dapat memudahkan pemrogram dalam menyusun perintah-perintah untuk mesin. Bahasa C++ merupakan salah satu alat yang disediakan untuk OOP, selain kompatibilitasnya dengan versi sebelumnya yang disediakan untuk pemrograman prosedural. ADA, Smalltalk, Basic, Pascal dan beberapa bahasa lain juga kini disediakan untuk OOP. Faktor penentu berada di tangan perekayasa khususnya pemrogram sehubungan dengan penggunaan bahasa tersebut sesuai dengan prinsip-prinsip object oriented ataukah tidak.

15.6 Object Oriented Testing Prinsip-prinsip pengujian OOT hampir sama dengan metode pengujian konvensional yang sudah dibahas sebelumnya. 2. Pengujian Kelas : analog dengan pengujian unit. Bila pengujian konvensional berfokus pada detil algoritma, OOT untuk kelas berfokus pada pengendalian operasi dan perilaku kelas. 3. Pengujian Terintegrasi : pada OOT tidak menggunakan top-down atau bottom-up karena tidak adanya struktur kontrol yang hirarkhis shg pendekatan integrasi inkremental tidak mungkin dilakukan. Strategi dalam OOT : Pengujian Thread-based : mengintegrasikan himpunan kelas yang dibutuhkan untuk merespon input melalui pengintegrasian thread. Pengujian Use-based : merupakan pengujian terhadap kelas-kelas independen yang kemudian dilanjutkan dengan kelas-kelas dependen. 4. Pengujian Validasi : merupakan pengujian tingkat sistem yang berfokus pada aksi yang dapat dilihat oleh user. Metode pengujian black box dapat digunakan untuk mengendalikan pengujian ini. Untuk melaksanakan OOT tetap diperlukan Test Case seperti pada pengujian konvensional. ***