Anda di halaman 1dari 21

Modul ke:

Rekayasa Perangkat
Lunak
06 Fakultas
Ilmu Komputer
Perancangan Objek

Herry Derajad Wijaya, S.Kom., M.M.

Program Studi
Informatika
Perancangan Berbasis Objek
Perancangan Berbasis Objek (Object-oriented Analysis
and Design/OOAD) melakukan pendekatan terhadap
masalah dari perspektif obyek, tidak pada perspektif
fungsional seperti pada pemrograman terstruktur. Akhir-
akhir ini penggunakan OOAD meningkat dibandingkan
dengan pengunaan metode pengembangan software
dengan metode tradisional. Sebagai metode baru dan
sophisticated bahasa pemrograman berorientasi obyek
diciptakan, hal tersebut untuk memenuhi peningkatan
kebutuhan akan pendekatan berorientasi obyek pada
aplikasi bisnis.
Perancangan Berbasis Objek
Metode pengembangan perangkat lunak berorientasi objek
yang sudah dikenal dan diantaranya adalah :
1. Object Oriented Analysis (OOA) dan Object Oriented
Design (OOD) dari Peter Coad dan Edward Yourdon
[1990].
2. Object Modeling Technique (OMT) dan James
Rumbaugh, Michael Blaha, William Premerlan, Frederick
Eddy dan William Lorensen [1991].
3. Object Oriented Software Engineering (OOSE) dan Ivar
Jacobson [1992].
4. Booch Method dan Grady Booch [1994].
5. Sritrop dan Steve Cook dan John Daniels [1994].
6. UML (Unified Modeling Language) dari James
Rumbaugh. Grady Booch dan Ivar Jacobson [1997].
Perancangan Berbasis Objek
Metodologi pengembangan sistem berorientasi objek
mempunyai tiga karakteristik utama yaitu:
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.
Perancangan Berbasis 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. Inheritance menggambarkan generalisasi
sebuah kelas.
3. Polymorphism
Polimorfisme yaitu konsep yang menyatakan bahwa sesuatu
yang sama dapat mempunyai bentuk dan perilaku 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.
Perancangan Berbasis Objek
Kelebihan dan kekurangan dari metode perancangan ini
sebagai berikut :
Kelebihan
1. Dibandingkan dengan metode SSAD, OOAD lebih mudah
digunakan dalam pembangunan system.
2. Dibandingkan dengan SSAD, waktu pengembangan, level
organisasi, ketangguhan,dan penggunaan kembali (reuse)
kode program lebih tinggi dibandingkan dengan metode
OOAD.
3. Tidak ada pemisahan antara fase desain dan analisis,
sehingga meningkatkan komunikasi antara user dan
developer dari awal hingga akhir pembangunan sistem.
4. Analis dan programmer tidak dibatasi dengan batasan
implementasi sistem, jadi desain dapat diformliasikan yang
dapat dikonfirmasi dengan berbagai lingkungan eksekusi.
Perancangan Berbasis Objek
5. Relasi obyek dengan entitas (thing) umumnya dapat di
mapping dengan baik seperti kondisi pada dunia nyata
dan keterkaitan dalam sistem. Hal ini memudahkan
dalam mehami desain.
6. Memungkinkan adanya perubahan dan kepercayaan diri
yang tinggi terhadap kebernaran software yang
membantu untuk mengurangi resiko pada
pembangunan sistem yang kompleks.
7. Encapsliation data dan method, memungkinkan
penggunaan kembali pada proyek lain, hal ini akan
memperingan proses desain, pemrograman dan reduksi
harga.
Perancangan Berbasis Objek
8. OOAD memungkinkan adanya standarisasi obyek yang
akan memudahkan memahami desain dan mengurangi
resiko pelaksanaan proyek.

9. Dekomposisi obyek, memungkinkan seorang analis


untuk memcah masalah menjadi pecahan-pecahan
masalah dan bagian-bagian yang dimanage secara
terpisah. Kode program dapat dikerjakan bersama-
sama. Metode ini memungkinkan pembangunan
software dengan cepat, sehingga dapat segera masuk
ke pasaran dan kompetitif. Sistem yang dihasilkan
sangat fleksibel dan mudah dalam memelihara.
Perancangan Berbasis Objek
Kekurangan
1. Pada awal desain OOAD, sistem mungkin akan sangat
simple.
2. Pada OOAD lebih fockus pada coding dibandingkan
dengan SSAD.
3. Pada OOAD tidak menekankan pada kinerja team
seperti pada SSAD.
4. Pada OOAD tidak mudah untuk mendefinisikan class
dan obyek yang dibutuhkan sistem.
5. Sering kali pemrogramam berorientasi obyek digunakan
untuk melakukan anlisisis terhadap fungsional siste,
sementara metode OOAD tidak berbasis pada
fungsional sistem.
Perancangan Berbasis Objek
6. OOAD merupakan jenis manajemen proyek yang
tergolong baru, yang berbeda dengan metode analisis
dengan metode terstruktur. Konsekuensinya adalah,
team developer butuh waktu yang lebih lama untuk
berpindah ke OOAD, karena mereka sudah
menggunakan SSAD dalam waktu yang lama.

7. Metodologi pengembangan sistem dengan OOAD


menggunakan konsep reuse. Reuse merupakan salah
satu keuntungan utama yang menjadi alasan
digunakannya OOAD. Namun demikian, tanpa prosedur
yang emplisit terhadap reuse, akan sangat sliit untuk
menerapkan konsep ini pada skala besar.
Design Pattern
Permasalahan dalam membuat sebuah perangkat lunak
dari sejak awal sejarah perkembangan komputer selalu
ada. Permasalahan tersebut dapat berupa hal yang bersifat
teknis berhubungan langsung dengan arsitektur perangkat
lunak yang dipakai dan juga bersifat perancangan yang
lebih bersifat umum. Kedua hal tersebut adalah hal yang
wajib dalam pembuatan sebuah perangkat lunak.
Bagaimanakah cara untuk mengelola spesifikasi yang ada
sekarang secara efisien untuk kemudian mampu untuk
menghadapi perubahan dan spesifikasi yang akan datang
dalam kontek pembuatan dan pengembangan sebuah
sistem adalah sebuah permasalahan lain.
Design Pattern
Hambatan-hambatan yang sering dijumpai dalam
pengembangan perangkat lunak tersebut antara lain.
1. Kebutuhan yang akan datang sering tidak bisa dipahami dan
merupakan sebuah hal yang sering sekali berubah.
2. Usaha untuk menggunakan kembali (reuse) sering kali
berujung melibatkan komponen-komponen yang sebenarnya
tidak bisa digunakan kembali (not reusable) dan sering kali
gagal untuk dilakukan.
3. Sering terjadi programmer dan sistem analis kehilangan
gambaran secara umum tentang apa yang dimaksud dengan
kebutuhan yang akan datang.
4. Para pengembang cenderung melihat permasalahan ke arah
permasalahan coding. Pengembang gagal melihat bahwa
penyelesaian masalah melalui kekuatan perancangan/desain
adalah sesuatu yang patut dipertimbangkan dan merupakan
jalur yang tepat.
Design Pattern
Pola Desain / Design Pattern adalah sebuah istilah dalam
rekayasa perangkat lunak yang mengacu kepada solusi umum
yang dapat digunakan secara berulang kali untuk
menyelesaikan masalah-masalah umum yang ditemukan
dalam desain perangkat lunak. Sebuah pola desain tidak
berbentuk solusi akhir yang dapat langsung diterjemahkan
menjadi kode program.
Pola desain merupakan penjelasan atau template yang
menunjukkan bagaimana cara menyelesaikan sebuah
masalah yang kemudian dapat digunakan di berbagai situasi
yang berbeda-beda. Pola desain untuk object-oriented
biasanya menunjukkan relasi dan interaksi antar kelas dan
objek, tanpa menjelaskan kelas dan objek akhir yang terlibat
dalam sebuah aplikasi. Algoritma biasanya tidak disebut
sebagai pola desain, karena algoritma menjadi solusi masalah
komputasi bukan masalah desain test.
Design Pattern
Pola desain merupakan suatu solusi yang umum dilakukan
untuk menangani masalah perancangan software. Design
Pattern yang cukup populer diperkenalkan oleh GOF(Gang
Of Four). Dalam penjelasan dari Gang Of Four(GoF)
terdapat 23 Pattern yang di bagi menjadi 3 kelompok besar
diantaranya:
1. Creation Patterns (cara Class/object di inisialisasi)
yaitu pattern yang menyangkut dengan pembuatan
object. Pattern akan menangani pembuatan suatu
object, daripada kita menangani pembuatan object
secara langsung dan mungkin akan tersebar di dalam
code kita. Dengan cara ini program akan lebih fleksibel
dalam memutuskan pemakaian object yang dibutuhkan.
Design Pattern
2. Structural Patterns (Struktur/ relasi antar object/class)
yaitu pattern yang menyangkut dengan struktur program
dimana dalam Pattern ini akan lebih konsen ke class
objcet composite yang akan banyak menggabungkan
interface dan menjelaskan cara untuk menggabungkan
object tujuan membuat fungsionalitas baru.

3. Behavior Patterns (Tingkah laku atau fungsi dari


class/object) yaitu pattern yang menyangkut tentang
kelakuan program. Dimana pada pattern ini akan
dijelaskan spesifik tentang komunikasi antar object.
Class Diagram
Class adalah dekripsi kelompok obyek-obyek dengan property,
perilaku (operasi) dan relasi yang sama. Sehingga dengan
adanya class diagram dapat memberikan pandangan global
atas sebuah sistem. Hal tersebut tercermin dari class-class
yang ada dan relasinya satu dengan yang lainnya. Sebuah
sistem biasanya mempunyai beberapa class diagram. Class
diagram sangat membantu dalam visualisasi struktur kelas dari
suatu system dan bersifat statis. Diagram ini memperlihatkan
himpunan kelas-kelas, antarmuka, kolaborasi-kolaborasi, serta
relasi-relasi. Diagram ini umum dijumpai pada pemodelan
system berorientasi objek. Kelas Diagram berfungsi untuk
menjelaskan tipe dari object sistem dan hubungannya dengan
object yang lain. Object adalah nilai tertentu dari setiap attribute
kelas entity. Pada penggambaran kelas diagram ada dikenal
dengan kelas analisis yaitu kelas ber-stereotype. Tapi yang
biasanya dipakai adalah kelas diagram tanpa stereotype.
Class Diagram
Kelemahan:
1. Sulit untuk penentuan antara atribut atau kelas, sering
terjadi kesalahan.
2. Pengimplementasian struktur data sukar dilakukan.

Class memiliki 3 area pokok beserta contohnya sebagai


berikut:
1. Name (dan stereotype)
2. Attribute
3. Method
Communication Diagram
Model Komunikasi Diagram interaksi antara benda atau bagian
dalam hal mengurutkan. Diagram komunikasi merupakan
kombinasi dari informasi yang diambil dari kelas, urutan, dan Use
case diagram menggambarkan baik struktur statis dan perilaku
dinamis dari suatu sistem. Namun, diagram komunikasi
menggunakan pengaturan bebas-berupa objek dan link seperti
yang digunakan dalam diagram Object. Dalam rangka
mempertahankan urutan pesan dalam suatu diagram format
bebas, pesan diberi label dengan nomor kronologis dan
ditempatkan di dekat link pesan yang dikirim. Membaca diagram
komunikasi yaitu mulai dari pesan 1.0, dan mengikuti pesan dari
objek ke objek. Diagram komunikasi menunjukkan banyak
informasi yang sama seperti diagram urutan, tetapi karena cara
informasi tersebut disajikan, beberapa di antaranya lebih mudah
untuk mencari salah satu diagram daripada yang lain. Diagram
komunikasi menunjukkan tiap elemen berinteraksi dengan baik,
namun diagram urutan menunjukkan urutan di mana interaksi
berlangsung lebih jelas.
Communication Diagram
Simbol-simbol Diagram Communication:
• Object. Object merupakan instance dari sebuah class dan
dituliskan tersusun secara horizontal. Digambarkan sebagai
sebuah class (kotak) dengan nama object didalamnya yang
diawali dengan sebuah titik koma.
• Actor. Actor juga dapat berkomunikasi dengan object, maka actor
juga dapat diurutkan sebagai kolom. Simbol Actor sama pada
Actor Use Case Diagram.
• Message/Pesan. Message, digambarkan dengan anak panah
yang mengarah antar obyek dan diberi label urutan nomor yang
mengindikasikan urutan komunikasi yang terjadi antar obyek.
Dengan demikian, communication diagram yaitu salah satu
jenis diagram pada UML yang dapat menggamabarkan tahapan
terjadinya suatu aktivitas dan diagram ini juga menggambarkan
interaksi antara objek yang ada pada sistem. Hampir sama seperti
sequence diagram akan tetapi communication diagram lebih
menekankan kepada peranan masing-masing objek pada system.
Daftar Pustaka
• Bennet, Simon. McRobb, Steve.dan Farmer, Ray.
2005. “Object Oriented Systems Analysis and Design Using
UML. 3rd Ed.”, . Great Britain: McGraw Hill. (BMF).
• Bernd Bruegge & Allen H. Dutoit. 2013. “Object-Oriented
Software Engineering Using UML Patterns & Java”. Pearson.
• Ganong, William F. 2002. “Pembelajaran Berbantuan
Komputer (alih bahasa M. Djauhari Wijayakusumah) Edisi
Ketiga”, Jakarta : EGC.
• Heinich, R, dkk. 2002. “Instructional media and technology for
learning. 7th edition”. New Jersey: Prentice Hall, Inc.
• John W. Satzinger, R. B. 2012. “Systems Analysis and Design
in a Changing World.” Joe Sabatino.
• Pressman, Roger S. 2002. “Rekayasa Perangkat Lunak :
Pendekatan Praktisi (Buku Satu)”. Yogyakarta : Andi Offset.
Terima Kasih
Herry Derajad Wijaya, S.Kom., M.M.

Anda mungkin juga menyukai