Pengantar Adam Hendra Brata

dokumen-dokumen yang mirip
MODUL 7 : Refining Requirement Model

PENERAPAN DESIGN PATTERNS UNTUK PERANCANGAN BERBASISKAN OBJEK ORIENTED

PENERAPAN DESIGN PATTERNS UNTUK PERANCANGAN BERBASISKAN OBJEK ORIENTED. Kusnawi Dosen STMIK AMIKOM Yogyakarta

Refining the Requirements Model

Design. Creational. Pattern. Adam Hendra Brata. Factory Method, Abstract Factory, Singleton

Pola-Pola Perancangan/ Design Patterns

Adapter & Facade Adam Hendra Brata

ASSESSMENT WORKBOOK MI /2012#1

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

Rekayasa Perangkat Lunak

P10 Konsep & Prinsip Desain. A. Sidiq P.

Decorator Adam Hendra Brata

RENCANA PEMBELAJARAN SEMESTER (RPS)

Object-Oriented Design

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

BAB III METODOLOGI PENELITIAN

Design Engineering. Tim RPL. Program Studi Teknik Informatika

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

PRINSIP DAN KONSEP DESAIN

Software Requirement Specification Pattern Pada Aplikasi Sistem Informasi Registrasi Akademik

BAB II DASAR TEORI Pengertian Framework

REKAYASA PERANGKAT LUNAK MATERI TM 10

Pertemuan 9 PRINSIP DAN KONSEP DESAIN

Penggunaan Pattern Untuk Pengembangan Biodiversity Informatics Social Network

PENGUJIAN BERORIENTASI OBJEK

BAB I PENDAHULUAN. I.1 Latar Belakang I-1

Pertemuan 5 Konsep dan Prinsip Desain TIK : Menjelaskan konsep, prinsip dan tahapan dalam perancangan software

Pemodelan Berorientasi Objek

BAB 1 PENDAHULUAN. yang bermanfaat guna mendukung pengambilan keputusan secara tepat dan

5 Perancangan Perangkat Lunak

4 OUTLINE TERBARU MANAJEMEN INFORMATIKA AMIK BSI

Object Oriented Analysis and Design -Pendahuluan- Nisa ul Hafidhoh

PERANCANGAN BERORIENTASI OBJEK

RANCANGAN APLIKASI LATIHAN BELAJAR TENSES DENGAN METODE OBJECT ORIENTED DESIGN

Prinsip dan Konsep Desain Perangkat Lunak

Dibuat Oleh : 1. Andrey ( )

Rekayasa Perangkat Lunak (Software Engineering)

1. Penggunaan Pemodelan

BAB V PERANCANGAN MOXIE

UJIAN TENGAH SEMESTER PENDEK TAHUN AKADEMIK 2015/2016

Pemodelan Berorientasi Objek

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

Dasar Pemrograman. Belajar Pemrograman Belajar Bahasa

Kegunaan tahap ini adalah untuk memobilisasi dan mengorganisir g SDM yang akan melakukan Reengineering

Bab 6 PERANCANGAN PERANGKAT LUNAK

: ENDRO HASSRIE. Nim : : REKAYASA PERANGKAT LUNAK DESAIN PERANG LUNAK DAN REKAYASA PERANGKAT LUNAK

Unified Modelling Language (UML)

STEPHANIE BETHA R.H,S.ST

MAKALAH ANALISIS & PERANCANGAN SISTEM II USE CASE DIAGRAM

pada masalah pengumpulan kebutuhan pengguna pada tingkatan sistem (system requirements) dengan mendefinisikan konsep sistem beserta interface yang

LAMPIRAN A KERANGKA DOKUMEN ANALISIS

Object Oriented Analaysis Object Oriented Design

Teknik Informatika S1

BAB 1 PENDAHULUAN. cepat. Akibatnya akan terjadi keefisiensian waktu, biaya dan resource, serta

Minggu 6 Prinsip & Konsep Desain

Nama : Rendi Setiawan Nim :

Teknik Informatika S1

Metode Coad -Yourdon

Class Diagram Class diagram mendeskripsikan jenis-jenis objek dalam system dan berbagai macam hubungan statis yang terdapat di antara mereka.

Introduction Object Oriented Analysis & Design. Chapter I

Arsitektur Sistem Informasi. Tantri Hidayati Sinaga, M.Kom.

Kebutuhan Aplikasi Web

PROSES MODEL DESAIN PERANGKAT LUNAK

Teknik Informatika S1

BAB IV ANALISA DAN PERANCANGAN

MAKALAH DESAIN DATA DAN ARSITEKTUR. NAMA : RANI JUITA NIM : DOSEN : WACHYU HARI HAJI. S.Kom.MM

MODEL DESAIN & DOKUMENTASI DESAIN

Pengenalan Pemrograman

BAB II DASAR TEORI...

KONSEP DAN PRINSIP DESAIN. Oleh I Made Cipta Wahyudi

Pengembangan Berorientasi Penggunaan Ulang Agi Putra Kharisma, S.T., M.T.

Oleh : RAHMADY LIYANTANTO

Perspektif Alur-kerja (workflow) - barisan kegiatan Perspektif Alur Data (Data flow) alur informasi Perspektif Peran/Aksi siapa melakukan apa.

BAB II TINJAUAN PUSTAKA

Konsep Perancangan Perangkat Lunak

Pengenalan Obyek. Arna Fariza. Materi

Pendahuluan. 1 Pengenalan UML

BAB VI PENTUTUP Kesimpulan

Pemodelan Berorientasi Objek

Kata Kunci: AHP, Algoritma, ANP, Profile Matching, Perbandingan, Rekrutmen. Universitas Kristen Maranatha

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

P9 Perancangan SPK. SQ Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta

MEMAHAMI PENGGUNAAN UML

MAKALAH REKAYASA PERANGKAT LUNAK ( KONSEP DESAIN PERANGKAT LUNAK )

REKAYASA PERANGKAT LUNAK MATERI TM 12

Pembetulan permasalahan yang timbul mencakup : pembenaran kesalahan yang timbul setelah produk perangkat lunak dipergunakan oleh user

IDENTIFIKASI TANDA TANGAN MENGGUNAKAN GLOBAL FEATURE EXTRACTION, MOMEN INVARIAN DAN ALGORITMA FORWARD-ONLY COUNTER PROPAGATION

PENERAPAN JAVA SERVER FACES UNTUK DESIGN PATTERN WEB

Patterns of Data Modeling / Pola pemodelan Data

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

TINJAUAN PUSTAKA Information Technology Infrastructure Library (ITIL) Framework Tujuan Penelitian Ruang Lingkup Penelitian

BAB 1 PENDAHULUAN. 1.4 Latar Belakang. Dalam kondisi administrasi Dinas Komunikasi dan Informatika sekarang sangat

PERANGKAT LUNAK BANTU REPORTING SOFTWARE CONFIGURATION MANAGEMENT DENGAN PEMANFAATAN INFORMASI CONCURRENT VERSION SYSTEM

REKAYASA ULANG (REENGINEERING)

Agi Putra Kharisma, S.T., M.T. Pengembangan Berorientasi Penggunaan Ulang

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

Tujuan. entitas yang kemudian akan dibangun. ó Menghasilkan suatu model atau representasi dari. Tim RPL 1 2

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI

DASAR REKAYASA PERANGKAT LUNAK

Transkripsi:

Design Pattern Pengantar Adam Hendra Brata

PPP Tujuan Perkuliahan Memahami pengertian dan karakteristik pola perancangan Memahami klasifikasi pola perancangan Memahami keuntungan dan kelemahan penggunaan pola

PPP Motivasi Metode OOD menekankan pada penggunaan notasi notasi untuk perancangan Baik untuk spesifikasi, dokumentasi Tapi OOD sebenarnya lebih dari sekedar menggambar diagram Pembuat draft yang baik desainer yang baik Desainer OO yang baik ditentukan pada banyaknya pengalaman Karena paling tidak sama pentingnya dengan sintaks Konsep reuse yang terbaik adalah design reuse Menyesuaikan masalah pada dengan perancangannya Menghindari reinventing the wheel Menerapkan solusi desain yang sama untuk masalah yang sama dalam konteks yang berbeda

PPP Pengulangan Struktur Perancangan OOA dan OOD memungkinkan struktur perancangan yang memiliki keutamaan : Abstraksi Fleksibilitas Modularitas Penyembunyian informasi Therein lies valuable design knowledge Tersimpan pengetahuan tentang perancangan yang bermanfaat Masalah : menangkap, mengkomunikasikan & menerapkan pengetahuan tersebut untuk digunakan kembali dalam konteks yang berbeda

PPP POLa pola perancangan

PPP Pola Pola Perancangan Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice Setiap pola menggambarkan masalah yang sering terjadi secara berulang-ulang di lingkungan kita dan kemudian juga dapat menjelaskan inti dari solusi untuk masalah tersebut, sehingga kita dapat menggunakan solusi ini berkali-kali, tanpa harus melakukannya dua kali atau lebih untuk sesuatu yang sama Christopher Alexander Pada dasarnya teori tersebut disebutkan oleh Christopher Alexander, seorang arsitek ahli yang sangat terkenal di bidang ilmu arsitektur Kemudian teori tersebut diadaptasi di dunia Software Engineering dan dipopulerkan oleh Gamma, Helm, Johnson and Vlissides (The gang of four, Go4, GOF)

PPP Alasan Penggunaan Pola Pola Perancangan Perancangan perangkat lunak berorientasi objek OO relatif sulit Merancang perangkat lunak berorientasi objek yang dapat digunakan kembali itu lebih sulit Desainer sistem berorientasi objek yang berpengalaman dapat membuat desain yang lebih baik Desainer pemula cenderung akan jatuh kembali menggunakan teknik lama sebelum ada OO Desainer yang berpengalaman mengetahui ada sesuatu Desainer yang sudah ahli akan memahami pemecahan setiap permasalahan tidak harus mulai dari awal lagi Mereka menggunakan kembali solusi yang sudah ada Pola-pola ini membuat desain OO lebih fleksibel, elegan, dan akhirnya dapat digunakan kembali

PPP Pola Pola Perancangan Abstraksi dari perulangan struktur desain Terdiri atas kelas atau objek Dependensi Struktur Interaksi Konvensi Memberi nama dan menspesifikasikan struktur desain tersebut secara eksplisit Hasil kristalisasi dari pengalaman dalam perancangan sistem Pola pola perancangan dikatakan baik, jika: Sebisa mungkin sangat umum dan general Mengandung solusi yang telah terbukti efektif untuk memecahkan masalah dalam konteks tertentu

PPP Template Pola Pola Perancangan Nama / Name Sebuah nama yang berarti, yang mencerminkan pengetahuan yang diwujudkan oleh pola tertentu Masalah / Problem Menguraikan masalah yang akan diselesaikan atau ditujukan pada pola tertentu Konteks / Context Situasi umum di mana pola akan digunakan, termasuk domain aplikasi Batasan / Force Isu atau masalah yang perlu dipertimbangkan dalam proses memecahkan masalah, termasuk batasan dan kendala Solusi / Solution Cara yang disarankan untuk memecahkan masalah dalam konteks tertentu harus sesuai dengan pertimbangan batasan

PPP Tujuan Pola Pola Perancangan Mengkodekan desain yang baik Menyaring & menggeneralisasi pengalaman perancangan Membantu para pemula maupun yang sudah ahli Memberikan nama struktur desain secara eksplisit Penggunaan kosa kata umum Mengurangi kompleksitas Meningkatkan unsur ekspresifitas Menangkap & melestarikan informasi perancangan Menjelaskan keputusan-keputusan dalam desain dengan ringkas Meningkatkan dokumentasi Memfasilitasi restrukturisasi / refactoring Pola-pola ini saling terkait satu sama lain Memberikan unsur fleksibilitas tambahan

PPP Kategorisasi GoF

PPP Kategorisasi GOF Gang of Four mendefinisikan beberapa design pattern dengan 2 kategori utama Sesuai Ruang Lingkupnya (Scope) Sesuai Tujuannya (Purpose)

PPP Kategorisasi GOF Berdasarkan ruang lingkupnya (Scope) : domain dimana pola tersebut akan diaplikasikan Klas bertitik berat pada klas dan hubungannya dengan subklasnya pada saat kompilasi (statis) Objek bertitik berat pada objek-objek dan hubungannya pada saat run-time (dinamis)

PPP Kategorisasi GOF Berdasarkan tujuannya (Purpose) : mencerminkan apa yang akan dilakukan pola tersebut Penciptaan (Creational) berorientasi pada pembangunan objek Klas memberikan tugas pembuatan objek kepada subklas Objek memberikan sebagian tugas dari penciptaan objek kepada objek lain Struktur (Structural) bagaimana objek tersusun dari kelompok yang lebih besar Klas pembentukan struktur melalui pewarisan / inheritance Objek pembentukan struktur melalui komposisi / composition Perilaku (Behavioral) bagaimana tanggung jawab didistribusikan Klas algoritma / kontrol melalui pewarisan Objek algoritma / kontrol melalui kelompok objek / komposisi

PPP Contoh : Observer

PPP Observer (Behavioral) Konteks Ketika sebuah asosiasi dibuat diantara dua klas, kode untuk klas-klas tersebut menjadi tak terpisahkan Jika kita ingin menggunakan kembali satu klas, maka kita juga harus menggunakan kembali klas yang lainnya Masalah Bagaimana kita dapat mengurangi interkoneksi antar klas, terutama antara klas-klas yang ikut atau dimiliki modul lain atau subsistem yang berbeda? Batasan Kita ingin memaksimalkan fleksibilitas sistem sebaik dan seoptimal mungkin

PPP Observer (Behavioral) Solusi Observer

PPP Observer (Behavioral) Contoh 1 : Representasi diagram / grafik Saat kita membutuhkan bermacam representasi informasi yang berbeda dari sebuah data yang sama

PPP Observer (Behavioral) Contoh 2 : Subscriber Youtube Pemberitahuan informasi video yang sama ke berbagai orang yang berbeda

PPP Kekurangan & Kelebihan

PPP Keuntungan dan Kelemahan Penggunaan PPP Keuntungan Penggunaan kembali (reuse) solusi generik Menyediakan kosakata untuk membahas domain permasalahan di tingkat abstraksi yang lebih tinggi Meningkatkan pemahaman, restrukturisasi & komunikasi tim Kekurangan Dapat membatasi kreativitas Penggunaan pola dapat menyebabkan over-design atau perancangan yang berlebihan Dampak pada sistem organisasi Penggunaan pola membutuhkan perhatian dan perencanaan khusus Pola harus digunakan dengan bijak dan tidak boleh asal digunakan tanpa analisis yang jelas

PPP Kesimpulan Penggunaan pola-pola perancangan telah diidentifikasi dalam banyak domain aplikasi yang berbeda dan dapat berlaku di banyak tahapan yang berbeda dari proses pengembangan perangkat lunak Pola-pola perancangan bukan merupakan obat mujarab dari semua masalah Setiap kali kita melihat indikasi bahwa pola-pola perancangan dapat diterapkan, kita bisa jadi tergoda untuk langsung menerapkan pola-pola perancangan Hal ini dapat menyebabkan keputusan desain yang tidak bijaksana Harus selalu paham secara mendalam akan batasan-batasan yang berimbang dan ketika ada pola lain yang dapat menyeimbangkan batasan secara lebih baik Pastikan kita membuat setiap keputusan desain dengan hatihati

PPP Terimakasih v^^ Web Services I m with you till the end of the line