Senin, 28 November 2011

Pengertian Component Diagram Dalam UML

Component Diagram
Component diagram adalah diagram UML yang menampilkan komponen dalam system dan hubungan antara mereka. Pada component View, akan difokuskan pada organisasi fisik system. Pertama, diputuskan bagaimana kelas-kelas akan diorganisasikan menjadi kode pustaka. Kemudia akan dilihat bagaimana perbedaan antara berkas eksekusi, berkas dynamic link library (DDL), dan berkas runtime lainnya dalam system.
Tipe – tipe komponen
Komponen adalah modul fisik dari kode. Komponen dapat mencantumkan pustaka kode program dan berkas-berkas runtime sekaligus. Misalnya,
jika kita menggunakan C++, setiap berkas .cpp dan .h adalah komoponen berbeda. Berkas-berkas .exe yang anda ciptakan setelah kode program di-compile juga termasuk komponen.
Sebelum men-generate code, petakan setiap berkas kepada komponen yang tepat. Pada C++, setipa kelas dipetakan kedua komponen. Satu mewakili berkas .cpp untuk kelas tersebut dan yang lainnya mewakili berkas .h. Pada Java kita petakan setiap kelas komponen tunggal, mewakili berkas .java untuk kelas tersebut. Ketika kita membangkitkan kode, rational rose akan menggunakan komponen informasi untunk menciptakan berkas-berkas kode pustaka yang tepat.
Ketika komponen sudah tercipta, akan ditambahkan kediagram komponen dan hubungan yang terjadi antar mereka. Satu-satunya tipe hubungan antar komponen adalah dependensi. Despendensi menyatakan bahwa satu komponen harus s di-compile sebelum yang lainnya. Beberapa tipe komponen sebagai berikut :
a.      Komponen
Notasi-notasi komponen mempresentasikan module perangkat lunak dengan sebuah antar muka yang di Devinisikan dengan baik. Para spesifikasi komponen, kita dapat menspesifikasi tipe komponen dalam kolom stereotype( Active X, Applet, Aplikasi, DLL, Executable). Dalam UML, notasi keadaan digambarkan sebagai berikut.

  
b.      Subprogram specification and Body
Notasi ini mempresentasikan spesifikasi subprogram yang terlihat dan bagian implementasi. Subprogram secara tipikal adalah kumpulan beberapa subroutine. Subprogram tidak berisi devinisi kelas.



c.       Main program
Notasi ini mempresentasikan program utama. Program utama adalah berkas yang berisi root program. Contoh, pada power builder, ada berkas yang berisi obyek Aplikasi.

d.      Package Specification and Body
Sebuah paket atau package adalah implementasi kelas. Sebuah paket spesifikasi adalah berkas header, yang berisi informasi fungsi prototype untuk kelas. Di C++, spesifikasi paket adalah berkas .h. di Java, kita menggunakan notasi paket spesifikasi untuk mempresentasikan berkas .java. Sebuah package Body berisi kode untuk operasi-operasi dari kelas. Di C++, package body adalah berkas .cpp.

Ada notasi tambahan yang digunakan untuk komponen runtime termasuk berkas-berkas executable, berkas DLL, dan beberapa task lainnya.
e.       Task Specification and Body
Notasi-notasi ini mempresentasikan paket yang memiliki Thread kontrol yang berdiri sendiri. Berkas executable biasanya mempresentasikan spesifikasi task dengan ekstensi .exe.

f.       Database
                Notasi ini mempresentasikan sebuah basis data, yang berisi satu atau beberapa skema. Pada komponen diagram, basis data ditunjukkan seperti ini :


Detail komponen
Ada sejumlah detail spesifikasi yang ditambahkan ke setiap komponen. Ini termask stereotype, bahasa, deklarasi, dan kelas-kelas.
1.      Stereotype
Stereotype mengatur notasi yang akan digunakan untuk mempresentasikan komponen. Strereotype adalah (yang menggunakan notasi komponen), spesifikasi subprogram, subprogram body, program utama, paket spesifikasi, package body, executable, DLL, spesifikasi task, dan task body.
Rose memasukkan sejumlah stereotype yang lain untuk bahasa pemrograman yang berbeda. Stereotype bahasa pemrograman lainnya, dapat dilihat pada table :
BahasaPemrograman
Stereotype
Java
EJBDeploymentDescriptor, EJB JAR, ServletDeploymentDescription, dan WAR
Oracle 8
Database, Schema
Visual Basic
ActiveX Control

            Kita dapat menambahkan stereotype tambahan jika ingin mempresentasikan tipe komponen baru pada bahasa pemrograman yang akan digunakan.
2.      Bahasa Pemrograman
Kita dapat menandai bahasa pemrograman pada komponen-komponen dasar. Jadi, dapat dibangkitkan satu bagian model di C++, bagian lainnya di Java, bagian lainnya di Visual Basic dan sebagainya.
Rose Enterprise berisi tambahan untuk ANSI C++, Ada 83, Ada 95, CORBA, C++, Java, Visual basic, Visual C++, Web modeler, XML/DTD, Dan Oracle 8. Ada banyak lagi tambahan tersedia dari beberpa vendor untuk memperluas kemampuan Rose. Untuk bahasa pemrograman lain (Power Builder, Forte, Visual Age for Java, etc) mungkin akan dipesan juga.
3.      Deklarasi
Ada bagian untuk mencantumkan deklarasi pelengkap yang ditambahkan pada saat generate code untuk setiap component. Deklasrasi termasuk bahasa pemrograman pernyataan spesifik yang digunakan untuk mendeklarasi variable, kelas-kelas, dan sebagainya. Pernyataan #include kepada C++ juga termasuk deklarasi ini.
4.      Kelas-kelas
Sebelum men-generate code untuk sebuah kelas, maka harus dipetakan dulu kekomponen. Pemetaan ini membantu Rose mengetahui kelas-kelas mana saja yang akan dipetakan dalam berkas fisik kode.

Dependensi Komponen
Hanya ada 1 type relasi antar komponen yaitu dependensi. Dependesni menyatakan bahwa satu komponen bergantung pada lainnya. Sebuah dependensi digambarkan seperti panah putus-putus antara 2 komponen.

Pada contoh ini, komponen A bergantung pada komponen B. dengan kata lain ada satu atua beberapa kelas di A yang bergantung pada satu atau beberapa kelas di B. dependensi memiliki implikasi komplikasi, dimana komponen A tergantung pada komponen B, A tidak dapat di-compile sampai B telah selesai di-compile. Seseorang yang membaca diagram ini akan mengetahui bahwa B harus decompile terlebih dahulu, dilanjutkan dengan A.
Bagaimana jika terjadi dependensi memutar(circular dependency)?. Jika terjadi hal tersebut, komponen A bergantung pada komponen B dan komponen B bergantung pada komponen A, maka komponen A atau B tidak dapat di-Compile sampai salah satu di-compile. Salah satu penyelesaian yang tepat untuk hal tersebut adalah menjadikan keduanya komponen yang lebih besar. Cara lain yang di anjurkan adalah memecah salah satu komponen yang lebih besar. Atau dengan cara memecah salah satu komponen menjadi dua komponen dimana dependensi memutar dihapuskan. Apapun solusi yang diambil yang jelas adalah bahwa semua dependensi memutas harus dihapuskan sebelum generate code dilakukan.

13 komentar:

  1. @didit..Ok Mas....sama-sama..Tank's sudah ngunjungi Blog saya...

    BalasHapus
  2. @Dyota..sama-sama.....Tank's y udah ngunjungi BlogQ...

    BalasHapus
  3. ikut nyimak nih, blognya bagus mas and artikelnya bermanfaat.

    BalasHapus
  4. @Surya....apane Je...hahahaha...isyook ae...

    @usaha sukses....Tank's kawan...salam kenal....segera meluncur kunjungan balik....

    BalasHapus
  5. ternyata gini toh maksudnya. soalnya dulu pernah kuliah D1 di stmik, jadi gak ribet banget kalo liat pemrograman/html. eh sekarang jadi guru SD. jadi gak pernah buka2 pemrograman lagi

    BalasHapus
  6. @Rusydi...alhamdulillah kurang lebihnya begitu Mas..hehehe....Terima kasih bwt komennya...

    BalasHapus
  7. thanks bg,,
    sya mint izin copas buat bikin tugas..

    BalasHapus
    Balasan
    1. OKoK...silahkan...mudah-mudahan bermanfaat...

      Hapus
  8. Assalamualaikum, ijin copas gan, buat tugas.. Trm ksh sblumnya

    BalasHapus
    Balasan
    1. wa'alaikum salam....iya bang..monggo....n sama-sama...

      Hapus

Komentar Anda mengenai Postingan ini sangat Saya butuhkan Untuk menjadi bahan evaluasi agar menjadi lebih baik.
Follow blog saya, maka saya akan siap follow blog Anda.
Mudah-Mudahan Artikel di Atas Bermanfaat bagi kita semua.
Berkata-Katalah Yang baik, agar Hidup Anda menjadi lebih baik.

Please follow me...!!!!