BAB VIII PERANCANGAN BERORIENTASI OBJEK - 8 Bab VIII Perancangan Berorientasi Objek
BAB VIII PERANCANGAN BERORIENTASI OBJEK
8.1 Pendahuluan
Analisis dan disain berorientasi objek adalah cara baru dalam memikirkan suatu masalah dengan menggunakan model yang dibuat menurut konsep sekitar dunia nyata. 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.
Sebuah sistem yang dibangun dengan berdasarkan metode berorientasi objek adalah
sebuah sistem yang komponennva dibungkus (dienkapsulasi) menjadi kelompok data dan
fungsi.Setiap komponen dalam sistem tersebut dapat mewarisi atribut dan sifat dan komponen
lainnya. dan dapat berinteraksi satu sama lainnya.Saat mengabstraksikan dan memodelkan objek ini, data dan proses-proses yang dipunyai oleh objek akan dienkapsulasi (dibungkus) menjadi satu kesatuan.
Dalam rekayasa perangkat lunak. konsep pendekatan berorientasi objek dapat diterapkan pada tahap analisis. perancangan. pemrograman, dan pengujian perangkat lunak.
Ada berbagai teknik yang dapat digunakan pada masing-masing tahap tersebut, dengan aturan dan alat bantu pemodelan tertentu.
Objek
➢ Objek adalah abstraksi dan sesuatu yang mewakili dunia nyata seperti benda, manusia, satuan organisasi. Tempat. kejadian. struktur. status atau hal-hal lain yang bersifat abstrak. kelas pada saat eksekusi (seperti halnya deklarasi variabel pada pemrograman prosedural). Jadi semua objek adalah instan dan kelas. ➢ Objek mempunyai siklus hidup: diciptakan, dimanipulasi dan dihancurkan.
Kelas Objek ➢ Kelas adalah kumpulan dan objek-objek dengan karakteristik yang sama.
➢ Kelas adalah definisi statik dan himpunan objek yang sama yang mungkin lahir atau diciptakan dan kelas tersebut. ➢ Sebuah kelas akan mempunvai sifat (atribut), kelakuan (operasi), hubungan (relationship) dan arti. ➢ Suatu kelas dapat diturunkan dan kelas yang lain, dimana atribut dan kelas semula dapat diariskan ke kelas yang lain.
Kesimpulan Objek dan Kelas
➢ Objek adalah model eksekusi. Sementara kelas adalah deskripsi statik dan objek yang mungkin lahir pada saat eksekusi. ➢ Pada saat eksekusi yang kita punva adalah objek, sementara dalam pemodelan (analisis dan perancangan) dan teks program yang kita lihat adalah kelas.
Objek Poligon Kelas Poligon
AttributTitik sudut Batas Warna
Operasi
Gambar Hapus Translasi
Gambar 8.1 Kelas dan Objek .
Sebuah objek pada dasarnya mempunyai properti sebagai berikut :
➢ Atribut ➔ Nilai atau elemen-elemen data yang dimiliki oleh objek dalam kelas objek.
➔ Merupakan ciri dan sebuah objek.
➢ Metode ➔ 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.
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).
Karakteristik atau sifat-sifat yang dipunyai sebuah sistem berorientasi objek
adalah: AbstraksiPrinsip untuk merepresentasikan dunia nyata yang kompleks menjadi satu bentuk model yang sederhana dengan mengabaikan aspek-aspek lain yang tidak sesuai dengan permasalahan.
Pengkapsulan (Enkapsulasi )
Pembungkusan atribut data dan layanan (operasi-operasi) yang dipunyai objek. untuk menyembunyikan implementasi dan objek sehingga objek lain tidak mengetahui cara
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 antara kelas yang mempunyai hubungan secara hirarki. 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. Mekanisme yang memungkinkan satu objek (baca: kelas’) mewarisi sebagian atau seluruh definisi dan objek lain sebagai bagian dan dirinya. Contoh : ✔ Sedan dan Sepeda Motor adalah subkelas dari Kendaraan Bermotor.
✔ Kedua subkelas mewarisi sifat yang dimiliki oleh Kendaraan Bermotor, yaitu mempunyai mesin dan dapat berjalan. ✔ Kedua subkelas mempunyai sifat masing-masing yang berbeda, misalnya jumlah roda, dan kemampuan untuk berjalan mundur yang tidak dimiliki oleh sepeda motor.
Reusability
Pemanfaatan kembali objek yang sudah didefinisikan untuk suatu permasalahan pada permasalahan lainnya yang melibatkan objek tersebut.
Generalisasi dan Spesialisasi
Menunjukkan hubungan antara kelas dan objek yang umum dengan kelas dan objek yang khusus.
Komunikasi Antar Objek
Komunikasi antar objek dilakukan lewat pesan (message) yang dikirim dan satu objek ke objek lainnya.
Polimorfisme (Polymorphism)
Polimorfisme yaitu konsep yang menyatakan bahwa sesuatu yang sama dapat mempunyai bentuk dan perilaku berbeda. Polimorfisme mempunyai arti bahwa operasi yang sama mungkin mempunyai
8.2 Pemodelan Berorientasi Objek Pemodelan Sebagai Teknik Desain
Teknik pemodelan objek menggunakan tiga macam model untuk menggambarkan sistem : A. Model Objek
B. Model Dinamik
C. Model Fungsional
A. Model Objek
➢ Model objek menggambarkan struktur statis dari suatu objek dalam sistem dan relasinya . ➢ Model objek berisi diagram objek. Diagram objek adalah graph dimana nodenya adalah kelas yang mempunyai relasi antar kelas.
B. Model Dinamik ➢ Model dinamik menggambarkan aspek dari sistem yang berubah setiap saat.
➢ Model dinamik dipergunakan untuk menyatakan aspek kontrol dari sistem. ➢ Model dinamik berisi state diagram. State diagram adalah graph dimana nodenya adalah state dan arc adalah tarnsisi antara state yang disebabkan oleh event.
C. Model Fungsional ➢ Model fungsional menggambrakan transformasi nilai data di dalam sistem.
➢ Model fungsional berisi data flow diagram. DFD adalah suatu graph dimana nodenya menyatakan proses dan arc-nya adalah aliran data.
Model 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
A. Objek dan Kelas 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 oelh 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.
Kelas
Suatu object class menggambarkan kumpulan dari objek yang mempunyai sifat (atribut), perilaku umum (operasi), relasi umum dengan objek lain dan semantik umum.
Contoh : Orang, perusahaan , binatang, proses adalah objek. Setiap orang mempunyai umur, IQ, dan mungkin pekerjaan. Setiap proses mempunyai pemilik, prioritas, list dari sumber daya yang dibutuhkan. Objek dan object class sering sama sebagai benda dalam deskripsi masalah.
B. 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.
Kelas dan Objek
Konsep fundamental dalam analisis berorientasi objek adalah objek itu sendiri. Sebuah objek adalah sebuah entitas yang mencakup data dan metode.
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.
Kelas Kelas dengan Objek
Gambar 8.2 Notasi untuk kelas dan kelas-&-objek .
➢ Adanva kesulitan pada saat mentransformasi hasil dari satu tahap pengembangan ke tahap berikutnya. misalnya pada metode Structured Analysis and Design. ➢ Jenis aplikasi yang dikembangkan saat ini berbeda dengan masa lalu Aplikasi yang dikembangkan pada saat ini sangat beragam (aplikasi bisnis. Real-time, utility, dan sebagainya) dengan platform yang berbeda-beda, sehingga menimbulkan tuntutan kebutuhan metodologi pengembangan yang dapat mengakomodasi ke semua jenis aplikasi tersebut.
Keuntungan Metodologi Berorientasi Objek
➢ Meningkatkan produktivitas Karena kelas dan objek yang ditemukan dalam suatu masalah masih dapat dipakai ulang untuk masalah lainnya yang melibatkan objek tersebut (reusable).
➢ Kecepatan pengembangan Karena sistem yang dibangun dengan baik dan benar pada saat analisis dan perancangan akan menyebabkan berkurangnya kesalahan pada saat pengkodean.
➢ Kemudahan pemeliharaan.
Karena dengan model objek. pola-pola yang cenderung tetap dan stabil dapat dipisahkan dan pola-pola yang mungkin sering berubah- ubah. ➢ Adanva konsistensi
Karena sifat pewarisan dan penggunaan notasi yang sama pada saat analisis, perancangan maupun pengkodean.
Nama Kelas Atribut Metode
Metode Nama Kelas & Objek
Atribut
8.3 Analisis Berorientasi Objek Metode berorientasi objek banyak dipilih karena ➢ Metodologi lama banyak menimbulkan masalah .
8.4 Desain Berorientasi Objek
Ada beberapa metode pengembangan perangkat lunak berorientasi objek yang sudah dikenal, dan diantaranya adalah: ➢ Object Oriented Analysis (OOA) dan Object Oriented Design (OOD) dari Peter Coad dan Edward Yourdon [1990]. ➢ Object Modeling Technique (OMT) dan James Rumbaugh, Michael Blaha, William Premerlan, Frederick Eddy dan William Lorensen [1991]. ➢ Object Oriented Software Engineering (OOSE) dan Ivar Jacobson [1992]. ➢ Booch Method dan Grady Booch [1994] Sritrop dan Steve Cook dan John Daniels [1994]. ➢ UML (Unified Modeling Language) dari James Rumbaugh. ➢ Grady Booch dan Ivar Jacobson [1997].
Perangkat Pemodelan ➢ Perangkat pemodelan merupakan salah satu ciri pendekatan terstruktur.
➢ Perangkat pemodelan adalah suatu model yang digunakan untuk menguraikan sistem menjadi bagian-bagian yang dapat diatur dan mengkomunikasikan ciri konseptual dan fungsional kepada pengamat. ➢ Peran perangkat pemodelan:
Komunikasi ✔ Perangkat pemodelan dapat digunakan sebagai alat komunikasi antara pemakai dengan analis sistem dalam pengembangan sistem.
Eksperimentasi ✔ Pengembangan sistem bersifat trial and error. Prediksi ✔ Model meramalkan bagaimana suatu sistem akan bekerja.
Jenis Perangkat Pemodelan
➢ Diagram Arus Data (DFD) Menunjukkan proses yang dijalankan data dalam sistem.
➢ State Transition Diagram (STD) Menunjukkan keadaan tertentu dimana suatu sistem dapat ada dan transisi yang menghasilkan keadaan tertentu yang baru. STD digunakan untuk sistem yang real
time.
➢ Unified Modelling Language (UML) Digunakan untuk pemrograman berorientasi objek.
Referensi : 1. http://fenni.staff.gunadarma.ac.id/.../Perancangan+Berorientasi+Objek.pdf.
2. http://www.gangsir.com/download/4-PendekatanPengembanganSistemBerorientasi ObjekdanPenggunaanAlatalatPemodelan.pdf.
SOAL LATIHAN
1. Sebutkan pengertian “berorientasi objek” ?
2. Apakah yang disebut objek dan kelas ?
3. Sebutkan dan jelaskan klasifikasi objek !
4. Karakteristik atau sifat-sifat yang dipunyai sebuah sistem berorientasi objek !
5. Sebutkan keuntungan metodologi berorientasi objek !
6. Sebutkan jenis perangkat pemodelan !