Monday, April 25, 2011

UML : Class Diagram




Seperti yang sudah kami paparkan pada bahan ajar dengan judul Unified Modeling Language, salah satu dari diagram UML yang digunakan untuk, perancangan sistem berbasis iterasi adalah Class Diagram. Dalam penjelasan teori tentang PBO, class diagram paling banyak digunakan, selain itu class diagram menjadi bagian dari static view pada perancangan sistem dengan memanfaatkan konsep forward or reserve.

Pada perancangan sistem yang menggunakan Class Diagram, mempunyai komponen-komponen yang berupa class dan interface beserta atributnya, operasi dari sistem, relasi dan constraint yang menghubungkan antar obyek. Selain itu class diagram memilki 3 unsur yaitu nama, atribut dan metoda. Atribut dan metoda memilik salah sifat public, private atau protected.

Private berarti sebuah class tidak dapat digunakan/ dipanggil dari luar class yang bersangkutan, sifat ini berlawanan dengan sifat public, dimana sebuah class dapat dipanggil oleh siapa saja. sedangkan protected berarti private dan hanya dapat dipanggil oleh kelas yang mewarisinya.
Atribut sebuah class memiliki bentuk umum penulisan visibility name : type multiplicity = default{property-string}
Contoh + nama: String [10] = "Untitled" {readOnly}, memilki arti bahwa atribut tersebut public karena, + berarti public, - berarti private, # berarti protected, “Untitled” adalah nilai yang diberikan secara default jika tidak ditentukan saat objek dibuat, {readOnly} adalah properti tambahan dari atribut, dimana disini berarti tidak bisa dimodifikasi. Multiplicity memilki kemiripan relasi one to one dalam Entity Relathionship Digram yang menjelaskan berapa banyak obyek yang mengisi poperti ( 0,1 atau ...n)
Sedangkan metoda atau operasi memliki bentuk umum visibility name (parameter-list) : return-type {property-string}, dengan parameter pada parameter-list dinotasikan seperti pada atribut yaitu direction name: type = default value dan Direction bisa berupa: in, out, atau in-out.

Class yang dibuat berdasarkan analisa sistem memiliki hubungan dengan class yang lainnnya dalam sebuah class diagram, relasi atau hubungan itu antara lain Asosiasi(hubungan statis antar class), Agregasi(hubungan yang menyatakan bagian dari), Pewarisan(hubungan hirarkies antar class), Hubungan dinamis(rangkaian pesan yang dikrimkan antar class).
Referensi :
  1. http://herowintolo.blogspot.com/2011/04/unified-modeling-language-uml.html
  2. Sri Dharwiyanti , Romi Satria Wahono, Pengantar UML, Ilmukomputer.com

Sunday, April 24, 2011

Legend [4] : Nyi Ageng Serang, Women In Java War


Nyi Ageng Serang has the original name Raden Ajeng Kustiyah Retna Edi. She is the youngest daughter of the regent of Serang, Panembahan Natapraja. 'Serang' is meant here is an area in the district of Kulon Progo, Yogyakarta is now, not the town of Serang in Banten Province.

Although a nobleman's son, but since little is known Nyi Ageng Serang close to the people. As an adult he was also featured asone of the warlords against the invaders. Her spirits to rise than todefend the people, also triggered the death of his brother Prince Mangkubumi when defending against Paku Buwana I assisted the Dutch.

After the Treaty Giyanti (What divides the two kingdoms of Mataram Islam became the Kasultanan Yogyakarta and Kasunanan Surakarta ), Nyi Ageng Serang moved to Yogyakarta with Prince Mangkubumi. But the struggle against occupying forces kept him continue. At that Nyi Ageng Serang led troops called Force Beast with a quick attack skills to make the enemy forces oftent opsy-turvy. These troops also become one of the very forces to be reckoned the Netherlands at that time. The advantages of this Demon Forces is the ability to camouflage them selves(camouflage) in accordance with the surrounding natural conditions, so that Dutch troops often fooled or trapped.

When the Diponegoro War broke out in 1825, Nyi Ageng Serang also be one commander of the army. His army was assisted by the greater because the lower classes, especially farmers who many joined his army. Nyi Ageng Serang also known as a tactician and negotiations. Nyi Ageng Serang died because of advanced age and was buried in Hamlet Frozen, Banjarharjo, Kalibawang, Kulonprogo. This tomb is situated on the hill about 6 km of road Muntilan-Dekso. Distance from Yogyakarta ± 32 km, from Wates City ± 30 km. In addition, Nyi Ageng Serang has a grandson who is also a national hero of Ki Hajar Dewantara.

Nyi Ageng Serang (1752-1828) along with his father (Panembahan Serang) and brother (Kyai Ageng Serang) including rebels who tore Gianti Agreement (13-02-1755) and continued armed resistance against the Dutch. Dutch troops ambushed in Semarang. His father and brother died in battle.

When Java War began Nyi Ageng Serang lost her husband who died in battle. Nyi Ageng Serang then continue the struggle, and though advanced in years, when it was 73 years, gained the confidence to lead troops. His forces took Panji "Gula Kelapa" (the color red and white) in the Central Java region northeast.

Nyi Ageng Serang in the battle of Talas was initiated using leaves as camouflage tactics. Two years before the Diponegoro War ended Nyi Ageng Serang died because of falling ill, the possibility of an attack of malaria epidemics as the disease claimed the lives of many soldiers, as well as Dutch soldiers along the mountains Opas Menoreh.

The Government has confirmed Nyi Ageng Serang as a National hero based on Presidential Decree No. 084/TK/1974

Unified Modeling Language (UML)


Unified Modeling Language atau yang dikenal sebagai UML merupakan keluarga notasi grafis yang didukung oleh meta-model tunggal, yang membantu penmdeskripsian dan desain sistem perangkat lunak, khususnya sistem yang dibangun menggunakan pemrograman berorientasi obyek (PBO).

Pendifinisian tentang UML diatas yang diambil dari refernsi No 1, memang terlihat sangat sederhana, dan tidak mewakili secara mutlak tentang UML. Kadang orang yang berkecimpung dalam bidang IT masih salah memahami bahwa UML = PBO = Java Language, padahal tidak demikian. Ada yang mengatakan bahwa UML merupakan bahasa pemrograman yang dapat digunakan untuk mengembangkan aplikasi PBO. Meski L dibagian belakang dari UML berarti language, tetapi jangan diterjemahkan sebagai bahasa pemrograman, melainkan bahasa grafi untuk pemodelan. Sedangkan PBO, merupakan bahasa pemrograman yang digunakan untuk mendukung penyelesaian pembangun sebuah sistem yang dipecah menjadi bagian yang kecil-kecil atau menjadi sebuah fungsi atau dikenal sebagai proses iteratif, hal ini tentu bertolak belakang dengan proses waterfall yang basisnya adalah aktivitas.
Java language sendiri merupakan sebuah bahasa pemrograman yang dapat digunakan untuk berbagai macam platfor sistem operasi, hal ini disebabkan cara kerjanya yang terbagi menjadi bagian yang di compile dan bagian yang di interpretasikan. Java language dikenal 10 tahun setelah orang mengenal PBO sebagai sebuah teknik pembuatan program diera tahun 80-an. Implementasi PBO jaman dulu lebih banyak digunakan untuk bahasa pemrograman C++, hingga akhirnya di era 90-an muncul bahasa pemrograman yang berbasis fungsi yaitu java language.

Kembali ke UML, berikut ini jenis diagram UML yang sering digunakan dalam model perancangan sistem berbasis iterasi :
  1. Use case diagrams
  2. Class diagrams
  3. Object diagrams
  4. Sequence diagrams
  5. Collaboration diagrams
  6. Statechart diagrams
  7. Activity diagrams
  8. Component diagrams
  9. Deployment diagrams
Use Case Diagrams
Use case diagram adalah gambaran graphical dari beberapa atau semua actor, use case, dan interaksi diantara komponen-komponen tersebut yang memperkenalkan suatu sistem yang akan dibangun. Use case diagram menjelaskan manfaat suatu sistem jika dilihat menurut pandangan orang yang berada di luar sistem. Diagram ini menunjukkan fungsionalitas suatu sistem atau kelas dan bagaimana sistem tersebut berinteraksi dengan dunia luar. Use case diagram terdiri dari Use case, Actors, Relationship,System boundary boxes (optional) dan Packages (optional)
Use case dibuat berdasar keperluan actor, merupakan “apa” yang dikerjakan system, bukan “bagaimana” system mengerjakannya, diberi nama yang menyatakan apa hal yang dicapai dari hasil interaksinya dengan actor, dinotasikan dengan gambar (horizontal ellipse), dan biasanya menggunakan kata kerja, serta Nama use case boleh terdiri dari beberapa kata dan tidak boleh ada 2 use case yang memiliki nama yang sama










Actor, bukanlah bagian dari use case diagram, namun untuk dapat terciptanya suatu use case diagram diperlukan beberapa actor. Actor tersebut mempresentasikan seseorang atau sesuatu (seperti perangkat, sistem lain) yang berinteraksi dengan sistem. Sebuah actor mungkin hanya memberikan informasi inputan pada sistem, hanya menerima informasi dari sistem atau keduanya menerima, dan memberi informasi pada sistem. Actor hanya berinteraksi dengan use case, tetapi tidak memiliki kontrol atas use case. Actor digambarkan dengan stick man. Actor dapat digambarkan secara secara umum atau spesifik, dimana untuk membedakannya kita dapat menggunakan relationship.








Uses case dan actor dihubungkan dengan relasi dalam diagram uses case, ada beberapa relasi yang terdapat pada use case diagram :
1. Association, menghubungkan link antar element.
2. Generalization, disebut juga inheritance (pewarisan), sebuah elemen dapat merupakan spesialisasi dari elemen lainnya.
3. Dependency, sebuah element bergantung dalam beberapa cara ke element lainnya.
4. Aggregation, bentuk assosiation dimana sebuah elemen berisi elemen lainnya.
Associations bukan menggambarkan aliran data/informasi, tetapi digunakan untuk menggambarkan bagaimana actor terlibat dalam use case. Ujung panah pada association antara actor dan use case mengindikasikan siapa/apa yang meminta interaksi dan bukannya mengindikasikan aliran data. association antara actor dan use case yang menggunakan panah terbuka untuk mengindikasikan bila actor berinteraksi secara pasif dengan system anda. Tipe relasi/ stereotype yang mungkin terjadi pada use case diagram :
  • include, yaitu kelakuan yang harus terpenuhi agar sebuah event dapat terjadi, dimana pada kondisi ini sebuah use case adalah bagian dari use case lainnya.
  • extends, kelakuan yang hanya berjalan di bawah kondisi tertentu seperti menggerakkan alarm.
  • communicates, mungkin ditambahkan untuk asosiasi yang menunjukkan asosiasinya adalah communicates association . Ini merupakan pilihan selama asosiasi hanya tipe relationship yang dibolehkan antara actor dan use case.
Generalization/inheritance digambarkan dengan sebuah garis berpanah tertutup pada salah satu ujungnya yang menunjukkan lebih umum, Generalization/inheritance dipakai ketika ada sebuah keadaan yang lain sendiri/perlakuan khusus (single condition)
Referensi :
  1. Martin Fowler, UML Distilled 3 edition, Pearson Education, 2004
  2. http://www.omg.org/gettingstarted/what_is_uml.htm
  3. http://edn.embarcadero.com/article/31863