Matakuliah Tahun Versi : T0456 ~ Algoritma dan Metode Object Oriented Programming : 2005 :5 Pertemuan 3 Unified Modeling language (UML) 1 Learning Outcomes Pada akhir pertemuan ini, diharapkan: Mahasiswa dapat menjelaskan konsep object dengan bantuan UML 2 Outline Materi • Pemodelan Berorientasi Obyek • Pemrograman Berorientasi Obyek 3 PEMODELAN BERORIENTASI OBYEK • 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). 4 PEMODELAN BERORIENTASI OBYEK • 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. 5 Model Obyek • Pada Pengembangan system berorientasi object, terdapat beberapa metode pemodelan, seperti object modeling technique OMT (Rumbaugh -1991), Objectory (Jacobson - 1992), dan OOAOOD (coad and Yourdon - 1991). • Gabungan dari ketiga metode tersebut adalah unified Modeling language (UML) pada tahun 1997. • Pemodelan dalam slide ini dengan UML: 6 Notasi Kelas dan Object Kelas dan object dimodelkan dengan nama_kelas, attribute dan metode atau fungsi sbb: Nama_kelas Atributes Methods • 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. 7 Notasi Kelas dan Object Contoh: Nama Kelas Mahasiswa NIM Nama Jurusan InputNIM() InputNama() InputJurusan() TampilData(NIM) Atributes Methods 8 Notasi Struktur • Istilah struktur digunakan untuk menjelaskan hubungan generalisasi spesifikasi (gen-spek) dan hubungan keseluruhan sebagian (wholepart). • Stuktur gen-spek • Struktur whole-part menjelaskan hubungan kelas menjelaskan struktur satu dengan yang lain yang kepemilikan “has memakai hubungan “is a” a/an” atau “is a kind of” Contoh: A car is a kind of vehicle Contoh: A Car has a body 9 Notasi Struktur Gen-Spek Generalisasi Spesifikasi 2 Spesifikasi 1 Contoh: Kendaraan Kecepatan GantiKecepatan() Mobil Mesin Sepeda Gigi Motor Tak Kereta Api Gerbong 10 Notasi Struktur Whole-part Whole Part 2 Part 1 Contoh: Mobil Roda Mesin Body 11 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. 12 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 representasi yang dekat antara obyek dalam program dan obyek dalam dunia nyata. 13 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 14 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. 15 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 16 pada atribut tersebut. 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. 17 Penggunaan class • Class baru dapat digunakan setelah melalui proses pendefinisian • Untuk menggunakan class, object dalam class tersebut juga harus didefinisikan. 18 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 19 Model Obyek Titik: Point int x int y int Color Move() Print() Hide() SetColor(int) 20 Penutup • Untuk memahami konsep object dengan bantuan UML, mahasiswa membahas tugas pertemuan 3 no 1, 2, dan 3. (diskusikan dalam kelompok) 21