Perangkat lunak yang akan dibahas kami bahasa adalah Aplikasi Pemantau Cuaca berbasis java, Weather-O-Rama. Aplikasi ini memiliki 3 elemen display, yakni kondisi saat ini (suhu, kelembaban, tekanan udara), statistik cuaca dan perkiran sederhana, semua diperbaharui secara real time sebagai objek data cuaca (WeaherData) untuk pengukuran terbaru.
Tiga hal yang penting dalam apikasi ini adalah stasiun cuaca (perangkat fisik berupada sensor kelembaban, suhu, dan tekanan udara), objek WeatherData (mendapatkan data yang berasal dari stasiun cuaca dan meng-update tampilan) dan tampilan yang menunjukan ke user kondisi saat ini.
Design pattern yang digunakan pada aplikasi ini adalah Observe Design Pattern. Observe Design Pattern adalah pola hubungan one -to-many antara suatu kumpulan objek, apabila terdapat salah satu objek yang berubah, maka semua objek yang berhubungan akan diberitahu dan akan diperbarui secara otomatis.
Implementasi Observe Design Pattern pada class diagram
Prototype Implementasi System
Tiga hal yang penting dalam apikasi ini adalah stasiun cuaca (perangkat fisik berupada sensor kelembaban, suhu, dan tekanan udara), objek WeatherData (mendapatkan data yang berasal dari stasiun cuaca dan meng-update tampilan) dan tampilan yang menunjukan ke user kondisi saat ini.
Design pattern yang digunakan pada aplikasi ini adalah Observe Design Pattern. Observe Design Pattern adalah pola hubungan one -to-many antara suatu kumpulan objek, apabila terdapat salah satu objek yang berubah, maka semua objek yang berhubungan akan diberitahu dan akan diperbarui secara otomatis.
Implementasi Observe Design Pattern pada class diagram
pada observe design pattern dibagi menjadi 4 bagian, subject, observer, concrete subject
dan concrete observer
SUBJECT
berisi class Subject, yakni interface dari aplikasi ini.
OBSERVER
berisi class Observer, yakni semua komponen cuaca akan diimplementasikan dengan observe interface. Hal ini memberikan subjek sebuah interface umum untuk terhubung ketika update observer.
CONCRETE SUBJECT
berisi class WearherData, yakni berisi informasi cuaca saat ini dan untuk mengimplementasikan subjek antarmuka aplikasi ini.
CONCRETE OBSERVER
berisi class CurrentCondititionDisplay, StatisticDisplay, ForecastDisplay dan HeatIndexDisplay, yakni bertugas untuk mendapatkan data akurat cuaca. terdapat fungsi update() yang akan otomatis berjalan ketika update() pada class observer berfungsi.
Prototype Implementasi System
- Use Case Diagram
- CRC-card
- Class Diagram
- Sequence Diagram
- Component Diagram
- Deployment Diagram
- Activity Diagram
1. Use Case Diagram
2. CRC-card
3. Class Diagram
4. Sequence Diagram
- Set measurements
- Register Observer
5. Component Diagram
6. Deployment Diagram
7. Activity Diagram
- Set measurements
- Register Observer
8. Screenshot Program
9. Source Code program
https://github.com/salmanrameli/weather-station-design-pattern
referensi :
rpl.if.its.ac.id/design-pattern-observer/
Head First Design Pattern, Eric Freeman & Elisabeth Freeman