PENJELASAN LENGKAP 14 JENIS UNIFIED MODELLING LANGUAGE (UML)

 

UNIFIED MODELLING LANGUAGE (UML)

A.    Pengertian Unified Modelling Language (UML)

Unified Modelling Language (UML) adalah metode pemodelan visual yang digunakan untuk merancang sistem berorientasi objek. Diciptakan oleh Object Management Group, versi awal UML, 1.0, diluncurkan pada Januari 1997. UML dapat diartikan sebagai bahasa standar untuk visualisasi, perancangan, dan pendokumentasian sistem, atau sebagai bahasa standar untuk penulisan blueprint perangkat lunak. UML bertujuan mempermudah pengembangan perangkat lunak (RPL) dengan memenuhi semua kebutuhan pengguna secara efektif, lengkap, dan tepat, termasuk aspek scalability, robustness, dan security.

B.    Sejarah Unified Modeling Language (UML)

·       Awal Mula

Pada tahun 1996, Object Management Group (OMG) mengeluarkan Request for Proposal (RFP) untuk menciptakan standar pemodelan yang terpadu. RFP ini memungkinkan berbagai organisasi untuk bekerja sama dalam merespons permintaan tersebut dengan mengembangkan metode pemodelan yang baru.

·       Pembentukan Konsorsium UML

Rational Software Corporation memimpin pembentukan konsorsium mitra UML, mengajak berbagai organisasi lain untuk menginvestasikan sumber daya mereka dalam menginisiasi UML versi 1.0. Kontributor awal untuk UML 1.0 termasuk Digital Equipment Corp, HP, i-Logix, IntelliCorp, IBM, ICON Computing, MCI Systemhouse, Microsoft, Oracle, Rational, TI, dan Unisys. UML versi 1.0 kemudian diajukan kepada OMG pada Januari 1997 sebagai respons atas RFP awal tersebut.

·       Pengembangan UML 1.1

Pada Januari 1997, perusahaan seperti IBM, ObjectTime, Platinum Energy, Ptech, Taskon, Reich Technology, dan Softeam juga mengajukan RFP terpisah kepada OMG. Perusahaan-perusahaan ini kemudian bergabung untuk berkontribusi pada versi baru UML, yaitu UML 1.1. Versi ini memasukkan berbagai ide dari mitra baru dan memperbaiki versi sebelumnya.

·       Adopsi dan Pengembangan Lebih Lanjut

UML 1.1 diajukan ke OMG untuk dipertimbangkan dan akhirnya diadopsi pada musim gugur tahun 1997. UML terus berkembang dari versi 1.1 menjadi 1.5, kemudian diperbarui lagi menjadi UML 2.1 dari 01 hingga 06. Versi terbaru dari UML saat ini adalah UML 2.5.

·       Standarisasi Internasional

Pada tahun 2005, UML diumumkan sebagai standar oleh International Organization for Standardization (ISO), mengukuhkan posisinya sebagai bahasa pemodelan yang diakui secara global untuk perancangan dan pengembangan sistem perangkat lunak berorientasi objek.

C.    Tujuan dan Fungsi Unified Modelling Language (UML):

1. Memberikan Bahasa Pemodelan Visual Bagi Pengguna dari Berbagai Bahasa Pemrograman dan Proses Rekayasa:

UML menyediakan cara standar untuk memvisualisasikan dan mendesain sistem yang dapat dipahami oleh pengguna dengan latar belakang pemrograman yang berbeda. Hal ini membantu menyatukan berbagai konsep pemrograman dalam satu format visual yang konsisten.

2.     Menggabungkan Informasi Terbaik dalam Pemodelan:

UML mengumpulkan praktik terbaik dari berbagai metode pemodelan dan mengintegrasikannya menjadi satu bahasa pemodelan yang komprehensif. Ini memungkinkan pengembang untuk menggunakan teknik dan strategi terbaik yang telah terbukti efektif dalam pemodelan sistem.

3. Menyediakan Model atau Bahasa Pemodelan Visual yang Ekspresif dalam Pengembangan Sistem:

UML menawarkan berbagai diagram yang dapat digunakan untuk memodelkan berbagai aspek sistem secara detail dan jelas, membantu pengembang dan pemangku kepentingan untuk memahami dan berkomunikasi tentang sistem dengan lebih baik.

4.    Memodelkan Tidak Hanya Sistem Perangkat Lunak, Tetapi Juga Sistem Berorientasi Objek:

UML dirancang untuk memodelkan sistem yang kompleks, termasuk sistem perangkat lunak dan sistem berorientasi objek. Ini memungkinkan pengguna untuk mendefinisikan struktur dan perilaku objek dalam sistem secara komprehensif.

5.     Mempermudah Pengguna dalam Memahami Suatu Sistem:

Dengan menggunakan representasi visual, UML membuat konsep dan struktur sistem lebih mudah dipahami oleh berbagai pemangku kepentingan, termasuk yang mungkin tidak memiliki latar belakang teknis yang kuat.

6.  Berfungsi Sebagai Blueprint yang Menjelaskan Detail Perancangan Hingga Coding Program:

UML berfungsi sebagai cetak biru (blueprint) yang menggambarkan detail perancangan sistem secara lengkap, termasuk elemen-elemen desain yang penting dan spesifikasi teknis yang dapat digunakan oleh pengembang selama proses pengkodean.

7. Digunakan Sebagai Alat Transfer Ilmu Tentang Sistem Aplikasi yang Akan Dikembangkan Antara Developer:

UML memfasilitasi transfer pengetahuan antar pengembang dengan menyediakan dokumentasi visual yang jelas dan terstandarisasi. Ini sangat berguna dalam tim pengembangan yang terdiri dari banyak anggota atau dalam proyek yang melibatkan pengembang dari berbagai latar belakang dan lokasi. Dengan fungsi-fungsi ini, UML menjadi alat yang sangat penting dalam perancangan dan pengembangan sistem, memungkinkan pengembangan yang lebih terstruktur, efisien, dan efektif. UML penting karena berfungsi sebagai jembatan antara pengembang sistem dan pengguna, memungkinkan pengguna untuk memahami sistem yang akan dikembangkan. Diagram Struktural (Structural Diagram) dengan Diagram Perilaku (Behavioral Diagram) adalah dua kategori utama dalam pemodelan sistem dengan UML (Unified Modeling Language). Keduanya digunakan untuk memodelkan aspek yang berbeda dari sebuah sistem.

D. Perbedaan Diagram Struktural (Structural Diagram) dengan Diagram Perilaku (Behavioral Diagram)

1.     Fokus:

·    Komponen Statis: Diagram struktural berfokus pada elemen-elemen statis dari sebuah sistem dan hubungan antar elemen-elemen tersebut, yang mencakup struktur dasar dan hubungan yang tidak berubah seiring waktu.

·     Komponen Dinamis: Diagram perilaku berfokus pada bagaimana elemen-elemen sistem berinteraksi dan bagaimana perilaku sistem berubah seiring waktu, yang mencakup alur kerja, interaksi, dan perubahan keadaan sistem.

2.     Tujuan:

·      Diagram struktural bertujuan untuk menggambarkan struktur internal sistem, memahami dan merencanakan arsitektur sistem, serta mengidentifikasi elemen-elemen utama dalam sistem dan bagaimana mereka saling terkait.

·    Diagram perilaku bertujuan untuk memodelkan alur proses dan interaksi dalam sistem, menggambarkan bagaimana elemen-elemen sistem berinteraksi dan berfungsi Bersama, serta mengidentifikasi alur kerja, keputusan, dan perubahan keadaan dalam sistem.

3.     Jenis:

·     Jenis Diagram Struktural: Composite Structure Diagram, Deployment Diagram, Package Diagram, Profile Diagram, Class Diagram, Object Diagram, dan Component Diagram.

·     Jenis Diagram Perilaku: Activity Diagram, Use Case Diagram, State Machine Diagram, Interaction Diagram (Sequence Diagram, Communication Diagram, Interaction Overview Diagram, dan Timing Diagram).

E. Jenis-Jenis Diagram Struktural Diagram Struktural (Structural Diagram) dengan Diagram Perilaku (Behavioral Diagram)

1.     Diagram Struktural (Structural Diagram)

Diagram struktural adalah representasi statis dari sebuah sistem yang menggambarkan bagaimana komponen-komponen sistem saling berhubungan. Diagram ini digunakan untuk memodelkan arsitektur dan desain perangkat lunak, serta untuk mengkomunikasikan struktur sistem kepada pemangku kepentingan, baik teknis maupun non-teknis. Beberapa contoh diagram struktural adalah:

A.    Composite Structure Diagram

Composite Structure Diagram adalah salah satu jenis baru yang ditambahkan ke UML 2.0. Diagram struktur komposit adalah diagram struktural UML yang berisi kelas, antarmuka, paket, dan hubungannya, dan yang memberikan pandangan logis dari semua, atau bagian dari sistem perangkat lunak. Ini menunjukkan struktur internal (termasuk bagian dan konektor) dari pengklasifikasi atau kolaborasi terstruktur. Diagram struktur komposit menjalankan peran serupa dengan diagram kelas, namun memungkinkan menjelaskan lebih detail struktur internal beberapa kelas dan menunjukkan interaksi di antara mereka, dapat secara grafis mewakili kelas-kelas dalam dan bagian-bagiannya serta menunjukkan hubungan antara dan di dalam kelas.

Diagram Struktur Komposit

·       Diagram menunjukkan bagian internal suatu kelas.

·       Bagian diberi nama: partName:partType[multiplisitas].

·  Kelas gabungan adalah bagian dari suatu kelas tetapi bagian belum tentu merupakan kelas, bagian adalah elemen apa pun yang digunakan untuk membentuk kelas yang menampungnya.

Contoh Penerapan:

Toko online

Misalkan kita sedang memodelkan sistem untuk toko online. Klien telah memberi tahu bahwa pelanggan dapat bergabung dengan program keanggotaan yang akan memberi mereka penawaran khusus dan diskon pengiriman, jadi telah diperluas objek pelanggan untuk memberikan opsi anggota dan standar.

Pada contoh di atas, dapat dilihat:

·  StoreManager dari sudut pandangnya sendiri, bukan dari sistem secara keseluruhan.

·       StoreManager secara langsung berisi dua jenis objek (Customer dan Item) seperti yang ditunjukkan oleh dua panah komposisi pada diagram kelas.

·       Diagram struktur komposit di sini menunjukkan lebih eksplisit adalah masuknya subtipe Pelanggan.

·    Perhatikan bahwa tipe kedua bagian ini adalah Pelanggan, karena toko melihat keduanya sebagai objek Pelanggan.

·       Konektor yang menunjukkan hubungan antara Item dan Pesanan.

·     Urutan tidak secara langsung terkandung dalam kelas StoreManager tetapi dapat menunjukkan hubungan ke bagian-bagian yang disarangkan dalam objek yang dikumpulkannya.


Konsep Dasar Diagram Struktur Komposit: Entitas struktur komposit utama yang diidentifikasi dalam spesifikasi UML 2.0 adalah pengklasifikasi terstruktur, bagian, port, konektor, dan kolaborasi.

·  Kolaborasi menggambarkan struktur bagian-bagian yang berkolaborasi (peran). Kolaborasi dilampirkan ke operasi atau pengklasifikasi melalui penggunaan kolaborasi, dengan menggunakan kolaborasi ketika hanya ingin menentukan peran dan koneksi yang diperlukan untuk mencapai tujuan kolaborasi tertentu. Misalnya, tujuan kolaborasi bisa untuk menentukan peran atau komponen pengklasifikasi. Dengan mengisolasi peran utama, kolaborasi menyederhanakan struktur dan memperjelas perilaku dalam suatu model.

Contoh

Dalam contoh ini Roda dan Mesin adalah Bagian dari Kolaborasi dan Gandar Depan dan Gandar Belakang adalah Penghubungnya. Mobil adalah Struktur Komposit yang menunjukkan bagian-bagian dan hubungan antar bagian.

Kolaborasi Mobil

·       Bagian adalah elemen diagram yang mewakili sekumpulan satu atau lebih instance yang dimiliki oleh pengklasifikasi terstruktur. Bagian menjelaskan peran sebuah instance dalam pengklasifikasi, dapat membuat bagian dalam kompartemen struktur pengklasifikasi, dan dalam beberapa diagram UML seperti struktur komposit, kelas, objek, komponen, penerapan, dan diagram paket.

·       Port mendefinisikan titik interaksi antara instance pengklasifikasi dan lingkungannya atau antara perilaku pengklasifikasi dan bagian internalnya.

·       Antarmuka adalah diagram struktur komposit mendukung notasi ball-and-socket untuk antarmuka yang disediakan dan diperlukan. Antarmuka dapat ditampilkan atau disembunyikan dalam diagram sesuai kebutuhan.

·       Penyambung adalah garis yang mewakili hubungan dalam suatu model. Saat memodelkan struktur internal pengklasifikasi, dapat menggunakan konektor untuk menunjukkan tautan antara dua atau lebih contoh bagian atau port. Konektor mendefinisikan hubungan antara objek atau instance yang terikat pada peran dalam pengklasifikasi terstruktur yang sama dan mengidentifikasi komunikasi antara peran tersebut. Produk secara otomatis menentukan jenis konektor yang akan dibuat.

B.    Deployment Diagram

Deployment Diagram adalah salah satu model diagram dalam UML untuk mengerahkan artefak dalam node. Deployment diagram digunakan untuk memvisualisasikan hubungan antara software dan hardware. Secara spesifik deployment diagram dapat membuat physical model tentang bagaimana komponen perangkat lunak (artefak) digunakan pada komponen perangkat keras, yang dikenal sebagai node. Ini adalah salah satu diagram paling penting dalam tingkat implementasi perangkat lunak dan ditulis sebelum melakukan coding. Deployment diagram sederhana yang disederhanakan untuk aplikasi web akan mencakup:

·       Nodes (application server dan database server)

Contoh: Komputer/PDA, laptop, handphone, serta peralatan komunikasi data (router, hub, switch, modem)

·       Artifacts (application client dan database schema)

Artefak merupakan spesifikasi dari bentuk informasi fisik yang digunakan atau dihasilkan. Selain itu, artefak dapat dihubungkan dengan komponen pada component diagram dan hanya digambarkan dalam sebuah node

Contoh: source file, script, executable file, table di database, document word/excel, e-mail, dll.

Contoh Penerapan:

Dari konteksnya, tampaknya diagram deployment melibatkan komponen-komponen berikut:

·       BrowserClient dan RichClient, yang merupakan aplikasi sisi klien yang berjalan di Windows.

·       HerculesClient.exe, yang merupakan file executable terkait dengan aplikasi sisi klien.

·       Application Server, yang merupakan komponen sisi server yang meng-host EJB Container.

·       JoveGL.exe, yang merupakan file executable terkait dengan Application Server.

·       Deployed artifact, yang kemungkinan adalah file WAR (HerculesWeb.war) yang di-deploy pada Application Server.

·       EJB Container, yang merupakan komponen yang mengelola Enterprise JavaBeans (EJB) pada Application Server.

·       HerculesBase.car, yang merupakan file konfigurasi atau deployment descriptor untuk EJB Container.

·       WebServer, yang merupakan komponen sisi server yang meng-host Application Server.

·       OracleDBMS, yang merupakan sistem manajemen basis data yang digunakan oleh Application Server.

·       Device node, yang mewakili perangkat fisik atau logis dalam lingkungan deployment.

Diagram ini kemungkinan menunjukkan deployment aplikasi HerculesWeb pada WebServer, yang berinteraksi dengan OracleDBMS dan menyediakan layanan kepada aplikasi sisi klien (BrowserClient dan RichClient) melalui protokol HTTP atau Java RMI.

C.    Package Diagram

Package Diagram merupakan salah satu Structure UML Diagram yang menggambarkan “paket” kelas, atau komponen sistem lainnya dan disertai dengan keterangan ketergantungan kelas satu dengan kelas lainnya. Tujuan utama penggunaan Package Diagram yakni adalah memberikan overview sekumpulan kebutuhan dan desain arsitektur dari sebuah sistem yang memiliki hubungan logis dalam diagram modularnya (memecah sistem menjadi bagian kecil).

Packages Diagram Memiliki 3 Simbol:

·       Packages berisikan sekumpulan elemen UML yang saling memiliki hubungan logical.

·       Notasi import mengartikan sebuah package mengimport sebuah fungsi dari Package lain dan memberikan One Way Permission yang dapat dijelaskan seperti Package A meng-import Package B, maka Package A bisa dapat memakai fungsi Package B, tetapi Package B tidak bisa menggunakan fungsi Package A.

·       Notasi access mengartikan sebuah package membutuhkan fungsi dari package lain untuk menjalankan fungsi itu sendiri.

Package biasanya juga sering bergabung dengan package lain agar fungsi kedua package berjalan dengan lebih efisien, operasi ini disebut sebagai (Package Merge) atau Penggabungan Paket adalah hubungan terarah antara dua paket yang menunjukkan bahwa konten suatu paket diperpanjang oleh konten paket lain. Mekanisme ini digunakan ketika elemen di sebuah paket memiliki nama yang sama dengan paket dan mewakili konsep yang sama (2 paket dengan nama yang sama). Package Merge sering digunakan untuk memberikan definisi yang berbeda dari konsep yang diberikan untuk tujuan yang berbeda, dimulai dari definisi dasar yang sama.

Contoh Penerapan:

Terdapat empat paket utama: Web Shopping, Mobile Shopping, Phone Shopping, dan Mail Shopping. Paket-paket ini tampaknya mewakili saluran atau platform berbeda untuk belanja online.

·       Paket Web Shopping dan Mobile Shopping digabungkan, menunjukkan bahwa mereka berbagi beberapa elemen atau fungsi yang sama.

·       Paket Mobile Shopping dan Phone Shopping juga digabungkan, menunjukkan bahwa mereka memiliki beberapa komponen yang tumpang tindih atau berbagi.

·       Paket Payment digunakan oleh paket Shopping Cart, yang menyiratkan bahwa fungsi pembayaran diintegrasikan dengan keranjang belanja.

·       Paket Shopping Cart memiliki ketergantungan impor privat pada paket Inventory, menunjukkan bahwa keranjang belanja bergantung pada sistem inventaris tetapi tidak mengeksposnya ke dunia luar.

·       Paket Customer diimpor secara publik, menunjukkan bahwa informasi pelanggan dapat diakses oleh bagian lain dari sistem.

·       Paket K Mail Shopping juga ada, tetapi hubungannya dengan paket lain tidak ditunjukkan secara eksplisit.

Diagram ini di-host di uml-diagrams.org, yang merupakan platform untuk membuat dan berbagi diagram UML. Secara keseluruhan, diagram paket ini tampaknya menggambarkan arsitektur tingkat tinggi dari sebuah sistem e-commerce, menyoroti hubungan antara berbagai komponen dan paket.

D.    Profile Diagram

Diagram Profil (Profile Diagram) adalah jenis diagram dalam UML yang digunakan untuk menunjukkan bagaimana paket, kelas, dan elemen UML lainnya dikonfigurasi untuk domain atau platform tertentu. Diagram ini memungkinkan untuk menentukan penggunaan profil UML khusus yang menambahkan metadata atau properti tambahan ke elemen UML. Profil ini dapat mencakup stereotype, tagged values, dan constraint yang dapat digunakan untuk memberikan informasi tambahan tentang elemen UML yang digunakan dalam model. Stereotype ditampilkan dalam tanda kurung sudut (<< >>) sebelum nama elemen UML, tagged values ditampilkan sebagai atribut tambahan dengan nilai tertentu, dan constraint ditampilkan dalam kurung kurawal ({ }) dengan teks khusus.

Contoh Penerapan:

Ada dua profil diagram, sebuah profil adalah kumpulan stereotype yang dapat diterapkan pada sebuah model. Stereotype A dan Stereotype B adalah dua stereotype yang merupakan bagian dari Profil. Sebuah stereotype adalah cara untuk memperluas semantik dari sebuah elemen UML. Stereotype A memiliki dua atribut: Attribute1 dengan tipe Integer dan Attribute2 dengan tipe String.

Abstract Stereotype adalah sebuah stereotype yang diterapkan pada Metaclass. Sebuah metaclass adalah kelas yang instansinya adalah kelas.

Stereotype lainnya adalah stereotype lain yang merupakan bagian dari profil lainnya. Diagram tersebut menunjukkan hubungan antara stereotype dan profil yang menunjukkan bagaimana mereka diorganisir dan berhubungan satu sama lain.

E.    Class Diagram

Diagram Kelas (Class Diagram) adalah jenis diagram dalam UML yang digunakan untuk memodelkan struktur statis dari sistem dengan menunjukkan kelas, atribut, operasi, dan hubungan antar kelas. Diagram ini membantu dalam memvisualisasikan struktur kelas dan hubungan antar kelas dalam sistem, serta menunjukkan bagaimana informasi disimpan dalam bentuk objek. Diagram kelas juga dapat digunakan untuk menganalisis, merancang, dan memahami sistem yang akan dibangun.

Simbol Pada Class Diagram

·       Kelas: Simbolnya Kotak dengan tiga bagian (bagian atas untuk nama kelas, bagian tengah untuk atribut, dan bagian bawah untuk operasi)

·       Hubungan antar Kelas:

o   Asosiasi: Garis yang menghubungkan dua kelas dengan panah di ujungnya, menunjukkan hubungan antar kelas.

o   Agregasi: Garis dengan ujung berbentuk diamond di salah satu ujungnya, menunjukkan hubungan whole-part antara kelas.

o   Komposisi: Garis dengan ujung berbentuk diamond yang diisi di salah satu ujungnya, menunjukkan hubungan whole-part yang lebih kuat daripada agregasi.

o   Generalisasi: Garis dengan panah dari kelas anak ke kelas induk, menunjukkan hubungan inheritance antar kelas.

Contoh Penerapan:

F.     Object Diagram

Diagram Objek (Object Diagram) adalah jenis diagram dalam UML yang digunakan untuk menunjukkan contoh konkret dari objek-objek pada suatu titik waktu dalam sistem. Diagram ini memberikan gambaran instansiasi dari kelas-kelas yang telah didefinisikan dalam diagram kelas. Object diagram membantu dalam memahami bagaimana objek-objek berinteraksi satu sama lain dalam sistem pada saat tertentu, dan dapat digunakan untuk menguji desain kelas dan hubungan antar objek.

Simbol Pada Object Diagram

·       Objek: Simbolnya kotak dengan nama objek di dalamnya.

·       Hubungan antar Objek: Objek-objek dihubungkan dengan garis tanpa panah, menunjukkan hubungan antara objek-objek pada titik waktu tertentu.

·       Pada diagram objek, dapat melihat atribut dan nilai-nilai objek, yang ditampilkan seperti pada diagram kelas, namun fokusnya adalah pada contoh konkret dari kelas-kelas yang ada.

Contoh Penerapan:

Diagram Objek tunggal tidak bisa menangkap semua kasus yang dibutuhkan. Lebih tepatnya objek tersebut tidak bisa digunakan dalam menentukan seluruh objek dari sistem. Untuk itu, maka terdapat beberapa hal yang perlu dilakukan:

·       Menganalisa sebuah sistem kemudian membuat keputusan sesuai dengan kasus yang mempunyai data penting.

·       Mempertimbangan seputar contoh-contoh yang sesuai dengan fungsi tersebut.

·       Ada dua hal penting yang dibutuhkan di dalam membuat sebuah objek diagram. Dua hal tersebut adalah objek dan juga link objek diagram harus mempunyai nama yang juga menunjukkan tujuannya.

·       Unsur-unsur terpentingya adalah untuk dilakukan identifikasi.

·       Asosiasi terhadap objek-objek yang akan dikelompokkan.

·       Nilai yang berasal dari elemen berbeda nanti harus diambil untuk kemudian dimasukkan ke dalam diagram objek.

·       Menambahkan catatan yang sesuai pada titik di mana lebih membutuhkan penjelasan.

G.    Component Diagram

Component Diagram adalah diagram UML yang menampilkan komponen dalam system dan hubungan antara mereka. Saat berurusan dengan dokumentasi sistem yang kompleks, component diagram dapat membantu memecah sistem menjadi komponen yang lebih kecil. Jadi tujuan dari komponen diagram adalah:

·       Memvisualisasikan komponen dari suatu sistem

·       Membangun file-file yang dapat dieksekusi dengan menggunakan teknik forward dan reverse engineering

·       Menjelaskan organisasi dan hubungan dari komponen

Notasi-Notasi pada Component Diagram

·       Komponen (Component): Mewakili bagian modular dari sistem yang memiliki antarmuka yang jelas dan dapat diimplementasikan serta di-deploy secara independen.

·       Antarmuka (Interface): Menunjukkan titik interaksi antara komponen. Antarmuka yang disediakan oleh komponen digambarkan sebagai lingkaran kecil, sedangkan antarmuka yang diperlukan digambarkan sebagai setengah lingkaran dengan garis yang mengarah ke antarmuka yang dibutuhkan.

·       Hubungan (Relationship)

o   Dependency: Digambarkan dengan garis putus-putus dengan panah, menunjukkan bahwa satu komponen bergantung pada komponen lain.

o   Association: Digambarkan dengan garis solid, menunjukkan hubungan antara dua komponen atau komponen dengan antarmuka.

o   Realization: Digambarkan dengan garis putus-putus dengan panah menuju antarmuka, menunjukkan bahwa komponen mengimplementasikan antarmuka tersebut.

·       Node: Mewakili elemen fisik dalam sistem, seperti server atau perangkat keras, tempat komponen di-deploy.

·       PortFungsi: Menunjukkan titik di mana komponen berinteraksi dengan lingkungan luar melalui antarmuka.

·       Artifact: Mewakili file fisik yang digunakan atau dihasilkan selama pembangunan perangkat lunak, seperti file source code atau executable.

Contoh Penerapan:

·       Mesin: merujuk pada mesin atau sistem dalam arsitektur keseluruhan.

·       Sales: departemen atau modul yang menangani operasi terkait penjualan.

·       Message: mewakili pesan atau data yang dikirimkan antara komponen.

·       Transaction Processor: bertanggung jawab untuk memproses transaksi, seperti transaksi keuangan atau data.

·       Message Queue: Antrian pesan adalah buffer yang menyimpan pesan atau data sementara, memungkinkan komponen berkomunikasi secara asinkron.

·       Sales Server: server atau aplikasi yang mengelola tugas dan data terkait penjualan.

·       Accounting: departemen atau modul yang menangani operasi terkait akuntansi.

·       Driver: komponen perangkat lunak yang memungkinkan satu sistem untuk berinteraksi dengan sistem atau perangkat keras lainnya.

·       Accounting System:  sistem atau perangkat lunak yang mengelola tugas dan data terkait akuntansi.

Diagram tersebut kemungkinan menunjukkan bagaimana komponen-komponen ini berinteraksi satu sama lain untuk membentuk sistem atau arsitektur yang lengkap.

 

2.     Diagram Perilaku (Behavioral Diagram)

Diagram Perilaku berfokus pada bagaimana komponen sistem berinteraksi dan berubah seiring waktu, diagram perilaku memodelkan aspek dinamis dari sebuah sistem, menunjukkan bagaimana komponen-komponen sistem berinteraksi satu sama lain. Diagram ini digunakan untuk memodelkan interaksi antara objek, proses, dan peristiwa dalam sistem, serta merupakan alat yang efektif untuk memvisualisasikan dan memahami aspek dinamis dari perangkat lunak. Beberapa contoh diagram perilaku adalah:

A.    Activity Diagram

Diagram Aktivitas mewakili alur kerja dengan cara grafis. Dapat digunakan untuk menggambarkan alur kerja bisnis atau alur kerja operasional dari setiap komponen dalam sistem, terkadang diagram aktivitas digunakan sebagai alternatif untuk diagram mesin negara.

Notasi Umum:

·       Start Point adalah lingkaran hitam kecil. Biasanya digunakan untuk menandakan status awal, tindakan awal, atau titik awal aktivitas untuk setiap activity diagram.

·       Activity (Aktivitas) merupakan aktivitas yang dilakukan atau sedang terjadi dalam sistem. Biasanya diawali dengan “kata kerja” dari aktivitas yang dilakukan.

·       Percabangan atau decision merupakan suatu titik atau point yang mengindikasikan suatu kondisi di mana adanya kemungkinan dalam perbedaan transisi. Hal tersebut diperlukan ketika sistem yang dimiliki memiliki beberapa kemungkinan atau jalan alternatif.

·       SSynchronization dibagi menjadi 2 bagian, yaitu fork dan join.

o   Fork (percabangan) digunakan untuk memecah behaviour (tingkah laku) menjadi activity atau action (aksi) secara paralel.

o   Join (penggabungan) digunakan untuk menghubungkan kembali activity dengan action secara paralel.

·       Merge, menggabungkan flow yang sudah dipecah menjadi beberapa bagian oleh suatu flow.

·       Swimlanes, memecah activity diagram menjadi kolom dan baris untuk membagi tanggung jawab objek-objek yang melakukan suatu aktivitas.

·       Transition, digunakan untuk menunjukan aktivitas selanjutnya dan sebelumnya.

·       Notasi akhir digunakan untuk menandakan proses tersebut berakhir. Pada UML, notasi akhir dapat  digambarkan dengan simbol sebuah bull’s eye (mata sapi).

Contoh Penerapan:

·       Pemasok menyediakan informasi: Pemasok berbagi informasi tentang barang yang akan dipesan.

·       Menerima informasi: Departemen pembelian menerima informasi dari pemasok.

·       Membuat Permintaan Pembelian (SPP): Departemen pembelian membuat Permintaan Pembelian berdasarkan informasi yang diterima.

·       Menyetujui Permintaan Pembelian (SPP): Permintaan Pembelian disetujui.

·       Membuat Surat Perintah Pembelian (SPBJ): Surat Perintah Pembelian dibuat berdasarkan Permintaan Pembelian yang disetujui.

·       Menandatangani Surat Perintah Pembelian (SPBJ): Surat Perintah Pembelian ditandatangani untuk mengonfirmasi persetujuan.

·       Mengirim barang dengan faktur: Pemasok mengirimkan barang beserta faktur.

·       Menerima Surat Perintah Pembelian (SPBJ): Departemen pembelian menerima Surat Perintah Pembelian.

·       Melakukan pembayaran: Pembayaran untuk barang dilakukan.

·       Mengkonfirmasi pembayaran: Konfirmasi pembayaran dikirimkan ke pemasok.

·       Menerima pembayaran: Pemasok menerima pembayaran.

·       Menerima kwitansi: Departemen pembelian menerima kwitansi dari pemasok.

·       Membuat kwitansi: Departemen pembelian membuat kwitansi untuk transaksi tersebut.

·       Proses ini memastikan aliran informasi dan barang yang jelas dan terorganisir antara pemasok dan departemen pembelian, mulai dari permintaan awal untuk barang hingga penerimaan pembayaran dan barang.

B.    Use Case Diagram

Use Case Diagram adalah satu dari berbagai jenis diagram UML (Unified Modelling Language) yang menggambarkan hubungan interaksi antara sistem dan aktor. Use Case dapat mendeskripsikan tipe interaksi antara si pengguna sistem dengan sistemnya. Tentunya, use case diagram merupakan sesuatu yang mudah dipelajari. Langkah awal untuk melakukan pemodelan, tentu perlunya suatu diagram yang mampu menjabarkan aksi aktor dengan aksi sistem itu sendiri, seperti yang terdapat pada use case diagram

Komponen Use Case Diagram:

·       Sistem, digambarkan ke dalam bentuk persegi. Fungsinya untuk membatasi use case dengan interaksi dari luar sistem. Sistem pada umumnya diberikan label yang sesuai. Namun, umumnya sistem ini tidaklah diberi gambar karena kita tidak terlalu memberikan makna pada sebuah diagram.

·       Actor, fungsi aktor menjelaskan siapa yang berinteraksi dengan sistem. Aktor akan memberikan informasi kepada sistem, serta menerima informasi dari sistem. Keduanya bisa terjadi secara bersamaan. Aktor tidak memberikan kontrol terhadap sistem, namun hanya memberikan gambaran mengenai hubungannya dengan sistem.

·       Use Case, ialah komponen gambaran fungsional dalam sebuah sistem. Sehingga konsumen maupun pembuat saling mengenal dan mengerti mengenai alur sistem yang akan dibuat.

Contoh Penerapan:

OVO adalah aplikasi pintar yang memberikan kemudahan dalam bertransaksi (OVO Cash), serta berfungsi untuk mengumpulkan poin di banyak tempat (OVO Points).

·       User: Orang yang dapat mengakses atau menggunakan aplikasi OVO, mulai dari login ke aplikasi hingga melakukan aksi terhadap aplikasi seperti top up saldo, transfer, dan payment.

·       Register: Register merupakan langkah pertama yang dilakukan user ketika ia tidak mempunyai akses pada aplikasi OVO. Mendaftarkan data diri ke dalam aplikasi agar dikenali.

·       Login: Setelah mendapatkan akun, user harus melakukan login agar dapat mengakses berbagai fitur aplikasi OVO.

·       Top Up: Suatu kegiatan yang dilakukan user untuk mengisi ulang saldo OVO. Terdapat 2 pilihan alternatif untuk melakukan top up saldo, yaitu melalui ATM dan internet banking.

·       Transfer: berfungsi untuk mengirim atau membagikan saldo dalam aplikasi OVO ke pengguna lain, baik sesama OVO atau ke rekening tertentu.

·       Payment: Ketika user memilih menu payment, maka user dapat melakukan pembayaran lewat aplikasi.

C.    State Machine Diagram

State Diagram merupakan diagram yang menggambarkan perubahan dan transisi keadaan (dari satu status ke status lainnya) sebuah objek pada program sebagai akibat dari stimulan yang diterima. Termasuk ke dalam Behavioral Diagrams karena diagram ini berfungsi untuk memodelkan metode/behavior (lifecycle) sebuah kelas atau objek untuk menunjukkan urutan kejadian sesaat (status) yang dilewati sebuah objek, transisi dari sebuah status ke status lainnya. State Diagram menggambarkan seluruh status yang membolehkan objek-objek dalam kelas dapat dipunyai dan kejadian yang memicu status berubah. Perubahan dalam suatu status juga disebut transisi (transition).

Notasi State Diagram:

·       Notasi State merupakan notasi yang menggambarkan suatu kondisi yang terjadi pada objek yang dapat memenuhi beberapa kondisi untuk melakukan kegiatan atau menunggu suatu kejadian.

 

 

·       Transition, sebuah tanda panah yang menunjukkan hubungan antara dua state di mana objek di state pertama akan melakukan tindakan tertentu dan memasuki state kedua saat peristiwa tertentu terjadi dan kondisi akan terpenuhi.

·       Event, suatu kejadian yang dapat membuat state dari object berubah. Digunakan untuk menggambarkan keadaan saat masuk (entry point) atau keluar (exit point).

·       Initial State dan Final State

o   Initial State: yang disebut juga initial pseudo-state ini digunakan untuk menggambarkan awal dari kejadian.

o   Final State: digunakan untuk menjelaskan/menggambarkan akhir

(end) dari kejadian di dalam State Diagram.

Contoh Penerapan:

Di atas adalah contoh state diagram untuk objek produk. Sistem diawali dengan merchant meng-input data produk, kemudian status akan berubah menjadi data produk ter-upload. Kemudian merchant menyimpan data produk, dan sistem akan merespon dengan laporan data berhasil tersimpan.

D.    Interaction Diagram

Interaction diagram digunakan untuk memodelkan interaksi antara objek dalam sistem pada level yang lebih detail.

1.     Sequence Diagram

Sequence Diagram atau diagram urutan adalah sebuah diagram yang digunakan untuk menjelaskan dan menampilkan interaksi antar objek-objek dalam sebuah sistem secara terperinci. Selain itu sequence diagaram juga akan menampilkan pesan atau perintah yang dikirim, beserta waktu pelaksanaannya. Objek-objek yang berhubungan dengan berjalannya proses operasi biasanya diurutkan dari kiri ke kanan. Diagram urutan dapat digunakan untuk menggambarkan serangkaian langkah yang dilakukan sebagai respon dari sebuah peristiwa untuk menghasilkan suatu output tertentu. Sequence diagram berhubungan dan berkaitan erat dengan use case diagram, di mana satu use case diagram akan menjadi satu diagram sequence. Tujuan utama dari pembuatan diagram urutan adalah untuk mengetahui urutan kejadian yang dapat menghasilkan output yang diinginkan. Selain itu, tujuan dari diagram urutan ini mirip dengan activity diagram, seperti menggambarkan alur kerja dari sebuah aktivitas, serta dapat menggambarkan aliran data dengan lebih detail, termasuk data atau perilaku yang diterima atau dikirimkan.

Komponen-Komponen yang Digunakan

·       Aktor, komponen ini menggambarkan seorang pengguna (user) yang berada di luar sistem dan sedang berinteraksi dengan sistem. Dalam sequence diagram, aktor biasanya digambarkan dengan simbol stick figure.

·       Activation box, yang merepresentasikan waktu yang dibutuhkan suatu objek untuk menyelesaikan tugasnya. Semakin lama waktu yang diperlukan, maka secara otomatis activation boxnya juga akan menjadi lebih panjang. Komponen ini digambarkan dengan bentuk persegi panjang.

·       Lifeline, komponen ini digambarkan dengan bentuk garis putus-putus,  biasanya memiliki kotak yang berisi objek yang memiliki fungsi untuk menggambarkan aktifitas dari objek.

·       Objek, komponen objek ini digambarkan memiliki bentuk kotak yang berisikan nama dari objek dengan garis bawah. Biasanya objek berfungsi untuk mendokumentasikan perilaku sebuah objek pada sebuah sistem.

·       Messages, untuk menggambarkan komunikasi antar objek, biasanya muncul secara berurutan pada lifeline. Komponen messages ini direpresentasikan dengan anak panah. Inti dari sebuah diagram urutan terdapat pada komponen lifeline dan messages ini.

Contoh Penerapan:

Pada contoh di atas, terdapat satu aktor (mahasiswa) dan empat objek, yaitu user login, sistem, database, dan dashboard. Pertama-tama mahasiswa akan masuk ke tampilan user login dengan menggunakan ID dan password. Lalu, sistem akan mengirimkan data tersebut ke database untuk divalidasi. Di dalam database data mahasiswa akan diperiksa dan divalidasi. Jika data yang dimasukan salah dan tidak valid, maka akan menampilkan pesan bahwa ID atau password salah. Sedangkan jika data yang dimasukan benar dan valid, maka sistem akan menampilkan dashboard aplikasi.

2.     Communication Diagram

Communication Diagram merupakan penyederhanaan dari Diagram Kolaborasi. Menggambarkan interaksi antar objek/bagian dalam bentuk urutan pengiriman pesan. Diagram ini merepresentasikan informasi yang diperoleh dari diagram kelas. Dalam Diagram ini yang dituliskan adalah operasi/metode yang dijalankan antar objek.

Tujuan Communication Diagram:

·       Model pesan melewati antara objek atau peran yang mengantarkan fungsionalitas kasus dan operasi penggunaan.

·       Mekanisme model dalam desain arsitektur sistem.

·       Tangkap interaksi yang menunjukkan pesan yang dilewatkan antara objek dan peran dalam skenario kolaborasi.

·       Model skenario alternatif dalam kasus penggunaan atau operasi yang melibatkan kolaborasi dari berbagai objek dan interaksi.

·       Dukung identifikasi objek (karenanya kelas), dan atributnya (parameter pesan) dan operasi (pesan) yang ikut serta dalam use case.

Contoh Penerapan:

Komunikasi dimulai dengan 1 *: find_books () - pesan berulang yang dapat diulang beberapa jumlah waktu yang tidak ditentukan. Klien mencari inventaris buku, dan jika dia tertarik dengan beberapa buku, dia dapat melihat deskripsi buku ini (1.2 [interested]: view_book ()). Jika klien memutuskan untuk membeli, dia dapat menambahkan buku ke keranjang belanja - 1.3 [memutuskan untuk membeli]: add_to_cart (). Checkout termasuk mendapatkan daftar buku dari keranjang belanja, membuat pesanan, dan memperbarui inventaris, jika pesanan selesai.

Elemen Utama:        

·       Frame Diagram, Communication Diagram dapat ditunjukkan dalam bingkai persegi panjang dengan nama di sudut kiri atas.

·       Lifeline adalah spesialisasi elemen bernama yang mewakili peserta individual dalam interaksi. Sementara bagian dan fitur struktural mungkin memiliki multiplisitas lebih besar dari 1, garis hidup hanya mewakili satu entitas yang berinteraksi.

·       Message di Communication Diagram ditampilkan sebagai garis dengan urutan ekspresi dan panah di atas garis. Panah menunjukkan arah komunikasi.

·       Sequence Expression adalah urutan - urutan dipisahkan urutan - urutan diikuti oleh titik dua (":") dan nama pesan setelah itu.

3.     Interaction Overview Diagram

Interaction Overview Diagram merupakan sebuah diagram yang digunakan untuk melakukan visualisasi mengenai kerja sama yang terjadi antara sequence diagram dengan activity diagram. Diagram ini juga biasanya dianggap sebagai sebuah activity diagram di mana seluruh aktivitas digantikan oleh sequence diagram. Bisa juda diartikan sebagai sebagai sequence diagram yang kemudian notasi activity diagram-nya dibuat lebih rinci lalu digunakan untuk memberikan informasi terkait aliran pengawasan.

Komponen atau Simbol:

·     Decision: merupakan sebuah unsur pada Interaction Overview Diagram yang bertugas untuk menunjukkan adanya titik perkembangan yang bersyarat. Jika kondisi benar, maka proses akan terus berjalan.

·     Initial: simbol yang berfungi untuk mendefinisikan awalan dari aliran pada saat sebuah kegiatan sedang dipanggil.

·     Final: simbol yang befungsi menunjukkan akhir dari sebuah aktivitas.

·     Activity: simbol yang berfungsi untuk memberikan petunjuk seputar aktivitas atau kegiatan yang sedang berlangsung.

·     Control Flow: sebuah konektor yang berfungsi untuk menghubungkan dua node di dalam diagram aktivitas. Simbol ini akan berperan sebagai jembatan dari aliran node aktivitas di mana nantinya aliran tersebut akan mengarah ke node target.

4.     Timing Diagram

Diagram waktu adalah bentuk lain dari diagram interaksi, dengan fokus utama pada aspek waktu. Diagram waktu merupakan variasi khusus dari diagram urutan. Perbedaan antara diagram waktu dan diagram urutan terletak pada orientasi sumbunya, waktu meningkat dari kiri ke kanan, dan lifeline ditampilkan dalam kompartemen terpisah yang disusun secara vertikal. Diagram waktu menekankan pada perubahan kondisi di dalam dan di antara lifeline sepanjang sumbu waktu linear, serta menggambarkan perilaku baik dari classifiers individu maupun interaksi antar classifiers.

Notasi Pada Time Diagram

·       Lifeline: menunjukkan entitas yang berinteraksi dalam diagram. Lifeline digambarkan dalam kompartemen vertikal dan menunjukkan kondisi dari waktu ke waktu.

·       State or Condition: menggambarkan kondisi atau status dari lifeline pada titik waktu tertentu. Biasanya ditunjukkan dengan teks atau simbol dalam kompartemen lifeline.

·       Duration Constraint: menandai durasi waktu antara dua kondisi atau peristiwa, digunakan untuk menunjukkan batas waktu antara dua titik dalam diagram.

·       Time Constraint: menyatakan batasan waktu absolut atau relatif pada perubahan kondisi atau peristiwa.

·       Change Event: menunjukkan perubahan kondisi pada lifeline,  biasanya digambarkan dengan titik atau simbol yang menunjukkan waktu perubahan.

·       Message: menggambarkan komunikasi atau interaksi antara lifeline. Pesan ini bisa bersifat sinkron atau asinkron dan digambarkan dengan garis panah.

·       Tick Mark: untuk menandai titik waktu tertentu pada sumbu waktu.

·       Timing Ruler: sumbu horizontal yang menunjukkan skala waktu dalam diagram.

·       Combined Fragment: blok yang mencakup beberapa elemen diagram untuk menunjukkan interaksi yang lebih kompleks atau kondisi alternatif.

·       Occurrence Specification: titik waktu spesifik di mana peristiwa terjadi pada lifeline.

Contoh Penerapan:

Contoh Diagram Urutan

Gambar di atas menunjukkan diagram urutan dari contoh tempat parkir mobil, sedangkan gambar di bawah menunjukkan diagram waktu yang sesuai dari contoh tempat parkir mobil. Berbagai bagian diagram waktu mengacu pada isi diagram urutan.

Diagram Waktu suatu Interaksi

Diagram tersebut menunjukkan interaksi antara berbagai garis hidup (komponen) dalam sistem parkir mobil. Urutan kejadian adalah sebagai berikut:

·       Sebuah mobil masuk ke tempat parkir.

·       Penghalang dinaikkan (+35) untuk memungkinkan mobil masuk.

·       Kemudian penghalang diturunkan (barrierLowe).

·       Jika penghalang gagal untuk diturunkan (faise Barrier), mesin tiket diblokir.

Sistem kemudian mengirimkan pesan waktu dari satu garis hidup ke garis hidup lainnya. Diagram juga menunjukkan status sistem, yang bisa aktif atau tidak aktif. Ada batas waktu 35 unit (mungkin detik atau menit) yang terkait dengan pengangkatan penghalang.

Komentar

Postingan populer dari blog ini

CARA MEMBUAT MASKER WAJAH ALAMI DI RUMAH

BEBERAPA IDIOM DALAM BAHASA INGGRIS BUAT KAMU ^^ - elisaafebr

SOAL DAN PEMBAHASAN KAIDAH PENCACAHAN (MTK WAJIB KELAS 12) - elisaafebr