BAB II TINJAUAN PUSTAKA
2.4. Analisis Berorientasi Objek
2.4.2 Unified Modelling Language (UML)
Grady Booch dan Jim Rumbaugh memulai penelitian di Rational
Software Co. sekitar tahun 1994. Tujuan mereka yakni menciptakan sebuah
metode baru yang dapat menciptakan metode-metode sebelumnya yang dapat digunakan pada semua kalangan. Sekitar tahun 1995 Ivar Jacobson, seorang
tokoh yang menciptakan OOSE and Objectory Methode bergabung. Selain itu,
perusahaanRational Software Co. Membeli lisensiObjectory Systemdari Swedish
Company sebagai pengembang dan pendistribusinya. Maka lahirnya sebuah
metode baru yang mereka beri nama “Unified Modeling Languange” yang
diharapkan dapat menjadi sebuah bahasa pemodelan standar seperti yang terlihat
Gambar 2.7Unsur-unsur pembentuk UML
2) DefinisiUnified Modelling Language
Unified Modelling Language merupakan sebuah notasi grafis standar
untuk menggambarkan sistem berorientasi objek yang merupakan hasil kerjasama dari Grady Booch, James Rumbaugh dan Ivar Jacobson. Dan didefinisikan
sebagai berikut:
“Unified Modelling Language (UML) adalah keluarga notasi grafis yang didukung oleh meta-model tunggal, yang membantu pendeskripsian dan desain sistem perangkat lunak, khususnya sistem yang dibangun menggunakan pemrograman berorientasi objek (OO)”, (Flowler, 2005).”
“Unified Modeling Language (UML) adalah suatu bahasa untuk menetapkan, membangun, memvisualisasikan, dan mendokumentasikan sistem perangkat lunak dan komponen-komponennya”, (Bahrami, 1999).”
Dari definisi diatas UML merupakan sebuah bahasa pemodelan suatu
sistem berdasarkan grafik atau gambar untuk menspesifikasikan, membangun, menvisualisasikan dan mendokumentasikan suatu sistem perangkat lunak
berorientasi objek. UML memberikan standar penulisan sebuah sistem yang
meliputi konsep bisnis proses, penulisan kelas, skema database, dan komponen
yang diperlukan dalam sistem perangkat lunak.
Gambar 2.7Unsur-unsur pembentuk UML
2) DefinisiUnified Modelling Language
Unified Modelling Language merupakan sebuah notasi grafis standar
untuk menggambarkan sistem berorientasi objek yang merupakan hasil kerjasama dari Grady Booch, James Rumbaugh dan Ivar Jacobson. Dan didefinisikan
sebagai berikut:
“Unified Modelling Language (UML) adalah keluarga notasi grafis yang didukung oleh meta-model tunggal, yang membantu pendeskripsian dan desain sistem perangkat lunak, khususnya sistem yang dibangun menggunakan pemrograman berorientasi objek (OO)”, (Flowler, 2005).”
“Unified Modeling Language (UML) adalah suatu bahasa untuk menetapkan, membangun, memvisualisasikan, dan mendokumentasikan sistem perangkat lunak dan komponen-komponennya”, (Bahrami, 1999).”
Dari definisi diatas UML merupakan sebuah bahasa pemodelan suatu
sistem berdasarkan grafik atau gambar untuk menspesifikasikan, membangun, menvisualisasikan dan mendokumentasikan suatu sistem perangkat lunak
berorientasi objek. UML memberikan standar penulisan sebuah sistem yang
meliputi konsep bisnis proses, penulisan kelas, skema database, dan komponen
yang diperlukan dalam sistem perangkat lunak.
Gambar 2.7Unsur-unsur pembentuk UML
2) DefinisiUnified Modelling Language
Unified Modelling Language merupakan sebuah notasi grafis standar
untuk menggambarkan sistem berorientasi objek yang merupakan hasil kerjasama dari Grady Booch, James Rumbaugh dan Ivar Jacobson. Dan didefinisikan
sebagai berikut:
“Unified Modelling Language (UML) adalah keluarga notasi grafis yang didukung oleh meta-model tunggal, yang membantu pendeskripsian dan desain sistem perangkat lunak, khususnya sistem yang dibangun menggunakan pemrograman berorientasi objek (OO)”, (Flowler, 2005).”
“Unified Modeling Language (UML) adalah suatu bahasa untuk menetapkan, membangun, memvisualisasikan, dan mendokumentasikan sistem perangkat lunak dan komponen-komponennya”, (Bahrami, 1999).”
Dari definisi diatas UML merupakan sebuah bahasa pemodelan suatu
sistem berdasarkan grafik atau gambar untuk menspesifikasikan, membangun, menvisualisasikan dan mendokumentasikan suatu sistem perangkat lunak
berorientasi objek. UML memberikan standar penulisan sebuah sistem yang
meliputi konsep bisnis proses, penulisan kelas, skema database, dan komponen
3) ViewDalamUML
UML dibangun atas model 4+1 view. Model ini didasarkan pada fakta
bahwa struktur sebuah sistem dideskripsikan dalam 5 view dimana salah satu
diantaranya use case view. Use case view ini memegang peran untuk
mengintegrasikancontentke view yang lain seperti yang terlihat pada Gambar 2.8
Model 4+1View.
Gambar 2.8Model 4+1View
Use case View mendefinisikan perilaku eksternal sistem. Hal ini menjadi
daya tarik bagi end-user, analis dan tester. Pandangan ini mendefinisikan
kebutuhan sistem karena mengandung semua view yang lain yang
mendeskripsikan aspek-aspek tertentu dan rancangan sistem. Itulah sebabnya use
case view menjadi pusat peran yang dan sering dikatakan yang men-drive proses
pengembangan perangkat lunak.
Selanjutnya Design view mendeskripsikan struktur logika yang
mendukung fungsi-fungsi yang dibutuhkan diuse case.Design viewberisi definisi
komponen program, class-class utama bersama-sama dengan spesifikasi data,
perilaku dan interaksinya. Implementation view menjelaskan
komponen-komponen fisik dari sistem yang akan dibangun. Hal ini berbeda dengan
komponen logic yang dideskripsikan pada design view. Termasuk disini
diantaranyafile exe,librarydan database. Informasi yang ada di viewini relevan
Process view berhubungan dengan hal-hal yang berkaitan dengan
concurrency di dalam sistem. Sedangkan deployment view menjelaskan
bagaimana Design Implementation Process Deployment Use Case
komponen-komponen fisik didistribusikan ke lingkungan fisik. Kedua view ini menunjukan
kebutuhan non-fungsional dari sistem. Deployment View menjelaskan bagaimana
komponen-komponen fisik didistribusikan ke lingkungan fisik seperti jaringan komputer, printer dan peralatan lainnya serta bagaimana peralatan tersebut dihubungkan dengan peralatan yang lainnya dimana sistem akan dijalankan.
4) Diagram-diagramUnified Modelling Language
Setiap sistem yang komplek memiliki pendekatan yang terbaik melalui
suatu himpunan kecil dalam pandangan semua viewdalam suatu model, tidak ada
single view yang terpenuhi. Setiap model bisa dinyatakan pada tingkat yang
berbeda dari ketepatannya.
Gambar 2.9Klasifikasi Jenis DiagramUMLVersi 1.3
Diagram-diagram yang terdapat pada UML seperti yang terlihat pada
Diagram kelas bersifat statis, diagram ini memperlihatkan himpunan kelas-kelas, serta relasi-relasi. Diagram ini umum dijumpai pada pemodelan sistem berorientasi objek. Meskipun bersifat statis, sering pula diagram kelas memuat
kelas-kelas aktif. Diagram Objek bersifat statis, diagram ini memperlihatkan
objek-objek serta relasi-relasi antar objek. Diagram objek memperlihatkan
instansiasi statis dari segala sesuatu yang dijumpai pada diagram kelas. Use Case
Diagram bersifat statis, diagram ini memperlihatkan himpunan use case dan
aktor-aktor (suatu jenis khusus dari kelas). Diagram ini terutama sangat penting untuk mengorganisasi dan memodelkan perilaku dari suatu sistem yang
dibutuhkan serta diharapkan pengguna. Sequence diagram bersifat dinamis,
diagram urutan adalah diagram interaksi yang menekankan pada pengiriman
pesan (message) dalam suatu waktu tertentu. Collaboration diagram Bersifat
dinamis, diagram kolaborasi adalah diagram interaksi yang menekankan organisasi structural dari objek-objek yang menerima serta mengirim pesan (message).Statechart diagrambersifat dinamis, diagramstateini memperlihatkan
state-state pada sistem; memuat state, transisi, even, serta aktivitas. Diagram ini
terutama penting untuk memperlihatkan sifat dinamis dari antarmuka (interface),
kelas, kolaborasi dan terutama penting pada pemodelan sistem-sistem reaktif.
Activity diagram bersifat dinamis, diagram aktivitas ini adalah tipe khusus dari
diagramstate yang memperlihatkan aliran dari suatu aktivitas ke aktivitas lainnya
dalam suatu sistem. Diagram ini terutama penting dalam pemodelan fungsi-fungsi dalam suatu sistem yang memberi tekanan pada aliran kendali antar objek.
Component diagram bersifat statis, diagram komponen ini memperlihatkan
komponen-komponen yang telah ada sebelumnya. Diagram ini berhubungan dengan diagram kelas dimana komponen secara tipikal dipetakan kedalam satu atau lebih
kelas-kelas, antarmuka-antarmuka (interfaces), serta kolaborasi-kolaborasi.Deployment
diagram bersifat statis, diagram ini memperlihatkan konfigurasi saat aplikasi
dijalankan (saat run-time). Diagram ini memuat simpul-simpul (node) beserta
komponen-komponen yang ada di dalamnya. Deployment diagram berhubungan
erat dengan diagram komponen dimana deployment diagram memuat satu atau
lebih komponen-komponen. Diagram ini sangat berguna saat aplikasi kita berlaku
sebagai aplikasi yang dijalankan pada banyak mesin (distributed computing).
Class diagram, juga dikenal sebagai objek modeling, adalah diagram
analisis statis yang utama. Diagram ini menunjukkan struktur yang statis dari
suatu model. Suatu class diagram adalah suatu koleksi unsur-unsur modeling
yang statis, seperti kelas-kelas dan relationship yang dihubungkan sebagai suatu
grafik antara yang satu dengan yang lainnya beserta isi-isinya. Sebagai contoh, hal
yang ada (seperti kelas-kelas), struktur-struktur class diagram internal, dan
hubungan class diagram dengan kelas-kelas yang lain. Class diagram tidak
menunjukkan informasi yang temporal, yang diperlukan di dalam pemodelan yang dinamis.
Class diagram memodelkan struktur kelas dan isinya dengan
menggunakan elemen-elemen model seperti class, package, dan objek. Kelas
terdiri dari tiga bagian yaitu nama kelas, attribut dan operations. Kelas
didefinisikan secara global dapat diakses oleh objek diluar kelas tersebut seperti
Tabel 2.2Notasi padaClass Diagram
Fungsi Pengertian Simbol
Class Class adalah blok - blok pembangun pada pemrograman berorientasi objek.
Sebuah class digambarkan sebagai sebuah
kotak yang terbagi atas 3 bagian.Bagian atas
adalah bagian nama dari class. Bagian
tengah mendefinisikan property/atribut
class. Bagian akhir mendefinisikan
method-method dari sebuahclass.
Assosiation Sebuah asosiasi merupakan sebuah
relationship paling umum antara 2 class, dan dilambangkan oleh sebuah garis yang
menghubungkan antara 2 class. Garis ini
bisa melambangkan tipe-tipe relationship
dan juga dapat menampilkan hukum-hukum
multiplisitas pada sebuah relationship
(Contoh: One-to-one, one-to-many,
many-to-many).
Dependency Kadangkala sebuah class menggunakan
class yang lain. Hal ini disebutdependency.
Umumnya penggunaan dependency
digunakan untuk menunjukkan operasi pada
suatu class yang menggunakan class yang
lain. Sebuah dependency dilambangkan
sebagai sebuah panah bertitik-titik.
Fungsi Pengertian Simbol
Aggregation Aggregation mengindikasikan keseluruhan
bagian relationship dan biasanya disebut
sebagai relasi “mempunyai sebuah” atau
“bagian dari”. Sebuah aggregation
digambarkan sebagai sebuah garis dengan
sebuah jajaran genjang yang tidak
berisi/tidak solid.
Generalization Sebuah relasi generalization sepadan
dengan sebuah relasi inheritance pada
konsep berorientasi objek. Sebuah
generalization dilambangkan dengan sebuah panah dengan kepala panah yang
tidak solid yang mengarah ke kelas
“parent”-nya/induknya.
Diagram kelas memodelkan struktur kelas dan isinya. Kelas terdiri dari Nama Kelas, Atribut dan Operasi seperti yang terlihat pada Gambar 2.10 Diagram Kelas.
Gambar 2.10Diagram Kelas
Class namebagian yang paling atas berisi nama kelas, nama kelas diambil
dari domain permasalahan dan harus sejelas mungkin. Oleh karena itu, nama kelas
harus lah berupa kata benda. Attribute kelas memiliki attribut yang
menggambarkan karakteristik dari objek. Attribut kelas yang benar adalah yang
dapat mencakup informasi yang dilukiskan dan mengenali instance tertentu dari
kelas. Tipe attribut dapat berupa primitive attribut atau tipe lainnya. Method /
Operations operations digunakan untuk memanipulasi attribut atau menjalankan
aksi-aksi. Class diagram terdiri dari beberapa relationship, diantaranya
Generalization, Diagram objek,AggregationdanAssociation. Generalisasi adalah
hubungan antara suatu kelas secara umum dengan suatu kelas yang lebih spesifik. Generalisasi adalah suatu yang dipertunjukkan sebagai suatu garis berarah dengan
tertutup. UML membiarkan suatu label diskriminator untuk dihubungkan dengan
suatu Generalization superclass. Sebagai contoh, kelas boeing-airplane
mempunyai kejadian-kejadian dari kelasboeing737,boeing747,boeing757, dan
boeing 767, yang merupakan subclass dari kelas boeing-airplane. Elipsis
subclass yang tidak ditunjukkan. Pembangun melengkapi menunjukkan bahwa
Generalization itu sudah lengkap dan tidak memerlukan lagi subclass. Jika suatu
label teks ditempatkan di segi tiga yang berongga yang dibagi dengan beberapa alur generalization kepada subclass, label berlaku bagi semua alur. Dengan kata
lain, semuasubclassberbagipropertyyang diberi.
Gambar 2.11Contoh Generalisasi (Bahrami, 1999).
Diagram objek,suatu diagram objek yang statis adalah satu kejadian dari
suatu diagram kelas. Itu menunjukkan suatu snapshot dari status yang terperinci
dari sistem pada suatu momen yang tepat. Notasi adalah sama selama satu diagram objek dan suatu diagram kelas. Diagram kelas dapat berisi objek, maka suatu diagram kelas dengan objek dan tidak ada kelas-kelas adalah satu diagram objek.
Aggregation, Aggregasi adalah suatu bentuk asosiasi. Komposisi, juga
yang dikenal sebagai a-part-of adalah suatu wujud aggregation dengan
kepemilikan yang kuat untuk menunjukkan komponen dari suatu objek yang
kompleks. Komposisi juga dikenal sebagai suatu part-whole relationship. notasi
UML untuk komposisi adalah suatu berlian yang padat pada akhir suatu alur.
Sebagai alternatif, UML menyediakan suatu wujud dengan nyata bersarang itu,
Gambar 2.12Contoh Aggregasi (Nugroho, 2005).
Tabel 2.3Notasi Multiplisitas
Multiplitas Arti
* Banyak
0 Nol
1 Satu
0…* Nol atau banyak
Multiplitas Arti
1…* Satu atau banyak
0…1 Nol atau satu
1…1 Hanya satu
Sumber : Nugroho, 2005.
Association, Asosiasi didefinisikan sebagai penghubung objek-objek pada
kelas yang sama. Multiplisitas (Multiplicity),Multiplicityatau multiplisitas adalah
jumlah banyaknya objek sebuah class yang berelasi dengan sebuah objek lain
pada class lain yang berasosiasi dengan class tersebut. Untuk menyatakan
multiplisitas anda dapat meletakkannya diatas garis asosiasi berdekatan dengan
class yang sesuai. notasi – notasi yang ada pada multiplisitas seperti yang terlihat
Konsep use case diperkenalkan oleh ivan Jacobson di dalam Object
Oriented Software Engineering (OOSE). Kemampuan suatu sistem menguraikan
sejumlah use case yang berbeda, masing-masing menunjukkan secara spesifik
suatu arus kejadian yang spesifik di dalam sistem.
Use case adalah deskripsi fungsi dari sebuah sistem dari prespektif
pengguna.Use caseakan menggambarkan cara kerja suatusoftwaredengan aktor.
Dalam use case diagram akan digambarkan hubungan antara aktor dengan use
case. Aktor adalah orang atau subsistem lain yang akan berinteraksi dengan
sistem. Sementara use case menggambarkan proses yang akan dilakukan oleh
aktor terhadap sistem seperti yang terlihat pada Gambar 2.13Use Case Diagram.
Gambar 2.13SimbolUse Case Diagram
Gambar 2.14Contoh KondisiUses
Uraian suatu use case menggambarkan apa yang terjadi di dalam sistem
ketika use case dilaksanakan. Pada intinya hubungan-hubungan ini ditunjukkan di
suatu diagram use case diantaranya Communication, hubungan komunikasi dari
suatu aktor di suatu use case, ditunjukkan dengan menghubungkan simbol aktor
kepada simbol use case dengan suatu alur yang padat. Aktor itu dikatakan
“komunikasi” dengan use case. Uses, menggunakan hubungan antara use case
ditunjukkan oleh panah generalisasi dari use case seperti yang terlihat pada
Extends, perluasan hubungan digunakan ketika kita mempunyai satu use
case yang serupa dengan use case yang lain tetapi lebih banyak. Pada intinya, itu
seperti suatu subclass seperti yang terlihat pada Gambar 2.15 Contoh Kondisi
Extends.
Gambar 2.15Contoh KondisiExtends
Berikut merupakan notasi-notasi untuk use case diagram seperti yang
terlihat pada Tabel 2.4 NotasiUse Case Diagramdibawah.
Tabel 2.4NotasiUse Case Diagram
Fungsi Kegunaan Simbol
Actor Actor adalah pengguna sistem. Actor tidak terbatas hanya manusia saja, jika sebuah sistem berkomunikasi dengan aplikasi lain
dan membutuhkan input atau memberikan
output, maka aplikasi tersebut juga bisa dianggap sebagai
actor.
Fungsi Kegunaan Simbol
Use Case Use case digambarkan sebagai lingkaran
elips dengan nama use case dituliskan
didalam elips tersebut.
Fungsi Kegunaan Simbol
Association Asosiasi digunakan untuk menghubungkan
actordenganuse case. Asosiasi digambarkan dengan sebuah garis yang menghubungkan
antaraActordenganUse Case.
Depends on Menyatakan hubungan ketergantungan antar
Use Case, yakni pelaksanaan suatu use case
baru bisa dilakukan setelah pelaksanaan use
caselain selesai.
Gambar 2.16ContohUse Case Diagram
Sequence diagram menggambarkan interaksi antar objek didalam dan
disekitar sistem (termasuk pengguna, display dan sebagainya) berupa message
yang digambarkan terhadap waktu.Sequence diagramterdiri atas dimensi vertikal
(waktu) dan dimensi horizontal (objek-objek yang terkait).
Sequence diagram biasa digunakan untuk menggambarkan skenario atau
rangkaian langkah-langkah yang dilakukan sebagai respon dari sebuah event
untuk menghasilkanoutputtertentu. Sequence diagramterdiri dari sumbu vertikal
putus-putus yang merepresentasikan “lifetime” objek dan sumbu horizontal yang
menunjukan sekumpulan objek yang saling berinteraksi dalam sistem. Diagram ini menjelaskan bagaimana objek berinteraksi dengan objek yang lainnya yaitu dengan cara mengirim dan menerima pesan. Komunikasi antar objek tersebut ditandai dengan garis horizontal yang disertai dengan nama operasinya. Berikut
adalah notasi-notasinya seperti yang terlihat pada Tabel 2.5 Notasi Sequence
Tabel 2.5NotasiSequence Diagram
Fungsi Pengertian Simbol
Object
Object 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 objek, maka actor juga dapat diurutkan sebagai kolom. Simbol
Actor sama dengan simbol pada Actor
Use Case Diagram.
Lifeline
Lifeline mengindikasikan keberadaan sebuah objek dalam basis waktu.
Notasi untuk Lifeline adalah garis
putus-putus vertikal yang ditarik dari sebuah objek.
Activation
Activation dinotasikan sebagai sebuah kotak segi empat yang gambar pada
sebuah lifeline. Activation
mengindikasikan sebuah objek yang akan melakukan sebuah aksi.
Message Message, digambarkan dengan anak
panah horizontal antara Activation.
Message mengindikasikan komunikasi antara objek-objek
Sumber :http://resources.visual-paradigm.com/
Berikut ini adalah contoh dari Sequence Diagram seperti yang terlihat
Gambar 2.17ContohSequence Diagram
Activity diagram menggambarkan berbagai alur aktifitas dalam sistem
yang sedang dirancang, bagaimana masing-masing alir berawal, keputusan yang
mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat
menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.
Activity diagrammerupakan state diagramkhusus, dimana sebagian besar
state adalah aksi dan sebagian besar transisi di-trigger oleh selesainya state
sebelumya (internal processing). Oleh karena itu, Activity diagram tidak
menggambarkan behavior internal sebuah sistem (dan interaksi antar subsistem)
secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktifitas
dari level atas secara umum. Sebuah aktivitas dapat direalisasikan oleh satu use
case atau lebih. Aktifitas menggambarkan proses yang berjalan, sementara use
case menggambarkan bagaimana actor mengguanakan sistem untuk melakukan
aktifitas. Berikut adalah notasi activity diagram seperti yang terlihat pada Tabel
Tabel 2.6NotasiActivity Diagram
Simbol Keterangan
Titik Awal Titik Akhir
Activity
Pilihan Untuk mengambil Keputusan
Fork; Digunakan untuk menunjukkan kegiatan yang
dilakukan secara parallel / menggabungkan dua kegiatan peralel menjadi satu.
Rake; Menunjukkan adanya dekomposisi
Tanda Waktu
Tanda pengiriman
Tanda penerimaan
Aliran akhir (Flow Final)
Sumber:http://resources.visual-paradigm.com/