Component oriented programming
This presentation is the property of its rightful owner.
Sponsored Links
1 / 51

component oriented programming PowerPoint PPT Presentation


  • 124 Views
  • Uploaded on
  • Presentation posted in: General

component oriented programming. Materi 1 - Silabus, Review OOP dan Pengantar COP. Literatur. Building reliable component-based software system by Ivica Crnkovic, Magnus Larsson, Boston, Artech House, 2002 Head First Design Pattern by Eric Freeman dan Elisabeth Freeman, O’Reilly, 2004

Download Presentation

component oriented programming

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Component oriented programming

component oriented programming

  • Materi 1 - Silabus, Review OOP dan Pengantar COP


Literatur

Literatur

  • Building reliable component-based software system by Ivica Crnkovic, Magnus Larsson, Boston, Artech House, 2002

  • Head First Design Pattern by Eric Freeman dan Elisabeth Freeman, O’Reilly, 2004

  • Component Oriented Programming, by Andy Ju An Wang dan Kai Qian, Willey, 2005 Wang dan Kai Qian, Willey, 2005

  • Component-based development : principles and planning for business system by katharine whitehead, boston, Mass London, Addison wesley, 2002

  • Head First Enterprise Java Beans, O’Reilly

  • Component Software, Beyond Object Oriented Programming, Clemens Szyperski, Addison-Wesley Professional; 2 edition, 2002

  • Design Patterns Java Companion by James W. Cooper, Addison-Wesley, 1998


Topik

Topik

  • Komponen

  • Perkembangan Paradigma Pemrograman

  • Interface

  • Contract (Kontrak)

  • Pattern (Pola)

  • Frameworks

  • Hubungan antara konsep

  • Kesimpulan


Topik1

Topik

  • Komponen

  • Perkembangan Paradigma Pemrograman

  • Interface

  • Contract (Kontrak)

  • Pattern (Pola)

  • Frameworks

  • Hubungan antara konsep

  • Kesimpulan


Apa itu komponen

Apa itu komponen?

  • Kita dapat menemukan beberapa definisi dari Komponen dibeberapa literatur tetapi bagaimanapun kita setuju bahwa komponen adalah bagian dari software

  • Definisi dapat dimulai dari bagaimana CBSE dipandang dari sudut pandang yang berbeda seperti :

    • Different phases (design, implementation and run-time phases),

    • Business aspects,

    • Architectural issues.


Komponen szyperski

Komponen: Szyperski

  • Szyperskimendefinisikan secara tepat satu persatu dari karakteristiknya sebagai berikut :

    • Komponen adalah bagian dari komposisi dengan cara kontrak perjanjian interface spesifik dan ketergantungan dari konteksnya.

    • Komponen dapat dibangun sendiri dan intinya digabungkan dengan perangkat lain (third party).


Efek dari definisi szyperski

Efek dari Definisi Szyperski

  • Beberapa maksud dari definisi Szyperski menghasilkan :

    • Untuk komponen yang akan dibangun sendiri, perbedaan yang jelas dari lingkungan (environment ) dan komponen yang lain sangat dibutuhkan.

    • Komponen harus memiliki spesifikasi interface yang jelas.

    • Implementasinya harus dienkapsulasi didalam komponen dan tidak langsung dapat dicapati dari lingkungannya (environment).


Komponen d souza dan wills

Komponen : D'Souzadan Wills

  • D'Souzadan Wills mendefinisikan komponen sebagai :

    • Bagian dari software yang dapat digunakan ulang, dimana dia dibangun dengan bebas, dan dapat bergabung dengan komponen yang lain untuk menjadi bagian yang besar. Hal tersebut mungkin akan diadaptasi tetapi tidak untuk diubah.

    • Komponen dapat menjadi, sebagai contoh menjalankan (compile) kode tanpa source codenya.


Component oriented programming cop

Component Oriented Programming (COP)

Jadi dapat digambarkan bahwa komponen adalah :

  • PemrogramanBerorientasiKomponen

  • Komponensebagaisudutpandangutama

  • Program tersusundarikomponen-komponen yang salingterhubungdalamhubungan yang terdefinisidenganbaik, dapatdigunakanulangdansalingindependensatusama lain


Kenapa cop penting

Kenapa COP Penting ?


Kenapa cop penting1

Kenapa COP Penting

Black Box

Grey Box

White Box


Kenapa cop p enting

Kenapa COP Penting?

  • Banyakcilent yang memesansuatu system informasi / aplikasi / software untukperusahaanmereka

  • Client hanyaterfokuspadafungsisuatu software

  • Client tidaktahudantidakmautahubagaimana software tersebutdibuat / dikembangkan

  • Tingkat ekspektasi yang tinggidari client seringkaliberbandingterbalikdenganalokasiwaktuygdisediakanuntukmengembangkan software tersebut


Kenapa cop penting2

Kenapa COP Penting ?

  • Perkembangan software yang semakin kompleks, butuh teknik untuk mengatasi kompleksitas tersebut

  • Menangani perubahan sesuai kebutuhan

  • Penggunaan ulang untuk mengurangi waktu pengembangan


Komponen itu apa

Komponen Itu Apa ?

  • Self contained

  • Self deployable

  • Well-defined functionality

  • Can be assembled through its interface


Komponen itu apa1

Komponen Itu Apa ?


Komponen itu apa2

KomponenItuApa?


Komponen itu apa3

Komponen Itu Apa ?


Komponen itu apa4

Komponen Itu Apa ?

Network

GTalk

Pidgin

IM

YM!

XML

MSN


Contoh komponen

Contoh Komponen

  • JavaBeans dan EJB (Sun Microsystem)

  • COM, DCOM, ActiveX dan .Net Component (Microsoft)

  • Corba (OMG)

  • XPCOM (Mozilla)

  • VCL, CLX dan LCL (Borland)

  • UNO (OpenOffice.org)

  • Dan lainnya …


Topik2

Topik

  • Komponen

  • Perkembangan Paradigma Pemrograman

  • Interface

  • Contract (Kontrak)

  • Pattern (Pola)

  • Frameworks

  • Hubungan antara konsep

  • Kesimpulan


Perkembangan paradigma pemrograman

PerkembanganParadigmaPemrograman

  • Structured Programming (SP)

    • Pemecahan program menjadifungsi-fungsi

  • Object Oriented Programming (OOP)

    • Object sebagaipenyusun program

  • Component Oriented Programming (COP)

    • Program tersusundarikomponen


Sp vs oop vs cop

SP vs OOP vs COP


Sp vs oop vs cop1

SP vs OOP vs COP


Sp vs oop vs cop2

SP vs OOP vs COP


Sp vs oop vs cop3

SP vs OOP vs COP


Sp vs oop vs cop4

SP vs OOP vs COP


Sp vs oop vs cop5

SP vs OOP vs COP


Cop vs oop

COP vs OOP


Cop vs oop1

COP vs OOP


Objek dan komponen

Objek danKomponen

  • Pfisterdan Szyperski

    • Melihat komponen sebagai bagaian dari objek, dimana objek bekerjasama dengan yang lain dan saling terkait.

  • D'Souzadan Wills

    • Menyatakan bahwa jika class dimana dibungkus bersama dengan interface yang telah didefinisikan dengan kebutuhan dan implement nya sehingga class ini akan menjadi komponen.


Topik3

Topik

  • Komponen

  • Perkembangan Paradigma Pemrograman

  • Interface

  • Contract (Kontrak)

  • Pattern (Pola)

  • Frameworks

  • Hubungan antara konsep

  • Kesimpulan


Interface

Interface

  • Sebuah interface dari komponen dapat didefinisikan sebagai spesifikasi dari inti permasalahan, bukan menawarkan implementasi dari setiap operasi tersebut.

  • Pemisah tersebut membuatnya memungkin untuk :

    • Mengganti bagian dari implementasi tanpa mengganti dari interface;

    • Menambahkan sebuah interface baru (dan implementation) tanpa merubah implementation yang sudah ada,


Menggambarkan sebuah interface

Menggambarkan sebuah Interface

  • Interface didefinisikan didalam standard component technologies menggunakan teknik seperti Interface Definition Language (IDL) sebagai berikut:

    • Cukup menjelaskanfunctional properties saja.

    • Tidak perlu menjelaskan extra-functional properties seperti accuracy, availability, latency, security.


Export dan import interface

Export dan Import Interface

  • Kita dapat membedakan dua jenis interface.Komponen dapat export/import interface ke/dari environment dimana mungkin mengandung (include) komponen lainnya.

    • Sebuah interface yang diexport menjelaskan service apa yang disediakan komponen untuk environment.

    • Sebuah interface yang diimport menjelaskan service yang dibutuhkan komponen untuk environment.


Topik4

Topik

  • Komponen

  • Interface

  • Contract (Kontrak)

  • Pattern (Pola)

  • Frameworks

  • Hubungan antara konsep

  • Kesimpulan


Contract perjanjian kontrak

Contract (Perjanjian, Kontrak)

  • Lebih akuratnya spesifikasi dari behavior sebuah komponen dapat dicapai dimulai dengan contract.

  • Sebuah contract terdiri atas:

    • The Invariant, global constraints dimana komponen akan didirikan/ditegakkan/dimulai;

    • The Pre-condition, constraints (pembatas) dimana membutuhkan untuk dipenuhi oleh cilent;

    • The Post-condition, constraints (pembatas) dimana komponen mengijinkan untuk menentukan kembalian (return).


Bagaimana contract menentukan interaksi komponen

Bagaimana Contract menentukan interaksi komponen

  • Sebuah contract menspesifikasikan interaksi antara komponen dalam hubungan sebagai berikut :

    • Kumpulan dari bagian dalam komponen;

    • Tugas dari setiap komponen meneruskan kewajiban yang berdasar perjanjian, seperti tipe dan casual obligation;

    • The invariant yang akan dikelolah oleh komponen;

    • Spesifikasi dari method dimana menjelaskan (instantiate) perjanjian tersebut.


Topik5

Topik

  • Komponen

  • Perkembangan Paradigma Pemrograman

  • Interface

  • Contract (Kontrak)

  • Pattern (Pola)

  • Frameworks

  • Hubungan antara konsep

  • Kesimpulan


Pattern pola

Pattern (Pola)

  • Pattern mendefinisikan perulangan solusi untuk perulangan masalah menghasilkan solusi masalah tidak jelas, tidak hanya inti dasar atau strateginya.

    • Solusi harus membuktikan untuk menyelesaikan masalah daripada menjadi teori atau spekulasi.

    • Pattern menjelaskan hubungan antara struktur paling dalam dari sistem dan mekanismenya.

    • Sebuah komponen sebagai entitas reusable, dapat menjadi solusi dari sebuah desain pattern.


Tiga kategori dari pattern

Tiga kategori dari Pattern

  • Pattern dapat diklasifikasikan dalam tiga kategori utama:

    • Architectural Patterns, menangkap semua struktur dan organisasi dari sebuah sistem software.

    • Design Patterns, menyaring struktur dan behavior dari sub sistem sama seperti sebuah komponen dalam sistem software, dan hubungan yang ada diantaranya.

    • Idioms, adalah low-level pattern dimana bergantung pada paradigma yang dipilih dan bahasa pemrograman yang dipilih.


Topik6

Topik

  • Komponen

  • Perkembangan Paradigma Pemrograman

  • Interface

  • Contract (Kontrak)

  • Pattern (Pola)

  • Frameworks

  • Hubungan antara konsep

  • Kesimpulan


Software framework

Software Framework

  • CBSE berarti kita akan membangun sebuah software dengan “menaruh bagian bersamaan”. Framework menyediakan konteks dimana bagian tersebut dapat digunakan.

  • Sebuah framework mungkin akan dilihat sebagai:

    • Sebuah desain reusable dari sistem,

    • Sebuah kerangka (skeleton) dari aplikasi dimana dapat diubah oleh pengembang aplikasi.


Bagian dari framework

Bagian dari Framework

  • Saat Framework dalam penjelasan umum sebuah situasi yang khusus dan reusable dalam level model, bagian dari framework dijelaskan sebagai “circuit-board” dengan lubang-lubang kosong dimana komponen dapat dimasukkan untuk membuatnya bekerja.

Component

Framework

Coordination Services (transactions, persistence..)


Komponen model

Komponen model

  • Ada dua konsep komponen model dan komponen framework yang biasanya tercampur.

  • Sebuah komponen model menjelaskan bagian dari standar dan aturan yang digunakan pengembang komponen dimana sebagai komponen framework mendukung infrastruktur dari komponen model.

Component

model


Topik7

Topik

  • Komponen

  • Perkembangan Paradigma Pemrograman

  • Interface

  • Contract (Kontrak)

  • Pattern (Pola)

  • Frameworks

  • Hubungan antara konsep

  • Kesimpulan


Hubungan diantara konsep

Hubungan diantara konsep

Interface that satisfies contracts

Component-type

Specific interface

Component implementation

Independent

deployment

Component

model

Component

Framework

Coordination Services (transactions, persistence..)


Framework dan kontrak

Framework dan Kontrak

  • Framework dan komponen

    • Dari definisi dari framework yang didefinisikan sebelumnya, sebuah framework dapat dilihat sebagai circuit-board (komponen framework) dimana menerapkan dengan mengisi ditempat yang kosong

  • Framework dan kontrak

    • Sebuah framework fokus pada semua properti dari komposisi sebuah komponen

    • Kontrak memberikan spesifikasi untuk hubungan diantara konponen konkrit.

      Spesifikasi ini mungkin akan berbeda untuk komponen dalam suatu komposisi


Framework dan pattern

Framework dan Pattern

  • Dalam hal ini sangat penting untuk menyadari bahwa desain pattern dan framework adalah konsep yang berbeda dari sifat yang berbeda

    • Desain Pattern bersifat logik, mempresentasikan pengetahuan dan pengalaman dalam software

    • Framework bersifat fisik dan framework adalah software executable yang digunakan didalam desain lain atau dalam keadaaan run-time.

  • Perbedaan besar antara desain pattern dan framework adalah sebagai berikut:

    • Level abstraksi antara framework dan desain pattern;

    • Desain pattern memiliki arsitektur elemen lebih kecil dari framework;

    • Spesialisasi level dari framework dan desain pattern.


Topik8

Topik

  • Komponen

  • Perkembangan Paradigma Pemrograman

  • Interface

  • Contract (Kontrak)

  • Pattern (Pola)

  • Frameworks

  • Hubungan antara konsep

  • Kesimpulan


Kesimpulan

Kesimpulan

  • Spesifikasi komponen adalah inti dari komponen pengguna dimana fokus pada fitur dari komponen, fungsional dan non fungsional

  • Tujuan utama dari framework adalah mendukung proses dari komposisi komponen

  • Pengembang komponen harus mematuhi aturan dan format yang disepsifikasikan dari framework untuk mengembangkan dan menetapkan komponen, sampai komponen pengguna akan digunakan framework untuk menyusun sistem dari komponen yang lebih efisien dan akurat


Kesimpulan1

Kesimpulan

  • Pattern memberikan abstrak dan sudut pandang lain dari function, procedure, method dimana akan diimplementasikan didalam form dari sistem atau komponen

  • Desainer komponen akan menggunakan pattern dalam proses desain hingga desain komponen lebih efisien


  • Login