5 Perancangan Kelas
Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi
objek. Class menggambarkan keadaan atributproperti suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut metodefungsi.
Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain.
2.4.2 Unified Modelling Language UML
1 Sejarah 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, perusahaan Rational Software Co. Membeli lisensi Objectory System dari 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 pada Gambar 2.3 Unsur-unsur Pembentuk UML.
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Gambar 2.3 Unsur-unsur Pembentuk UML
2 Definisi Unified Modelling Language
Unified Modelling Language merupakan sebuah notasi grafis standar untuk
menggambarkan sistem berorientasi objek yang merupakan hasil kerja sama dari Grady Booch, James Rumbaugh dan Ivar Jacobson.
Menurut Bahrami 1999, Unified Modeling Language UML adalah suatu bahasa
untuk menetapkan,
membangun, memvisualisasikan,
dan mendokumentasikan sistem perangkat lunak dan komponen-komponennya.
Dari definisi di atas UML merupakan sebuah bahasa pemodelan suatu sistem berdasarkan grafik atau gambar untuk menspesifikasikan, membangun,
memvisualisasikan 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.
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
3 View Dalam UML
UML dibangun atas model 4+1 view. Model ini didasarkan pada fakta bahwa struktur sebuah sistem dideskripsikan dalam 5 view di mana salah satu di
antaranya use case view. Use case view ini memegang peran untuk mengintegrasikan content ke view yang lain seperti yang terlihat pada Gambar 2.4
Model 4+1 View.
Gambar 2.4 Model 4+1 View
Use case View mendefinisikan perilaku eksternal sistem. Hal ini menjadi daya tarik bagi end-user, analis dan tester. Selanjutnya Design view
mendeskripsikan struktur logika yang mendukung fungsi-fungsi yang dibutuhkan di use case. Design view berisi 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.
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 menunjukkan
kebutuhan non-fungsional dari sistem. Deployment View menjelaskan bagaimana komponen-komponen fisik didistribusikan ke lingkungan fisik seperti jaringan
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
komputer, printer dan peralatan lainnya serta bagaimana peralatan tersebut dihubungkan dengan peralatan yang lainnya di mana sistem akan dijalankan.
4 Diagram-Diagram Unified Modelling Language
Setiap sistem yang kompleks memiliki pendekatan yang terbaik melalui suatu himpunan kecil dalam pandangan semua view dalam suatu model, tidak ada
single view yang terpenuhi. Setiap model bisa dinyatakan pada tingkat yang berbeda dari ketepatannya.
Diagram-diagram yang terdapat pada UML seperti yang dapat terlihat pada Gambar 2.5 Klasifikasi Jenis Diagram UML Versi 1.3.
Gambar 2.5 Klasifikasi Jenis Diagram UML Versi 1.3
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
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
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 struktural dari objek-objek yang menerima serta mengirim pesan
message. Statechart diagram bersifat dinamis, diagram state ini 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 diagram state 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 organisasi serta kebergantungan sistemperangkat lunak pada komponen-
komponen yang telah ada sebelumnya. Diagram ini berhubungan dengan diagram kelas di mana komponen secara tipikal dipetakan ke dalam satu atau lebih kelas-
kelas, antarmuka-antarmuka interfaces, serta kolaborasi-kolaborasi. Deployment diagram bersifat statis, diagram ini memperlihatkan konfigurasi saat aplikasi
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
dijalankan saat runtime. Diagram ini memuat simpul-simpul node beserta komponen-komponen yang ada di dalamnya. Deployment diagram berhubungan
erat dengan diagram komponen di mana 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, attribute dan operations. Kelas didefinisikan secara global dapat diakses oleh objek di luar kelas tersebut seperti yang terlihat pada
Tabel 2.1 Notasi pada Class Diagram.
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Tabel 2.1 Notasi pada Class 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 propertyatributte class. Bagian akhir mendefinisikan method-
method dari sebuah class.
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 disebut
dependency. Umumnya penggunaan dependency
digunakan untuk
menunjukkan operasi pada suatu class yang menggunakan class yang lain.
Sebuah dependency
dilambangkan sebagai sebuah panah bertitik-titik.
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
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 berisitidak 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”-nyainduknya.
Sumber : http:resources.visual-paradigm.com Diagram kelas memodelkan struktur kelas dan isinya. Kelas terdiri dari
Nama Kelas, Atribut dan Operasi seperti yang terlihat pada Gambar 2.6 Diagram Kelas.
Gambar 2.6 Diagram Kelas
Class name bagian yang paling atas berisi nama kelas, nama kelas diambil dari domain permasalahan dan harus sejelas mungkin. Oleh karena itu, nama kelas
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
haruslah berupa kata benda. Attribute kelas memiliki attribute yang menggambarkan karakteristik dari objek. Attribute kelas yang benar adalah yang
dapat mencakup informasi yang dilukiskan dan mengenali instance tertentu dari kelas. Tipe attribute dapat berupa primitive attribute atau tipe lainnya. Method
Operations operations digunakan untuk memanipulasi attribute atau menjalankan aksi-aksi. Class diagram terdiri dari beberapa relationship, di antaranya
Generalization, Diagram objek, Aggregation dan Association. 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. 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 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 seperti yang terlihat pada Gambar 2.7 Contoh Aggregation.
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Gambar 2.7 Contoh Aggregation Nugroho, 2005
Association didefinisikan sebagai penghubung objek-objek pada kelas yang
sama. Multiplicity atau 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 di atas
garis asosiasi berdekatan dengan class yang sesuai. Notasi-notasi yang ada pada multiplisitas seperti yang terlihat pada Tabel 2.2 Notasi Multiplisitas.
Tabel 2.2 Notasi Multiplisitas Multiplitas
Arti
Banyak Nol
1 Satu
0… Nol atau banyak
1… Satu atau banyak
0…1 Nol atau satu
1…1 Hanya satu
Sumber: Nugroho, 2005. Konsep use case diperkenalkan oleh Ivan Jacobson di dalam Object
Oriented Software Engineering OOSE. Use case adalah deskripsi fungsi dari sebuah sistem dari perspektif pengguna. Use case akan menggambarkan cara kerja
suatu software dengan aktor. Dalam use case diagram akan digambarkan
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
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.8 Simbol Use Case Diagram.
Gambar 2.8 Simbol Use Case Diagram
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 Gambar 2.9 Contoh Kondisi Uses.
Gambar 2.9 Contoh Kondisi Uses
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.10 Contoh Kondisi Extends.
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Gambar 2.10 Contoh Kondisi Extends
Berikut merupakan notasi-notasi untuk use case diagram seperti yang terlihat pada Tabel 2.3 Notasi Use Case Diagram di bawah ini.
Tabel 2.3 Notasi Use 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.
Use Case Use case digambarkan sebagai lingkaran
elips dengan nama use case dituliskan didalam elips tersebut.
Association Asosiasi digunakan untuk menghubungkan
actor dengan use case. Asosiasi digambarkan dengan sebuah garis yang menghubungkan
antara Actor dengan Use Case.
Depends on Menyatakan hubungan ketergantungan antar
Use Case, yakni pelaksanaan suatu use case baru bisa dilakukan setelah pelaksanaan use
case lain selesai. Sumber : http:resources.visual-paradigm.com
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Gambar 2.11 Contoh Use Case 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 atas dimensi vertikal waktu dan dimensi horizontal objek-objek yang terkait. Berikut adalah notasi-
notasinya seperti yang terlihat pada Tabel 2.4 Notasi Sequence Diagram.
Tabel 2.4 Notasi Sequence Diagram Fungsi
Pengertian Simbol
Object Object
merupakan instance
dari sebuah class dan dituliskan tersusun
secara horizontal.
Digambarkan sebagai sebuah class kotak dengan
nama objek di dalamnya 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.
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Fungsi Pengertian
Simbol
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 pada
Gambar 2.12 Contoh Sequence Diagram.
Gambar 2.12 Contoh Sequence Diagram
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Activity diagram menggambarkan berbagai alur aktivitas 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.
Berikut adalah notasi activity diagram seperti yang terlihat pada Tabel 2.5 Notasi Activity Diagram.
Tabel 2.5 Notasi Activity Diagram Simbol
Keterangan
Titik Awal Titik Akhir
Activity Pilihan Untuk mengambil Keputusan
Fork; Digunakan untuk menunjukkan kegiatan yang dilakukan secara paralel menggabungkan dua kegiatan paralel menjadi satu.
Rake; Menunjukkan adanya dekomposisi Tanda Waktu
Tanda pengiriman Tanda penerimaan
Aliran akhir Flow Final Sumber: http:resources.visual-paradigm.com
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
2.5 Rational Rose