Matakuliah Tahun : Konsep object-oriented : 2009 ISTILAH-ISTILAH DALAM OBYEK ORIENTED Pertemuan 6 Istilah-istilah dalam obyek oriented Chapter 2 Bina Nusantara University 3 Object • Bagian dasar dari object oriented software adalah OBJECT • Merupakan model dari dunia nyata dalam problem domain aplikasi. Bina Nusantara University 4 Object(lanj’) Term Definition Object Paket unit software yang berisi data dan methods yang digunakan untuk memanipulasi data tersebut Class Template ( model dasar ) atau Pabrik untuk menbuat sebuah obyek Attribute Data item yang didefiniskan sebagai bagian dari class atau obyek Operation Prosedur atau fungsi yang didefinisikan sebagai bagian dari class atau obyek, biasanya digunakan untuk memyebut publik prosedur didalam obyek Method Prosedur atau fungsi yang didefinisikan sebagai bagian dari class atau obyek menggunakan istilah ini untuk mengambarkan implementasi prosedur Message Permintaan yang dikirim ke sebuah obyek untuk mengeksekusi sebuah methods yang ada didalamnya Encapsulation Pemaketab data dan operasi kedalam sebuah obyek Data hiding Membuat detail internal dari sebuah obyek tidak dapat diakses oleh obyek lain Inheritance Mekanisme untuk mendefiniskan sebuah class baru dari class yang sudah ada. Polymorphism Kemampuan untuk menyembunyikan perbedaan implementasi dengan menggunakan interface yang umum Bina Nusantara University 5 Object(lanj’) • Obyek didalam mail order sistem seperti customer, order dan produk • Obyek didalam sistem perpustakaan seperti anggota, buku, peminjaman dan pembatalan pinjaman • Obyek didalam sistem lalulintas seperti lampu, mobil, bicycles. • Kesemuanya obyek tersebut adalah fitur yang berada didalam problem domain yang akan ditulis kedalam program. Bina Nusantara University 6 Object(lanj’) • Obyek didalam O-O sistem dapat mewakili hal-hal fisik( seperti pelanggan, produk, anggota, buku), konseptual (seperti order, peminjamanm reservasi, pengembalian) dan organisasi (seperti perusahaan, departemen) • Obyek dapat juga berupa implementasi seperti GUI Windows, file atau linked list Bina Nusantara University 7 Object(lanj’) • Obyek dunia nyata mempunyai property atau atribut yang dibutuhkan dalam sistem developer, di dalam mail order sistem obyek pelanggan mempunyai nama, nomor telepon, dan alamat untuk kegunaan invoice. • Obyek dunia nyata juga mempunyai tingkah laku yang karakteristik yang ingin diambil sistem developer kedalam software buatannya. Didalam mail order sistem obyek pelanggan dapat “mengubah” nomor telepon dan alamatnya. Bina Nusantara University 8 Object(lanj’) Jemima:Car Fuel = 6.4 liters Speed = 32 Mph Temperature = cool Figure 2.2 • Jemima adalah nama obyek tersebut • Car adalah class dari obyek tersebut • Operasi tidak dimasukkan didalam diagram obyek, tetapi didalam diagram class operation harus dicantumkan • Model Obyek memudahkan untuk mengerti tentang problem domain. Bina Nusantara University 9 Class • Class adalah sekumpulan obyek yang memiliki kesamaan struktur dan kesamaan behavior [Bahrami,1999] • Sebuah class adalah pabrik dari obyek, sebuah template dari semua obyek yang tergabung dalam class tersebut. [britton,2001] • Sebuah class mempunyai atribut dan operasi. Bina Nusantara University Car Fuel Speed Temperature Stop( ) Start( ) Move forward( ) Reserve( ) 10 Example: class diagram for mail order system Customer name address Order 1 0..* • Number deliv ery date 1 1..* • Order Line quantity 0..* 1 Supplier name address tel no. contact name Product 1 Product no description 1..* price • Garis yang menghubungkan antar class tersebut adalah asosiasi Angka dan asterik mengambarkan multiplicity dari hubungan tersebut Asterisks (*) berarti sebuah angka arbitrary number(tak terhingga) sampai kepada nol — zero, one or many Gambar 2.5 Bina Nusantara University 11 • Dari gambar 2.5 dapat menceritakan kepada kita – Seorang pelanggan(customer) mempunyai mungkin mempunyai order dari nol sampai banyak order – Sebuah order hanya dimiliki oleh oleh seorang pelanggan – Sebuah order mungkin mempunyai saru atau banyak order line – Sebuah order line hanya milik sebuah order – Sebuah order line hanya mewakili sebuah produk – Sebuah produk mungkin bisa muncul nol kali atau banyak dalam order line yang berbeda – Sebuah produk mungkin saja disuplay oleh satu supplier – Seorang supplier mungkin menyuplay satu atau banyak produk Bina Nusantara University 12 Attribute • Atribut dari sebuah class adalah data item yang terdefinisikan dalam class tersebut; sebagai contoh nama, alamat merupakan atribut dari class pelangangan. • Gambar 2.6 Tiga Obyek dengan nilai yang spesifik :Customer name = Jane ly on address = 142 High St any town Bina Nusantara University :Customer name = Miles Dunn address = 32 Greenland any town :Customer name = Les Dolan address = 101High st any town 13 Operation • Didalam O-O yang sama dengan fungsi dan prosedur adalah operasi(method). • Operasi selalu didefinisikan sebagai bagian dari class, tidak dapat berdiri sendiri. • Operasi, atribut dan asosiasi bersama-sama memenuhi tanggung jawab dari sebuah class • Sebuah class biasanya bertanggung jawab terhadap sebagian dari fungsionalitas sistem • Operasi dapat didefinisikan sebagai public atau private. • Public operation adalah operasi, fungsi, prosedur yang dapat diakses oleh obyek lain didalam sistem ---- public interface • Private operation adalah sebuah fungsi atau prosedur yang digunakan internal oleh class untuk memenuhi tanggung jawabnya Bina Nusantara University 14 Method • Method digunakan untuk menunjuk kepada implementasi aktual dari sebuah prosedur– bagian badan dari code program yang dapat di eksekusi untuk memenuhi permintaan dari obyek lain didalam sistem. Bina Nusantara University 15 Message – Sebuah sistem akan bekerja dengan baik jika obyek berinteraksi dengan yang lain, mereka mengirim kan message untuk meminta layanan dari obyek yang lain. – Sebagai contoh asumsikan sebuah sistem menggunakan sebuah obyek mobil (sebut saja “jemima” dan obyek pengemudi yang ingin menjalankan mobil tersebut disebut saja “Tom”. Jika Tom ingin menjalankan mobil tersebut Tom harus mengirimkan message kepadal Jemima untuk menjalankan operasi start Bina Nusantara University 16 Encapsulation and data hiding • Pemaketan data dan operasi bersama sama menjadi sebuah obyek disebut encapsulation • Encapsulation menyediakan tiga keuntungan terhadap kualitas software – Proper modularity – Data abstraction – Data hiding Bina Nusantara University 17 Encapsulation and data hiding(lanj’) • Proper Modularity : Encapsulation data dan operasi kedalam satu struktur obyek menghasilkan blok software yang lebih berguna • Data abstraction: Sebuah nama obyek, class dan nama nama operation adalah public interface, menyediakan gambaran atau informasi kepada obyek client. • Data hiding: Data yang di encapsulasi kedalam obyek hanya dapat diakses oleh operasi obyek itu sendiri. Bina Nusantara University 18 Encapsulation and data hiding(lanj’) • Modul client lain tidak dapat mengakses langsung, mereka hanya dapat mengirimkan message untuk meminta mengeksekusi salah satu method yang ada • Interface eksternal tidak memberitahukan kepada dunia bagaimana data disimpan dan dan algoritma yang digunakan oleh method. Bina Nusantara University 19 Inheritance • Inheritance adalah mekanisme yang memungkinkan sebuah class baru didefinisikan dari class yang sudah ada sebelumnya, sebiah class yang baru didefinisikan sebagai spesialisasi dari class yang sebelumnya. • Spesialisasi class (Turunan) secara otomatis mempunyai fitur (operation dan atribut) class induknya. Bina Nusantara University 20 Inheritance(lanj’) • Spesialisasi class diturunkan dari general class • Class turunan/child class diturunkan dari induk/parent atau ancestor class • Sub-class diturunkan/inherits dari superclass Bina Nusantara University 21 Inheritance(lanj’) • Specialization of the customer class Customer name address tel.no. Local Customer pre-paid Bina Nusantara University Retail Customer delivery address delivery tel.no. account.no. 22 Polymorphism • Mean the ability to define program entities e.g. operations, that take more than one form. • Polymorphism linked with an inheritance hierarchy allow a single message interpreted differently by different object. Which method is execute will depend on which object receive the message Bina Nusantara University 23 Person name talk( ) Polymorphism(lanj’) Baby Person Father Granny gender talk( ) talk( ) talk( ) talk( ) Toddler Mother Vocabulary Grandad yearOfBirth CurrentYear talk( ) talk( ) talk( ) Different implementation of talk operation Bina Nusantara University Class Method implementation Person I’m not saying anything Baby Wah,wah Toddler Content of attributes vocalbulary Teenager (male)Grunt, Grunt Teenager (female) where is my mascara? Mother Have you tidied your room? Father I’m going to football Grandad I’m (currentyear minus yearofbirth) years old Granny When’s the boxing on? 24 Polymorphism(lanj’) • Jika kita menbuat obyek dari class hirarki diatas sebagai berikut: – Seorang bayi dengan nama Amber – Seorang balita dengan nama noah dengan vocabulary:Mama, No – Seorang remaja dengan nama edward, jenis kelamin pria – Seorang kakek dengan nama david lahir tahun 1901. , sekarang tahun 1999 • Jika kita mengirimkan message TALK kepada obyek2 tersebut maka mereka akan merespon : – Amber Wah, wah – Noah Mama, No – Edward Grunt Grunt – David I’m 98 years old Bina Nusantara University 25
© Copyright 2024 Paperzz