perancangan sistem berorientasi objek - elista:.

advertisement
PERANCANGAN
SISTEM BERORIENTASI
OBJEK
Catur Iswahyudi
Outline
• Pendahuluan
• Karakteristik objek
• Karakteristik metodologi berorientasi objek
• Pemodelan Berorientasi Objek
• Pemodelan sistem
• Model berorientasi objek
Pendahuluan
• Pemodelan (modeling) adalah proses merancang piranti
lunak sebelum melakukan pengkodean(coding). Model
piranti lunak dapat dianalogikan seperti pembuatan
blueprint pada pembangunan gedung.
• Semakin komplek sebuah sistem, semakin penting pula
penggunaan teknik pemodelan yang baik.
• Dengan menggunakan model, diharapkan
pengembangan piranti lunak dapat memenuhi semua
kebutuhan pengguna termasuk faktor-faktor seperti
scalability, robustness, security, dan sebagainya.
Kunci sukses APSI
• Kesuksesan suatu pemodelan piranti lunak ditentukan
oleh tiga unsur, yang kemudian terkenal dengan sebuan
segitiga sukses (the triangle for success)
• Ketiga unsur tersebut adalah metode pemodelan
(notation), proses (process) dan tool yang digunakan
• Memahami notasi pemodelan tanpa mengetahui cara
pemakaian yang sebenarnya (proses) akan membuat
proyek gagal. Dan pemahaman terhadap metode
pemodelan dan proses disempurnakan dengan
penggunaan tool yang tepat.
Perancangan Berorientasi Objek
• Analisis dan disain berorientasi objek adalah cara baru
dalam memikirkan suatu masalah dengan menggunakan
model yang dibuat menurut konsep sekitar dunia nyata
• Konsep fundamental dalam analisis berorientasi objek
adalah objek itu sendiri. Sebuah objek adalah sebuah
entitas yang mencakup data dan metode.
• Dasar pembuatan adalah objek, yang merupakan
kombinasi antara struktur data dan perilaku dalam satu
entitas.
• Pengertian "berorientasi objek" berarti bahwa kita
mengorganisasi perangkat lunak sebagai kumpulan dari
objek tertentu yang memiliki struktur data dan
perilakunya.
• Pada analisa, identitas sebuah object menjelaskan
bagaimana seorang user membedakannya dari object
lain, dan behavior object digambarkan melalui event yang
dilakukannya.
• Sedangkan pada perancangan, identitas sebuah object
digambarkan dengan cara bagaimana object lain
mengenalinya sehingga dapat diakses, dan behavior
object digambarkan dengan operation yang dapat
dilakukan object tersebut yang dapat mempengaruhi
object lain dalam sistem.
Benefits
• System Stability
• Sistem dikatakan resilence to change jika modifikasi tersebut tidak menimbulkan masalah baru
pada sistem yang telah dibangun, dengan waktu yang singkat dan biaya yang sedikit.
• Maintainability
• Lebih mudah dirawat dibandingkan metode sebelum objek yang cenderung dibuat berdasarkan
kebutuhan laporan dan kebutuhan sekarang, sehingga lebih sukar dirawat.
• Reusable software components
• Reusable software components ini dapat dilakukan oleh adanya feature inheritance dan
polimorphism. Contohnya pengembangan library untuk object classes pada JavaBean yang
dapat digunakan ulang
• Reality-based systems
• Memberikan gambaran yang lebih akurat terhadap operasi bisnis user dan kebutuhan
informasinya. Sehingga nantinya sistem yang telah jadi akan lebih cocok,sesuai dengan
kebutuhan aktual user
• Data accessibility
• Design database didasari oleh pemahaman dari data user dan relasi antar data
• User involvement and ownership
• User dapat dilibatkan dalam pengembangan sistem karena menggunakan konsep objek yang
lebih mudah dipahami oleh user meskipun berasal dari disiplin ilmu yang berbeda-beda.
Karakteristik OOAD
• Metodologi pengembangan sistem berorientasi objek mempunyai tiga
karakteristik utama Encapsulation, Inheritance, Polymorphism
• ENCAPSULATION (PENGKAPSULAN)
• 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.
• Contoh :
• Informasi/properties objek rekening : No rekening, Nama , alamat dll
• Perilaku/method objek rekening : buka, tutup, penarikan, penyimpanan, ubah
nama, ubah alamat dll
• Kita bungkus/encapsulate informasi dan perilaku tersebut pada objek rekening
• Sehingga perubahan-perubahan pada sistem perbankan yang berkaitan
dengan rekening diimplementasikan sederhana pada objek rekening
Karakteristik OOAD (cont’d)
• INHERITANCE (PEWARISAN)
• 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.
Hirarki Kelas
Karakteristik OOAD (cont’d)
• POLYMORPHISM (POLIMORFISME)
• Polimorfisme yaitu konsep yang menyatakan bahwa suatu yang
sama dapat mempunyai bentuk dan perilaku berbeda.
• Polimorfisme mempunyai arti bahwa operasi yang sama mungkin
mempunyai perbedaan dalam kelas yang berbeda.
Konsep Objek (object)
• Objek adalah segala sesuatu yang ada di dunia nyata
yang mempunyai nilai tertentu
• Objek dapat kongkrit, seperti halnya arsip dalam sistem,
atau konseptual seperti kebijakan penjadualan dalam
multiprocessing pada sistem operasi
• Setiap objek mempunyai sifat yang melekat pada
identitasnya
• Dua objek dapat berbeda walaupun bila semua nilai
atributnya identik.
Representasi Objek
• Obyek dalam ‘software analysis & design’ adalah sesuatu
berupa konsep (concept), benda (thing), dan sesuatu
yang membedakannya dengan lingkungannya.
• Secara sederhana obyek adalah mobil, manusia, alarm,
tabel, database, event, system messages.
Istilah dalam objek
• Atribut : Data item yang menegaskan Objek
• Operasi : Fungsi di dalam kelas yang dikombinasikan ke
bentuk tingkah laku kelas
• Metode : Pelaksanaan prosedur (badan dari kode yang
mengeksekusi respon terhadap permintaan objek lain di
dalam sistem).
Konsep Kelas (class)
• Kelas merupakan gambaran sekumpulan Objek yang
terbagi dalam atribut, operasi, metode, hubungan, dan
makna yang sama.
• Suatu kegiatan mengumpulkan data (atribut) dan perilaku
(operasi) yang mempunyai struktur data sama ke dalam
satu grup.
• Kelas Objek merupakan wadah bagi Objek. Dapat
digunakan untuk menciptakan Objek.
• Objek mewakili fakta/keterangan dari sebuah kelas.
Hubungan kelas dan objek
Pemodelan Berorientasi Objek
• Sebuah model objek menangkap struktur statis dari
sistem dengan menggambarkan objek dalam sistem,
hubungan antara objek, serta atribut dan operasi yang
merupakan karakteristik setiap kelas dan objek.
• Model berorientasi objek lebih mendekati keadaan nyata,
dan dilengkapi dengan penyajian grafis dari sistem yang
sangat bermanfaat untuk komunikasi dengan user dan
pembuatan dokumentasi struktur dari sistem.
Diagram Objek
• Diagram objek melengkapi notasi grafik untuk pemodelan
objek, kelas dan relasinya dengan yang lain. Diagram
objek bermanfaat untuk pemodelan abstrak dan membuat
perancangan program
• Konsep fundamental dalam analisis berorientasi objek
adalah objek itu sendiri. Sebuah objek adalah sebuah
entitas yang mencakup data dan metode.
Kelas
• Kelas merupakan satu atau lebih objek dengan
persamaan atribut dan metode, sedangkan kelas-&-objek
adalah kelas dengan satu atau lebih objek di dalamnya.
Nama kelas adalah kata benda tunggal, atau kata sifat
dan kata benda. Nama dari kelas-&-objek harus dapat
menjelaskan objek tunggal dari suatu kelas.
Notasi untuk kelas
Struktur Objek dan Hirarki Kelas
• Struktur kelas dibagi dua macam, yaitu Whole-Part Structure dan
Gen-Spec Structure.
• Whole-Part Structure memperlihatkan hirarki dari suatu kelas
sebagai komponen dari kelas lain yang disebut juga sub objek.
Contohnya, kelas Mobil adalah Whole dan komponennya Mesin,
Rangka, dll merupakan Part1, Part 2, …, dan Partn.
• Gen-Spec Structure memperlihatkan kelas sebagai spesialisasi dari
kelas di atasnya. Kelas yang mempunyai sifat umum disebut
Generalization, Superclass atau Topclass, sedangkan kelas yang
mempunyai sifat khusus disebut Specialization. Contohnya, kelas
Mobil adalah Generalization, sedangkan Sedan, Truk, Minibus, dll
merupakan Specialization1, Specialization2, …, Specialization-n,
yaitu kelas yang mempunyai sifat khusus.
Whole-part structure
Gen-spec structure
Atribut
• Atribut menggambarkan data yang dapat memberikan
informasi mengenai kelas atau objek dimana atribut
tersebut berada.
Metode
• Metode (method) adalah subprogram yang
tergabung dalam objek bersama-sama dengan
atribut. Metode dipergunakan untuk pengaksesan
terhadap data yang terdapat dalam objek
tersebut.
Pesan
• Message merupakan cara untuk berhubungan
antara satu objek dengan objek lain. Suatu pesan
dikirimkan oleh suatu objek kepada objek tertentu
dapat digambarkan dengan anak panah.
Contoh
Abstraksi dan Pemodelan
Sesuatu Hal...
• Obyek adalah segala sesuatu yang ada di sekitar kita,
dimana obyek-obyeklah yang menyusun dunia ini,
misalnya : mobil, kereta api, sale, faktur, rekening, dll
• Atribut /properti mendeskripsikan:
• Merek, Model, Tahun,
• Warna, Berat,
• No seri, No Izin.
• Relationship pada obyek lain:
• Pada obyek Orang, seperti : pemilik.
Entity
• Behavior :
–
–
–
–
Pembuatan
Perubahan warna
Penggantian Pemilik
Dihancurkan sendiri (bunuh diri?)
Object
Pada DATA WORLD
• Kita mempunyai beberapa jenis record pada komputer
untuk setiap objek dunia nyata
• Membawa data untuk atribut
• Merek, Model, tahun, warna, berat, no seri, no izin
• Nilai atribut merepresentasikan state (keadaan) obyek
• Menghubungkan beberapa jenis relationship
• Foreign Key atau pointer
Entity
• Membawa kode program utk setiap behavior
– Create, Change Owner, Change Color, Delete
– CRUD: Create, Read, Update, Delete.
Object
Contoh : Aktivitas Perkuliahan
• Dari aktifitas perkuliahan tersebut ada 3 objek yang
langsung dapat dikenali yaitu :
• Dosen (yang memberikan kuliah)
• Mahasiswa (yang mengikuti kuliah)
• Materi Kuliah
• Ada 2 objek lain yang bisa dikenali :
- Jadwal Kuliah dan Nilai yang didapat mahasiswa dari matakuliah
yang diikutinya
• Abstraksi dan pemodelan untuk salah satu dari
ke 5 objek tersebut,misal: objek DOSEN adalah :
• Menjadi
kelas : DOSEN
atribut : kode dosen
nama dosen
pendidikan, dll.
operasi : rekam
update
delete, dll.
Sehingga...
• Sebuah Obyek Data adalah suatu abstraksi dari beberapa
hal di dunia nyata dengan dua hal yang dibawanya, data
yang menggambarkan objek dunia nyata, dan
operasi (yaitu, kode program) untuk mengakses data
tersebut.
Chapter exercise
1.
2.
3.
4.
5.
6.
7.
8.
What is object-oriented analysis, and what are some advantages
of using this technique?
Define an object, and give an example.
Define an attribute, and give an example.
Define a method, and give an example.
Define encapsulation, and explain the benefits it provides.
Define polymorphism, and give an example.
Define a class, subclass, and superclass, and give examples.
Projects for next week discussion :
1.
2.
3.
Search the Internet for information about the history and development of
UML.
Search the Internet for information about groups and organizations that
support and discuss object-oriented methods and issues.
Search the Internet for information about CASE tools that provide UML
support.
Send blog link to :
• [email protected]
Download