• Tidak ada hasil yang ditemukan

Teknik Informatika S1

N/A
N/A
Protected

Academic year: 2021

Membagikan "Teknik Informatika S1"

Copied!
35
0
0

Teks penuh

(1)

Teknik Informatika S1

Disusun Oleh:

Egia Rosi Subhiyakto, M.Kom, M.CS

Teknik Informatika UDINUS

egia@dsn.dinus.ac.id

+6281329571612

Pengenalan OOAD

(2)

SILABUS MATA KULIAH

1. Introduction to OOAD

2. Introduction to UML

3. Requirement and Use Case

4. Analysis

5. Software Architecture

6. Software Architecture Modeling

7. Design Patterns

8. Design

9. Implementation

10. Testing

(3)

Sejarah OOAD

✓ Metode beorientasi objek mulai berkembang ketika Grady Booch pada tahun 80-an mempublikasikan suatu paper bagaimana melakukan perancangan untuk bahasa ADA namun memberi judul paper tersebut dengan : Object-Oriented Design.

✓ Selanjutnya ide tersebut terus ia kembangkan sampai tahun 90 an.

(4)

Sejarah OOAD

✓ Pada tahun 1991 Peter Coad dan Yourdon memperkenalkan metode berorientasi objek yang lebih sederhana dibandingkan Booch.

✓ Metode ini menjadi cepat populer karena mendukung layanan-layanan yang terdapat pada C++.

✓ Pada waktu itu C++ merupakan bahasa pemrograman berorientasi objek yang paling populer .

(5)

Sejarah OOAD

✓ Pada tahun 1994 Ivar Jacobson memperkenalkan konsep use case dan object oriented software engineering.

✓ Pada tahun 1994 itu juga yaitu bulan Oktober 1994 Booch, Rumbaugh dan Jacobson, mempelopori usaha untuk penyatuan notasi pendekatan berorientasi objek.

✓ Pada tahun 1995 dihasilkan draft pertama dari UML (versi 0.8). ✓ Sejak tahun 1996 pengembangan tersebut dikoordinasikan oleh

(6)

Sejarah OOAD

✓ Tahun 1997 UML versi 1.1 muncul, dan saat ini versi terbaru adalah versi 1.5 yang dirilis bulan Maret 2003.

✓ Booch, Rumbaugh dan Jacobson menyusun tiga buku serial tentang UML pada tahun 1999.

✓ Sejak saat itulah UML telah menjelma menjadi standar bahasa pemodelan untuk aplikasi berorientasi objek [DHA03]

(7)

Mengapa OOAD?

(8)

Mengapa OOAD?

Memudahkan pemanfaatan ulang code dan arsitektur

Lebih mencerminkan dunia nyata

o

lebih

tepat

dalam

menggambarkan

entitas,

dekomposisi berdasarkan pembagian yang natural,

lebih mudah untuk dipahami dan dirawat

(9)

Mengapa OOAD?

Kestabilan

o

perubahan kecil dalam requirement tidak berarti

perubahan yang signifikan dalam sistem yang

sedang dikembangkan

(10)

Kapan kita menggunakan OO?

Jika perangkat lunak (PL) yang dibangun cukup kompleks

Jika PL yang dibangun diperkirakan akan tumbuh makin

kompleks di masa mendatang

Jika kita ingin membangun PL yang dapat dipergunakan

kembali di masa mendatang (reusable)

(11)

Konsep Kunci Perancangan

Berorientasi Object

1. Peran Sentral dari Object (Central role of object)

Object sebagai inti dari desain perangkat lunak bukan

proses

o Proses rentan terhadap perubahan dan sebagian sistem lama tidak dapat digunakan kembali (re-usable)

Object berpusat pada struktur data dan method yang

dapat dimodifikasi/disesuaikan dengan kebutuhan

(12)

Konsep Kunci Perancangan

Berorientasi Object

2. Gagasan Kelas/ the notion of a class

Kelas-kelas mengijinkan perancang software untuk

melihat object sebagai jenis entitas yang berbeda

Melihat

sebagai

object

memungkinkan

untuk

menggunakan

mekanisme

klasifikasi

untuk

mengkategorikan jenis, mendefinisikan hirarki, dan

terlibat pada ide-ide spesialisasi dan generalisasi

(13)

Konsep Kunci Perancangan

Berorientasi Object

3. Suatu bahasa untuk mendefinisikan sistem/ a language to

define the system

Unified Modelling Language (UML) telah terpilih sebagai

alat standar untuk menggambarkan produk akhir dari

kegiatan desain

Dokumen-dokumen yang dihasilkan dalam bahasa ini dapat

dipahami secara universal, dengan demikian dapat

digunakan sebagai blueprint oleh enginer teknik lainnya

(14)

Konsep Kunci Perancangan

Berorientasi Object

4. Extendability dan kemampuan beradaptasi/ The

notions of extendibility and adaptability

Software memiliki fleksibilitas yang tidak biasanya ditemukan dalam perangkat keras dan ini memungkinkan kita untuk memodifikasi entitas yang ada

Inheritance: memungkinkan menciptakan kelas baru dari keturunan kelas yang ada (parent)

(15)

Cohesion & Coupling

Selain konsep sebelumnya, salah satu konsep OOP yang

cukup penting adalah

low coupling and high cohesion

Cohesion berhubungan dengan responsibility sebuah class

Coupling

berhubungan

dengan

seberapa

besar

ketergantungn class dengan class yang lain

(16)

Cohesion & Coupling (lanj)

Semakin spesifik sebuah responsibility class, maka

akan semakin rendah tingkat ketergantungannya,

begitu juga sebaliknya

Tujuan utama dari konsep ini adalah, fleksibilitas

sebuah class, artinya class yang didesain dengan low

(17)

Berorientasi Objek?

Attribute:

Topi, Baju, Jaket,

Tas Punggung,

Tangan, Kaki, Mata

Behavior:

Cara

Jalan ke Depan

Cara

Jalan Mundur

Cara

Belok ke Kiri

Cara

Memanjat

(18)

Berorientasi Objek?

Attribute (State):

Ban, Stir, Pedal Rem, Pedal Gas, Warna, Tahun Produksi

Behavior:

Cara Menghidupkan Mesin Cara Manjalankan Mobil Cara Memundurkan Mobil

Attribute  Variable (Member)

Behavior  Method (Fungsi)

(19)

Object

Sebuah object adalah representasi dari sebuah

entitas, baik fisik, konseptual maupun software

Obyek memiliki status (state) dan tingkah laku

(behavior), Status (state) disebut juga dengan atribut

Pada OOP : status disimpan dalam variabel, dan

(20)

Object

Example of object:

o

Physical entity

o

Conceptual entity

o

Software entity

Truck Chemical Process Linked List

(21)

Class

Sebuah Class merupakan definisi abstract dari sebuah object

• Class mendefinisikan struktur dan behaviour dari masing-masing object di dalam sebuah class

• Class bertugas sebagai template untuk pembuatan obyek

• Jadi obyek merupakan hasil instansiasi dari class Obyek disebut juga dengan instance

(22)
(23)

Perbedaan Class dan Object

Class: konsep dan deskripsi dari sesuatu

o

Class mendeklarasikan

method

yang dapat digunakan

(dipanggil) oleh object

Object: instance dari class, bentuk (contoh) nyata dari class

o

Object memiliki sifat

independen

dan dapat digunakan

untuk memanggil method

Contoh Class dan Object:

o

Class:

mobil

o

Object:

mobilnya pak Joko, mobilku, mobil berwarna

(24)

Perbedaan Class dan Object

Class seperti

cetakan kue

, dimana kue yg dihasilkan

dari cetakan kue itu adalah

object

Warna kue bisa bermacam-macam meskipun berasal

dari cetakan yang sama (

object memiliki sifat

independen

)

(25)

Attribute

• Variable yang mengitari class, dengan nilai datanya bisa ditentukan di object

• Variable digunakan untuk menyimpan nilai yang nantinya akan digunakan pada program

• Variable memiliki jenis (tipe), nama dan nilai

• Name, age, dan weight adalah atribute (variabel) dari class Person

(26)

Method

Method merupakan hal-hal yang bisa dilakukan oleh obyek

dari suatu class

Yang bisa dilakukan oleh method :

–Merubah nilai atribut suatu obyek

–Menerima informasi dari obyek lain

(27)

Karakteritik Metodologi Berorientasi Objek

Metodologi pengembangan sistem berorientasi objek

mempunyai tiga karakteristik utama :

1. Encapsulation

2. Inheritance

3. Polymorphism

(28)

Karakteritik Metodologi Berorientasi Objek

1. Encapsulation

Encapsulation merupakan dasar untuk pembatasan ruang

lingkup program terhadap data yang diproses.

Data dan prosedur atau fungsi dikemas bersama sama

dalam suatu objek, sehingga prosedur atau fungsi lain dari

luar tidak dapat mengaksesnya.

Data terlindung dari prosedur atau objek lain, kecuali

prosedur yang berada dalam objek itu sendiri.

(29)

Karakteritik Metodologi Berorientasi Objek

2. Inheritance

✓ Inheritance adalah teknik yang menyatakan bahwa anak dari objek akan mewarisi data/atribut dan metode dari induknya langsung.

✓ Atribut dan metode dari objek dari objek induk diturunkan kepada anak objek, demikian seterusnya.

✓ Inheritance mempunyai arti bahwa atribut dan operasi yang dimiliki bersama di anatara kelas yang mempunyai hubungan secara hirarki.

(30)

Karakteritik Metodologi Berorientasi Objek

2. Inheritance

✓ Suatu kelas dapat ditentukan secara umum, kemudian ditentukan spesifik menjadi subkelas. Setiap subkelas mempunyai hubungan atau mewarisi semua sifat yang dimiliki oleh kelas induknya, dan ditambah dengan sifat unik yang dimilikinya.

✓ Kelas Objek dapat didefinisikan atribut dan service dari kelas Objek lainnya.

(31)

Karakteritik Metodologi Berorientasi Objek

2. Inheritance

Contoh:

(32)

Karakteritik Metodologi Berorientasi Objek

3. Polymorphism

✓ Polimorphism yaitu konsep yang menyatakan bahwa sesuatu yang sama dapat mempunyai bentuk dan perilaku berbeda.

✓ Polimorphism mempunyai arti bahwa operasi yang sama mungkin mempunyai perbedaan dalam kelas yang berbeda.

✓ Kemampuan objek-objek yang berbeda untuk melakukan metode yang pantas dalam merespon message yang sama.

✓ Seleksi dari metode yang sesuai bergantung pada kelas yang seharusnya menciptakan Objek.

(33)

Benefit and Drawbacks of OO

Development

Benefit/Keuntungan

Objek sering kali mencerminkan entitas dalam sistem

aplikasi, ini membuat designer mudah dalam membuat kelas

Membantu meningkatkan productivity, karena kemampuan

re-use software yang ada

Lebih mudah untuk mengakomodasi perubahan, fleksibel.

Contoh: meskipun ada perubahan requirement

(34)

Benefit and Drawbacks of OO

Development

Drawbacks/Kerugian

Pada sistem yang kompleks, dengan banyaknya objek yang

diciptakan serta objek-objek yang berinteraksi dengan

cara yang kompleks, mengakibatkan poor memory access

times

Susahnya mempelajari dan menggunakan konsep OO

khususnya yang masih terpaku dengan konsep struktural

(35)

Referensi

Dokumen terkait

Berdasarkan informasi spasial ZPPI dan kedalaman perairan, teridentifikasi bahwa sebaran ZPPI yang paling luas dan prospektif untuk penangkapan ikan bagi nelayan Situbondo adalah

Puji syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa telah melimpahkan rahmat serta hidayah-Nya, sehingga penulis dapat menyelesaikan penulisan skripsi

PURWOREJO, FP – Kepala Bidang Perdagangan Dinas Koperasi Usaha Kecil Menengah dan Perdagangan ( Diskup MP) Purworejo, Sri Suhartini mengaku belum tahu secara pasti

Tujuan Percobaan adalah untuk mengetahui dan mempelajari jenis dan sifat (sifat kimia dan sifat fisika) dari zat yang direaksikan, serta untuk mencari rumus senyawa

Berdasarkan gambar di atas dapat dilihat rata-rata skor yang diperoleh sebesar 111,6 termasuk dalam kategori “baik” karena berada pada rentang antara 102,1-126,0 menunjukan

Sesuai pendidikan yang ditempuh maka penulis mengambil judul Tugas Akhir tentang “ Analisis Penerapan Contractor Safety Management System (CSMS) dalam Upaya

Mempersilahkan partisipan untuk mengisi skala PANAS dengan melaporkan apa yang dirasakan partisipan pada saat itu juga sesudah mendengarkan musik tradisional Batak