Pemrograman Berbasis Komponen 2

Slides:



Advertisements
Presentasi serupa
Pemrograman JAVA (TIB09)
Advertisements

Mendapatkan Input dari Keyboard
Mendapatkan Input dari Keyboard
Pertemuan 2 Persiapan untuk Menjadi DBA Handal Adityo Nugroho, S.T.
Pemrograman Berorientasi Objek
Nur Hayatin, S.ST Jurusan Teknik Informatika Universitas Muhammadiyah Malang Sem Genap 2010.
REKAYASA PERANGKAT LUNAK (Software Engineering) Eka Ismantohadi
Singleton Pattern 1 one uno. What is Singleton ? One object of a kind Ada class yang hanya perlu diinstansiasi 1 kali saja Alasan: Dalam beberapa kasus.
ARSITEKTUR SISTEM INFORMASI PENJUALAN & PEMBELIAN Handicraft shop
RANCANG BANGUN SISTEM INFORMASI PELACAKAN DAN PEMANTAUAN PAKET KIRIMAN BERBASIS WEB DENGAN BANTUAN MOBILE ANDROID Putu Agus Yudisuda Indrakarna 1) S1 Sistem.
Mendapatkan input dari keyboard
BAB 1 KONSEP OOP.
Encapsulasi ( Pengkapsulan )
Perancangan Perangkat Lunak
Thread.
Pola-Pola Perancangan/ Design Patterns
Methods for Software Engineering CHAPTER 5 Software Project Planning Software engineering: a practitioner’s approach / Roger S. Pressman.—5th ed.
PENGUJIAN BERORIENTASI OBJEK
1 Pertemuan 19 Function Component Matakuliah: M0446/Analisa dan Perancangan Sistem Informasi Tahun: 2005 Versi: 0/0.
KONSEP PERANCANGAN SISTEM INFORMASI
Rekayasa Perangkat Lunak
UML Case study Guide.
HUBUNGAN WEB DATABASE Sesi 8 83 web database.
The Strategy Pattern.
STUDY CLUB “Implementasi Pemrograman Berorientasi Objek”
PENCABANGAN.
Rekayasa Perangkat Lunak Konsep Orientasi Objek
SISTEM PENDUKUNG KEPUTUSAN ORGANISASI (ODSS)
Pemrograman Visual I Outline: Pengenalan bahasa C#
Rekayasa Perangkat Lunak Model Proses PL
Graphical User Interface (GUI)
PENDEKATAN RPL UNTUK INTERAKSI MANUSIA KOMPUTER
High Level User Interface
SUBALGORITMA.
Mobile Computing 7 Middleware.
Metode Rekayasa Perangkat Lunak
BAB 1 KONSEP OOP.
Testing dan Implementasi
Tahapan Proyek Pembuatan Situs Web
PROTOTIPE (Berkerja dengan Model Pertama)
Collection & Threads.
REKAYASA PERANGKAT LUNAK
Pendahuluan Analisis & Desain Berorientasi Obyek (ADBO)
Java Fundamentals Eko Hari Rachmawanto.
DATABASE MANAGEMENT SYSTEM
Materi Habis Uts IMK Prototyping
Strategi Pengadaan Sistem
Architectural View Siti Mukaromah, S.Kom.
PENGENALAN ALGORITMA & PEMROGRAMAN
SIM LOGISTIK PERTEMUAN 3.
Dasar Pemrograman MIDlet
The Data Warehouse and The ODS
MODUL PRATIKUM PEMOGRAMAN BERORIENTASI OBJEK (OOP)
PIBJ (PEMROGRAMAN INTERNET BERBASIS JAVA)
MODUL PRATIKUM PEMOGRAMAN BERORIENTASI OBJEK (OOP)
Algoritma & Pemrograman 1
JSF Java Server Faces.
JAVA.
Pemrograman Mobile Kelompok Nur Dwi Ramadani
PENGENALAN Pemrograman MOBILE 2
STRUKTUR DATA NAMA : ALDI NUGROHO SETYO PAMBUDI NIM :
Pemrograman GUI dengan Java
Pemrograman Fery Updi,M.Kom.
Pertemuan 8 RPL Oleh : Syukriya al-Asyik S.Kom
MUHAMMAD RIZKY ABDILLAH
Oleh : Rhamdani (G ) Dibimbing oleh : Wisnu Ananta Kusuma, S.T, M.T
Dian Wahyuningsih, S.Kom., MMSI
THE PATTERN THE PATTERN.
BUKTI UNJUK KERJA SERTIFIKASI PROGRAMMER
Dasar Pemrograman Java H. Risdiandri Iskandar, SKom,MM 1.
Transcript presentasi:

Pemrograman Berbasis Komponen 2 Strategy dan Observer Pattern

OBSERVER PATTERN

Project : The Weather Monitoring Application Menggunakan WeatherData object yg bisa mengambil current condition (temperatur, kelembapan, dan tekanan) Harus membuat kemampuan menampilkan: Current condition, weather statistics, simple forecast

Project : The Weather Monitoring Application Yang harus bisa diexpand: Harus bisa dibuat API nya sehingga para developer bisa menggunakan API (dan bayar pada Weather-O-Rama) Kita hanya disediakan WeatherData source code!

Desain awal Melacak data dari weather station dan mengupdate tampilan Device yang mendapatkan data

Yang kita tahu WeatherData punya getter method untuk mengambil temperatur, kelembapan, dan tekanan Method measureChanged() dipanggil setiap saat ketika data tersedia dan ada perubahan Kita harus membuat display untuk current condition, statistic, dan forecast System harus bisa diexpand Developer lain boleh membuat elemen lain Pengguna boleh tambah/menghapus elemen yang diinginkan Jenis yang diketahui baru 3 (kondisi aktual, statistik, dan perkiraan)

Implementasi Awal

berdasarkan Strategy Pattern? Kita harus menenkapsulasi fungsi update karena selalu berubah Jika kita membuat langsung implementasi konkret, maka kita akan kesulitan untuk mengubah elemen2 display lain tanpa mengubah program Kita sebaiknya menggunakan interface umum yang memiliki method update() yg menerima parameter temp, humidity, dan presure Kita akan gunakan OBSERVER PATTERN

Timeout

Studi Kasus Studi kasus: Langganan Surat Kabar Penerbit menerbitkan surat kabar Kita bisa mendaftarkan diri untuk berlangganan Selama kita berlangganan (dan membayar), kita pasti dapat surat kabar itu Kita bisa berhenti berlangganan kapan pun Pelanggan tidak hanya kita

Publisher + subscriber = Observer Pattern Publisher = SUBJECT Subscriber = OBSERVERS

Definisi

Penjelasan Subject Interface: digunakan untuk mendaftarkan, menghapus, dan memberi tahu Observer Subject boleh memiliki lebih dari satu Observer Observer Interface: method update() digunakan jika state Subject berubah ConcreteSubject: implementasi real interface Subject ConcreteObserver: implementasi real interface Observer

BACK: Weather Monitoring Application

Implementasi Subject, Observer, & DisplayElement

WeatherData

WeatherData

WeatherData

CurrentConditionsDisplay

Hasil

Contoh Kasus Lain

Studi Kasus Lain Swing pada Java juga menggunakan Observer Pattern Bisa sebutkan kasus-kasus apalagi yang bisa dipecahkan dengan Strategy Pattern atau Observer Pattern ?

Design Pattern Design pattern merupakan best practices yang sudah teruji Hanya cocok untuk kasus tertentu saja Pahami permasalahan, pilih pattern yang sesuai

Next Factory Pattern Singleton Produksi object yang bisa dicustomize Cukup satu saja (one of a kind)