Вы находитесь на странице: 1из 22

Pengertian Metodologi Berorientasi Objek

Pembahasan kali ini adalah mengenai Metodologi Berorientasi Objek (MBO) atau sering
disebut juga Unified modeling language (UML).
MBO/UML adalah sebuah bahasa yang telah menjadi standar dalam indusri untuk visualisasi,
merancang dan mendokumentasikan system perangkat lunak. Sampai saat ini dikenal dua
pendekatan utama dalam pengembangan system dengan metode berarah ke objek yaitu :
1. Pendekatan langsung
Adalah suatu pendekatan perancangan system dalam metode objek dimana mendesain system
langsung mendesain objek-objek yang diperlukan system. Kelemahan dari system ini adalah karena
seorang pendesain diberi kebebasan dalam membuat objek sehingga untuk menghasilkan objek
yang benar-benar baik maka diperlukan pengulangan proses untuk perbaikan objek.
2. Pendekatan sintesis
Adalah suatu pendekatan dalam perancangan system dengan metode berarah objek dimana objek objek yang dihasilkan diperoleh dari penerapan metode structural. Kelemahan dari system ini adalah
seorang pendesain melakukan tahapan kerja lebih yaitu merancang system secara structural terlebih
dahulu kemudian mentransfernya kedalam bentuk objek.

Konsep OOAD (Object Oriented Analysis Design)


I. Pengertian dan Konsep OOAD
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.
Konsep OOAD mencakup analisis dan desain sebuah sistem dengan pendekatan objek, yaitu analisis
berorientasi objek (OOA) dan desain berorientasi objek (OOD). OOA adalah metode analisis yang
memberikan requirement (syarat/keperluan) yang harus dipenuhi sebuah sistem) dari sudut
pandang kelas-kelas dan objek-objek yang ditemui dalam ruang lingkup perusahaan. Sedangkan OOD
adalah metode untuk mengarahkan arsitektur software yang didasarkan pada manipulasi objek objek sistem atau subsistem.

Deitel, Harvey M, Java : How to Program, Prentice-Hall Inc, New Jersey


Richard F.Raposa, Java in 60 Minutes a DayWiely Publishing Inc, Indianapolis Indiana

OOA (Object Oriented Analysis)


OOA mempelajari permasalahan dengan menspesifikasikannya atau mengobservasi permasalahan
tersebut dengan menggunakan metode berorientasi objek. Biasanya analisa sistem dimulai dengan
adanya dokumen permintaan (requirement) yang diperoleh dari semua pihak yang berkepentingan.
(Misal: klien,developer, pakar, dan lain-lain).
Dokumen permintaan memiliki 2 fungsi yaitu : memformulasikan kebutuhan klien dan membuat
suatu daftar tugas. Analisis berorientasi obyek (OOA) melihat pada domain masalah, dengan tujuan
untuk memproduksi sebuah model konseptual informasi yang ada di daerah yang sedang dianalisis.
Model analisis tidak mempertimbangkan kendala-kendala pelaksanaan apapun yang mungkin ada,
seperti konkurensi, distribusi, ketekunan, atau bagaimana sistem harus dibangun. Kendala
pelaksanaan ditangani selama desain berorientasi objek (OOD).
Sumber-sumber untuk analisis dapat persyaratan tertulis pernyataan, dokumen visi yang formal,
wawancara dengan stakeholder atau pihak yang berkepentingan lainnya. Sebuah sistem dapat dibagi
menjadi beberapa domain, yang mewakili bisnis yang berbeda, teknologi, atau bidang yang diminati,
masing-masing dianalisis secara terpisah.
Hasil analisis berorientasi objek adalah deskripsi dari apa sistem secara fungsional diperlukan untuk
melakukan, dalam bentuk sebuah model konseptual. Itu biasanya akan disajikan sebagai
seperangkat menggunakan kasus, satu atau lebih UML diagram kelas, dan sejumlah diagram
interaksi. Tujuan dari analisis berorientasi objek adalah untuk mengembangkan model yang
menggambarkan perangkat lunak komputer karena bekerja untuk memenuhi seperangkat
persyaratan yang ditentukan pelanggan.
UML (Unified Modeling Language) adalah sebuah bahasa yang berdasarkan grafik/gambar untuk
memvisualisasi, menspesifikasikan, membangun, dan pendokumentasian dari sebuah sistem
pengembangan software berbasis OO (Object-Oriented). UML sendiri juga memberikan standar
penulisan sebuah sistem blue print, yang meliputi konsep bisnis proses, penulisan kelas -kelas dalam
bahasa program yang spesifik, skema database, dan komponen-komponen yang diperlukan dalam
sistem software. Unified Model Language (UML) adalah bahasa universal untuk :

memvisualisasikan grafis model yang tepat.

menetapkan model yang tepat, lengkap, dan tidak ambigu untuk mengampil semua keputusan
penting dalam analisis, desain dan implementasi.

membangun model yang dapat dihubungkan langsung dengan bahasa pemrograman.

mendokumentasikan semua informasi yang dikumpulkan oleh tim sehingga memungkinkan


untuk berbagi informasi.

OOD (Object Oriented Design)


OOD mengubah model konseptual yang dihasilkan dalam analisis berorientasi objek
Deitel, Harvey M, Java : How to Program, Prentice-Hall Inc, New Jersey
Richard F.Raposa, Java in 60 Minutes a DayWiely Publishing Inc, Indianapolis Indiana

memperhitungkan kendala yang dipaksakan oleh arsitektur yang dipilih dan setiap non-fungsional
teknologi atau lingkungan kendala, seperti transaksi throughput, response time, run waktu
platform, lingkungan pengembangan, atau bahasa pemrograman.
A. Karakteristik dari Objek
1. Objek

Objek adalah benda secara fisik dan konseptual yang ada di sekitar kita. Sebuah objek memiliki
keadaan sesaat yang disebut state.

Objek dapat kongkrit, seperti halnya arsip dalam sistem, atau konseptual seperti kebijakan
penjadwalan dalam multiprocessing pada sistem operasi.

Dua objek dapat berbeda walaupun bila semua nilai atributnya identik.

Gambar 1. Macam-macam Objek


2. Kelas Objek
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.

Gambar 2. Kelas dan Objek


Deitel, Harvey M, Java : How to Program, Prentice-Hall Inc, New Jersey
Richard F.Raposa, Java in 60 Minutes a DayWiely Publishing Inc, Indianapolis Indiana

Istilah-istilah 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).

B. Karakteristik Metodologi Berorientasi Objek


Metodologi pengembangan sistem berorientasi objek mempunyai tiga karakteristik utama :
1. 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.

2. 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.

Inheritance mempunyai arti bahwa atribut dan operasi yang dimiliki bersama di anatara 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.

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

Inheritance menggambarkan generalisasi sebuah kelas.

3. Polymorphism (Polimorfisme)

Polimorfisme yaitu konsep yang menyatakan bahwa seuatu yang sama dapat mempunyai
bentuk dan perilaku berbeda.

Polimorfisme 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.

Deitel, Harvey M, Java : How to Program, Prentice-Hall Inc, New Jersey


Richard F.Raposa, Java in 60 Minutes a DayWiely Publishing Inc, Indianapolis Indiana

II. Pemodelan Berorientasi Objek


A. Pemodelan Sebagai Teknik Desain
Teknik pemodelan objek menggunakan tiga macam model untuk menggambarkan sistem,
diantaranya adalah sebagai berikut :
1. 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.

2. 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.

3. Model Fungsional

Model fungsional menggambarkan transformasi nilai data di dalam sistem.

Model fungsional berisi data flow diagram. DFD adalah suatu graph dimana nodenya
menyatakan proses dan arcnya adalah aliran data.

B. 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 pembuatan dokumentasi
struktur dari sistem.
1. 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 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.

Deitel, Harvey M, Java : How to Program, Prentice-Hall Inc, New Jersey


Richard F.Raposa, Java in 60 Minutes a DayWiely Publishing Inc, Indianapolis Indiana

> 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.

2. 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.

Gambar 3. Notasi untuk kelas dan kelas-&-objek


> 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, dan lain-lain, merupakan Part1, Part 2, , Part n.

Deitel, Harvey M, Java : How to Program, Prentice-Hall Inc, New Jersey


Richard F.Raposa, Java in 60 Minutes a DayWiely Publishing Inc, Indianapolis Indiana

Gambar 4. Notasi untuk whole-part structure

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.

Gambar 5. Notasi untuk gen-spec structure


Contohnya, kelas Mobil adalah Generalization, sedangkan Sedan, Truk, Minibus, dan lain-lain
merupakan Specizlization1, Specialization2, , Specialization n, yaitu kelas yang mempunyai sifat
khusus.
Atribut
Atribut menggambarkan data yang dapat memberikan informasi mengenai kelas atau objek dimana
atribut tersebut berada.

Deitel, Harvey M, Java : How to Program, Prentice-Hall Inc, New Jersey


Richard F.Raposa, Java in 60 Minutes a DayWiely Publishing Inc, Indianapolis Indiana

Gambar 6. Notasi untuk atribut


Metode
Metode (method) disebut juga service atau operator adalah prosedur atau 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.

Gambar 7. Notasi untuk metode


Pesan (Message)
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.

Gambar 8. Notasi untuk message


III. UML (Unified Modelling Language)
Unified Modelling Language (UML) adalah sebuah bahasa yg telah menjadi standar dalam industri
untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan
Deitel, Harvey M, Java : How to Program, Prentice-Hall Inc, New Jersey
Richard F.Raposa, Java in 60 Minutes a DayWiely Publishing Inc, Indianapolis Indiana

sebuah standar untuk merancang model sebuah sistem. Dengan menggunakan UML kita dapat
membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan
pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman
apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia
lebih cocok untuk penulisan piranti lunak dalam bahasa bahasa berorientasi objek seperti C++, Java,
C# atau VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk modeling aplikasi
prosedural dalam VB atau C. Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi
dan syntax /semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan
berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan
UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML
terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented
Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (ObjectOriented Software Engineering). Sejarah UML sendiri cukup panjang. Sampai era tahun 1990 seperti
kita ketahui puluhan metodologi pemodelan berorientasi objek telah bermunculan di dunia.
Diantaranya adalah: metodologi booch, metodologi coad, metodologi OOSE, metodologi OMT,
metodologi shlaer-mellor, metodologi wirfs-brock, dsb. Masa itu terkenal dengan masa perang
metodologi (method war) dalam pendesainan berorientasi objek. Masing-masing metodologi
membawa notasi sendiri-sendiri, yang mengakibatkan timbul masalah baru apabila kita bekerjasama
dengan group/perusahaan lain yang menggunakan metodologi yang berlainan.
Jenis-jenis Diagram UML :
A. Use Case Diagram
Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang
ditekankan adalah apa yang diperbuat sistem, dan bukan bagaimana. Sebuah use
case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah
pekerjaan tertentu, misalnya login ke sistem, meng- create sebuah daftar belanja, dan sebagainya.
Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem
untuk melakukan pekerjaan-pekerjaan tertentu. Use case diagram dapat sangat membantu bila kita
sedang menyusun requirement sebuah sistem, mengkomunikasikan rancangan dengan klien, dan
merancang test case untuk semuafeature yang ada pada sistem. Sebuah use case dapat
meng- include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum
diasumsikan bahwa use case yang di- include akan dipanggil setiap kali use case yang
meng- include dieksekusi secara normal. Sebuah use case dapat di-include oleh lebih dari satu use
case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar
fungsionalitas yang common . Sebuah use case juga dapat meng- extend use case lain
dengan behaviour -nya sendiri. Sementara hubungan generalisasi antar use case menunjukkan
bahwause case yang satu merupakan spesialisasi dari yang lain.
B. Class Diagram
Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan
merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan
Deitel, Harvey M, Java : How to Program, Prentice-Hall Inc, New Jersey
Richard F.Raposa, Java in 60 Minutes a DayWiely Publishing Inc, Indianapolis Indiana

(atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan


tersebut (metoda/fungsi).Class diagram menggambarkan struktur dan deskripsi class, package dan
objek beserta hubungan satu sama lain seperti containment , pewarisan, asosiasi, dan lain-lain.
Class memiliki tiga area pokok :
1. Nama (dan stereotype)
2. Atribut
3. Metoda
Atribut dan metoda dapat memiliki salah satu sifat berikut :

Private , tidak dapat dipanggil dari luar class yang bersangkutan

Protected , hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang
mewarisinya

Public , dapat dipanggil oleh siapa saja

Class dapat merupakan implementasi dari sebuah interface , yaitu class abstrak yang hanya memiliki
metoda. Interface tidak dapat langsung diinstansiasikan, tetapi harus diimplementasikan dahulu
menjadi sebuah class. Dengan demikian interface mendukung resolusi metoda pada saat run-time .
Sesuai dengan perkembangan class model, class dapat dikelompokkan menjadi package . Kita juga
dapat membuat diagram yang terdiri atas package.
Hubungan Antar Class
1. Asosiasi, yaitu hubungan statis antar class . Umumnya menggambarkan class yang memiliki
atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain.
Panah navigability menunjukkan arah query antar class .
2. Agregasi, yaitu hubungan yang menyatakan bagian (terdiri atas..).
3. Pewarisan, yaitu hubungan hirarkis antar class . Class dapat diturunkan dari class lain dan
mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru,
sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah
generalisasi.
4. Hubungan dinamis, yaitu rangkaian pesan ( message ) yang di- passing dari
satu class kepada classlain. Hubungan dinamis dapat digambarkan dengan
menggunakan sequence diagram yang akan dijelaskan kemudian.
C. Statechart Diagram
Statechart diagram menggambarkan transisi dan perubahan keadaan (dari
satu state ke state lainnya) suatu objek pada sistem sebagai akibat dari stimuli yang diterima. Pada
umumnya statechart diagrammenggambarkan class tertentu (satu class dapat memiliki lebih dari
satu statechart diagram ). Dalam UML, state digambarkan berbentuk segiempat dengan sudut
membulat dan memiliki nama sesuai kondisinya saat itu. Transisi antar state umumnya memiliki
kondisi guard yang merupakan syarat terjadinya transisi yang bersangkutan, dituliskan dalam kurung
siku. Action yang dilakukan sebagai akibat dari event tertentu dituliskan dengan diawali garis miring.
Titik awal dan akhir digambarkan berbentuk lingkaran berwarna penuh dan berwarna setengah.
Deitel, Harvey M, Java : How to Program, Prentice-Hall Inc, New Jersey
Richard F.Raposa, Java in 60 Minutes a DayWiely Publishing Inc, Indianapolis Indiana

D. Activity Diagram
Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang,
bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka
berakhir.Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada
beberapa eksekusi. Activity diagram merupakan state diagram khusus, di mana sebagian
besar state adalah actiondan sebagian besar transisi di- trigger oleh selesainya state sebelumnya
( internal processing ). Oleh karena itu activity diagram tidak menggambarkan behaviour internal
sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses proses dan jalur-jalur aktivitas dari level atas secara umum. Sebuah aktivitas dapat direalisasikan
oleh satu use case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara use
case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas. Sama
seperti state , standar UML menggunakan segiempat dengan sudut membulat untuk
menggambarkan aktivitas. Decision digunakan untuk menggambarkan behaviour pada kondisi
tertentu. Untuk mengilustrasikan proses-proses paralel ( forkdan join ) digunakan titik sinkronisasi
yang dapat berupa titik, garis horizontal atau vertikal. Activity diagram dapat dibagi menjadi
beberapa object swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk
aktivitas tertentu.
E. Sequence Diagram
Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk
pengguna, display , dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence
diagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang
terkait). Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian
langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk
menghasilkan output tertentu. Diawali dari apa yang men- trigger aktivitas tersebut, proses dan
perubahan apa saja yang terjadi secara internal dan outputapa yang dihasilkan. Masing-masing
objek, termasuk aktor, memiliki lifeline vertikal. Messagedigambarkan sebagai garis berpanah dari
satu objek ke objek lainnya. Pada fase desain berikutnya,message akan dipetakan menjadi
operasi/metoda dari class. Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya
diawali dengan diterimanya sebuah message.
Untuk objek-objek yang memiliki sifat khusus, standar UML mendefinisikan icon khusus untuk
objekboundary, controller dan persistent entity .
F. Collaboration Diagram
Collaboration diagram juga menggambarkan interaksi antar objek seperti sequence diagram , tetapi
lebih menekankan pada peran masing-masing objek dan bukan pada waktu penyampaian message .
Setiap message memiliki sequence number , di mana message dari level tertinggi memiliki nomor 1.
Messages dari level yang sama memiliki prefiks yang sama.
G. Component Diagram
Component diagram menggambarkan struktur dan hubungan antar komponen piranti lunak,
termasuk ketergantungan ( dependency ) di antaranya. Komponen piranti lunak adalah modul
berisi code , baik berisi source code maupun binary code , baik library maupun executable , baik yang
Deitel, Harvey M, Java : How to Program, Prentice-Hall Inc, New Jersey
Richard F.Raposa, Java in 60 Minutes a DayWiely Publishing Inc, Indianapolis Indiana

muncul padacompile time, link time , maupun run time . Umumnya komponen terbentuk dari
beberapa classdan/atau package , tapi dapat juga dari komponen-komponen yang lebih kecil.
Komponen dapat juga berupa interface , yaitu kumpulan layanan yang disediakan sebuah komponen
untuk komponen lain.
H. Deployment Diagram
Deployment/physical diagram menggambarkan detail bagaimana komponen di- deploy dalam
infrastruktur sistem, di mana komponen akan terletak (pada mesin, server atau piranti keras apa),
bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal -hal lain yang
bersifat fisikal Sebuah node adalah server, workstation , atau piranti keras lain yang digunakan untuk
men-deploy komponen dalam lingkungan sebenarnya. Hubungan antar node (misalnya TCP/IP)
danrequirement dapat juga didefinisikan dalam diagram ini.
Langkah-Langkah Penggunaan UML
Berikut ini adalah tips pengembangan piranti lunak dengan menggunakan UML:
1. Buatlah daftar business process dari level tertinggi untuk mendefinisikan aktivitas dan proses
yang mungkin muncul.
2. Petakan use case untuk tiap business process untuk mendefinisikan dengan tepat fungsionalitas
yang harus disediakan oleh sistem. Kemudian perhalus use case diagram dan lengkapi
denganrequirement, constraints dan catatan-catatan lain.
3. Buatlah deployment diagram secara kasar untuk mendefinisikan arsitektur fisik sistem.
4. Definisikan requirement lain (non-fungsional, security dan sebagainya) yang juga harus
disediakan oleh sistem.
5. Berdasarkan use case diagram , mulailah membuat activity diagram .
6. Definisikan objek-objek level atas ( package atau domain ) dan
buatlah sequence dan/ataucollaboration diagram untuk tiap alir pekerjaan. Jika sebuah use
case memiliki kemungkinan alir normal dan error, buatlah satu diagram untuk masing-masing
alir.
7. Buarlah rancangan user interface model yang menyediakan antarmuka bagi pengguna untuk
menjalankan skenario use case .
8. Berdasarkan model-model yang sudah ada, buatlah class diagram . Setiap package atau domain
dipecah menjadi hirarki class lengkap dengan atribut dan metodanya. Akan lebih baik jika untuk
setiap class dibuat unit test untuk menguji fungsionalitas class dan interaksi dengan class lain.
9. Setelah class diagram dibuat, kita dapat melihat kemungkinan pengelompokan class menjadi
komponen-komponen. Karena itu buatlah component diagram pada tahap ini. Juga, definisikan
tes integrasi untuk setiap komponen meyakinkan ia berinteraksi dengan baik.
10. Perhalus deployment diagram yang sudah dibuat. Detilkan kemampuan dan requirement piranti
lunak, sistem operasi, jaringan, dan sebagainya. Petakan komponen ke dalam node.
11. Mulailah membangun sistem. Ada dua pendekatan yang dapat digunakan :

Pendekatan use case , dengan meng- assign setiap use case kepada tim pengembang
tertentu untuk mengembangkan unit code yang lengkap dengan tes.

Deitel, Harvey M, Java : How to Program, Prentice-Hall Inc, New Jersey


Richard F.Raposa, Java in 60 Minutes a DayWiely Publishing Inc, Indianapolis Indiana

Pendekatan komponen, yaitu meng- assign setiap komponen kepada tim pengembang
tertentu.

Tool Yang Mendukung UML


Saat ini banyak sekali tool pendesainan yang mendukung UML, baik itu tool komersial maupun
opensource. Beberapa diantaranya adalah:

Rational Rose (www.rational.com)

Together (www.togethersoft.com)

Object Domain (www.objectdomain.com)

Jvision (www.object-insight.com)

Objecteering (www.objecteering.com)

MagicDraw (www.nomagic.com/magicdrawuml)

Visual Object Modeller (www.visualobject.com)

Deitel, Harvey M, Java : How to Program, Prentice-Hall Inc, New Jersey


Richard F.Raposa, Java in 60 Minutes a DayWiely Publishing Inc, Indianapolis Indiana

GUI (Graphical User Interface)


Terdapat 4 hal yang perlu diperhatikan pada pemrograman GUI ini yaitu :
1. Container (tempat) yaitu obyek yang dapat menampung komponen grafis dan tempat yang
lebih kecil. Contoh : frames, panels.
2. Component yaitu obyek yang berfungsi untuk menampilkan data, menerima masukan atau
menunjukkan suatu kondisi. Contoh : buttons, labels dan text fields.
3. Event yaitu obyek yang merepresentasikan suatu kejadian. Contoh gerakan mouse,
penekanan tombol.
4. Listener yaitu suatu obyek yang menunggu suatu kejadian khusus dan akan bereaksi
(melakukan sesuatu) jika kejadian tersebut terjadi.

GUI Event Handling


Pada modul ini, Anda akan belajar bagaimana mengendalikan events triggered ketika userberinteraksi
dengan aplikasi GUI Anda. Setelah menyelesaikan modul ini, Anda akan dapat mengembangkan
aplikasi GUI yang dapat merespon interaksi user.
Pada akhir pembahasan, diharapkan pembaca dapat :
1. Menerangkan komponen-komponen delegation event model
2. Mengerti bagaimana delegation event model bekerja
3. Menciptakan aplikasi GUI yang berinteraksi dengan user
4. Mendiskusikan manfaat dari class-class adapter
5. Mendiskusikan keuntungan-keuntungan dari menggunakan inner dan anonymous class
Delegation Event Model
Delegasi event model menguraikan bagaimana program Anda dapat merespon interaksi dari user.
Untuk memahami model, pertama-tama mari kita pelajari melalui tiga komponen utamanya.
1. Event Source
Event source mengacu pada komponen GUI yang meng-generate event. Sebagai contoh, jika user
menekan tombol, event source dalam hal ini adalah tombol.
2. Event Listener/Handler
Event listener menerima berita dari event-event dan proses-proses interaksi user. Ketika tombol
ditekan, listener akan mengendalikan dengan menampilkan sebuah informasi yang berguna untuk
user.
3. Event Object
Ketika sebuah event terjadi (misal, ketika user berinteraksi dengan komponen GUI), sebuah object
event diciptakan. Object berisi semua informasi yang perlu tentang event yang telah terjadi.
Informasi meliputi tipe dari event yang telah terjadi, seperti ketika mouse telah di -klik. Ada beberapa
class event untuk kategori yang berbeda dari user action. Sebuah event object mempunyai tipe data
mengenai salah satu dari class ini.
Pada awalnya, sebuah listener seharusnya diregistrasikan dengan sebuah source sehingga dapat
menerima informasi tentang event-event yang terjadi pada source tersebut. Hanya listener yang
sudah teregistrasi yang dapat menerima pemberitahuan event-event. Ketika telah teregistrasi,sebuah
listener hanya tinggal menunggu sampai event terjadi.
Deitel, Harvey M, Java : How to Program, Prentice-Hall Inc, New Jersey
Richard F.Raposa, Java in 60 Minutes a DayWiely Publishing Inc, Indianapolis Indiana

Ketika sesuatu terjadi dengan event source, sebuah event object akan menguraikan event yang
diciptakan. Event kemudian ditembak oleh source pada listener yang teregistrasi.
Saat listener menerima sebuah event object (pemberitahuan) dari source, dia akan bekerja.
Menerjemahkan pemberitahuan dan memproses event yang terjadi.
Registrasi Listeners
Event source mendaftarkan sebuah listener melalui method add<Type>Listener.
void add<Type>Listener(<Type>Listener listenerObj)
<Type> tergantung pada tipe dari event source. Dapat berupa Key, Mouse, Focus, Component, Action
dan lainnya. Beberapa listeners dapat diregistrasi dengan satu event source untuk menerima
pemberitahuan event.
Listener yang telah teregistrasi dapat juga tidak diregistrasikan lagi menggunakan method
remove<Type>Listener.
void remove<Type>Listener(<Type>Listener listenerObj)
Class-Class Event
Sebuah event object mempunyai sebuah class event sebagai tipe data acuannya. Akar dari hirarki class
event adalah class EventObject, yang dapat ditemukan pada paket java.util. Immediate subclass dari
class EventObject adalah class AWTEvent. Class AWTEvent dide finisikan pada paket java.awt. Itu
merupakan akar dari semua AWT-based events.
Berikut ini beberapa dari class-class AWT event.

Tabel 1.2: Class-Class Event


Event Listeners
Event listeners adalah class yang mengimplementasikan interfaces <Type>Listener.
Tabel di bawah menunjukkan beberapa listener interfaces yang biasanya digunakan.

Deitel, Harvey M, Java : How to Program, Prentice-Hall Inc, New Jersey


Richard F.Raposa, Java in 60 Minutes a DayWiely Publishing Inc, Indianapolis Indiana

Tabel 1.3: Event Listeners


Method ActionListener
Interface ActionListener hanya terdiri dari satu method.

Tabel 1.3.1: Method ActionListener


Method MouseListener

Tabel 1.3.2: Method-Method MouseListener


Method-Method MouseMotionListener
MouseMotionListener mempunyai dua method untuk diimplementasikan.

Deitel, Harvey M, Java : How to Program, Prentice-Hall Inc, New Jersey


Richard F.Raposa, Java in 60 Minutes a DayWiely Publishing Inc, Indianapolis Indiana

Tabel 1.3.3: The MouseMotionListener methods


Method-Method WindowListener
Di bawah ini method-method dari interface WindowListener.

Tabel 1.3.4: Method-Method WindowListener


Petunjuk untuk Menciptakan Aplikasi Handling GUI Events
Berikut ini langkah-langkah yang Anda butuhkan untuk mengingat ketika ingin membuat aplikasi GUI
dengan event handling.
1. Buatlah sebuah class yang menguraikan dan membuat suatu tampilan dari aplikasi
GUI Anda.
2. Buatlah sebuah class yang menerapkan interface listener yang sesuai. Class ini boleh
mengacu pada class yang sama seperti pada langkah awal.
3. Dalam menerapkan class, gunakan semua method-method dengan interface listener
yang sesuai. Uraikan masing-masing method bagaimana Anda ingin mengendalikan
event-event. Anda dapat memberikan implementasi kosong untuk method yang tidak
ingin Anda gunakan.
4. Daftarkan object listener, instansiatiate dari class listener pada langkah 2, dengan
source component menggunakan method add<Type>Listener.

Deitel, Harvey M, Java : How to Program, Prentice-Hall Inc, New Jersey


Richard F.Raposa, Java in 60 Minutes a DayWiely Publishing Inc, Indianapolis Indiana

Contoh Mouse Events

Contoh Menutup Window

Deitel, Harvey M, Java : How to Program, Prentice-Hall Inc, New Jersey


Richard F.Raposa, Java in 60 Minutes a DayWiely Publishing Inc, Indianapolis Indiana

Class-class Adapter Class


Menerapkan semua method dari interface yang semuanya akan membutuhkan banyak pekerjaan. Di
satu sisi, Anda terkadang lebih sering tertarik menerapkan hanya beberapa method dari interface saja.
Untungnya, Java menyediakan untuk kita class- class adapter yang menerapkan semua method dari
masing-masing listener interface dengan lebih dari satu method. Implementasi dari method-method
semuanya adalah kosong.

Deitel, Harvey M, Java : How to Program, Prentice-Hall Inc, New Jersey


Richard F.Raposa, Java in 60 Minutes a DayWiely Publishing Inc, Indianapolis Indiana

Close Window Example

Inner Class dan Anonymous Inner Class


Bagian ini memberi Anda tinjauan ulang atas konsep yang sudah Anda pelajari di pelajaran
pemrograman pertama. Inner class dan anonymous inner class sangatlah bermanfaat untuk GUIevent
handling.
Inner Class
Inner class, seperti namanya, adalah sebuah class yang dideklarasikan di dalam class lain. Kegunaan
inner classes akan dapat membantu Anda menyederhanakan program, terutama dalam event
handling seperti yang ditunjukkan pada contoh.

Deitel, Harvey M, Java : How to Program, Prentice-Hall Inc, New Jersey


Richard F.Raposa, Java in 60 Minutes a DayWiely Publishing Inc, Indianapolis Indiana

Contoh Menutup Window

Anonymous Inner Class


Anonymous inner class adalah inner class tanpa nama. Kegunaan dari anonymous inner class akan
menyederhanakan kode-kode Anda lebih lanjut. Di bawah ini merupakan modifikasi dari contoh
bagian sebelumnya.

Deitel, Harvey M, Java : How to Program, Prentice-Hall Inc, New Jersey


Richard F.Raposa, Java in 60 Minutes a DayWiely Publishing Inc, Indianapolis Indiana

Contoh Menutup Window

Deitel, Harvey M, Java : How to Program, Prentice-Hall Inc, New Jersey


Richard F.Raposa, Java in 60 Minutes a DayWiely Publishing Inc, Indianapolis Indiana

Вам также может понравиться