Matakuliah Tahun : T0456 / Algoritma dan Metode Object Oriented Programming : 2007 Class dan Object Model Pertemuan 16 Learning Outcomes Pada akhir pertemuan ini, diharapkan: Mahasiswa dapat menghasilkan class diagram dari suatu program C++ dengan UML Buku Referensi: C++ - How to program, Deitel & Deitel, Prentice Hall, 2001. Websites: http://www.deitel.com 3 Bina Nusantara Outline Materi • • • • • • • Pemodelan Obyek Notasi class dan object Notasi structure class Pemrograman Berorientasi Obyek Data members Function members Contoh object modelling 4 Bina Nusantara Object Model • Teknik pemodelan object menggunakan tiga macam model penggambaran system yaitu: o Model object o Model dinamik o Model use case (use case scenario) • Model object menggambarkan struktur statis dari suatu object dalam system dan relasinya, digambarkan dengan diagram object (class hierarchy). 5 Bina Nusantara Object Model • Model dinamik mengambarkan interaksi antara object dalam system yang digambarkan dengan state diagram. Model ini berhubungan dengan waktu dan sekuen operasi. • Model use case (use case scenario) model ini menggambarkan bagaimana system bekerja secara keseluruhan dan pada skenario tertentu. Sehingga jika sebuah object merupakan sesuatu yang menyediakan layanan maka harus dapat dibuktikan bahwa semua layanan tersebut ada dalam suatu use case. Model ini digambarkan dengan diagram use case scenario. 6 Bina Nusantara Model Obyek • Pada Pengembangan system berorientasi object, terdapat beberapa metode pemodelan, seperti object modeling technique OMT (Rumbaugh -1991), Objectory (Jacobson 1992), dan OOA-OOD (coad and Yourdon - 1991). • Gabungan dari ketiga metode tersebut adalah unified Modeling language (UML) pada tahun 1997. • Pemodelan dalam slide ini dengan UML: 7 Bina Nusantara Notasi Kelas dan Object Kelas dan object dimodelkan dengan nama_kelas, attribute dan metode atau fungsi sbb: • Atributes, berupa data atau informasi yang dipunyai oleh setiap object dalam kelas tersebut. • Fungsi (methods) adalah kemampuan dari object untuk memproses data, menginputkan data dan mendisplaynya. Nama_kelas Atributes Methods 8 Bina Nusantara Notasi Kelas dan Object Nama Kelas Contoh: Mahasiswa NIM Nama Jurusan Atributes InputNIM() InputNama() InputJurusan() TampilData(NIM) Methods 9 Bina Nusantara Notasi Struktur • Istilah struktur digunakan untuk menjelaskan hubungan generalisasi spesifikasi (gen-spek) dan hubungan keseluruhan sebagian (wholepart). • Stuktur gen-spek menjelaskan • Struktur whole-part hubungan kelas satu dengan yang lain menjelaskan struktur yang memakai hubungan “is a” atau kepemilikan “has a/an” “is a kind of” Contoh: A car is a kind of vehicle Contoh: A Car has a body 10 Bina Nusantara Notasi Struktur Gen-Spek Generalisasi Spesifikasi 1 Spesifikasi 2 Contoh: Kendaraan Kecepatan GantiKecepatan() Mobil Mesin Sepeda Gigi Motor Tak Kereta Api Gerbong 11 Bina Nusantara Notasi Struktur Whole-part Whole Part 1 Part 2 Contoh: Mobil Roda Mesin Body 12 Bina Nusantara PEMROGRAMAN BERORIENTASI OBYEK • Ide dasar dari pemrograman berorientasi obyek adalah bahwa dalam dunia nyata terdiri dari obyek, yang memiliki dua bagian yaitu properties (data/karakteristik) dan behavior (kemampuan melakukan sesuatu). • Untuk memecahkan masalah dalam PBO, programmer tidak lagi bertanya bagaimana program dipecah menjadi fungsi, tetapi bagaimana dipecah ke dalam obyek. 13 Bina Nusantara PEMROGRAMAN BERORIENTASI OBYEK • Benda-benda yang dapat menjadi obyek: - Human entities: Employee, customer, worker, manager. - Graphics program: point, line, circle, etc. - Mathematics: matrix, vector, complex number. - Computer user environment: windows, menus. - Data-storage: array, stacks, linked-lists. • Berfikir dalam batasan obyek dari pada fungsi sangat berpengaruh dalam membantu proses perancangan program, hasilnya adalah repre- sentasi yang dekat antara obyek dalam program dan obyek dalam dunia nyata. 14 Bina Nusantara PEMROGRAMAN BERORIENTASI OBYEK • Konsep utama dalam PBO: 1. Encapsulation 2. Inheritance 3. Polymorphism • Pada PBO program terdiri atas object yang saling berinteraksi. • PBO menggambarkan hubungan interaksi antar objek sebagai satu peristiwa (events), disertai pengiriman pesan (messages) antar object. • Sebuah object dianalogikan sebagai object dari dunia nyata yang mempunyai : 1. Specific properties 2. Specific behavior 15 Bina Nusantara PEMROGRAMAN BERORIENTASI OBYEK • Siklus hidup object: 1. Born (created) 2. Life (run, do it’s job) 3. Dead (destroyed) • Object merupakan suatu variable yang memiliki dua property yaitu data attribute dan operasi, atau dalam C++ disebut data members dan member functions. • Penggambaran sekelompok object yang mempunyai property sama disebut Kelas (class), yang juga merupakan suatu tipe data. 16 Bina Nusantara Data Class (data member) • Pada pengembangan disain program secara keseluruhan, prinsip yang digunakan adalah menyembunyikan atribut class (information hiding) • Dalam class terdapat dua interface dari attributenya yaitu private dan public. • Atribut private berarti data tersebut hanya dapat diakses oleh fungsi dari class itu sendiri. • Atribute public berarti data tersebut dapat diakses oleh fungsi di luar class. • Penentuan suatu attribute private atau public tergantung pada tingkat keamanan yang diterapkan pada atribut tersebut. 17 Bina Nusantara Fungsi Anggota (Member Function) • Merupakan kemampuan yang dipunyai oleh suatu class • Kemampuan tersebut diwujudkan dengan fungsi anggota • Dalam suatu class dapat mempunyai lebih dari satu fungsi anggota. • Dalam disain program, fungsi anggota ada yang bersifat private maupun public. 18 Bina Nusantara Penggunaan class • Class baru dapat digunakan setelah melalui proses pendefinisian • Untuk menggunakan class, object dalam class tersebut juga harus didefinisikan. 19 Bina Nusantara Contoh Sebuah Obyek • Sebuah titik (point) dalam komputer grafik • Titik dalam bidang mempunyai data: koordinat x-y • Kemampuan dari titik adalah bergerak (move) dalam bidang, muncul ke layar dan sembunyi (hide) • Bentuk model dari titik dalam PBO adalah: – Dua variable bilangan bulat (x, y) untuk merepresentasikan koordinat x-y – Satu fungsi move untuk, menggerakkan titik – Satu fungsi print, untuk menampilkan titik – Satu fungsi hide, untuk menyembunyikan titik 20 Bina Nusantara Model Obyek Titik: Point int x int y int Color Move() Print() Hide() SetColor(int) 21 Bina Nusantara Diskusi dan Tanya Jawab Latihan soal 22 Bina Nusantara
© Copyright 2024 Paperzz