Diagram komponen: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
k Menambah Kategori:Component menggunakan HotCat
k pembersihan kosmetika dasar
 
(10 revisi perantara oleh 5 pengguna tidak ditampilkan)
Baris 1:
[[Berkas:Policy Admin Component Diagram.PNG|jmpl|Contoh Diagram Komponen]]'''Diagram komponen''' adalah diagram yang menggambarkan struktur fisik dari sebuah [[sistem]] dan digunakan untuk mengilustrasikan bagaimana kode program dibagi menjadi beberapa komponen, dan mendeksripsikan hubungan antar komponen .<ref>{{Cite book|title=Systems Analysis and design methods|url=http://worldcat.org/oclc/830686210|publisher=Times Mirror|date=1986|isbn=0801654645|oclc=830686210|last=Whitten, J. L.}}</ref>. Diagram komponen memberikan gambaran tingkat tinggi dan sederhana dari sebuah sistem. Mengklasifikasikan sekelompok [[Class (computer programming)|kelas]] menjadi komponen akan membantu pertukaran dan penggunaan kembali dari sebuah kode. Tujuan dari diagram komponen adalah menunjukkan hubungan struktural antar komponen dalam sebuah sistem.<ref name=":0">{{Cite web|url=https://online.visual-paradigm.com/tutorials/component-diagram-tutorial/|title=Component Diagram Tutorial|website=online.visual-paradigm.com|access-date=2019-04-08}}</ref>.
 
== Notasi Diagram Komponen ==
{| class="wikitable"
|+Notasi Diagram Komponen
!Nama
!Deskripsi
!Simbol
|-
|''Component''
|Komponen digambar sebagai persegi panjang dengan kompartemen yang ditumpuk secara vertikal. Sebuah komponen dapat digambarkan hanya dengan persegi panjang dengan nama komponen dan stereotip teks/ikon komponen. Stereotip teks komponen adalah <<component>> dan stereotip ikon komponen adalah persegi panjang dengan 2 persegi panjang menonjol di sisi kirinya.<ref name=":0" />.
|[[Berkas:Component-1.png|jmpl]]
|-
|Provide''Provided Interface''
|Mendefinisikan seperangkat [[Attribute (computing)|atribut]] dan [[Method (computer programming)|operasi]] publik yang harus disediakan oleh kelas yang mengimplementasikan interface''[[Protocol (object-oriented programming)|interface]]''.<ref name=":0" />.
|[[Berkas:Component.PNG|jmpl]]
|-
|''Required Interface''
|Mendefinisikan seperangkat atribut dan operasi publik yang dibutuhkan oleh kelas yang bergantung pada ''interface''.<ref name=":0" />.
|[[Berkas:Component.PNG|jmpl]]
|-
|''Ball-and-Socket Joint''
|Komponen dapat terhubung untuk membentuk subsystemsubsistem dengan menggunakan ''ball-and-socket joint'' (gabungan antara ''provided interface'' dan ''required interface'').<ref name=":0" />.
|
|-
|''Port''
|Mengindikasikan bahwa komponen tersebut tidak menyediakan ''interface'' yang dibutuhkan (contoh: ''required'' atau ''provided''). Sebagai gantinya, komponen mendelegasikan ''interface'' ke kelas internal.<ref name=":0" />.
|[[Berkas:Component-2.png|jmpl]]
|}
Baris 36:
|-
|<<BuildComponent>>
|Kumpulan elemen yang didefinisikan untuk kegiatan pengembangan pada level sistem, seperti kompulasikompilasi dan [[Software versioning|versi]].<ref name=":1">{{Cite web|url=https://www.uml-diagrams.org/component.html|title=UML component is a class representing a modular part of a system with encapsulated content and whose manifestation is replaceable within its environment.|website=www.uml-diagrams.org|access-date=2019-04-08}}</ref>.
|-
|<<Entity>>
|Komponen informasi yang mewakili konsep bisnis, contohnya Konsumen'konsumen'.<ref name=":1" />.
|-
|<<Implement>>
|Komponen yang tidak ditujukan untuk memiliki spesifikasi tersendiri. Sebaliknya, komponen ini merupakan implementasi untuk <<spesification>> terpisah yang memiliki ketergantungan (''[[Dependency (UML)|dependency]]'').<ref name=":1" />.
|-
|<<Process>>
|Komponen berbasis transaksi .<ref name=":1" />.
|-
|<<Realization>>
|[[:en:Classifier_Classifier (UML)|Classifier]] yang menentukan domain dari sebuah [[Object (computer science)|objek]] dan juga mendefinisikan implementasi fisik dari objek tersebut.
 
Contohnya, komponen berstereotip <<Realization>> hanya akan memiliki ''[https://www.uml-diagrams.org/component-realization.html realizing classifier]'' yang mengimplementasikan ''[[Class (computer programming)#Behavior|behavior]]'' yang ditentukan oleh komponen <<Spesification>>. Hal ini berbeda dari <<ImplementationClass>> karena ''[[Class (computer programming)|implementation class]]'' merupakan [https://www.uml-diagrams.org/component-realization.html realisasi] dari kelas yang dapat memiliki fitur seperti atribut dan operasi yang berguna bagi desainer sistem.<ref name=":1" />.
 
Contohnya, komponen berstereotip <<Realization>> hanya akan memiliki ''realizing classifier'' yang mengimplementasikan ''behavior'' yang ditentukan oleh komponen <<Spesification>>. Hal ini berbeda dari <<ImplementationClass>> karena ''implementation class'' merupakan [https://www.uml-diagrams.org/component-realization.html realisasi] dari kelas yang dapat memiliki fitur seperti atribut dan operasi yang berguna bagi desainer sistem<ref name=":1" />.
|-
|<Service>>
Baris 57 ⟶ 56:
|-
|<<Spesification>>
|''Classifier'' yang menentukan domain dari sebuah objek tanpa mendefinisikan implementasi fisik dari objek tersebut.
 
Contohnya, komponen berstereotip <<Specification>> hanya akan memiliki ''provided'' dan ''required interfaces'', dan tidak ditujukan untuk memiliki ''realizing classifier'' sebagai bagian dari definisinya.
 
<<Spesification>> dan <<Realization>> digunakan untuk memodelkan komponen dengan spesifikasi dan realisasi khusus, di mana satu spesifikasi dapat memiliki banyak realisasi.<ref name=":1" />.
Contohnya, komponen berstereotip <<Specification>> hanya akan memiliki provided dan required interfaces, dan tidak ditujukan untuk memiliki realizing classifier sebagai bagian dari definisinya.
 
 
<<Spesification>> dan <<Realization>> digunakan untuk memodelkan komponen dengan spesifikasi dan realisasi khusus, di mana satu spesifikasi dapat memiliki banyak realisasi<ref name=":1" />.
|-
|<<Subsystem>>
|Komponen yang merepresentasikan unit dekomposisi hirarkis untuk sistem besar dan digunakan untuk memodelkan komponen berskala besar. Sebuah [[System|subsistem]] dapat memiliki elemen spesifikasi dan realisasi.<ref name=":1" />.
|}
 
== Sejarah ==
Notasi komponen sebagai ''classifier'' berbentuk persegi panjang dengan kata kunci <<component>> dikenalkan dalam [[Unified Modeling Language|UML 2.0.]] Pada versi sebelumnya, UML 1.x, notasi komponen berbentuk persegi panjang dengan dua persegi panjang kecil menonjol dari sisinya. Untuk alasan kesesuaian, notasi ini masih boleh digunakan pada UML 2.5.
 
Pada UML 1.4.2 stereotip <<entity>> merepresentasikan kelas pasif, contohnya kelas yang objeknya tidak menginisiasi interaksi pada dirinya sendiri. <<Entity>> menjadi komponen informasi tetap pada UML 2.0.
 
Stereotip <<process>> menentukan ''classifier'' yang merepresentasikan aliran kontrol pada UML 1.4.2. <<Process>> menjadi komponen berbasis transaksi pada UML 2.0.
 
Pada UML 1.4.2. <<subsystem>> merupakan jenis khusus dari package yang digunakan untuk merepresentasikan unit behavioral pada sistem, dan dalam model, dan berperan sebagai unit spesifikasi untuk ''behavior'' dari elemen-elemen model yang terkandung di dalamnya. <<Subsystem>> menjadi stereotip komponen untuk mewakili unit dekomposisi hirarkis untuk sistem besar di UML 2.0.
 
UML 2.0 juga mengenalkan stereotip komponen <<BuildComponent>>, <<Implement>> dan <<Service>>.<ref name=":1" />.
 
== Catatan Kaki ==
[[Berkas:Policy Admin Component Diagram.PNG|jmpl|Contoh Diagram Komponen]]
<references />
 
== Referensi ==
[[Kategori:Component]]
{{Cite book|title=System Analysis and Design Methods|last=Whitten|first=J.L.|publisher=Times Mirror|year=1986|isbn=|location=New Yorks|page=}}
 
[[Kategori:Rekayasa perangkat lunak]]
[[Kategori:ComponentDiagram UML]]