materi objek
-
Upload
aditya-bagus-syaifullah -
Category
Documents
-
view
365 -
download
3
Transcript of materi objek
KONSEP OBJECT
DALAM PEMODELAN BERBASIS OBJECT
Aditya Bagus Syaifullah – 06.04.111.00828
Teknik Informatika Universitas Trunojoyo
Pendahuluan
Analisis dan disain berorientasi objek adalah cara baru dalam memikirkan suatu masalah dengan
mengguna kan model yang dibuat menurut konsep sekitar dunia nyata. Dasar pembuatan adalah
objek,yang merupakan kombinasi antara struktur data dan perilaku dalam satu entitas.
Analisis Berorientasi Obyek:
Metode-metode analisis berorientasi objek yang popular,adalah :
1. Metode Booch
2. Metode Rumbaugh (OMT – Object Modelling Technique)
3. Metode Jacobson (OOSE – Object Oriented Software Engineering)
4. Metode Coad & Yourdon
5. Metode Wirfs – Brock
6. Metode Rational Unified Process
Metode Analisis Jacobson (OOAD)
Metode ini berbeda dengan metode lainnya, yaitu penekanan pada use – case – yaitu deskripsi atau
skenario mengenai cara pemakai berinteraksi dengan sistem atau produk .
Object Oriented Analysis Design (OOAD) adalah rekayasa perangkat lunak yang model pendekatan
sistem sebagai kelompok interaksi objek. Beberapa entitas mewakili setiap obyek, yang menarik
dalam sistem menjadi model dan kelas, elemen data, dan perilaku. Analisis berorientasi objek (OOA)
berlaku objek modeling teknik untuk menganalisis fungsional persyaratan untuk sistem.
Secara singkat OOAD adalah metode analisis yang memerikasa requirements dari sudut pandang
kelas-kelas dan objek yang ditemui dalam ruang lingkup permasalahan yang mengarahkan arsitektur
software yang didasarkan pada manipulasi objek-objek sistem atau subsistem. Sekarang ini terdapat
berbagai metodologi yang digunakan dalam object oriented analisys and design (OOAD).
Beberapa konsep dasar dalam OOAD adalah :
1. Objek (Object)
2. Kelas (Class)
3. Kotak hitam (black Box) adalah dasar dari implementasi objek. Dalam operasi OO, hanya
para developer yang dapat memahami detail dari proses-proses yang ada dalam kotak
hitam, sedangkan para user tidak mengetahui. Menggunakan proses enkapsulasi dan
message.
4. Asosiasi dan Agregasi
OOSE Relationship Diagram
Objek
Objek didefinisikan sebagai konsep, abstraksi atau benda dengan batasan dan arti untuk suatu
masalah. Semua objek mempunyai identitas yang berbeda dengan lainnya.Istilah identitas berarti
bahwa objek dibedakan oleh sifat yang melekat dan bukan dengan uraian sifat yang dimilikinya.
Contohnya, kembar identik, walaupun mereka nampak seperti sama, tetapi merupakan dua orang
yang berbeda. Kadang-kadang objek berarti suatu barang, maka digunakan istilah object instance,
dan object class untuk menunjukkan satu grup dari barang yang sama.
Tujuan dari pemodelan objek adalah menggambarkan objek, sebagai contoh, Joe Smith, Simplex
company, proses nomor 7648 adalah objek. Suatu objek adalah sesuatu yang sederhana yang
membuat pengertian dalam konteks aplikasi.
Objek didefinisikan sebagai konsep, abstraksi atau benda dengan dengan batasan dan arti untuk
suatu masalah. Objek menjelaskan dua tujuan, yaitu pengertian tentang dunia nyata dan dilengkapi
dengan dasar praktek untuk implementasi komputer. Dekomposisi dari suatu masalah ke dalam
objek tergantung pada keputusan dan kenyataan dari masalah tersebut. Tak ada sesuatu penyajian
yang sempurna. Kadang-kadang objek berarti suatu barang, pada saat lain menunjuk pada suatu
kelompok barang yang sama. Bila kita menginginkan untuk menunjuk dengan tepat suatu barang,
maka digunakan istilah object instance, dan object class untuk menunjukkan satu grup dari barang
yang sama.
Sebuah obyek memiliki keadaan (state) dan perilaku (behavior). State dari sebuah obyek adalah
kondisi obyek tersebut atau himpunan dari keadaan yang menggambarkan obyek tersebut. Sebagai
contoh, bola lampu adalah obyek, dan salah satu keadaan nyala atau tidak nyala adalah state dari
obyek bola lampu tersebut.
State dinyatakan dengan nilai dari sebuah atribut obyeknya. Atribut adalah nilai internal
suatu obyek yang mencerminkan antara lain karakteristik obyek, kondisi obyek, kondisi sesaat,
koneksi dengan obyek lain dan identitas. Perubahan state dicerminkan oleh perilaku (behavior)
obyek tersebut.
Behaviour
Behavior adalah kumpulan dari sesuatu yang dapat dilakukan oleh objek dan terkait dengan fungsi-
fungsi yang bertindak pada data objek (atau atribut). Pada siklus berorientasi objek, perilaku objek
merujuk kepada metoda, operasi atau fungsi. Behavior suatu obyek mendefinisikan bagaimana
sebuah obyek bertindak (beraksi) dan memberikan reaksi. Behavior ditentukan oleh himpunan
semua atau beberapa operation yang dapat dilakukan dalam obyek itu sendiri. Behavior dari sebuah
obyek dicerminkan oleh interface, service dan method dari obyek tersebut. Interface adalah pintu
untuk mengakses service obyek. Service adalah fungsi yang bisa diemban obyek. Method adalah
mekanisme internal obyek yang mencerminkan perilaku (behavior) obyek tersebut. Sebagai contoh,
jika printer merupakan sebuah obyek maka perilaku (behavior) atau servicenya mencetak apapun
yang dia terima.
Sebuah objek pada dasamva mempunvai properti sebagai berikut:
- Atribut
- Nilai atau elemen-elemen data yang dimiliki oleh objek dalam kelas objek.
- Merupakan ciri dari sebuah objek.
- Dipunyai secara individual oleh sebuah objek.
- Contoh: berat, jenis. nama, dan sebagainva.
- Layanan (Service)
- Metode atau operasi yang berfungsi untuk memanipulasi objek itu sendiri.
- Fungsi atau transformasi yang dapat dilakukan terhadap objek atau dilakukan oleh
objek.
- Dapat berasal dari:
- event
- aktivitas atau aksi keadaan
- fungsi
- kelakuan dunia nyata
- Contoh: Read, Write, Move. Copy. Dan sebagainya.
Kelas (Class)
Suatu object class menggambarkan kumpulan dari objek yang mempunyai sifat (atribut), peri laku
umum (operasi), relasi umum dengan objek lain dan semantik umum. Orang, perusahaan, binatang,
proses dan window adalah objek. Setiap orang mempunyai umur, IQ dan mungkin pekerjaan. Setiap
proses mempunyai pemilik, prioritas, list dari sumber daya yang dibutuhkan.
Objek dan object classes sering sama sebagai benda dalam deskripsi masalah. Istilah Kelas sering
digunakan dari pada Kelas-obyek. Objek dalam kelas mempunyai atribut dan pola peri laku yang
sama. Sebagian besar objek diturunkan sifatnya dari perbedaan nilai atributnya dan relasi dengan
objek lain.
Bagaimanapun juga, terdapat kemungkinan adanya objek dengan nilai atribut dan relasi yang
identik. Setiap objek mengetahui kelasnya. Dengan mengumpulkan objek ke dalam kelas, kita
membuat abstraksi suatu masalah. Abstraksi memberikan pemodelan yang mempunyai kehandalan
untuk membuat generlisasi dari beberapa hal yang spesifik menjadi suatu yang lebih umum. Definisi
umum (seperti nama kelas dan nama atribut) cenderung untuk disimpan sekali dalam kelas dari pada
dalam objek. Operasi dapat ditulis sekali untuk setiap kelas, sehingga semua objek dalam kelas
dapat memperoleh keuntungan dengan penggunaan kembali.
Klasifikasi Objek
Objek dapat dibedakan menjadi:
- ADT (Abstract Data Type)
Definisi dan kelas dimana komponen type menjadi atribut dan fungsi primitif menjadi
operasi/metode/layanan.
- Mesin
Objek pasif yang punya status yang akan diaktifkan oleh objek lain. Fungsi primitif pada
mesin merupakan mekanisme transisi yang mengubah suatu status ke status lain.
- Proses
Objek aktif yang mempunyai urutan kendall’ (thread of control).
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.
Diagram objek sederhana, mudah dipahami dan bekerja dengan baik dalam praktek. Terdapat dua
macam diagram objek, yaitu diagram kelas dan diagram instance.
Diagram kelas adalah skema, pola, atau template untuk menjelaskan banyak kemungkinan data dari
instance. Diagram kelas menjelaskan klas-objek.
Diagram instance menjelaskan bagaimana satu set objek tertentu berhubungan dengan yang
lainnya. Diagram instance menggambarkan object instance. Diagram instance bermanfaat untuk
membuat dokumentasi dari suatu kasus. Diagram objek dipergunakan mulai fase analisa, desain dan
implementasi.
Kelas dan Objek
Konsep fundamental dalam analisa ber-orientasi objek adalah objek itu sendiri. Sebuah objek adalah
sebuah entitas yang mencakup data dan metode.
Sebelum menentukan Kelas-&-Objek, terlebih dulu dimulai dengan menentukan arti dari “Kelas” dan
“Objek”.
Objek adalah abstraksi dari suatu problem, menggambarkan kemampuan dari sistem untuk
menyimpan informasi tentang objek tersebut. Objek merupakan pembungkusan (encapsulation)
antara atribut dengan metode. Metode yang biasa disebut juga service dapat berupa fungsi atau
prosedur.
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. Contohnya, bila setiap Objek menjelaskan
sesuatu yang dikirimkan, maka menggunakan "Item Pengiriman" (setiap Objek adalah satu item),
lebih baik dari pada menggunakan nama "Pengiriman". (dimana dapat berarti cara pengiriman
misalnya pengiriman menggunakan pesawat atau kapal).
Nama Kelas-&-Objek sebaiknya mudah dibaca, seperti penggunaan huruf kapital dan huruf kecil
pada umunya.
Struktur Objek dan Hirarki Kelas
Setelah menentukan Kelas maka langkah berikutnya adalah menyusunnya sehingga merupakan
suatu hirarki, yang selanjutnya sangat menentukan penerapan dari inheritance. Whole-Part Structure
memperlihatkan hirarki dari suatu kelas sebagai komponen dari kelas lain yang juga disebut sub
objek. 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, …, Partn. Notasi untuk Whole-Part Structure seperti dalam Gambar 5.
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 Spezialization. Contohnya, kelas Mobil adalah Generalization,
sedangkan Sedan, Truk, Minibus, dll merupakan Specizlization1, Specialization2, …,
Specializationn, yaitu kelas yang mempunyai sifat khusus.Notasi untuk Gen-Spec Structure seperti
dalam Gambar 6.
Supertype dan subtype
Generalisasi/spesialisasi (kelas supertype, dan subtype)
Atribut
Atribut menggambarkan data yang dapat memberikan informasi mengenai kelas atau objek di mana
atribut tersebut berada. Seperti terlihat pada Gambar 7, dalam notasi untuk kelas dan objek
ditempatkan daftar dari atribut.
Metode
Metode (method) disebut juga service atau operator adalah proseduratau fungsi seperti yang
terdapat dalam bahasa Pascal pada umumnya, tetapi cara kerjanya agak berlainan. Metode adalah
subprogram yang tergabung dalam objek bersama-sama dengan atribut. Metode dipergunakan
untuk pengaksesan terhadap data yang terdapat dalam objek tersebut.
Metode tidak perlu mempunyai nama yang unik, dapat digunakan beberapa metode dengan nama
yang sama untuk mengakses beberapa objek yang berbeda dan juga pada hirarki yang berbeda.
Penulisan nama untuk metode dapat juga dibuat berbeda. Pada dasarnya sistem akan mengetahui
metode yang mana dapat mengakses suatu objek, yaitu metode yang terdapat di dalam objek itu
sendiri. Banyak cara yang dapat digunakan untuk menjelaskan detail metode antara lain penggunaan
bahasa umum, pseudocode dan decision tree. Beberapa metode dapat digambarkan dengan
menuliskan daftar seperti pada Gambar 8.
Message
Message (pesan) merupakan cara untuk berhubungan antara satu objek dengan objek lain. Suatu
pesan dikirimkan oleh suatu objek kepada objek tertentu dapat digambarkan sebagai anak panah,
seperti pada Gambar 9. Objek pengirim mengirimkan pesan kepada objek penerima supaya objek
penerima melaksanakan salah satu metode yang dimilikinya.
KOTAK HITAM DAN INTERFACE
Encapsulation adalah proses menyembunyikan detil implementasi sebuah obyek. Satu-
satunya jalan untuk mengakses data obyek tersebut adalah melalui interface. Interface melindungi
internal state sebuah obyek dari campur tangan pihak luar. Oleh karena itu obyek sering
digambarkan sebagai kotak hitam (black box) yang menerima dan mengirim pesan-pesan (message).
Dalam object-oriented programming kotak hitam tersebut berisi kode (himpunan instruksi dengan
bahasa yang dipahami komputer) dan data (informasi dimana instruksi tersebut beroperasi
dengannya). Dalam object-oriented programming, kode dan data disatukan dalam sebuah benda
yang tersembunyi isinya yaitu obyek. Pengguna obyek tidak perlu mengetahui isi dalam kotak
tersebut. Untuk dapat berkomunikasi dengan obyek, diperlukan pesan (message)
Secara formal kita mendefinisikan message sebagai permintaan untuk obyek penerima
(receiver object) untuk membawa metode yang ditunjukkan atau perilaku dan mengembalikan result
dari aksi tersebut kepada obyek pengirim (sender object). Sebagai contoh, satu obyek manusia
mengirim obyek bola lampu sebuah pesan untuk menyala (melalui saklar). Obyek bola lampu
memiliki satu perilaku yang akan mengubah keadaan atau statenya dari padam menjadi menyala.
Obyek bola lampu menyalakan dirinya dan menunjukkan kepada obyek orang tersebut bahwa state
barunya adalah menyala.
ASOSIASI
Asosiasi adalah :“kelas-kelas yang terhubungkan satu sama lain secara konseptual”
- Contoh :
Ketika sebuah kelas berasosiasi dengan yang lain, setiap kelas biasanya memainkan peran pada
asosiasi tersebut.
Association (asosiasi) adalah hubungan antar obyek yang saling membutuhkan. Sedangkan
aggregation (agregasi) adalah bentuk khusus dari asosiasi yang menggambarkan seluruh bagian
suatu obyek merupakan bagian dari obyek lainnya. Sebagai contoh, obyek tanggal dapat disusun dari
obyek hari, obyek bulan dan obyek tahun.
Menemukan Dan Mengidentifikasi Objek Bisnis
Dalam usaha mengidentifikasi objek, beberapa para ahli metodologi merekomendasikan teknik
meneliti sebuah dokumen persyaratan atau dokumentasi terkait lainya dan menekankan pada kata-
kata yang menggambarkan objek yang potensial.Langkah –langkah yang disertakan untuk
mengidentifikasi dan menemukan objek bisnis untuk pemodelan objek bisnis untuk pemodelan
selama analisis sistem :
1. Menemukan objek potensial.langkah ini diselesaikan dengan cara meninjau setiap use case
untuk menemukan kata-kata benda yang berhubungan dengan keseluruhan bisnis atau
event.
2. Menyeleksi objek yang diusulkan . Tidak semua kandidat (kata benda) pada daftar kita
menggambarkan objek bisnis yang ada di dalam lingkup domain masalah kita. Dengan
menganalisis tiap kandidat dan mengajukan pertanyaan berikut, kita dapat menentukan
apakah kandidat itu harus di pertahankan atau dihapus dari daftar :
Apakah kandidat ini sebuah inonim dari objek lain ?
Apakah kandidat ini di luar lingkup sistem ?
Apakah kandidat ini sebuah aturan dengan behavior yang unik, atau apakah dia
merupakan aturan eksternal ?
Apakah kandidat ini tidak jelas dan perlu di fokuskan ?
Apakah kandit ini sebuah tindakan atau sebuah atribut yang mendeskripsikan objek
lain ?
Jika beberapa pertanyaan diatas dijawab “ya” selama analisis sebuah kandidat, maka
kandidat ini seharusnya dihapus dari daftar. Jika beberapa kandidat ditemukan pada
beberapa atribut, pastikan anda menyimpannya daftar terpisah sehingga tidak dilupakan.
Jika anda tidak yakin mengenai sebuah kandidat khusus , lebih baik memasukan kandidat itu
dalam sebuah daftar, jauh lebih mudah untuk menghapus kandidat tersebut jika kita
menentukan bahwa mereka bukan objek, daripada menambahkannya kembali sesudah
diagram kelas dibangun
Mengorganisir Objek Dan Mengidentifikasi Hubungan Objek-Objek
Class diagram adalah gambar grafis mengenai struktur objek statis dari suatu sistem,menunjukan
kelas-kelas objek yang menyusun sebuah sistem dan juga hubungan antara kelas objek tersebut
Langkah 1:
Mengidentifikasi asosiasi dan multiplicity pada langkah ini, kita perlu mengidentifikasi asosiasi yang
ada diantara objek dan kelompok.Ingat bahwa sebuah asosiasi antara dua objek atau kelompok
adalah satu objek atau kelas “perlu mengetahui”mengenai yang lain. Hal ini memperbolehkan satu
objek atau kelas referensi silang ke objek atau kelas lain dan untuk dapat mengirimnya pesan.Sekali
asosiasi telah diidentifikasi ,multiplicity yang menentukan asosiasi harus didefinisikan.
Sangat penting bahwa analis mengidentifikasi tidak hanya asosiasi yang jelas atau dikenali oleh para
pengguna .satu cara untuk membantu memastikan bahwa hubungan dapat diidentifikasi adalah
dengan menggunakan sebuah matriks objek/kelas
Langkah 2 :
Mengidentifikasi hubungan generalisasi /Spesialisasi.sekali kita telah mengidentifikasi dasar asosiasi
dan multiplicity mereka, kita harus menentukan apakah ada hubungan generalisasi
/spesialisasi ,juga dikenal sebagai hirarki klasifikasi atau adalah sebuah hubungan yang terdiri dari
supertype kelas (abstrak atau induk) dan subtype kelas (anak atau konkret).Hubungan generalisasi
dapat ditemukan dengan melihat diagram kelas.Apakah ada beberapa asosiasi diantara dua kelas
yang memiliki multiplicity satu ke satu
Langkah 3 :
Mengidentifikasi hubungan agregasi. Pada langkah ini kita harus menentukan apakah ada hubungan
agregasi atau komposisi dasar. Ingat bahwa agregasi adalah tipe hubungan unik dimana satu objek
adalah bagian dari objek lain.