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