Senin, 21 Oktober 2013

konsep dasar objek

Apa Itu Object?
A thing you can interact with (Pooley R)
A person or thing to which action, thought or feeling is directed. (Webster Dictionary)
Suatu produk materi atau substansi yang kelihatan (visible) dan dapat diukur (tangible)

Object Type adalah suatu kategori obyek
Object Type dapat berupa:
• concrete         ->  manusia, pensil, mobil, mesin
• intangible        ->  waktu, kualitas, ide, account
• Roles             ->  dokter, pasien, pemilik, administrator data
• judgments      ->  gaji tinggi, pekerjaan produktif
• relational        ->  pernikahan, partnership, ownership
• events            ->  penjualan, system crash
• displayable     ->  string, integer, icon, image

TEORI KLASIFIKASI
Dalam usahanya memahami dunia yang ada disekitarnya, manusia menggunakan 3 macam metode pengorganisasian dalam berpikir (Encyclopaedia Britannica, 1986):
• pembedaan suatu obyek tertentu berdasarkan atributnya
• pembagian suatu obyek dengan bagian-bagiannya
• pengelompokan obyek-obyek yang memiliki kesamaan

Pengelompokan obyek dapat dilihat dari sifat-sifat obyek tersebut / behaviour categories, yang dapat digolongkan berdasarkan (Britannica, “Animal Behaviour” 1986):
• on the basis of immediate causation
• on similarity of evolutionary history (change over time) and
• on the similarity of function.

TERMINOLOGI
Object.
·         Suatu abstraksi dari sesuatu yang terdapat dalam batasan permasalahan, yang menunjukkan kemampuan sistem untuk menyimpan informasi mengenai obyek tersebut dan bagaimana berinteraksi dengan obyek tersebut.
·         Pembungkusan nilai-nilai atribut dengan sifatsifatnya (services) yang ekslusif.

Class
Suatu kumpulan object yang dapat dijelaskan dengan attribute dan services yang sama.

Class & Object
Suatu istilah yang berarti sebuah class dan obyek dalam class tersebut .

Class-&-Object
WHY?
Membuat suatu representasi teknis sedekat mungkin dengan pandangan konseptual dari dunia nyata.

OBJECT ORIENTED ANALYSIS MODEL
------------------ Subject layer
------------------ Class-&-Object layer
------------------ Structure layer
------------------ Attribute layer
------------------ Service layer

Membuat kerangka analisis dan spesifikasi yang
stabil



Nama Obyek
·         Kata benda atau kata sifat & kata benda
·         Menjelaskan ‘sebuah’ obyek dalam class.
·         Gunakan kosa kata standar dalam ruang lingkup permasalahan.

Class-&-Object
HOW
Where
·         Observasi
·         Lihat sistem yang sudah ada (hasil object oriented analysis)
·         prototype

Bagaimana
What
·         struktur
·         sistem lain
·         devices
·         peran yang dimainkan
·         tempat (sites)
·         unit-unit organisasi
·         prosedur-prosedur operasional
·         sesuatu/hal-hal yang diingat


Hal-Hal Yang Diperhatikan
·         perlu diingat
·         memiliki suatu sifat-sifat tertentu
·         (biasanya) memiliki banyak atribut
·         (biasanya) terdapat lebih dari satu obyek dalam suatu class
·         terdapat atribut dan servis yang selalu dapat diaplikasikan
·         domain based requirement
·         tidak sekedar hasil perolehan

Minggu, 06 Oktober 2013

Analisa dan Perancangan Berorientasi Obyek

Analisa dan Perancangan Berorientasi Obyek


Analisa dan Perancangan
Berorientasi Obyek

METODE ANALISIS
Biasanya analisa sistem dimulai dengan adanya dokumen permintaan (requirement) yang diperoleh dari semua pihak yang berkepentingan. (Mis: klien, developer, pakar, dll)
Dokumen permintaan memiliki 2 fungsi:
·         memformulasikan kebutuhan klien
·         membuat suatu daftar tugas

Ada beberapa pendekatan yang biasa digunakan dalam menganalisa suatu sistem, yaitu:
  • Functional Decomposition
  • Data Flow Approach
  • Object Oriented
Functional Decomposition






Functional Decomposition = function
                                    + sub-functions
                                    + functions interfaces

Functional decomposition hanya menghasilkan suatu spesifikasi fungsional yang memetakan subyek secara tidak langsung.
Functional decomposition sulit dilakukan karena sifat sistem yang mudah berubah. Oleh sebab itu sistem analist harus dapat menentukan fungsi-fungsi yang memiliki potensi untuk berubah.


Data Flow Approach

Data Flow Approach          = data (& control) flows
                                    + data (& control) transformation
                                    + data (& control) stores
                                    + terminators
                                    + process specs (mini-specs)
                                    + data dictionary

Strategi: (ModernStructure Analysis)
Mengikuti alir data yang terjadi dalam sistem.
  1. mendefinisikan suatu even (even adalah semua kejadian yang harus direspon oleh sistem)
  2. menenetukan alir data input/output ke/dari tiap-tiap even (bubble)
  3. memasukkan data yang harus disimpan pada data store.
  4. mengelompokkan bubble-bubble yang saling berhubungan dan menganggap sebagai satu bubble yang baru.
  5. mengulang langkah ke-4 hingga diperoleh 1 bubble yang merupakan gambaran sistem secara umum.

Yang menjadi masalah adalah, manusia tidak terbiasa berpikir dengan cara tersebut dalam memecahkan
permasalahan.
(Metode pengorganisasian).

Object Oriented







Object Oriented = classes and objects
                        + inheritance
                        + communication with messages

Object Oriented Model
·         Representasi obyek dan strukturnya
·         Representasi apa yang terjadi pada obyek tersebut.

Kenapa OO?
·         Reusability
·         Stability
·         Reliability
·         Parallel computing
·         Interoperability
·         Design independence
·         Faster design
·         Integrity
·         Easier maintenance
·         Machine performance

Faktor Pendorong OO
·         Konsep pendekatan OO yang sudah cukup matang.
 Fokus:
            pengkodean  ->  desain ->   analysis
            Dekomposisi:
            pemrograman terstruktur ->  desain terstrukur ->  analysis terstruktur
·                                 Kemajuan teknologi yang memungkinkan pembuatan sistem berorientasi obyek
            Assembler,Fortran  ->�� Pascal, ALGOL, PL/1  ->  C++, Smalltalk
·                                 Sifat dari sistem / program yang dibuat banyak berubah
                  Sistem sekarang yang domain-oriented.
                  abstraksi prosedural vs. abstraksi data

Kualitas Perangkat Lunak
  • Architecture
  • Modularity
  • Abstraction
  • Information hiding
  • High Cohesion
  • Low Coupling


Terminologi
Problem Domain (Lingkup Permasalahan)
·         Problem:
            suatu isu, masalah, pertanyaan yang membutuhkan suatu penyelesaian, jawaban atau perhatian
            (Webster Dictionary, 1977)
·         Domain:
            ruang lingkup suatu kegiatan atau pengaruh.
            (Webster Dictionary, 1977)
·         Problem Domain:
            ruang lingkup usaha penyelesaian masalah yang diperhatikan.

System Responsibility (Tanggung Jawab Sistem)
·         System:
            A set or arrangement of things so related or connected as to
            form a unity or organic whole
            (Webster Dictionary, 1977)
·         Responsibility:
            The conditon, quality, fact, or instance of being responsible, answerable, accountablef or liable
            (Webster Dictionary, 1977)
·         System Responsibity:
            An arrangement of things accountable for, related together as a whole.

Abstraction (Abstraksi)
·         The principle of ignoring those aspects of a subject that are not relevant to the current purpose in order to concentrate more fully on those that are.
(Oxford, 1986)

Encapsulation (Penyembunyian Informasi)
·         A principle, used when developing an overall program structure, that each component of a program should encapsulate or hide a single design decision.
·         The interface to each module is defined in such a way as to reveal as little as possible about its inner workings (Oxford, 1986)

Inheritance (Pewarisan)
·         A mechanism for expressing similarity among Classes, simplifying definition of Classes similar to one(s) previously defined.
·         (Edward Yourdon, 1991)

Association (Hubungan)
·         The union or connection of ideas
(Webster Dictionary, 1977)

Message (Pesan)
·         Any communication, written or oral, sent between persons.

TUGAS 1

TUGAS 1
Apa itu Metode Berorientasi Objek
Pemrograman berorientasi objek atau object-oriented programming disingkat OOP merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya,

Apa itu Objek
membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer. objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.

Apa itu Kelas
kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.

Apa itu Enkapsulasi
Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi izin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.
Apa itu Inheritance (Pewarisan)
proses pewarisan data dan method dari suatu kelas ke kelas lainnya.Pewarisan ini bersifat menyeluruh.Semua data dan method milik kelas asalnya diturunkan ke kelas lainnya atau kelas yang baru.
    (a).Kelas yang mewariskan dinamakan:(super clas atau kelas induk)
    (b).Kelas yang diwariskan dinamakan:(Sub class atau kelas anak)

Apa itu Generalisasi 
pendefinisian subclass-subclass yang  disatukan  menjadi entitas  superclass  tunggal  berdasarkan karakteristik umum. Disamping proses desain top-down (dari inisial entitas ke level lebih rendah (subgrup)), desain juga dapat dilakukan dengan proses bottom-up, yaitu banyak entitas disintesiskan menjadi entity yang lebih tinggi berdasarkan kesamaan feature-nya.
Apa itu Spesialisasi
proses yang memperhatikan perbedaan setiap anggota dari sebuah entitas sehingga anggota dari sebuah entitas bisa dikelompokkan ke dalam kelompok yang lebih kecil.

Apa itu Polimorfisme
Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.

Apa itu UML
Unified Modeling Language (UML) adalah himpunan struktur dan teknik untuk pemodelan desain program berorientasi objek (OOP) serta aplikasinya. UML adalah metodologi untuk mengembangkan sistem OOP dan sekelompok perangkat tool untuk mendukung pengembangan sistem tersebut.

Jelaskan semua Diagram dan Notasi UML
Use Case Diagram
Use case adalah abstraksi dari interaksi antara system dan actor. Use case bekerja dengan cara mendeskripsikan tipe interaksi antara user sebuah system dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah system dipakai. Use case merupakan konstruksi untuk mendeskripsikan bagaimana system akan terlihat di mata user. Sedangkan use case diagram memfasilitasi komunikasi diantara analis dan pengguna serta antara analis dan client

Diagram Use Case berguna dalam tiga hal :
-      Menjelaskan fasilitas yang ada (requirements)
       Use Case baru selalu menghasilkan fasilitas baru ketika sistem di analisa, dan design                   menjadi lebih jelas.
-      Komunikas dengan klien
       Penggunaan notasi dan simbol dalam diagram Use Case membuat pengembang lebih                  mudah berkomunikasi dengan klien-kliennya.
-      Membuat test dari kasus-kasus secara umum
       Kumpulan dari kejadian-kejadian untuk Use Case bisa dilakukan test kasus layak untuk               kejadian-kejadian tersebut.
  Activity Diagram 
Pada dasarnya diagram Activity sering digunakan oleh flowchart. Diagram ini berhubungan dengan diagram Statechart. Diagram Statechart berfokus padaobyek yang dalam suatu proses (atau proses menjadi suatu obyek), diagram Activity berfokus pada aktifitas-aktifitas yang terjadi yang terkait dalam suatu proses tunggal. Jadi dengan kata lain, diagram ini menunjukkan bagaimana aktifitas-aktifitas tersebut bergantung satu sama lain. Sebagai contoh, perhatikan proses yang terjadi. “Pengambilan uang dari bank melalui ATM.” Ada tiga aktifitas kelas (orang, dan lainnya) yang terkait yaitu : Customer, ATM, and Bank. Proses berawal dari lingkaran start hitam pada bagian atas dan berakhir di pusat lingkaran stop hitam/putih pada bagian bawah. Aktivitas digambarkan dalam bentuk kotak persegi. Lihat gambar di bawah ini, agar lebih jelas :

Contoh Diagram Activity ‘Pengambilan Uang melalui ATM’.


Diagram Activity dapat dibagi menjadi beberapa jalur kelompok yang menunjukkan obyek mana yang bertanggung jawab untuk suatu aktifitas. Peralihan tunggal (single transition) timbul dari setiap adanya activity (aktifitas), yang saling menghubungi pada aktifitas berikutnya. Sebuah transition (transisi) dapat membuat cabang ke dua atau lebih percabangan exclusive transition (transisi eksklusif). Label Guard Expression(ada didalam [ ]) yang menerangkan output (keluaran) dari percabangan. Percabangan akan menghasilkan bentuk menyerupai bentuk intan. Transition bisa bercabang menjadi beberapa aktifitas paralel yang disebut Fork. Fork beserta join (gabungan dari hasil output fork) dalam diagram berbentuk solid bar (batang penuh).

Sequence Diagram
Diagram Class dan diagram Object merupakan suatu gambaran model statis. Namun ada juga yang bersifat dinamis, seperti Diagram Interaction. Diagram sequence merupakan salah satu diagram Interaction yang menjelaskan bagaimana suatu operasi itu dilakukan; message (pesan) apa yang dikirim dan kapan pelaksanaannya. Diagram ini diatur berdasarkan waktu. Obyek-obyek yang berkaitan dengan proses berjalannya operasi diurutkan dari kiri ke kanan berdasarkan waktu terjadinya dalam pesan yang terurut. Di bawah ini adalah diagram Sequence untuk pembuatan Hotel Reservation. Obyek yang mengawali urutan message adalah ‘aReservation Window’.

Contoh Diagram Sequence ‘Pemesanan kamar di Hotel’.
Reservation window’ mengirim pesan makeReservation() ke ‘HotelChain’. Kemudian ‘HotelChain’ mengirim pesan yang sama ke ‘Hotel’. Bila ‘Hotel’ punya kamar kosong, maka dibuat ‘Reservation’ dan ‘Confirmation’. Lifeline adalah garis dot (putus-putus) vertikal pada gambar, menerangkan waktu terjadinya suatu obyek. Setiap panah yang ada adalah pemanggilan suatu pesan. Panah berasal dari pengirim ke bagian paling atas dari batang kegiatan (activation bar) dari suatu pesan pada lifeline penerima.Activation bar menerangkan lamanya suatu pesan diproses. Pada gambar diagram , terlihat bahwa ‘Hotel’ telah melakukan pemanggilan diri sendiri untuk pemeriksaan jika ada kamar kosong. Bila benar, maka ‘Hotel’membuat ‘Reservation’ dan ‘Confirmation’. Pemanggilan diri sendiri disebut dengan iterasiExpression yeng dikurung dengan “[ ]”, adalah condition (keadaan kondisi). Pada diagram dapat dibuat note (catatan). Pada gambar, terlihat seperti selembar kertas yang berisikan teks. Note bisa diletakan dimana saja pada diagram UML.

 Communication Diagram (Collaboration diagram in versi 1.x)
Collaboration diagram menggambarkan interaksi antar objek seperti sequence diagram, tetapi lebih menekankan pada peran masing-masing objek. Setiap messagememiliki sequence number, di mana message dari level tertinggi memiliki nomor 1. Messages dari level yang sama memiliki prefiks yang sama. Diagram Collaboration juga merupakan diagram interaction. Diagram membawa informasi yang sama dengan diagram Sequence, tetapi lebih memusatkan atau memfokuskan pada kegiatan obyek dari waktu pesan itu dikirimkan.

Contoh Diagram Collaboration ‘Pemesanan kamar di Hotel’.
Kotak kegiatan obyek diberi label dengan nama kelas atau obyek (atau keduanya). Nama kelas dibatasi dengan colons / titik dua ( : ). Setiap pesan pada diagram Collaboration mempunyai angka yang terurut. Pesan yang tingkatannya tertinggi adalah angka 1. Pesan yang berada pada tingkat yang sama memiliki prefix yang sama, namunsuffix berbeda bergantung pada posisinya; hanya untuk angka 1, 2, dan seterusnya.

 Class Diagram
Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Classmenggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperticontainment , 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 :
Private, tidak dapat dipanggil dari luar class yang bersangkutan
Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya
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, classdapat dikelompokkan menjadi package. Kita juga dapat membuat diagram yang terdiri atas package.
 

  
Hubungan Antar Class
Asosiasi, yaitu hubungan statis antar class . Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi classlain. Panah navigability menunjukkan arah query antar class.
Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas..”).
Pewarisan, yaitu hubungan hirarkis antar class . Class dapat diturunkan dari classlain 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.
Hubungan dinamis, yaitu rangkaian pesan ( message ) yang di-passing dari satuclass kepada class lain. Hubungan dinamis dapat digambarkan dengan menggunakan sequence diagram yang akan dijelaskan kemudian.
  State Machine Diagram (Statechart diagram in versi 1.x)
Statechart diagram menggambarkan transisi dan perubahan keadaan (dari satu state kestate lainnya) suatu objek pada sistem sebagai akibat dari stimuli yang diterima. Pada umumnya statechart diagram menggambarkan class tertentu (satu class dapat memiliki lebih dari satu statechart diagram ). Dalam UML, state digambarkan berbentuk segiempat dengan sudut membulat dan memiliki nama sesuai kondisinya saat itu. Transisi antar stateumumnya memiliki kondisi guard yang merupakan syarat terjadinya transisi yang bersangkutan, dituliskan dalam kurung siku. Action yang dilakukan sebagai akibat dari eventtertentu dituliskan dengan diawali garis miring. Titik awal dan akhir digambarkan berbentuk lingkaran berwarna penuh dan berwarna setengah.





 Component Diagram

Component diagram menggambarkan struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan ( dependency ) di antaranya. Komponen piranti lunak adalah modul berisi code , baik berisi source code maupun binary code , baik library maupunexecutable , baik yang muncul pada compile time, link time , maupun run time . Umumnya komponen terbentuk dari beberapa class dan/atau package , tapi dapat juga dari komponen-komponen yang lebih kecil. Komponen dapat juga berupa interface , yaitu kumpulan layanan yang disediakan sebuah komponen untuk komponen lain.
 
Deployment Diagram
Deployment/physical diagram menggambarkan detail bagaimana komponen di-deploy dalam infrastruktur sistem, di mana komponen akan terletak (pada mesin, server atau piranti keras apa), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal Sebuah node adalah server, workstation , atau piranti keras lain yang digunakan untuk men- deploy komponen dalam lingkungan sebenarnya. Hubungan antar node (misalnya TCP/IP) dan requirement dapat juga didefinisikan dalam diagram ini.

 


Composite Structure Diagram
Diagram struktur komposit adalah diagram yang menunjukkan struktur internal classifier, termasuk poin interaksinya ke bagian lain dari sistem. Hal ini menunjukkan konfigurasi dan hubungan bagian, yang bersama-sama melakukan perilaku classifie. Diagram struktur komposit merupakan jenis diagram struktur statis dalam Unified Modeling Language (UML), yang menggambarkan struktur internal kelas dankolaborasi. 

Struktur komposit dapat digunakan untuk menjelaskan :
- Struktur dari bagian-bagian yang saling berkaitan
- Run-time struktur yang saling berhubungan

Contoh : Deskripsi dari bagian-bagian mesin yang saling berhubungan untuk melakukan fungsi mesin.
 
Interaction Overview Diagram
Interaction Overview Diagram adalah pencangkokan secara bersama antara activity diagram dengan sequence diagram. Interaction Overview Diagram dapat dianggap sebagai activity diagram dimana semua aktivitas diganti dengan sedikit sequence diagram, atau bisa juga dianggap sebagai sequence diagram yang dirincikan dengan notasi activitydiagram yang digunakan untuk menunjukkan aliran pengawasan.

Object Diagram Object diagram merupakan sebuah gambaran tentang objek-objek dalam sebuah sistem pada satu titik waktu. Karena lebih menonjolkan perintah-perintah 29 daripada class,object diagram lebih sering disebut sebagai sebuah diagram perintah.
 
 
Package Diagram
Diagram objek melengkapi notasi grafik untuk pemodelan objek, kelas dan relasinya dengan yang lain. Diagram objek bermanfaat untuk pemodelan abstrak dan membuat perancangan program. Untuk mengatur pengorganisasian diagram Class yang kompleks, dapat dilakukan pengelompokan kelas-kelas berupa package (paket-paket). Packageadalah kumpulan elemen-elemen logika UML. Gambar di bawah ini mengenai model bisnis dengan pengelompokan kelas-kelas dalam bentuk paket-paket :
Contoh Diagram Package.
 
 


Ada jenis khusus dari diagram Class yaitu diagram Object. Kegunaannya untuk penjelasan yang sedikit dengan relasi yang sulit, khususnya relasi rekursif. Lihat gambar dibawah, diagram Class kecil menunjukkan bahwa ‘department’ dapat mengandung banyak ‘department’ yang lain.
Class yang relasinya rekursif.
  
Setiap tingkatan pada diagram berpengaruh pada single instance (bagian tunggal). Nama bagian digarisbawahi dalam diagram UML. Untuk Class name (nama kelas) maupuninstance name (nama bagian) bisa mengambil dari diagram Object selama arti diagram tersebut masih jelas.
Instance name memiliki huruf yang digarisbawahi.
 
 
Timing Diagram
Timing Diagram adalah bentuk lain dari interaction diagram, dimana fokus utamanya lebih ke waktu. Timing diagram sangat berdaya guna dalam menunjukkan faktor pembatas waktu diantara perubahan state pada objek yang berbeda.