BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI
2.4.5. Unified Modelling Language (UML)
Menurut Sri Dharwiyanti dan Romy Satria Wahono (2003:2) “ Unified Modelling Language Adalah sebuah "bahasa" yg telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak”. UML menawarkan sebuah standar untuk merancang model sebuah sistem.
Pada dasarnya UML (Unified Modeling Language) terdiri dari 13 macam diagram dengan pemahaman dan pembahasan saling berkaitan, akan tetapi menurut Rosa dan Shalahudin (2014) empat diagram didalam UML sudah mewakili pemahaman dan konsep perancangan system. Adapun diagram yang dimaksud adalah sebagai berikut: empat diagram didalam UML tersebut terdiri dari Use Case Diagram, Activity Diagram, Sequence Diagram, Class Diagram.
Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering) seperti yang telah dijelaskan diatas.
1. Sejarah UML
Pada Oktober 1994, Dr. James Rumbaugh bergabung dengan Perusahaan Rational sotware, dimana Grady Booch sudah bekerja disana sebelumnya. Grady Booch mengembangkan Object Oriented Design (OOD) dan Dr. James Rumbaugh mengembangkan Object Modeling Technique (OMT). Duet Mereka pada Oktober 1995 menghasilkan Unified Method versi 0.8. Musim gugur 1995 Dr. Ivar Jacobson
ikut pula bergabung dengan duet Rumbaugh-Booch, dengan memperkenalkan tool Use Case. Trio tersebut pada bulan Juni 1996 menghasilkan Unified Modeling Language (UML) versi 0.9. Sebelumnya Dr. Ivar Jacobson mengembangkan Object Oriented Software Engineering (OOSE). Trio ini mengembangkan Ratinal Unified Process (RUP) Banyak perusahaan software merasakan bagaimana pentingnya UML dalam tujuan strategis mereka, sehingga beberapa perusahaan membentuk sebuah konsorsium yang terdiri dari perusahaan-perusahaan seperti :
1. Microsoft
7. DEC, Digital Equipment Corp 8. Texas instrument
Dari konsorsium tersebut pada bulan Januari 1997 lahirlah UML versi 1.0 Pada bulan September 1997 lahirlah UML versi 1.1, dengan 8 buah diagram, yaitu :
Pada bulan November 1997 sebuah organisasi non profit standarisasi Object Management Group (OMG) mengakui UML sebagai sebuah bahasa pemodelan standar untuk aplikasi object oriented.
OMG didirikan pada bulan April 1989 oleh sebelas perusahaan software, dengan kantor pusat di Needham, MA, USA. (www.omg.org) Pada tahun 1999 lahirlah UML versi 1.3, menjadi 9 buah diagram, dengan penambahan :
- Business Use Case Diagram.
Pada Mei 2001 lahirlah UML versi 1.4, menjadi 10 buah diagram, dengan penambahan :
- Object Diagram
Pada tahun 2002 lahirlah UML versi 2.0, menjadi 13 buah diagram, dengan penambahan dan penggantian yaitu :
1. Use Case Diagram 2. Activity Diagram 3. Sequence Diagram
4. Communication Diagram (Collaboration diagram in versi 1.x) 5. Class Diagram
6. State Machine Diagram (Statechart diagram in versi 1.x) 7. Component Diagram
8. Deployment Diagram
9. Interaction Overview Diagram 10. Object Diagram
11. Package Diagram 12. Timing Diagram
2. Diagram UML a. Use Case Diagram
Use Case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan
“bagaimana”. Sebuah Use Case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use Case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagainya. Seorang/sebuah aktor
adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu (Sri Dharwiyanti dan Romy Satria Wahono, 2003:4).
Sebuah Use Case dapat meng-include fungsionalitas Use Case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa Use Case yang di-include akan dipanggil setiap kali Use Case yang meng-include dieksekusi secara normal. Sebuah Use Case dapat di-include oleh lebih dari satu Use Case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common.
Sebuah Use Case juga dapat meng-extend Use Case lain dengan behaviour-nya sendiri. Sementara hubungan generalisasi antar Use Case menunjukkan bahwa Use Case yang satu merupakan spesialisasi dari yang lain.
Berikut ini adalah simbol-simbol yang dipakai untuk mengambarkan diagram use case:
Tabel 2.9 Tabel Simbol Diagram Use Case
Simbol Notasi Keterangan
Actor
Menspesifikasikan himpuan peran yang pengguna mainkan ketika berinteraksi dengan use case.
Generalization
Hubungan dimana objek anak (descendent) berbagi perilaku dan struktur data dari objek yang ada di atasnya objek induk (ancestor).
Include
Menspesifikasikan bahwa use case sumber secara eksplisit.
Extend
Menspesifikasikan bahwa use case target memperluas perilaku dari use case sumber pada suatu titik yang diberikan.
Association
Apa yang menghubungkan antara objek satu dengan objek lainnya.
System
Menspesifikasikan paket yang menampilkan sistem secara terbatas.
b. Activity Diagram
Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. “Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi” (Sri Dharwiyanti dan Romy Satria Wahono, 2003:7).
Sebuah aktivitas dapat direalisasikan oleh satu Use Case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara Use Case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas.
Dibawah ini adalah table mengenai simbol-simbol yang di pakai dalam activity diagram :
Tabel 2.10 Tabel Simbol Diagram Activity
Simbol Notasi Keterangan
Initial
Tanda dan waktu Time Tanda dan waktu
Send Tanda pengiriman
Receive Tanda penerimaan
c. Class Diagram
Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek.
“Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi)” (Sri Dharwiyanti dan Romy Satria Wahono, 2003:5).
Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.
Class memiliki tiga area pokok : 1). Nama (dan stereotype) 2). Atribut
3). Metoda
Atribut dan metoda dapat memiliki salah satu sifat berikut :
a) Private, tidak dapat dipanggil dari luar class yang bersangkutan
b) Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya
c) Public, dapat dipanggil oleh siapa saja
Class dapat merupakan implementasi dari sebuah interface, yaitu class abstrak yang hanya memiliki metoda. Interface tidak dapat langsung diinstansiasikan, tetapi harus diimplementasikan dahulu menjadi sebuah class. Dengan demikian interface mendukung resolusi metoda pada saat run-time.
Sesuai dengan perkembangan class model, class dapat dikelompokkan menjadi package. Kita juga dapat membuat diagram yang terdiri atas package.
Hubungan Antar Class
1). Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Panah navigability menunjukkan arah query antar class.
2). Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas..”).
3). Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi.
4). Hubungan dinamis, yaitu rangkaian pesan (message) yang di-passing dari satu class kepada class lain. Hubungan dinamis dapat digambarkan dengan menggunakan sequence diagram yang akan dijelaskan kemudian.
d. Sequence Diagram
Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. “Sequence diagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait)” (Sri Dharwiyanti dan Romy Satria Wahono, 2003:8).
Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan.
Masing-masing objek, termasuk aktor, memiliki lifeline vertikal. Message digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Pada fase desain berikutnya, message akan dipetakan menjadi operasi/metoda dari class.
Dibawah ini adalah table simbol-simbol sequence diagram beserta penjelasannya:
Tabel 2.11 Tabel Simbol Sequence Diagram
Notasi Keterangan Simbol
Object (Partisipan)
Object atau biasa juga disebut dengan partisipan merupakan instance dari sebuah class dan dituliskan tersusun secara horizontal. Digambarkan sebagai sebuah class (kotak) dengan nama objek didalamnya yang diawali dengan sebuah titik koma.
Actor Actor juga dapat
berkomunikasi dengan object, maka actor juga dapat diurutkan sebagai kolom.
Lifeline Lifeline mengindikasikan
keberadaan sebuah object dalam basis waktu. Notasi untuk lifeline adalah garis
Boundary Boundary terletak diantara sistem dengan dunia sekelilingnya.
Control Control berhubungan dengan fungsionalitas seperti pemanfaatan sumber daya, pemrosesan terdistribusi, atau penanganan kesalahan.
Entity Entity digunakan untuk
menangani informasi yang mungkin akan disimpan secara permanen. Entity bisa juga merupakan sebuah tabel pada
struktur basis data.
Message Digambarkan dengan anak panah horizontal antara activation.
Message mengindikasikan komunikasi antara objek-objek Self – Message Self-message atau panggilan
mandiri merupakan komunikasi kembali kedalam sebuah objek itu sendiri.
Loop Operator loop adalah sebuah fragmen yang dapat
mengeksekusi berulangkali dan penjaga menunjukkan dasar interaksi.
2.4.6. Metode Pengembangan Sistem (System Development Life Cycle/SDLC)