Perancangan sistem berbasis objek



           Dimulai tahun 1994, Booch, Runbaugh dan Jacobson merupakan tiga tokoh yang metodelogi-nya paling banyak dipakai mempelopori organisasi yang bertujuan menyatukan metodelogi-metodelogi berorientasi objek, organisasi tersebut dinamakan OMG (Object Modelling Group). Pada tahun 1995 OMG merealisasi draf pertama dari UML (versi 0.8) dan pada tahun 1997 UML versi 1.1 muncul dan sekarang versi terbaru dari UML adalah versi 2.0. Pada tahun 1997 Booch, Runbaugh dan Jacobson menyusun tiga buku tentang UML. Sejak saat itulah UML telah menjelma menjadi standar bahasa pemodelan untuk aplikasi berorientasi objek.

Diagram UML

UML merupakan sintak umum untuk membuat model logika dari suatu sistem dan digunakan untuk menggambarkan sistem agar dapat dipahami selama fase analisis dan desain. UML biasanya disajikan dalam bentuk diagram/gambar yang meliputi class beserta atribut dan operasinya, serta hubungan antar class yang meliputi inheritance, association dan komposisi.

Gambar 1. Diagram UML Versi 2.0 (Sumber www.uml.org)
 
Berikut ini adalah contoh diagram UML mengenai pemesanan tempat di sebuah restorant.
 

 


  1. Customer datang untuk memesan tempat, Start.
  2. Mengidentifikasi customer jika sudah terdaftar, tapi jika belum masuk ke pilihan daftar customer.
  3. Mencari permohonan pemesanan tempat.
  4. Mengecek tempat yang tersedia.
  5. Jika ada tempat yang kosong maka OK, tapi jika tidak ada maka reservasi batal.
  6. Mereservasi ke Buku Reservasi.
  7. Mengkonfirmasi ke Customer.
  8. Proses selesai, Finish.
 Hasilnya seperti dibawah ini :
 


Jumat, 21 Juni 2013



Sofware Engineering
  1. Modelling Activity -> Diagram/ Notasi , Algoritma.
  2. Problem Solving Activity (karena ada suatu masalah maka dirancang) -> dibuat dalam rangka mencari solusi.
  3. Knowledge Aquitiation.
  4. Rationale Driven. -> Harus memperhatikan konteks (lokasi, kebutuhan, stakeholder, dsb).
Model dibangun untuk menyelesaikan suatu masalah dan model membutuhkan suatu knowledge.





 Konsep Object Oriented
 
Object adalah Definisi Informal  : Sebuah object adalah representasi dari sebuah entitas, baik fisik, konseptual maupun software.
  • Entitas fisik misalnya : orang, mobil, dan lain-lain.
  • Entitas konseptual misalnya : proses kimia atau algoritma.
  • Entitas software misalnya : linked list
Definisi Formal : Sebuah entitas dengan boundary yang terdefinisi dengan baik dan identitas yang mengekapsulasi state dan behaviour.
  • State : direpresentasikan oleh atribut dan relationship.
  • Behaviour : direpresentasikan oleh operasi, method dan state machine.
State
  • State dari sebuah object adalah kondisi yang mungkin dialami oleh object.
  • Secara normal, state object berubah setiap waktu.
Behaviour
  • Behaviour menentukan bagaimana sebuah object beraksi dan bereaksi.
  • Behaviour yang tampak dari sebuah object dimodelkan oleh sekumpulan pesan (message) yang bisa direspon oleh operasi operasi yang bisa dijalankan oleh sebuah object.
ABSTRACTION
adalah karakteristik dasar dari sebuah entitas yang membedakan entitas tersebut dari entitas lain.
Abstraction membedakan batasan dalam pandangan viewer.
Abstraction bukanlah pembuktian nyata, hanya menunjukkan intisari / pokok dari sesuatu.
Paradigma Berorientasi Objek
  • Proses menentukan atribut dan operasi yang benar benar diperlukan oleh suatu objek.
  • Tidak menyertakan atribut dan operasi yang tidak diperlukan untuk konteks masalah yang dihadapi.
  • Misal : Objek Sepeda Motor.
    Apakah nomor mesin merupakan atribut dari objek sepeda motor ?
    Jika masalahnya berkaitan dengan sistem parkir, maka data yang perlu dicatat adalah nopol kendaraan. Nomor mesin tidak diperlukan.
    Jika masalahnya berkaitan dengan pembuatan STNK, maka nomer mesin diperlukan.
ENCAPSULATION
adalah menyembunyikan implementasi dari client, sehingga client hanya tergantung pada interface.
Paradigma Berorientasi Objek
  • Suatu sistem memiliki kompleksitas yang tidak perlu diketahui oleh pengguna.
  • Yang dibutuhkan pengguna hanyalah bagaimana bisa berinteraksi dengan sistem tersebut secara mudah.
  • Encapsulation -> menyembunyikan kompleksitas dari luar dan membuka operasi-operasi yang diperlukan.
  • Misal : Sistem Televisi.
    Pengguna tidak peduli dengan cara kerja rangkaian elektronika di dalamnya. Mereka hanya memperhatikan tombol apa saja untuk mengoperasikannya.
MODULARITY
adalah pemecahan sesuatu yang kompleks menjadi bagian-bagian yang sudah diatur.
Modularity membantu orang dalam memahami sesuatu yang kompleks.
Class
  • Sekumpulan object yang berbagi atribut umum dan behaviour secara umum.
  • Sekumpulan object yang memiliki struktur data dan behaviour yang sama.
  • Blue print atau definisi sebuah object.
Instance adalah sebuah object yang dibuat oleh sebuah class.

Instantiation adalah pembuatan instance.

Specialization adalah pendefinisian sebuah class sebagai pendetilan class yang lain.

Subclass adalah sebuah yang didefinisikan dalam rangka specialization superclass menggunakan inheritance.

Superclass adalah sebuah class yang bertugas menurunkan sifat (inheritance) dalam sebuah hirarki class.

Inheritance adalah penduplikasian atribut dan behaviour superclass ke subclassnya.

Pengiriman Pesan
Objek-objek dalam sistem bekerja sama dengan cara mengirimkan pesan dari satu objek ke objek lainnya.

AssosiasiAssosiasi hanya mengakses sifat, tidak menurunkan sifat.

AgregasiBentuk yang lebih kuat dari assosiasi.

Komentar

Postingan populer dari blog ini

DarcMatter ICO Specification