agi putra kharisma, s.t., m.t. pengembangan berorientasi...

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

Upload: others

Post on 01-Feb-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Agi Putra Kharisma, S.T., M.T.

Pengembangan Berorientasi Penggunaan Ulang

Bingkai Kerja (BK) Apa itu BK?

Mengapa BK?

Bagaimana menggunakan BK?

Bagaimana mempelajari BK?

Bagaimana memilih BK?

Bagaimana membuat BK?

Apa Itu Bingkai Kerja (BK)? Bingkai kerja framework

Bingkai rangka

Jenis bingkai kerja:

Bingkai kerja aplikasi (application framework)

Bingkai kerja arsitektural

Ilust

rasi

Definisi Bingkai Kerja Secara sederhana, bingkai kerja adalah sekumpulan objek

(partisipan) yang saling berinteraksi untuk menghasilkan sekumpulan fungsionalitas, yaitu domain dari bingkai kerja tersebut.

BK adalah reusable design suatu sistem yang mendeskripsikan bagaimana sistem didekomposisi menjadi sekumpulan objek yang berinteraksi. Sistem dapat berupa aplikasi utuh atau dapat pula berupa subsistem.

BK juga dapat me-reuse implementasi, tetapi hal tersebut tidak sepenting me-reuse internal interface yang disediakan oleh BK (pada umumnya berupa kelas abstrak).

Jenis Bingkai Kerja Aplikasi Berdasarkan lingkup:

BK infrastruktur sistem BK integrasi middleware BK aplikasi enterprise

Berdasarkan teknik penggunaan (extend): Kotak putih

Penambahan fungsionalitas dengan menggunakan fitur bahasa pemrograman OO, misalnya inheritance, overriding, dsb.

Kotak hitam Penambahan fungsionalitas dengan menggunakan interface untuk

komposisi objek. Contoh: menggunakan pola perancangan Strategy dan Functor.

Kotak abu-abu

Mengapa Menggunakan BK? Kelebihan dan Kekurangan Menggunakan BK:

Usaha pengembangan (development effort)

Lamanya belajar (learning curve)

Kemudahan integrasi (integratability)

Kemudahan pemeliharaan (maintainability)

Efisiensi

Sifat/Karakteristik Bingkai Kerja Fungsionalitas pada objek/partisipan BK tidak selalu

lengkap, tetapi ada bagian yang harus dilengkapi oleh pengguna BK.

BK hanya mengekspos bagian yang akan diubah/disesuaikan/dilengkapi oleh pengguna BK, sedangkan bagian lainnya tidak diekspos.

Inversion Of Control/Dependency Injection/Hollywood Principle.

Hollywood Principle

Dependency Injection (DI)

Inversion of Control (IoC)

Hubungan DI dan IoC?

Ilustrasi Bagaimana BK Mengontrol Partisipannya

Bingkai Kerja Arsitektural Merupakan bingkai kerja aplikasi yang fokus terhadap

struktur sistem yang meng-komposisi komponen PL, external properties dari komponen tersebut, dan relasi antar komponen.

Jenis struktur:

Struktur modul (module structure)

Struktur konseptual (conceptual structure)

Struktur proses (process structure)

Struktur pemanggilan (calls structure)

Struktur fisikal (physical structures)

Bagaimana Menggunakan BK? Pada umumnya, aplikasi yang dibangun dengan BK terdiri

dari 3 bagian, yaitu: BK, sub-kelas konkret, dan lainnya.

Adapun siklus hidup penggunaan ulang bingkai kerja: 1. Tentukan kebutuhan perangkat lunak yang akan dibuat

dengan memerhatikan reusable artifact yang tersedia.

2. Cari dan kumpulkan reusable artifact yang kira – kira relevan dengan kebuthan.

3. Periksa potensi penggunaan ulang pada reusable artifacts yang terkumpul.

4. Pilih kandidat yang dinilai paling sesuai dengan kebutuhan, kemudian gunakan/lakukan adaptasi sesuai kebutuhan.

5. Lakukan integrasi ke aplikasi yang dikembangkan.

Bagaimana Mempelajari Untuk Menggunakan BK? Mempelajari suatu BK cenderung lebih sulit daripada

pustaka kelas (class library) biasa, karena kita tidak dapat mempelajari suatu kelas tanpa memerhatikan kelas lainnya.

Cara mempelajari adalah dengan membaca dokumentasi, buku, dan mencoba contoh – contoh yang diberikan.

Yang perlu diketahui untuk menggunakan suatu BK adalah:

Apa tujuan dari BK tersebut

Bagaimana cara menggunakan BK tersebut

Bagaimana cara kerja BK tersebut

Bagaimana Mengevaluasi BK Supaya Tidak Salah Memilih? Ada kalanya memilih suatu BK menjadi sangat sulit.

Bagaimana mengetahui suatu BK sudah sesuai dengan kebutuhan kita?

Membuat daftar pilihan (check list) terhadap fitur yang harus disediakan oleh BK yang akan digunakan.

Mengetahui extendability BK yang akan digunakan, karena fitur dari suatu BK pada umumnya perlu dilengkapi untuk memenuhi kebutuhan.

Mengetahui kebutuhan lain seperti reliability, performance, vendor supports, dsb.

Bagaimana Membuat BK? BK adalah produk dari domain engineering.

Pendekatan yang digunakan:

Top-down

Domain analysis design realization

Bottom-up

Diawali dengan membuat aplikasi – aplikasi dalam domain yang sama, kemudian menentukan bagian yang sama dan bagian yang berbeda.

Bottom-Up vs Top-Down

Gaya Arsitekural (Architectural Style) Abstraksi dari arsitektur – arsitektur yang memiliki

kemiripan.

Gaya arsitektural adalah classes of similarly patterned software architecture.

Gaya arsitektural dikarakteristikkan menggunakan:

Tipe komponen

Pola komunikasi antar komponen

Batasan semantik (semantic constraint)

Kumpulan konektor

Contoh Gaya Arsitektural: REST

Contoh Domain Permasalahan BK

Artistic drawing, music composition, and mechanical CAD Compilers for different programming languages and target machines Financial modeling applications Earth system modeling applications Decision support systems Multimedia framework - Media playback and authoring CSS framework Ajax framework / JavaScript framework Web application framework Middleware Cactus Framework - High performance scientific computing Application framework - General GUI applications Enterprise Architecture framework Oracle Application Development Framework

Contoh – contoh BK

Tambahan: IDEAL CHALK Merupakan kumpulan prinsip dalam OOP yang

disarankan dan diangap baik.

Dapat membantu penggunaan ulang.

http://www.codeproject.com/Articles/337454/IDEAL-CHALK-mnemonic-acronym-and-mnemonic-images-f