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

dokumen-dokumen yang mirip
BAB II DASAR TEORI Pengertian Framework

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

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

REKAYASA PERANGKAT LUNAK LANJUT DESIGN ENGINEERING. Defri Kurniawan M.Kom

MI2193 PEMROGRAMAN WEB LANJUT PHP FRAMEWORK. Created by MTA Revised by HPU

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

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

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

REKAYASA PERANGKAT LUNAK II

Teknik Informatika S1

PERANCANGAN DENGAN PEMAKAIAN ULANG

Object Oriented Analysis and Design -Pendahuluan- Nisa ul Hafidhoh

Pemograman Berorientasi Objek

Information System Analysis and Design

Design Engineering. Tim RPL. Program Studi Teknik Informatika

BAB I PENDAHULUAN I-1

BAB III LANDASAN TEORI

INTRODUCTION OBJECT ORIENTED ANALYSIS & DESIGN

KOM204 : BAHASA PEMROGRAMAN

Rekayasa Perangkat Lunak

BAB II LANDASAN TEORI

BAB 4 Pendekatan-Pendekatan Pengembangan Sistem

TUGAS AKHIR Diajukan Untuk Memenuhi Sebagian Persyaratan Mencapai Derajat Sarjana Teknik Informatika. Oleh Yohanes Novendriono NPM :

DESAIN SISTEM SECARA UMUM

PEMBUATAN APLIKASI PENERIMAAN KARYAWAN BERBASIS WEB

LAMPIRAN A KERANGKA DOKUMEN ANALISIS

Pertemuan 9 PRINSIP DAN KONSEP DESAIN

Review Rekayasa Perangkat Lunak. Nisa ul Hafidhoh

ARSITEKTURAL DESIGN. Struktur Arsitektur. Bass, Clements, dan Kazman [Bass, 2003 via Pressman, 2010) mendefinisikan:

BAB II TINJAUAN PUSTAKA. yang ditandai dengan saling berhubungan dan mempunyai satu fungsi atau tujuan

Pengenalan Obyek. Arna Fariza. Materi

BAB II TINJAUAN PUSTAKA DAN KERANGKA PEMIKIRAN

MODUL 5 COMPONENT DIAGRAM

BAB 1 PENDAHULUAN. Internet (WWW) terus meningkat pesat dari 16 juta di tahun 1995 (0,4% penduduk

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

MODUL 4 Unified Software Development Process (USDP)

Rekayasa Perangkat Lunak (Software Engineering)

Bab V Perancangan Model Ensiklopedia

BAB V PERANCANGAN MOXIE

P10 Konsep & Prinsip Desain. A. Sidiq P.

REKAYASA PERANGKAT LUNAK MATERI TM 12

BAB I PENDAHULUAN. Pemrograman Berorientasi Objek atau Object Oriented Programming (OOP) telah

BAB III LANDASAN TEORI. Landasan teori ini merupakan dasar tentang teori-teori dalam melakukan

Sistem Informasi Akademik Berbasis Web pada SMA Negeri 11 Palembang

BAB I PENDAHULUAN. untuk pengembangan aplikasi berbasis 3D yang meliputi bidang yang cukup luas

1 BAB 1 PENDAHULUAN. 1.1 Latar Belakang

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

Pendahuluan. 1 Pengenalan UML

Pengembangan Sistem Informasi

BAB I PENDAHULUAN 1.1 Latar belakang

BAB 1 PENDAHULUAN 1.1. Latar Belakang

PEMANFAATAN ARDUINO DALAM PENGEMBANGAN SISTEM RUMAH PINTAR BERBASIS MOBILE DAN WEB (Studi Kasus : Penjadwalan Lampu Rumah)

LANDASAN TEORI. Landasan teori digunakan untuk menjelaskan teori-teori yang mendukung. penyusunan laporan kerja praktik ini yang antara lain:

SOFTWARE PROCESS MODEL

BAB I PENDAHULUAN. 1.1 Latar Belakang. Seiring dengan semakin pesatnya perkembangan teknologi yang ada,

PRINSIP DAN KONSEP DESAIN

LANGKAH-LANGKAH MEMBUAT SOFTWARE MENURUT RUP

Rekayasa Perangkat Lunak (Software Engineering)

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

Yuli Purwati, M.Kom USE CASE DIAGRAM

IMPLEMENTASI. Pemasangan Atau Konversi Sistem Baru Ke Sistem Lama. Prinsip Portability & Reusable (Kemudahan & Penggunaan Ulang Komponen)

Pengembangan Sistem Informasi

BAB II TINJAUAN PUSTAKA

BAB I PENDAHULUAN. pengambil keputusan. Data Warehouse sebagai sarana pengambilan keputusan, merupakan

Web Services merupakan salah satu bentuk implementasi dari arsitektur model aplikasi N-Tier yang berorientasi layanan. Perbedaan Web Services dengan

BAB III ANALISIS. 3.1 Model Penerapan BPM pada SOA III-1

REKAYASA PERANGKAT LUNAK LANJUT WEB ENGINEERING. Defri Kurniawan M.Kom

Pertemuan 12 IMPLEMENTASI

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

Hanif Fakhrurroja, MT

BAB I PENDAHULUAN. Pembangunan ekonomi sangat penting dalam menunjang pembangunan

BAB 3 METODOLOGI PENELITIAN

Object OOP. Polymor phism

BAB I PENDAHULUAN. 1.1 Latar Belakang

Teknik Informatika S1

Garis-garis Besar Program Pembelajaran (GBPP)

Rahmady Liyantanto Blog : liyantanto.wordpress.com

Review Bisnis Open Source

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

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

RANCANGAN PEMBELAJARAN

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

KONSEP DAN PRINSIP DESAIN. Oleh I Made Cipta Wahyudi

BAB III LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

BAB 3 METODOLOGI PENELITIAN

SI402 Arsitektur Enterprise Pertemuan #3 Suryo Widiantoro, ST, MMSI, M.Com(IS)

Arsitektur Enterprise

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

Introduction Object Oriented Analysis & Design. Chapter I

ERP (Enterprise Resource Planning) Pertemuan 7

BAB I PENDAHULUAN. media pembelajaran itu adalah e-learning. E-learning merupakan suatu teknologi informasi

RENCANA PEMBELAJARAN SEMESTER (RPS)

Sistem Informasi Perusahaan 15. ERP Systems and E-Commerce: Intra- and Inter-Enterprise Modeling. Ratih Dyah Kusumastuti Source: Dunn et al.

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah

Bab 6 PERANCANGAN PERANGKAT LUNAK

BAB I PENDAHULUAN. 1.1 Latar Belakang Penelitian. Seiring dengan berkembangnya dunia usaha yang semakin pesat, maka

CONTOH IMPLEMENTASI DESIGN PATTERN

SI402 Arsitektur Enterprise Pertemuan #6 Suryo Widiantoro, ST, MMSI, M.Com(IS)

SI402 Arsitektur Enterprise Pertemuan #11 Suryo Widiantoro, ST, MMSI, M.Com(IS)

Transkripsi:

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

Ilustrasi

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-imagesf