Anda di halaman 1dari 7

Jurnal Teknologi Informasi DINAMIK Volume XI, No.

2, Juli 2006 : 104-110 ISSN : 0854-9524

Pengembangan Berorientasi Objek Metode Fusion

Sri Eniyati
Fakultas Teknologi Informasi, Universitas Stikubank Semarang
email : eni@unisbank.ac.id

ABSTRAK : Metode adalah “prosedur untuk melakukan sesuatu”, sedang metodologi adalah “studi
mengenai metode”. Sistem berbasis komputer harus merupakan hasil dari suatu analisis dan dirancang
sebaik mungkin. Orientasi objek merupakan salah satu pendekatan pemrograman yang memandang
persoalan menggunakan model-model yang diorganisasikan seputar konsep objek yang mengkombinasikan
struktur data dan perilaku suatu entitas. Ada banyak metode pengembangan sistem yang berorientasi objek.
Metode Fusion merupakan salah satu metode pengembangan perangkat lunak berorientasi objek “generasi
kedua”. Fusion dikembangkan untuk menyediakan satu pendekatan secara sistematik bagi pengembangan
perangkat lunak berorientasi objek yang mengintegrasikan dan mengembangkan beberapa pendekatan yang
ada.

Kata kunci : metode fusion, pengembangan berorientasi objek

PENDAHULUAN Pendekatan berorientasi objek adalah cara


memandang persoalan menggunakan model-
Sistem berbasis komputer harus merupakan
model yang diorganisasikan seputar konsep
hasil dari suatu analisis dan rancangan sebaik
objek yang mengkombinasikan struktur data dan
mungkin. Rancangan merupakan suatu bentuk
perilaku suatu entitas. Pada pendekatan ini
aktivitas yang dilakukan berdasarkan suatu
organisasi perangkat lunak adalah sebagai
pendekatan yang beralasan. Pendekatan
kumpulan objek diskrit yang saling bekerja
konvensional (aliran data atau terstruktur) yang
sama, berkomunikasi dan berinteraksi menuju
tidak berdasarkan pada entitas-entitas di dunia
sasaran tertentu.
ekstenal dan hal ini akan mempersulit di dalam
mengelola dan mengadaptasikan ketika tejadi Fusion merupakan metode pengembangan
perubahan kebutuhan. Pendekatan berorientasi perangkat lunak untuk pemakaian perangkat
objek adalah efektif karena objek-objek dapat lunak berorientasi objek, yang secara penuh
merepresentasikan bagian-bagian dari dunia melingkupi metode yang menyediakan
eksternal, mempersempit kesenjangan (gap) kemampuan analisis, design dan implementasi.
konseptual antara dunia eksternal dan Notasi Fusion memungkinkan secara sistematik
komponen-komponen perangkat lunak. menemukan dan memelihara struktur objek
sistem dengan megintegrasikan dan
Metode pengembangan sistem berorientasi objek
mengembangkan pendekatan yag ada, Fusion
berbeda dari pengembangan konvensional yang
menyediakan secara langsung lintasan dari
memandang perangkat lunak sebagai fungsi dan
mendefinisikan kebutuhan sampai implementasi
data yang saling tidak berhubungan. Pada
ke bahasa pemrograman.
pendekatan konvensional, kebanyakan berfokus
pada fungsi. Namun juga terdapat pendekatan Fusion berdasarkan pada satu ringkasan tetapi
yang berfokus pada data terutama pada meliputi banyak hal tentang sekumpulan notasi-
pemakaian basisdata dan pemodelan informasi. notasi yang dikenali dengan baik untuk
Sedangkan pendekatan berorientasi objek mengambil keputusan-keputusan yang
berpusat pada objek yang mengkombinasikan berkenaan dengan analisis dan perancangan.
data dan fungsionalitas. Berorientasi objek
adalah konsep objek yang didalamnya
terkandung data sekaligus fungsi-fungsinya.

104 Pengembangan Berorientasi Objek Metode Fusion


Jurnal Teknologi Informasi DINAMIK Volume XI, No. 2, Juli 2006 : 104-110 ISSN : 0854-9524

Apa yang ditawarkan metode Fusion ? diimplementasikan memerlukan gambaran


sistem dari perspektif pemakai daripada cara
Fusion mendukung aspek-aspek teknis
pandang dari mesin. Jadi proses analisa
dan manajerial pengembangan perangkat lunak
difokuskan pada domain masalah dan
yaitu :
dihubungkan dengan perilaku yang mungkin.
1. Menyediakan satu proses untuk
Tahap 1 : Mengembangkan model Objek
pengembangan perangkat lunak. Membagi-
bagi proses ke dalam beberapa phase dan Tujuan dari pemodelan objek adalah mengambil
menunjukkan apa yang seharusnya konsep yang ada dalam domain masalah dan
dilakukan di setiap phase. Memberikan menghubungkan diantaranya. Bisa digambarkan
petunjuk untuk tujuan apa yang akan dengan class, attribut, dan hubungan antar class.
dilakukan dalam setiap phasenya, dimana
1. Mendaftarkan semua Class yang mungkin
pengembang bisa mengetahui bagaimana
dan relasionsipnya.
membuat kemajuannya. Juga menyediakan
kriteria yang memberitahukan ke 2. Memasukkan Class-Class dan relasinya ke
pengembangan kapan untuk berpindah ke dalam Kamus data
phase berikutnya. 3. Ditambah menghasilkan model objek untuk
2. Menyediakan yang meliputi banyak hal, mencari
ringkas, menggunakan notasi yang dikenal
� pemodelan ”macam dari” /generalisasi”
dengan baik untuk semua modelnya, karena
atau relasionsipnya
notasi-notasi ini berdasarkan pada praktek
yang sudah ada, juga mudah untuk � pemodelan ”bagian dari”/agregasi atau
dipelajari. relasionsipnya,
3. Menyediakan tool manajemen untuk � attribut-attribut dari Class
pengembangan perangkat lunak. Keluaran
dari setiap phase yang berbeda mudah � cardinalitas relasi
diidentifikasi. Setiap phase memiliki teknik � Batasan umum yang direkam di kamus
tersendiri dan ditujukan untuk aspek-aspek data
penterjemahan satu dokumentasi kebutuhan
yang berbeda kedalam bentuk kode yang � Relasi yang diminta dan direkam di
bisa dijalankan. kamus data, tetapi tidak tampak pada
model objek
Proses Fusion
Tahap 2 : Menentukan Interface System
Fusion mengadopsikan pembagian proses
pengembangan system menjadi tahapan analisis, Satu sistem bekerja sama dengan agen-agen
design dan implementasi. Metode Fusion tidak (alat) aktif dalam lingkungannya. Agen meminta
memiliki phase kebutuhan. sistem mengoperasikan apa yang bisa diubah
dari keadaan sistem dan bisa menyebabkan
TAHAPAN-TAHAPAN METODE FUSION terjadinya keluaran.
Interface sistem merupakan sekumpulan
Berdasarkan gambar 1, menyediakan satu operasi-operasi sistem yang bisa merespon dan
pemetaan lintasan metode Fusion dan keadaan-keadaan yang bisa dikeluarkan. Satu
menunjukkan ketergantungan diantara model- masukan diperlukan untuk kamus data bagi
model yang dihasilkan. setiap agen, operasi sistem dan keadaan
Tahapan Analysis keluaran.

Tahap analysis disini mengambarkan 1. Mengenai agen, operasi-operasi sistem, dan


‘Apa’ yang sistem lakukan daripada keadaan
menjelaskan tentang ‘Bagaimana’ sistem itu
melakukannya. Perilaku sistem dari cara

Pengembangan Berorientasi Objek Metode Fusion 105


Jurnal Teknologi Informasi DINAMIK Volume XI, No. 2, Juli 2006 : 104-110 ISSN : 0854-9524

Dokumentasi Kebutuhan
(Requirement Document)

ANALYSIS Model Objek Model Interface D


A
T
A
Object Interaction
Graphs Sub System
Decomposition D
I
C
Visibility T
graphs I
O
N
DESIGN A
Class
R
descriptions Y

Inheritance
Graphs

IMPLEMENTATION Program

Gambar 1. Metode Fusion


membantu untuk mengenali batasan sistem,
2. Menghasilkan model objek sistem. Model
tetapi hanya menyediakan satu potret
objek sistem merupakan penghalusan dari
perilaku sistem.
model objek yang dikembangkan di tahap
awal analisa Tahap 3 : Mengembangkan Model Interface
Model interface dibuat dari model siklus
� menggunakan informasi dari interface
hidup dan model operasi
sistem, mengenali class dan relasinya
pada model objek yang menyinggung Model Siklus Hidup
keadaan sistem. Model siklus hidup memberikan definisi /
� batasan dokumen sistem untuk menetapkan serangkaian interaksi yang mungkin
menghasilkan model objek sistem. dimana satu sistem bisa terlibat. Model siklus
hidup ditetapkan dalam istilah ekspresi reguler
Teknik manfaatnya adalah untuk yang berarti menggambarkan serangkaian pola.
menentukan batasan interface yang
difokuskan pada skenario-skenario 1. mengeneralisasi skenario dan bentuk yang
pemakaian. Untuk setiap skenario dinamakan ekspresi siklus hidup,
mempertimbangkan 2. mengkombinasikan ekspresi siklus hidup ke
a. Agen-agen yang dilibatkan, bentuk model siklus hidup.
b. Apa yang ingin sistem lakukan. Model operasi
Diagram timeline bisa digunakan untuk Model operasi menetapkan semantik setiap
menggambarkan skenario. Dengan catatan, operasi sistem di sistem interface.
diagram timeline merupakan tool yang Untuk setiap operasi sistem :
106 Pengembangan Berorientasi Objek Metode Fusion
Jurnal Teknologi Informasi DINAMIK Volume XI, No. 2, Juli 2006 : 104-110 ISSN : 0854-9524

1. Mengembangkan ketentuan asumsi dan hasil 3. Semantic Consistency. Pengecekan ini


bertujuan untuk meyakinkan bahwa
2. Mengekstraksi ketentauan Send, Read, dan
implikasi dari model-model konsisten.
Change dari asumsi dan hasil
a. Output keadaan di dalam model siklus
Tahap 4 : Cek Model Analisis
hidup dan model operasi harus
Ada dua aspek untuk mengecek model analisa; konsisten. Skema untuk operasi sistem
yang saling melengkapi dan konsisten. Satu harus menghasilkan keluaran kejadian
model dikatakan lengkap pada saat bisa yang berikutnya dalam model siklus
menangkap semua abstraksi yang berarti dalam hidup.
domain. Satu model dikatakan konsisten pada
b. Model operasi harus memelihara model
saat tidak terjadi kontradiksi antara satu dengan
objek sistem dengan batasan yang
yang lain. Satu model bisa dicek untuk
berbeda. Jika ada perbedaan berkenaan
konsistensi intenal dan juga untuk area dimana
dengan relasionship atau class, maka
bisa terjadi overlap dengan model-model yang
beberapa operasi yang bisa
lain.
mengubahnya harus mematuhi
Dengan catatan, pengecekan berikut ini tidak perbedaan dalam skemanya.
lengkap tetapi menyediakan petunjuk untuk
c. Bagian cek skenario menggunakan
mengecek analisa :
skema. Pilih contoh-contoh skenario dan
1. Completeness against the requirement. tetapkan status perubahan dimana
Membaca kembali kebutuhan-kebutuhan masing-masing bisa terjadi. Kemudian
dokumen secara hati-hati . Cek apakah : ”execute” skenario, menggunakan
a. Semua skenario yang mungkin sudah skema untuk menetapkan perilaku setiap
dicover oleh siklus hidup operasi sistem. Cek apakah hasilnya
sesuai dengan yang diharapkan.
b. Semua operasi sudah ditetapkan dengan
skema Tahapan Desain

c. Semua informasi statik ditangkap oleh Selama perancangan struktur perangkat lunak
model objek sistem diperkenalkan untuk memenuhi definisi
abstraksi yang dihasilkan dari proses analisis.
d. Beberapa informasi lain (seperti definisi
teknis, dan batasan yang berbeda ) di Tahapannya adalah sebagai berikut :
kamus data. Tahap 1 : Object Interaction Graphs
2. Simple concistency. Pengecekan ini Mengembangkan graph interaksi objek untuk
berkaitan dengan daerah yang overlap antar setiap operasi sistem dalam model operasi.
model-model analisa. Cek apakah : Graph interaksi objek menunjukkan bagaimana
a. Semua class, relasionship, dan attribut secara fungsional antara objek-objek di satu
disebutkan dalam model objek yang sistem didistribusikan.
nampak dalam model objek sistem. 1. Mengenali secara relevan objek yang
Semua konsep lain (seperti predikat) dilibatkan dalam perhitungan
harus ditetapkan di kamus data atau
2. Menentukan aturan setiap objek dalam
beberapa sumber yang ditunjuk.
perhitungan
b. Batasan model objek sistem konsisten
3. Memutuskan pesan-pesan antar objek
dengan model interface
4. Merekam bagaimana objek-objek yang
c. Semua operasi sistem dalam model
dikenali berinteraksi pada graph interaksi
siklus hidup memiliki satu skema.
objek dengan mengecek berikut ini :
d. Semua identifier di semua model
a. Konsistensi dengan model analisis. Cek
memiliki masukan di kamus data.
setiap class dalam model objek sistem
yang digambarkan di salah satu graph
interaksi objek yang paling sedikit.
Pengembangan Berorientasi Objek Metode Fusion 107
Jurnal Teknologi Informasi DINAMIK Volume XI, No. 2, Juli 2006 : 104-110 ISSN : 0854-9524

b. Verifikasi efek fungsional. Cek apakah 1. Metode dan parameter dari graph interaksi
pengaruh fungsional setiap graph objek
interaksi objek memenuhi spesifikasi 2. Attribut data dari model objek sistem dan
operasi sistem yang diberikan di model kamus data.
operasi.
3. Attribut-attribut objek dari kelayakan graph
Tahap 2 : Visibility Graphs untuk class
Untuk setiap class ditetapkan dengan kelayakan 4. Informasi pewarisan (diisi setelah tahap
graph. Hal ini menunjukkan bagaimana sistem berikutnya) dari graph pewarisan
berorientasi objek dibentuk untuk (inheritance).
mengenablekan komunikasi antar objek.
Cek berikut ini :
Kelayakan graph dibangun sebagai berikut :
a. Methods and parameters. Cek semua
1. Semua graph interaksi objek diperiksa.
metode dari graph interaksi objek yang
Setiap pesan pada satu graph interaksi objek
direkam.
yang diberikan apakah menunjukkan
kelayakan yang diperlukan dari class client b. Data attributes. Cek semua metode dari
ke objek server. model objek sistem yag direkam
2. Memutuskan ragam petunjuk kelayakan c. Object Attributes. Cek dimana semua
yang diperlukan dengan menyimpan : petunjuk kelayakan direkam,
a. Petunjuk lifetime d. Inheritance. Cek dimana semua
superclass yang diwariskan direkam.
b. Lelayakan target objek
Tahap 4 : Inheritance Graphs
c. Lilfetime target objek
Tahapan ini untuk membangun struktur
d. Perubahan target objek
pewarisan (inheritance), yang berada di class-
3. Menggambar graph kelayakan untuk setiap class yang dikenali keumumannya dan
rancangan objek class, dengan mengecek abstraksinya.
berikut ini :
Mengenali superclass dan subclass. Membangun
a. Konsistensi dengan model analisis. graph pewarisan. Dengan mencari berikut ini :
Untuk setiap hubungan pada model
1. Generalisasi dan spesialiasi dalam model
objek sistem yang ada merupakan satu
objek
lintasan kelayakan untuk sekumpulan
class pada kelayakan graph. 2. Metode yang umum dalam graph interaksi
objek dan deskripsi class
b. Mutual concistency
3. Kelayakan yang umum dalam graph
Cek apakah target objek eksklusif tidak
kelayakan.
ditunjukkan oleh lebih dari satu class
dan apakah target yang dipakai bersama
Tahap 5 : UpDate Class Descriptions
ditunjuk oleh lebih dari satu class.
Mengperbaharui deskripsi class dengan
Tahap 3 : Class Description
informasi pewarisan yang baru. Cek berikut ini :
Deskripsi class merupakan spesifikasi dari
1. System object model. Cek dimana subtipe
dimana coding dimulai. Dengan menentukan
relasi di dipelihara/dilindungi.
status intenal dan interface ekstenal yang
diperlukan oleh setiap class. 2. Object Interaction Graphs. Cek semua class
yang digambarkan dalam graph pewarisan.
Mengekstraksi informasi dari model objek
Dengan asumsi yang naif bahwa setiap
sistem, graph interaksi objek, dan kelayakan
setiap class dalam graph interaksi objek
graph untuk membangun deskripsi class.
berada dalam graph pewarisan. Hal ini
Setiap deskripsi class merekam berikut ini :
biasanya perkasus, tetapi juga diperlukan
untuk bahan pertimbangan dalam struktur

108 Pengembangan Berorientasi Objek Metode Fusion


Jurnal Teknologi Informasi DINAMIK Volume XI, No. 2, Juli 2006 : 104-110 ISSN : 0854-9524

class yang diorganisasikan kembali karena Deskripsi Class


memperkenalkan abstraksi clas-class yang
1. Menentukan spesifikasi dan interface class-
baru.
class
3. Visibility graphs. Cek semua class yang
a. Deklarasi attribut. Attribut-attribut dari
digambarkan dalam graph pewarisan.
deskripsi class biasanya dibatasi dengan
Abstraksi class bisa dikenali untuk struktur
nama-nama class. Attribut-attribut yang
yang biasa diantara class-class dalam
memenuhi syarat ditambahkan untuk
kelayakan graph.
menentukan mutability dan pemamkaian
4. Class description. Cek dimana deskripsi bersama (sharing) jika sesuai.
class yang di Update mengimplementasikan
b. Deklarasi metode. Metode dari deskripsi
semua fungsionalitas dari salah satu
class diimplementasikan dengan kode
persiapan dan mematuhi graph pewarisan.
dalam class (yaitu anggota fungsi, rutin,
Tahapan Implementasi prosedur )
Tahapan metode Fusion yang terakhir adalah c. Pewarisan.
pemetaan perancangan ke dalam satu bentuk
2. Mengimplementasikan metode isi.
implementasi yang efektif.
Tahap 2 : Performasi
Siklus hidup pada tahap implementasi terjadi
dalam dua tahap. Pertama, ekspresi siklus hidup Tahap ini sebenarnya kurang tepat untuk
yang diterjemahkan ke dalam satu state mechine tahapan proses implementasi. Mengingat berikut
(non deterministic). Kemudian baru state ini :
machine itu sendiri diimplementasikan karena 1. Performansi tidak bisa dihasilkan sebagai
keluaran kejadian (event) dibangkitkan oleh satu pemikiran di kemudian hari. Harus
operasi sistem. dipertimbangkan keseluruhan proses analisa,
State machine merupakan sekumpulan state design dan implementasi.
(keadaan) dan diberi label transisi diantara state. 2. Optimasi jarang mengeksekusi kode yang
State machine bisa ditampilkan sebagai sebagai tidak berguna, maka profil sistem yang
tabel atau diagram gelembung. Untuk setiap dibuat bisa dibuat dalam berbagai cara.
tabel keadaan memberikan hasil keadaan baru
setiap masukan keadaan yang mungkin. Tahap 3 : Review
Diagram gelembung menunjukkan informasi 1. Inspeksi
yang sama, dengan state (keadaan)
dilambangkan dengan gelembung dan transisi Teknik biaya efektif untuk mendeteksi cacat
diberi label panah. Salah satu state ditandai dalam perangkat lunak. Mengingat bahwa
sebagai keadaan awal mesin (start state dalam perangkat lunak berorientasi objek
machine). merupakan analisa statik dari aliran
pengendalian yang rumit dengan mengikuti :
Tahap 1 : Coding
� Bahasa orientasi objek menekankan
Siklus Hidup Sistem hubungan pewarisan daripada hubungan
Untuk siklus hidup dengan tanpa interleaving . pengendalian. Tidak ada pemetaan
langsung antara kebutuhan fungsional
1. Menterjemahkan ekspresi tetap siklus hidup
dan fungsi-fungsi dengan level yang
ke dalam satu (non deterministic state
lebih tinggi.
machine)
� Ukuran struktur data lebih kecil, fungsi
2. Mengimplementasikan state machine.
pengaksesan digunakan untuk
Untuk siklus hidup dengan interleaving mengimplementasikan class-class, dan
1. Mengimplementasikan interleave- bebas class-class sebagai satu kesatuan yang
subekspresi utuh.

2. menghubungkan hasil state machine.

Pengembangan Berorientasi Objek Metode Fusion 109


Jurnal Teknologi Informasi DINAMIK Volume XI, No. 2, Juli 2006 : 104-110 ISSN : 0854-9524

� Pembubaran metode spesifikasi dan bagian-bagian metode berorientasi objek


implementasi diantara class. awal dan ditujukan untuk mengurangi
kelemahan-kelemahan yang ada. Dengan
� Ikatan secara dinamik membuat tiga tahapan yaitu :
kesulitan untuk menentukan kode yang
mana yang sebenarnya dieksekusi untuk � Analisa, yang melingkupi objek dan
satu permintaan metode. class dalam sistem, menggambarkan
hubungan diantaranya, dan menetapkan
Inspeksi diperlukan untuk tujuan
operasi-operasi dimana sistem bisa
penelusuran aliran pengendalian, yang
melakukannya.
difokuskan pada mendeteksi cacat dalam
sistem berorientasi objek. � Desain, yang memutuskan bagaimana
Mengkonfirmasikan dimana subclass untuk menggambarkan operasi sistem
mengimplementasikan satu metode khusus dengan interaksi antar objek dan
memenuhi untuk spesifikasi metode. bagaimana objek-objek tersebut bisa
mengakses satu dengan yang lainnya.
2. Testing
Teknik yang melengkapi untuk memeriksa � Implementasi, yang menterjemahkan
cacat yang nampak dalam perangkat lunak. perancangan kedalam bentuk bahasa
Uji kasus untuk class seharusnya meliputi pemrograman.
berikut ini :
DAFTAR PUSTAKA
� Pengecekan status observasi dan
manipulasi 1. Anderung, Letzte, 1996, “CASE
Methodology”, http://www.unix-ag.uni-
� Menggunakan properti yang bersifat
kl.de/~lippold/case-
aljabar seperti asosiasi dan mengenali
methods.html#RUMBAUGH
pemeliharaan untuk keanggotaan
permintaan fungsi. 2. Cetus Team, 2001, ”Architecture and
Design : Unified Modeling Language
� Mengecek apakah pembongkar dalam
(UML)”, http://www.cetus-
C++ sudah konsisten dengan kumpulan
links.org/oo_uml.html
pembangun.
3. Coleman, D., et all., 1994, Object Oriented
� Mengecek pemakaian inisialisasi. Development : The Fusion Method ,
� Mengecek apakah pemilihan C++ telah Prentice-Hall, Englewood Cliffs, New
digunakan dengan cara yang aman. Jersey 07632
� Mencoba untuk memicu pengecualian 4. Hariyanto, H., 2004, Rekayasa Sistem
penanganan kemampuan melalui Berorientasi Objek , Informatika Bandung
masukan batasan nilai ekstrem. 5. R.J.Abbott, "Program Design by Informal
English Descriptions,"
KESIMPULAN CACM, Vol. 26, #11, Nov. 1983, pp. 882-
894.
a. Proses pengembangan perangkat lunak
diperlukan untuk mengurangi sejumlah 6. Rumbaugh, 1991, ”Object-Oriented
kesalahan (error) yang tampak di akhir Modeling and Design for Database
produk perangkat lunak Applications”, Prentice-hall.
b. Metode Fusion mengintegrasikan beberapa 7. Yordon, Edward, 1994, “Object Oriented
aspek terbaik dari beberapa metode System Design : An Integreted Approach”,
pengembangan berorientasi objek yang ada Prentice-Hall, Inc
seperti Metode FORMAL, OMT, CRC dan
BOOCH.
c. Fusion merupakan metode generasi kedua
yang dibangun berdasarkan kesuksesan
110 Pengembangan Berorientasi Objek Metode Fusion

Anda mungkin juga menyukai