Keuntungan pewarisan : a.
Subclass menyediakan statebehaviour yang spesifik yang membedakan dengan
superclass, sehingga
memungkinkan programmer
untuk menggunakan ulang source code dari superclass yang telah ada.
b. Programmer dapat mendefinisikan superclass khusus yang bersifat generik,
yang disebut abstract class abstraksi, untuk mendefinisikan class dengan tingkah laku dan state secara umum.
3. Polimorfisme
Polimorfisme adalah kemampuan suatu obyek untuk mempunyai lebih dari satu bentuk. Polimorfisme tidak bergantung kepada pemanggilan subrutin.
Metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesan tersebut dikirim. Contohnya, bila sebuah
burung menerima pesan gerak cepat, maka akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, maka akan menggerakkan
kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena
sebuah variabel tunggal 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.
2.6.2 UML Unified Modeling Language
Unified Modelling Language UML adalah sebuah “bahasa” yg telah
menjadi standar
dalam industri
untuk visualisasi,
merancang dan
mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem. Dengan menggunakan UML dapat
membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis
dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan
piranti lunak dalam bahasa bahasa berorientasi objek seperti C++, Java, C atau VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk modeling
aplikasi prosedural dalam VB atau C. Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax semantik. Notasi UML merupakan sekumpulan
bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana
bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD Object-Oriented
Design, Jim Rumbaugh OMT Object Modeling Technique dan Ivar Jacobson OOSE Object-Oriented Software Engineering.
Sejarah UML sendiri cukup panjang. Sampai era tahun 1990 puluhan metodologi pemodelan berorientasi objek telah bermunculan di dunia.
Diantaranya adalah: metodologi booch, metodologi coad, metodologi OOSE, metodologi OMT, metodologi shlaer-mellor, metodologi wirfs-brock, dsb. Masa
itu terkenal dengan masa perang metodologi method war dalam pendesainan berorientasi objek. Masing-masing metodologi membawa notasi sendiri-sendiri,
yang mengakibatkan timbul masalah baru apabila dalam bekerjasama dengan groupperusahaan lain yang menggunakan metodologi yang berlainan.
2.6.2.1 Konsep Dasar UML
UML adalah notasi yang dihasilkan dari penyatuan OMT Object Modeling Technique, dan OOSE Object Oriented Software Enginering. UML juga telah
terpengaruh dengan penyatuan berorientasi objek yang lain, seperti yang diperkenalkan oleh Mellor dan Shlaer pada tahun 1998, Coad dan Yourdon pada
tahun 1995, Wirf-Brock pada tahun 1990, dan Martin dan Odel pada tahun 1992. Tujuan dari UML adalah untuk menyediakan sebuah satuan standar yang
dapat digunakan oleh semua metode berorientasi objek dan untuk memilih dan mengintegrasikan prosedur penyatuan elemen terbaik. Sebagai contoh, didalam
UML terdapat use case diagram yang diperkenalkan oleh OOSE dan menggunakan banyak fitur dari OMT class diagrams. UML juga termasuk konsep
baru yang tidak terdapat pada metode utama pada saat itu, seperti mekanisme