Metode Perancangan Program Pert 13 – Pengenalan Konsep Object Oriented Object Menurut Coad and Yourdan Object adalah sebuah abstraksi dari sesuatu pada domain masalah, menggambarkan kemampuan untuk menyimpan informasi mengenai hal tersebut, berinteraksi dengan hal tersebut atau keduanya. Abstraksi Apakah abstraksi itu ? Abstraksi adalah sebuah bentuk gambaran yang mencakup hanya hal oenting atau menarik dari sudut pandang tertentu Contoh : sebuah peta adalah sebuah gambaran abstrak. Tidak ada satu peta pun yang menunjukkan setiap detail dari daerah tersebut. Karena ada kebutuhan tertentu, maka dibuatlah peta yang dapat memenuhi kebutuhan tersebut Misal, peta jalan, maka akan fokus kepada jalan dan tempat tempat. Peta jalan tidak akan menunjukkan struktur daratan yang ada. Selanjutnya peta geologi, akan menunjukkan batuan dan susunan tanah. Peta geologi mengabaikan nama jalan ataupun desa. Sehingga dapat dirangkum, bahwa object menggambarkan hal penting dari sesuatu yang relevant dengan tujuannya dan mengabaikan hal yang tidak relevan Sistem Sistem yang manakah yang dimaksud dengan coad dan yourdan ? Sistem yang dimaksud adalah sistem object oriented yang pengembangannya dalam tahap pertimbangan Object menurut Booch Menurut booch object mempunyai ‘state, behaviour, dan identity State menggambarkan kondisi tertentu dari sebuah object pada saat tertentu Behaviour adalah hal hal yang dapat dilakukan object Identity adalah bahwa setiap object adalah unik Karakteristik beberapa object Contoh Object : Orang Identity : Hussain Pervez Behaviour : Berbicara, berjalan, membaca States : sedang belajar, sedang beristirahat Class dan instance Object adalah instance tertentu dari sebuah class Object yang mempunya kesamaan dengan object lain dapat berada dalam class yang sama Instance adalah kata lain dari single object / satu object Class membership Membership didasarkan pada kesamaan antar object dalam sebuah class. Ada dua tipe kesamaan logical yang dapat ditest: Semua object pada sebuah class memiliki karakteristik yang sama. Contoh staff di Agate mencatat nama perusahaan client, alamat, no telp, no fax, email, dll. Setiap item dimasukkan karena akan berguna. Walaupun isi dari setiap item berbeda, tetapi struktur informasinya adalah sama Semua object pada sebuah class memiliki behaviour yang sama. Contoh client dapat memulai kampanye, menghentikan kampanye, membayar kampanye Generalization Menurut UML specification (OMG,2001), generalization adalah …sebuah hubungan taxonomic antara elemen yang lebih umum dengan elemen yang lebih khusus. Elemen yang lebih khusus sepenuhnya konsisten terhadap elemen yang lebih umum (memiliki semua properties, member dan relationship) dan dapat berisi informasi tambahan Generalization Macan Alsatian Dingo Kucing Anjing Ikan Tumbuhan Mamalia Binatang Makhluk Hidup Kucing Lokal Generalization Penerapan utama generalization dalam object oriented adalah untuk menggambarkan hubungan kesamaan antara class. Object class dapat diatur ke dalam hirarki. Hal ini mempunyai dua keuntungan yaitu 1. 2. Dengan menggunakan generalization, dapat dibuat struktur logical yang memperlihatkan tingkatan yang sama atau berbeda antar class Hirarki dapat di kembangkan sesuai dengan perubahan yang terjadi Inheritance Inheritance adalah mekanisme implementasi dari generalization dan specification pada object oriented programming. Ketika dua class dihubungkan dengan mekanisme inheritance, maka class yang lebih general disebut superclass dan yang lebih spesifik disebuh subclass Aturannya adalah sbb: Subclass mewarisasi semua karakteristik dari superclass Definisi subclass selalu termasuk paling sedikit satu detail yang tidak diwarisi dari superclass Inheritance Employee -dateOfAppointment -dateOfBirth -department -employeeNumber -lifeManager -name MonthlyPaidEmployee HourlyPaidEmployee +monthlySalary() -hourlyRate -hourlyWorked Message passing Object berkomunikasi dengan lainnya dengan mengirimkan message Ketika sebuah object menerima message, object tersebut dapat langsung menentukan apakah message tersebut relevan dengan ia atau tidak . Jika message berisi tanda yang valid untuk operasinya, maka object akan merespon. Jika tidak maka object tidak akan merespon. Encapsulation Data dari object berada di bagian dalam, sehingga hanya operasi dari object tersebut yang dapat menggunakan data. Hal ini disebut dengan encapsulation karena data tidak dapat dilihat atau diakses dari luar, kecuali oleh operasi yang berada di object tersebut., Encapsulation Object lain mengirimkan message meminta layanan Operasi dari object hanya dapat dipanggil dengan sebuah message yang valid Data object hanya dapat diakses oleh operasi dari object tersebut Representasi dari data disembunyikan di bagian dalam Polymorphism Polymorphism adalah kemampuan untuk tampil dalam berbagai bentuk. Hal ini mengacu pada kemungkinan message yang sama dikirimkan ke object-object lain pada class yang berbeda, dan merespon secara berbeda. Polymorphism 2a:=calculatePay() :FullTimeEmployee 2b:=calculatePay() :Monthly PayPrint 1:=getTotalPay() Pay Clerk :PartTimeEmployee 2c:=calculatePay() :TemporaryEmployee Object State Adalah sebuah kondisi dalam hidup object yang memenuhi beberapa kondisi, melakukan beberapa aktifitas atau menunggu event