object oriented concept

35
Object Oriented Concept M. Tanzil Furqon, S.Kom Ilmu Komputer Universitas Brawijaya

Upload: bonnie

Post on 14-Jan-2016

45 views

Category:

Documents


0 download

DESCRIPTION

Object Oriented Concept. M. Tanzil Furqon, S.Kom Ilmu Komputer Universitas Brawijaya. Konsep dasar obyek. Real world  obyek (manusia, hewan, tanaman, mobil, pesawat, gedung, komputer,dll) Manusia  sudut pandang obyek - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Object Oriented Concept

Object Oriented Concept

M. Tanzil Furqon, S.Kom

Ilmu Komputer Universitas Brawijaya

Page 2: Object Oriented Concept

Konsep dasar obyek

Real world obyek (manusia, hewan, tanaman, mobil, pesawat, gedung, komputer,dll)

Manusia sudut pandang obyek Java dipandang sbg obyek terdiri dari banyak

obyek software interaktif Obyek :

Animate : hidup, bergerak, melakukan sesuatu Inanimate : tidak bergerak sendiri

Persamaan memiliki atribut (ex: ukuran, bentuk, warna, berat, dll) dan behaviour/perilaku (ex: bola menggelinding, memantul; bayi menangis, tidur, merangkak; mobil berakselerasi, mengerem, belok, dll)

Page 3: Object Oriented Concept

Konsep dasar obyek...

Manusia mengenali obyek yang ada dengan mempelajari atributnya dan mengobservasi perilakunya.

Obyek berbeda dapat memiliki kemiripan atribut dan perilaku.

Dibuat perbandingan bayi dan orang dewasa, mobil dan motor, dll.

Page 4: Object Oriented Concept

Object Oriented Design (OOD)

OOD Memodelkan software sama dengan cara manusia memandang obyek dalam dunia nyata.

Keuntungan hubungan antar class obyek class tertentu memiliki karakteristik sama, ex: class kendaraan (mobil, truk, station wagon, dll)

Keuntungan hubungan pewarisan obyek suatu class baru diturunkan dengan mengambil karakteristik class lama dan menambahkan karakteristik unik dari dirinya sendiri.

Ex: class “convertible” memiliki karakteristik umum class “automobile”, tapi lebih spesifik atapnya bisa dibuka/tutup.

Page 5: Object Oriented Concept

Object Oriented Design (OOD)...

OOD membungkus atribut dan operasi (behaviour) kedalam obyek

Obyek property of information hiding obyek tahu bagaimana berkomunikasi satu dengan lainnya melalui interface, tetapi mereka tidak mengetahui bagaimana obyek lain diimplementasikan. (desain implementasi tersembunyi didalam obyek itu sendiri)

Ex: Manusia dapat mengendarai mobil dengan baik, tanpa mengetahui detail mesin, transmisi, rem, dan pengapian yang bekerja didalamnya.

Page 6: Object Oriented Concept

Tujuan OOD

Goals robustness, adaptability, dan reusability Robustness : menghasilkan program yang benar, yaitu

program menghasilkan output yang benar untuk semua antisipasi input.

Adaptability : kemampuan program untuk dijalankan dengan perubahan minimal pada platform hardware dan sistem operasi berbeda.

Reusability : kemampuan untuk digunakan kembali, dengan kode sama mampu untuk digunakan sebagai komponen pada sistem yang lain di berbagai aplikasi.

Page 7: Object Oriented Concept

Object Oriented Programming (OOP)

Java bahasa berorientasi obyek. Pemrograman java OOP membolehkan

programmer mengimplementasikan OOD sebagai sistem kerja.

Bahasa lain (ex: C) prosedural pemrograman action-oriented.

C unit pemrogramannya function kelompok action yang melakukan pekerjaan yang sama

Group of function program (prosedural)

Page 8: Object Oriented Concept

Object Oriented Programming (OOP)...

Java unit pemrogramannya class dimana obyek diinstansiasi/diciptakan.

Java class method (operasi) dan atribut Programmer java fokus dalam pembuatan

class tiap class memiliki atribut dan kumpulan method yang memanipulasi atribut dan menyediakan servis ke client (class lain yg menggunakan class tersebut)

Programmer menggunakan class yang ada sebagai fondasi untuk membangun class yang baru

Page 9: Object Oriented Concept

Object Oriented Programming (OOP)...

Class blueprint untuk pembuatan obyek. Dapat membuat banyak obyek dari satu class Ex: You cannot cook meals in the kitchen of a

blueprint; you can cook meals in the kitchen of a house.

Class dapat memiliki hubungan/relasi dengan class lain

Ex: pada OOD suatu bank, class “bank teller” membutuhkan relasi dengan class “customer”, class “penarikan tunai”, class “tabungan”, dll.

Relasi diatas asosiasi

Page 10: Object Oriented Concept

Keuntungan OOP

Paket software dalam bentuk class future software system to reuse the class. (reusable)

Kelompok class tertentu paket reusable component

Reuseable : hemat waktu dan tenaga dalam membuat class

atau program baru membantu programmer membangun sistem yang

lebih reliable dan efektif (class yang ada telah lulus uji)

Page 11: Object Oriented Concept

Object Oriented Analysis and Design (OOAD)

Beginning programmer turn on computer and start typing untuk program kecil

Bagaimana bila membangun sistem enterprise? Lebih dari 1000 software developer?

Solusi analisis project’s requirement (apa yg harus dilakukan sistem), developing design (bagaimana sistem malakukannya) OOAD

OOAD proses analisa masalah dan mengembangkan pendekatan untuk mendapatkan solusi

Sebelum membuat program java pseudocode (logika program)

OOAD bahasa grafis untuk komunikasi UML (Unified Modeling Language)

Page 12: Object Oriented Concept

Sejarah UML

Dikembangkan pertengahan 1990-an oleh tiga software methodologists : Grady Booch, James Rumbaugh dan Ivar Jacobson

Th 1980-an bayak organisasi menggunakan OOP develop standard OOAD

Object Management Group (OMG) organisasi non profit yang mempromosikan standarisasi teknologi OO

OMG, HP, IBM, Microsoft, Oracle, Rational Software consorsium (UML Partners) UML 1.1 (1997)

Th 2003 OMG released UML 1.5 Sekarang UML 2.0

Page 13: Object Oriented Concept

UML

UML skema representasi grafik untuk pemodelan sistem berorientasi obyek yg paling banyak digunakan saat ini.

System designer memodelkan sistem dgn UML (diagram)

Kelebihan UML : Flexible (standard) Extensible (add new feature) Independent (OOAD process)

UML resources www.uml.org

Page 14: Object Oriented Concept

UML – Software Engineering

Studi kasus mesin ATM (Automated Teller Machine)

Requirement document tujuan pembuatan sistem, apa yg harus dilakukan sistem funsionalitas sistem

ATM (user): Melihat jumlah rekening Penarikan tunai Memasukkan uang ke rekening

Page 15: Object Oriented Concept

ATM

Rancangan interface :

Komponen : Layar menampilkan pesan pada user Keypad menerima input angka dari user Cash Dispenser tempat keluar uang Deposit Slot tempat memasukkan uang

Page 16: Object Oriented Concept

ATM...

Software ATM integrasi semua komponen Operasi ATM :

Authentikasi user (id user nomor rekening dan PIN) Membuat dan mengeksekusi transaksi Koneksi dengan database bank

Prosedur operasi :1. Layar menampilkan “Welcome message” dan meminta user

memasukkan nomor rekening

2. User memasukkan 5 digit rekening menggunakan keypad

3. Layar menginformasikan user untuk memasukkan PIN

4. User memasukkan 5 digit PIN menggunakan keypad

5. Jika nomor rekening dan PIN cocok, maka layar menampilkan menu utama, jika tidak maka layar menampilkan pesan kesalahan dan kembali ke langkah 1

Page 17: Object Oriented Concept

ATM...

Menu Utama ATM :

Tiap akhir transaksi, layar kembali ke menu utama. Jika user memilih untuk keluar (no.4) tampilan ke “Welcome message”

Page 18: Object Oriented Concept

UML – Use Case Diagram

ATM’s requirement document use case modelling (UML use case diagram)

Use case diagram memodelkan interaksi antara client sistem (nasabah) dengan use case nya.

Goal menunjukkan jenis interaksi antara user dengan sistem

Diagram use case ATM :

Page 19: Object Oriented Concept

UML Diagrams

Jenis diagram dalam UML : Use case diagram model interaksi user –

sistem Class diagram model class dalam sistem

Gambar :

State machine diagram model cara obyek berganti state

Gambar :

Page 20: Object Oriented Concept

UML Diagrams...

Activity diagram model aktivitas obyek

Gambar :

Communication diagram model interaksi antar obyek dalam sistem

Gambar :

Page 21: Object Oriented Concept

Implementasi Class dan Obyek dalam Java

Page 22: Object Oriented Concept

Struktur Java

Syntax java :

Page 23: Object Oriented Concept

Struktur Class

Bagian Class : Access modifier public, final, abstract Kata class diikuti nama_class Blok class yang diapit tanda “{” dan “}”

Page 24: Object Oriented Concept

Class

Class mendefinisikan tipe obyek Umumnya obyek menggunakan nama class nya sebagai

tipe obyek. Hanya diperbolehkan satu class public dalam satu file

java Contoh class Counter :

Page 25: Object Oriented Concept

Class...

Class Counter dideklarasikan diikuti blok program “{” dan “}”

Class Counter public class lain dapat membuat dan menggunakan obyek dalam class Counter

Class Counter satu instans variabel count bertipe integer

Variabel count diinisialisasi = 0 dengan method konstruktor Counter dipanggil ketika membuat obyek baru Counter (nama obyek sama dengan nama class)

Page 26: Object Oriented Concept

Class...

Class Counter 1 accessor method : getCount mengembalikan current value count

Class Counter 2 update method : incrementCount : menaikkan count decrementCount : menurunkan count

Page 27: Object Oriented Concept

Obyek

Obyek aktor utama dalam java Obyek menyimpan data (variabel) & menyediakan

method untuk akses dan modifikasi data Variabel :

Data dalam obyek java disimpan dalam instans variabel (field)

Instans variabel bertipe standar (integer, float, boolean, dll) atau obyek dari class lain

Method : Operasi pada data respon obyek Terdiri dari konstruktor, prosedur, dan fungsi Mendefinisikan perilaku / behaviour obyek dari class

tersebut.

Page 28: Object Oriented Concept

Class and Object

Analogi mobil menekan pedal gas mengirim pesan untuk melaju lebih kencang (task)

Class mengirim pesan melalui obyek (method call) method melaksanakan tugas

Ex: Membuat class GradeBook dengan method displayMessege dan memanggilnya pada class GradeBookTest pada file lain

Page 29: Object Oriented Concept

Class and Object...

Main program (class GradeBookTest) :

Output :

Page 30: Object Oriented Concept

Class and Object...

Instansiasi obyek :

Class Modifier :

Abstract class yang memiliki abstract method (tidak punya block code)

Public class yang bisa diinstansiasi atau ditambahkan oleh apa saja dalam paket yang sama

Final class yang tidak memiliki subclass

Page 31: Object Oriented Concept

Method

Class GradeBookTest method main dan displayMessage

Method main otomatis dieksekusi JVM ketika aplikasi dijalankan

Method displayMessage harus dipanggil Public method bisa diakses oleh class

lain Void tidak mengembalikan nilai pada

method yang memanggilnya

Page 32: Object Oriented Concept

UML GradeBook

Bagian atas nama class Bagian tengah atribut atau variabel Bagian bawah operasi atau method

Tanda (+) public

Page 33: Object Oriented Concept

Ada pertanyaan??

Page 34: Object Oriented Concept

Tugas

Buat program java dengan class mahasiswa dan class biodata. Class mahasiswa mempunyai obyek nama mahasiswa (nama anda) yang memiliki method tampilNIM, tampilAlamat, dan tampilNoTelp. Class biodata berfungsi untuk memilih menu, yaitu : 1. Tampilkan NIM

2. Tampilkan Alamat

3. Tampilkan Nomor Telpon

Dikerjakan individu, dikumpulkan minggu depan!

Page 35: Object Oriented Concept

Terimakasih