Catatan ini ditulis untuk kepentingan mata kuliah ADBO yang diampu oleh Bapak Eric Sugiarto S.SI., M.Kom.
Minggu ini, Bapak Eric mengajarkan bagaimana cara menggunakan Sequence Diagram. Saya menangkap bahwa sequence diagram adalah diagram yang dibentuk untuk menjelaskan hubungan antar class yang terikat pada suatu kasus tertentu dan berurutan berdasarkan waktu yang ada. Karena oleh Bapak Eric banyak diajarkan hanya mengenai penggunaannya saja, maka saya berusaha melakukan searching data di beberapa sumber terpercaya yang ada seperti disini, disini, disini, disini(mirror) dan disini. Saya berusaha mencari pada data yang valid seperti buku, slide, dokumentasi serta materi pengajaran dari universitas yang ada di luar negeri.
Saya mendapatkan bahwa ada beberapa hal yang menarik, seperti pertama bahwa sequence diagram cukup banyak digunakan dalam pengembangan ADBO, setelah class diagram. Saya masih belum tahu class diagram, mungkin akan diajarkan selanjutnya oleh Bapak Eric(Karena menulis ini, saya mencari tahu sedikit apa itu class diagram). Yang saya dapatkan class diagram dan juga sequence diagram adalah dua hal yang tidak bisa dipisahkan, karena class diagram menjelaskan tentang model objek yang ada, sedangkan sequence diagramnya menjelaskan bagaimana caranya antar object berinteraksi untuk menciptakan suatu siklus (Ini definisi yang saya ciptakan sendiri lebih tepatnya).
Selain itu pada minggu 4 ini, Bapak Eric membahas pula mengenai analisa sistem yang benar dan baik. Dari hal yang Bapak Eric jelaskan, saya mendapatkan 2 hal penting, pertama design yang kita buat harus semudah mungkin dapat dimengerti orang dengan cepat, yang kedua, ketika orang yang berdebat dengan kita tentang fakta dilapangan dengan teori yang dia punya, maka orang yang dilapanganlah yang benar, karena seringkali kekurangan orang IT adalah dia tidak bisa melihat menembus keadaan nyata lapangan, padahal ketika kita mau melakukan design sistem, kita harus tahu kondisi lapangan yang sebenarnya, bukan berdasarkan teori. Memang benar bahwa teori adalah kumpulan pembuktian dari orang yang sudah pernah mempraktekannya dilapangan, tetapi ilmu akan terus berubah, kondisi dinamika industri IT cepat berubah(terutama beberapa tahun terakhir, boom sekali, dimana orang hanya dengan program ratusan juga berharap mendapatkan sebuah terminator yang dapat membunuh semua masalah perusahaan yang ada, ini adalah permintaan tidak wajar), dan IT harus bisa menyesuaikan, sehingga terus berkembang dan bisa menjadi jawaban masalah atas apa yang diinginkan masyarakat terhadap masalah yang mereka hadapi.
Kembali pada sequence diagram, ada beberapa bagian dalam sequence diagram yang menjadi bagian penting, seperti aktor, life-line, activation box, class, synconus message, return message, dll yang seakan-akan mejelaskan fungsi-fungsi yang ada pada setiap objek atau class. Selain itu juga ada <<create>> , destruction occurance dll. Mari kita lihat sama-sama contoh yang diberikan oleh Bapak Eric.
Gambar 1 Gambar 2
Disana Bapak Eric menggunakan <<create>>, activation, dan lain-lain, serta diagram boxnya. Disana dilihatkan mengenai sistem pendaftaran calon mahasiswa, dimana inisiasi dimulai dari pendaftar sebagai aktor dalam sistem, yang menggunakan class registration dimana terjadi activation ketika pendaftar yang merupakan calom mahasiswa, memiliki function addMhs(“nama mahasiswa”); berupa synchronus message, dan mentrigger fungsi create pada class registration manager dan akan diakhiri dengan return message pada activation manager pendaftaran calom mhs pada gambar 1. Selain itu pada gambar 2, dijelaskan mengenai bahgaimana seorang mahasiswa mengambil matakuliah dan juga step-stepnya, selain itu juga ada guard condition yang merupakan sebuah hal yang berupa if sederhana, maupun case. Berikut lebih jelas kita lihat sequence diagaram dibawah ini.
Gambar 3
Diatas merupakan sequence digaram untuk submit comments, bisa dilihat pada judul yang ada di pojok kiri atas dengan code sd(dicetak tebal). Dalam hal ini jelas sekali mengenai sub bagian dari sebuah process yang simple. Penggambaran SD, bergantung pada konsep yang mau kita bentuk, seperti apa class-class yang mau kita buat dan apa yang diterima dll. Dalam hal ini cukup jelas bahwa fungsi validasilah yang melakukan trigger terhadap activation box pada object window sehingga window melakukan validasi pada komentar dan melalui object proxy, dilakukan sebuah request ke server, jika berhasil melakukan maka di destroy, sedangkan jika gagal maka akan masuk catch, sehingga bisa di handle oleh sd error, atau dijabarkan pada sistem error, dan return data pada sd submit_comment sehingga bisa tahu bahwa ada masalah pada pengiriman data. Jadi jika diperhatikan, maka ini sangatlah teknikal, bahkan hampir seperti sebuah penjelasan mengenai coding yang ada. Simplenya seperti itu, lalu penggunaan referensi gambar saya melihat pada dokumentasi UML milik MSDN, demikian saya sadur di bawah ini.
Gambar 4
Penjelasan dari SD dari MSDN :
1 Lifeline
A vertical line that represents the sequence of events that occur in a participant during an interaction, while time progresses down the line. This participant can be an instance of a class, component, or actor.
Bisa dikatakan berdasarkan penjelasan Inggrisnya, mudahnya adalah garis yang menunjukan proses dari sebuah objek, class, komponen ataupun aktor, yang sesuai dengan urutannya, karena semua turun dari atas ke bawah.
2 Actor
A participant that is external to the system that you are developing.
You can make an actor symbol appear at the top of a lifeline by setting its Actor property.
Aktor adalah partisipan untuk sistem tapi dari luar, biasa misal dari sebuah use case dijabarkan maka menuju ini, penggunaan aktornya sebagai sistem, dalam kasus diatas, customer dianggap aktor, seperti pada contoh Bapak Eric pada penghapusan pada gambar 2, register adalah sebagai sebuah aktor sendiri, seperti itu.
3 Synchronous message
The sender waits for a response to a synchronous message before it continues. The diagram shows both the call and the return. Synchronous messages are used to represent ordinary function calls within a program, as well as other kinds of message that behave in the same way.
Ya ini interaksi, mengirimkan data dan berharap ada balasan dahulu baru dilanjutkan ke bagian yang lain.
4 Asynchronous message
A message that does not require a response before the sender continues. An asynchronous message shows only a call from the sender. Use to represent communication between separate threads or the creation of a new thread.
Ini berkebalikan dengan nomor 3, dia bisa berjalan tanpa harus ada balasan, jadi jalan terus.
5 Execution occurrence
A vertical shaded rectangle that appears on a participant’s lifeline and represents the period when the participant is executing an operation.
The execution begins where the participant receives a message. If the initiating message was a synchronous message, the execution ends with a «return» arrow back to the sender.
6 Callback message
A message that returns back to a participant that is waiting for the return from an earlier call. The resulting execution occurrence appears on top of the existing one.
7 Self message
A message from a p
articipant to itself. The resulting execution occurrence appears on top of the sending execution.
8 Create message
A message that creates a participant. If a participant receives a create message, it should be the first it receives.
9 Found message
An asynchronous message from an unknown or an unspecified participant.
10 Lost message
An asynchronous message to an unknown or an unspecified participant.
11 Comment
A comment can be attached to any point on a lifeline.
12 Interaction Use
Encloses a sequence of messages that are defined in another diagram.
To create an Interaction Use, click the tool and then drag across the lifelines you want to include.
13 Combined Fragment
A collection of fragments. Each fragment can enclose one or more messages. There are different kinds of combined fragments. For more information, see Describe control flow with fragments on UML sequence diagrams.
To create a fragment, right-click a message, point to Surround With, and then click a fragment type.
14 Fragment Guard
Can be used to state a condition relevant to whether the fragment will occur.
To set the guard, select a fragment, then select the guard, and type a value.
X Destruction Event
Represents the point at which the object is deleted or no longer accessible. Appears at the bottom of every lifeline.
ini seperti diatas, dihancurkan ketika selesai, cukup simple.
Interaction
The collection of messages and lifelines that is displayed in the sequence diagram. To view the properties of an Interaction, you must select it in UML Model Explorer.
Sequence Diagram
The diagram that displays an Interaction. To view its properties, click on an empty part of the diagram. Note: The names of the Sequence Diagram, the Interaction that it displays, and the file that contains the diagram can all be different.
Sekian catatan minggu 4. Saya merasa semain tertarik untuk belajar karena hal ini cukup signifikan ketika kita melakukan design pada program, dan lebih mudah dibandingkan menghabiskan banyak waktu untuk berkutat dengan codingan yang memeras otak.
Leave a Reply. I will come back and maybe we can have some conversation 🙂